blob: b35096351532786b44f4bebb97d1291051b84a18 [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.
#
# 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',
'QT_NO_KEYWORDS',
# The discardable resource cache is tested via a special bot. This is
# disabled here so we test the non-discardable use case.
# 'SK_USE_DISCARDABLE_SCALEDIMAGECACHE',
],
# 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))',
}],
[ '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" or skia_os == "linux" or skia_os == "mac")', {
'error': '<!(skia_angle=1 only supported with skia_os="win" or skia_os="linux" or skia_os="mac".)',
}],
],
},
'includes': [
'common_conditions.gypi',
],
'conditions': [
[ 'skia_mesa', {
'defines': [
'SK_MESA',
],
'direct_dependent_settings': {
'defines': [
'SK_MESA',
],
},
}],
[ 'skia_angle', {
'defines': [
'SK_ANGLE',
],
'direct_dependent_settings': {
'defines': [
'SK_ANGLE',
],
},
}],
[ 'skia_vulkan', {
'defines': [
'SK_VULKAN',
],
'direct_dependent_settings': {
'defines': [
'SK_VULKAN',
],
},
'conditions': [
[ 'skia_vulkan_debug_layers', {
'configurations': {
'Debug': { 'defines': [ 'SK_ENABLE_VK_LAYERS' ] },
},
}],
],
}],
[ 'skia_command_buffer', {
'defines': [
'SK_COMMAND_BUFFER',
],
'direct_dependent_settings': {
'defines': [
'SK_COMMAND_BUFFER',
],
},
}],
[ '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=1' ] },
'Release': { 'defines': [ 'NDEBUG' ] },
'Release_Developer': {
'inherit_from': ['Release'],
'defines': [ 'SK_DEBUG=1' ],
'conditions': [
[ 'skia_clang_build == 0', {
# gcc has problems providing useful warnings of these types for
# optimized builds.
'cflags': [
'-Wno-array-bounds',
'-Wno-maybe-uninitialized',
'-Wno-strict-overflow',
],
}],
],
},
},
}],
[ 'skia_experimental_shadowing',
{
'defines': [
'SK_EXPERIMENTAL_SHADOWING',
],
},
],
],
}, # end 'target_defaults'
}