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 "google/*.cpp", | 12 "src/**/*.h", |
13 "src/c/*.cpp", | 13 "src/**/*.cpp", |
14 "src/core/*.cpp", | 14 "src/**/*.c", |
15 "src/device/*.cpp", | |
16 "src/doc/*.cpp", | |
17 "src/effects/*.cpp", | |
18 "src/effects/gradients/*.cpp", | |
19 "src/image/*.cpp", | |
20 "src/images/*.cpp", | |
21 "src/lazy/*.cpp", | |
22 "src/pathops/*.cpp", | |
23 "src/pdf/*.cpp", | |
24 "src/pipe/*.cpp", | |
25 "src/sfnt/*.cpp", | |
26 "src/utils/*.cpp", | |
27 "src/gpu/*.cpp", | |
28 "src/gpu/effects/*.cpp", | |
29 "src/gpu/gl/*.cpp", | |
30 "src/gpu/gl/builders/*.cpp", | |
31 "src/gpu/gl/debug/*.cpp", | |
32 "src/gpu/gl/glx/*.cpp", | |
33 "src/opts/opts_check_x86.cpp", | |
34 "src/opts/*SSE2*.cpp", | |
35 "src/opts/*sse2*.cpp", | |
36 "src/opts/SkTextureCompression_opts_none.cpp", | |
37 | |
38 # TODO(mtklein): might be more maintainable with a blacklist instead? | |
39 "src/ports/SkBarriers_x86.cpp", | |
40 "src/ports/SkDebug_stdio.cpp", | |
41 "src/ports/SkDiscardableMemory_none.cpp", | |
42 "src/ports/SkFontHost_linux.cpp", | |
43 "src/ports/SkFontHost_FreeType.cpp", | |
44 "src/ports/SkFontHost_FreeType_common.cpp", | |
45 "src/ports/SkGlobalInitialization_default.cpp", | |
46 "src/ports/SkImageGenerator_skia.cpp", | |
47 "src/ports/SkMemory_malloc.cpp", | |
48 "src/ports/SkMutex_pthread.h", | |
49 "src/ports/SkOSFile_posix.cpp", | |
50 "src/ports/SkOSFile_stdio.cpp", | |
51 "src/ports/SkTLS_pthread.cpp", | |
52 "src/ports/SkTime_Unix.cpp", | |
53 | 15 |
54 # Third Party | 16 # Third Party |
55 "third_party/etc1/*.cpp", | 17 "third_party/etc1/*.cpp", |
| 18 "third_party/etc1/*.h", |
56 "third_party/ktx/*.cpp", | 19 "third_party/ktx/*.cpp", |
| 20 "third_party/ktx/*.h", |
57 ], | 21 ], |
58 exclude = [ | 22 exclude = [ |
59 "src/pdf/SkPDFFont.cpp", # Wrapped by google/SkPDFFont_sfntly.cpp | 23 # Exclude platform-dependent files. |
60 "src/gpu/gl/GrGLDefaultInterface_none.cpp", | 24 "src/device/xps/*", # Windows-only. Move to ports? |
61 "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", | 25 "src/doc/*_XPS.cpp", # Windows-only. Move to ports? |
62 # TODO(mtklein): files below here probably want upstream fixes | 26 "src/gpu/gl/android/*", |
63 "src/utils/SkThreadUtils_pthread_mach.cpp", # Mac-only. Move to ports? | 27 "src/gpu/gl/iOS/*", |
64 # Non-Mac-non-Linux. Move to ports? | 28 "src/gpu/gl/mac/*", |
65 "src/utils/SkThreadUtils_pthread_other.cpp", | 29 "src/gpu/gl/win/*", |
66 "src/utils/SkThreadUtils_win.cpp", # Windows-only. Move to ports? | 30 "src/opts/**/*", |
67 "src/doc/*_XPS.cpp", # Windows-only. | 31 "src/ports/**/*", |
| 32 "src/utils/android/**/*", |
| 33 "src/utils/mac/**/*", |
| 34 "src/utils/SkThreadUtils_pthread_mach.cpp", # Mac-only. Move to ports? |
| 35 "src/utils/SkThreadUtils_pthread_other.cpp", # Non-Mac-non-Linux. Move
to ports? |
| 36 "src/utils/SkThreadUtils_win.cpp", # Windows-only. Move to ports? |
| 37 "src/utils/win/**/*", |
| 38 "src/views/sdl/*", |
| 39 "src/views/win/*", |
| 40 "src/views/unix/*", |
| 41 |
| 42 # Exclude multiple definitions. |
| 43 # TODO(mtklein): Move to opts? |
68 "src/doc/SkDocument_PDF_None.cpp", # We use SkDocument_PDF.cpp. | 44 "src/doc/SkDocument_PDF_None.cpp", # We use SkDocument_PDF.cpp. |
| 45 "src/fonts/*fontconfig*", |
| 46 "src/gpu/gl/egl/*", # Conflicts with gpu/gl/glx. |
| 47 "src/gpu/gl/nacl/*", # Conflicts with gpu/gl/glx. |
| 48 "src/gpu/gl/GrGLDefaultInterface_none.cpp", # Conflicts with src/gpu/gl
/GrGLDefaultInterface_native.cpp |
| 49 "src/gpu/gl/GrGLCreateNativeInterface_none.cpp", # Conflicts with src/g
pu/gl/glx/GrGLCreateNativeInterface_glx.cpp |
| 50 |
| 51 # Exclude files that don't compile with the current DEFINES. |
| 52 "src/gpu/gl/angle/*", # Requires SK_ANGLE define. |
| 53 "src/gpu/gl/command_buffer/*", # unknown type name 'HMODULE' |
| 54 "src/gpu/gl/mesa/*", # Requires SK_MESA define. |
| 55 "src/svg/parser/*", # Missing SkSVG.h. |
| 56 |
| 57 # Dependency on files outside src. |
| 58 "src/svg/skp2svg.cpp", # Depends on tools/LazyDecodeBitmap.h. |
| 59 |
| 60 # Not used. |
| 61 "src/animator/**/*", |
| 62 "src/views/**/*", |
| 63 "src/xml/SkBML_Verbs.h", |
| 64 "src/xml/SkBML_XMLParser.cpp", |
| 65 "src/xml/SkXMLPullParser.cpp", |
69 ], | 66 ], |
70 ) | 67 ) |
71 | 68 |
| 69 # Platform-dependent SRCS for google3-default platform. |
| 70 PLATFORM_SRCS = glob( |
| 71 [ |
| 72 "src/opts/**/*.cpp", |
| 73 "src/opts/**/*.h", |
| 74 "src/ports/**/*.cpp", |
| 75 "src/ports/**/*.h", |
| 76 ], |
| 77 exclude = [ |
| 78 "src/opts/*arm*", |
| 79 "src/opts/*mips*", |
| 80 "src/opts/*NEON*", |
| 81 "src/opts/*neon*", |
| 82 "src/opts/*SSSE3*", |
| 83 "src/opts/*ssse3*", |
| 84 "src/opts/*SSE4*", |
| 85 "src/opts/*sse4*", |
| 86 "src/opts/SkBlitMask_opts_none.cpp", |
| 87 "src/opts/SkBitmapProcState_opts_none.cpp", |
| 88 "src/opts/SkBlitRow_opts_none.cpp", |
| 89 "src/ports/*android*", |
| 90 "src/ports/*chromium*", |
| 91 "src/ports/*CG*", |
| 92 "src/ports/*fontconfig*", |
| 93 "src/ports/*FontConfig*", |
| 94 "src/ports/*mac*", |
| 95 "src/ports/*mozalloc*", |
| 96 "src/ports/*nacl*", |
| 97 "src/ports/*win*", |
| 98 "src/ports/SkFontMgr_custom_embedded_factory.cpp", |
| 99 "src/ports/SkFontMgr_empty_factory.cpp", |
| 100 "src/ports/SkImageDecoder_WIC.cpp", |
| 101 "src/ports/SkImageDecoder_empty.cpp", |
| 102 "src/ports/SkImageGenerator_none.cpp", |
| 103 "src/ports/SkTLS_none.cpp", |
| 104 ], |
| 105 ) |
| 106 |
72 SRCS_SSSE3 = glob( | 107 SRCS_SSSE3 = glob( |
73 [ | 108 [ |
74 "src/opts/*SSSE3*.cpp", | 109 "src/opts/*SSSE3*.cpp", |
75 "src/opts/*ssse3*.cpp", | 110 "src/opts/*ssse3*.cpp", |
76 ], | 111 ], |
77 ) | 112 ) |
78 | 113 |
79 SRCS_SSE4 = glob( | 114 SRCS_SSE4 = glob( |
80 [ | 115 [ |
81 "src/opts/*SSE4*.cpp", | 116 "src/opts/*SSE4*.cpp", |
82 "src/opts/*sse4*.cpp", | 117 "src/opts/*sse4*.cpp", |
83 ], | 118 ], |
84 ) | 119 ) |
85 | 120 |
86 HDRS = glob( | 121 HDRS = glob( |
87 [ | 122 [ |
88 "include/**/*.h", | 123 "include/**/*.h", |
89 ], | 124 ], |
90 exclude = [ | 125 exclude = [ |
91 "include/animator/*.h", | 126 "include/private/**/*", |
92 "include/private/*.h", | 127 |
| 128 # Not used. |
| 129 "include/animator/**/*", |
| 130 "include/views/**/*", |
| 131 "include/xml/SkBML_WXMLParser.h", |
| 132 "include/xml/SkBML_XMLParser.h", |
93 ], | 133 ], |
94 ) | 134 ) |
95 | 135 |
96 # Includes needed by Skia implementation. Not public includes. | 136 # Includes needed by Skia implementation. Not public includes. |
97 INCLUDES = [ | 137 INCLUDES = [ |
98 "include/c", | 138 "include/c", |
99 "include/codec", | 139 "include/codec", |
100 "include/config", | 140 "include/config", |
101 "include/core", | 141 "include/core", |
102 "include/device", | |
103 "include/effects", | 142 "include/effects", |
104 "include/gpu", | 143 "include/gpu", |
105 "include/images", | 144 "include/images", |
106 "include/pathops", | 145 "include/pathops", |
107 "include/pdf", | |
108 "include/pipe", | 146 "include/pipe", |
109 "include/ports", | 147 "include/ports", |
110 "include/private", | 148 "include/private", |
111 "include/utils", | 149 "include/utils", |
112 "include/views", | 150 "include/svg", |
113 "include/xml", | 151 "include/xml", |
114 "src/core", | 152 "src/core", |
115 "src/doc", | |
116 "src/gpu", | 153 "src/gpu", |
117 "src/image", | 154 "src/image", |
118 "src/lazy", | 155 "src/lazy", |
119 "src/opts", | 156 "src/opts", |
120 "src/pdf", | 157 "src/pdf", |
121 "src/ports", | |
122 "src/sfnt", | 158 "src/sfnt", |
123 "src/utils", | 159 "src/utils", |
124 "third_party/etc1", | 160 "third_party/etc1", |
125 "third_party/ktx", | 161 "third_party/ktx", |
126 ] | 162 ] |
127 | 163 |
| 164 DM_SRCS = glob( |
| 165 [ |
| 166 "dm/*.cpp", |
| 167 "dm/*.h", |
| 168 "gm/*.c", |
| 169 "gm/*.cpp", |
| 170 "gm/*.h", |
| 171 "tests/*.cpp", |
| 172 "tests/*.h", |
| 173 "tools/CrashHandler.cpp", |
| 174 "tools/CrashHandler.h", |
| 175 "tools/LazyDecodeBitmap.cpp", |
| 176 "tools/LazyDecodeBitmap.h", |
| 177 "tools/ProcStats.cpp", |
| 178 "tools/ProcStats.h", |
| 179 "tools/Resources.cpp", |
| 180 "tools/Resources.h", |
| 181 "tools/SkBitmapRegionDecoderInterface.cpp", |
| 182 "tools/SkBitmapRegionDecoderInterface.h", |
| 183 "tools/SkBitmapRegionSampler.cpp", |
| 184 "tools/SkBitmapRegionSampler.h", |
| 185 "tools/SkBitmapRegionCanvas.cpp", |
| 186 "tools/SkBitmapRegionCanvas.h", |
| 187 "tools/flags/*.cpp", |
| 188 "tools/flags/*.h", |
| 189 "tools/timer/*.cpp", |
| 190 "tools/timer/*.h", |
| 191 "tools/sk_tool_utils.cpp", |
| 192 "tools/sk_tool_utils_font.cpp", |
| 193 "tools/sk_tool_utils.h", |
| 194 ], |
| 195 exclude = [ |
| 196 "tests/skia_test.cpp", # Old main. |
| 197 "tests/SkpSkGrTest.cpp", # Alternate main. |
| 198 "tests/PathOpsSkpClipTest.cpp", # Alternate main. |
| 199 "tests/FontMgrAndroidParserTest.cpp", # Android-only. |
| 200 "dm/DMSrcSinkAndroid.cpp", # Android-only. |
| 201 "tools/timer/SysTimer_windows.cpp", |
| 202 "tools/timer/SysTimer_mach.cpp", |
| 203 ], |
| 204 ) |
| 205 |
| 206 DM_INCLUDES = [ |
| 207 "gm", |
| 208 "src/codec", |
| 209 "src/effects", |
| 210 "src/fonts", |
| 211 "src/pathops", |
| 212 "src/pipe/utils", |
| 213 "src/utils/debugger", |
| 214 "tests", |
| 215 "tools", |
| 216 "tools/flags", |
| 217 "tools/timer", |
| 218 ] |
| 219 |
128 COPTS = [ | 220 COPTS = [ |
129 "-Wno-deprecated-declarations", # Internal use of deprecated methods. :( | |
130 "-Wno-implicit-fallthrough", # Some intentional fallthrough. | 221 "-Wno-implicit-fallthrough", # Some intentional fallthrough. |
131 ] | 222 ] |
132 | 223 |
133 DEFINES = [ | 224 DEFINES = [ |
134 # It'd be nice for fastbuild, dbg -> SK_DEBUG, opt -> SK_RELEASE. | 225 # It'd be nice for fastbuild, dbg -> SK_DEBUG, opt -> SK_RELEASE. |
135 "SK_RELEASE", | 226 "SK_RELEASE", |
136 # Chrome DEFINES. | 227 # Chrome DEFINES. |
137 "SK_USE_FLOATBITS", | 228 "SK_USE_FLOATBITS", |
138 "SK_USE_FREETYPE_EMBOLDEN", | 229 "SK_USE_FREETYPE_EMBOLDEN", |
139 # Turn on a few Google3-specific build fixes. | 230 # Turn on a few Google3-specific build fixes. |
140 "GOOGLE3", | 231 "GOOGLE3", |
141 "SK_BUILD_FOR_UNIX", | 232 "SK_BUILD_FOR_UNIX", |
142 "SK_SAMPLES_FOR_X", | 233 "SK_SAMPLES_FOR_X", |
143 ] | 234 ] |
144 | 235 |
145 LINKOPTS = ["-ldl"] | 236 LINKOPTS = ["-ldl"] |
| 237 |
| 238 cc_library( |
| 239 name = "opts_ssse3", |
| 240 srcs = SRCS_SSSE3, |
| 241 copts = COPTS + ["-mssse3"], |
| 242 defines = DEFINES, |
| 243 includes = INCLUDES, |
| 244 ) |
| 245 |
| 246 cc_library( |
| 247 name = "opts_sse4", |
| 248 srcs = SRCS_SSE4, |
| 249 copts = COPTS + ["-msse4"], |
| 250 defines = DEFINES, |
| 251 includes = INCLUDES, |
| 252 ) |
| 253 |
| 254 cc_library( |
| 255 name = "skia", |
| 256 srcs = SRCS + PLATFORM_SRCS, |
| 257 hdrs = HDRS, |
| 258 copts = COPTS, |
| 259 defines = DEFINES, |
| 260 includes = INCLUDES, |
| 261 linkopts = LINKOPTS, |
| 262 visibility = [":skia_clients"], |
| 263 deps = EXTERNAL_DEPS + [ |
| 264 ":opts_sse4", |
| 265 ":opts_ssse3", |
| 266 ], |
| 267 ) |
| 268 |
| 269 cc_test( |
| 270 name = "dm", |
| 271 size = "large", |
| 272 srcs = DM_SRCS, |
| 273 args = [ |
| 274 "--nogpu", |
| 275 "--verbose", |
| 276 # TODO(mtklein): maybe investigate why these fail? |
| 277 "--match ~FontMgr ~Gif ~Scalar ~Canvas ~Codec_stripes ~Stream ~skps", |
| 278 # TODO(benjaminwagner): dm can't find resources when running on TAP. |
| 279 "--resourcePath %s/resources" % BASE_DIR, |
| 280 "--images %s/resources" % BASE_DIR, |
| 281 ], |
| 282 copts = COPTS, |
| 283 data = glob(["resources/*"]), |
| 284 defines = DEFINES, |
| 285 includes = DM_INCLUDES, |
| 286 deps = DM_EXTERNAL_DEPS + [ |
| 287 ":skia", |
| 288 ], |
| 289 ) |
OLD | NEW |