summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2019-07-14 14:00:43 +1000
committerChris Johns <chrisj@rtems.org>2019-07-21 21:09:34 +1000
commitb90b749f2353f1bda4753a442c5f7bcef2937b13 (patch)
tree46f72cdef96d2c30deb4dc7bfdd7e94d96614bcf
parentrtems: Add kernel, libbsd and BSP building as packages. (diff)
downloadrtems-source-builder-b90b749f2353f1bda4753a442c5f7bcef2937b13.tar.bz2
sb/config: Add triplet processing command.
-rw-r--r--source-builder/sb/config.py31
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