Commit Diff


commit - 41305b23558a51c5a6fa33bc7476df1ed6221667
commit + d210f09d229babf26ea356a8fcc34b2daaf83652
blob - 96438197503466c697049b20777dc100cf7f65f4
blob + d8ee0b1a38516a79789a42a9c4d38859935092eb
--- bin/9l
+++ 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