Using regexes instead of globbing to match path names

This commit is contained in:
Erik Schnetter 2016-02-13 17:55:14 -05:00
parent 69064395eb
commit 52647b9a5d

15
lib/spack/env/cc vendored
View File

@ -174,26 +174,19 @@ while [ -n "$1" ]; do
libs+=("$arg")
;;
-Wl,*)
echo "FOUND arg=[$arg]" >&2
arg="${1#-Wl,}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
echo "SHIFTED, arg=[$arg]" >&2
if [[ $arg = -rpath=* ]]; then
echo "CASE 1" >&2
if [[ $arg =~ -rpath=.* ]]; then
arg="${arg#-rpath=}"
for rpath in ${arg//,/ }; do
echo " RPATH=[$rpath]" >&2
rpaths+=("$rpath")
done
elif [[ $arg = -rpath,* ]]; then
echo "CASE 2" >&2
elif [[ $arg =~ -rpath,.* ]]; then
arg="${arg#-rpath,}"
for rpath in ${arg//,/ }; do
echo " RPATH=[$rpath]" >&2
rpaths+=("$rpath")
rpaths+=("$rpath")
done
elif [[ $arg = -rpath ]]; then
echo "CASE 3" >&2
shift; arg="$1"
if [[ $arg != -Wl,* ]]; then
die "-Wl,-rpath was not followed by -Wl,*"
@ -201,11 +194,9 @@ while [ -n "$1" ]; do
# TODO: Handle multiple -Wl, continuations of -Wl,-rpath
arg="${arg#-Wl,}"
for rpath in ${arg//,/ }; do
echo " RPATH=[$rpath]" >&2
rpaths+=("$rpath")
done
else
echo "OTHER" >&2
other_args+=("-Wl,$arg")
fi
;;