aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xgcc-config22
1 files changed, 18 insertions, 4 deletions
diff --git a/gcc-config b/gcc-config
index a3f79dd..656b190 100755
--- a/gcc-config
+++ b/gcc-config
@@ -1,7 +1,7 @@
#!/bin/bash
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: gentoo-x86/sys-devel/gcc-config/files/gcc-config-1.3.15,v 1.1 2006/12/09 07:33:09 vapier Exp $
+# $Header: gentoo-x86/sys-devel/gcc-config/files/gcc-config-1.3.15,v 1.2 2006/12/16 19:36:27 vapier Exp $
trap ":" INT QUIT TSTP
@@ -163,13 +163,20 @@ files_exist() {
if [[ ${f} == /* ]] ; then
[[ ! -f ${f} ]] && ret=1 && break
else
+ # make sure the file exists in at least
+ # one of the specified paths
+ ret=1
for p in ${paths} ; do
- [[ ! -f ${p}/${f} ]] && ret=1 && break 2
+ [[ -f ${p}/${f} ]] && ret=0 && break
done
+ [[ ${ret} == 1 ]] && break
fi
done
export IFS=${old_IFS}
+ if [[ ${ret} == 1 ]] ; then
+ ewarn "Could not locate '${f}' in '${paths}'"
+ fi
return ${ret}
}
@@ -245,8 +252,15 @@ switch_profile() {
${AWK} '!/^(STDCXX_INCDIR|LDPATH|CC|CXX|CTARGET|GCCBITS|GCC_SPECS)=/ {print $0}' \
"${GCC_ENV_D}/${CC_COMP}" > "${ENV_D}/05gcc"
echo "LDPATH=\"${MY_LDPATH}\"" >> "${ENV_D}/05gcc"
- if [[ -n ${GCC_SPECS} ]] && files_exist ${MY_LDPATH} ${GCC_SPECS} ; then
- echo "GCC_SPECS=\"${GCC_SPECS}\"" >> "${ENV_D}/05gcc"
+ if [[ -n ${GCC_SPECS} ]] ; then
+ if files_exist ${MY_LDPATH} ${GCC_SPECS} ; then
+ echo "GCC_SPECS=\"${GCC_SPECS}\"" >> "${ENV_D}/05gcc"
+ else
+ echo
+ ewarn "Your GCC spec configurations are broken."
+ ewarn "Please re-emerge gcc."
+ echo
+ fi
else
# People need to rebuild their gcc or setting GCC_SPECS to
# "" will cause issues again :(