summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorrillig <rillig@pkgsrc.org>2007-02-21 09:43:26 +0000
committerrillig <rillig@pkgsrc.org>2007-02-21 09:43:26 +0000
commita0dd1a37e7388211625dfc572d48b18705b026e7 (patch)
treeddd986df7d1886b3e5756d20d70a918db2d1271d /mk
parentd1304464bb83bddbdedc2bd48229f0c82438416e (diff)
downloadpkgsrc-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.
Diffstat (limited to 'mk')
-rw-r--r--mk/wrapper/arg-source5
-rw-r--r--mk/wrapper/wrapper-subr.sh9
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
+}