Support symlinks in tools/vim/chromium.ycm_extra_conf.py
[chromium-blink-merge.git] / build / gyp_environment.py
blobfb50645d56fc5adc4276f9ac989a06059c4c4aa3
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 """
6 Sets up various automatic gyp environment variables. These are used by
7 gyp_chromium and landmines.py which run at different stages of runhooks. To
8 make sure settings are consistent between them, all setup should happen here.
9 """
11 import gyp_helper
12 import os
13 import sys
14 import vs_toolchain
16 def SetEnvironment():
17 """Sets defaults for GYP_* variables."""
18 gyp_helper.apply_chromium_gyp_env()
20 # Default to ninja on linux and windows, but only if no generator has
21 # explicitly been set.
22 # Also default to ninja on mac, but only when not building chrome/ios.
23 # . -f / --format has precedence over the env var, no need to check for it
24 # . set the env var only if it hasn't been set yet
25 # . chromium.gyp_env has been applied to os.environ at this point already
26 if sys.platform.startswith(('linux', 'win', 'freebsd')) and \
27 not os.environ.get('GYP_GENERATORS'):
28 os.environ['GYP_GENERATORS'] = 'ninja'
29 elif sys.platform == 'darwin' and not os.environ.get('GYP_GENERATORS') and \
30 not 'OS=ios' in os.environ.get('GYP_DEFINES', []):
31 os.environ['GYP_GENERATORS'] = 'ninja'
33 vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs()