зеркало из https://github.com/mozilla/moz-skia.git
723 строки
18 KiB
Python
723 строки
18 KiB
Python
# 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': [
|
|
'bbh_shootout',
|
|
'bench_pictures',
|
|
'bench_record',
|
|
'bench_playback',
|
|
'create_test_font',
|
|
'dump_record',
|
|
'filter',
|
|
'gpuveto',
|
|
'lua_app',
|
|
'lua_pictures',
|
|
'pinspect',
|
|
'render_pdfs',
|
|
'render_pictures',
|
|
'skdiff',
|
|
'skhello',
|
|
'skpdiff',
|
|
'skpinfo',
|
|
'skpmaker',
|
|
'skimage',
|
|
'test_image_decoder',
|
|
],
|
|
'conditions': [
|
|
['skia_shared_lib',
|
|
{
|
|
'dependencies': [
|
|
'sklua', # This can only be built if skia is built as a shared library
|
|
],
|
|
},
|
|
],
|
|
],
|
|
},
|
|
{ # This would go in gm.gyp, but it's also used by skimage below.
|
|
'target_name': 'gm_expectations',
|
|
'type': 'static_library',
|
|
'include_dirs' : [ '../src/utils/' ],
|
|
'sources': [
|
|
'../gm/gm_expectations.cpp',
|
|
],
|
|
'dependencies': [
|
|
'jsoncpp.gyp:jsoncpp',
|
|
'sk_tool_utils',
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [ '../gm/' ],
|
|
},
|
|
},
|
|
{
|
|
'target_name': 'crash_handler',
|
|
'type': 'static_library',
|
|
'sources': [ '../tools/CrashHandler.cpp' ],
|
|
'dependencies': [ 'skia_lib.gyp:skia_lib' ],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [ '../tools' ],
|
|
},
|
|
'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',
|
|
],
|
|
'dependencies': [
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [ '../tools', ],
|
|
},
|
|
},
|
|
{
|
|
'target_name' : 'timer',
|
|
'type': 'static_library',
|
|
'sources': [
|
|
'../tools/timer/Timer.cpp',
|
|
'../tools/timer/TimerData.cpp',
|
|
],
|
|
'include_dirs': [
|
|
'../src/core',
|
|
'../src/gpu',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': ['../tools/timer'],
|
|
},
|
|
'dependencies': [
|
|
'skia_lib.gyp:skia_lib',
|
|
'jsoncpp.gyp:jsoncpp',
|
|
],
|
|
'conditions': [
|
|
['skia_gpu == 1', {
|
|
'sources': [ '../tools/timer/GpuTimer.cpp' ],
|
|
}],
|
|
[ 'skia_os in ["mac", "ios"]', {
|
|
'sources': [ '../tools/timer/SysTimer_mach.cpp' ],
|
|
}],
|
|
[ 'skia_os == "win"', {
|
|
'sources': [ '../tools/timer/SysTimer_windows.cpp' ],
|
|
}],
|
|
[ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "android", "chromeos"]', {
|
|
'sources': [ '../tools/timer/SysTimer_posix.cpp' ],
|
|
}],
|
|
[ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos"]', {
|
|
'link_settings': { 'libraries': [ '-lrt' ] },
|
|
}],
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'skdiff',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/skdiff.cpp',
|
|
'../tools/skdiff.h',
|
|
'../tools/skdiff_html.cpp',
|
|
'../tools/skdiff_html.h',
|
|
'../tools/skdiff_main.cpp',
|
|
'../tools/skdiff_utils.cpp',
|
|
'../tools/skdiff_utils.h',
|
|
],
|
|
'dependencies': [
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'skpdiff',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/skpdiff/skpdiff_main.cpp',
|
|
'../tools/skpdiff/SkDiffContext.cpp',
|
|
'../tools/skpdiff/SkImageDiffer.cpp',
|
|
'../tools/skpdiff/SkPMetric.cpp',
|
|
'../tools/skpdiff/skpdiff_util.cpp',
|
|
],
|
|
'include_dirs': [
|
|
'../src/core/', # needed for SkTLList.h
|
|
],
|
|
'dependencies': [
|
|
'flags.gyp:flags',
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
'cflags': [
|
|
'-O3',
|
|
],
|
|
'conditions': [
|
|
[ 'skia_os in ["linux", "freebsd", "openbsd", "solaris", "chromeos"]', {
|
|
'link_settings': {
|
|
'libraries': [
|
|
'-lrt',
|
|
],
|
|
},
|
|
}],
|
|
['skia_opencl', {
|
|
'sources': [
|
|
'../tools/skpdiff/SkCLImageDiffer.cpp',
|
|
'../tools/skpdiff/SkDifferentPixelsMetric_opencl.cpp',
|
|
],
|
|
'conditions': [
|
|
[ 'skia_os == "mac"', {
|
|
'link_settings': {
|
|
'libraries': [
|
|
'$(SDKROOT)/System/Library/Frameworks/OpenCL.framework',
|
|
]
|
|
}
|
|
}, {
|
|
'link_settings': {
|
|
'libraries': [
|
|
'-lOpenCL',
|
|
],
|
|
},
|
|
}],
|
|
],
|
|
}, { # !skia_opencl
|
|
'sources': [
|
|
'../tools/skpdiff/SkDifferentPixelsMetric_cpu.cpp',
|
|
],
|
|
}],
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'skpmaker',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/skpmaker.cpp',
|
|
],
|
|
'include_dirs': [
|
|
'../src/core',
|
|
],
|
|
'dependencies': [
|
|
'flags.gyp:flags',
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'skimagediff',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/skdiff.cpp',
|
|
'../tools/skdiff.h',
|
|
'../tools/skdiff_html.cpp',
|
|
'../tools/skdiff_html.h',
|
|
'../tools/skdiff_image.cpp',
|
|
'../tools/skdiff_utils.cpp',
|
|
'../tools/skdiff_utils.h',
|
|
],
|
|
'dependencies': [
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'skhello',
|
|
'type': 'executable',
|
|
'dependencies': [
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
'conditions': [
|
|
[ 'skia_os == "nacl"', {
|
|
'sources': [
|
|
'../platform_tools/nacl/src/nacl_hello.cpp',
|
|
],
|
|
}, {
|
|
'sources': [
|
|
'../tools/skhello.cpp',
|
|
],
|
|
'dependencies': [
|
|
'flags.gyp:flags',
|
|
'pdf.gyp:pdf',
|
|
],
|
|
}],
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'skimage',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/skimage_main.cpp',
|
|
],
|
|
'include_dirs': [
|
|
# For SkBitmapHasher.h
|
|
'../src/utils/',
|
|
'../tools/',
|
|
],
|
|
'dependencies': [
|
|
'gm_expectations',
|
|
'flags.gyp:flags',
|
|
'jsoncpp.gyp:jsoncpp',
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'skpinfo',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/skpinfo.cpp',
|
|
],
|
|
'include_dirs': [
|
|
'../src/core/',
|
|
],
|
|
'dependencies': [
|
|
'flags.gyp:flags',
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'gpuveto',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/gpuveto.cpp',
|
|
'../tools/LazyDecodeBitmap.cpp',
|
|
],
|
|
'include_dirs': [
|
|
'../src/core/',
|
|
'../src/images',
|
|
'../src/lazy',
|
|
],
|
|
'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': [
|
|
# 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': [
|
|
# 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_renderer',
|
|
'tools.gyp:picture_utils',
|
|
'pdf.gyp:pdf',
|
|
'ports.gyp:ports',
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'render_pictures',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/render_pictures_main.cpp',
|
|
],
|
|
'include_dirs': [
|
|
'../src/core',
|
|
'../src/images',
|
|
'../src/lazy',
|
|
'../src/pipe/utils/',
|
|
],
|
|
'dependencies': [
|
|
'flags.gyp:flags',
|
|
'skia_lib.gyp:skia_lib',
|
|
'tools.gyp:picture_renderer',
|
|
'tools.gyp:picture_utils',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'bench_pictures',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../bench/BenchLogger.cpp',
|
|
'../bench/BenchLogger.h',
|
|
'../bench/ResultsWriter.cpp',
|
|
'../tools/PictureBenchmark.cpp',
|
|
'../tools/PictureResultsWriter.h',
|
|
'../tools/bench_pictures_main.cpp',
|
|
],
|
|
'include_dirs': [
|
|
'../src/core/',
|
|
'../bench',
|
|
'../src/lazy/',
|
|
],
|
|
'dependencies': [
|
|
'timer',
|
|
'crash_handler',
|
|
'flags.gyp:flags',
|
|
'jsoncpp.gyp:jsoncpp',
|
|
'skia_lib.gyp:skia_lib',
|
|
'tools.gyp:picture_renderer',
|
|
'tools.gyp:picture_utils',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'bench_record',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/bench_record.cpp',
|
|
'../tools/LazyDecodeBitmap.cpp',
|
|
],
|
|
'include_dirs': [
|
|
'../src/core/',
|
|
'../src/images',
|
|
'../src/lazy',
|
|
],
|
|
'dependencies': [
|
|
'timer',
|
|
'flags.gyp:flags',
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'bench_playback',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/bench_playback.cpp',
|
|
],
|
|
'include_dirs': [
|
|
'../src/core/',
|
|
'../src/images',
|
|
],
|
|
'dependencies': [
|
|
'timer',
|
|
'flags.gyp:flags',
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'dump_record',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/dump_record.cpp',
|
|
'../tools/DumpRecord.cpp',
|
|
'../tools/LazyDecodeBitmap.cpp',
|
|
],
|
|
'include_dirs': [
|
|
'../src/core/',
|
|
'../src/images',
|
|
'../src/lazy',
|
|
],
|
|
'dependencies': [
|
|
'timer',
|
|
'flags.gyp:flags',
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'picture_renderer',
|
|
'type': 'static_library',
|
|
'sources': [
|
|
'../tools/image_expectations.h',
|
|
'../tools/image_expectations.cpp',
|
|
'../tools/LazyDecodeBitmap.cpp',
|
|
'../tools/PictureRenderer.h',
|
|
'../tools/PictureRenderer.cpp',
|
|
'../tools/PictureRenderingFlags.h',
|
|
'../tools/PictureRenderingFlags.cpp',
|
|
'../tools/CopyTilesRenderer.h',
|
|
'../tools/CopyTilesRenderer.cpp',
|
|
'../src/pipe/utils/SamplePipeControllers.h',
|
|
'../src/pipe/utils/SamplePipeControllers.cpp',
|
|
],
|
|
'include_dirs': [
|
|
'../src/core',
|
|
'../src/images',
|
|
'../src/lazy',
|
|
'../src/pipe/utils/',
|
|
'../src/utils/',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [
|
|
# needed for JSON headers used within image_expectations.h
|
|
'../third_party/externals/jsoncpp-chromium/overrides/include/',
|
|
'../third_party/externals/jsoncpp/include/',
|
|
],
|
|
},
|
|
'dependencies': [
|
|
'flags.gyp:flags',
|
|
'jsoncpp.gyp:jsoncpp',
|
|
'skia_lib.gyp:skia_lib',
|
|
'tools.gyp:picture_utils',
|
|
],
|
|
'conditions': [
|
|
['skia_gpu == 1',
|
|
{
|
|
'include_dirs' : [
|
|
'../src/gpu',
|
|
],
|
|
'dependencies': [
|
|
'gputest.gyp:skgputest',
|
|
],
|
|
},
|
|
],
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'render_pdfs',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/render_pdfs_main.cpp',
|
|
'../tools/PdfRenderer.cpp',
|
|
'../tools/PdfRenderer.h',
|
|
],
|
|
'include_dirs': [
|
|
'../src/pipe/utils/',
|
|
'../src/utils/',
|
|
],
|
|
'dependencies': [
|
|
'pdf.gyp:pdf',
|
|
'skia_lib.gyp:skia_lib',
|
|
'tools.gyp:picture_utils',
|
|
],
|
|
'conditions': [
|
|
['skia_win_debuggers_path and skia_os == "win"',
|
|
{
|
|
'dependencies': [
|
|
'tools.gyp:win_dbghelp',
|
|
],
|
|
},
|
|
],
|
|
# VS static libraries don't have a linker option. We must set a global
|
|
# project linker option, or add it to each executable.
|
|
['skia_win_debuggers_path and skia_os == "win" and '
|
|
'skia_arch_width == 64',
|
|
{
|
|
'msvs_settings': {
|
|
'VCLinkerTool': {
|
|
'AdditionalDependencies': [
|
|
'<(skia_win_debuggers_path)/x64/DbgHelp.lib',
|
|
],
|
|
},
|
|
},
|
|
},
|
|
],
|
|
['skia_win_debuggers_path and skia_os == "win" and '
|
|
'skia_arch_width == 32',
|
|
{
|
|
'msvs_settings': {
|
|
'VCLinkerTool': {
|
|
'AdditionalDependencies': [
|
|
'<(skia_win_debuggers_path)/DbgHelp.lib',
|
|
],
|
|
},
|
|
},
|
|
},
|
|
],
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'picture_utils',
|
|
'type': 'static_library',
|
|
'sources': [
|
|
'../tools/picture_utils.cpp',
|
|
'../tools/picture_utils.h',
|
|
],
|
|
'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',
|
|
'tools.gyp:picture_renderer',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'bbh_shootout',
|
|
'type': 'executable',
|
|
'include_dirs': [
|
|
'../bench',
|
|
'../tools/'
|
|
],
|
|
'sources': [
|
|
'../tools/bbh_shootout.cpp',
|
|
|
|
# Bench code:
|
|
],
|
|
'dependencies': [
|
|
'timer',
|
|
'flags.gyp:flags',
|
|
'skia_lib.gyp:skia_lib',
|
|
'tools.gyp:picture_renderer',
|
|
'tools.gyp:picture_utils',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'filter',
|
|
'type': 'executable',
|
|
'include_dirs' : [
|
|
'../src/core',
|
|
'../src/utils/debugger',
|
|
],
|
|
'sources': [
|
|
'../tools/filtermain.cpp',
|
|
'../src/utils/debugger/SkDrawCommand.h',
|
|
'../src/utils/debugger/SkDrawCommand.cpp',
|
|
'../src/utils/debugger/SkDebugCanvas.h',
|
|
'../src/utils/debugger/SkDebugCanvas.cpp',
|
|
'../src/utils/debugger/SkObjectParser.h',
|
|
'../src/utils/debugger/SkObjectParser.cpp',
|
|
],
|
|
'dependencies': [
|
|
'skia_lib.gyp:skia_lib',
|
|
'tools.gyp:picture_utils',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'create_test_font',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/create_test_font.cpp',
|
|
],
|
|
'include_dirs': [
|
|
'../src/core',
|
|
],
|
|
'dependencies': [
|
|
'flags.gyp:flags',
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
},
|
|
{
|
|
'target_name': 'test_image_decoder',
|
|
'type': 'executable',
|
|
'sources': [
|
|
'../tools/test_image_decoder.cpp',
|
|
],
|
|
'dependencies': [
|
|
'skia_lib.gyp:skia_lib',
|
|
],
|
|
},
|
|
],
|
|
'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': [
|
|
# 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',
|
|
],
|
|
},
|
|
],
|
|
},
|
|
],
|
|
],
|
|
}
|