blob: 68af4d90eea167ea4af5792a46a247d4752b0957 [file] [log] [blame]
benjaminwagner787ca872015-08-17 12:58:10 -07001# Description:
2# Skia graphics library.
3#
4# Definitions for Google BUILD file.
5
6exports_files(["BUILD.public"])
7
benjaminwagner39e7aa42015-11-18 13:26:10 -08008# All platform-independent SRCS.
9BASE_SRCS = glob(
benjaminwagner787ca872015-08-17 12:58:10 -070010 [
mtkleind55d13a2015-08-18 08:51:49 -070011 "include/private/*.h",
benjaminwagner6f6bef82015-10-15 08:09:44 -070012 "src/**/*.h",
13 "src/**/*.cpp",
benjaminwagner787ca872015-08-17 12:58:10 -070014
mtkleind55d13a2015-08-18 08:51:49 -070015 # Third Party
benjaminwagner787ca872015-08-17 12:58:10 -070016 "third_party/etc1/*.cpp",
benjaminwagner6f6bef82015-10-15 08:09:44 -070017 "third_party/etc1/*.h",
benjaminwagner787ca872015-08-17 12:58:10 -070018 "third_party/ktx/*.cpp",
benjaminwagner6f6bef82015-10-15 08:09:44 -070019 "third_party/ktx/*.h",
benjaminwagner787ca872015-08-17 12:58:10 -070020 ],
21 exclude = [
benjaminwagner6f6bef82015-10-15 08:09:44 -070022 # Exclude platform-dependent files.
iroth76a12252016-01-07 07:11:39 -080023 "src/codec/*",
benjaminwagner6f6bef82015-10-15 08:09:44 -070024 "src/device/xps/*", # Windows-only. Move to ports?
25 "src/doc/*_XPS.cpp", # Windows-only. Move to ports?
benjaminwagner2211a7b2015-12-01 11:12:05 -080026 "src/fonts/SkFontMgr_fontconfig.cpp",
benjaminwagner6f6bef82015-10-15 08:09:44 -070027 "src/gpu/gl/android/*",
benjaminwagner86ea33e2015-10-26 10:46:25 -070028 "src/gpu/gl/egl/*",
29 "src/gpu/gl/glx/*",
benjaminwagner6f6bef82015-10-15 08:09:44 -070030 "src/gpu/gl/iOS/*",
31 "src/gpu/gl/mac/*",
32 "src/gpu/gl/win/*",
iroth76a12252016-01-07 07:11:39 -080033 "src/images/*",
benjaminwagner6f6bef82015-10-15 08:09:44 -070034 "src/opts/**/*",
35 "src/ports/**/*",
36 "src/utils/android/**/*",
37 "src/utils/mac/**/*",
benjaminwagner6f6bef82015-10-15 08:09:44 -070038 "src/utils/SkThreadUtils_win.cpp", # Windows-only. Move to ports?
39 "src/utils/win/**/*",
40 "src/views/sdl/*",
41 "src/views/win/*",
42 "src/views/unix/*",
43
44 # Exclude multiple definitions.
45 # TODO(mtklein): Move to opts?
mtkleind55d13a2015-08-18 08:51:49 -070046 "src/doc/SkDocument_PDF_None.cpp", # We use SkDocument_PDF.cpp.
benjaminwagner86ea33e2015-10-26 10:46:25 -070047 "src/gpu/gl/GrGLCreateNativeInterface_none.cpp",
48 "src/gpu/gl/GrGLDefaultInterface_native.cpp",
benjaminwagner6f6bef82015-10-15 08:09:44 -070049
50 # Exclude files that don't compile with the current DEFINES.
51 "src/gpu/gl/angle/*", # Requires SK_ANGLE define.
52 "src/gpu/gl/command_buffer/*", # unknown type name 'HMODULE'
53 "src/gpu/gl/mesa/*", # Requires SK_MESA define.
54 "src/svg/parser/*", # Missing SkSVG.h.
55
benjaminwagner39e7aa42015-11-18 13:26:10 -080056 # Conflicting dependencies among Lua versions. See cl/107087297.
57 "src/utils/SkLua*",
58
benjaminwagner6f6bef82015-10-15 08:09:44 -070059 # Not used.
60 "src/animator/**/*",
61 "src/views/**/*",
62 "src/xml/SkBML_Verbs.h",
63 "src/xml/SkBML_XMLParser.cpp",
64 "src/xml/SkXMLPullParser.cpp",
65 ],
66)
67
68# Platform-dependent SRCS for google3-default platform.
benjaminwagner39e7aa42015-11-18 13:26:10 -080069BASE_SRCS_UNIX = glob(
benjaminwagner6f6bef82015-10-15 08:09:44 -070070 [
iroth76a12252016-01-07 07:11:39 -080071 "src/codec/*",
benjaminwagner2211a7b2015-12-01 11:12:05 -080072 "src/fonts/SkFontMgr_fontconfig.cpp",
iroth76a12252016-01-07 07:11:39 -080073 "src/images/*",
benjaminwagner6f6bef82015-10-15 08:09:44 -070074 "src/opts/**/*.cpp",
75 "src/opts/**/*.h",
76 "src/ports/**/*.cpp",
77 "src/ports/**/*.h",
78 ],
79 exclude = [
iroth76a12252016-01-07 07:11:39 -080080 "src/codec/SkJpegCodec.cpp", # libjpeg_turbo version mismatch.
benjaminwagner6f6bef82015-10-15 08:09:44 -070081 "src/opts/*arm*",
82 "src/opts/*mips*",
83 "src/opts/*NEON*",
84 "src/opts/*neon*",
benjaminwagner86ea33e2015-10-26 10:46:25 -070085 # Included in :opts_ssse3 library.
benjaminwagner6f6bef82015-10-15 08:09:44 -070086 "src/opts/*SSSE3*",
87 "src/opts/*ssse3*",
benjaminwagner86ea33e2015-10-26 10:46:25 -070088 # Included in :opts_sse4 library.
benjaminwagner6f6bef82015-10-15 08:09:44 -070089 "src/opts/*SSE4*",
90 "src/opts/*sse4*",
mtkleinf6d8d282015-12-17 10:18:04 -080091 # Included in :opts_avx or :opts_avx2
92 "src/opts/*avx*",
benjaminwagner6f6bef82015-10-15 08:09:44 -070093 "src/opts/SkBitmapProcState_opts_none.cpp",
benjaminwagner86ea33e2015-10-26 10:46:25 -070094 "src/opts/SkBlitMask_opts_none.cpp",
benjaminwagner6f6bef82015-10-15 08:09:44 -070095 "src/opts/SkBlitRow_opts_none.cpp",
96 "src/ports/*android*",
97 "src/ports/*chromium*",
benjaminwagner6f6bef82015-10-15 08:09:44 -070098 "src/ports/*mac*",
99 "src/ports/*mozalloc*",
100 "src/ports/*nacl*",
101 "src/ports/*win*",
benjaminwagner2211a7b2015-12-01 11:12:05 -0800102 "src/ports/SkFontConfigInterface_direct_factory.cpp",
103 "src/ports/SkFontMgr_custom_directory_factory.cpp",
benjaminwagner6f6bef82015-10-15 08:09:44 -0700104 "src/ports/SkFontMgr_custom_embedded_factory.cpp",
105 "src/ports/SkFontMgr_empty_factory.cpp",
benjaminwagner404816e2015-12-03 05:04:03 -0800106 "src/ports/SkFontMgr_fontconfig.cpp",
benjaminwagner9dbec092015-11-02 05:53:38 -0800107 "src/ports/SkImageDecoder_CG.cpp",
benjaminwagner2211a7b2015-12-01 11:12:05 -0800108 "src/ports/SkFontMgr_fontconfig_factory.cpp",
benjaminwagner6f6bef82015-10-15 08:09:44 -0700109 "src/ports/SkImageDecoder_WIC.cpp",
110 "src/ports/SkImageDecoder_empty.cpp",
111 "src/ports/SkImageGenerator_none.cpp",
112 "src/ports/SkTLS_none.cpp",
mtkleind55d13a2015-08-18 08:51:49 -0700113 ],
114)
115
benjaminwagner86ea33e2015-10-26 10:46:25 -0700116# Platform-dependent SRCS for google3-default Android.
benjaminwagner39e7aa42015-11-18 13:26:10 -0800117BASE_SRCS_ANDROID = glob(
benjaminwagner86ea33e2015-10-26 10:46:25 -0700118 [
iroth76a12252016-01-07 07:11:39 -0800119 "src/codec/*",
120 "src/images/*",
benjaminwagner86ea33e2015-10-26 10:46:25 -0700121 # TODO(benjaminwagner): Figure out how to compile with EGL.
benjaminwagner86ea33e2015-10-26 10:46:25 -0700122 "src/opts/**/*.cpp",
123 "src/opts/**/*.h",
124 "src/ports/**/*.cpp",
125 "src/ports/**/*.h",
126 ],
127 exclude = [
iroth76a12252016-01-07 07:11:39 -0800128 "src/codec/SkJpegCodec.cpp", # libjpeg_turbo version mismatch.
benjaminwagner86ea33e2015-10-26 10:46:25 -0700129 "src/opts/*mips*",
130 "src/opts/*SSE2*",
131 "src/opts/*SSSE3*",
132 "src/opts/*ssse3*",
133 "src/opts/*SSE4*",
134 "src/opts/*sse4*",
mtkleinf6d8d282015-12-17 10:18:04 -0800135 "src/opts/*avx*",
benjaminwagner86ea33e2015-10-26 10:46:25 -0700136 "src/opts/*x86*",
137 "src/opts/SkBitmapProcState_opts_none.cpp",
138 "src/opts/SkBlitMask_opts_none.cpp",
139 "src/opts/SkBlitRow_opts_none.cpp",
140 "src/ports/*chromium*",
benjaminwagner86ea33e2015-10-26 10:46:25 -0700141 "src/ports/*fontconfig*",
142 "src/ports/*FontConfig*",
143 "src/ports/*mac*",
144 "src/ports/*mozalloc*",
145 "src/ports/*nacl*",
146 "src/ports/*win*",
147 "src/ports/SkDebug_stdio.cpp",
benjaminwagner2211a7b2015-12-01 11:12:05 -0800148 "src/ports/SkFontConfigInterface_direct_factory.cpp",
149 "src/ports/SkFontConfigInterface_direct_google3_factory.cpp",
benjaminwagner86ea33e2015-10-26 10:46:25 -0700150 "src/ports/SkFontMgr_custom_directory_factory.cpp",
151 "src/ports/SkFontMgr_custom_embedded_factory.cpp",
152 "src/ports/SkFontMgr_empty_factory.cpp",
benjaminwagner9dbec092015-11-02 05:53:38 -0800153 "src/ports/SkImageDecoder_CG.cpp",
benjaminwagner86ea33e2015-10-26 10:46:25 -0700154 "src/ports/SkImageDecoder_WIC.cpp",
155 "src/ports/SkImageDecoder_empty.cpp",
156 "src/ports/SkImageGenerator_none.cpp",
157 "src/ports/SkTLS_none.cpp",
158 ],
159)
160
iroth8b99ef42015-11-02 11:11:21 -0800161# Platform-dependent SRCS for google3-default iOS.
benjaminwagner39e7aa42015-11-18 13:26:10 -0800162BASE_SRCS_IOS = glob(
iroth8b99ef42015-11-02 11:11:21 -0800163 [
iroth8b99ef42015-11-02 11:11:21 -0800164 "src/opts/**/*.cpp",
165 "src/opts/**/*.h",
166 "src/ports/**/*.cpp",
167 "src/ports/**/*.h",
168 ],
169 exclude = [
170 "src/opts/*mips*",
171 "src/opts/*NEON*",
172 "src/opts/*neon*",
173 "src/opts/*SSE2*",
174 "src/opts/*SSSE3*",
175 "src/opts/*ssse3*",
176 "src/opts/*SSE4*",
177 "src/opts/*sse4*",
mtkleinf6d8d282015-12-17 10:18:04 -0800178 "src/opts/*avx*",
iroth8b99ef42015-11-02 11:11:21 -0800179 "src/opts/*x86*",
180 "src/opts/SkBitmapProcState_opts_none.cpp",
181 "src/opts/SkBlitMask_opts_none.cpp",
182 "src/opts/SkBlitRow_opts_none.cpp",
183 "src/ports/*android*",
184 "src/ports/*chromium*",
185 "src/ports/*fontconfig*",
186 "src/ports/*FontConfig*",
187 "src/ports/*FreeType*",
188 "src/ports/*mozalloc*",
189 "src/ports/*nacl*",
190 "src/ports/*win*",
191 "src/ports/SkDebug_stdio.cpp",
192 "src/ports/SkFontMgr_custom.cpp",
benjaminwagner2211a7b2015-12-01 11:12:05 -0800193 "src/ports/SkFontConfigInterface_direct_factory.cpp",
194 "src/ports/SkFontConfigInterface_direct_google3_factory.cpp",
iroth8b99ef42015-11-02 11:11:21 -0800195 "src/ports/SkFontMgr_custom_directory_factory.cpp",
196 "src/ports/SkFontMgr_custom_embedded_factory.cpp",
197 "src/ports/SkFontMgr_empty_factory.cpp",
198 "src/ports/SkImageDecoder_CG.cpp",
199 "src/ports/SkImageDecoder_WIC.cpp",
200 "src/ports/SkImageDecoder_empty.cpp",
201 "src/ports/SkImageGenerator_none.cpp",
202 "src/ports/SkTLS_none.cpp",
203 ],
204)
205
benjaminwagner39e7aa42015-11-18 13:26:10 -0800206BASE_SRCS_PLATFORM = select({
207 CONDITION_ANDROID: BASE_SRCS_ANDROID,
208 CONDITION_IOS: BASE_SRCS_IOS,
209 "//conditions:default": BASE_SRCS_UNIX,
benjaminwagner86ea33e2015-10-26 10:46:25 -0700210})
211
benjaminwagner39e7aa42015-11-18 13:26:10 -0800212SSSE3_SRCS = glob(
mtkleind55d13a2015-08-18 08:51:49 -0700213 [
214 "src/opts/*SSSE3*.cpp",
215 "src/opts/*ssse3*.cpp",
216 ],
217)
218
benjaminwagner39e7aa42015-11-18 13:26:10 -0800219SSE4_SRCS = glob(
mtkleind55d13a2015-08-18 08:51:49 -0700220 [
221 "src/opts/*SSE4*.cpp",
222 "src/opts/*sse4*.cpp",
benjaminwagner787ca872015-08-17 12:58:10 -0700223 ],
224)
225
mtkleinf6d8d282015-12-17 10:18:04 -0800226AVX_SRCS = glob(
227 [
228 "src/opts/*_avx.cpp",
229 ],
230)
231
232AVX2_SRCS = glob(
233 [
234 "src/opts/*_avx2.cpp",
235 ],
236)
237
benjaminwagner39e7aa42015-11-18 13:26:10 -0800238BASE_HDRS = glob(
benjaminwagner787ca872015-08-17 12:58:10 -0700239 [
240 "include/**/*.h",
241 ],
mtkleind55d13a2015-08-18 08:51:49 -0700242 exclude = [
benjaminwagner6f6bef82015-10-15 08:09:44 -0700243 "include/private/**/*",
244
245 # Not used.
246 "include/animator/**/*",
247 "include/views/**/*",
248 "include/xml/SkBML_WXMLParser.h",
249 "include/xml/SkBML_XMLParser.h",
mtkleind55d13a2015-08-18 08:51:49 -0700250 ],
benjaminwagner787ca872015-08-17 12:58:10 -0700251)
252
benjaminwagner39e7aa42015-11-18 13:26:10 -0800253# Dependencies.
254BASE_DEPS_UNIX = [
mtkleinf6d8d282015-12-17 10:18:04 -0800255 ":opts_avx2",
256 ":opts_avx",
benjaminwagner39e7aa42015-11-18 13:26:10 -0800257 ":opts_sse4",
258 ":opts_ssse3",
259]
260
261BASE_DEPS_ANDROID = []
262
263BASE_DEPS_IOS = []
264
265BASE_DEPS = select({
266 CONDITION_ANDROID: BASE_DEPS_ANDROID + BASE_EXTERNAL_DEPS_ANDROID,
267 CONDITION_IOS: BASE_DEPS_IOS + BASE_EXTERNAL_DEPS_IOS,
268 "//conditions:default": BASE_DEPS_UNIX + BASE_EXTERNAL_DEPS_UNIX,
269}) + EXTERNAL_DEPS_ALL
270
benjaminwagner787ca872015-08-17 12:58:10 -0700271# Includes needed by Skia implementation. Not public includes.
272INCLUDES = [
benjaminwagnerfa7e1a02015-11-13 12:27:08 -0800273 "include/android",
benjaminwagner787ca872015-08-17 12:58:10 -0700274 "include/c",
275 "include/codec",
276 "include/config",
277 "include/core",
benjaminwagner787ca872015-08-17 12:58:10 -0700278 "include/effects",
279 "include/gpu",
280 "include/images",
281 "include/pathops",
benjaminwagner787ca872015-08-17 12:58:10 -0700282 "include/pipe",
283 "include/ports",
284 "include/private",
285 "include/utils",
iroth8b99ef42015-11-02 11:11:21 -0800286 "include/utils/mac",
287 "include/utils/win",
benjaminwagner6f6bef82015-10-15 08:09:44 -0700288 "include/svg",
benjaminwagner787ca872015-08-17 12:58:10 -0700289 "include/xml",
benjaminwagnerfa7e1a02015-11-13 12:27:08 -0800290 "src/codec",
benjaminwagner787ca872015-08-17 12:58:10 -0700291 "src/core",
benjaminwagner787ca872015-08-17 12:58:10 -0700292 "src/gpu",
293 "src/image",
294 "src/lazy",
295 "src/opts",
benjaminwagner2211a7b2015-12-01 11:12:05 -0800296 "src/ports",
benjaminwagner787ca872015-08-17 12:58:10 -0700297 "src/pdf",
benjaminwagner787ca872015-08-17 12:58:10 -0700298 "src/sfnt",
299 "src/utils",
300 "third_party/etc1",
301 "third_party/ktx",
benjaminwagner2211a7b2015-12-01 11:12:05 -0800302] + EXTERNAL_INCLUDES
benjaminwagner787ca872015-08-17 12:58:10 -0700303
benjaminwagner39e7aa42015-11-18 13:26:10 -0800304## :dm
benjaminwagner86ea33e2015-10-26 10:46:25 -0700305
306# Platform-independent SRCS for DM.
benjaminwagner6f6bef82015-10-15 08:09:44 -0700307DM_SRCS = glob(
308 [
309 "dm/*.cpp",
310 "dm/*.h",
311 "gm/*.c",
312 "gm/*.cpp",
313 "gm/*.h",
314 "tests/*.cpp",
315 "tests/*.h",
316 "tools/CrashHandler.cpp",
317 "tools/CrashHandler.h",
318 "tools/LazyDecodeBitmap.cpp",
319 "tools/LazyDecodeBitmap.h",
320 "tools/ProcStats.cpp",
321 "tools/ProcStats.h",
322 "tools/Resources.cpp",
323 "tools/Resources.h",
benjaminwagner32885142015-10-24 07:55:31 -0700324 "tools/SkBitmapRegionCanvas.cpp",
325 "tools/SkBitmapRegionCanvas.h",
326 "tools/SkBitmapRegionCodec.cpp",
327 "tools/SkBitmapRegionCodec.h",
msarett5cb48852015-11-06 08:56:32 -0800328 "tools/SkBitmapRegionDecoder.cpp",
329 "tools/SkBitmapRegionDecoder.h",
benjaminwagner6f6bef82015-10-15 08:09:44 -0700330 "tools/SkBitmapRegionSampler.cpp",
331 "tools/SkBitmapRegionSampler.h",
benjaminwagner6f6bef82015-10-15 08:09:44 -0700332 "tools/flags/*.cpp",
333 "tools/flags/*.h",
benjaminwagner32885142015-10-24 07:55:31 -0700334 "tools/sk_tool_utils.cpp",
335 "tools/sk_tool_utils.h",
336 "tools/sk_tool_utils_font.cpp",
benjaminwagner6f6bef82015-10-15 08:09:44 -0700337 "tools/timer/*.cpp",
338 "tools/timer/*.h",
benjaminwagner6f6bef82015-10-15 08:09:44 -0700339 ],
340 exclude = [
benjaminwagner86ea33e2015-10-26 10:46:25 -0700341 "dm/DMSrcSinkAndroid.cpp", # Android-only.
342 "tests/FontMgrAndroidParserTest.cpp", # Android-only.
343 "tests/PathOpsSkpClipTest.cpp", # Alternate main.
benjaminwagner6f6bef82015-10-15 08:09:44 -0700344 "tests/skia_test.cpp", # Old main.
345 "tests/SkpSkGrTest.cpp", # Alternate main.
benjaminwagner6f6bef82015-10-15 08:09:44 -0700346 "tools/timer/SysTimer_mach.cpp",
benjaminwagner86ea33e2015-10-26 10:46:25 -0700347 "tools/timer/SysTimer_windows.cpp",
benjaminwagner6f6bef82015-10-15 08:09:44 -0700348 ],
349)
350
benjaminwagner86ea33e2015-10-26 10:46:25 -0700351DM_SRCS_UNIX = []
352
353DM_SRCS_ANDROID = glob(
354 [
355 # Depends on Android HWUI library that is not available in google3.
356 #"dm/DMSrcSinkAndroid.cpp",
357 "tests/FontMgrAndroidParserTest.cpp",
358 ],
359)
360
361DM_PLATFORM_SRCS = select({
362 CONDITION_ANDROID: DM_SRCS_ANDROID,
363 "//conditions:default": DM_SRCS_UNIX,
364})
365
benjaminwagner6f6bef82015-10-15 08:09:44 -0700366DM_INCLUDES = [
367 "gm",
368 "src/codec",
369 "src/effects",
370 "src/fonts",
371 "src/pathops",
372 "src/pipe/utils",
benjaminwagner86ea33e2015-10-26 10:46:25 -0700373 "src/ports",
benjaminwagner6f6bef82015-10-15 08:09:44 -0700374 "src/utils/debugger",
375 "tests",
376 "tools",
377 "tools/flags",
378 "tools/timer",
379]
380
benjaminwagner39e7aa42015-11-18 13:26:10 -0800381COPTS_ANDROID = ["-mfpu=neon"]
benjaminwagner86ea33e2015-10-26 10:46:25 -0700382
benjaminwagner39e7aa42015-11-18 13:26:10 -0800383COPTS_IOS = []
iroth8b99ef42015-11-02 11:11:21 -0800384
benjaminwagner86ea33e2015-10-26 10:46:25 -0700385COPTS_UNIX = [
benjaminwagner787ca872015-08-17 12:58:10 -0700386 "-Wno-implicit-fallthrough", # Some intentional fallthrough.
benjaminwagner7d974f52015-10-19 13:55:55 -0700387 "-Wno-deprecated-declarations", # Internal use of deprecated methods. :(
benjaminwagner787ca872015-08-17 12:58:10 -0700388]
389
benjaminwagner86ea33e2015-10-26 10:46:25 -0700390COPTS = select({
391 CONDITION_ANDROID: COPTS_ANDROID,
iroth8b99ef42015-11-02 11:11:21 -0800392 CONDITION_IOS: COPTS_IOS,
benjaminwagner86ea33e2015-10-26 10:46:25 -0700393 "//conditions:default": COPTS_UNIX,
394})
395
396DEFINES_ANDROID = [
397 "SK_BUILD_FOR_ANDROID",
398 # TODO(benjaminwagner): Try to get png library updated?
399 "SK_PNG_NO_INDEX_SUPPORTED",
400]
401
iroth8b99ef42015-11-02 11:11:21 -0800402DEFINES_IOS = [
403 "SK_BUILD_FOR_IOS",
404 "SK_IGNORE_ETC1_SUPPORT",
405]
406
benjaminwagner86ea33e2015-10-26 10:46:25 -0700407DEFINES_UNIX = [
408 "SK_BUILD_FOR_UNIX",
409 "SK_SAMPLES_FOR_X",
benjaminwagnerbc348f42016-01-05 17:00:04 -0800410 "SK_SFNTLY_SUBSETTER",
benjaminwagner86ea33e2015-10-26 10:46:25 -0700411]
412
413DEFINES_ALL = [
benjaminwagner787ca872015-08-17 12:58:10 -0700414 # Chrome DEFINES.
415 "SK_USE_FLOATBITS",
416 "SK_USE_FREETYPE_EMBOLDEN",
benjaminwagner85c8d062016-01-06 12:51:58 -0800417 # TODO(benjaminwagner): Needed for internal cl/107719535, but will be fixed
418 # up after that CL is submitted.
419 "SK_SUPPORT_LEGACY_SAVEFLAGS",
benjaminwagner787ca872015-08-17 12:58:10 -0700420 # Turn on a few Google3-specific build fixes.
421 "GOOGLE3",
benjaminwagner787ca872015-08-17 12:58:10 -0700422]
423
benjaminwagner86ea33e2015-10-26 10:46:25 -0700424DEFINES = select({
425 CONDITION_ANDROID: DEFINES_ANDROID,
iroth8b99ef42015-11-02 11:11:21 -0800426 CONDITION_IOS: DEFINES_IOS,
benjaminwagner86ea33e2015-10-26 10:46:25 -0700427 "//conditions:default": DEFINES_UNIX,
428}) + DEFINES_ALL
429
430LINKOPTS = select({
431 CONDITION_ANDROID: [
432 "-ldl",
433 "-lEGL",
434 ],
435 "//conditions:default": ["-ldl"],
436})
benjaminwagner6f6bef82015-10-15 08:09:44 -0700437
438cc_library(
439 name = "opts_ssse3",
benjaminwagner39e7aa42015-11-18 13:26:10 -0800440 srcs = SSSE3_SRCS,
benjaminwagner6f6bef82015-10-15 08:09:44 -0700441 copts = COPTS + ["-mssse3"],
442 defines = DEFINES,
443 includes = INCLUDES,
benjaminwagner8a3760f2015-10-29 13:40:27 -0700444 deps = EXTERNAL_DEPS_ALL,
benjaminwagner6f6bef82015-10-15 08:09:44 -0700445)
446
447cc_library(
448 name = "opts_sse4",
benjaminwagner39e7aa42015-11-18 13:26:10 -0800449 srcs = SSE4_SRCS,
benjaminwagner6f6bef82015-10-15 08:09:44 -0700450 copts = COPTS + ["-msse4"],
451 defines = DEFINES,
452 includes = INCLUDES,
benjaminwagner8a3760f2015-10-29 13:40:27 -0700453 deps = EXTERNAL_DEPS_ALL,
benjaminwagner6f6bef82015-10-15 08:09:44 -0700454)
455
mtkleinf6d8d282015-12-17 10:18:04 -0800456cc_library(
457 name = "opts_avx",
458 srcs = AVX_SRCS,
459 copts = COPTS + ["-mavx"],
460 defines = DEFINES,
461 includes = INCLUDES,
462 deps = EXTERNAL_DEPS_ALL,
463)
464
465cc_library(
466 name = "opts_avx2",
467 srcs = AVX2_SRCS,
468 copts = COPTS + ["-mavx2"],
469 defines = DEFINES,
470 includes = INCLUDES,
471 deps = EXTERNAL_DEPS_ALL,
472)
473
benjaminwagnera445cbc2015-11-18 13:48:47 -0800474# If you need Ganesh (GPU) support in Skia, please contact skia-team@google.com
475# for help.
benjaminwagner6f6bef82015-10-15 08:09:44 -0700476cc_library(
477 name = "skia",
benjaminwagner39e7aa42015-11-18 13:26:10 -0800478 srcs = BASE_SRCS + BASE_SRCS_PLATFORM,
479 hdrs = BASE_HDRS,
benjaminwagner6f6bef82015-10-15 08:09:44 -0700480 copts = COPTS,
481 defines = DEFINES,
482 includes = INCLUDES,
483 linkopts = LINKOPTS,
484 visibility = [":skia_clients"],
benjaminwagner39e7aa42015-11-18 13:26:10 -0800485 deps = BASE_DEPS,
benjaminwagner9dbec092015-11-02 05:53:38 -0800486 alwayslink = 1,
benjaminwagner6f6bef82015-10-15 08:09:44 -0700487)
488
489cc_test(
490 name = "dm",
491 size = "large",
benjaminwagner86ea33e2015-10-26 10:46:25 -0700492 srcs = DM_SRCS + DM_PLATFORM_SRCS,
benjaminwagner6f6bef82015-10-15 08:09:44 -0700493 args = [
494 "--nogpu",
495 "--verbose",
496 # TODO(mtklein): maybe investigate why these fail?
mtkleine47f1a72015-11-20 13:58:18 -0800497 "--match ~FontMgr ~Scalar ~Canvas ~Codec_stripes ~Codec_Dimensions ~Codec ~Stream ~skps ~RecordDraw_TextBounds",
benjaminwagner6f6bef82015-10-15 08:09:44 -0700498 "--resourcePath %s/resources" % BASE_DIR,
499 "--images %s/resources" % BASE_DIR,
500 ],
501 copts = COPTS,
benjaminwagner964eeba2015-10-20 13:00:48 -0700502 data = glob(["resources/**/*"]),
benjaminwagner6f6bef82015-10-15 08:09:44 -0700503 defines = DEFINES,
504 includes = DM_INCLUDES,
505 deps = DM_EXTERNAL_DEPS + [
506 ":skia",
benjaminwagner8a3760f2015-10-29 13:40:27 -0700507 ] + EXTERNAL_DEPS_ALL,
benjaminwagner6f6bef82015-10-15 08:09:44 -0700508)