blob: f0d653f82a3537e728782bcfb401ba0b1acecedd [file] [log] [blame]
epoger@google.comfd03db02011-07-28 14:24:55 +00001# Copyright 2011 The Android Open Source Project
senorblanco@chromium.orgafac8882011-04-11 15:59:47 +00002#
epoger@google.comfd03db02011-07-28 14:24:55 +00003# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
epoger@google.comaa3b6a92012-03-16 13:52:49 +00005#
6# This file is automatically included by gyp_skia when building any target.
7
senorblanco@chromium.orgafac8882011-04-11 15:59:47 +00008{
epoger@google.com573e8ba2012-03-16 18:28:24 +00009 'includes': [
10 'common_variables.gypi',
11 ],
epoger@google.comaa3b6a92012-03-16 13:52:49 +000012
epoger@google.com5351b372011-07-01 17:16:26 +000013 'target_defaults': {
bungeman@google.com97efada2012-07-30 20:40:50 +000014 'defines': [
commit-bot@chromium.orgd70fa202014-04-24 21:51:58 +000015 'SK_INTERNAL',
bungeman@google.com97efada2012-07-30 20:40:50 +000016 'SK_GAMMA_SRGB',
17 'SK_GAMMA_APPLY_TO_A8',
commit-bot@chromium.org4b413c82013-11-25 19:44:07 +000018 'SK_SCALAR_TO_FLOAT_EXCLUDED', # temporary to allow Chrome to call SkFloatToScalar
danakjf58a5622014-09-11 11:08:50 -070019 # 'SK_USE_DISCARDABLE_SCALEDIMAGECACHE', # TODO(reed): Re-enable when tests don't crash with this.
bungeman@google.com97efada2012-07-30 20:40:50 +000020 ],
epoger@google.com5351b372011-07-01 17:16:26 +000021
epoger@google.com8846cb22011-07-01 20:20:07 +000022 # Validate the 'skia_os' setting against 'OS', because only certain
23 # combinations work. You should only override 'skia_os' for certain
24 # situations, like building for iOS on a Mac.
epoger@google.com5351b372011-07-01 17:16:26 +000025 'variables': {
epoger@google.com8846cb22011-07-01 20:20:07 +000026 'conditions': [
borenet@google.com7158e6a2012-11-01 17:43:44 +000027 [ 'skia_os != OS and not ((skia_os == "ios" and OS == "mac") or \
borenet@google.com5bbf1d52013-06-24 19:31:58 +000028 (skia_os == "chromeos" and OS == "linux"))', {
borenet@google.com7158e6a2012-11-01 17:43:44 +000029 'error': '<!(Cannot build with skia_os=<(skia_os) on OS=<(OS))',
robertphillips@google.com021bce92012-04-02 20:42:26 +000030 }],
borenet@google.com7158e6a2012-11-01 17:43:44 +000031 [ 'skia_mesa and skia_os not in ["mac", "linux"]', {
32 'error': '<!(skia_mesa=1 only supported with skia_os="mac" or "linux".)',
33 }],
34 [ 'skia_angle and not skia_os == "win"', {
35 'error': '<!(skia_angle=1 only supported with skia_os="win".)',
36 }],
37 [ 'skia_arch_width != 32 and skia_arch_width != 64', {
38 'error': '<!(skia_arch_width can only be 32 or 64 bits not <(skia_arch_width) bits)',
39 }],
borenet@google.com05d550e2013-06-11 15:52:19 +000040 [ 'skia_os == "chromeos" and OS != "linux"', {
41 'error': '<!(Skia ChromeOS build is only supported on Linux.)',
42 }],
epoger@google.com8846cb22011-07-01 20:20:07 +000043 ],
epoger@google.com5351b372011-07-01 17:16:26 +000044 },
seanpaul@google.com1134f982011-09-15 14:24:33 +000045 'includes': [
epoger@google.com573e8ba2012-03-16 18:28:24 +000046 'common_conditions.gypi',
seanpaul@google.com1134f982011-09-15 14:24:33 +000047 ],
48 'conditions': [
bsalomon@google.com373a6632011-10-19 20:43:20 +000049 [ 'skia_mesa', {
50 'defines': [
51 'SK_MESA',
52 ],
53 'direct_dependent_settings': {
54 'defines': [
55 'SK_MESA',
56 ],
57 },
58 }],
robertphillips@google.com021bce92012-04-02 20:42:26 +000059 [ 'skia_angle', {
60 'defines': [
61 'SK_ANGLE',
62 ],
63 'direct_dependent_settings': {
64 'defines': [
65 'SK_ANGLE',
66 ],
67 },
68 }],
edisonn@google.com184487c2013-03-08 18:00:16 +000069 [ 'skia_win_debuggers_path and skia_os == "win"',
70 {
71 'defines': [
72 'SK_USE_CDB',
73 ],
74 },
75 ],
scroggo@google.comd4adfa32014-02-05 16:35:12 +000076 [ 'skia_android_framework==0', {
77 # These defines are not used for skia_android_framework, where we build
78 # one makefile and allow someone to add SK_DEBUG etc for their own
79 # debugging purposes.
80 'configurations': {
mtklein753b8702014-08-20 07:38:46 -070081 'Debug': { 'defines': [ 'SK_DEVELOPER=1' ] },
82 'Release': { 'defines': [ 'NDEBUG' ] },
scroggo@google.comd4adfa32014-02-05 16:35:12 +000083 'Release_Developer': {
84 'inherit_from': ['Release'],
mtklein753b8702014-08-20 07:38:46 -070085 'defines': [ 'SK_DEVELOPER=1' ],
scroggo@google.comd4adfa32014-02-05 16:35:12 +000086 },
87 },
88 }],
seanpaul@google.com1134f982011-09-15 14:24:33 +000089 ],
epoger@google.com5351b372011-07-01 17:16:26 +000090 }, # end 'target_defaults'
senorblanco@chromium.orgafac8882011-04-11 15:59:47 +000091}