diff options
author | Mike Frysinger <vapier@gentoo.org> | 2013-09-12 00:29:40 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2013-09-28 18:40:07 -0400 |
commit | 3eab2b7675fc7e2889cd69285a2a31980a4bf504 (patch) | |
tree | 2813623a17310159f747aba2ddfd49005d960295 | |
parent | 054f3eb7848230702b149a7e17f05314cb0157cb (diff) |
trylink: only prefix libs with -l
If our pkg-config queries pass back a flag like -pthread, the trylink
script will expand that to -l-pthread. So change trylink to only add
the -l prefix to a value that doesn't have a - prefix already.
Reported-by: thaehaid@incognitomail.org
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rwxr-xr-x | scripts/trylink | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/scripts/trylink b/scripts/trylink index a8b0b2e03..e47169917 100755 --- a/scripts/trylink +++ b/scripts/trylink @@ -117,7 +117,7 @@ LDLIBS=`echo "$LDLIBS" | xargs -n1 | sort | uniq | xargs` # First link with all libs. If it fails, bail out echo "Trying libraries: $LDLIBS" # "lib1 lib2 lib3" -> "-llib1 -llib2 -llib3" -l_list=`echo "$LDLIBS" | sed -e 's/ / -l/g' -e 's/^/-l/' -e 's/^-l$//'` +l_list=`echo " $LDLIBS " | sed -e 's: \([^- ][^ ]*\): -l\1:g'` test "x$l_list" != "x" && l_list="$START_GROUP $l_list $END_GROUP" try $CC $CFLAGS $LDFLAGS \ -o $EXE \ @@ -141,7 +141,7 @@ while test "$LDLIBS"; do for one in $LDLIBS; do without_one=`echo " $LDLIBS " | sed "s/ $one / /g" | xargs` # "lib1 lib2 lib3" -> "-llib1 -llib2 -llib3" - l_list=`echo "$without_one" | sed -e 's/ / -l/g' -e 's/^/-l/' -e 's/^-l$//'` + l_list=`echo " $without_one " | sed -e 's: \([^- ][^ ]*\): -l\1:g'` test x"$l_list" != x"" && l_list="$START_GROUP $l_list $END_GROUP" $debug && echo "Trying -l options: '$l_list'" try $CC $CFLAGS $LDFLAGS \ @@ -172,7 +172,7 @@ done # Make the binary with final, minimal list of libs echo "Final link with: ${LDLIBS:-<none>}" -l_list=`echo "$LDLIBS" | sed -e 's/ / -l/g' -e 's/^/-l/' -e 's/^-l$//'` +l_list=`echo " $LDLIBS " | sed -e 's: \([^- ][^ ]*\): -l\1:g'` test "x$l_list" != "x" && l_list="$START_GROUP $l_list $END_GROUP" # --verbose gives us gobs of info to stdout (e.g. linker script used) if ! test -f busybox_ldscript; then |