diff options
author | jlam <jlam@pkgsrc.org> | 2004-01-29 06:06:41 +0000 |
---|---|---|
committer | jlam <jlam@pkgsrc.org> | 2004-01-29 06:06:41 +0000 |
commit | 876f47a81075038912584dc8aa48458284eea7c1 (patch) | |
tree | 390e4af45871275f447c6b2a819a90a8d633852f /mk/buildlink3 | |
parent | 1ba170e917b69317c004df32ccbf174a3e671fbb (diff) | |
download | pkgsrc-876f47a81075038912584dc8aa48458284eea7c1.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.
Diffstat (limited to 'mk/buildlink3')
-rw-r--r-- | mk/buildlink3/buildcmd | 24 | ||||
-rw-r--r-- | mk/buildlink3/libtool.sh | 5 | ||||
-rw-r--r-- | mk/buildlink3/wrapper.sh | 5 |
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@ |