From 674ee531e604751354c8998a3aced5f0d26b2713 Mon Sep 17 00:00:00 2001 From: "Yann E. MORIN\"" Date: Sat, 7 Jul 2007 09:58:14 +0000 Subject: Silence "which" being verbose in some distros. (eg. Mandriva's which spawns "foobar was not found in /bin:/usr/bin:...." directly on stderr) 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 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 +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 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;; -- cgit v0.10.2-6-g49f6