diff options
author | Mike Klein <mtklein@chromium.org> | 2017-03-03 09:21:30 -0500 |
---|---|---|
committer | Mike Klein <mtklein@chromium.org> | 2017-03-03 15:41:24 +0000 |
commit | e459afd6ce2c2ccbad500dc2e77e0ac287af90eb (patch) | |
tree | c4f8fd5eb74eaefae0eb3731e3033106c8d70ae3 /gn | |
parent | 05cb4c3e509449b0b7332ad563acfcb194b86a07 (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.gn | 2 | ||||
-rw-r--r-- | gn/gn_to_bp.py | 15 |
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 |