diff options
author | Chris Johns <chrisj@rtems.org> | 2019-07-14 14:00:43 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2019-07-21 21:09:34 +1000 |
commit | b90b749f2353f1bda4753a442c5f7bcef2937b13 (patch) | |
tree | 46f72cdef96d2c30deb4dc7bfdd7e94d96614bcf /source-builder | |
parent | rtems: Add kernel, libbsd and BSP building as packages. (diff) | |
download | rtems-source-builder-b90b749f2353f1bda4753a442c5f7bcef2937b13.tar.bz2 |
sb/config: Add triplet processing command.
Diffstat (limited to 'source-builder')
-rw-r--r-- | source-builder/sb/config.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/source-builder/sb/config.py b/source-builder/sb/config.py index 2c3a13e..8541cb5 100644 --- a/source-builder/sb/config.py +++ b/source-builder/sb/config.py @@ -625,6 +625,37 @@ class file: s = s.replace(m, '1') expanded = True mn = None + elif m.startswith('%{triplet'): + triplet = m[len('%{triplet'):-1].strip().split() + ok = False + if len(triplet) == 2: + macro = self._expand(triplet[0]) + value = self._expand(triplet[1]) + vorig = value + arch_value = '' + vendor_value = '' + os_value = '' + dash = value.find('-') + if dash >= 0: + arch_value = value[:dash] + value = value[dash + 1:] + dash = value.find('-') + if dash >= 0: + vendor_value = value[:dash] + value = value[dash + 1:] + if len(value): + os_value = value + self.macros[macro] = vorig + self.macros[macro + '_cpu'] = arch_value + self.macros[macro + '_arch'] = arch_value + self.macros[macro + '_vendor'] = vendor_value + self.macros[macro + '_os'] = os_value + ok = True + if ok: + s = s.replace(m, '') + else: + self._error('triplet error: %s' % (' '.join(triplet))) + mn = None elif m.startswith('%{path '): pl = m[7:-1].strip().split() ok = False |