| Index: BUILD.gn
|
| diff --git a/BUILD.gn b/BUILD.gn
|
| index c1aed787a59a16627a28b346e6e566c5acad9f8a..2ea5a075fdd0f0c1a38f97811ca6df3f50f95e8e 100644
|
| --- a/BUILD.gn
|
| +++ b/BUILD.gn
|
| @@ -4,6 +4,8 @@
|
| # found in the LICENSE file.
|
|
|
| declare_args() {
|
| + skia_enable_tools = !is_fuchsia && !is_component_build
|
| +
|
| skia_use_expat = true
|
| skia_use_giflib = !is_fuchsia
|
| skia_use_libjpeg_turbo = true
|
| @@ -176,6 +178,7 @@ if (is_x86) {
|
| }
|
| }
|
|
|
| +# Any feature of Skia that requires third-party code should be optional and use this template.
|
| template("optional") {
|
| if (invoker.enabled) {
|
| config(target_name + "_public") {
|
| @@ -451,7 +454,7 @@ skia_h_headers = exec_script("gyp/find.py",
|
| action("skia.h") {
|
| script = "gn/echo_headers.py"
|
| args = [ rebase_path("$target_gen_dir/skia.h", root_build_dir) ] +
|
| - rebase_path(skia_h_headers, root_build_dir)
|
| + rebase_path(skia_h_headers, target_gen_dir)
|
| outputs = [
|
| "$target_gen_dir/skia.h",
|
| ]
|
| @@ -465,202 +468,203 @@ executable("fiddle") {
|
| }
|
|
|
| sources = [
|
| + "src/images/SkForceLinking.cpp",
|
| "tools/fiddle/draw.cpp",
|
| "tools/fiddle/fiddle_main.cpp",
|
| ]
|
| deps = [
|
| ":skia",
|
| ":skia.h",
|
| - ":tool_utils",
|
| ]
|
| - testonly = true
|
| }
|
|
|
| -template("test_lib") {
|
| - config(target_name + "_config") {
|
| - include_dirs = invoker.public_include_dirs
|
| +# Targets guarded by skia_enable_tools may use //third_party freely.
|
| +if (skia_enable_tools) {
|
| + template("test_lib") {
|
| + config(target_name + "_config") {
|
| + include_dirs = invoker.public_include_dirs
|
| + }
|
| + source_set(target_name) {
|
| + forward_variables_from(invoker, "*", [ "public_include_dirs" ])
|
| + public_configs = [
|
| + ":" + target_name + "_config",
|
| + ":skia_private",
|
| + ]
|
| +
|
| + if (!defined(deps)) {
|
| + deps = []
|
| + }
|
| + deps += [ ":skia" ]
|
| + testonly = true
|
| + }
|
| }
|
| - source_set(target_name) {
|
| - forward_variables_from(invoker, "*", [ "public_include_dirs" ])
|
| - public_configs = [
|
| - ":" + target_name + "_config",
|
| - ":skia_private",
|
| +
|
| + test_lib("gpu_tool_utils") {
|
| + public_include_dirs = [ "tools/gpu" ]
|
| + sources = [
|
| + "tools/gpu/GrContextFactory.cpp",
|
| + "tools/gpu/GrTest.cpp",
|
| + "tools/gpu/TestContext.cpp",
|
| + "tools/gpu/gl/GLTestContext.cpp",
|
| + "tools/gpu/gl/debug/DebugGLTestContext.cpp",
|
| + "tools/gpu/gl/debug/GrBufferObj.cpp",
|
| + "tools/gpu/gl/debug/GrFrameBufferObj.cpp",
|
| + "tools/gpu/gl/debug/GrProgramObj.cpp",
|
| + "tools/gpu/gl/debug/GrShaderObj.cpp",
|
| + "tools/gpu/gl/debug/GrTextureObj.cpp",
|
| + "tools/gpu/gl/debug/GrTextureUnitObj.cpp",
|
| + "tools/gpu/gl/null/NullGLTestContext.cpp",
|
| ]
|
| + libs = []
|
|
|
| - if (!defined(deps)) {
|
| - deps = []
|
| + if (is_linux) {
|
| + sources += [ "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp" ]
|
| + } else if (is_mac) {
|
| + sources += [ "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp" ]
|
| }
|
| - deps += [ ":skia" ]
|
| - testonly = true
|
| }
|
| -}
|
| -
|
| -test_lib("gpu_tool_utils") {
|
| - public_include_dirs = [ "tools/gpu" ]
|
| - sources = [
|
| - "tools/gpu/GrContextFactory.cpp",
|
| - "tools/gpu/GrTest.cpp",
|
| - "tools/gpu/TestContext.cpp",
|
| - "tools/gpu/gl/GLTestContext.cpp",
|
| - "tools/gpu/gl/debug/DebugGLTestContext.cpp",
|
| - "tools/gpu/gl/debug/GrBufferObj.cpp",
|
| - "tools/gpu/gl/debug/GrFrameBufferObj.cpp",
|
| - "tools/gpu/gl/debug/GrProgramObj.cpp",
|
| - "tools/gpu/gl/debug/GrShaderObj.cpp",
|
| - "tools/gpu/gl/debug/GrTextureObj.cpp",
|
| - "tools/gpu/gl/debug/GrTextureUnitObj.cpp",
|
| - "tools/gpu/gl/null/NullGLTestContext.cpp",
|
| - ]
|
| - libs = []
|
|
|
| - if (is_linux) {
|
| - sources += [ "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp" ]
|
| - } else if (is_mac) {
|
| - sources += [ "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp" ]
|
| + test_lib("flags") {
|
| + public_include_dirs = [ "tools/flags" ]
|
| + sources = [
|
| + "tools/flags/SkCommandLineFlags.cpp",
|
| + "tools/flags/SkCommonFlags.cpp",
|
| + "tools/flags/SkCommonFlagsConfig.cpp",
|
| + ]
|
| + deps = [
|
| + ":gpu_tool_utils",
|
| + ]
|
| }
|
| -}
|
| -
|
| -test_lib("flags") {
|
| - public_include_dirs = [ "tools/flags" ]
|
| - sources = [
|
| - "tools/flags/SkCommandLineFlags.cpp",
|
| - "tools/flags/SkCommonFlags.cpp",
|
| - "tools/flags/SkCommonFlagsConfig.cpp",
|
| - ]
|
| - deps = [
|
| - ":gpu_tool_utils",
|
| - ]
|
| -}
|
|
|
| -test_lib("tool_utils") {
|
| - public_include_dirs = [
|
| - "tools",
|
| - "tools/debugger",
|
| - "tools/timer",
|
| - ]
|
| - sources = [
|
| - "src/images/SkForceLinking.cpp",
|
| - "src/utils/SkMultiPictureDocumentReader.cpp", # TODO(halcanary): move to tools?
|
| - "tools/CrashHandler.cpp",
|
| - "tools/ProcStats.cpp",
|
| - "tools/Resources.cpp",
|
| - "tools/ThermalManager.cpp",
|
| - "tools/UrlDataManager.cpp",
|
| - "tools/debugger/SkDebugCanvas.cpp",
|
| - "tools/debugger/SkDrawCommand.cpp",
|
| - "tools/debugger/SkJsonWriteBuffer.cpp",
|
| - "tools/debugger/SkObjectParser.cpp",
|
| - "tools/debugger/SkOverdrawMode.cpp",
|
| - "tools/picture_utils.cpp",
|
| - "tools/random_parse_path.cpp",
|
| - "tools/sk_tool_utils.cpp",
|
| - "tools/sk_tool_utils_font.cpp",
|
| - "tools/timer/Timer.cpp",
|
| - ]
|
| - deps = [
|
| - ":flags",
|
| - "//third_party/libpng",
|
| - ]
|
| - public_deps = [
|
| - "//third_party/jsoncpp",
|
| - ]
|
| -}
|
| + test_lib("tool_utils") {
|
| + public_include_dirs = [
|
| + "tools",
|
| + "tools/debugger",
|
| + "tools/timer",
|
| + ]
|
| + sources = [
|
| + "src/images/SkForceLinking.cpp",
|
| + "src/utils/SkMultiPictureDocumentReader.cpp", # TODO(halcanary): move to tools?
|
| + "tools/CrashHandler.cpp",
|
| + "tools/ProcStats.cpp",
|
| + "tools/Resources.cpp",
|
| + "tools/ThermalManager.cpp",
|
| + "tools/UrlDataManager.cpp",
|
| + "tools/debugger/SkDebugCanvas.cpp",
|
| + "tools/debugger/SkDrawCommand.cpp",
|
| + "tools/debugger/SkJsonWriteBuffer.cpp",
|
| + "tools/debugger/SkObjectParser.cpp",
|
| + "tools/debugger/SkOverdrawMode.cpp",
|
| + "tools/picture_utils.cpp",
|
| + "tools/random_parse_path.cpp",
|
| + "tools/sk_tool_utils.cpp",
|
| + "tools/sk_tool_utils_font.cpp",
|
| + "tools/timer/Timer.cpp",
|
| + ]
|
| + deps = [
|
| + ":flags",
|
| + "//third_party/libpng",
|
| + ]
|
| + public_deps = [
|
| + "//third_party/jsoncpp",
|
| + ]
|
| + }
|
|
|
| -gm_sources = exec_script("gyp/find.py",
|
| - [
|
| - "*.c*",
|
| - rebase_path("gm"),
|
| - ],
|
| - "list lines",
|
| - [])
|
| -test_lib("gm") {
|
| - public_include_dirs = [ "gm" ]
|
| - sources = gm_sources
|
| - deps = [
|
| - ":gpu_tool_utils",
|
| - ":skia",
|
| - ":tool_utils",
|
| - ]
|
| -}
|
| + gm_sources = exec_script("gyp/find.py",
|
| + [
|
| + "*.c*",
|
| + rebase_path("gm"),
|
| + ],
|
| + "list lines",
|
| + [])
|
| + test_lib("gm") {
|
| + public_include_dirs = [ "gm" ]
|
| + sources = gm_sources
|
| + deps = [
|
| + ":gpu_tool_utils",
|
| + ":skia",
|
| + ":tool_utils",
|
| + ]
|
| + }
|
|
|
| -tests_sources = exec_script("gyp/find.py",
|
| - [
|
| - "*.c*",
|
| - rebase_path("tests"),
|
| - ],
|
| - "list lines",
|
| - [])
|
| -
|
| -test_lib("tests") {
|
| - public_include_dirs = [ "tests" ]
|
| - sources = tests_sources - [
|
| - rebase_path("tests/FontMgrAndroidParserTest.cpp"), # Android only
|
| - rebase_path("tests/PathOpsSkpClipTest.cpp"), # alternate main
|
| - rebase_path("tests/SkSLErrorTest.cpp"), # TODO: make work
|
| - rebase_path("tests/SkSLGLSLTest.cpp"), # TODO: make work
|
| - rebase_path("tests/SkpSkGrTest.cpp"), # doesn't compile
|
| - rebase_path("tests/skia_test.cpp"), # alternate main
|
| - ]
|
| - deps = [
|
| - ":flags",
|
| - ":gpu_tool_utils",
|
| - ":skia",
|
| - ":tool_utils",
|
| - "//third_party/libpng",
|
| - "//third_party/zlib",
|
| - ]
|
| -}
|
| + tests_sources = exec_script("gyp/find.py",
|
| + [
|
| + "*.c*",
|
| + rebase_path("tests"),
|
| + ],
|
| + "list lines",
|
| + [])
|
| +
|
| + test_lib("tests") {
|
| + public_include_dirs = [ "tests" ]
|
| + sources =
|
| + tests_sources - [
|
| + rebase_path("tests/FontMgrAndroidParserTest.cpp"), # Android only
|
| + rebase_path("tests/PathOpsSkpClipTest.cpp"), # alternate main
|
| + rebase_path("tests/SkSLErrorTest.cpp"), # TODO: make work
|
| + rebase_path("tests/SkSLGLSLTest.cpp"), # TODO: make work
|
| + rebase_path("tests/SkpSkGrTest.cpp"), # doesn't compile
|
| + rebase_path("tests/skia_test.cpp"), # alternate main
|
| + ]
|
| + deps = [
|
| + ":flags",
|
| + ":gpu_tool_utils",
|
| + ":skia",
|
| + ":tool_utils",
|
| + "//third_party/libpng",
|
| + "//third_party/zlib",
|
| + ]
|
| + }
|
|
|
| -bench_sources = exec_script("gyp/find.py",
|
| - [
|
| - "*.c*",
|
| - rebase_path("bench"),
|
| - ],
|
| - "list lines",
|
| - [])
|
| -
|
| -test_lib("bench") {
|
| - public_include_dirs = [ "bench" ]
|
| - sources = bench_sources
|
| - sources -= [
|
| - rebase_path("bench/nanobench.cpp"),
|
| - rebase_path("bench/nanobenchAndroid.cpp"),
|
| - ]
|
| - deps = [
|
| - ":flags",
|
| - ":gm",
|
| - ":gpu_tool_utils",
|
| - ":skia",
|
| - ":tool_utils",
|
| - ]
|
| -}
|
| + bench_sources = exec_script("gyp/find.py",
|
| + [
|
| + "*.c*",
|
| + rebase_path("bench"),
|
| + ],
|
| + "list lines",
|
| + [])
|
| +
|
| + test_lib("bench") {
|
| + public_include_dirs = [ "bench" ]
|
| + sources = bench_sources
|
| + sources -= [
|
| + rebase_path("bench/nanobench.cpp"),
|
| + rebase_path("bench/nanobenchAndroid.cpp"),
|
| + ]
|
| + deps = [
|
| + ":flags",
|
| + ":gm",
|
| + ":gpu_tool_utils",
|
| + ":skia",
|
| + ":tool_utils",
|
| + ]
|
| + }
|
|
|
| -test_lib("experimental_svg_model") {
|
| - public_include_dirs = [ "experimental/svg/model" ]
|
| - sources = [
|
| - "experimental/svg/model/SkSVGAttribute.cpp",
|
| - "experimental/svg/model/SkSVGAttributeParser.cpp",
|
| - "experimental/svg/model/SkSVGCircle.cpp",
|
| - "experimental/svg/model/SkSVGContainer.cpp",
|
| - "experimental/svg/model/SkSVGDOM.cpp",
|
| - "experimental/svg/model/SkSVGEllipse.cpp",
|
| - "experimental/svg/model/SkSVGLine.cpp",
|
| - "experimental/svg/model/SkSVGNode.cpp",
|
| - "experimental/svg/model/SkSVGPath.cpp",
|
| - "experimental/svg/model/SkSVGPoly.cpp",
|
| - "experimental/svg/model/SkSVGRect.cpp",
|
| - "experimental/svg/model/SkSVGRenderContext.cpp",
|
| - "experimental/svg/model/SkSVGSVG.cpp",
|
| - "experimental/svg/model/SkSVGShape.cpp",
|
| - "experimental/svg/model/SkSVGTransformableNode.cpp",
|
| - "experimental/svg/model/SkSVGValue.cpp",
|
| - ]
|
| - deps = [
|
| - ":skia",
|
| - ]
|
| -}
|
| + test_lib("experimental_svg_model") {
|
| + public_include_dirs = [ "experimental/svg/model" ]
|
| + sources = [
|
| + "experimental/svg/model/SkSVGAttribute.cpp",
|
| + "experimental/svg/model/SkSVGAttributeParser.cpp",
|
| + "experimental/svg/model/SkSVGCircle.cpp",
|
| + "experimental/svg/model/SkSVGContainer.cpp",
|
| + "experimental/svg/model/SkSVGDOM.cpp",
|
| + "experimental/svg/model/SkSVGEllipse.cpp",
|
| + "experimental/svg/model/SkSVGLine.cpp",
|
| + "experimental/svg/model/SkSVGNode.cpp",
|
| + "experimental/svg/model/SkSVGPath.cpp",
|
| + "experimental/svg/model/SkSVGPoly.cpp",
|
| + "experimental/svg/model/SkSVGRect.cpp",
|
| + "experimental/svg/model/SkSVGRenderContext.cpp",
|
| + "experimental/svg/model/SkSVGSVG.cpp",
|
| + "experimental/svg/model/SkSVGShape.cpp",
|
| + "experimental/svg/model/SkSVGTransformableNode.cpp",
|
| + "experimental/svg/model/SkSVGValue.cpp",
|
| + ]
|
| + deps = [
|
| + ":skia",
|
| + ]
|
| + }
|
|
|
| -if (!is_component_build) { # Our test tools use many non-SK_API APIs...
|
| executable("dm") {
|
| sources = [
|
| "dm/DM.cpp",
|
|
|