diff options
author | Chris Johns <chrisj@rtems.org> | 2013-03-12 18:29:57 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2013-03-12 18:29:57 +1100 |
commit | b4b4f3c9de7b9099477749918396e26d4f5339ce (patch) | |
tree | a19f4ab4e0b9b71309f10b4e005954bec26522eb /source-builder/sb/defaults.py | |
parent | Move the moxie gdb patches into the build set. (diff) | |
download | rtems-source-builder-b4b4f3c9de7b9099477749918396e26d4f5339ce.tar.bz2 |
Add a define and undefine to opts. Define git details.
Diffstat (limited to 'source-builder/sb/defaults.py')
-rw-r--r-- | source-builder/sb/defaults.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/source-builder/sb/defaults.py b/source-builder/sb/defaults.py index 9743c9a..c3903e4 100644 --- a/source-builder/sb/defaults.py +++ b/source-builder/sb/defaults.py @@ -28,6 +28,7 @@ import os import error import execute +import git import path import sys @@ -427,6 +428,13 @@ class command_line: raise error.general('host not set') return _defaults + def define(self, _defaults, key, value = '1'): + _defaults[key] = ('none', 'none', value) + + def undefine(self, _defaults, key): + if key in _defaults: + del _defaults[key] + def expand(self, s, _defaults): """Simple basic expander of config file macros.""" mf = re.compile(r'%{[^}]+}') @@ -567,6 +575,23 @@ def load(args, optargs = None): for k in o.defaults: d[k] = o.defaults[k] d = o._post_process(d) + repo = git.repo(o.expand('%{_sbdir}', d), o, d) + if repo.valid(): + repo_valid = '1' + repo_head = repo.head() + repo_clean = repo.clean() + repo_id = repo_head + if not repo_clean: + repo_id += '-modified' + else: + repo_valid = '0' + repo_head = '%{nil}' + repo_clean = '%{nil}' + repo_id = 'no-repo' + o.define(d, '_sbgit_valid', repo_valid) + o.define(d, '_sbgit_head', repo_head) + o.define(d, '_sbgit_clean', str(repo_clean)) + o.define(d, '_sbgit_id', repo_id) return o, d def run(args): |