blob: 3eae3cc7695ff3d07b9737e03ccac24455112bdc [file] [log] [blame]
epoger@google.comccdbd2c2011-06-02 14:38:23 +00001# GYP file to build various tools.
2#
3# To build on Linux:
4# ./gyp_skia tools.gyp && make tools
5#
epoger@google.comccdbd2c2011-06-02 14:38:23 +00006{
7 'includes': [
8 'apptype_console.gypi',
epoger@google.comccdbd2c2011-06-02 14:38:23 +00009 ],
10 'targets': [
11 {
12 # Build all executable targets defined below.
13 'target_name': 'tools',
14 'type': 'none',
15 'dependencies': [
edisonn@google.com8ba9a832013-01-18 18:06:22 +000016 'bench_pictures',
17 'filter',
sglez@google.coma9b79362013-07-25 14:55:18 +000018 'lua_pictures',
commit-bot@chromium.org6645cde2013-07-19 18:54:04 +000019 'bbh_shootout',
mike@reedtribe.org73d9f1c2013-06-09 01:54:56 +000020 'lua_app',
edisonn@google.com8ba9a832013-01-18 18:06:22 +000021 'pinspect',
22 'render_pdfs',
23 'render_pictures',
epoger@google.comccdbd2c2011-06-02 14:38:23 +000024 'skdiff',
zachr@google.com5b3e2b92013-07-22 18:46:45 +000025 'skpdiff',
epoger@google.comccdbd2c2011-06-02 14:38:23 +000026 'skhello',
27 'skimage',
28 ],
zachr@google.com28c27c82013-06-20 17:15:05 +000029 'conditions': [
30 ['skia_shared_lib',
31 {
32 'dependencies': [
33 'sklua', # This can only be built if skia is built as a shared library
34 ],
35 },
36 ],
37 ],
epoger@google.comccdbd2c2011-06-02 14:38:23 +000038 },
39 {
40 'target_name': 'skdiff',
41 'type': 'executable',
42 'sources': [
bungeman@google.come3c8ddf2012-12-05 20:13:12 +000043 '../tools/skdiff.cpp',
44 '../tools/skdiff.h',
45 '../tools/skdiff_html.cpp',
46 '../tools/skdiff_html.h',
epoger@google.comccdbd2c2011-06-02 14:38:23 +000047 '../tools/skdiff_main.cpp',
bungeman@google.come3c8ddf2012-12-05 20:13:12 +000048 '../tools/skdiff_utils.cpp',
49 '../tools/skdiff_utils.h',
50 ],
51 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +000052 'skia_lib.gyp:skia_lib',
bungeman@google.come3c8ddf2012-12-05 20:13:12 +000053 ],
54 },
55 {
zachr@google.com5b3e2b92013-07-22 18:46:45 +000056 'target_name': 'skpdiff',
57 'type': 'executable',
58 'sources': [
59 '../tools/skpdiff/skpdiff_main.cpp',
60 '../tools/skpdiff/SkDiffContext.cpp',
61 '../tools/skpdiff/SkImageDiffer.cpp',
62 '../tools/skpdiff/SkPMetric.cpp',
63 '../tools/skpdiff/skpdiff_util.cpp',
64 '../tools/flags/SkCommandLineFlags.cpp',
65 ],
66 'include_dirs': [
67 '../tools/flags'
68 ],
69 'dependencies': [
70 'skia_lib.gyp:skia_lib',
71 ],
72 'cflags': [
73 '-O3',
74 ],
75 'conditions': [
76 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos"]', {
77 'link_settings': {
78 'libraries': [
79 '-lrt',
80 ],
81 },
82 }],
83 ['skia_opencl', {
84 'sources': [
85 '../tools/skpdiff/SkCLImageDiffer.cpp',
86 '../tools/skpdiff/SkDifferentPixelsMetric_opencl.cpp',
87 ],
88 'conditions': [
89 [ 'skia_os == "mac"', {
90 'link_settings': {
91 'libraries': [
92 '$(SDKROOT)/System/Library/Frameworks/OpenCL.framework',
93 ]
94 }
95 }, {
96 'link_settings': {
97 'libraries': [
98 '-lOpenCL',
99 ],
100 },
101 }],
102 ],
103 }, { # !skia_opencl
104 'sources': [
105 '../tools/skpdiff/SkDifferentPixelsMetric_cpu.cpp',
106 ],
107 }],
108 ],
109 },
110 {
bungeman@google.come3c8ddf2012-12-05 20:13:12 +0000111 'target_name': 'skimagediff',
112 'type': 'executable',
113 'sources': [
114 '../tools/skdiff.cpp',
115 '../tools/skdiff.h',
116 '../tools/skdiff_html.cpp',
117 '../tools/skdiff_html.h',
118 '../tools/skdiff_image.cpp',
119 '../tools/skdiff_utils.cpp',
120 '../tools/skdiff_utils.h',
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000121 ],
122 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000123 'skia_lib.gyp:skia_lib',
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000124 ],
125 },
126 {
127 'target_name': 'skhello',
128 'type': 'executable',
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000129 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000130 'skia_lib.gyp:skia_lib',
borenet@google.combb522882013-06-17 15:39:43 +0000131 ],
132 'conditions': [
133 [ 'skia_os == "nacl"', {
134 'sources': [
135 '../platform_tools/nacl/src/nacl_hello.cpp',
136 ],
137 }, {
138 'sources': [
139 '../tools/skhello.cpp',
140 ],
141 'dependencies': [
142 'pdf.gyp:pdf',
143 'flags.gyp:flags',
144 ],
145 }],
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000146 ],
147 },
148 {
149 'target_name': 'skimage',
150 'type': 'executable',
151 'sources': [
152 '../tools/skimage_main.cpp',
153 ],
scroggo@google.com6843bdb2013-05-08 19:14:23 +0000154 'include_dirs': [
155 # For SkBitmapHasher.h
156 '../src/utils/',
157 ],
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000158 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000159 'skia_lib.gyp:skia_lib',
scroggo@google.comb41ff952013-04-11 15:53:35 +0000160 'flags.gyp:flags',
scroggo@google.com6843bdb2013-05-08 19:14:23 +0000161 'gm.gyp:gm_expectations',
scroggo@google.com6843bdb2013-05-08 19:14:23 +0000162 'jsoncpp.gyp:jsoncpp',
163 'utils.gyp:utils',
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000164 ],
165 },
zachr@google.com28c27c82013-06-20 17:15:05 +0000166
junov@chromium.org777442d2012-06-12 14:56:36 +0000167 {
mike@reedtribe.org73d9f1c2013-06-09 01:54:56 +0000168 'target_name': 'lua_app',
169 'type': 'executable',
170 'sources': [
171 '../tools/lua/lua_app.cpp',
172 '../src/utils/SkLua.cpp',
173 ],
174 'dependencies': [
175 'skia_lib.gyp:skia_lib',
176 'effects.gyp:effects',
177 'utils.gyp:utils',
178 'images.gyp:images',
179 'pdf.gyp:pdf',
180 'ports.gyp:ports',
181 'lua.gyp:lua',
182 ],
183 },
184 {
reed@google.comdff7e112013-05-15 19:34:20 +0000185 'target_name': 'lua_pictures',
186 'type': 'executable',
187 'sources': [
188 '../tools/lua/lua_pictures.cpp',
189 '../src/utils/SkLuaCanvas.cpp',
reed@google.com74ce6f02013-05-22 15:13:18 +0000190 '../src/utils/SkLua.cpp',
reed@google.comdff7e112013-05-15 19:34:20 +0000191 ],
192 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000193 'skia_lib.gyp:skia_lib',
reed@google.comdff7e112013-05-15 19:34:20 +0000194 'effects.gyp:effects',
195 'utils.gyp:utils',
196 'images.gyp:images',
197 'tools.gyp:picture_renderer',
198 'tools.gyp:picture_utils',
mike@reedtribe.orgfb858242013-06-08 16:39:44 +0000199 'pdf.gyp:pdf',
reed@google.comdff7e112013-05-15 19:34:20 +0000200 'ports.gyp:ports',
201 'flags.gyp:flags',
202 'lua.gyp:lua',
203 ],
204 },
205 {
junov@chromium.org777442d2012-06-12 14:56:36 +0000206 'target_name': 'render_pictures',
207 'type': 'executable',
208 'sources': [
209 '../tools/render_pictures_main.cpp',
keyar@chromium.orga2333d92012-07-16 17:29:16 +0000210 ],
211 'include_dirs': [
212 '../src/pipe/utils/',
junov@chromium.org777442d2012-06-12 14:56:36 +0000213 ],
214 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000215 'skia_lib.gyp:skia_lib',
keyar@chromium.org163b5672012-08-01 17:53:29 +0000216 'tools.gyp:picture_renderer',
twiz@google.coma31b8bb2012-06-22 18:24:56 +0000217 'tools.gyp:picture_utils',
scroggo@google.comd9ba9a02013-03-21 19:43:15 +0000218 'flags.gyp:flags',
twiz@google.coma31b8bb2012-06-22 18:24:56 +0000219 ],
220 },
221 {
reed@google.com006db0f2012-06-27 19:33:29 +0000222 'target_name': 'bench_pictures',
223 'type': 'executable',
224 'sources': [
scroggo@google.com9a412522012-09-07 15:21:18 +0000225 '../bench/SkBenchLogger.h',
226 '../bench/SkBenchLogger.cpp',
227 '../bench/TimerData.h',
228 '../bench/TimerData.cpp',
keyar@chromium.orgcf6c44c2012-07-09 19:37:40 +0000229 '../tools/bench_pictures_main.cpp',
scroggo@google.com9a412522012-09-07 15:21:18 +0000230 '../tools/PictureBenchmark.cpp',
reed@google.com006db0f2012-06-27 19:33:29 +0000231 ],
232 'include_dirs': [
233 '../bench',
scroggo@google.comcc690202013-03-04 19:56:21 +0000234 '../src/lazy/',
reed@google.com006db0f2012-06-27 19:33:29 +0000235 ],
236 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000237 'skia_lib.gyp:skia_lib',
reed@google.com006db0f2012-06-27 19:33:29 +0000238 'tools.gyp:picture_utils',
keyar@chromium.org163b5672012-08-01 17:53:29 +0000239 'tools.gyp:picture_renderer',
240 'bench.gyp:bench_timer',
scroggo@google.comd9ba9a02013-03-21 19:43:15 +0000241 'flags.gyp:flags',
scroggo@google.com9a412522012-09-07 15:21:18 +0000242 ],
keyar@chromium.org163b5672012-08-01 17:53:29 +0000243 },
244 {
borenet@google.comefb1d772012-10-10 19:45:51 +0000245 'target_name': 'picture_renderer',
246 'type': 'static_library',
247 'sources': [
commit-bot@chromium.org56799e22013-07-16 18:21:46 +0000248 '../tools/LazyDecodeBitmap.cpp',
scroggo@google.com4a26d9d2012-11-07 18:01:46 +0000249 '../tools/PictureRenderer.h',
keyar@chromium.org451bb9f2012-07-26 17:27:57 +0000250 '../tools/PictureRenderer.cpp',
scroggo@google.com161e1ba2013-03-04 16:41:06 +0000251 '../tools/PictureRenderingFlags.h',
252 '../tools/PictureRenderingFlags.cpp',
scroggo@google.com4a26d9d2012-11-07 18:01:46 +0000253 '../tools/CopyTilesRenderer.h',
254 '../tools/CopyTilesRenderer.cpp',
keyar@chromium.org451bb9f2012-07-26 17:27:57 +0000255 '../src/pipe/utils/SamplePipeControllers.h',
256 '../src/pipe/utils/SamplePipeControllers.cpp',
borenet@google.comefb1d772012-10-10 19:45:51 +0000257 ],
258 'include_dirs': [
junov@chromium.org9313ca42012-11-02 18:11:49 +0000259 '../src/core/',
borenet@google.comefb1d772012-10-10 19:45:51 +0000260 '../src/pipe/utils/',
261 '../src/utils/',
262 ],
263 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000264 'skia_lib.gyp:skia_lib',
keyar@chromium.org451bb9f2012-07-26 17:27:57 +0000265 'tools.gyp:picture_utils',
scroggo@google.com09fd4d22013-03-20 14:20:18 +0000266 'flags.gyp:flags',
borenet@google.comefb1d772012-10-10 19:45:51 +0000267 ],
robertphillips@google.comfe1b5362013-02-07 19:45:46 +0000268 'conditions': [
269 ['skia_gpu == 1',
270 {
271 'include_dirs' : [
272 '../src/gpu',
273 ],
274 },
275 ],
276 ],
keyar@chromium.org451bb9f2012-07-26 17:27:57 +0000277 },
278 {
edisonn@google.comc319abe2012-11-01 19:52:38 +0000279 'target_name': 'render_pdfs',
280 'type': 'executable',
281 'sources': [
282 '../tools/render_pdfs_main.cpp',
283 '../tools/PdfRenderer.cpp',
284 '../tools/PdfRenderer.h',
285 ],
286 'include_dirs': [
287 '../src/pipe/utils/',
288 '../src/utils/',
289 ],
290 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000291 'skia_lib.gyp:skia_lib',
edisonn@google.comc319abe2012-11-01 19:52:38 +0000292 'pdf.gyp:pdf',
edisonn@google.comc319abe2012-11-01 19:52:38 +0000293 'tools.gyp:picture_utils',
294 ],
edisonn@google.com184487c2013-03-08 18:00:16 +0000295 'conditions': [
borenet@google.com2d137b62013-03-08 23:13:33 +0000296 ['skia_win_debuggers_path and skia_os == "win"',
edisonn@google.com184487c2013-03-08 18:00:16 +0000297 {
298 'dependencies': [
299 'tools.gyp:win_dbghelp',
300 ],
301 },
302 ],
303 # VS static libraries don't have a linker option. We must set a global
304 # project linker option, or add it to each executable.
305 ['skia_win_debuggers_path and skia_os == "win" and '
borenet@google.com2d137b62013-03-08 23:13:33 +0000306 'skia_arch_width == 64',
edisonn@google.com184487c2013-03-08 18:00:16 +0000307 {
308 'msvs_settings': {
309 'VCLinkerTool': {
310 'AdditionalDependencies': [
311 '<(skia_win_debuggers_path)/x64/DbgHelp.lib',
312 ],
313 },
314 },
315 },
316 ],
317 ['skia_win_debuggers_path and skia_os == "win" and '
borenet@google.com2d137b62013-03-08 23:13:33 +0000318 'skia_arch_width == 32',
edisonn@google.com184487c2013-03-08 18:00:16 +0000319 {
320 'msvs_settings': {
321 'VCLinkerTool': {
322 'AdditionalDependencies': [
323 '<(skia_win_debuggers_path)/DbgHelp.lib',
324 ],
325 },
326 },
327 },
328 ],
329 ],
edisonn@google.comc319abe2012-11-01 19:52:38 +0000330 },
331 {
twiz@google.coma31b8bb2012-06-22 18:24:56 +0000332 'target_name': 'picture_utils',
333 'type': 'static_library',
334 'sources': [
335 '../tools/picture_utils.cpp',
borenet@google.come21795e2012-09-14 14:34:28 +0000336 '../tools/picture_utils.h',
twiz@google.coma31b8bb2012-06-22 18:24:56 +0000337 ],
338 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000339 'skia_lib.gyp:skia_lib',
junov@chromium.org777442d2012-06-12 14:56:36 +0000340 ],
reed@google.come52d2912013-05-15 20:01:07 +0000341 'direct_dependent_settings': {
342 'include_dirs': [
reed@google.com9bf99c32013-05-15 20:07:22 +0000343 '../tools/',
reed@google.come52d2912013-05-15 20:01:07 +0000344 ],
345 },
junov@chromium.org777442d2012-06-12 14:56:36 +0000346 },
reed@google.com1bdf7fe2012-06-14 18:58:40 +0000347 {
348 'target_name': 'pinspect',
349 'type': 'executable',
350 'sources': [
351 '../tools/pinspect.cpp',
352 ],
353 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000354 'skia_lib.gyp:skia_lib',
commit-bot@chromium.org826ec812013-06-12 18:28:36 +0000355 'tools.gyp:picture_renderer',
commit-bot@chromium.org56799e22013-07-16 18:21:46 +0000356 'flags.gyp:flags',
reed@google.com1bdf7fe2012-06-14 18:58:40 +0000357 ],
358 },
robertphillips@google.comc7e4a5a2012-10-04 13:00:33 +0000359 {
commit-bot@chromium.org6645cde2013-07-19 18:54:04 +0000360 'target_name': 'bbh_shootout',
361 'type': 'executable',
362 'include_dirs': [
363 '../bench',
364 '../tools/'
365 ],
366 'sources': [
367 '../tools/bbh_shootout.cpp',
368
369 # Bench code:
370 '../bench/TimerData.h',
371 '../bench/TimerData.cpp',
372 ],
373 'dependencies': [
374 'skia_lib.gyp:skia_lib',
375 'bench.gyp:bench_timer',
376 'tools.gyp:picture_utils',
377 'tools.gyp:picture_renderer',
378 'flags.gyp:flags',
379 ],
380 },
381 {
robertphillips@google.comc7e4a5a2012-10-04 13:00:33 +0000382 'target_name': 'filter',
383 'type': 'executable',
384 'include_dirs' : [
385 '../src/core',
fmalita@google.com4df16732013-06-13 21:25:45 +0000386 '../src/utils/debugger',
robertphillips@google.comc7e4a5a2012-10-04 13:00:33 +0000387 ],
388 'sources': [
389 '../tools/filtermain.cpp',
robertphillips@google.comd3d377f2012-12-07 20:56:13 +0000390 '../tools/path_utils.h',
robertphillips@google.com3b0a9fe2013-01-31 15:56:22 +0000391 '../tools/path_utils.cpp',
fmalita@google.com86681b32013-06-13 20:59:14 +0000392 '../src/utils/debugger/SkDrawCommand.h',
393 '../src/utils/debugger/SkDrawCommand.cpp',
394 '../src/utils/debugger/SkDebugCanvas.h',
395 '../src/utils/debugger/SkDebugCanvas.cpp',
396 '../src/utils/debugger/SkObjectParser.h',
397 '../src/utils/debugger/SkObjectParser.cpp',
robertphillips@google.comc7e4a5a2012-10-04 13:00:33 +0000398 ],
399 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000400 'skia_lib.gyp:skia_lib',
djsollen@google.coma09e8832012-11-13 18:50:33 +0000401 'tools.gyp:picture_utils',
robertphillips@google.comc7e4a5a2012-10-04 13:00:33 +0000402 ],
403 },
edisonn@google.com8819d1a2013-03-08 18:43:35 +0000404 ],
405 'conditions': [
zachr@google.com28c27c82013-06-20 17:15:05 +0000406 ['skia_shared_lib',
407 {
408 'targets': [
409 {
410 'target_name': 'sklua',
411 'product_name': 'skia',
412 'product_prefix': '',
413 'product_dir': '<(PRODUCT_DIR)/',
414 'type': 'shared_library',
415 'sources': [
416 '../src/utils/SkLuaCanvas.cpp',
417 '../src/utils/SkLua.cpp',
418 ],
419 'include_dirs': [
420 '../third_party/lua/src/',
421 ],
422 'dependencies': [
423 'lua.gyp:lua',
424 'pdf.gyp:pdf',
425 'skia_lib.gyp:skia_lib',
426 ],
427 'conditions': [
428 ['skia_os != "win"',
429 {
430 'ldflags': [
431 '-Wl,-rpath,\$$ORIGIN,--enable-new-dtags',
432 ],
433 },
434 ],
435 ],
436 },
437 ],
438 },
439 ],
borenet@google.com2d137b62013-03-08 23:13:33 +0000440 ['skia_win_debuggers_path and skia_os == "win"',
edisonn@google.com8819d1a2013-03-08 18:43:35 +0000441 {
442 'targets': [
443 {
444 'target_name': 'win_dbghelp',
445 'type': 'static_library',
446 'defines': [
447 'SK_CDB_PATH="<(skia_win_debuggers_path)"',
448 ],
449 'sources': [
450 '../tools/win_dbghelp.h',
451 '../tools/win_dbghelp.cpp',
452 ],
453 },
454 ],
455 },
456 ],
bungeman@google.com07a69f82013-04-02 14:12:38 +0000457 ['skia_os == "win"',
458 {
459 'targets': [
460 {
461 'target_name': 'win_lcid',
462 'type': 'executable',
463 'sources': [
464 '../tools/win_lcid.cpp',
465 ],
466 },
467 ],
468 },
469 ],
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000470 ],
471}
472
473# Local Variables:
474# tab-width:2
475# indent-tabs-mode:nil
476# End:
477# vim: set expandtab tabstop=2 shiftwidth=2: