1 # GYP file to build various tools. 2 # 3 # To build on Linux: 4 # ./gyp_skia tools.gyp && make tools 5 # 6 { 7 'includes': [ 8 'apptype_console.gypi', 9 ], 10 'targets': [ 11 { 12 # Build all executable targets defined below. 13 'target_name': 'tools', 14 'type': 'none', 15 'dependencies': [ 16 'bench_pictures', 17 'filter', 18 'lua_pictures', 19 'bbh_shootout', 20 'lua_app', 21 'pinspect', 22 'render_pdfs', 23 'render_pictures', 24 'skdiff', 25 'skpdiff', 26 'skhello', 27 'skimage', 28 ], 29 '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 ], 38 }, 39 { 40 'target_name': 'skdiff', 41 'type': 'executable', 42 'sources': [ 43 '../tools/skdiff.cpp', 44 '../tools/skdiff.h', 45 '../tools/skdiff_html.cpp', 46 '../tools/skdiff_html.h', 47 '../tools/skdiff_main.cpp', 48 '../tools/skdiff_utils.cpp', 49 '../tools/skdiff_utils.h', 50 ], 51 'dependencies': [ 52 'skia_lib.gyp:skia_lib', 53 ], 54 }, 55 { 56 '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 { 111 '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', 121 ], 122 'dependencies': [ 123 'skia_lib.gyp:skia_lib', 124 ], 125 }, 126 { 127 'target_name': 'skhello', 128 'type': 'executable', 129 'dependencies': [ 130 'skia_lib.gyp:skia_lib', 131 ], 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 }], 146 ], 147 }, 148 { 149 'target_name': 'skimage', 150 'type': 'executable', 151 'sources': [ 152 '../tools/skimage_main.cpp', 153 ], 154 'include_dirs': [ 155 # For SkBitmapHasher.h 156 '../src/utils/', 157 ], 158 'dependencies': [ 159 'skia_lib.gyp:skia_lib', 160 'flags.gyp:flags', 161 'gm.gyp:gm_expectations', 162 'jsoncpp.gyp:jsoncpp', 163 'utils.gyp:utils', 164 ], 165 }, 166 167 { 168 '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 { 185 'target_name': 'lua_pictures', 186 'type': 'executable', 187 'sources': [ 188 '../tools/lua/lua_pictures.cpp', 189 '../src/utils/SkLuaCanvas.cpp', 190 '../src/utils/SkLua.cpp', 191 ], 192 'dependencies': [ 193 'skia_lib.gyp:skia_lib', 194 'effects.gyp:effects', 195 'utils.gyp:utils', 196 'images.gyp:images', 197 'tools.gyp:picture_renderer', 198 'tools.gyp:picture_utils', 199 'pdf.gyp:pdf', 200 'ports.gyp:ports', 201 'flags.gyp:flags', 202 'lua.gyp:lua', 203 ], 204 }, 205 { 206 'target_name': 'render_pictures', 207 'type': 'executable', 208 'sources': [ 209 '../tools/render_pictures_main.cpp', 210 ], 211 'include_dirs': [ 212 '../src/pipe/utils/', 213 ], 214 'dependencies': [ 215 'skia_lib.gyp:skia_lib', 216 'tools.gyp:picture_renderer', 217 'tools.gyp:picture_utils', 218 'flags.gyp:flags', 219 ], 220 }, 221 { 222 'target_name': 'bench_pictures', 223 'type': 'executable', 224 'sources': [ 225 '../bench/SkBenchLogger.h', 226 '../bench/SkBenchLogger.cpp', 227 '../bench/TimerData.h', 228 '../bench/TimerData.cpp', 229 '../tools/bench_pictures_main.cpp', 230 '../tools/PictureBenchmark.cpp', 231 ], 232 'include_dirs': [ 233 '../bench', 234 '../src/lazy/', 235 ], 236 'dependencies': [ 237 'skia_lib.gyp:skia_lib', 238 'tools.gyp:picture_utils', 239 'tools.gyp:picture_renderer', 240 'bench.gyp:bench_timer', 241 'flags.gyp:flags', 242 ], 243 }, 244 { 245 'target_name': 'picture_renderer', 246 'type': 'static_library', 247 'sources': [ 248 '../tools/LazyDecodeBitmap.cpp', 249 '../tools/PictureRenderer.h', 250 '../tools/PictureRenderer.cpp', 251 '../tools/PictureRenderingFlags.h', 252 '../tools/PictureRenderingFlags.cpp', 253 '../tools/CopyTilesRenderer.h', 254 '../tools/CopyTilesRenderer.cpp', 255 '../src/pipe/utils/SamplePipeControllers.h', 256 '../src/pipe/utils/SamplePipeControllers.cpp', 257 ], 258 'include_dirs': [ 259 '../src/core/', 260 '../src/pipe/utils/', 261 '../src/utils/', 262 ], 263 'dependencies': [ 264 'skia_lib.gyp:skia_lib', 265 'tools.gyp:picture_utils', 266 'flags.gyp:flags', 267 ], 268 'conditions': [ 269 ['skia_gpu == 1', 270 { 271 'include_dirs' : [ 272 '../src/gpu', 273 ], 274 }, 275 ], 276 ], 277 }, 278 { 279 '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': [ 291 'skia_lib.gyp:skia_lib', 292 'pdf.gyp:pdf', 293 'tools.gyp:picture_utils', 294 ], 295 'conditions': [ 296 ['skia_win_debuggers_path and skia_os == "win"', 297 { 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 ' 306 'skia_arch_width == 64', 307 { 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 ' 318 'skia_arch_width == 32', 319 { 320 'msvs_settings': { 321 'VCLinkerTool': { 322 'AdditionalDependencies': [ 323 '<(skia_win_debuggers_path)/DbgHelp.lib', 324 ], 325 }, 326 }, 327 }, 328 ], 329 ], 330 }, 331 { 332 'target_name': 'picture_utils', 333 'type': 'static_library', 334 'sources': [ 335 '../tools/picture_utils.cpp', 336 '../tools/picture_utils.h', 337 ], 338 'dependencies': [ 339 'skia_lib.gyp:skia_lib', 340 ], 341 'direct_dependent_settings': { 342 'include_dirs': [ 343 '../tools/', 344 ], 345 }, 346 }, 347 { 348 'target_name': 'pinspect', 349 'type': 'executable', 350 'sources': [ 351 '../tools/pinspect.cpp', 352 ], 353 'dependencies': [ 354 'skia_lib.gyp:skia_lib', 355 'tools.gyp:picture_renderer', 356 'flags.gyp:flags', 357 ], 358 }, 359 { 360 '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 { 382 'target_name': 'filter', 383 'type': 'executable', 384 'include_dirs' : [ 385 '../src/core', 386 '../src/utils/debugger', 387 ], 388 'sources': [ 389 '../tools/filtermain.cpp', 390 '../tools/path_utils.h', 391 '../tools/path_utils.cpp', 392 '../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', 398 ], 399 'dependencies': [ 400 'skia_lib.gyp:skia_lib', 401 'tools.gyp:picture_utils', 402 ], 403 }, 404 ], 405 'conditions': [ 406 ['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 ], 440 ['skia_win_debuggers_path and skia_os == "win"', 441 { 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 ], 457 ['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 ], 470 ], 471 } 472 473 # Local Variables: 474 # tab-width:2 475 # indent-tabs-mode:nil 476 # End: 477 # vim: set expandtab tabstop=2 shiftwidth=2: 478