summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorrillig <rillig>2007-02-21 09:43:26 +0000
committerrillig <rillig>2007-02-21 09:43:26 +0000
commit2626578304129caa91259dd074719f28592d118e (patch)
treeddd986df7d1886b3e5756d20d70a918db2d1271d /mk
parent19a7227412c24f6465308493817e1333e2d4e0a0 (diff)
downloadpkgsrc-2626578304129caa91259dd074719f28592d118e.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
+}