GN: add is_official_build
authormtklein <mtklein@chromium.org>
Wed, 14 Sep 2016 18:16:49 +0000 (11:16 -0700)
committerCommit bot <commit-bot@chromium.org>
Wed, 14 Sep 2016 18:16:49 +0000 (11:16 -0700)
... and use it to control debug symbols and SK_ALLOW_STATIC_GLOBAL_INITIALIZERS.

This will most directly have the effect of disabling GLProgramsTest and a bunch
of similar failing Vk tests on Android.

Hopefully this makes the N7 trybot go green, keeping the N5 trybot green.  Just running the N10 for fun.

(is_official_build is how Chrome terms this sort of ReleaseForReal build.)

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2340723003

Review-Url: https://codereview.chromium.org/2340723003

BUILD.gn
gn/BUILD.gn
gn/BUILDCONFIG.gn

index f14a027af5b090771d11880cf27b4ea7fd640818..05fe3500ffdaa5335346ef07fc57f55144008bfe 100644 (file)
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -85,6 +85,10 @@ config("skia_private") {
       "SK_GAMMA_CONTRAST=0.0",
     ]
   }
+  if (is_official_build || is_android) {
+    # TODO(bsalomon): it'd be nice to make Android normal.
+    defines += [ "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0" ]
+  }
 }
 
 # Any code that's linked into Skia-the-library should use this config via += skia_library_configs.
index fd2d0074c6f9abadeccf65b71206b99fa2147560..75f8352e936e1c9a11e90f775a1dc1190ea03d0a 100644 (file)
@@ -28,6 +28,16 @@ config("no_rtti") {
   }
 }
 
+config("debug_symbols") {
+  # It's annoying to wait for full debug symbols to push over
+  # to Android devices.  -gline-tables-only is a lot slimmer.
+  if (is_android) {
+    cflags = [ "-gline-tables-only" ]
+  } else {
+    cflags = [ "-g" ]
+  }
+}
+
 config("default") {
   cflags = [
     "-O1",
@@ -56,14 +66,6 @@ config("default") {
   ]
   ldflags = []
 
-  # It's annoying to wait for full debug symbols to push over
-  # to Android devices.  -gline-tables-only is a lot slimmer.
-  if (is_android) {
-    cflags += [ "-gline-tables-only" ]
-  } else {
-    cflags += [ "-g" ]
-  }
-
   if (current_cpu == "arm") {
     cflags += [
       "-march=armv7-a",
index e6a8b695ffe29f5a363baed6330ead29674b0646..79d06f400b05914371ca9a3947316d9dd4b099ae 100644 (file)
@@ -6,12 +6,17 @@
 # It's best to keep the names and defaults of is_foo flags consistent with Chrome.
 
 declare_args() {
-  is_debug = true
+  is_official_build = false
   is_component_build = false
   ndk = ""
   ndk_api = 0  # 0 == picked automatically for target_cpu.
   sanitize = ""
 }
+declare_args() {
+  is_debug = !is_official_build
+}
+
+assert(!(is_debug && is_official_build))
 
 # Platform detection
 if (target_os == "") {
@@ -115,6 +120,9 @@ default_configs = [
 if (!is_debug) {
   default_configs += [ "//gn:release" ]
 }
+if (!is_official_build) {
+  default_configs += [ "//gn:debug_symbols" ]
+}
 
 set_defaults("executable") {
   configs = default_configs + [ "//gn:executable" ]