| Index: build/gyp_chromium
|
| diff --git a/build/gyp_chromium b/build/gyp_chromium
|
| index 6c407f41ca01a1ffc4f5d18266246086112b94e4..00cbf2778dfbd51f831a3921ecc40efb3cf97480 100755
|
| --- a/build/gyp_chromium
|
| +++ b/build/gyp_chromium
|
| @@ -8,7 +8,7 @@
|
| # is invoked by Chromium beyond what can be done in the gclient hooks.
|
|
|
| import glob
|
| -import gyp_environment
|
| +import gyp_helper
|
| import os
|
| import re
|
| import shlex
|
| @@ -199,6 +199,10 @@
|
| args.append('-Ganalyzer_output_path=' + args.pop(0))
|
|
|
| if int(os.environ.get('GYP_CHROMIUM_NO_ACTION', 0)):
|
| + # Check for landmines (reasons to clobber the build) in any case.
|
| + print 'Running build/landmines.py...'
|
| + subprocess.check_call(
|
| + [sys.executable, os.path.join(script_dir, 'landmines.py')])
|
| print 'Skipping gyp_chromium due to GYP_CHROMIUM_NO_ACTION env var.'
|
| sys.exit(0)
|
|
|
| @@ -223,6 +227,8 @@
|
| p.communicate()
|
| sys.exit(p.returncode)
|
|
|
| + gyp_helper.apply_chromium_gyp_env()
|
| +
|
| # This could give false positives since it doesn't actually do real option
|
| # parsing. Oh well.
|
| gyp_file_specified = False
|
| @@ -241,8 +247,6 @@
|
| args.extend(shlex.split(gyp_file))
|
| else:
|
| args.append(os.path.join(script_dir, 'all.gyp'))
|
| -
|
| - gyp_environment.SetEnvironment()
|
|
|
| # There shouldn't be a circular dependency relationship between .gyp files,
|
| # but in Chromium's .gyp files, on non-Mac platforms, circular relationships
|
| @@ -262,6 +266,21 @@
|
| print 'Error: make gyp generator not supported (check GYP_GENERATORS).'
|
| sys.exit(1)
|
|
|
| + # 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'
|
| +
|
| + vs2013_runtime_dll_dirs = vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs()
|
| +
|
| # If CHROMIUM_GYP_SYNTAX_CHECK is set to 1, it will invoke gyp with --check
|
| # to enfore syntax checking.
|
| syntax_check = os.environ.get('CHROMIUM_GYP_SYNTAX_CHECK')
|
| @@ -305,7 +324,13 @@
|
| gyp_rc = gyp.main(args)
|
|
|
| if not use_analyzer:
|
| - vs2013_runtime_dll_dirs = vs_toolchain.SetEnvironmentAndGetRuntimeDllDirs()
|
| + # Check for landmines (reasons to clobber the build). This must be run here,
|
| + # rather than a separate runhooks step so that any environment modifications
|
| + # from above are picked up.
|
| + print 'Running build/landmines.py...'
|
| + subprocess.check_call(
|
| + [sys.executable, os.path.join(script_dir, 'landmines.py')])
|
| +
|
| if vs2013_runtime_dll_dirs:
|
| x64_runtime, x86_runtime = vs2013_runtime_dll_dirs
|
| vs_toolchain.CopyVsRuntimeDlls(
|
|
|