Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(347)

Side by Side Diff: tools/gn/bootstrap/bootstrap.py

Issue 1929403002: GN: fix bootstrap (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Copyright 2014 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # This file isn't officially supported by the Chromium project. It's maintained 6 # This file isn't officially supported by the Chromium project. It's maintained
7 # on a best-effort basis by volunteers, so some things may be broken from time 7 # on a best-effort basis by volunteers, so some things may be broken from time
8 # to time. If you encounter errors, it's most often due to files in base that 8 # to time. If you encounter errors, it's most often due to files in base that
9 # have been added or moved since somebody last tried this script. Generally 9 # have been added or moved since somebody last tried this script. Generally
10 # such errors are easy to diagnose. 10 # such errors are easy to diagnose.
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
107 return run_build(build_dir, options) 107 return run_build(build_dir, options)
108 else: 108 else:
109 with scoped_tempdir() as tempdir: 109 with scoped_tempdir() as tempdir:
110 return run_build(tempdir, options) 110 return run_build(tempdir, options)
111 except subprocess.CalledProcessError as e: 111 except subprocess.CalledProcessError as e:
112 print >> sys.stderr, str(e) 112 print >> sys.stderr, str(e)
113 return 1 113 return 1
114 return 0 114 return 0
115 115
116 116
117 def write_buildflag_header_manually(root_gen_dir, header, flags):
118 mkdir_p(os.path.join(root_gen_dir, os.path.dirname(header)))
119 with tempfile.NamedTemporaryFile() as f:
120 f.write('--flags')
121 for name,value in flags.items():
122 f.write(' ' + name + '=' + value)
123 f.flush()
124
125 check_call([
126 os.path.join(SRC_ROOT, 'build', 'write_buildflag_header.py'),
127 '--output', header,
128 '--gen-dir', root_gen_dir,
129 '--definitions', f.name,
130 ])
131
132
117 def build_gn_with_ninja_manually(tempdir, options): 133 def build_gn_with_ninja_manually(tempdir, options):
118 root_gen_dir = os.path.join(tempdir, 'gen') 134 root_gen_dir = os.path.join(tempdir, 'gen')
119 mkdir_p(root_gen_dir) 135 mkdir_p(root_gen_dir)
120 136
121 mkdir_p(os.path.join(root_gen_dir, 'base', 'allocator')) 137 write_buildflag_header_manually(root_gen_dir, 'base/allocator/features.h',
122 with tempfile.NamedTemporaryFile() as f: 138 {'USE_EXPERIMENTAL_ALLOCATOR_SHIM': 'true' if is_linux else 'false'})
123 f.write('--flags USE_EXPERIMENTAL_ALLOCATOR_SHIM=%s'
124 % ('true' if is_linux else 'false'))
125 f.flush()
126 139
127 check_call([ 140 write_buildflag_header_manually(root_gen_dir, 'base/debug/debugging_flags.h',
128 os.path.join(SRC_ROOT, 'build', 'write_buildflag_header.py'), 141 {'ENABLE_PROFILING': 'false'})
129 '--output', 'base/allocator/features.h',
130 '--gen-dir', root_gen_dir,
131 '--definitions', f.name,
132 ])
133 142
134 if is_mac: 143 if is_mac:
135 # //base/build_time.cc needs base/generated_build_date.h, 144 # //base/build_time.cc needs base/generated_build_date.h,
136 # and this file is only included for Mac builds. 145 # and this file is only included for Mac builds.
137 mkdir_p(os.path.join(root_gen_dir, 'base')) 146 mkdir_p(os.path.join(root_gen_dir, 'base'))
138 check_call([ 147 check_call([
139 os.path.join(SRC_ROOT, 'build', 'write_build_date_header.py'), 148 os.path.join(SRC_ROOT, 'build', 'write_build_date_header.py'),
140 os.path.join(root_gen_dir, 'base', 'generated_build_date.h'), 149 os.path.join(root_gen_dir, 'base', 'generated_build_date.h'),
141 'default' 150 'default'
142 ]) 151 ])
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
513 cmd.append('-v') 522 cmd.append('-v')
514 cmd.append('gn') 523 cmd.append('gn')
515 check_call(cmd) 524 check_call(cmd)
516 525
517 if not options.debug: 526 if not options.debug:
518 check_call(['strip', os.path.join(build_dir, 'gn')]) 527 check_call(['strip', os.path.join(build_dir, 'gn')])
519 528
520 529
521 if __name__ == '__main__': 530 if __name__ == '__main__':
522 sys.exit(main(sys.argv[1:])) 531 sys.exit(main(sys.argv[1:]))
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698