1# Copyright 2013 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5 6# This gypi file contains the Skia library. 7# In component mode (shared_lib) it is folded into a single shared library with 8# the Chrome-specific enhancements but in all other cases it is a separate lib. 9 10# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!WARNING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 11# variables and defines should go in skia_common.gypi so they can be seen 12# by files listed here and in skia_library_opts.gypi. 13# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!WARNING!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 14{ 15 'dependencies': [ 16 'skia_library_opts.gyp:skia_opts', 17 '../third_party/zlib/zlib.gyp:zlib', 18 ], 19 20 'includes': [ 21 '../third_party/skia/gyp/core.gypi', 22 '../third_party/skia/gyp/effects.gypi', 23 '../third_party/skia/gyp/pdf.gypi', 24 '../third_party/skia/gyp/record.gypi', 25 '../third_party/skia/gyp/utils.gypi', 26 ], 27 28 'sources': [ 29 # this should likely be moved into src/utils in skia 30 '../third_party/skia/src/core/SkFlate.cpp', 31 32 '../third_party/skia/src/ports/SkImageDecoder_empty.cpp', 33 '../third_party/skia/src/images/SkScaledBitmapSampler.cpp', 34 '../third_party/skia/src/images/SkScaledBitmapSampler.h', 35 36 '../third_party/skia/src/opts/opts_check_x86.cpp', 37 38 '../third_party/skia/src/ports/SkFontConfigInterface_direct.cpp', 39 40 '../third_party/skia/src/fonts/SkFontMgr_fontconfig.cpp', 41 '../third_party/skia/src/ports/SkFontHost_fontconfig.cpp', 42 43 '../third_party/skia/src/fonts/SkFontMgr_indirect.cpp', 44 '../third_party/skia/src/fonts/SkRemotableFontMgr.cpp', 45 '../third_party/skia/src/ports/SkRemotableFontMgr_win_dw.cpp', 46 47 '../third_party/skia/src/ports/SkFontHost_FreeType.cpp', 48 '../third_party/skia/src/ports/SkFontHost_FreeType_common.cpp', 49 '../third_party/skia/src/ports/SkFontHost_FreeType_common.h', 50 '../third_party/skia/src/ports/SkFontConfigParser_android.cpp', 51 '../third_party/skia/src/ports/SkFontHost_mac.cpp', 52 '../third_party/skia/src/ports/SkFontHost_win.cpp', 53 "../third_party/skia/src/ports/SkFontMgr_android.cpp", 54 '../third_party/skia/src/ports/SkFontMgr_win_dw.cpp', 55 '../third_party/skia/src/ports/SkGlobalInitialization_chromium.cpp', 56 '../third_party/skia/src/ports/SkOSFile_posix.cpp', 57 '../third_party/skia/src/ports/SkOSFile_stdio.cpp', 58 '../third_party/skia/src/ports/SkOSFile_win.cpp', 59 '../third_party/skia/src/ports/SkScalerContext_win_dw.cpp', 60 '../third_party/skia/src/ports/SkScalerContext_win_dw.h', 61 '../third_party/skia/src/ports/SkTime_Unix.cpp', 62 '../third_party/skia/src/ports/SkTLS_pthread.cpp', 63 '../third_party/skia/src/ports/SkTLS_win.cpp', 64 '../third_party/skia/src/ports/SkTypeface_win_dw.cpp', 65 '../third_party/skia/src/ports/SkTypeface_win_dw.h', 66 67 '../third_party/skia/src/sfnt/SkOTTable_name.cpp', 68 '../third_party/skia/src/sfnt/SkOTTable_name.h', 69 '../third_party/skia/src/sfnt/SkOTUtils.cpp', 70 '../third_party/skia/src/sfnt/SkOTUtils.h', 71 72 '../third_party/skia/src/utils/debugger/SkDebugCanvas.cpp', 73 '../third_party/skia/src/utils/debugger/SkDebugCanvas.h', 74 '../third_party/skia/src/utils/debugger/SkDrawCommand.cpp', 75 '../third_party/skia/src/utils/debugger/SkDrawCommand.h', 76 '../third_party/skia/src/utils/debugger/SkObjectParser.cpp', 77 '../third_party/skia/src/utils/debugger/SkObjectParser.h', 78 79 '../third_party/skia/include/images/SkMovie.h', 80 '../third_party/skia/include/images/SkPageFlipper.h', 81 82 '../third_party/skia/include/ports/SkFontConfigInterface.h', 83 '../third_party/skia/include/ports/SkFontMgr.h', 84 '../third_party/skia/include/ports/SkFontMgr_indirect.h', 85 '../third_party/skia/include/ports/SkFontStyle.h', 86 '../third_party/skia/include/ports/SkRemotableFontMgr.h', 87 '../third_party/skia/include/ports/SkTypeface_win.h', 88 ], 89 90 # Exclude all unused files in skia utils.gypi file 91 'sources!': [ 92 '../third_party/skia/src/utils/SkCondVar.cpp', 93 '../third_party/skia/src/utils/SkCondVar.h', 94 '../third_party/skia/src/utils/SkRunnable.h', 95 96 '../third_party/skia/include/utils/SkBoundaryPatch.h', 97 '../third_party/skia/include/utils/SkFrontBufferedStream.h', 98 '../third_party/skia/include/utils/SkCamera.h', 99 '../third_party/skia/include/utils/SkCanvasStateUtils.h', 100 '../third_party/skia/include/utils/SkCubicInterval.h', 101 '../third_party/skia/include/utils/SkCullPoints.h', 102 '../third_party/skia/include/utils/SkDebugUtils.h', 103 '../third_party/skia/include/utils/SkDumpCanvas.h', 104 '../third_party/skia/include/utils/SkEventTracer.h', 105 '../third_party/skia/include/utils/SkInterpolator.h', 106 '../third_party/skia/include/utils/SkLayer.h', 107 '../third_party/skia/include/utils/SkMeshUtils.h', 108 '../third_party/skia/include/utils/SkNinePatch.h', 109 '../third_party/skia/include/utils/SkParse.h', 110 '../third_party/skia/include/utils/SkParsePaint.h', 111 '../third_party/skia/include/utils/SkParsePath.h', 112 '../third_party/skia/include/utils/SkRandom.h', 113 '../third_party/skia/include/utils/SkWGL.h', 114 115 '../third_party/skia/src/utils/SkBitmapHasher.cpp', 116 '../third_party/skia/src/utils/SkBitmapHasher.h', 117 '../third_party/skia/src/utils/SkBoundaryPatch.cpp', 118 '../third_party/skia/src/utils/SkFrontBufferedStream.cpp', 119 '../third_party/skia/src/utils/SkCamera.cpp', 120 '../third_party/skia/src/utils/SkCanvasStack.h', 121 '../third_party/skia/src/utils/SkCubicInterval.cpp', 122 '../third_party/skia/src/utils/SkCullPoints.cpp', 123 '../third_party/skia/src/utils/SkDumpCanvas.cpp', 124 '../third_party/skia/src/utils/SkFloatUtils.h', 125 '../third_party/skia/src/utils/SkGatherPixelRefsAndRects.cpp', 126 '../third_party/skia/src/utils/SkGatherPixelRefsAndRects.h', 127 '../third_party/skia/src/utils/SkInterpolator.cpp', 128 '../third_party/skia/src/utils/SkLayer.cpp', 129 '../third_party/skia/src/utils/SkMD5.cpp', 130 '../third_party/skia/src/utils/SkMD5.h', 131 '../third_party/skia/src/utils/SkMeshUtils.cpp', 132 '../third_party/skia/src/utils/SkNinePatch.cpp', 133 '../third_party/skia/src/utils/SkOSFile.cpp', 134 '../third_party/skia/src/utils/SkParse.cpp', 135 '../third_party/skia/src/utils/SkParseColor.cpp', 136 '../third_party/skia/src/utils/SkParsePath.cpp', 137 '../third_party/skia/src/utils/SkPathUtils.cpp', 138 '../third_party/skia/src/utils/SkSHA1.cpp', 139 '../third_party/skia/src/utils/SkSHA1.h', 140 '../third_party/skia/src/utils/SkThreadUtils.h', 141 '../third_party/skia/src/utils/SkThreadUtils_pthread.cpp', 142 '../third_party/skia/src/utils/SkThreadUtils_pthread.h', 143 '../third_party/skia/src/utils/SkThreadUtils_pthread_linux.cpp', 144 '../third_party/skia/src/utils/SkThreadUtils_pthread_mach.cpp', 145 '../third_party/skia/src/utils/SkThreadUtils_pthread_other.cpp', 146 '../third_party/skia/src/utils/SkThreadUtils_win.cpp', 147 '../third_party/skia/src/utils/SkThreadUtils_win.h', 148 '../third_party/skia/src/utils/SkTFitsIn.h', 149 '../third_party/skia/src/utils/SkTLogic.h', 150 151#windows 152 '../third_party/skia/include/utils/win/SkAutoCoInitialize.h', 153 '../third_party/skia/include/utils/win/SkHRESULT.h', 154 '../third_party/skia/include/utils/win/SkIStream.h', 155 '../third_party/skia/include/utils/win/SkTScopedComPtr.h', 156 '../third_party/skia/src/utils/win/SkAutoCoInitialize.cpp', 157 '../third_party/skia/src/utils/win/SkIStream.cpp', 158 '../third_party/skia/src/utils/win/SkWGL_win.cpp', 159 160#testing 161 '../third_party/skia/src/fonts/SkGScalerContext.cpp', 162 '../third_party/skia/src/fonts/SkGScalerContext.h', 163 ], 164 165 'include_dirs': [ 166 '../third_party/skia/include/core', 167 '../third_party/skia/include/effects', 168 '../third_party/skia/include/images', 169 '../third_party/skia/include/lazy', 170 '../third_party/skia/include/pathops', 171 '../third_party/skia/include/pdf', 172 '../third_party/skia/include/pipe', 173 '../third_party/skia/include/ports', 174 '../third_party/skia/include/record', 175 '../third_party/skia/include/utils', 176 '../third_party/skia/src/core', 177 '../third_party/skia/src/opts', 178 '../third_party/skia/src/image', 179 '../third_party/skia/src/ports', 180 '../third_party/skia/src/sfnt', 181 '../third_party/skia/src/utils', 182 '../third_party/skia/src/lazy', 183 ], 184 'conditions': [ 185 ['skia_support_gpu != 0', { 186 'includes': [ 187 '../third_party/skia/gyp/gpu.gypi', 188 ], 189 'sources': [ 190 '<@(skgpu_null_gl_sources)', 191 '<@(skgpu_sources)', 192 ], 193 'include_dirs': [ 194 '../third_party/skia/include/gpu', 195 '../third_party/skia/src/gpu', 196 ], 197 }], 198 ['skia_support_pdf == 0', { 199 'sources/': [ 200 ['exclude', '../third_party/skia/src/pdf/'] 201 ], 202 }], 203 ['skia_support_pdf == 1', { 204 'dependencies': [ 205 '../third_party/sfntly/sfntly.gyp:sfntly', 206 ], 207 }], 208 209 [ 'OS != "ios"', { 210 'dependencies': [ 211 '../third_party/WebKit/public/blink_skia_config.gyp:blink_skia_config', 212 ], 213 'export_dependent_settings': [ 214 '../third_party/WebKit/public/blink_skia_config.gyp:blink_skia_config', 215 ], 216 }], 217 [ 'OS != "mac"', { 218 'sources/': [ 219 ['exclude', '/mac/'] 220 ], 221 }], 222 [ 'OS == "android" and target_arch == "arm"', { 223 'sources': [ 224 '../third_party/skia/src/core/SkUtilsArm.cpp', 225 ], 226 'includes': [ 227 '../build/android/cpufeatures.gypi', 228 ], 229 }], 230 [ 'target_arch == "arm" or target_arch == "arm64" or \ 231 target_arch == "mipsel" or target_arch == "mips64el"', { 232 'sources!': [ 233 '../third_party/skia/src/opts/opts_check_x86.cpp' 234 ], 235 }], 236 [ 'desktop_linux == 1 or chromeos == 1', { 237 'dependencies': [ 238 '../build/linux/system.gyp:fontconfig', 239 '../build/linux/system.gyp:freetype2', 240 '../third_party/icu/icu.gyp:icuuc', 241 ], 242 'cflags': [ 243 '-Wno-unused', 244 '-Wno-unused-function', 245 ], 246 }], 247 [ 'use_cairo == 1', { 248 'dependencies': [ 249 '../build/linux/system.gyp:pangocairo', 250 ], 251 }], 252 [ 'OS=="win" or OS=="mac" or OS=="ios" or OS=="android"', { 253 'sources!': [ 254 '../third_party/skia/src/ports/SkFontConfigInterface_direct.cpp', 255 '../third_party/skia/src/ports/SkFontHost_fontconfig.cpp', 256 '../third_party/skia/src/fonts/SkFontMgr_fontconfig.cpp', 257 ], 258 }], 259 [ 'OS=="win" or OS=="mac" or OS=="ios"', { 260 'sources!': [ 261 '../third_party/skia/src/ports/SkFontHost_FreeType.cpp', 262 '../third_party/skia/src/ports/SkFontHost_FreeType_common.cpp', 263 264 ], 265 }], 266 [ 'OS == "android"', { 267 'dependencies': [ 268 '../third_party/expat/expat.gyp:expat', 269 '../third_party/freetype/freetype.gyp:ft2', 270 ], 271 # This exports a hard dependency because it needs to run its 272 # symlink action in order to expose the skia header files. 273 'hard_dependency': 1, 274 'include_dirs': [ 275 '../third_party/expat/files/lib', 276 ], 277 }], 278 [ 'OS == "ios"', { 279 'include_dirs': [ 280 '../third_party/skia/include/utils/ios', 281 '../third_party/skia/include/utils/mac', 282 ], 283 'link_settings': { 284 'libraries': [ 285 '$(SDKROOT)/System/Library/Frameworks/ImageIO.framework', 286 ], 287 }, 288 'sources': [ 289 # This file is used on both iOS and Mac, so it should be removed 290 # from the ios and mac conditions and moved into the main sources 291 # list. 292 '../third_party/skia/src/utils/mac/SkStream_mac.cpp', 293 ], 294 'sources/': [ 295 ['exclude', 'opts_check_x86\\.cpp$'], 296 ], 297 298 # The main skia_opts target does not currently work on iOS because the 299 # target architecture on iOS is determined at compile time rather than 300 # gyp time (simulator builds are x86, device builds are arm). As a 301 # temporary measure, this is a separate opts target for iOS-only, using 302 # the _none.cpp files to avoid architecture-dependent implementations. 303 'dependencies': [ 304 'skia_library_opts.gyp:skia_opts_none', 305 ], 306 'dependencies!': [ 307 'skia_library_opts.gyp:skia_opts', 308 ], 309 }], 310 [ 'OS == "mac"', { 311 'direct_dependent_settings': { 312 'include_dirs': [ 313 '../third_party/skia/include/utils/mac', 314 ], 315 }, 316 'include_dirs': [ 317 '../third_party/skia/include/utils/mac', 318 ], 319 'link_settings': { 320 'libraries': [ 321 '$(SDKROOT)/System/Library/Frameworks/AppKit.framework', 322 ], 323 }, 324 'sources': [ 325 '../third_party/skia/src/utils/mac/SkStream_mac.cpp', 326 ], 327 }], 328 [ 'OS == "win"', { 329 'sources!': [ 330 '../third_party/skia/src/ports/SkOSFile_posix.cpp', 331 '../third_party/skia/src/ports/SkTime_Unix.cpp', 332 '../third_party/skia/src/ports/SkTLS_pthread.cpp', 333 ], 334 'include_dirs': [ 335 '../third_party/skia/include/utils/win', 336 '../third_party/skia/src/utils/win', 337 ], 338 },{ # not 'OS == "win"' 339 'sources!': [ 340 '../third_party/skia/src/ports/SkFontMgr_win_dw.cpp', 341 '../third_party/skia/src/ports/SkRemotableFontMgr_win_dw.cpp', 342 '../third_party/skia/src/ports/SkScalerContext_win_dw.cpp', 343 '../third_party/skia/src/ports/SkScalerContext_win_dw.h', 344 '../third_party/skia/src/ports/SkTypeface_win_dw.cpp', 345 '../third_party/skia/src/ports/SkTypeface_win_dw.h', 346 347 '../third_party/skia/src/utils/win/SkDWrite.h', 348 '../third_party/skia/src/utils/win/SkDWrite.cpp', 349 '../third_party/skia/src/utils/win/SkDWriteFontFileStream.cpp', 350 '../third_party/skia/src/utils/win/SkDWriteFontFileStream.h', 351 '../third_party/skia/src/utils/win/SkDWriteGeometrySink.cpp', 352 '../third_party/skia/src/utils/win/SkDWriteGeometrySink.h', 353 '../third_party/skia/src/utils/win/SkHRESULT.cpp', 354 ], 355 }], 356 ], 357 'target_conditions': [ 358 # Pull in specific Mac files for iOS (which have been filtered out 359 # by file name rules). 360 [ 'OS == "ios"', { 361 'sources/': [ 362 ['include', 'SkFontHost_mac\\.cpp$',], 363 ['include', 'SkStream_mac\\.cpp$',], 364 ['include', 'SkCreateCGImageRef\\.cpp$',], 365 ], 366 }], 367 ], 368 369 'direct_dependent_settings': { 370 'include_dirs': [ 371 #temporary until we can hide SkFontHost 372 '../third_party/skia/src/core', 373 374 '../third_party/skia/include/core', 375 '../third_party/skia/include/effects', 376 '../third_party/skia/include/pdf', 377 '../third_party/skia/include/gpu', 378 '../third_party/skia/include/lazy', 379 '../third_party/skia/include/pathops', 380 '../third_party/skia/include/pipe', 381 '../third_party/skia/include/ports', 382 '../third_party/skia/include/utils', 383 ], 384 }, 385} 386