BUILD.gn revision 5259da5377a27298939fcef677851d46c75badde
1c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Copyright 2016 Google Inc.
2c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein#
3c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Use of this source code is governed by a BSD-style license that can be
4c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# found in the LICENSE file.
5c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
6c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleindeclare_args() {
7c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
8c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
91211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinskia_public_includes = [
1025c81d4e651b43b8217c365c87d530036529a673mtklein  "include/android",
11fa84d94bb0b226f81b7eaa411aabbbaec3d180cbmtklein  "include/c",
121211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  "include/codec",
131211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  "include/config",
141211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  "include/core",
151211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  "include/effects",
161211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  "include/gpu",
171211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  "include/gpu/gl",
181211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  "include/images",
191211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  "include/pathops",
201211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  "include/ports",
2125c81d4e651b43b8217c365c87d530036529a673mtklein  "include/svg",
221211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  "include/utils",
231211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  "include/utils/mac",
2425c81d4e651b43b8217c365c87d530036529a673mtklein  "include/xml",
251211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein]
261211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein
27c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia public API, generally provided by :skia.
28c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_public") {
291211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  include_dirs = skia_public_includes
30c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  defines = [ "SKIA_DLL" ]
31c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
32c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
33c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Skia internal APIs, used by Skia itself and a few test tools.
34c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_private") {
35c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  visibility = [ ":*" ]
36c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
37c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  include_dirs = [
38c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "include/private",
39c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/c",
401211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec",
41c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/config",
42c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/core",
43c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/effects",
4425c81d4e651b43b8217c365c87d530036529a673mtklein    "src/effects/gradients",
4525c81d4e651b43b8217c365c87d530036529a673mtklein    "src/fonts",
46c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/gpu",
47c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/image",
48c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/images",
49c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/lazy",
50c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/opts",
51c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/pathops",
522b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/pdf",
53c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/ports",
54c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/sfnt",
55c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/utils",
56c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "third_party/etc1",
57c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "third_party/ktx",
58c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ]
59150d113db56dc55b5e78f32febfb1e3b7c350611mtklein
60150d113db56dc55b5e78f32febfb1e3b7c350611mtklein  defines = [
619be6866e95127b3ad55badfecd471f67e6f4612bmtklein    "SK_GAMMA_APPLY_TO_A8",
629be6866e95127b3ad55badfecd471f67e6f4612bmtklein
63150d113db56dc55b5e78f32febfb1e3b7c350611mtklein    "SK_HAS_GIF_LIBRARY",
64150d113db56dc55b5e78f32febfb1e3b7c350611mtklein    "SK_HAS_JPEG_LIBRARY",
65150d113db56dc55b5e78f32febfb1e3b7c350611mtklein    "SK_HAS_PNG_LIBRARY",
66150d113db56dc55b5e78f32febfb1e3b7c350611mtklein    "SK_HAS_WEBP_LIBRARY",
677c1ae7af4ff3912bdb518ac21571225155ece365mtklein
687c1ae7af4ff3912bdb518ac21571225155ece365mtklein    "TURBO_HAS_565",
697c1ae7af4ff3912bdb518ac21571225155ece365mtklein    "TURBO_HAS_CROP",
707c1ae7af4ff3912bdb518ac21571225155ece365mtklein    "TURBO_HAS_SKIP",
71150d113db56dc55b5e78f32febfb1e3b7c350611mtklein  ]
72c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
73c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
74c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Any code that's linked into Skia-the-library should use this config via += skia_library_configs.
75c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_library") {
76c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  visibility = [ ":*" ]
77c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  defines = [ "SKIA_IMPLEMENTATION=1" ]
78c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
79c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
80c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinskia_library_configs = [
81c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ":skia_public",
82c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ":skia_private",
83c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ":skia_library",
84c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein]
85c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
867fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtkleincore_gypi = exec_script("gn/gypi_to_gn.py",
87c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        [
88c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                          rebase_path("gyp/core.gypi"),
89c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                          "--replace=<(skia_include_path)=include",
90c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                          "--replace=<(skia_src_path)=src",
91c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        ],
92c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        "scope",
93c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        [ "gyp/core.gypi" ])
94c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
957fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtkleineffects_gypi = exec_script("gn/gypi_to_gn.py",
96c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           [
97c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                             rebase_path("gyp/effects.gypi"),
98c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                             "--replace=<(skia_include_path)=include",
99c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                             "--replace=<(skia_src_path)=src",
100c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           ],
101c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           "scope",
102c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           [ "gyp/effects.gypi" ])
103c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
1047fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtkleingpu_gypi = exec_script("gn/gypi_to_gn.py",
105c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       [
106c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         rebase_path("gyp/gpu.gypi"),
107c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         "--replace=<(skia_include_path)=include",
108c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         "--replace=<(skia_src_path)=src",
109c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       ],
110c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       "scope",
111c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       [ "gyp/gpu.gypi" ])
112c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
1137fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtkleinopts_gypi = exec_script("gn/gypi_to_gn.py",
114c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        [
115c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                          rebase_path("gyp/opts.gypi"),
116c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                          "--replace=<(skia_include_path)=include",
117c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                          "--replace=<(skia_src_path)=src",
118c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        ],
119c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        "scope",
120c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        [ "gyp/opts.gypi" ])
121c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
1227fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtkleinpdf_gypi = exec_script("gn/gypi_to_gn.py",
123c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       [
124c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         rebase_path("gyp/pdf.gypi"),
125c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         "--replace=<(skia_include_path)=include",
126c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         "--replace=<(skia_src_path)=src",
127c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       ],
128c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       "scope",
129c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       [ "gyp/pdf.gypi" ])
130c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
1317fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtkleinutils_gypi = exec_script("gn/gypi_to_gn.py",
132c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         [
133c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           rebase_path("gyp/utils.gypi"),
134c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           "--replace=<(skia_include_path)=include",
135c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           "--replace=<(skia_src_path)=src",
136c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         ],
137c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         "scope",
138c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         [ "gyp/utils.gypi" ])
139c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
140c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinsource_set("opts_ssse3") {
141c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  configs += skia_library_configs
142c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
143c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources = opts_gypi.ssse3_sources
144c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  cflags = [ "-mssse3" ]
145c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
146c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
147c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinsource_set("opts_sse41") {
148c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  configs += skia_library_configs
149c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
150c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources = opts_gypi.sse41_sources
151c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  cflags = [ "-msse4.1" ]
152c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
153c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
154c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinsource_set("opts_avx") {
155c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  configs += skia_library_configs
156c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
157c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources = opts_gypi.avx_sources
158c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  cflags = [ "-mavx" ]
159c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
160c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
161c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleincomponent("skia") {
162c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  public_configs = [ ":skia_public" ]
163c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  configs += skia_library_configs
164c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
165c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  deps = [
166c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ":opts_avx",
167c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ":opts_sse41",
168c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ":opts_ssse3",
16925c81d4e651b43b8217c365c87d530036529a673mtklein    "//third_party/expat",
17025c81d4e651b43b8217c365c87d530036529a673mtklein    "//third_party/giflib",
1717d10b9f6e61ce8cb5387291580c1c0645f72b167mtklein    "//third_party/libjpeg_turbo",
1727d10b9f6e61ce8cb5387291580c1c0645f72b167mtklein    "//third_party/libpng",
17325c81d4e651b43b8217c365c87d530036529a673mtklein    "//third_party/libwebp",
1746fc8ff024bd823f350400a86e7b9daa1c25f618eabarth    "//third_party/zlib",
175c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ]
176c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
1777fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtklein  libs = [ "pthread" ]
178c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
179c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources = []
180c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += core_gypi.sources
181c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += effects_gypi.sources
182c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += gpu_gypi.skgpu_sources
183c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += opts_gypi.sse2_sources
184c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += pdf_gypi.sources
185c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += utils_gypi.sources
186c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += [
18725c81d4e651b43b8217c365c87d530036529a673mtklein    "src/android/SkBitmapRegionCodec.cpp",
18825c81d4e651b43b8217c365c87d530036529a673mtklein    "src/android/SkBitmapRegionDecoder.cpp",
18925c81d4e651b43b8217c365c87d530036529a673mtklein    "src/codec/SkAndroidCodec.cpp",
1901211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkBmpCodec.cpp",
1911211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkBmpMaskCodec.cpp",
1921211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkBmpRLECodec.cpp",
1931211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkBmpStandardCodec.cpp",
1941211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkCodec.cpp",
1951211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkCodecImageGenerator.cpp",
19625c81d4e651b43b8217c365c87d530036529a673mtklein    "src/codec/SkGifCodec.cpp",
1971211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkIcoCodec.cpp",
1981211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkJpegCodec.cpp",
1991211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkJpegDecoderMgr.cpp",
2001211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkJpegUtility.cpp",
2011211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkMaskSwizzler.cpp",
2021211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkMasks.cpp",
2031211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkPngCodec.cpp",
20425c81d4e651b43b8217c365c87d530036529a673mtklein    "src/codec/SkSampledCodec.cpp",
2051211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkSampler.cpp",
2061211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkSwizzler.cpp",
2071211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkWbmpCodec.cpp",
20825c81d4e651b43b8217c365c87d530036529a673mtklein    "src/codec/SkWebpAdapterCodec.cpp",
20925c81d4e651b43b8217c365c87d530036529a673mtklein    "src/codec/SkWebpCodec.cpp",
210c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/images/SkImageEncoder.cpp",
211c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/images/SkImageEncoder_Factory.cpp",
2122b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/images/SkJPEGImageEncoder.cpp",
2132b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/images/SkJPEGWriteUtility.cpp",
2142b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/images/SkKTXImageEncoder.cpp",
2152b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/images/SkPNGImageEncoder.cpp",
2162b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/images/SkWEBPImageEncoder.cpp",
217c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/ports/SkDiscardableMemory_none.cpp",
218c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/ports/SkGlobalInitialization_default.cpp",
2191211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/ports/SkImageGenerator_skia.cpp",
220c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/ports/SkMemory_malloc.cpp",
221c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/ports/SkOSFile_stdio.cpp",
222c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/sfnt/SkOTTable_name.cpp",
223c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/sfnt/SkOTUtils.cpp",
22425c81d4e651b43b8217c365c87d530036529a673mtklein    "src/svg/SkSVGCanvas.cpp",
22525c81d4e651b43b8217c365c87d530036529a673mtklein    "src/svg/SkSVGDevice.cpp",
226c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/utils/mac/SkStream_mac.cpp",
22725c81d4e651b43b8217c365c87d530036529a673mtklein    "src/xml/SkDOM.cpp",
22825c81d4e651b43b8217c365c87d530036529a673mtklein    "src/xml/SkXMLParser.cpp",
22925c81d4e651b43b8217c365c87d530036529a673mtklein    "src/xml/SkXMLWriter.cpp",
230c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "third_party/etc1/etc1.cpp",
231c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "third_party/ktx/ktx.cpp",
232c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ]
233c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
234c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  if (is_win) {
235c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    sources += [
236c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkDebug_win.cpp",
237c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontHost_win.cpp",
238c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontMgr_win_dw.cpp",
239c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontMgr_win_dw_factory.cpp",
240c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkImageEncoder_WIC.cpp",
241c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkImageGeneratorWIC.cpp",
242c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkOSFile_win.cpp",
243c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkScalerContext_win_dw.cpp",
244c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkTLS_win.cpp",
245c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkTypeface_win_dw.cpp",
24625c81d4e651b43b8217c365c87d530036529a673mtklein      "src/xps/SkDocument_XPS.cpp",
247c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ]
248c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  } else {
249c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    sources += [
250c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkDebug_stdio.cpp",
251c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkOSFile_posix.cpp",
252c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkTLS_pthread.cpp",
25325c81d4e651b43b8217c365c87d530036529a673mtklein      "src/xps/SkDocument_XPS_None.cpp",
254c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ]
255c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  }
256c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
257c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  if (is_linux) {
258c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    deps += [
259c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "third_party:fontconfig",
260c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "third_party:freetype2",
261c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ]
262c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    sources += [
263c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontConfigInterface_direct.cpp",
264c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontConfigInterface_direct_factory.cpp",
265c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontHost_FreeType.cpp",
266c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontHost_FreeType_common.cpp",
2677d0e3bc785fc5aaf2ed0aa8f37a2bc85c2f82da0bungeman      "src/ports/SkFontMgr_FontConfigInterface.cpp",
2687a34b1cd02ae65f2fb299752ebececec2b4f4285mtklein      "src/ports/SkFontMgr_fontconfig.cpp",
2697a34b1cd02ae65f2fb299752ebececec2b4f4285mtklein      "src/ports/SkFontMgr_fontconfig_factory.cpp",
270c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ]
271c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  }
272c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
273c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  if (is_mac) {
274c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    sources += [
275c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontHost_mac.cpp",
276c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkImageEncoder_CG.cpp",
277c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkImageGeneratorCG.cpp",
278c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ]
279c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    libs += [ "ApplicationServices.framework" ]
280c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  }
2816fc8ff024bd823f350400a86e7b9daa1c25f618eabarth
2826fc8ff024bd823f350400a86e7b9daa1c25f618eabarth  if (is_fuchsia) {
283e817ddf9b32200ebfd216921d172ef1342e13caemtklein    sources += [ "src/ports/SkFontMgr_empty_factory.cpp" ]
2846fc8ff024bd823f350400a86e7b9daa1c25f618eabarth  }
285c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
286c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
287ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtkleinskia_h_headers = exec_script("gyp/find.py",
288ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                             [ "*.h" ] + rebase_path(skia_public_includes),
289ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                             "list lines",
290ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                             []) -
291ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                 [
292ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                   rebase_path("include/gpu/gl/GrGLConfig_chrome.h"),
293ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                   rebase_path("include/gpu/vk/GrVkBackendContext.h"),
294ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                   rebase_path("include/gpu/vk/GrVkDefines.h"),
295ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                   rebase_path("include/gpu/vk/GrVkInterface.h"),
296ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                   rebase_path("include/gpu/vk/GrVkTypes.h"),
297ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                   rebase_path("include/ports/SkFontMgr_fontconfig.h"),
298ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                 ]
299ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein
3001211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinaction("skia.h") {
3011211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  script = "gn/echo_headers.py"
3021211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  args = [ rebase_path("$target_gen_dir/skia.h", root_build_dir) ] +
303ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein         rebase_path(skia_h_headers, root_build_dir)
3041211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  outputs = [
3051211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "$target_gen_dir/skia.h",
3061211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  ]
3071211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein}
3081211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein
3091211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinexecutable("fiddle") {
3101211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  include_dirs = [ "$target_gen_dir" ]
3117d10b9f6e61ce8cb5387291580c1c0645f72b167mtklein  libs = []
3127d10b9f6e61ce8cb5387291580c1c0645f72b167mtklein  if (is_linux) {
3137d10b9f6e61ce8cb5387291580c1c0645f72b167mtklein    libs += [ "OSMesa" ]
3147d10b9f6e61ce8cb5387291580c1c0645f72b167mtklein  }
3151211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein
316c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources = [
3171211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "tools/fiddle/draw.cpp",
3181211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "tools/fiddle/fiddle_main.cpp",
319c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ]
320c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  deps = [
321c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ":skia",
3221211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    ":skia.h",
3235dbd27484641279b53369587c93ba0566c20a161mtklein    ":tool_utils",
324c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ]
3255dbd27484641279b53369587c93ba0566c20a161mtklein  testonly = true
326c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
32725c81d4e651b43b8217c365c87d530036529a673mtklein
32825c81d4e651b43b8217c365c87d530036529a673mtkleintemplate("test_lib") {
32925c81d4e651b43b8217c365c87d530036529a673mtklein  config(target_name + "_config") {
33025c81d4e651b43b8217c365c87d530036529a673mtklein    include_dirs = invoker.public_include_dirs
33125c81d4e651b43b8217c365c87d530036529a673mtklein  }
33225c81d4e651b43b8217c365c87d530036529a673mtklein  source_set(target_name) {
33325c81d4e651b43b8217c365c87d530036529a673mtklein    forward_variables_from(invoker, "*", [ "public_include_dirs" ])
33425c81d4e651b43b8217c365c87d530036529a673mtklein    public_configs = [
33525c81d4e651b43b8217c365c87d530036529a673mtklein      ":" + target_name + "_config",
33625c81d4e651b43b8217c365c87d530036529a673mtklein      ":skia_private",
33725c81d4e651b43b8217c365c87d530036529a673mtklein    ]
33825c81d4e651b43b8217c365c87d530036529a673mtklein
33925c81d4e651b43b8217c365c87d530036529a673mtklein    if (!defined(deps)) {
34025c81d4e651b43b8217c365c87d530036529a673mtklein      deps = []
34125c81d4e651b43b8217c365c87d530036529a673mtklein    }
34225c81d4e651b43b8217c365c87d530036529a673mtklein    deps += [ ":skia" ]
34325c81d4e651b43b8217c365c87d530036529a673mtklein    testonly = true
34425c81d4e651b43b8217c365c87d530036529a673mtklein  }
34525c81d4e651b43b8217c365c87d530036529a673mtklein}
34625c81d4e651b43b8217c365c87d530036529a673mtklein
34725c81d4e651b43b8217c365c87d530036529a673mtkleintest_lib("gpu_tool_utils") {
34825c81d4e651b43b8217c365c87d530036529a673mtklein  public_include_dirs = [ "tools/gpu" ]
34925c81d4e651b43b8217c365c87d530036529a673mtklein  sources = [
35025c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/GrContextFactory.cpp",
35125c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/GrTest.cpp",
35225c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/TestContext.cpp",
35325c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/GLTestContext.cpp",
35425c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/DebugGLTestContext.cpp",
35525c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/GrBufferObj.cpp",
35625c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/GrFrameBufferObj.cpp",
35725c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/GrProgramObj.cpp",
35825c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/GrShaderObj.cpp",
35925c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/GrTextureObj.cpp",
36025c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/GrTextureUnitObj.cpp",
36125c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/null/NullGLTestContext.cpp",
36225c81d4e651b43b8217c365c87d530036529a673mtklein  ]
36325c81d4e651b43b8217c365c87d530036529a673mtklein  libs = []
36425c81d4e651b43b8217c365c87d530036529a673mtklein
36525c81d4e651b43b8217c365c87d530036529a673mtklein  if (is_linux) {
3665259da5377a27298939fcef677851d46c75baddemtklein    sources += [
3675259da5377a27298939fcef677851d46c75baddemtklein        "src/gpu/gl/glx/GrGLCreateNativeInterface_glx.cpp",
3685259da5377a27298939fcef677851d46c75baddemtklein        "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp",
3695259da5377a27298939fcef677851d46c75baddemtklein    ]
37025c81d4e651b43b8217c365c87d530036529a673mtklein    libs += [
37125c81d4e651b43b8217c365c87d530036529a673mtklein      "GL",
37225c81d4e651b43b8217c365c87d530036529a673mtklein      "GLU",
37325c81d4e651b43b8217c365c87d530036529a673mtklein      "X11",
37425c81d4e651b43b8217c365c87d530036529a673mtklein    ]
37525c81d4e651b43b8217c365c87d530036529a673mtklein  } else if (is_mac) {
3765259da5377a27298939fcef677851d46c75baddemtklein    sources += [
3775259da5377a27298939fcef677851d46c75baddemtklein        "src/gpu/gl/mac/GrGLCreateNativeInterface_mac.cpp",
3785259da5377a27298939fcef677851d46c75baddemtklein        "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp",
3795259da5377a27298939fcef677851d46c75baddemtklein    ]
38025c81d4e651b43b8217c365c87d530036529a673mtklein    libs += [ "OpenGL.framework" ]
38125c81d4e651b43b8217c365c87d530036529a673mtklein  }
38225c81d4e651b43b8217c365c87d530036529a673mtklein}
38325c81d4e651b43b8217c365c87d530036529a673mtklein
38425c81d4e651b43b8217c365c87d530036529a673mtkleintest_lib("flags") {
38525c81d4e651b43b8217c365c87d530036529a673mtklein  public_include_dirs = [ "tools/flags" ]
38625c81d4e651b43b8217c365c87d530036529a673mtklein  sources = [
38725c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/flags/SkCommandLineFlags.cpp",
38825c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/flags/SkCommonFlags.cpp",
38925c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/flags/SkCommonFlagsConfig.cpp",
39025c81d4e651b43b8217c365c87d530036529a673mtklein  ]
39125c81d4e651b43b8217c365c87d530036529a673mtklein  deps = [
39225c81d4e651b43b8217c365c87d530036529a673mtklein    ":gpu_tool_utils",
39325c81d4e651b43b8217c365c87d530036529a673mtklein  ]
39425c81d4e651b43b8217c365c87d530036529a673mtklein}
39525c81d4e651b43b8217c365c87d530036529a673mtklein
39625c81d4e651b43b8217c365c87d530036529a673mtkleintest_lib("tool_utils") {
39725c81d4e651b43b8217c365c87d530036529a673mtklein  public_include_dirs = [
39825c81d4e651b43b8217c365c87d530036529a673mtklein    "tools",
3992f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    "tools/debugger",
40025c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/timer",
40125c81d4e651b43b8217c365c87d530036529a673mtklein  ]
40225c81d4e651b43b8217c365c87d530036529a673mtklein  sources = [
4032b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/images/SkForceLinking.cpp",
40425c81d4e651b43b8217c365c87d530036529a673mtklein    "src/utils/SkMultiPictureDocumentReader.cpp",  # TODO(halcanary): move to tools?
4052b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "tools/CrashHandler.cpp",
40625c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/ProcStats.cpp",
40725c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/Resources.cpp",
4082b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "tools/ThermalManager.cpp",
4092f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    "tools/UrlDataManager.cpp",
4102f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    "tools/debugger/SkDebugCanvas.cpp",
4112f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    "tools/debugger/SkDrawCommand.cpp",
4122f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    "tools/debugger/SkJsonWriteBuffer.cpp",
4132f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    "tools/debugger/SkObjectParser.cpp",
4142f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    "tools/debugger/SkOverdrawMode.cpp",
41525c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/picture_utils.cpp",
41625c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/random_parse_path.cpp",
41725c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/sk_tool_utils.cpp",
41825c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/sk_tool_utils_font.cpp",
41925c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/timer/Timer.cpp",
42025c81d4e651b43b8217c365c87d530036529a673mtklein  ]
42125c81d4e651b43b8217c365c87d530036529a673mtklein  deps = [
42225c81d4e651b43b8217c365c87d530036529a673mtklein    ":flags",
4232f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    "//third_party/libpng",
4242f3416d2befb9480b7faf461530fd9044f77e6cdmtklein  ]
4252f3416d2befb9480b7faf461530fd9044f77e6cdmtklein  public_deps = [
4262f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    "//third_party/jsoncpp",
42725c81d4e651b43b8217c365c87d530036529a673mtklein  ]
42825c81d4e651b43b8217c365c87d530036529a673mtklein}
42925c81d4e651b43b8217c365c87d530036529a673mtklein
43025c81d4e651b43b8217c365c87d530036529a673mtkleingm_sources = exec_script("gyp/find.py",
43125c81d4e651b43b8217c365c87d530036529a673mtklein                         [
43225c81d4e651b43b8217c365c87d530036529a673mtklein                           "*.c*",
433ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                           rebase_path("gm"),
43425c81d4e651b43b8217c365c87d530036529a673mtklein                         ],
43525c81d4e651b43b8217c365c87d530036529a673mtklein                         "list lines",
43625c81d4e651b43b8217c365c87d530036529a673mtklein                         [])
43725c81d4e651b43b8217c365c87d530036529a673mtkleintest_lib("gm") {
43825c81d4e651b43b8217c365c87d530036529a673mtklein  public_include_dirs = [ "gm" ]
43925c81d4e651b43b8217c365c87d530036529a673mtklein  sources = gm_sources
44025c81d4e651b43b8217c365c87d530036529a673mtklein  deps = [
44125c81d4e651b43b8217c365c87d530036529a673mtklein    ":gpu_tool_utils",
44225c81d4e651b43b8217c365c87d530036529a673mtklein    ":skia",
44325c81d4e651b43b8217c365c87d530036529a673mtklein    ":tool_utils",
44425c81d4e651b43b8217c365c87d530036529a673mtklein  ]
44525c81d4e651b43b8217c365c87d530036529a673mtklein}
44625c81d4e651b43b8217c365c87d530036529a673mtklein
4472f3416d2befb9480b7faf461530fd9044f77e6cdmtkleintests_sources = exec_script("gyp/find.py",
4482f3416d2befb9480b7faf461530fd9044f77e6cdmtklein                            [
4492f3416d2befb9480b7faf461530fd9044f77e6cdmtklein                              "*.c*",
4502f3416d2befb9480b7faf461530fd9044f77e6cdmtklein                              rebase_path("tests"),
4512f3416d2befb9480b7faf461530fd9044f77e6cdmtklein                            ],
4522f3416d2befb9480b7faf461530fd9044f77e6cdmtklein                            "list lines",
4532f3416d2befb9480b7faf461530fd9044f77e6cdmtklein                            [])
4542f3416d2befb9480b7faf461530fd9044f77e6cdmtklein
4552f3416d2befb9480b7faf461530fd9044f77e6cdmtkleintest_lib("tests") {
4562f3416d2befb9480b7faf461530fd9044f77e6cdmtklein  public_include_dirs = [ "tests" ]
4572f3416d2befb9480b7faf461530fd9044f77e6cdmtklein  sources = tests_sources - [
4582f3416d2befb9480b7faf461530fd9044f77e6cdmtklein              rebase_path("tests/FontMgrAndroidParserTest.cpp"),  # Android only
4592f3416d2befb9480b7faf461530fd9044f77e6cdmtklein              rebase_path("tests/PathOpsSkpClipTest.cpp"),  # alternate main
4602f3416d2befb9480b7faf461530fd9044f77e6cdmtklein              rebase_path("tests/RTConfRegistryTest.cpp"),  # TODO: delete
4612f3416d2befb9480b7faf461530fd9044f77e6cdmtklein              rebase_path("tests/SkSLErrorTest.cpp"),   # TODO: make work
4622f3416d2befb9480b7faf461530fd9044f77e6cdmtklein              rebase_path("tests/SkpSkGrTest.cpp"),  # doesn't compile
4632f3416d2befb9480b7faf461530fd9044f77e6cdmtklein              rebase_path("tests/skia_test.cpp"),  # alternate main
4642f3416d2befb9480b7faf461530fd9044f77e6cdmtklein            ]
4652f3416d2befb9480b7faf461530fd9044f77e6cdmtklein  deps = [
4662f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    ":flags",
4672f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    ":gpu_tool_utils",
4682f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    ":skia",
4692f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    ":tool_utils",
4702f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    "//third_party/libpng",
4712f3416d2befb9480b7faf461530fd9044f77e6cdmtklein    "//third_party/zlib",
4722f3416d2befb9480b7faf461530fd9044f77e6cdmtklein  ]
4732f3416d2befb9480b7faf461530fd9044f77e6cdmtklein}
4742f3416d2befb9480b7faf461530fd9044f77e6cdmtklein
4752b6870ccb21f0dbcfb17644e9badfb1d07009315mtkleinbench_sources = exec_script("gyp/find.py",
4762b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein                            [
4772b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein                              "*.c*",
478ada5a44f3bdac10a8a0c53b34f5add7aea9fdbb0mtklein                              rebase_path("bench"),
4792b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein                            ],
4802b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein                            "list lines",
4812b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein                            [])
4822b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein
4832b6870ccb21f0dbcfb17644e9badfb1d07009315mtkleintest_lib("bench") {
4842b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  public_include_dirs = [ "bench" ]
4852b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  sources = bench_sources
4862b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  sources -= [
4872b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    rebase_path("bench/nanobench.cpp"),
4882b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    rebase_path("bench/nanobenchAndroid.cpp"),
4892b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  ]
4902b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  deps = [
4912b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ":flags",
4922b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ":gm",
4932b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ":gpu_tool_utils",
4942b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ":skia",
4952b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ":tool_utils",
4962b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  ]
4972b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein}
4982b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein
4992b6870ccb21f0dbcfb17644e9badfb1d07009315mtkleinif (!is_component_build) {  # Our test tools use many non-SK_API APIs...
5002b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  executable("dm") {
5012b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    sources = [
5022b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "dm/DM.cpp",
5032b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "dm/DMJsonWriter.cpp",
5042b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "dm/DMSrcSink.cpp",
5052b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ]
5062b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    include_dirs = [ "tests" ]
5072b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    deps = [
5082b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":flags",
5092b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":gm",
5102b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":gpu_tool_utils",
5112b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":skia",
5122f3416d2befb9480b7faf461530fd9044f77e6cdmtklein      ":tests",
5132b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":tool_utils",
5142b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "//third_party/jsoncpp",
5152b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "//third_party/libpng",
5162b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ]
5172b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    testonly = true
5182b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  }
5192b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein
5202b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  executable("monobench") {
5212b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    sources = [
5222b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "tools/monobench.cpp",
5232b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ]
5242b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    deps = [
5252b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":bench",
5262b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":skia",
5272b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ]
5282b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    testonly = true
5292b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  }
5302b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein
5312b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  executable("nanobench") {
5322b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    sources = [
5332b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "bench/nanobench.cpp",
5342b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ]
5352b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    deps = [
5362b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":bench",
5372b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":flags",
5382b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":gm",
5392b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":gpu_tool_utils",
5402b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":skia",
5412b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":tool_utils",
5422b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "//third_party/jsoncpp",
5432b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ]
5442b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    testonly = true
5452b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  }
54625c81d4e651b43b8217c365c87d530036529a673mtklein}
547