Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(73)

Side by Side Diff: BUILD.public

Issue 1414643002: Enable BUILD file compilation of skia and dm with --config=android_arm. (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: Address comments; rebase. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/pdf/SkPDFFont.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 )
OLDNEW
« no previous file with comments | « no previous file | src/pdf/SkPDFFont.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698