summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-05-02 16:07:13 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2011-05-02 16:07:13 (GMT)
commit2517bb881a1aba2f148c13b3f1af3e3a3917ef71 (patch)
treecce8191cbb97588a765c397d3b8184b6bdb5b36c
parentad4e6da655026c4803f43cd8b1ea3f9993800f82 (diff)
internals: fix stripping yet once again
Fix typo introduced by changeset #055e505f28be. Also, handle older versions of gcc (typically, all versions prior to 4.0.0). Maxime provided a similar patch, missing the case for the legacy versions of gcc. Reported-by: Maxime Bizon <mbizon@freebox.fr> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> (transplanted from 539a3fa894f00888b02c7f89a2046f02c9d51e75)
-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}/"* \