fe91727057
I really wanted this today, so I got it working again. Change-Id: I1a37d48d4806198b55c59d1df5ff15a03500195f Reviewed-on: https://skia-review.googlesource.com/3383 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
709 lines
18 KiB
Python
709 lines
18 KiB
Python
# 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',
|
|
'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': [
|
|
'../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/visualize_color_gamut.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)/animator',
|
|
'<(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' ],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
],
|
|
}
|