summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjlam <jlam>2004-01-29 06:06:41 +0000
committerjlam <jlam>2004-01-29 06:06:41 +0000
commit2cf9e27eaa4797a689ae1d070cf0e8474b52ed98 (patch)
tree390e4af45871275f447c6b2a819a90a8d633852f
parentdfad2e4c34200cc442ce2aaae96bbd1f4be3582d (diff)
downloadpkgsrc-2cf9e27eaa4797a689ae1d070cf0e8474b52ed98.tar.gz
Reorder arguments so that all of the -l options come after the -L options
which come after everything else. This ensure that all libraries come after all -L/dir options so that the Sun linker won't act stupidly.
-rw-r--r--mk/buildlink3/buildcmd24
-rw-r--r--mk/buildlink3/libtool.sh5
-rw-r--r--mk/buildlink3/wrapper.sh5
3 files changed, 25 insertions, 9 deletions
diff --git a/mk/buildlink3/buildcmd b/mk/buildlink3/buildcmd
index 3f1fe936831..1dfd4455ad6 100644
--- a/mk/buildlink3/buildcmd
+++ b/mk/buildlink3/buildcmd
@@ -1,4 +1,4 @@
-# $NetBSD: buildcmd,v 1.2 2003/10/04 10:20:09 jlam Exp $
+# $NetBSD: buildcmd,v 1.3 2004/01/29 06:06:41 jlam Exp $
#
# Append $arg to $cmd to build up the command line to be executed, but
# directly add the next few arguments to $cmd if $skipargs > 0.
@@ -23,9 +23,19 @@ else
# These options are only ever useful the first time
# they're given. All other instances are redundant.
#
- case "$cmd" in
- *" "$arg|*" "$arg" "*) ;;
- *) cmd="$cmd $arg" ;;
+ case $arg in
+ -L*)
+ case "$ldflags" in
+ *" "$arg|*" "$arg" "*) ;;
+ *) ldflags="$ldflags $arg" ;;
+ esac
+ ;;
+ *)
+ case "$cmd" in
+ *" "$arg|*" "$arg" "*) ;;
+ *) cmd="$cmd $arg" ;;
+ esac
+ ;;
esac
;;
-l*)
@@ -33,9 +43,9 @@ else
# Extra libraries are suppressed only if they're
# repeated, e.g. "-lm -lm -lm -lm" -> "-lm".
#
- case "$cmd" in
- *" "$arg) ;;
- *) cmd="$cmd $arg" ;;
+ case "$libs" in
+ *" "$arg) ;;
+ *) libs="$libs $arg" ;;
esac
;;
*)
diff --git a/mk/buildlink3/libtool.sh b/mk/buildlink3/libtool.sh
index 248c33913ea..261a2d4cf85 100644
--- a/mk/buildlink3/libtool.sh
+++ b/mk/buildlink3/libtool.sh
@@ -1,6 +1,6 @@
#!@BUILDLINK_SHELL@
#
-# $NetBSD: libtool.sh,v 1.11 2004/01/21 13:52:56 jlam Exp $
+# $NetBSD: libtool.sh,v 1.12 2004/01/29 06:06:41 jlam Exp $
Xsed='@SED@ -e 1s/^X//'
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
@@ -94,6 +94,8 @@ for arg do
done
cmd="@WRAPPEE@"
+ldflags=
+libs=
case $mode in
install)
#
@@ -161,6 +163,7 @@ install)
done
;;
esac
+cmd="$cmd $ldflags $libs"
@_BLNK_WRAP_ENV@
@_BLNK_WRAP_SANITIZE_PATH@
diff --git a/mk/buildlink3/wrapper.sh b/mk/buildlink3/wrapper.sh
index 83464a54e7e..06f96ec3acc 100644
--- a/mk/buildlink3/wrapper.sh
+++ b/mk/buildlink3/wrapper.sh
@@ -1,6 +1,6 @@
#!@BUILDLINK_SHELL@
#
-# $NetBSD: wrapper.sh,v 1.7 2004/01/21 13:52:56 jlam Exp $
+# $NetBSD: wrapper.sh,v 1.8 2004/01/29 06:06:41 jlam Exp $
Xsed='@SED@ -e 1s/^X//'
sed_quote_subst='s/\([\\`\\"$\\\\]\)/\\\1/g'
@@ -41,6 +41,8 @@ original_cmd="$0 $@"
$echo [*] $original_cmd >> $wrapperlog
cmd="@WRAPPEE@"
+ldflags=
+libs=
set -- "$@" @_BLNK_WRAP_EXTRA_FLAGS@
while $test $# -gt 0 -o -n "${buf1}${buf2}${buf3}${buf4}${buf5}"; do
cachehit=no
@@ -72,6 +74,7 @@ while $test $# -gt 0 -o -n "${buf1}${buf2}${buf3}${buf4}${buf5}"; do
#
. $buildcmd
done
+cmd="$cmd $ldflags $libs"
@_BLNK_WRAP_ENV@
@_BLNK_WRAP_SANITIZE_PATH@