detect_cc: Handle empty arguments

When called from scripts, sometimes the arguments passed
will be empty.

Change-Id: I2f9fa1daa173eecc7b20928cd359284bb6f74ff3
Signed-off-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/c/444278
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
This commit is contained in:
Ben Walker 2019-02-12 12:43:49 -07:00 committed by Darek Stojaczyk
parent 8bbf0391f6
commit 5a670e8e76

View File

@ -23,10 +23,7 @@ function usage()
err " --lto=[y|n] Attempt to configure for LTO" err " --lto=[y|n] Attempt to configure for LTO"
} }
CC=cc
CXX=c++
LD=ld
LTO=n
for i in "$@"; do for i in "$@"; do
case "$i" in case "$i" in
@ -35,16 +32,24 @@ for i in "$@"; do
exit 0 exit 0
;; ;;
--cc=*) --cc=*)
CC="${i#*=}" if [[ -n "${i#*=}" ]]; then
CC="${i#*=}"
fi
;; ;;
--cxx=*) --cxx=*)
CXX="${i#*=}" if [[ -n "${i#*=}" ]]; then
CXX="${i#*=}"
fi
;; ;;
--lto=*) --lto=*)
LTO="${i#*=}" if [[ -n "${i#*=}" ]]; then
LTO="${i#*=}"
fi
;; ;;
--ld=*) --ld=*)
LD="${i#*=}" if [[ -n "${i#*=}" ]]; then
LD="${i#*=}"
fi
;; ;;
--) --)
break break
@ -56,6 +61,11 @@ for i in "$@"; do
esac esac
done done
: ${CC=cc}
: ${CXX=c++}
: ${LD=ld}
: ${LTO=n}
CC_TYPE=$($CC -v 2>&1 | grep -o -E '\w+ version' | head -1 | awk '{ print $1 }') CC_TYPE=$($CC -v 2>&1 | grep -o -E '\w+ version' | head -1 | awk '{ print $1 }')
CXX_TYPE=$($CXX -v 2>&1 | grep -o -E '\w+ version' | head -1 | awk '{ print $1 }') CXX_TYPE=$($CXX -v 2>&1 | grep -o -E '\w+ version' | head -1 | awk '{ print $1 }')
if [ "$CC_TYPE" != "$CXX_TYPE" ]; then if [ "$CC_TYPE" != "$CXX_TYPE" ]; then