Index: build/gyp_environment.py |
diff --git a/build/gyp_environment.py b/build/gyp_environment.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fb50645d56fc5adc4276f9ac989a06059c4c4aa3 |
--- /dev/null |
+++ b/build/gyp_environment.py |
@@ -0,0 +1,33 @@ |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+""" |
+Sets up various automatic gyp environment variables. These are used by |
+gyp_chromium and landmines.py which run at different stages of runhooks. To |
+make sure settings are consistent between them, all setup should happen here. |
+""" |
+ |
+import gyp_helper |
+import os |
+import sys |
+import vs_toolchain |
+ |
+def SetEnvironment(): |
+ """Sets defaults for GYP_* variables.""" |
+ gyp_helper.apply_chromium_gyp_env() |
+ |
+ # Default to ninja on linux and windows, but only if no generator has |
+ # explicitly been set. |
+ # Also default to ninja on mac, but only when not building chrome/ios. |
+ # . -f / --format has precedence over the env var, no need to check for it |
+ # . set the env var only if it hasn't been set yet |
+ # . chromium.gyp_env has been applied to os.environ at this point already |
+ if sys.platform.startswith(('linux', 'win', 'freebsd')) and \ |
+ not os.environ.get('GYP_GENERATORS'): |
+ os.environ['GYP_GENERATORS'] = 'ninja' |
+ elif sys.platform == 'darwin' and not os.environ.get('GYP_GENERATORS') and \ |
+ not 'OS=ios' in os.environ.get('GYP_DEFINES', []): |
+ os.environ['GYP_GENERATORS'] = 'ninja' |
+ |
+ vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs() |