| # 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': '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' ], |
| }, |
| ], |
| }, |
| ], |
| ], |
| } |