|  | # 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', 'darwin')) and \ | 
|  | not os.environ.get('GYP_GENERATORS'): | 
|  | os.environ['GYP_GENERATORS'] = 'ninja' | 
|  |  | 
|  | vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs() |