OLD | NEW |
---|---|
1 # Description: | 1 # Description: |
2 # Skia graphics library. | 2 # Skia graphics library. |
3 # | 3 # |
4 # Definitions for Google BUILD file. | 4 # Definitions for Google BUILD file. |
5 | 5 |
6 exports_files(["BUILD.public"]) | 6 exports_files(["BUILD.public"]) |
7 | 7 |
8 # Platform-independent SRCS | 8 # Platform-independent SRCS |
9 SRCS = glob( | 9 SRCS = glob( |
10 [ | 10 [ |
11 "include/private/*.h", | 11 "include/private/*.h", |
12 "src/**/*.h", | 12 "src/**/*.h", |
13 "src/**/*.cpp", | 13 "src/**/*.cpp", |
14 "src/**/*.c", | |
15 | 14 |
16 # Third Party | 15 # Third Party |
17 "third_party/etc1/*.cpp", | 16 "third_party/etc1/*.cpp", |
18 "third_party/etc1/*.h", | 17 "third_party/etc1/*.h", |
19 "third_party/ktx/*.cpp", | 18 "third_party/ktx/*.cpp", |
20 "third_party/ktx/*.h", | 19 "third_party/ktx/*.h", |
21 ], | 20 ], |
22 exclude = [ | 21 exclude = [ |
23 # Exclude platform-dependent files. | 22 # Exclude platform-dependent files. |
24 "src/device/xps/*", # Windows-only. Move to ports? | 23 "src/device/xps/*", # Windows-only. Move to ports? |
25 "src/doc/*_XPS.cpp", # Windows-only. Move to ports? | 24 "src/doc/*_XPS.cpp", # Windows-only. Move to ports? |
26 "src/gpu/gl/android/*", | 25 "src/gpu/gl/android/*", |
26 "src/gpu/gl/egl/*", | |
27 "src/gpu/gl/glx/*", | |
28 "src/gpu/gl/nacl/*", | |
27 "src/gpu/gl/iOS/*", | 29 "src/gpu/gl/iOS/*", |
28 "src/gpu/gl/mac/*", | 30 "src/gpu/gl/mac/*", |
29 "src/gpu/gl/win/*", | 31 "src/gpu/gl/win/*", |
30 "src/opts/**/*", | 32 "src/opts/**/*", |
31 "src/ports/**/*", | 33 "src/ports/**/*", |
32 "src/utils/android/**/*", | 34 "src/utils/android/**/*", |
33 "src/utils/mac/**/*", | 35 "src/utils/mac/**/*", |
34 "src/utils/SkThreadUtils_win.cpp", # Windows-only. Move to ports? | 36 "src/utils/SkThreadUtils_win.cpp", # Windows-only. Move to ports? |
35 "src/utils/win/**/*", | 37 "src/utils/win/**/*", |
36 "src/views/sdl/*", | 38 "src/views/sdl/*", |
37 "src/views/win/*", | 39 "src/views/win/*", |
38 "src/views/unix/*", | 40 "src/views/unix/*", |
39 | 41 |
40 # Exclude multiple definitions. | 42 # Exclude multiple definitions. |
41 # TODO(mtklein): Move to opts? | 43 # TODO(mtklein): Move to opts? |
42 "src/doc/SkDocument_PDF_None.cpp", # We use SkDocument_PDF.cpp. | 44 "src/doc/SkDocument_PDF_None.cpp", # We use SkDocument_PDF.cpp. |
43 "src/fonts/*fontconfig*", | 45 "src/fonts/*fontconfig*", |
44 "src/gpu/gl/egl/*", # Conflicts with gpu/gl/glx. | 46 "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", |
45 "src/gpu/gl/nacl/*", # Conflicts with gpu/gl/glx. | 47 "src/gpu/gl/GrGLDefaultInterface_native.cpp", |
46 "src/gpu/gl/GrGLDefaultInterface_none.cpp", # Conflicts with src/gpu/gl /GrGLDefaultInterface_native.cpp | 48 "src/gpu/gl/GrGLDefaultInterface_none.cpp", |
47 "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", # Conflicts with src/g pu/gl/glx/GrGLCreateNativeInterface_glx.cpp | |
48 | 49 |
49 # Exclude files that don't compile with the current DEFINES. | 50 # Exclude files that don't compile with the current DEFINES. |
50 "src/gpu/gl/angle/*", # Requires SK_ANGLE define. | 51 "src/gpu/gl/angle/*", # Requires SK_ANGLE define. |
51 "src/gpu/gl/command_buffer/*", # unknown type name 'HMODULE' | 52 "src/gpu/gl/command_buffer/*", # unknown type name 'HMODULE' |
52 "src/gpu/gl/mesa/*", # Requires SK_MESA define. | 53 "src/gpu/gl/mesa/*", # Requires SK_MESA define. |
53 "src/svg/parser/*", # Missing SkSVG.h. | 54 "src/svg/parser/*", # Missing SkSVG.h. |
54 | 55 |
55 # Not used. | 56 # Not used. |
56 "src/animator/**/*", | 57 "src/animator/**/*", |
57 "src/views/**/*", | 58 "src/views/**/*", |
58 "src/xml/SkBML_Verbs.h", | 59 "src/xml/SkBML_Verbs.h", |
59 "src/xml/SkBML_XMLParser.cpp", | 60 "src/xml/SkBML_XMLParser.cpp", |
60 "src/xml/SkXMLPullParser.cpp", | 61 "src/xml/SkXMLPullParser.cpp", |
61 ], | 62 ], |
62 ) | 63 ) |
63 | 64 |
64 # Platform-dependent SRCS for google3-default platform. | 65 # Platform-dependent SRCS for google3-default platform. |
65 PLATFORM_SRCS = glob( | 66 SRCS_UNIX = glob( |
66 [ | 67 [ |
68 "src/gpu/gl/GrGLDefaultInterface_native.cpp", | |
69 "src/gpu/gl/glx/**/*.cpp", | |
70 "src/gpu/gl/glx/**/*.h", | |
67 "src/opts/**/*.cpp", | 71 "src/opts/**/*.cpp", |
68 "src/opts/**/*.h", | 72 "src/opts/**/*.h", |
69 "src/ports/**/*.cpp", | 73 "src/ports/**/*.cpp", |
70 "src/ports/**/*.h", | 74 "src/ports/**/*.h", |
71 ], | 75 ], |
72 exclude = [ | 76 exclude = [ |
73 "src/opts/*arm*", | 77 "src/opts/*arm*", |
74 "src/opts/*mips*", | 78 "src/opts/*mips*", |
75 "src/opts/*NEON*", | 79 "src/opts/*NEON*", |
76 "src/opts/*neon*", | 80 "src/opts/*neon*", |
81 # Included in :opts_ssse3 library. | |
77 "src/opts/*SSSE3*", | 82 "src/opts/*SSSE3*", |
78 "src/opts/*ssse3*", | 83 "src/opts/*ssse3*", |
84 # Included in :opts_sse4 library. | |
79 "src/opts/*SSE4*", | 85 "src/opts/*SSE4*", |
80 "src/opts/*sse4*", | 86 "src/opts/*sse4*", |
87 "src/opts/SkBitmapProcState_opts_none.cpp", | |
81 "src/opts/SkBlitMask_opts_none.cpp", | 88 "src/opts/SkBlitMask_opts_none.cpp", |
82 "src/opts/SkBitmapProcState_opts_none.cpp", | |
83 "src/opts/SkBlitRow_opts_none.cpp", | 89 "src/opts/SkBlitRow_opts_none.cpp", |
84 "src/ports/*android*", | 90 "src/ports/*android*", |
85 "src/ports/*chromium*", | 91 "src/ports/*chromium*", |
86 "src/ports/*CG*", | 92 "src/ports/*CG*", |
87 "src/ports/*fontconfig*", | 93 "src/ports/*fontconfig*", |
88 "src/ports/*FontConfig*", | 94 "src/ports/*FontConfig*", |
89 "src/ports/*mac*", | 95 "src/ports/*mac*", |
90 "src/ports/*mozalloc*", | 96 "src/ports/*mozalloc*", |
91 "src/ports/*nacl*", | 97 "src/ports/*nacl*", |
92 "src/ports/*win*", | 98 "src/ports/*win*", |
93 "src/ports/SkFontMgr_custom_embedded_factory.cpp", | 99 "src/ports/SkFontMgr_custom_embedded_factory.cpp", |
94 "src/ports/SkFontMgr_empty_factory.cpp", | 100 "src/ports/SkFontMgr_empty_factory.cpp", |
95 "src/ports/SkImageDecoder_WIC.cpp", | 101 "src/ports/SkImageDecoder_WIC.cpp", |
96 "src/ports/SkImageDecoder_empty.cpp", | 102 "src/ports/SkImageDecoder_empty.cpp", |
97 "src/ports/SkImageGenerator_none.cpp", | 103 "src/ports/SkImageGenerator_none.cpp", |
98 "src/ports/SkTLS_none.cpp", | 104 "src/ports/SkTLS_none.cpp", |
99 ], | 105 ], |
100 ) | 106 ) |
101 | 107 |
108 # Platform-dependent SRCS for google3-default Android. | |
109 SRCS_ANDROID = glob( | |
110 [ | |
111 # TODO(benjaminwagner): Figure out how to compile with EGL. | |
112 "src/gpu/gl/GrGLDefaultInterface_none.cpp", | |
113 "src/gpu/gl/nacl/SkCreatePlatformGLContext_nacl.cpp", | |
114 "src/opts/**/*.cpp", | |
115 "src/opts/**/*.h", | |
116 "src/ports/**/*.cpp", | |
117 "src/ports/**/*.h", | |
118 ], | |
119 exclude = [ | |
120 # Included in :opts_arm library. | |
121 "src/opts/*arm*", | |
122 "src/opts/*mips*", | |
123 # Included in :opts_neon library. | |
124 "src/opts/*NEON*", | |
125 "src/opts/*neon*", | |
126 "src/opts/*SSE2*", | |
127 "src/opts/*SSSE3*", | |
128 "src/opts/*ssse3*", | |
129 "src/opts/*SSE4*", | |
130 "src/opts/*sse4*", | |
131 "src/opts/*x86*", | |
132 "src/opts/SkBitmapProcState_opts_none.cpp", | |
133 "src/opts/SkBlitMask_opts_none.cpp", | |
134 "src/opts/SkBlitRow_opts_none.cpp", | |
135 "src/ports/*chromium*", | |
136 "src/ports/*CG*", | |
137 "src/ports/*fontconfig*", | |
138 "src/ports/*FontConfig*", | |
139 "src/ports/*mac*", | |
140 "src/ports/*mozalloc*", | |
141 "src/ports/*nacl*", | |
142 "src/ports/*win*", | |
143 "src/ports/SkDebug_stdio.cpp", | |
144 "src/ports/SkFontMgr_custom_directory_factory.cpp", | |
145 "src/ports/SkFontMgr_custom_embedded_factory.cpp", | |
146 "src/ports/SkFontMgr_empty_factory.cpp", | |
147 "src/ports/SkImageDecoder_WIC.cpp", | |
148 "src/ports/SkImageDecoder_empty.cpp", | |
149 "src/ports/SkImageGenerator_none.cpp", | |
150 "src/ports/SkTLS_none.cpp", | |
151 ], | |
152 ) | |
153 | |
154 PLATFORM_SRCS = select({ | |
155 CONDITION_ANDROID: SRCS_ANDROID, | |
156 "//conditions:default": SRCS_UNIX, | |
157 }) | |
158 | |
102 SRCS_SSSE3 = glob( | 159 SRCS_SSSE3 = glob( |
103 [ | 160 [ |
104 "src/opts/*SSSE3*.cpp", | 161 "src/opts/*SSSE3*.cpp", |
105 "src/opts/*ssse3*.cpp", | 162 "src/opts/*ssse3*.cpp", |
106 ], | 163 ], |
107 ) | 164 ) |
108 | 165 |
109 SRCS_SSE4 = glob( | 166 SRCS_SSE4 = glob( |
110 [ | 167 [ |
111 "src/opts/*SSE4*.cpp", | 168 "src/opts/*SSE4*.cpp", |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
149 "src/image", | 206 "src/image", |
150 "src/lazy", | 207 "src/lazy", |
151 "src/opts", | 208 "src/opts", |
152 "src/pdf", | 209 "src/pdf", |
153 "src/sfnt", | 210 "src/sfnt", |
154 "src/utils", | 211 "src/utils", |
155 "third_party/etc1", | 212 "third_party/etc1", |
156 "third_party/ktx", | 213 "third_party/ktx", |
157 ] | 214 ] |
158 | 215 |
216 DEPS_UNIX = [ | |
217 ":opts_sse4", | |
218 ":opts_ssse3", | |
219 ] | |
220 | |
221 DEPS_ANDROID = [ | |
222 ":opts_arm", | |
223 ":opts_neon", | |
224 ] | |
225 | |
226 DEPS = select({ | |
227 CONDITION_ANDROID: DEPS_ANDROID + EXTERNAL_DEPS_ANDROID, | |
228 "//conditions:default": DEPS_UNIX + EXTERNAL_DEPS_UNIX, | |
229 }) | |
230 | |
231 # Platform-independent SRCS for DM. | |
159 DM_SRCS = glob( | 232 DM_SRCS = glob( |
160 [ | 233 [ |
161 "dm/*.cpp", | 234 "dm/*.cpp", |
162 "dm/*.h", | 235 "dm/*.h", |
163 "gm/*.c", | 236 "gm/*.c", |
164 "gm/*.cpp", | 237 "gm/*.cpp", |
165 "gm/*.h", | 238 "gm/*.h", |
166 "tests/*.cpp", | 239 "tests/*.cpp", |
167 "tests/*.h", | 240 "tests/*.h", |
168 "tools/CrashHandler.cpp", | 241 "tools/CrashHandler.cpp", |
(...skipping 12 matching lines...) Expand all Loading... | |
181 "tools/SkBitmapRegionCanvas.h", | 254 "tools/SkBitmapRegionCanvas.h", |
182 "tools/flags/*.cpp", | 255 "tools/flags/*.cpp", |
183 "tools/flags/*.h", | 256 "tools/flags/*.h", |
184 "tools/timer/*.cpp", | 257 "tools/timer/*.cpp", |
185 "tools/timer/*.h", | 258 "tools/timer/*.h", |
186 "tools/sk_tool_utils.cpp", | 259 "tools/sk_tool_utils.cpp", |
187 "tools/sk_tool_utils_font.cpp", | 260 "tools/sk_tool_utils_font.cpp", |
188 "tools/sk_tool_utils.h", | 261 "tools/sk_tool_utils.h", |
189 ], | 262 ], |
190 exclude = [ | 263 exclude = [ |
264 "dm/DMSrcSinkAndroid.cpp", # Android-only. | |
265 "tests/FontMgrAndroidParserTest.cpp", # Android-only. | |
266 "tests/PathOpsSkpClipTest.cpp", # Alternate main. | |
191 "tests/skia_test.cpp", # Old main. | 267 "tests/skia_test.cpp", # Old main. |
192 "tests/SkpSkGrTest.cpp", # Alternate main. | 268 "tests/SkpSkGrTest.cpp", # Alternate main. |
193 "tests/PathOpsSkpClipTest.cpp", # Alternate main. | 269 "tools/timer/SysTimer_mach.cpp", |
194 "tests/FontMgrAndroidParserTest.cpp", # Android-only. | |
195 "dm/DMSrcSinkAndroid.cpp", # Android-only. | |
196 "tools/timer/SysTimer_windows.cpp", | 270 "tools/timer/SysTimer_windows.cpp", |
197 "tools/timer/SysTimer_mach.cpp", | |
198 ], | 271 ], |
199 ) | 272 ) |
200 | 273 |
274 DM_SRCS_UNIX = [] | |
275 | |
276 DM_SRCS_ANDROID = glob( | |
277 [ | |
278 # Depends on Android HWUI library that is not available in google3. | |
279 #"dm/DMSrcSinkAndroid.cpp", | |
280 "tests/FontMgrAndroidParserTest.cpp", | |
281 ], | |
282 ) | |
283 | |
284 DM_PLATFORM_SRCS = select({ | |
285 CONDITION_ANDROID: DM_SRCS_ANDROID, | |
286 "//conditions:default": DM_SRCS_UNIX, | |
287 }) | |
288 | |
201 DM_INCLUDES = [ | 289 DM_INCLUDES = [ |
202 "gm", | 290 "gm", |
203 "src/codec", | 291 "src/codec", |
204 "src/effects", | 292 "src/effects", |
205 "src/fonts", | 293 "src/fonts", |
206 "src/pathops", | 294 "src/pathops", |
207 "src/pipe/utils", | 295 "src/pipe/utils", |
296 "src/ports", | |
208 "src/utils/debugger", | 297 "src/utils/debugger", |
209 "tests", | 298 "tests", |
210 "tools", | 299 "tools", |
211 "tools/flags", | 300 "tools/flags", |
212 "tools/timer", | 301 "tools/timer", |
213 ] | 302 ] |
214 | 303 |
215 COPTS = [ | 304 COPTS_ANDROID = [ |
305 ] | |
306 | |
307 COPTS_UNIX = [ | |
216 "-Wno-implicit-fallthrough", # Some intentional fallthrough. | 308 "-Wno-implicit-fallthrough", # Some intentional fallthrough. |
217 "-Wno-deprecated-declarations", # Internal use of deprecated methods. :( | 309 "-Wno-deprecated-declarations", # Internal use of deprecated methods. :( |
218 ] | 310 ] |
219 | 311 |
220 DEFINES = [ | 312 COPTS = select({ |
313 CONDITION_ANDROID: COPTS_ANDROID, | |
314 "//conditions:default": COPTS_UNIX, | |
315 }) | |
316 | |
317 DEFINES_ANDROID = [ | |
318 "SK_BUILD_FOR_ANDROID", | |
319 "SK_ARM_HAS_OPTIONAL_NEON", | |
mtklein
2015/10/21 18:06:06
OOOH right, SK_ARM_HAS_NEON only works if we set -
mtklein
2015/10/22 21:58:32
Can we set -mfpu=neon everywhere?
dogben
2015/10/24 22:05:52
Done.
| |
320 # TODO(benjaminwagner): Try to get png library updated? | |
321 "SK_PNG_NO_INDEX_SUPPORTED", | |
322 ] | |
323 | |
324 DEFINES_UNIX = [ | |
325 "SK_BUILD_FOR_UNIX", | |
326 "SK_SAMPLES_FOR_X", | |
327 ] | |
328 | |
329 DEFINES_ALL = [ | |
221 # It'd be nice for fastbuild, dbg -> SK_DEBUG, opt -> SK_RELEASE. | 330 # It'd be nice for fastbuild, dbg -> SK_DEBUG, opt -> SK_RELEASE. |
222 "SK_RELEASE", | 331 "SK_RELEASE", |
223 # Chrome DEFINES. | 332 # Chrome DEFINES. |
224 "SK_USE_FLOATBITS", | 333 "SK_USE_FLOATBITS", |
225 "SK_USE_FREETYPE_EMBOLDEN", | 334 "SK_USE_FREETYPE_EMBOLDEN", |
226 # Turn on a few Google3-specific build fixes. | 335 # Turn on a few Google3-specific build fixes. |
227 "GOOGLE3", | 336 "GOOGLE3", |
228 "SK_BUILD_FOR_UNIX", | |
229 "SK_SAMPLES_FOR_X", | |
230 ] | 337 ] |
231 | 338 |
232 LINKOPTS = ["-ldl"] | 339 DEFINES = select({ |
340 CONDITION_ANDROID: DEFINES_ANDROID, | |
341 "//conditions:default": DEFINES_UNIX, | |
342 }) + DEFINES_ALL | |
343 | |
344 LINKOPTS = select({ | |
345 CONDITION_ANDROID: [ | |
346 "-ldl", | |
347 "-lEGL", | |
348 ], | |
349 "//conditions:default": ["-ldl"], | |
350 }) | |
233 | 351 |
234 cc_library( | 352 cc_library( |
235 name = "opts_ssse3", | 353 name = "opts_ssse3", |
236 srcs = SRCS_SSSE3, | 354 srcs = SRCS_SSSE3, |
237 copts = COPTS + ["-mssse3"], | 355 copts = COPTS + ["-mssse3"], |
238 defines = DEFINES, | 356 defines = DEFINES, |
239 includes = INCLUDES, | 357 includes = INCLUDES, |
240 ) | 358 ) |
241 | 359 |
242 cc_library( | 360 cc_library( |
243 name = "opts_sse4", | 361 name = "opts_sse4", |
244 srcs = SRCS_SSE4, | 362 srcs = SRCS_SSE4, |
245 copts = COPTS + ["-msse4"], | 363 copts = COPTS + ["-msse4"], |
246 defines = DEFINES, | 364 defines = DEFINES, |
247 includes = INCLUDES, | 365 includes = INCLUDES, |
248 ) | 366 ) |
249 | 367 |
250 cc_library( | 368 cc_library( |
369 name = "opts_arm", | |
370 srcs = glob([ | |
371 "src/opts/*_opts_arm.cpp", | |
372 "src/opts/*_opts_arm.h", | |
373 ]), | |
374 copts = COPTS, | |
375 defines = DEFINES, | |
376 includes = INCLUDES, | |
377 ) | |
378 | |
379 cc_library( | |
380 name = "opts_neon", | |
381 srcs = glob([ | |
382 "src/opts/*neon*.cpp", | |
383 "src/opts/*neon*.h", | |
384 "src/opts/Sk4px_NEON.h", | |
385 ]), | |
386 copts = COPTS + ["-mfpu=neon"], | |
387 defines = DEFINES, | |
388 includes = INCLUDES, | |
389 ) | |
390 | |
391 cc_library( | |
251 name = "skia", | 392 name = "skia", |
252 srcs = SRCS + PLATFORM_SRCS, | 393 srcs = SRCS + PLATFORM_SRCS, |
253 hdrs = HDRS, | 394 hdrs = HDRS, |
254 copts = COPTS, | 395 copts = COPTS, |
255 defines = DEFINES, | 396 defines = DEFINES, |
256 includes = INCLUDES, | 397 includes = INCLUDES, |
257 linkopts = LINKOPTS, | 398 linkopts = LINKOPTS, |
258 visibility = [":skia_clients"], | 399 visibility = [":skia_clients"], |
259 deps = EXTERNAL_DEPS + [ | 400 deps = DEPS, |
260 ":opts_sse4", | |
261 ":opts_ssse3", | |
262 ], | |
263 ) | 401 ) |
264 | 402 |
265 cc_test( | 403 cc_test( |
266 name = "dm", | 404 name = "dm", |
267 size = "large", | 405 size = "large", |
268 srcs = DM_SRCS, | 406 srcs = DM_SRCS + DM_PLATFORM_SRCS, |
269 args = [ | 407 args = [ |
270 "--nogpu", | 408 "--nogpu", |
271 "--verbose", | 409 "--verbose", |
272 # TODO(mtklein): maybe investigate why these fail? | 410 # TODO(mtklein): maybe investigate why these fail? |
273 "--match ~FontMgr ~Scalar ~Canvas ~Codec_stripes ~Codec_Dimensions ~Code c ~Stream ~skps", | 411 "--match ~FontMgr ~Scalar ~Canvas ~Codec_stripes ~Codec_Dimensions ~Code c ~Stream ~skps", |
274 "--resourcePath %s/resources" % BASE_DIR, | 412 "--resourcePath %s/resources" % BASE_DIR, |
275 "--images %s/resources" % BASE_DIR, | 413 "--images %s/resources" % BASE_DIR, |
276 ], | 414 ], |
277 copts = COPTS, | 415 copts = COPTS, |
278 data = glob(["resources/**/*"]), | 416 data = glob(["resources/**/*"]), |
279 defines = DEFINES, | 417 defines = DEFINES, |
280 includes = DM_INCLUDES, | 418 includes = DM_INCLUDES, |
281 deps = DM_EXTERNAL_DEPS + [ | 419 deps = DM_EXTERNAL_DEPS + [ |
282 ":skia", | 420 ":skia", |
283 ], | 421 ], |
284 ) | 422 ) |
OLD | NEW |