BUILD.gn revision 7d0e3bc785fc5aaf2ed0aa8f37a2bc85c2f82da0
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_SRGB",
629be6866e95127b3ad55badfecd471f67e6f4612bmtklein    "SK_GAMMA_APPLY_TO_A8",
639be6866e95127b3ad55badfecd471f67e6f4612bmtklein
64150d113db56dc55b5e78f32febfb1e3b7c350611mtklein    "SK_HAS_GIF_LIBRARY",
65150d113db56dc55b5e78f32febfb1e3b7c350611mtklein    "SK_HAS_JPEG_LIBRARY",
66150d113db56dc55b5e78f32febfb1e3b7c350611mtklein    "SK_HAS_PNG_LIBRARY",
67150d113db56dc55b5e78f32febfb1e3b7c350611mtklein    "SK_HAS_WEBP_LIBRARY",
687c1ae7af4ff3912bdb518ac21571225155ece365mtklein
697c1ae7af4ff3912bdb518ac21571225155ece365mtklein    "TURBO_HAS_565",
707c1ae7af4ff3912bdb518ac21571225155ece365mtklein    "TURBO_HAS_CROP",
717c1ae7af4ff3912bdb518ac21571225155ece365mtklein    "TURBO_HAS_SKIP",
72150d113db56dc55b5e78f32febfb1e3b7c350611mtklein  ]
73c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
74c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
75c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein# Any code that's linked into Skia-the-library should use this config via += skia_library_configs.
76c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinconfig("skia_library") {
77c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  visibility = [ ":*" ]
78c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  defines = [ "SKIA_IMPLEMENTATION=1" ]
79c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
80c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
81c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinskia_library_configs = [
82c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ":skia_public",
83c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ":skia_private",
84c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ":skia_library",
85c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein]
86c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
877fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtkleincore_gypi = exec_script("gn/gypi_to_gn.py",
88c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        [
89c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                          rebase_path("gyp/core.gypi"),
90c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                          "--replace=<(skia_include_path)=include",
91c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                          "--replace=<(skia_src_path)=src",
92c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        ],
93c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        "scope",
94c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        [ "gyp/core.gypi" ])
95c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
967fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtkleineffects_gypi = exec_script("gn/gypi_to_gn.py",
97c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           [
98c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                             rebase_path("gyp/effects.gypi"),
99c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                             "--replace=<(skia_include_path)=include",
100c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                             "--replace=<(skia_src_path)=src",
101c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           ],
102c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           "scope",
103c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           [ "gyp/effects.gypi" ])
104c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
1057fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtkleingpu_gypi = exec_script("gn/gypi_to_gn.py",
106c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       [
107c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         rebase_path("gyp/gpu.gypi"),
108c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         "--replace=<(skia_include_path)=include",
109c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         "--replace=<(skia_src_path)=src",
110c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       ],
111c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       "scope",
112c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       [ "gyp/gpu.gypi" ])
113c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
1147fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtkleinopts_gypi = exec_script("gn/gypi_to_gn.py",
115c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        [
116c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                          rebase_path("gyp/opts.gypi"),
117c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                          "--replace=<(skia_include_path)=include",
118c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                          "--replace=<(skia_src_path)=src",
119c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        ],
120c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        "scope",
121c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                        [ "gyp/opts.gypi" ])
122c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
1237fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtkleinpdf_gypi = exec_script("gn/gypi_to_gn.py",
124c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       [
125c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         rebase_path("gyp/pdf.gypi"),
126c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         "--replace=<(skia_include_path)=include",
127c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         "--replace=<(skia_src_path)=src",
128c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       ],
129c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       "scope",
130c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                       [ "gyp/pdf.gypi" ])
131c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
1327fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtkleinutils_gypi = exec_script("gn/gypi_to_gn.py",
133c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         [
134c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           rebase_path("gyp/utils.gypi"),
135c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           "--replace=<(skia_include_path)=include",
136c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                           "--replace=<(skia_src_path)=src",
137c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         ],
138c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         "scope",
139c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein                         [ "gyp/utils.gypi" ])
140c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
141c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinsource_set("opts_ssse3") {
142c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  configs += skia_library_configs
143c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
144c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources = opts_gypi.ssse3_sources
145c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  cflags = [ "-mssse3" ]
146c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
147c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
148c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinsource_set("opts_sse41") {
149c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  configs += skia_library_configs
150c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
151c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources = opts_gypi.sse41_sources
152c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  cflags = [ "-msse4.1" ]
153c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
154c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
155c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleinsource_set("opts_avx") {
156c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  configs += skia_library_configs
157c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
158c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources = opts_gypi.avx_sources
159c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  cflags = [ "-mavx" ]
160c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
161c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
162c04ff4788cb425db6d9bec0bde4edb14aec97f16mtkleincomponent("skia") {
163c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  public_configs = [ ":skia_public" ]
164c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  configs += skia_library_configs
165c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
166c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  deps = [
167c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ":opts_avx",
168c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ":opts_sse41",
169c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ":opts_ssse3",
17025c81d4e651b43b8217c365c87d530036529a673mtklein    "//third_party/expat",
17125c81d4e651b43b8217c365c87d530036529a673mtklein    "//third_party/giflib",
1727d10b9f6e61ce8cb5387291580c1c0645f72b167mtklein    "//third_party/libjpeg_turbo",
1737d10b9f6e61ce8cb5387291580c1c0645f72b167mtklein    "//third_party/libpng",
17425c81d4e651b43b8217c365c87d530036529a673mtklein    "//third_party/libwebp",
1756fc8ff024bd823f350400a86e7b9daa1c25f618eabarth    "//third_party/zlib",
176c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ]
177c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
1787fbfbbe8f435fde7233c78f4f2dd1efb4fdd324cmtklein  libs = [ "pthread" ]
179c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
180c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources = []
181c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += core_gypi.sources
182c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += effects_gypi.sources
183c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += gpu_gypi.skgpu_sources
184c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += opts_gypi.sse2_sources
185c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += pdf_gypi.sources
186c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += utils_gypi.sources
187c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources += [
18825c81d4e651b43b8217c365c87d530036529a673mtklein    "src/android/SkBitmapRegionCodec.cpp",
18925c81d4e651b43b8217c365c87d530036529a673mtklein    "src/android/SkBitmapRegionDecoder.cpp",
19025c81d4e651b43b8217c365c87d530036529a673mtklein    "src/codec/SkAndroidCodec.cpp",
1911211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkBmpCodec.cpp",
1921211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkBmpMaskCodec.cpp",
1931211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkBmpRLECodec.cpp",
1941211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkBmpStandardCodec.cpp",
1951211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkCodec.cpp",
1961211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkCodecImageGenerator.cpp",
19725c81d4e651b43b8217c365c87d530036529a673mtklein    "src/codec/SkGifCodec.cpp",
1981211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkIcoCodec.cpp",
1991211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkJpegCodec.cpp",
2001211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkJpegDecoderMgr.cpp",
2011211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkJpegUtility.cpp",
2021211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkMaskSwizzler.cpp",
2031211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkMasks.cpp",
2041211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkPngCodec.cpp",
20525c81d4e651b43b8217c365c87d530036529a673mtklein    "src/codec/SkSampledCodec.cpp",
2061211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkSampler.cpp",
2071211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkSwizzler.cpp",
2081211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/codec/SkWbmpCodec.cpp",
20925c81d4e651b43b8217c365c87d530036529a673mtklein    "src/codec/SkWebpAdapterCodec.cpp",
21025c81d4e651b43b8217c365c87d530036529a673mtklein    "src/codec/SkWebpCodec.cpp",
211c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/images/SkImageEncoder.cpp",
212c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/images/SkImageEncoder_Factory.cpp",
2132b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/images/SkJPEGImageEncoder.cpp",
2142b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/images/SkJPEGWriteUtility.cpp",
2152b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/images/SkKTXImageEncoder.cpp",
2162b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/images/SkPNGImageEncoder.cpp",
2172b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/images/SkWEBPImageEncoder.cpp",
218c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/ports/SkDiscardableMemory_none.cpp",
219c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/ports/SkGlobalInitialization_default.cpp",
2201211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "src/ports/SkImageGenerator_skia.cpp",
221c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/ports/SkMemory_malloc.cpp",
222c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/ports/SkOSFile_stdio.cpp",
223c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/sfnt/SkOTTable_name.cpp",
224c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/sfnt/SkOTUtils.cpp",
22525c81d4e651b43b8217c365c87d530036529a673mtklein    "src/svg/SkSVGCanvas.cpp",
22625c81d4e651b43b8217c365c87d530036529a673mtklein    "src/svg/SkSVGDevice.cpp",
227c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "src/utils/mac/SkStream_mac.cpp",
22825c81d4e651b43b8217c365c87d530036529a673mtklein    "src/xml/SkDOM.cpp",
22925c81d4e651b43b8217c365c87d530036529a673mtklein    "src/xml/SkXMLParser.cpp",
23025c81d4e651b43b8217c365c87d530036529a673mtklein    "src/xml/SkXMLWriter.cpp",
231c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "third_party/etc1/etc1.cpp",
232c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    "third_party/ktx/ktx.cpp",
233c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ]
234c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
235c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  if (is_win) {
236c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    sources += [
237c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkDebug_win.cpp",
238c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontHost_win.cpp",
239c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontMgr_win_dw.cpp",
240c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontMgr_win_dw_factory.cpp",
241c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkImageEncoder_WIC.cpp",
242c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkImageGeneratorWIC.cpp",
243c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkOSFile_win.cpp",
244c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkScalerContext_win_dw.cpp",
245c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkTLS_win.cpp",
246c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkTypeface_win_dw.cpp",
24725c81d4e651b43b8217c365c87d530036529a673mtklein      "src/xps/SkDocument_XPS.cpp",
248c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ]
249c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  } else {
250c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    sources += [
251c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkDebug_stdio.cpp",
252c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkOSFile_posix.cpp",
253c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkTLS_pthread.cpp",
25425c81d4e651b43b8217c365c87d530036529a673mtklein      "src/xps/SkDocument_XPS_None.cpp",
255c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ]
256c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  }
257c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
258c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  if (is_linux) {
259c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    deps += [
260c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "third_party:fontconfig",
261c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "third_party:freetype2",
262c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ]
263c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    sources += [
264c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontConfigInterface_direct.cpp",
265c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontConfigInterface_direct_factory.cpp",
266c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontHost_FreeType.cpp",
267c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontHost_FreeType_common.cpp",
2687d0e3bc785fc5aaf2ed0aa8f37a2bc85c2f82da0bungeman      "src/ports/SkFontMgr_FontConfigInterface.cpp",
2697a34b1cd02ae65f2fb299752ebececec2b4f4285mtklein      "src/ports/SkFontMgr_fontconfig.cpp",
2707a34b1cd02ae65f2fb299752ebececec2b4f4285mtklein      "src/ports/SkFontMgr_fontconfig_factory.cpp",
271c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ]
272c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  }
273c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
274c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  if (is_mac) {
275c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    sources += [
276c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkFontHost_mac.cpp",
277c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkImageEncoder_CG.cpp",
278c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein      "src/ports/SkImageGeneratorCG.cpp",
279c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ]
280c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    libs += [ "ApplicationServices.framework" ]
281c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  }
2826fc8ff024bd823f350400a86e7b9daa1c25f618eabarth
2836fc8ff024bd823f350400a86e7b9daa1c25f618eabarth  if (is_fuchsia) {
284e817ddf9b32200ebfd216921d172ef1342e13caemtklein    sources += [ "src/ports/SkFontMgr_empty_factory.cpp" ]
2856fc8ff024bd823f350400a86e7b9daa1c25f618eabarth  }
286c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
287c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein
2881211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinaction("skia.h") {
2891211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  script = "gn/echo_headers.py"
2901211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  args = [ rebase_path("$target_gen_dir/skia.h", root_build_dir) ] +
2911211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein         rebase_path(skia_public_includes, root_build_dir)
2921211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  outputs = [
2931211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "$target_gen_dir/skia.h",
2941211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  ]
2951211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein}
2961211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein
2971211e0ca74fc4b58dd314c87e94692b4d61be9b7mtkleinexecutable("fiddle") {
2981211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein  include_dirs = [ "$target_gen_dir" ]
2997d10b9f6e61ce8cb5387291580c1c0645f72b167mtklein  libs = []
3007d10b9f6e61ce8cb5387291580c1c0645f72b167mtklein  if (is_linux) {
3017d10b9f6e61ce8cb5387291580c1c0645f72b167mtklein    libs += [ "OSMesa" ]
3027d10b9f6e61ce8cb5387291580c1c0645f72b167mtklein  }
3031211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein
304c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  sources = [
3051211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "tools/fiddle/draw.cpp",
3061211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    "tools/fiddle/fiddle_main.cpp",
307c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ]
308c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  deps = [
309c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein    ":skia",
3101211e0ca74fc4b58dd314c87e94692b4d61be9b7mtklein    ":skia.h",
311c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein  ]
312c04ff4788cb425db6d9bec0bde4edb14aec97f16mtklein}
31325c81d4e651b43b8217c365c87d530036529a673mtklein
31425c81d4e651b43b8217c365c87d530036529a673mtkleintemplate("test_lib") {
31525c81d4e651b43b8217c365c87d530036529a673mtklein  config(target_name + "_config") {
31625c81d4e651b43b8217c365c87d530036529a673mtklein    include_dirs = invoker.public_include_dirs
31725c81d4e651b43b8217c365c87d530036529a673mtklein  }
31825c81d4e651b43b8217c365c87d530036529a673mtklein  source_set(target_name) {
31925c81d4e651b43b8217c365c87d530036529a673mtklein    forward_variables_from(invoker, "*", [ "public_include_dirs" ])
32025c81d4e651b43b8217c365c87d530036529a673mtklein    public_configs = [
32125c81d4e651b43b8217c365c87d530036529a673mtklein      ":" + target_name + "_config",
32225c81d4e651b43b8217c365c87d530036529a673mtklein      ":skia_private",
32325c81d4e651b43b8217c365c87d530036529a673mtklein    ]
32425c81d4e651b43b8217c365c87d530036529a673mtklein
32525c81d4e651b43b8217c365c87d530036529a673mtklein    if (!defined(deps)) {
32625c81d4e651b43b8217c365c87d530036529a673mtklein      deps = []
32725c81d4e651b43b8217c365c87d530036529a673mtklein    }
32825c81d4e651b43b8217c365c87d530036529a673mtklein    deps += [ ":skia" ]
32925c81d4e651b43b8217c365c87d530036529a673mtklein    testonly = true
33025c81d4e651b43b8217c365c87d530036529a673mtklein  }
33125c81d4e651b43b8217c365c87d530036529a673mtklein}
33225c81d4e651b43b8217c365c87d530036529a673mtklein
33325c81d4e651b43b8217c365c87d530036529a673mtkleintest_lib("gpu_tool_utils") {
33425c81d4e651b43b8217c365c87d530036529a673mtklein  public_include_dirs = [ "tools/gpu" ]
33525c81d4e651b43b8217c365c87d530036529a673mtklein  sources = [
33625c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/GrContextFactory.cpp",
33725c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/GrTest.cpp",
33825c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/TestContext.cpp",
33925c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/GLTestContext.cpp",
34025c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/DebugGLTestContext.cpp",
34125c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/GrBufferObj.cpp",
34225c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/GrFrameBufferObj.cpp",
34325c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/GrProgramObj.cpp",
34425c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/GrShaderObj.cpp",
34525c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/GrTextureObj.cpp",
34625c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/debug/GrTextureUnitObj.cpp",
34725c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/gpu/gl/null/NullGLTestContext.cpp",
34825c81d4e651b43b8217c365c87d530036529a673mtklein  ]
34925c81d4e651b43b8217c365c87d530036529a673mtklein  libs = []
35025c81d4e651b43b8217c365c87d530036529a673mtklein
35125c81d4e651b43b8217c365c87d530036529a673mtklein  if (is_linux) {
35225c81d4e651b43b8217c365c87d530036529a673mtklein    sources += [ "tools/gpu/gl/glx/CreatePlatformGLTestContext_glx.cpp" ]
35325c81d4e651b43b8217c365c87d530036529a673mtklein    libs += [
35425c81d4e651b43b8217c365c87d530036529a673mtklein      "GL",
35525c81d4e651b43b8217c365c87d530036529a673mtklein      "GLU",
35625c81d4e651b43b8217c365c87d530036529a673mtklein      "X11",
35725c81d4e651b43b8217c365c87d530036529a673mtklein    ]
35825c81d4e651b43b8217c365c87d530036529a673mtklein  } else if (is_mac) {
35925c81d4e651b43b8217c365c87d530036529a673mtklein    sources += [ "tools/gpu/gl/mac/CreatePlatformGLTestContext_mac.cpp" ]
36025c81d4e651b43b8217c365c87d530036529a673mtklein    libs += [ "OpenGL.framework" ]
36125c81d4e651b43b8217c365c87d530036529a673mtklein  }
36225c81d4e651b43b8217c365c87d530036529a673mtklein}
36325c81d4e651b43b8217c365c87d530036529a673mtklein
36425c81d4e651b43b8217c365c87d530036529a673mtkleintest_lib("flags") {
36525c81d4e651b43b8217c365c87d530036529a673mtklein  public_include_dirs = [ "tools/flags" ]
36625c81d4e651b43b8217c365c87d530036529a673mtklein  sources = [
36725c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/flags/SkCommandLineFlags.cpp",
36825c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/flags/SkCommonFlags.cpp",
36925c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/flags/SkCommonFlagsConfig.cpp",
37025c81d4e651b43b8217c365c87d530036529a673mtklein  ]
37125c81d4e651b43b8217c365c87d530036529a673mtklein  deps = [
37225c81d4e651b43b8217c365c87d530036529a673mtklein    ":gpu_tool_utils",
37325c81d4e651b43b8217c365c87d530036529a673mtklein  ]
37425c81d4e651b43b8217c365c87d530036529a673mtklein}
37525c81d4e651b43b8217c365c87d530036529a673mtklein
37625c81d4e651b43b8217c365c87d530036529a673mtkleintest_lib("tool_utils") {
37725c81d4e651b43b8217c365c87d530036529a673mtklein  public_include_dirs = [
37825c81d4e651b43b8217c365c87d530036529a673mtklein    "tools",
37925c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/timer",
38025c81d4e651b43b8217c365c87d530036529a673mtklein  ]
38125c81d4e651b43b8217c365c87d530036529a673mtklein  sources = [
3822b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "src/images/SkForceLinking.cpp",
38325c81d4e651b43b8217c365c87d530036529a673mtklein    "src/utils/SkMultiPictureDocumentReader.cpp",  # TODO(halcanary): move to tools?
3842b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "tools/CrashHandler.cpp",
38525c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/ProcStats.cpp",
38625c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/Resources.cpp",
3872b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    "tools/ThermalManager.cpp",
38825c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/picture_utils.cpp",
38925c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/random_parse_path.cpp",
39025c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/sk_tool_utils.cpp",
39125c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/sk_tool_utils_font.cpp",
39225c81d4e651b43b8217c365c87d530036529a673mtklein    "tools/timer/Timer.cpp",
39325c81d4e651b43b8217c365c87d530036529a673mtklein  ]
39425c81d4e651b43b8217c365c87d530036529a673mtklein  deps = [
39525c81d4e651b43b8217c365c87d530036529a673mtklein    ":flags",
39625c81d4e651b43b8217c365c87d530036529a673mtklein  ]
39725c81d4e651b43b8217c365c87d530036529a673mtklein}
39825c81d4e651b43b8217c365c87d530036529a673mtklein
39925c81d4e651b43b8217c365c87d530036529a673mtkleingm_sources = exec_script("gyp/find.py",
40025c81d4e651b43b8217c365c87d530036529a673mtklein                         [
40125c81d4e651b43b8217c365c87d530036529a673mtklein                           rebase_path("gm"),
40225c81d4e651b43b8217c365c87d530036529a673mtklein                           "*.c*",
40325c81d4e651b43b8217c365c87d530036529a673mtklein                         ],
40425c81d4e651b43b8217c365c87d530036529a673mtklein                         "list lines",
40525c81d4e651b43b8217c365c87d530036529a673mtklein                         [])
40625c81d4e651b43b8217c365c87d530036529a673mtkleintest_lib("gm") {
40725c81d4e651b43b8217c365c87d530036529a673mtklein  public_include_dirs = [ "gm" ]
40825c81d4e651b43b8217c365c87d530036529a673mtklein  sources = gm_sources
40925c81d4e651b43b8217c365c87d530036529a673mtklein  deps = [
41025c81d4e651b43b8217c365c87d530036529a673mtklein    ":gpu_tool_utils",
41125c81d4e651b43b8217c365c87d530036529a673mtklein    ":skia",
41225c81d4e651b43b8217c365c87d530036529a673mtklein    ":tool_utils",
41325c81d4e651b43b8217c365c87d530036529a673mtklein  ]
41425c81d4e651b43b8217c365c87d530036529a673mtklein}
41525c81d4e651b43b8217c365c87d530036529a673mtklein
4162b6870ccb21f0dbcfb17644e9badfb1d07009315mtkleinbench_sources = exec_script("gyp/find.py",
4172b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein                            [
4182b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein                              rebase_path("bench"),
4192b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein                              "*.c*",
4202b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein                            ],
4212b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein                            "list lines",
4222b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein                            [])
4232b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein
4242b6870ccb21f0dbcfb17644e9badfb1d07009315mtkleintest_lib("bench") {
4252b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  public_include_dirs = [ "bench" ]
4262b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  sources = bench_sources
4272b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  sources -= [
4282b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    rebase_path("bench/nanobench.cpp"),
4292b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    rebase_path("bench/nanobenchAndroid.cpp"),
4302b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  ]
4312b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  deps = [
4322b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ":flags",
4332b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ":gm",
4342b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ":gpu_tool_utils",
4352b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ":skia",
4362b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ":tool_utils",
4372b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  ]
4382b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein}
4392b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein
4402b6870ccb21f0dbcfb17644e9badfb1d07009315mtkleinif (!is_component_build) {  # Our test tools use many non-SK_API APIs...
4412b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  executable("dm") {
4422b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    sources = [
4432b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "dm/DM.cpp",
4442b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "dm/DMJsonWriter.cpp",
4452b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "dm/DMSrcSink.cpp",
4462b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein
4472b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      # TODO: tests for real
4482b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "tests/Test.cpp",
4492b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ]
4502b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    include_dirs = [ "tests" ]
4512b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    deps = [
4522b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":flags",
4532b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":gm",
4542b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":gpu_tool_utils",
4552b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":skia",
4562b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":tool_utils",
4572b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "//third_party/jsoncpp",
4582b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "//third_party/libpng",
4592b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ]
4602b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    testonly = true
4612b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  }
4622b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein
4632b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  executable("monobench") {
4642b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    sources = [
4652b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "tools/monobench.cpp",
4662b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ]
4672b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    deps = [
4682b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":bench",
4692b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":skia",
4702b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ]
4712b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    testonly = true
4722b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  }
4732b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein
4742b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  executable("nanobench") {
4752b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    sources = [
4762b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "bench/nanobench.cpp",
4772b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ]
4782b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    deps = [
4792b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":bench",
4802b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":flags",
4812b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":gm",
4822b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":gpu_tool_utils",
4832b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":skia",
4842b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      ":tool_utils",
4852b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein      "//third_party/jsoncpp",
4862b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    ]
4872b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein    testonly = true
4882b6870ccb21f0dbcfb17644e9badfb1d07009315mtklein  }
48925c81d4e651b43b8217c365c87d530036529a673mtklein}
490