Changeset 7f49a01 in rtems-source-builder


Ignore:
Timestamp:
Jan 18, 2018, 3:41:45 AM (21 months ago)
Author:
Chris Johns <chrisj@…>
Branches:
4.11
Children:
6951eb2
Parents:
2ac145a
Message:

sb: Back port options module from master.

Update #3274

File:
1 edited

Legend:

Unmodified
Added
Removed
  • source-builder/sb/options.py

    r2ac145a r7f49a01  
    5555        self._long_opts = {
    5656            # key                 macro                handler            param  defs   init
    57             '--prefix'         : ('_prefix',           self._lo_path,     True,  None,  False),
    58             '--topdir'         : ('_topdir',           self._lo_path,     True,  None,  False),
    59             '--configdir'      : ('_configdir',        self._lo_path,     True,  None,  False),
    60             '--builddir'       : ('_builddir',         self._lo_path,     True,  None,  False),
    61             '--sourcedir'      : ('_sourcedir',        self._lo_path,     True,  None,  False),
    62             '--tmppath'        : ('_tmppath',          self._lo_path,     True,  None,  False),
    63             '--jobs'           : ('_jobs',             self._lo_jobs,     True,  'max', True),
    64             '--log'            : ('_logfile',          self._lo_string,   True,  None,  False),
    65             '--url'            : ('_url_base',         self._lo_string,   True,  None,  False),
    66             '--no-download'    : ('_disable_download', self._lo_bool,     False, '0',   True),
    67             '--macros'         : ('_macros',           self._lo_string,   True,  None,  False),
    68             '--targetcflags'   : ('_targetcflags',     self._lo_string,   True,  None,  False),
    69             '--targetcxxflags' : ('_targetcxxflags',   self._lo_string,   True,  None,  False),
    70             '--libstdcxxflags' : ('_libstdcxxflags',   self._lo_string,   True,  None,  False),
    71             '--force'          : ('_force',            self._lo_bool,     False, '0',   True),
    72             '--quiet'          : ('_quiet',            self._lo_bool,     False, '0',   True),
    73             '--trace'          : ('_trace',            self._lo_bool,     False, '0',   True),
    74             '--dry-run'        : ('_dry_run',          self._lo_bool,     False, '0',   True),
    75             '--warn-all'       : ('_warn_all',         self._lo_bool,     False, '0',   True),
    76             '--no-clean'       : ('_no_clean',         self._lo_bool,     False, '0',   True),
    77             '--keep-going'     : ('_keep_going',       self._lo_bool,     False, '0',   True),
    78             '--always-clean'   : ('_always_clean',     self._lo_bool,     False, '0',   True),
    79             '--no-install'     : ('_no_install',       self._lo_bool,     False, '0',   True),
    80             '--regression'     : ('_regression',       self._lo_bool,     False, '0',   True),
    81             '--host'           : ('_host',             self._lo_triplets, True,  None,  False),
    82             '--build'          : ('_build',            self._lo_triplets, True,  None,  False),
    83             '--target'         : ('_target',           self._lo_triplets, True,  None,  False),
    84             '--help'           : (None,                self._lo_help,     False, None,  False)
     57            '--prefix'               : ('_prefix',           self._lo_path,     True,  None,  False),
     58            '--topdir'               : ('_topdir',           self._lo_path,     True,  None,  False),
     59            '--configdir'            : ('_configdir',        self._lo_path,     True,  None,  False),
     60            '--builddir'             : ('_builddir',         self._lo_path,     True,  None,  False),
     61            '--sourcedir'            : ('_sourcedir',        self._lo_path,     True,  None,  False),
     62            '--tmppath'              : ('_tmppath',          self._lo_path,     True,  None,  False),
     63            '--jobs'                 : ('_jobs',             self._lo_jobs,     True,  'max', True),
     64            '--log'                  : ('_logfile',          self._lo_string,   True,  None,  False),
     65            '--url'                  : ('_url_base',         self._lo_string,   True,  None,  False),
     66            '--no-download'          : ('_disable_download', self._lo_bool,     False, '0',   True),
     67            '--macros'               : ('_macros',           self._lo_string,   True,  None,  False),
     68            '--source-only-download' : ('_source_download',  self._lo_bool,     False, '0',   True),
     69            '--targetcflags'         : ('_targetcflags',     self._lo_string,   True,  None,  False),
     70            '--targetcxxflags'       : ('_targetcxxflags',   self._lo_string,   True,  None,  False),
     71            '--libstdcxxflags'       : ('_libstdcxxflags',   self._lo_string,   True,  None,  False),
     72            '--force'                : ('_force',            self._lo_bool,     False, '0',   True),
     73            '--quiet'                : ('_quiet',            self._lo_bool,     False, '0',   True),
     74            '--trace'                : ('_trace',            self._lo_bool,     False, '0',   True),
     75            '--dry-run'              : ('_dry_run',          self._lo_bool,     False, '0',   True),
     76            '--warn-all'             : ('_warn_all',         self._lo_bool,     False, '0',   True),
     77            '--no-clean'             : ('_no_clean',         self._lo_bool,     False, '0',   True),
     78            '--keep-going'           : ('_keep_going',       self._lo_bool,     False, '0',   True),
     79            '--always-clean'         : ('_always_clean',     self._lo_bool,     False, '0',   True),
     80            '--no-install'           : ('_no_install',       self._lo_bool,     False, '0',   True),
     81            '--regression'           : ('_regression',       self._lo_bool,     False, '0',   True),
     82            '--host'                 : ('_host',             self._lo_triplets, True,  None,  False),
     83            '--build'                : ('_build',            self._lo_triplets, True,  None,  False),
     84            '--target'               : ('_target',           self._lo_triplets, True,  None,  False),
     85            '--help'                 : (None,                self._lo_help,     False, None,  False)
    8586            }
    8687
     
    223224        print('--targetcxxflags flags : List of C++ flags for the target code')
    224225        print('--libstdcxxflags flags : List of C++ flags to build the target libstdc++ code')
     226        print('--source-only-download : Only download the source')
    225227        print('--with-<label>         : Add the --with-<label> to the build')
    226228        print('--without-<label>      : Add the --without-<label> to the build')
     
    266268            arg += 1
    267269
    268     def post_process(self):
     270    def pre_process(self):
     271        arg = 0
     272        while arg < len(self.args):
     273            a = self.args[arg]
     274            if a == '--source-only-download':
     275                self.args += ['--dry-run',
     276                              '--quiet',
     277                              '--without-log',
     278                              '--without-error-report',
     279                              '--without-release-url']
     280            arg += 1
     281
     282    def post_process(self, logfile = True):
    269283        # Handle the log first.
    270         log.default = log.log(self.logfiles())
     284        logctrl = self.parse_args('--without-log')
     285        if logctrl is None:
     286            if logfile:
     287                logfiles = self.logfiles()
     288            else:
     289                logfiles = None
     290            log.default = log.log(streams = logfiles)
    271291        if self.trace():
    272292            log.tracing = True
     
    562582            self.args.append('--with-rtems-bsp=%s' % (ab[1]))
    563583
    564 def load(args, optargs = None, defaults = '%{_sbdir}/defaults.mc'):
     584def load(args, optargs = None, defaults = '%{_sbdir}/defaults.mc', logfile = True):
    565585    """
    566586    Copy the defaults, get the host specific values and merge them overriding
     
    638658    o.sb_git()
    639659    o.rtems_options()
     660    o.pre_process()
    640661    o.process()
    641     o.post_process()
     662    o.post_process(logfile)
    642663
    643664    #
Note: See TracChangeset for help on using the changeset viewer.