skia2/gyp/common.gypi
scroggo@google.com eb6295044b Gyp file changes for the android framework.
Split off from https://codereview.chromium.org/140503007/.

The eventual goal is to create our Android.mk from gyp. This patch
adds an option for skia_android_framework with the right settings.
The follow-up (https://codereview.chromium.org/140503007/) will
use scripts to create the final makefile.

gyp/android_deps.gyp:
Use different dependencies for the framework than for building Skia
normally.

gyp/android_framework_lib.gyp:
Like skia_lib, specifies the minimum needed for building Skia, in this
case for the framework.

gyp/common_conditions.gypi:
Add settings specific to skia_android_framework. In some cases this
means turning off flags and defines.

gyp/common.gypi
Turn off SK_DEBUG and SK_DEVELOPER when building for the framework.
This allows the framework to create a single makefile which can be
modified to add SK_DEBUG and SK_DEVELOPER as desired.

gyp/common_variables.gypi:
Add skia_android_framework.

gyp/core.gyp:
Don't depend on cpufeatures, and add the cutils library for
skia_android_framework.

gyp/freetype.gyp:
skia_android_framework-specific options:
Don't include freetype_static as a dependency.
Include the proper folders.
Include the android library.

gyp/images.gyp:
Don't export libjpeg as a dependency for targets that include images
for the framework.
Also reorder image decoders to match the Android order, leaving our
most commonly used ones last (and therefore first in the chain for
trying them).

gyp/libwebp.gyp:
Use the system webp when building for the Android framework. Specify
the correct settings for the framework.

gyp/opts.gyp:
Specify a default set of files to compile when there are no possible
optimizations.

gyp/pdf.gyp:
Add dependencies for Android framework.

gyp/zlib.gyp:
Include the zlib folder, and undefine SK_ZLIB_INCLUDE.

BUG=skia:1975
R=djsollen@google.com

Committed: https://code.google.com/p/skia/source/detail?r=13298

Review URL: https://codereview.chromium.org/153093003

git-svn-id: http://skia.googlecode.com/svn/trunk@13304 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 16:08:48 +00:00

113 lines
3.1 KiB
Python

# 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_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',
'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_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',
],
},
],
],
'configurations': {
'Debug': {
'defines': [
'SK_DEBUG',
'SK_DEVELOPER=1',
],
},
'Release': {
'defines': [
'SK_RELEASE',
],
},
'Release_Developer': {
'inherit_from': ['Release'],
'defines': [
'SK_DEVELOPER=1',
],
},
},
}, # end 'target_defaults'
}