OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 """ | 5 """ |
6 Sets up various automatic gyp environment variables. These are used by | 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 | 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. | 8 make sure settings are consistent between them, all setup should happen here. |
9 """ | 9 """ |
10 | 10 |
11 import gyp_helper | 11 import gyp_helper |
| 12 import mac_toolchain |
12 import os | 13 import os |
13 import sys | 14 import sys |
14 import vs_toolchain | 15 import vs_toolchain |
15 | 16 |
16 def SetEnvironment(): | 17 def SetEnvironment(): |
17 """Sets defaults for GYP_* variables.""" | 18 """Sets defaults for GYP_* variables.""" |
18 gyp_helper.apply_chromium_gyp_env() | 19 gyp_helper.apply_chromium_gyp_env() |
19 | 20 |
20 # Default to ninja on linux and windows, but only if no generator has | 21 # Default to ninja on linux and windows, but only if no generator has |
21 # explicitly been set. | 22 # explicitly been set. |
22 # Also default to ninja on mac, but only when not building chrome/ios. | 23 # 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 # . -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 # . 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 # . chromium.gyp_env has been applied to os.environ at this point already |
26 if sys.platform.startswith(('linux', 'win', 'freebsd')) and \ | 27 if sys.platform.startswith(('linux', 'win', 'freebsd')) and \ |
27 not os.environ.get('GYP_GENERATORS'): | 28 not os.environ.get('GYP_GENERATORS'): |
28 os.environ['GYP_GENERATORS'] = 'ninja' | 29 os.environ['GYP_GENERATORS'] = 'ninja' |
29 elif sys.platform == 'darwin' and not os.environ.get('GYP_GENERATORS') and \ | 30 elif sys.platform == 'darwin' and not os.environ.get('GYP_GENERATORS') and \ |
30 not 'OS=ios' in os.environ.get('GYP_DEFINES', []): | 31 not 'OS=ios' in os.environ.get('GYP_DEFINES', []): |
31 os.environ['GYP_GENERATORS'] = 'ninja' | 32 os.environ['GYP_GENERATORS'] = 'ninja' |
32 | 33 |
33 vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs() | 34 vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs() |
| 35 mac_toolchain_dir = mac_toolchain.GetToolchainDirectory() |
| 36 if mac_toolchain_dir: |
| 37 os.environ['DEVELOPER_DIR'] = mac_toolchain_dir |
OLD | NEW |