|  | # Copyright 2011 The Android Open Source Project | 
|  | # | 
|  | # Use of this source code is governed by a BSD-style license that can be | 
|  | # found in the LICENSE file. | 
|  | # | 
|  | # This file is automatically included by gyp_skia when building any target. | 
|  |  | 
|  | { | 
|  | 'includes': [ | 
|  | 'common_variables.gypi', | 
|  | ], | 
|  |  | 
|  | 'target_defaults': { | 
|  | 'defines': [ | 
|  | 'SK_INTERNAL', | 
|  | 'SK_GAMMA_SRGB', | 
|  | 'SK_GAMMA_APPLY_TO_A8', | 
|  | 'SK_SCALAR_TO_FLOAT_EXCLUDED',  # temporary to allow Chrome to call SkFloatToScalar | 
|  | ], | 
|  |  | 
|  | # Validate the 'skia_os' setting against 'OS', because only certain | 
|  | # combinations work.  You should only override 'skia_os' for certain | 
|  | # situations, like building for iOS on a Mac. | 
|  | 'variables': { | 
|  | 'conditions': [ | 
|  | [ 'skia_os != OS and not ((skia_os == "ios" and OS == "mac") or \ | 
|  | (skia_os == "nacl" and OS == "linux") or \ | 
|  | (skia_os == "chromeos" and OS == "linux"))', { | 
|  | 'error': '<!(Cannot build with skia_os=<(skia_os) on OS=<(OS))', | 
|  | }], | 
|  | [ 'skia_mesa and skia_os not in ["mac", "linux"]', { | 
|  | 'error': '<!(skia_mesa=1 only supported with skia_os="mac" or "linux".)', | 
|  | }], | 
|  | [ 'skia_angle and not skia_os == "win"', { | 
|  | 'error': '<!(skia_angle=1 only supported with skia_os="win".)', | 
|  | }], | 
|  | [ 'skia_arch_width != 32 and skia_arch_width != 64', { | 
|  | 'error': '<!(skia_arch_width can only be 32 or 64 bits not <(skia_arch_width) bits)', | 
|  | }], | 
|  | [ 'skia_os == "nacl" and OS != "linux"', { | 
|  | 'error': '<!(Skia NaCl build only currently supported on Linux.)', | 
|  | }], | 
|  | [ 'skia_os == "chromeos" and OS != "linux"', { | 
|  | 'error': '<!(Skia ChromeOS build is only supported on Linux.)', | 
|  | }], | 
|  | ], | 
|  | }, | 
|  | 'includes': [ | 
|  | 'common_conditions.gypi', | 
|  | ], | 
|  | 'conditions': [ | 
|  | [ 'skia_scalar == "float"', | 
|  | { | 
|  | 'defines': [ | 
|  | 'SK_SCALAR_IS_FLOAT', | 
|  | ], | 
|  | }, { # else, skia_scalar != "float" | 
|  | 'defines': [ | 
|  | 'SK_SCALAR_IS_FIXED', | 
|  | ], | 
|  | } | 
|  | ], | 
|  | [ 'skia_mesa', { | 
|  | 'defines': [ | 
|  | 'SK_MESA', | 
|  | ], | 
|  | 'direct_dependent_settings': { | 
|  | 'defines': [ | 
|  | 'SK_MESA', | 
|  | ], | 
|  | }, | 
|  | }], | 
|  | [ 'skia_angle', { | 
|  | 'defines': [ | 
|  | 'SK_ANGLE', | 
|  | ], | 
|  | 'direct_dependent_settings': { | 
|  | 'defines': [ | 
|  | 'SK_ANGLE', | 
|  | ], | 
|  | }, | 
|  | }], | 
|  | [ 'skia_win_debuggers_path and skia_os == "win"', | 
|  | { | 
|  | 'defines': [ | 
|  | 'SK_USE_CDB', | 
|  | ], | 
|  | }, | 
|  | ], | 
|  | [ 'skia_android_framework==0', { | 
|  | # These defines are not used for skia_android_framework, where we build | 
|  | # one makefile and allow someone to add SK_DEBUG etc for their own | 
|  | # debugging purposes. | 
|  | 'configurations': { | 
|  | 'Debug': { | 
|  | 'defines': [ | 
|  | 'SK_DEBUG', | 
|  | 'SK_DEVELOPER=1', | 
|  | ], | 
|  | }, | 
|  | 'Release': { | 
|  | 'defines': [ | 
|  | 'SK_RELEASE', | 
|  | ], | 
|  | }, | 
|  | 'Release_Developer': { | 
|  | 'inherit_from': ['Release'], | 
|  | 'defines': [ | 
|  | 'SK_DEVELOPER=1', | 
|  | ], | 
|  | }, | 
|  | }, | 
|  | }], | 
|  | ], | 
|  | }, # end 'target_defaults' | 
|  | } |