blob: afd4934be8585f8ddd56ea79c50d1129bc5a41cd [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',
halcanary@google.comfed30372013-10-04 12:46:45 +000028 'test_image_decoder',
epoger@google.comccdbd2c2011-06-02 14:38:23 +000029 ],
zachr@google.com28c27c82013-06-20 17:15:05 +000030 'conditions': [
31 ['skia_shared_lib',
32 {
33 'dependencies': [
34 'sklua', # This can only be built if skia is built as a shared library
35 ],
36 },
37 ],
38 ],
epoger@google.comccdbd2c2011-06-02 14:38:23 +000039 },
40 {
41 'target_name': 'skdiff',
42 'type': 'executable',
43 'sources': [
bungeman@google.come3c8ddf2012-12-05 20:13:12 +000044 '../tools/skdiff.cpp',
45 '../tools/skdiff.h',
46 '../tools/skdiff_html.cpp',
47 '../tools/skdiff_html.h',
epoger@google.comccdbd2c2011-06-02 14:38:23 +000048 '../tools/skdiff_main.cpp',
bungeman@google.come3c8ddf2012-12-05 20:13:12 +000049 '../tools/skdiff_utils.cpp',
50 '../tools/skdiff_utils.h',
51 ],
52 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +000053 'skia_lib.gyp:skia_lib',
bungeman@google.come3c8ddf2012-12-05 20:13:12 +000054 ],
55 },
56 {
zachr@google.com5b3e2b92013-07-22 18:46:45 +000057 'target_name': 'skpdiff',
58 'type': 'executable',
59 'sources': [
60 '../tools/skpdiff/skpdiff_main.cpp',
61 '../tools/skpdiff/SkDiffContext.cpp',
62 '../tools/skpdiff/SkImageDiffer.cpp',
63 '../tools/skpdiff/SkPMetric.cpp',
64 '../tools/skpdiff/skpdiff_util.cpp',
65 '../tools/flags/SkCommandLineFlags.cpp',
66 ],
67 'include_dirs': [
68 '../tools/flags'
69 ],
70 'dependencies': [
71 'skia_lib.gyp:skia_lib',
72 ],
73 'cflags': [
74 '-O3',
75 ],
76 'conditions': [
77 [ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos"]', {
78 'link_settings': {
79 'libraries': [
80 '-lrt',
81 ],
82 },
83 }],
84 ['skia_opencl', {
85 'sources': [
86 '../tools/skpdiff/SkCLImageDiffer.cpp',
87 '../tools/skpdiff/SkDifferentPixelsMetric_opencl.cpp',
88 ],
89 'conditions': [
90 [ 'skia_os == "mac"', {
91 'link_settings': {
92 'libraries': [
93 '$(SDKROOT)/System/Library/Frameworks/OpenCL.framework',
94 ]
95 }
96 }, {
97 'link_settings': {
98 'libraries': [
99 '-lOpenCL',
100 ],
101 },
102 }],
103 ],
104 }, { # !skia_opencl
105 'sources': [
106 '../tools/skpdiff/SkDifferentPixelsMetric_cpu.cpp',
107 ],
108 }],
109 ],
110 },
111 {
bungeman@google.come3c8ddf2012-12-05 20:13:12 +0000112 'target_name': 'skimagediff',
113 'type': 'executable',
114 'sources': [
115 '../tools/skdiff.cpp',
116 '../tools/skdiff.h',
117 '../tools/skdiff_html.cpp',
118 '../tools/skdiff_html.h',
119 '../tools/skdiff_image.cpp',
120 '../tools/skdiff_utils.cpp',
121 '../tools/skdiff_utils.h',
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000122 ],
123 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000124 'skia_lib.gyp:skia_lib',
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000125 ],
126 },
127 {
128 'target_name': 'skhello',
129 'type': 'executable',
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000130 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000131 'skia_lib.gyp:skia_lib',
borenet@google.combb522882013-06-17 15:39:43 +0000132 ],
133 'conditions': [
134 [ 'skia_os == "nacl"', {
135 'sources': [
136 '../platform_tools/nacl/src/nacl_hello.cpp',
137 ],
138 }, {
139 'sources': [
140 '../tools/skhello.cpp',
141 ],
142 'dependencies': [
143 'pdf.gyp:pdf',
144 'flags.gyp:flags',
145 ],
146 }],
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000147 ],
148 },
149 {
150 'target_name': 'skimage',
151 'type': 'executable',
152 'sources': [
153 '../tools/skimage_main.cpp',
154 ],
scroggo@google.com6843bdb2013-05-08 19:14:23 +0000155 'include_dirs': [
156 # For SkBitmapHasher.h
157 '../src/utils/',
158 ],
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000159 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000160 'skia_lib.gyp:skia_lib',
scroggo@google.comb41ff952013-04-11 15:53:35 +0000161 'flags.gyp:flags',
scroggo@google.com6843bdb2013-05-08 19:14:23 +0000162 'gm.gyp:gm_expectations',
scroggo@google.com6843bdb2013-05-08 19:14:23 +0000163 'jsoncpp.gyp:jsoncpp',
164 'utils.gyp:utils',
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000165 ],
166 },
zachr@google.com28c27c82013-06-20 17:15:05 +0000167
junov@chromium.org777442d2012-06-12 14:56:36 +0000168 {
mike@reedtribe.org73d9f1c2013-06-09 01:54:56 +0000169 'target_name': 'lua_app',
170 'type': 'executable',
171 'sources': [
172 '../tools/lua/lua_app.cpp',
173 '../src/utils/SkLua.cpp',
174 ],
175 'dependencies': [
176 'skia_lib.gyp:skia_lib',
177 'effects.gyp:effects',
178 'utils.gyp:utils',
179 'images.gyp:images',
180 'pdf.gyp:pdf',
181 'ports.gyp:ports',
182 'lua.gyp:lua',
183 ],
184 },
185 {
reed@google.comdff7e112013-05-15 19:34:20 +0000186 'target_name': 'lua_pictures',
187 'type': 'executable',
188 'sources': [
189 '../tools/lua/lua_pictures.cpp',
190 '../src/utils/SkLuaCanvas.cpp',
reed@google.com74ce6f02013-05-22 15:13:18 +0000191 '../src/utils/SkLua.cpp',
reed@google.comdff7e112013-05-15 19:34:20 +0000192 ],
193 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000194 'skia_lib.gyp:skia_lib',
reed@google.comdff7e112013-05-15 19:34:20 +0000195 'effects.gyp:effects',
196 'utils.gyp:utils',
197 'images.gyp:images',
198 'tools.gyp:picture_renderer',
199 'tools.gyp:picture_utils',
mike@reedtribe.orgfb858242013-06-08 16:39:44 +0000200 'pdf.gyp:pdf',
reed@google.comdff7e112013-05-15 19:34:20 +0000201 'ports.gyp:ports',
202 'flags.gyp:flags',
203 'lua.gyp:lua',
204 ],
205 },
206 {
junov@chromium.org777442d2012-06-12 14:56:36 +0000207 'target_name': 'render_pictures',
208 'type': 'executable',
209 'sources': [
210 '../tools/render_pictures_main.cpp',
keyar@chromium.orga2333d92012-07-16 17:29:16 +0000211 ],
212 'include_dirs': [
213 '../src/pipe/utils/',
junov@chromium.org777442d2012-06-12 14:56:36 +0000214 ],
215 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000216 'skia_lib.gyp:skia_lib',
keyar@chromium.org163b5672012-08-01 17:53:29 +0000217 'tools.gyp:picture_renderer',
twiz@google.coma31b8bb2012-06-22 18:24:56 +0000218 'tools.gyp:picture_utils',
scroggo@google.comd9ba9a02013-03-21 19:43:15 +0000219 'flags.gyp:flags',
twiz@google.coma31b8bb2012-06-22 18:24:56 +0000220 ],
221 },
222 {
reed@google.com006db0f2012-06-27 19:33:29 +0000223 'target_name': 'bench_pictures',
224 'type': 'executable',
225 'sources': [
scroggo@google.com9a412522012-09-07 15:21:18 +0000226 '../bench/SkBenchLogger.h',
227 '../bench/SkBenchLogger.cpp',
228 '../bench/TimerData.h',
229 '../bench/TimerData.cpp',
keyar@chromium.orgcf6c44c2012-07-09 19:37:40 +0000230 '../tools/bench_pictures_main.cpp',
scroggo@google.com9a412522012-09-07 15:21:18 +0000231 '../tools/PictureBenchmark.cpp',
reed@google.com006db0f2012-06-27 19:33:29 +0000232 ],
233 'include_dirs': [
234 '../bench',
scroggo@google.comcc690202013-03-04 19:56:21 +0000235 '../src/lazy/',
reed@google.com006db0f2012-06-27 19:33:29 +0000236 ],
237 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000238 'skia_lib.gyp:skia_lib',
reed@google.com006db0f2012-06-27 19:33:29 +0000239 'tools.gyp:picture_utils',
keyar@chromium.org163b5672012-08-01 17:53:29 +0000240 'tools.gyp:picture_renderer',
241 'bench.gyp:bench_timer',
scroggo@google.comd9ba9a02013-03-21 19:43:15 +0000242 'flags.gyp:flags',
scroggo@google.com9a412522012-09-07 15:21:18 +0000243 ],
keyar@chromium.org163b5672012-08-01 17:53:29 +0000244 },
245 {
borenet@google.comefb1d772012-10-10 19:45:51 +0000246 'target_name': 'picture_renderer',
247 'type': 'static_library',
248 'sources': [
commit-bot@chromium.org56799e22013-07-16 18:21:46 +0000249 '../tools/LazyDecodeBitmap.cpp',
scroggo@google.com4a26d9d2012-11-07 18:01:46 +0000250 '../tools/PictureRenderer.h',
keyar@chromium.org451bb9f2012-07-26 17:27:57 +0000251 '../tools/PictureRenderer.cpp',
scroggo@google.com161e1ba2013-03-04 16:41:06 +0000252 '../tools/PictureRenderingFlags.h',
253 '../tools/PictureRenderingFlags.cpp',
scroggo@google.com4a26d9d2012-11-07 18:01:46 +0000254 '../tools/CopyTilesRenderer.h',
255 '../tools/CopyTilesRenderer.cpp',
keyar@chromium.org451bb9f2012-07-26 17:27:57 +0000256 '../src/pipe/utils/SamplePipeControllers.h',
257 '../src/pipe/utils/SamplePipeControllers.cpp',
borenet@google.comefb1d772012-10-10 19:45:51 +0000258 ],
259 'include_dirs': [
junov@chromium.org9313ca42012-11-02 18:11:49 +0000260 '../src/core/',
borenet@google.comefb1d772012-10-10 19:45:51 +0000261 '../src/pipe/utils/',
262 '../src/utils/',
263 ],
264 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000265 'skia_lib.gyp:skia_lib',
keyar@chromium.org451bb9f2012-07-26 17:27:57 +0000266 'tools.gyp:picture_utils',
scroggo@google.com09fd4d22013-03-20 14:20:18 +0000267 'flags.gyp:flags',
borenet@google.comefb1d772012-10-10 19:45:51 +0000268 ],
robertphillips@google.comfe1b5362013-02-07 19:45:46 +0000269 'conditions': [
270 ['skia_gpu == 1',
271 {
272 'include_dirs' : [
273 '../src/gpu',
274 ],
275 },
276 ],
277 ],
keyar@chromium.org451bb9f2012-07-26 17:27:57 +0000278 },
279 {
edisonn@google.comc319abe2012-11-01 19:52:38 +0000280 'target_name': 'render_pdfs',
281 'type': 'executable',
282 'sources': [
283 '../tools/render_pdfs_main.cpp',
284 '../tools/PdfRenderer.cpp',
285 '../tools/PdfRenderer.h',
286 ],
287 'include_dirs': [
288 '../src/pipe/utils/',
289 '../src/utils/',
290 ],
291 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000292 'skia_lib.gyp:skia_lib',
edisonn@google.comc319abe2012-11-01 19:52:38 +0000293 'pdf.gyp:pdf',
edisonn@google.comc319abe2012-11-01 19:52:38 +0000294 'tools.gyp:picture_utils',
295 ],
edisonn@google.com184487c2013-03-08 18:00:16 +0000296 'conditions': [
borenet@google.com2d137b62013-03-08 23:13:33 +0000297 ['skia_win_debuggers_path and skia_os == "win"',
edisonn@google.com184487c2013-03-08 18:00:16 +0000298 {
299 'dependencies': [
300 'tools.gyp:win_dbghelp',
301 ],
302 },
303 ],
304 # VS static libraries don't have a linker option. We must set a global
305 # project linker option, or add it to each executable.
306 ['skia_win_debuggers_path and skia_os == "win" and '
borenet@google.com2d137b62013-03-08 23:13:33 +0000307 'skia_arch_width == 64',
edisonn@google.com184487c2013-03-08 18:00:16 +0000308 {
309 'msvs_settings': {
310 'VCLinkerTool': {
311 'AdditionalDependencies': [
312 '<(skia_win_debuggers_path)/x64/DbgHelp.lib',
313 ],
314 },
315 },
316 },
317 ],
318 ['skia_win_debuggers_path and skia_os == "win" and '
borenet@google.com2d137b62013-03-08 23:13:33 +0000319 'skia_arch_width == 32',
edisonn@google.com184487c2013-03-08 18:00:16 +0000320 {
321 'msvs_settings': {
322 'VCLinkerTool': {
323 'AdditionalDependencies': [
324 '<(skia_win_debuggers_path)/DbgHelp.lib',
325 ],
326 },
327 },
328 },
329 ],
330 ],
edisonn@google.comc319abe2012-11-01 19:52:38 +0000331 },
332 {
twiz@google.coma31b8bb2012-06-22 18:24:56 +0000333 'target_name': 'picture_utils',
334 'type': 'static_library',
335 'sources': [
336 '../tools/picture_utils.cpp',
borenet@google.come21795e2012-09-14 14:34:28 +0000337 '../tools/picture_utils.h',
twiz@google.coma31b8bb2012-06-22 18:24:56 +0000338 ],
339 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000340 'skia_lib.gyp:skia_lib',
junov@chromium.org777442d2012-06-12 14:56:36 +0000341 ],
reed@google.come52d2912013-05-15 20:01:07 +0000342 'direct_dependent_settings': {
343 'include_dirs': [
reed@google.com9bf99c32013-05-15 20:07:22 +0000344 '../tools/',
reed@google.come52d2912013-05-15 20:01:07 +0000345 ],
346 },
junov@chromium.org777442d2012-06-12 14:56:36 +0000347 },
reed@google.com1bdf7fe2012-06-14 18:58:40 +0000348 {
349 'target_name': 'pinspect',
350 'type': 'executable',
351 'sources': [
352 '../tools/pinspect.cpp',
353 ],
354 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000355 'skia_lib.gyp:skia_lib',
commit-bot@chromium.org826ec812013-06-12 18:28:36 +0000356 'tools.gyp:picture_renderer',
commit-bot@chromium.org56799e22013-07-16 18:21:46 +0000357 'flags.gyp:flags',
reed@google.com1bdf7fe2012-06-14 18:58:40 +0000358 ],
359 },
robertphillips@google.comc7e4a5a2012-10-04 13:00:33 +0000360 {
commit-bot@chromium.org6645cde2013-07-19 18:54:04 +0000361 'target_name': 'bbh_shootout',
362 'type': 'executable',
363 'include_dirs': [
364 '../bench',
365 '../tools/'
366 ],
367 'sources': [
368 '../tools/bbh_shootout.cpp',
369
370 # Bench code:
371 '../bench/TimerData.h',
372 '../bench/TimerData.cpp',
373 ],
374 'dependencies': [
375 'skia_lib.gyp:skia_lib',
376 'bench.gyp:bench_timer',
377 'tools.gyp:picture_utils',
378 'tools.gyp:picture_renderer',
379 'flags.gyp:flags',
380 ],
381 },
382 {
robertphillips@google.comc7e4a5a2012-10-04 13:00:33 +0000383 'target_name': 'filter',
384 'type': 'executable',
385 'include_dirs' : [
386 '../src/core',
fmalita@google.com4df16732013-06-13 21:25:45 +0000387 '../src/utils/debugger',
robertphillips@google.comc7e4a5a2012-10-04 13:00:33 +0000388 ],
389 'sources': [
390 '../tools/filtermain.cpp',
robertphillips@google.comd3d377f2012-12-07 20:56:13 +0000391 '../tools/path_utils.h',
robertphillips@google.com3b0a9fe2013-01-31 15:56:22 +0000392 '../tools/path_utils.cpp',
fmalita@google.com86681b32013-06-13 20:59:14 +0000393 '../src/utils/debugger/SkDrawCommand.h',
394 '../src/utils/debugger/SkDrawCommand.cpp',
395 '../src/utils/debugger/SkDebugCanvas.h',
396 '../src/utils/debugger/SkDebugCanvas.cpp',
397 '../src/utils/debugger/SkObjectParser.h',
398 '../src/utils/debugger/SkObjectParser.cpp',
robertphillips@google.comc7e4a5a2012-10-04 13:00:33 +0000399 ],
400 'dependencies': [
djsollen@google.com52f02972013-06-03 12:10:19 +0000401 'skia_lib.gyp:skia_lib',
djsollen@google.coma09e8832012-11-13 18:50:33 +0000402 'tools.gyp:picture_utils',
robertphillips@google.comc7e4a5a2012-10-04 13:00:33 +0000403 ],
404 },
halcanary@google.comfed30372013-10-04 12:46:45 +0000405 {
406 'target_name': 'test_image_decoder',
407 'type': 'executable',
408 'sources': [
409 '../tools/test_image_decoder.cpp',
410 ],
411 'dependencies': [
412 'skia_lib.gyp:skia_lib',
413 ],
414 },
edisonn@google.com8819d1a2013-03-08 18:43:35 +0000415 ],
416 'conditions': [
zachr@google.com28c27c82013-06-20 17:15:05 +0000417 ['skia_shared_lib',
418 {
419 'targets': [
420 {
421 'target_name': 'sklua',
422 'product_name': 'skia',
423 'product_prefix': '',
424 'product_dir': '<(PRODUCT_DIR)/',
425 'type': 'shared_library',
426 'sources': [
427 '../src/utils/SkLuaCanvas.cpp',
428 '../src/utils/SkLua.cpp',
429 ],
430 'include_dirs': [
431 '../third_party/lua/src/',
432 ],
433 'dependencies': [
434 'lua.gyp:lua',
435 'pdf.gyp:pdf',
436 'skia_lib.gyp:skia_lib',
437 ],
438 'conditions': [
439 ['skia_os != "win"',
440 {
441 'ldflags': [
442 '-Wl,-rpath,\$$ORIGIN,--enable-new-dtags',
443 ],
444 },
445 ],
446 ],
447 },
448 ],
449 },
450 ],
borenet@google.com2d137b62013-03-08 23:13:33 +0000451 ['skia_win_debuggers_path and skia_os == "win"',
edisonn@google.com8819d1a2013-03-08 18:43:35 +0000452 {
453 'targets': [
454 {
455 'target_name': 'win_dbghelp',
456 'type': 'static_library',
457 'defines': [
458 'SK_CDB_PATH="<(skia_win_debuggers_path)"',
459 ],
460 'sources': [
461 '../tools/win_dbghelp.h',
462 '../tools/win_dbghelp.cpp',
463 ],
464 },
465 ],
466 },
467 ],
bungeman@google.com07a69f82013-04-02 14:12:38 +0000468 ['skia_os == "win"',
469 {
470 'targets': [
471 {
472 'target_name': 'win_lcid',
473 'type': 'executable',
474 'sources': [
475 '../tools/win_lcid.cpp',
476 ],
477 },
478 ],
479 },
480 ],
epoger@google.comccdbd2c2011-06-02 14:38:23 +0000481 ],
482}
483
484# Local Variables:
485# tab-width:2
486# indent-tabs-mode:nil
487# End:
488# vim: set expandtab tabstop=2 shiftwidth=2: