From: Simon Glass <sjg@chromium.org>
Date: Tue, 2 Dec 2014 00:33:58 +0000 (-0700)
Subject: buildman: Try to avoid hard-coded string parsing
X-Git-Tag: v2025.01-rc5-pxa1908~13906^2~9
X-Git-Url: http://git.dujemihanovic.xyz/img/html/static/git-logo.png?a=commitdiff_plain;h=b53241230ddc4f007179b6b0659e0eb240f25400;p=u-boot.git

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>
---

diff --git a/tools/buildman/toolchain.py b/tools/buildman/toolchain.py
index 27dc31889b..e2a851ebd6 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'