aboutsummaryrefslogtreecommitdiffhomepage
path: root/gn
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@chromium.org>2017-03-03 09:21:30 -0500
committerGravatar Mike Klein <mtklein@chromium.org>2017-03-03 15:41:24 +0000
commite459afd6ce2c2ccbad500dc2e77e0ac287af90eb (patch)
treec4f8fd5eb74eaefae0eb3731e3033106c8d70ae3 /gn
parent05cb4c3e509449b0b7332ad563acfcb194b86a07 (diff)
Strengthen is_official_build, update docs.
This makes is_official_build turn off all development targets and features in Skia, including building third-party dependencies from source. This will intentionally break some external users, who will find themselves no longer able to find third-party headers or link against third-party libraries. These users have been building with our testing third-party dependencies unknowingly. They'll need to either explicitly turn back on building each dependency from source (skia_use_system_foo=false) or disable that dependency entirely (skia_use_foo=false). is_skia_standalone is now basically !is_official_build, so I've propagated that through, removing is_skia_standalone. In a few places we were using it as a stand-in for defined(ndk), so I've just written defined(ndk) there. Duh. gn_to_bp: is_offical_build's new strength also makes gn_to_bp.py simpler to write. In spirit, Android builds are official Skia builds that also build DM and nanobench. It seems that SkJumper (src/jumper/*) is (unintentionally) enabled on Android. Switching to an is_official_build would have disabled that. But as that accidental launch seems to have gone fine, I've kept it explicitly enabled. In the end, no changes to Android.bp or its SkUserConfig.h. The -Mini builder no longer needs to explicitly disable tools. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Release-Mini Change-Id: Id06e53268a5caf55c6046ada354a0863c3031c73 Reviewed-on: https://skia-review.googlesource.com/9190 Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'gn')
-rw-r--r--gn/BUILDCONFIG.gn2
-rw-r--r--gn/gn_to_bp.py15
2 files changed, 7 insertions, 10 deletions
diff --git a/gn/BUILDCONFIG.gn b/gn/BUILDCONFIG.gn
index a89931b432..9582c46663 100644
--- a/gn/BUILDCONFIG.gn
+++ b/gn/BUILDCONFIG.gn
@@ -3,8 +3,6 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-is_skia_standalone = true
-
# It's best to keep the names and defaults of is_foo flags consistent with Chrome.
declare_args() {
diff --git a/gn/gn_to_bp.py b/gn/gn_to_bp.py
index 94db28b3cd..58a8dd563c 100644
--- a/gn/gn_to_bp.py
+++ b/gn/gn_to_bp.py
@@ -188,14 +188,12 @@ cc_test {
# We'll run GN to get the main source lists and include directories for Skia.
gn_args = {
- 'skia_enable_vulkan_debug_layers': 'false',
- 'skia_use_system_expat': 'true',
- 'skia_use_system_jsoncpp': 'true',
- 'skia_use_system_libpng': 'true',
- 'skia_use_system_zlib': 'true',
- 'skia_use_vulkan': 'true',
- 'target_cpu': '"none"',
- 'target_os': '"android"',
+ 'is_official_build': 'true',
+ 'skia_enable_jumper': 'true',
+ 'skia_enable_tools': 'true',
+ 'skia_use_vulkan': 'true',
+ 'target_cpu': '"none"',
+ 'target_os': '"android"',
}
gn_args = ' '.join(sorted('%s=%s' % (k,v) for (k,v) in gn_args.iteritems()))
@@ -243,6 +241,7 @@ nanobench_srcs = {s for s in nanobench_srcs if not s.endswith('.h')}
# Most defines go into SkUserConfig.h, where they're seen by Skia and its users.
# Start with the defines :skia uses, minus a couple. We'll add more in a bit.
defines = [str(d) for d in js['targets']['//:skia']['defines']]
+defines.remove('NDEBUG') # Let the Android build control this.
defines.remove('SKIA_IMPLEMENTATION=1') # Only libskia should have this define.
# For architecture specific files, it's easier to just read the same source