From d210f09d229babf26ea356a8fcc34b2daaf83652 Mon Sep 17 00:00:00 2001 From: Jeff Sickel Date: Wed, 3 Dec 2008 01:52:55 -0600 Subject: 9l: search for autolibs in all -L paths as well as $PLAN9/lib --- bin/9l | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) (limited to 'bin/9l') diff --git a/bin/9l b/bin/9l index 96438197..d8ee0b1a 100755 --- a/bin/9l +++ b/bin/9l @@ -27,16 +27,25 @@ fi if $doautolib then ofiles="" + lpaths="$PLAN9/lib" for i do case "$i" in *.[ao]) ofiles="$ofiles $i" ;; + -L*) + l=`echo $i | sed 's/-L//'` + lpaths="$lpaths $l" esac done - # echo "ofiles $ofiles" + if $verbose + then + echo "ofiles $ofiles" + echo "lpaths $lpaths" + fi + autolibs="" if [ "x$ofiles" != "x" ] then @@ -68,13 +77,18 @@ then # can't trust the libraries about using # libthread or libdraw - we might not be linking with # those object files. - a=` - nm $PLAN9/lib/lib$i.a 2>/dev/null | - grep '__p9l_autolib_[a-zA-Z0-9+-]*$' | - sed 's/.*__p9l_autolib_//' | - sort -u | - egrep -v '^(thread|draw)$' - ` + a="" + for lpath in $lpaths + do + b=` + nm $lpath/lib$i.a 2>/dev/null | + grep '__p9l_autolib_[a-zA-Z0-9+-]*$' | + sed 's/.*__p9l_autolib_//' | + sort -u | + egrep -v '^(thread|draw)$' + ` + a="$a $b" + done # fix up libraries that really need draw if [ "x$i" = "xmemdraw" -o "x$i" = "xmemlayer" -o "x$i" = "xframe" ] then -- cgit v1.2.3