blob: 64d54ba6ca76f556833be57375c97bb9fb6f8250 [file] [log] [blame]
# 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.
{
# Define all variables, allowing for override in GYP_DEFINES.
#
# One such variable is 'skia_os', which we use instead of 'OS' throughout
# our gyp files. We set it automatically based on 'OS', but allow the
# user to override it via GYP_DEFINES if they like.
'variables': {
'skia_scalar%': 'float',
'skia_os%': '<(OS)',
},
'skia_scalar%': '<(skia_scalar)',
'skia_os': '<(skia_os)',
'target_defaults': {
# 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")',
{'error': '<!(Cannot build with skia_os=<(skia_os) on OS=<(OS))'}],
],
},
'configurations': {
'Debug': {
'defines': [
'SK_DEBUG',
'GR_DEBUG=1',
],
},
'Release': {
'defines': [
'SK_RELEASE',
'GR_RELEASE=1',
],
},
},
'conditions' : [
[ 'skia_scalar == "float"',
{
'defines': [
'SK_SCALAR_IS_FLOAT',
'SK_CAN_USE_FLOAT',
],
}, { # else, skia_scalar != "float"
'defines': [
'SK_SCALAR_IS_FIXED',
'SK_CAN_USE_FLOAT', # we can still use floats along the way
],
}
],
['skia_os == "win"',
{
'defines': [
'SK_BUILD_FOR_WIN32',
'SK_IGNORE_STDINT_DOT_H',
],
'msvs_cygwin_shell': 0,
'msvs_settings': {
'VCCLCompilerTool': {
'WarningLevel': '1',
'WarnAsError': 'false',
'DebugInformationFormat': '3',
'AdditionalOptions': ['/MP',],
},
'VCLinkerTool': {
'AdditionalDependencies': [
'OpenGL32.lib',
'usp10.lib',
],
},
},
'configurations': {
'Debug': {
'msvs_settings': {
'VCCLCompilerTool': {
'DebugInformationFormat': '1', # debugOldStyleInfo (/Z7)
'Optimization': '0', # optimizeDisabled (/Od)
'PreprocessorDefinitions': ['_DEBUG'],
'RuntimeLibrary': '3', # rtMultiThreadedDebugDLL (/MDd)
},
'VCLinkerTool': {
'GenerateDebugInformation': 'true',
},
},
},
'Release': {
'msvs_settings': {
'VCCLCompilerTool': {
'DebugInformationFormat': '0', # debugDisabled
'Optimization': '2', # optimizeMaxSpeed (/O2)
'PreprocessorDefinitions': ['NDEBUG'],
'RuntimeLibrary': '2', # rtMultiThreadedDLL (/MD)
},
'VCLinkerTool': {
'GenerateDebugInformation': 'false',
},
},
},
},
},
],
['skia_os in ["linux", "freebsd", "openbsd", "solaris"]',
{
'defines': [
'SK_SAMPLES_FOR_X',
'SK_BUILD_FOR_UNIX',
],
'configurations': {
'Debug': {
'cflags': ['-g']
},
'Release': {
'cflags': ['-O2']
},
},
'cflags': [ '-Wall', '-Wextra', '-Wno-unused' ],
'include_dirs' : [
'/usr/include/freetype2',
],
},
],
['skia_os == "mac"',
{
'defines': [
'SK_BUILD_FOR_MAC',
],
'configurations': {
'Debug': {
'xcode_settings': {
'GCC_OPTIMIZATION_LEVEL': '0',
},
},
},
'xcode_settings': {
'SYMROOT': '<(DEPTH)/xcodebuild',
},
},
],
['skia_os == "ios"',
{
'defines': [
'SK_BUILD_FOR_IOS',
],
'configurations': {
'Debug': {
'xcode_settings': {
'GCC_OPTIMIZATION_LEVEL': '0',
},
},
},
'xcode_settings': {
'SYMROOT': '<(DEPTH)/xcodebuild',
},
},
],
], # end 'conditions'
}, # end 'target_defaults'
}
# Local Variables:
# tab-width:2
# indent-tabs-mode:nil
# End:
# vim: set expandtab tabstop=2 shiftwidth=2: