diff options
author | Chris Johns <chrisj@rtems.org> | 2017-10-12 13:42:40 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2017-10-12 13:48:52 +1100 |
commit | 7b68249b57bfdefe8ef95b333cdc595f7622929c (patch) | |
tree | da0f1045ffe6434cc16ab4907229fcc740b9c5f6 | |
parent | sb: Move the option check for reporting errors to the error reporter. (diff) | |
download | rtems-source-builder-7b68249b57bfdefe8ef95b333cdc595f7622929c.tar.bz2 |
sb: Add --source-only-download to make download source simple.
This is needed to test #2536.
Add an option to disable any log.
Updates #2536.
-rw-r--r-- | source-builder/sb/options.py | 83 |
1 files changed, 50 insertions, 33 deletions
diff --git a/source-builder/sb/options.py b/source-builder/sb/options.py index 51407a4..3c3b2ff 100644 --- a/source-builder/sb/options.py +++ b/source-builder/sb/options.py @@ -54,34 +54,35 @@ class command_line: def __init__(self, argv, optargs, _defaults, command_path): self._long_opts = { # key macro handler param defs init - '--prefix' : ('_prefix', self._lo_path, True, None, False), - '--topdir' : ('_topdir', self._lo_path, True, None, False), - '--configdir' : ('_configdir', self._lo_path, True, None, False), - '--builddir' : ('_builddir', self._lo_path, True, None, False), - '--sourcedir' : ('_sourcedir', self._lo_path, True, None, False), - '--tmppath' : ('_tmppath', self._lo_path, True, None, False), - '--jobs' : ('_jobs', self._lo_jobs, True, 'max', True), - '--log' : ('_logfile', self._lo_string, True, None, False), - '--url' : ('_url_base', self._lo_string, True, None, False), - '--no-download' : ('_disable_download', self._lo_bool, False, '0', True), - '--macros' : ('_macros', self._lo_string, True, None, False), - '--targetcflags' : ('_targetcflags', self._lo_string, True, None, False), - '--targetcxxflags' : ('_targetcxxflags', self._lo_string, True, None, False), - '--libstdcxxflags' : ('_libstdcxxflags', self._lo_string, True, None, False), - '--force' : ('_force', self._lo_bool, False, '0', True), - '--quiet' : ('_quiet', self._lo_bool, False, '0', True), - '--trace' : ('_trace', self._lo_bool, False, '0', True), - '--dry-run' : ('_dry_run', self._lo_bool, False, '0', True), - '--warn-all' : ('_warn_all', self._lo_bool, False, '0', True), - '--no-clean' : ('_no_clean', self._lo_bool, False, '0', True), - '--keep-going' : ('_keep_going', self._lo_bool, False, '0', True), - '--always-clean' : ('_always_clean', self._lo_bool, False, '0', True), - '--no-install' : ('_no_install', self._lo_bool, False, '0', True), - '--regression' : ('_regression', self._lo_bool, False, '0', True), - '--host' : ('_host', self._lo_triplets, True, None, False), - '--build' : ('_build', self._lo_triplets, True, None, False), - '--target' : ('_target', self._lo_triplets, True, None, False), - '--help' : (None, self._lo_help, False, None, False) + '--prefix' : ('_prefix', self._lo_path, True, None, False), + '--topdir' : ('_topdir', self._lo_path, True, None, False), + '--configdir' : ('_configdir', self._lo_path, True, None, False), + '--builddir' : ('_builddir', self._lo_path, True, None, False), + '--sourcedir' : ('_sourcedir', self._lo_path, True, None, False), + '--tmppath' : ('_tmppath', self._lo_path, True, None, False), + '--jobs' : ('_jobs', self._lo_jobs, True, 'max', True), + '--log' : ('_logfile', self._lo_string, True, None, False), + '--url' : ('_url_base', self._lo_string, True, None, False), + '--no-download' : ('_disable_download', self._lo_bool, False, '0', True), + '--macros' : ('_macros', self._lo_string, True, None, False), + '--source-only-download' : ('_source_download', self._lo_bool, False, '0', True), + '--targetcflags' : ('_targetcflags', self._lo_string, True, None, False), + '--targetcxxflags' : ('_targetcxxflags', self._lo_string, True, None, False), + '--libstdcxxflags' : ('_libstdcxxflags', self._lo_string, True, None, False), + '--force' : ('_force', self._lo_bool, False, '0', True), + '--quiet' : ('_quiet', self._lo_bool, False, '0', True), + '--trace' : ('_trace', self._lo_bool, False, '0', True), + '--dry-run' : ('_dry_run', self._lo_bool, False, '0', True), + '--warn-all' : ('_warn_all', self._lo_bool, False, '0', True), + '--no-clean' : ('_no_clean', self._lo_bool, False, '0', True), + '--keep-going' : ('_keep_going', self._lo_bool, False, '0', True), + '--always-clean' : ('_always_clean', self._lo_bool, False, '0', True), + '--no-install' : ('_no_install', self._lo_bool, False, '0', True), + '--regression' : ('_regression', self._lo_bool, False, '0', True), + '--host' : ('_host', self._lo_triplets, True, None, False), + '--build' : ('_build', self._lo_triplets, True, None, False), + '--target' : ('_target', self._lo_triplets, True, None, False), + '--help' : (None, self._lo_help, False, None, False) } self.command_path = command_path @@ -222,6 +223,7 @@ class command_line: print('--targetcflags flags : List of C flags for the target code') print('--targetcxxflags flags : List of C++ flags for the target code') print('--libstdcxxflags flags : List of C++ flags to build the target libstdc++ code') + print('--source-only-download : Only download the source') print('--with-<label> : Add the --with-<label> to the build') print('--without-<label> : Add the --without-<label> to the build') print('--rtems-tools path : Path to an install RTEMS tool set') @@ -265,13 +267,27 @@ class command_line: self.opts['params'].append(a) arg += 1 + def pre_process(self): + arg = 0 + while arg < len(self.args): + a = self.args[arg] + if a == '--source-only-download': + self.args += ['--dry-run', + '--quiet', + '--without-log', + '--without-error-report', + '--without-release-url'] + arg += 1 + def post_process(self, logfile = True): # Handle the log first. - if logfile: - logfiles = self.logfiles() - else: - logfiles = None - log.default = log.log(streams = logfiles) + logctrl = self.get_arg('--without-log') + if logctrl is not None and logfile: + if logfile: + logfiles = self.logfiles() + else: + logfiles = None + log.default = log.log(streams = logfiles) if self.trace(): log.tracing = True if self.quiet(): @@ -641,6 +657,7 @@ def load(args, optargs = None, defaults = '%{_sbdir}/defaults.mc', logfile = Tru o.sb_released() o.sb_git() o.rtems_options() + o.pre_process() o.process() o.post_process(logfile) |