# Copyright 2015 Google Inc.
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
    # GYP file to build various tools.
#
# To build on Linux:
#  ./gyp_skia tools.gyp && make tools
#
{
  'includes': [
    'apptype_console.gypi',
  ],
  'targets': [
    {
      # Build all executable targets defined below.
      'target_name': 'tools',
      'type': 'none',
      'dependencies': [
        'chrome_fuzz',
        'dump_record',
        'get_images_from_skps',
        'get_current_monitor_profile',
        'gpuveto',
        'imgblur',
        'imgslice',
        'lua_app',
        'lua_pictures',
        'pinspect',
        'skdiff',
        'skhello',
        'skpinfo',
        'skpmaker',
        'test_public_includes',
        'using_skia_and_harfbuzz',
        'visualize_color_gamut',
        'whitelist_typefaces',
      ],
      'conditions': [
        ['skia_mesa and skia_os in ["linux", "mac"]',
          { 'dependencies': [ 'fiddle_build_test' ] }
        ],
        ['skia_shared_lib',
          {
            'dependencies': [
              'sklua', # This can only be built if skia is built as a shared library
            ],
          },
        ],
        [ 'skia_os == "android"',
          {
            'dependencies': [
               # Build this by default to catch compile errors more quickly, since
               # the only other time this code is exercised in the android framework
              'android_utils',
            ],
          },
        ],
      ],
    },
    {
      'target_name': 'android_utils',
      'type': 'static_library',
      'dependencies': [
        'core.gyp:core',
      ],
      'sources': [
        '../tools/android/SkAndroidSDKCanvas.h',
        '../tools/android/SkAndroidSDKCanvas.cpp',
      ],
      'direct_dependent_settings': {
        'include_dirs': [
          '../tools/android',
        ],
      },
    },
    {
        'target_name': 'dump_record',
        'type': 'executable',
        'sources': [
            '../tools/dump_record.cpp',
            '../tools/DumpRecord.cpp',
         ],
         'include_dirs': [
            '../include/private',
            '../src/core',
         ],
         'dependencies': [
            'flags.gyp:flags',
            'skia_lib.gyp:skia_lib',
         ],
    },
    {
        'target_name': 'monobench',
        'type': 'executable',
        'dependencies': [
            'flags.gyp:flags',
            'flags.gyp:flags_common',
            'resources',
            'skia_lib.gyp:skia_lib',
            'timer',
            'pdf.gyp:pdf',
            'tools.gyp:sk_tool_utils',
        ],
        'include_dirs': [
            '../bench',
            '../include/private',
            '../src/core',
            '../src/effects',
            '../src/effects/gradients',
            '../src/image',
            '../src/gpu',
            '../src/pdf',
            '../src/utils',
        ],
        'sources': [
            '../tools/monobench.cpp',
            '../bench/Benchmark.cpp',
            '<!@(python find.py "*Bench.cpp" ../bench)',
        ],
        'sources!': [
            '../bench/GMBench.cpp',
        ],
    },
    {
      'target_name': 'chrome_fuzz',
      'type': 'executable',
      'sources': [
        '../tools/chrome_fuzz.cpp',
      ],
      'dependencies': [
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'crash_handler',
        'type': 'static_library',
        'sources': [ '../tools/CrashHandler.cpp' ],
        'dependencies': [ 'skia_lib.gyp:skia_lib' ],
        'direct_dependent_settings': {
          'include_dirs': [ '../tools' ],
        },
        'conditions': [
          [ 'skia_is_bot', {
            'defines': [ 'SK_CRASH_HANDLER' ],
          }],
        ],

        'all_dependent_settings': {
          'msvs_settings': {
            'VCLinkerTool': {
              'AdditionalDependencies': [ 'Dbghelp.lib' ],
            }
          },
        }
    },
    {
      'target_name': 'resources',
      'type': 'static_library',
      'sources': [ '../tools/Resources.cpp' ],
      'dependencies': [
        'flags.gyp:flags',
        'skia_lib.gyp:skia_lib',
      ],
      'direct_dependent_settings': {
        'include_dirs': [ '../tools', ],
      },
    },
    {
      'target_name': 'sk_tool_utils',
      'type': 'static_library',
      'sources': [
        '../tools/sk_tool_utils.cpp',
        '../tools/sk_tool_utils_font.cpp',
        '../tools/random_parse_path.cpp',
      ],
      'include_dirs': [
        '../include/private',
        '../src/fonts',
        '../src/core',
      ],
      'dependencies': [
        'resources',
        'flags.gyp:flags',
        'flags.gyp:flags_common',
        'skia_lib.gyp:skia_lib',
      ],
      'direct_dependent_settings': {
        'include_dirs': [ '../tools', ],
      },
    },
    {
      'target_name' : 'timer',
      'type': 'static_library',
      'sources': [ '../tools/timer/Timer.cpp' ],
      'direct_dependent_settings': {
        'include_dirs': ['../tools/timer'],
      },
      'dependencies': [ 'skia_lib.gyp:skia_lib' ],
    },
    {
      'target_name': 'skdiff',
      'type': 'executable',
      'sources': [
        '../tools/skdiff/skdiff.cpp',
        '../tools/skdiff/skdiff.h',
        '../tools/skdiff/skdiff_html.cpp',
        '../tools/skdiff/skdiff_html.h',
        '../tools/skdiff/skdiff_main.cpp',
        '../tools/skdiff/skdiff_utils.cpp',
        '../tools/skdiff/skdiff_utils.h',
      ],
      'dependencies': [
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'skpmaker',
      'type': 'executable',
      'sources': [
        '../tools/skpmaker.cpp',
      ],
      'include_dirs': [
        '../include/private',
        '../src/core',
      ],
      'dependencies': [
        'flags.gyp:flags',
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'skimagediff',
      'type': 'executable',
      'sources': [
        '../tools/skdiff/skdiff.cpp',
        '../tools/skdiff/skdiff.h',
        '../tools/skdiff/skdiff_html.cpp',
        '../tools/skdiff/skdiff_html.h',
        '../tools/skdiff/skdiff_image.cpp',
        '../tools/skdiff/skdiff_utils.cpp',
        '../tools/skdiff/skdiff_utils.h',
      ],
      'dependencies': [
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'skhello',
      'type': 'executable',
      'dependencies': [
        'flags.gyp:flags',
        'pdf.gyp:pdf',
        'skia_lib.gyp:skia_lib',
      ],
      'sources': [
        '../tools/skhello.cpp',
      ],
    },
    {
      'target_name': 'skpinfo',
      'type': 'executable',
      'sources': [
        '../tools/skpinfo.cpp',
      ],
      'include_dirs': [
        '../include/private',
        '../src/core/',
      ],
      'dependencies': [
        'flags.gyp:flags',
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'imgblur',
      'type': 'executable',
      'sources': [
        '../tools/imgblur.cpp',
      ],
      'include_dirs': [
        '../include/core',
      ],
      'dependencies': [
        'flags.gyp:flags',
        'flags.gyp:flags_common',
        'skia_lib.gyp:skia_lib',
        'tools.gyp:sk_tool_utils',
      ],
    },
    {
      'target_name': 'imgslice',
      'type': 'executable',
      'sources': [
        '../tools/imgslice.cpp',
      ],
      'include_dirs': [
        '../include/core',
      ],
      'dependencies': [
        'flags.gyp:flags',
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'get_images_from_skps',
      'type': 'executable',
      'sources': [
        '../tools/get_images_from_skps.cpp',
      ],
      'include_dirs': [
        '../src/core',
        '../include/private',
      ],
      'dependencies': [
        'flags.gyp:flags',
        'jsoncpp.gyp:jsoncpp',
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'get_current_monitor_profile',
      'type': 'executable',
      'sources': [
        '../tools/get_current_monitor_profile.cpp',
      ],
      'include_dirs': [
        '../src/core',
        '../include/private',
      ],
      'dependencies': [
        'flags.gyp:flags',
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'gpuveto',
      'type': 'executable',
      'sources': [
        '../tools/gpuveto.cpp',
      ],
      'include_dirs': [
        '../include/private',
        '../src/core/',
        '../src/images',
      ],
      'dependencies': [
        'flags.gyp:flags',
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'lua_app',
      'type': 'executable',
      'sources': [
        '../tools/lua/lua_app.cpp',
        '../src/utils/SkLua.cpp',
      ],
      'include_dirs': [
        '../include/private',
        # Lua exposes GrReduceClip which in turn requires src/core for SkTLList
        '../src/gpu/',
        '../src/core/',
      ],
      'dependencies': [
        'effects.gyp:effects',
        'images.gyp:images',
        'lua.gyp:lua',
        'pdf.gyp:pdf',
        'ports.gyp:ports',
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'lua_pictures',
      'type': 'executable',
      'sources': [
        '../tools/lua/lua_pictures.cpp',
        '../src/utils/SkLuaCanvas.cpp',
        '../src/utils/SkLua.cpp',
      ],
      'include_dirs': [
        '../include/private',
        # Lua exposes GrReduceClip which in turn requires src/core for SkTLList
        '../src/gpu/',
        '../src/core/',
      ],
      'dependencies': [
        'effects.gyp:effects',
        'flags.gyp:flags',
        'images.gyp:images',
        'lua.gyp:lua',
        'tools.gyp:picture_utils',
        'pdf.gyp:pdf',
        'ports.gyp:ports',
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'picture_utils',
      'type': 'static_library',
      'sources': [
        '../tools/picture_utils.cpp',
        '../tools/picture_utils.h',
      ],
      'include_dirs': [
          '../include/private',
          '../src/core/',
      ],
      'dependencies': [
        'skia_lib.gyp:skia_lib',
      ],
      'direct_dependent_settings': {
        'include_dirs': [
          '../tools/',
        ],
      },
    },
    {
      'target_name': 'pinspect',
      'type': 'executable',
      'sources': [
        '../tools/pinspect.cpp',
      ],
      'dependencies': [
        'flags.gyp:flags',
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'proc_stats',
      'type': 'static_library',
      'sources': [
        '../tools/ProcStats.h',
        '../tools/ProcStats.cpp',
      ],
      'direct_dependent_settings': {
        'include_dirs': [ '../tools', ],
      },
      'dependencies': [
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'url_data_manager',
      'type': 'static_library',
      'sources': [
        '../tools/UrlDataManager.h',
        '../tools/UrlDataManager.cpp',
      ],
      'dependencies': [
        'skia_lib.gyp:skia_lib',
      ],
      'include_dirs': [
         '../include/private',
         '../src/core',
      ],
      'direct_dependent_settings': {
        'include_dirs': [
          '../include/private',
          '../tools',
        ],
      },
    },
    {
      'target_name': 'using_skia_and_harfbuzz',
      'type': 'executable',
      'sources': [ '../tools/using_skia_and_harfbuzz.cpp', ],
      'variables': { 'skia_example_use_harfbuzz%': 1, },
      'conditions': [
        [ 'skia_example_use_harfbuzz',
          {
            'dependencies': [ 'harfbuzz.gyp:harfbuzz', ],
            'sources' : [ '../tools/SkShaper_harfbuzz.cpp', ],
          }, {
            'sources' : [ '../tools/SkShaper_primitive.cpp', ],
          },
        ]
      ],
      'dependencies': [
        'skia_lib.gyp:skia_lib',
        'pdf.gyp:pdf',
      ],
    },
    {
      'target_name': 'visualize_color_gamut',
      'type': 'executable',
      'sources': [
        '../tools/colorspaceinfo.cpp',
      ],
      'include_dirs': [
        '../src/core',
        '../include/private',
        '../tools',
      ],
      'dependencies': [
        'flags.gyp:flags',
        'resources',
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'whitelist_typefaces',
      'type': 'executable',
      'sources': [
        '../tools/whitelist_typefaces.cpp',
      ],
      'dependencies': [
        'skia_lib.gyp:skia_lib',
      ],
    },
    {
      'target_name': 'thermal_manager',
      'type': 'static_library',
      'sources': [
        '../tools/ThermalManager.cpp',
      ],
      'dependencies': [
        'skia_lib.gyp:skia_lib',
      ],
      'direct_dependent_settings': {
        'include_dirs': [ '../tools', ],
      },
    },
    {
      'target_name': 'test_public_includes',
      'type': 'static_library',
      # Ensure that our public headers don't have unused params so that clients
      # (e.g. Android) that include us can build with these warnings enabled
      'cflags!': [ '-Wno-unused-parameter' ],
      'variables': {
        'includes_to_test': [
          '<(skia_include_path)/android',
          '<(skia_include_path)/c',
          '<(skia_include_path)/codec',
          '<(skia_include_path)/config',
          '<(skia_include_path)/core',
          '<(skia_include_path)/effects',
          '<(skia_include_path)/gpu',
          '<(skia_include_path)/images',
          '<(skia_include_path)/pathops',
          '<(skia_include_path)/ports',
          '<(skia_include_path)/utils',
          '<(skia_include_path)/views',
          '<(skia_include_path)/xml',
        ],
        'paths_to_ignore': [
          '<(skia_include_path)/gpu/gl/GrGLConfig_chrome.h',
          '<(skia_include_path)/ports/SkFontMgr_fontconfig.h',
          '<(skia_include_path)/ports/SkTypeface_mac.h',
          '<(skia_include_path)/ports/SkTypeface_win.h',
          '<(skia_include_path)/utils/ios',
          '<(skia_include_path)/utils/mac',
          '<(skia_include_path)/utils/win',
          '<(skia_include_path)/utils/SkDebugUtils.h',
          '<(skia_include_path)/utils/SkJSONCPP.h',
          '<(skia_include_path)/views/SkOSWindow_iOS.h',
          '<(skia_include_path)/views/SkOSWindow_Mac.h',
          '<(skia_include_path)/views/SkOSWindow_SDL.h',
          '<(skia_include_path)/views/SkOSWindow_Unix.h',
          '<(skia_include_path)/views/SkOSWindow_Win.h',
          '<(skia_include_path)/views/SkWindow.h',
          '<(skia_include_path)/gpu/vk',
        ],
        'output_file' : [
          '<(INTERMEDIATE_DIR)/test_public_includes.cpp',
        ],
      },
      'include_dirs': [
        '<@(includes_to_test)',
      ],
      'sources': [
        # unused_param_test.cpp is generated by the action below.
        '<(INTERMEDIATE_DIR)/test_public_includes.cpp',
      ],
      'actions': [
        {
          'action_name': 'generate_includes_cpp',
          'inputs': [
            '../tools/generate_includes_cpp.py',
            '<@(includes_to_test)',
          ],
          'outputs': [
            '<@(output_file)',
            # Force the script to always run so that we pick up when files have
            # been deleted.
            'filename_that_does_not_exists_but_forces_rebuild.txt',
          ],
          'action': ['python', '../tools/generate_includes_cpp.py',
                               '--ignore', '<(paths_to_ignore)',
                               '<@(output_file)', '<@(includes_to_test)'],
        },
      ],
    },
  ],
  'conditions': [
    ['skia_shared_lib',
      {
        'targets': [
          {
            'target_name': 'sklua',
            'product_name': 'skia',
            'product_prefix': '',
            'product_dir': '<(PRODUCT_DIR)/',
            'type': 'shared_library',
            'sources': [
              '../src/utils/SkLuaCanvas.cpp',
              '../src/utils/SkLua.cpp',
            ],
            'include_dirs': [
              '../include/private',
              # Lua exposes GrReduceClip which in turn requires src/core for SkTLList
              '../src/gpu/',
              '../src/core/',
              '../third_party/lua/src/',
            ],
            'dependencies': [
              'lua.gyp:lua',
              'pdf.gyp:pdf',
              'skia_lib.gyp:skia_lib',
            ],
            'conditions': [
              ['skia_os != "win"',
                {
                  'ldflags': [
                    '-Wl,-rpath,\$$ORIGIN,--enable-new-dtags',
                  ],
                },
              ],
            ],
          },
        ],
      },
    ],
    ['skia_win_debuggers_path and skia_os == "win"',
      {
        'targets': [
          {
            'target_name': 'win_dbghelp',
            'type': 'static_library',
            'defines': [
              'SK_CDB_PATH="<(skia_win_debuggers_path)"',
            ],
            'sources': [
              '../tools/win_dbghelp.h',
              '../tools/win_dbghelp.cpp',
            ],
          },
        ],
      },
    ],
    ['skia_os == "win"',
      {
        'targets': [
          {
            'target_name': 'win_lcid',
            'type': 'executable',
            'sources': [
              '../tools/win_lcid.cpp',
            ],
          },
        ],
      },
    ],
    ['skia_os == "mac"',
      {
        'targets': [
          {
            'target_name': 'create_test_font',
            'type': 'executable',
            'sources': [
              '../tools/create_test_font.cpp',
            ],
            'include_dirs': [
              '../include/private',
              '../src/core',
            ],
            'dependencies': [
              'flags.gyp:flags',
              'skia_lib.gyp:skia_lib',
              'resources',
            ],
          },
        ],
      },
    ],
    ['skia_mesa and skia_os in ["linux", "mac"]',
      {
        'targets': [
          {
            'target_name': 'fiddle_build_test',
            'type': 'executable',
            'sources': [
              '../tools/fiddle/draw.cpp',
              '../tools/fiddle/fiddle_main.cpp',
              '../tools/fiddle/fiddle_main.h',
            ],
            'dependencies': [
              'skia_lib.gyp:skia_lib',
              'pdf.gyp:pdf',
              'gputest.gyp:osmesa',
            ],
            'defines': [ 'FIDDLE_BUILD_TEST' ],
          },
        ],
      },
    ],
  ],
}
