t9l: search for autolibs in all -L paths as well as $PLAN9/lib - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit d210f09d229babf26ea356a8fcc34b2daaf83652
DIR parent 41305b23558a51c5a6fa33bc7476df1ed6221667
HTML Author: Jeff Sickel <jas@corpus-callosum.com>
Date: Wed, 3 Dec 2008 01:52:55 -0600
9l: search for autolibs in all -L paths as well as $PLAN9/lib
Diffstat:
M bin/9l | 30 ++++++++++++++++++++++--------
1 file changed, 22 insertions(+), 8 deletions(-)
---
DIR diff --git a/bin/9l b/bin/9l
t@@ -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
t@@ -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