diff options
author | Ben Boeckel <mathstuf@gmail.com> | 2014-12-11 04:09:38 (GMT) |
---|---|---|
committer | Ben Boeckel <mathstuf@gmail.com> | 2014-12-11 04:09:38 (GMT) |
commit | 54d82356d8317a62f076eefdbe1ab62c88d1e6a6 (patch) | |
tree | c5fae8e9779e706bdb44b7ac5cad4fc6c3cf05a2 /configure.py | |
parent | 191f26d1497a568fcf2fce547031ce7ac93d2455 (diff) | |
download | Ninja-54d82356d8317a62f076eefdbe1ab62c88d1e6a6.zip Ninja-54d82356d8317a62f076eefdbe1ab62c88d1e6a6.tar.gz Ninja-54d82356d8317a62f076eefdbe1ab62c88d1e6a6.tar.bz2 |
configure: add a verbose mode
Required for Fedora infrastructure so that the commands used to build
ninja are logged.
Diffstat (limited to 'configure.py')
-rwxr-xr-x | configure.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/configure.py b/configure.py index 3cd1e82..0f34e77 100755 --- a/configure.py +++ b/configure.py @@ -106,8 +106,9 @@ class Bootstrap: It also proxies all calls to an underlying ninja_syntax.Writer, to behave like non-bootstrap mode. """ - def __init__(self, writer): + def __init__(self, writer, verbose=False): self.writer = writer + self.verbose = verbose # Map of variable name => expanded variable value. self.vars = {} # Map of rule name => dict of rule attributes. @@ -163,6 +164,8 @@ class Bootstrap: def _run_command(self, cmdline): """Run a subcommand, quietly. Prints the full command on error.""" try: + if self.verbose: + print(cmdline) subprocess.check_call(cmdline, shell=True) except subprocess.CalledProcessError: print('when running: ', cmdline) @@ -173,6 +176,8 @@ parser = OptionParser() profilers = ['gmon', 'pprof'] parser.add_option('--bootstrap', action='store_true', help='bootstrap a ninja binary from nothing') +parser.add_option('--verbose', action='store_true', + help='enable verbose build') parser.add_option('--platform', help='target platform (' + '/'.join(Platform.known_platforms()) + ')', @@ -217,7 +222,7 @@ if options.bootstrap: # Wrap ninja_writer with the Bootstrapper, which also executes the # commands. print('bootstrapping ninja...') - n = Bootstrap(n) + n = Bootstrap(n, verbose=options.verbose) n.comment('This file is used to build ninja itself.') n.comment('It is generated by ' + os.path.basename(__file__) + '.') @@ -602,6 +607,10 @@ n.build('all', 'phony', all_targets) n.close() print('wrote %s.' % BUILD_FILENAME) +verbose = '' +if options.verbose: + verbose = ' -v' + if options.bootstrap: print('bootstrap complete. rebuilding...') if platform.is_windows(): @@ -609,6 +618,6 @@ if options.bootstrap: if os.path.exists(bootstrap_exe): os.unlink(bootstrap_exe) os.rename('ninja.exe', bootstrap_exe) - subprocess.check_call('ninja.bootstrap.exe', shell=True) + subprocess.check_call('ninja.bootstrap.exe%s' % verbose, shell=True) else: - subprocess.check_call('./ninja', shell=True) + subprocess.check_call('./ninja%s' % verbose, shell=True) |