GN bootstrap fixes:
- add missing base/threading/thread.cc to compile targets
- add --gn-gen-args for passing custom --args to gn gen
(when building GN with itself)
- allow overriding use_cups
BUG=551343
Review URL: https://codereview.chromium.org/1415343008
Cr-Original-Commit-Position: refs/heads/master@{#358090}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ae483ee1eccc94ab232a6f6e91874d852edd0942
diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
index c17c84f..6c2b3ca 100755
--- a/tools/gn/bootstrap/bootstrap.py
+++ b/tools/gn/bootstrap/bootstrap.py
@@ -83,6 +83,7 @@
parser.add_option('--no-clean', action='store_true',
help='Re-used build directory instead of using new '
'temporary location each time')
+ parser.add_option('--gn-gen-args', help='Args to pass to gn gen --args')
parser.add_option('-v', '--verbose', action='store_true',
help='Log more details')
options, args = parser.parse_args(argv)
@@ -234,6 +235,7 @@
'base/threading/post_task_and_reply_impl.cc',
'base/threading/sequenced_worker_pool.cc',
'base/threading/simple_thread.cc',
+ 'base/threading/thread.cc',
'base/threading/thread_checker_impl.cc',
'base/threading/thread_collision_warner.cc',
'base/threading/thread_id_name_manager.cc',
@@ -435,9 +437,10 @@
def build_gn_with_gn(temp_gn, build_dir, options):
- cmd = [temp_gn, 'gen', build_dir]
+ gn_gen_args = options.gn_gen_args or ''
if not options.debug:
- cmd.append('--args=is_debug=false')
+ gn_gen_args += ' is_debug=false'
+ cmd = [temp_gn, 'gen', build_dir, '--args=%s' % gn_gen_args]
check_call(cmd)
cmd = ['ninja', '-C', build_dir]