summaryrefslogtreecommitdiffstats
path: root/sb/build.py
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2012-11-05 12:29:25 +1100
committerChris Johns <chrisj@rtems.org>2012-11-05 12:29:25 +1100
commit71b88934f10fc233df7b0298834d274bb404bf49 (patch)
tree4d3c5eb16f2f6aecb876efdccd4bbbd40c453a6b /sb/build.py
parentSet perms to execute. (diff)
downloadrtems-source-builder-71b88934f10fc233df7b0298834d274bb404bf49.tar.bz2
Add optargs for tool extensions of arguments. Fix up the builder.
Diffstat (limited to 'sb/build.py')
-rw-r--r--sb/build.py30
1 files changed, 25 insertions, 5 deletions
diff --git a/sb/build.py b/sb/build.py
index 44473ca..a3a442b 100644
--- a/sb/build.py
+++ b/sb/build.py
@@ -30,6 +30,7 @@ import sys
import urllib2
import urlparse
+import check
import config
import defaults
import error
@@ -429,15 +430,34 @@ class build:
package = packages['main']
return package.name()
+def list_configs(opts, _defaults):
+ configs = []
+ for cp in opts.expand('%{_configdir}', _defaults).split(':'):
+ print 'Examining: %s' % (os.path.abspath(cp))
+ configs += glob.glob(os.path.join(cp, '*.cfg'))
+ for c in sorted(configs):
+ config = os.path.basename(c)
+ if config.endswith('.cfg'):
+ config = config[:-4]
+ print ' ', config
+
def run(args):
try:
- opts, _defaults = defaults.load(args)
+ optargs = { '--list-configs': 'List available configurations' }
+ opts, _defaults = defaults.load(args, optargs)
log.default = log.log(opts.logfiles())
_notice(opts, 'Source Builder, Package Builder v%s' % (version))
- for config_file in opts.config_files():
- b = build(config_file, _defaults = _defaults, opts = opts)
- b.make()
- del b
+ if not check.host_setup(opts, _defaults):
+ if not opts.force():
+ raise error.general('host build environment is not set up correctly (use --force to proceed)')
+ _notice(opts, 'warning: forcing build with known host setup problems')
+ if opts.get_arg('--list-configs'):
+ list_configs(opts, _defaults)
+ else:
+ for config_file in opts.config_files():
+ b = build(config_file, _defaults = _defaults, opts = opts)
+ b.make()
+ del b
except error.general, gerr:
print gerr
sys.exit(1)