summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scripts/build/internals.sh14
1 files changed, 13 insertions, 1 deletions
diff --git a/scripts/build/internals.sh b/scripts/build/internals.sh
index f07a619..c1f8313 100644
--- a/scripts/build/internals.sh
+++ b/scripts/build/internals.sh
@@ -22,7 +22,19 @@ do_finish() {
esac
CT_DoLog INFO "Stripping all toolchain executables"
CT_Pushd "${CT_PREFIX_DIR}"
- gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_GCC_VERSION}/gcc/BASE-VER" )
+ # We can not use the version in CT_CC_VERSION because
+ # of the Linaro stuff. So, harvest the version string
+ # directly from the gcc sources...
+ # All gcc 4.x seem to have the version in gcc/BASE-VER
+ # while version prior to 4.x have the version in gcc/version.c
+ # Of course, here is not the better place to do that...
+ if [ -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ]; then
+ gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" )
+ else
+ gcc_version=$( sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \
+ "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/version.c" \
+ )
+ fi
for _t in "bin/${CT_TARGET}-"* \
"${CT_TARGET}/bin/"* \
"libexec/gcc/${CT_TARGET}/${gcc_version}/"* \