Home | History | Annotate | Download | only in gyp
      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