summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-07-07 09:58:14 (GMT)
committerYann E. MORIN" <yann.morin.1998@anciens.enib.fr>2007-07-07 09:58:14 (GMT)
commit674ee531e604751354c8998a3aced5f0d26b2713 (patch)
tree67de9d600afa94db4516fe31306470f21ead7983
parent8331b26c77eeef984d787a1c1db3aa384ebd2964 (diff)
Silence "which" being verbose in some distros. (eg. Mandriva's which spawns "foobar was not found in /bin:/usr/bin:...." directly on stderr)
-rw-r--r--scripts/build/libc_glibc.sh6
-rwxr-xr-xscripts/crosstool.sh9
-rw-r--r--scripts/functions14
3 files changed, 19 insertions, 10 deletions
diff --git a/scripts/build/libc_glibc.sh b/scripts/build/libc_glibc.sh
index 6b6e890..bf5d26d 100644
--- a/scripts/build/libc_glibc.sh
+++ b/scripts/build/libc_glibc.sh
@@ -83,7 +83,7 @@ do_libc_headers() {
addons_config="${addons_config//linuxthreads/}"
addons_config=`echo "${addons_config}" |sed -r -e 's/,+/,/g; s/^,+//; s/,+$//;'`
- cross_cc=`which "${CT_TARGET}-gcc" || true`
+ cross_cc=`CT_Which "${CT_TARGET}-gcc"`
CT_DoLog DEBUG "Using gcc for target: \"${cross_cc}\""
CT_DoLog DEBUG "Extra config passed : \"${addons_config}\""
@@ -225,7 +225,7 @@ do_libc_start_files() {
esac;;
esac
- cross_cc=`which "${CT_TARGET}-gcc" || true`
+ cross_cc=`CT_Which "${CT_TARGET}-gcc"`
CT_DoLog DEBUG "Using gcc for target : \"${cross_cc}\""
CT_DoLog DEBUG "Configuring with addons : \"`do_libc_add_ons_list ,`\""
CT_DoLog DEBUG "Extra config args passed: \"${extra_config}\""
@@ -323,7 +323,7 @@ do_libc() {
,y) extra_cc_args="${extra_cc_args} -mlittle-endian";;
esac
- cross_cc=`which "${CT_TARGET}-gcc" || true`
+ cross_cc=`CT_Which "${CT_TARGET}-gcc"`
CT_DoLog DEBUG "Using gcc for target : \"${cross_cc}\""
CT_DoLog DEBUG "Configuring with addons : \"`do_libc_add_ons_list ,`\""
CT_DoLog DEBUG "Extra config args passed: \"${extra_config}\""
diff --git a/scripts/crosstool.sh b/scripts/crosstool.sh
index ddb2fb6..0775dcb 100755
--- a/scripts/crosstool.sh
+++ b/scripts/crosstool.sh
@@ -293,10 +293,11 @@ if [ -z "${CT_RESTART}" ]; then
CT_DoLog DEBUG "Making build system tools available"
mkdir -p "${CT_PREFIX_DIR}/bin"
for tool in ar as dlltool gcc g++ gnatbind gnatmake ld nm ranlib strip windres objcopy objdump; do
- if [ -n "`which ${tool}`" ]; then
- ln -sfv "`which ${tool}`" "${CT_PREFIX_DIR}/bin/${CT_BUILD}-${tool}"
- ln -sfv "`which ${tool}`" "${CT_PREFIX_DIR}/bin/${CT_UNIQ_BUILD}-${tool}"
- ln -sfv "`which ${tool}`" "${CT_PREFIX_DIR}/bin/${CT_HOST}-${tool}"
+ tmp=`CT_Which ${tool}`
+ if [ -n "${tmp}" ]; then
+ ln -sfv "${tmp}" "${CT_PREFIX_DIR}/bin/${CT_BUILD}-${tool}"
+ ln -sfv "${tmp}" "${CT_PREFIX_DIR}/bin/${CT_UNIQ_BUILD}-${tool}"
+ ln -sfv "${tmp}" "${CT_PREFIX_DIR}/bin/${CT_HOST}-${tool}"
fi |CT_DoLog DEBUG
done
diff --git a/scripts/functions b/scripts/functions
index 18ee969..aedb436 100644
--- a/scripts/functions
+++ b/scripts/functions
@@ -158,10 +158,18 @@ CT_TestOrAbort() {
# Test the presence of a tool, or abort if not found
# Usage: CT_HasOrAbort <tool>
CT_HasOrAbort() {
- CT_TestAndAbort "\"${1}\" not found and needed for successfull toolchain build." -z "`which \"${1}\"`"
+ CT_TestAndAbort "\"${1}\" not found and needed for successfull toolchain build." -z "`CT_Which \"${1}\"`"
return 0
}
+# Search a program: wrap "which" for those system where
+# "which" verbosely says there is no match (Mdk are such
+# suckers...)
+# Usage: CT_Which <filename>
+CT_Which() {
+ which "$1" 2>/dev/null || true
+}
+
# Get current date with nanosecond precision
# On those system not supporting nanosecond precision, faked with rounding down
# to the highest entire second
@@ -292,8 +300,8 @@ CT_DoGetFileCurl() {
# Wrapper function to call one of curl or wget
# Usage: CT_DoGetFile <URL>
CT_DoGetFile() {
- local _wget=`which wget`
- local _curl=`which curl`
+ local _wget=`CT_Which wget`
+ local _curl=`CT_Which curl`
case "${_wget},${_curl}" in
,) CT_DoError "Could find neither wget nor curl";;
,*) CT_DoGetFileCurl "$1" 2>&1 |CT_DoLog ALL;;