diff options
author | rillig <rillig@pkgsrc.org> | 2007-02-21 09:43:26 +0000 |
---|---|---|
committer | rillig <rillig@pkgsrc.org> | 2007-02-21 09:43:26 +0000 |
commit | a0dd1a37e7388211625dfc572d48b18705b026e7 (patch) | |
tree | ddd986df7d1886b3e5756d20d70a918db2d1271d | |
parent | d1304464bb83bddbdedc2bd48229f0c82438416e (diff) | |
download | pkgsrc-a0dd1a37e7388211625dfc572d48b18705b026e7.tar.gz |
The options -I, -L and -R must not be followed directly by another
option. Instead of just merging them, the wrapper fails. Let's see which
packages get broken by that and then fix them.
I've also heard rumours that a plain -L is used as an alias to -nostdlib
in some compilers. This would have been handled wrong up to now, since
it definitely wasn't intended to be merged with the following argument.
-rw-r--r-- | mk/wrapper/arg-source | 5 | ||||
-rw-r--r-- | mk/wrapper/wrapper-subr.sh | 9 |
2 files changed, 12 insertions, 2 deletions
diff --git a/mk/wrapper/arg-source b/mk/wrapper/arg-source index 0637b81d600..e7a3f801d6a 100644 --- a/mk/wrapper/arg-source +++ b/mk/wrapper/arg-source @@ -1,4 +1,4 @@ -# $NetBSD: arg-source,v 1.9 2006/12/15 12:46:24 martti Exp $ +# $NetBSD: arg-source,v 1.10 2007/02/21 09:43:26 rillig Exp $ # # Copyright (c) 2004 The NetBSD Foundation, Inc. # All rights reserved. @@ -54,6 +54,9 @@ while $test $# -gt 0; do ############################################################## -[ILR]) nextarg="$1"; shift + case "$nextarg" in + -*) fail "arg-source" "An $arg option must not be followed by another option, $nextarg." ;; + esac shquote "$nextarg"; nextarg="$shquoted" append_queue argbuf "$arg$nextarg" $debug_log $wrapperlog " (arg-source) push: $arg$nextarg" diff --git a/mk/wrapper/wrapper-subr.sh b/mk/wrapper/wrapper-subr.sh index 57d1d444ef0..dc6b0cb964e 100644 --- a/mk/wrapper/wrapper-subr.sh +++ b/mk/wrapper/wrapper-subr.sh @@ -1,4 +1,4 @@ -# $NetBSD: wrapper-subr.sh,v 1.8 2007/02/19 14:50:33 rillig Exp $ +# $NetBSD: wrapper-subr.sh,v 1.9 2007/02/21 09:43:26 rillig Exp $ # # This file contains shell functions that are useful to the wrapper # scripts. @@ -60,3 +60,10 @@ transform_fail() { msg_log stderr "ERROR: [$wrapsubr_name] $1" exit 1 } + +# usage: fail "source-file" "error message" +fail() { + msg_log "$wrapperlog" "ERROR: [$1] $2" + msg_log stderr "ERROR: [$1] $2" + exit 1 +} |