summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2014-12-02 00:33:58 (GMT)
committerSimon Glass <sjg@chromium.org>2015-01-15 05:16:53 (GMT)
commitb53241230ddc4f007179b6b0659e0eb240f25400 (patch)
treec9b8db365b4022ad143d0e1fe64f0af26df1f43d
parent5abab20dfb20406137e8b7d659aee3cf43dff351 (diff)
downloadu-boot-fsl-qoriq-b53241230ddc4f007179b6b0659e0eb240f25400.tar.xz
buildman: Try to avoid hard-coded string parsing
The assumption that the compiler name will always end in gcc is incorrect for clang and apparently on BSD. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--tools/buildman/toolchain.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/tools/buildman/toolchain.py b/tools/buildman/toolchain.py
index 27dc318..e2a851e 100644
--- a/tools/buildman/toolchain.py
+++ b/tools/buildman/toolchain.py
@@ -30,7 +30,14 @@ class Toolchain:
"""
self.gcc = fname
self.path = os.path.dirname(fname)
- self.cross = os.path.basename(fname)[:-3]
+
+ # Find the CROSS_COMPILE prefix to use for U-Boot. For example,
+ # 'arm-linux-gnueabihf-gcc' turns into 'arm-linux-gnueabihf-'.
+ basename = os.path.basename(fname)
+ pos = basename.rfind('-')
+ self.cross = basename[:pos + 1] if pos != -1 else ''
+
+ # The architecture is the first part of the name
pos = self.cross.find('-')
self.arch = self.cross[:pos] if pos != -1 else 'sandbox'