Chromium Code Reviews| Index: build/gyp_chromium |
| diff --git a/build/gyp_chromium b/build/gyp_chromium |
| index 3a4fb1af690597e4895e4ab91cc626ab06890417..614af03c85f5d0884fff576dc6388c1ffbb4df04 100755 |
| --- a/build/gyp_chromium |
| +++ b/build/gyp_chromium |
| @@ -20,6 +20,9 @@ chrome_src = os.path.abspath(os.path.join(script_dir, os.pardir)) |
| sys.path.insert(0, os.path.join(chrome_src, 'tools', 'gyp', 'pylib')) |
| import gyp |
| +# Assume this file is in a one-level-deep subdirectory of the source root. |
| +SRC_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) |
| + |
| # Add paths so that pymod_do_main(...) can import files. |
| sys.path.insert(1, os.path.join(chrome_src, 'tools', 'generate_shim_headers')) |
| sys.path.insert(1, os.path.join(chrome_src, 'tools', 'grit')) |
| @@ -50,6 +53,7 @@ if sys.platform == 'win32': |
| else: |
| psyco = None |
| + |
| def additional_include_files(args=[]): |
| """ |
| Returns a list of additional (.gypi) files to include, without |
| @@ -79,6 +83,31 @@ def additional_include_files(args=[]): |
| return result |
| + |
| +def RunGN(): |
| + """Runs GN, returning True if it succeeded, printing an error and returning |
| + false if not.""" |
| + # The binaries in platform-specific subdirectories in src/tools/gn/bin. |
| + gnpath = SRC_DIR + '/tools/gn/bin/' |
| + if sys.platform == 'win32': |
| + gnpath += 'win/gn.exe' |
| + elif sys.platform.startswith('linux'): |
| + gnpath += 'linux/gn' |
| + elif sys.platform == 'darwin': |
| + gnpath += 'mac/gn' |
| + else: |
| + print 'Unknown platform for GN: ', sys.platform |
| + return False |
| + |
| + print 'Generating gyp files from GN...' |
| + |
| + # Need to pass both the source root (the bots don't run this command from |
| + # within the source tree) as well as set the is_gyp value so the BUILD files |
| + # to know they're being run under GYP. |
| + args = [gnpath, 'gyp', '-q', '--root=' + chrome_src, '--args=is_gyp=true'] |
| + return subprocess.call(args) == 0 |
| + |
| + |
| if __name__ == '__main__': |
| args = sys.argv[1:] |
|
M-A Ruel
2013/11/14 23:40:09
Going all the code after this line at module level
|
| @@ -87,6 +116,9 @@ if __name__ == '__main__': |
| psyco.profile() |
| print "Enabled Psyco JIT." |
| + if not RunGN(): |
| + sys.exit(1) |
| + |
| # Fall back on hermetic python if we happen to get run under cygwin. |
| # TODO(bradnelson): take this out once this issue is fixed: |
| # http://code.google.com/p/gyp/issues/detail?id=177 |