summaryrefslogtreecommitdiff
path: root/mk/wrapper
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2004-10-04 20:28:29 +0000
committerjlam <jlam@pkgsrc.org>2004-10-04 20:28:29 +0000
commitf2cb35cf1e2fcc087a4d80ce799d2456f8099b08 (patch)
treea3fe5a6f146b2c2db48c454c0d6535076a91b20c /mk/wrapper
parent4bee2600f956ad964d682ae8855942e15424eba5 (diff)
downloadpkgsrc-f2cb35cf1e2fcc087a4d80ce799d2456f8099b08.tar.gz
Add a scan script that checks for "-v" on the command-line, and prevents
the wrappers from adding extra flags to the command-line if "-v" exists. This makes "g++ -v" return the same error code for both the wrapper and the real executable and fixes the problem with the libtool-base build not correctly detecting the C++ compiler and thus not adding the CXX configuration tag to the final libtool script. Downgrade LIBTOOL_REQD to 1.5.10 since the newest version isn't needed with this change.
Diffstat (limited to 'mk/wrapper')
-rw-r--r--mk/wrapper/bsd.wrapper.mk11
-rw-r--r--mk/wrapper/scan44
2 files changed, 53 insertions, 2 deletions
diff --git a/mk/wrapper/bsd.wrapper.mk b/mk/wrapper/bsd.wrapper.mk
index 482bbca77d0..c7a7fa02ae0 100644
--- a/mk/wrapper/bsd.wrapper.mk
+++ b/mk/wrapper/bsd.wrapper.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.wrapper.mk,v 1.5 2004/09/27 12:05:53 jlam Exp $
+# $NetBSD: bsd.wrapper.mk,v 1.6 2004/10/04 20:28:30 jlam Exp $
#
# Copyright (c) 2004 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -174,7 +174,7 @@ _WRAP_GEN_TRANSFORM?= ${WRAPPER_TMPDIR}/gen-transform
_WRAP_LOG?= ${WRKLOG}
_WRAP_LOGIC?= ${WRAPPER_TMPDIR}/logic
_WRAP_REORDERLIBS?= ${WRAPPER_TMPDIR}/reorderlibs
-_WRAP_SCAN?= ${_WRAP_EMPTY_FILE}
+_WRAP_SCAN?= ${WRAPPER_TMPDIR}/scan
_WRAP_SHELL_LIB?= ${WRAPPER_TMPDIR}/shell-lib
_WRAP_SKIP_TRANSFORM?= yes
_WRAP_TRANSFORM?= ${_WRAP_EMPTY_FILE}
@@ -541,6 +541,13 @@ ${_WRAP_LOGIC.${_wrappee_}}: ${WRAPPER_SRCDIR}/logic
${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
| ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
. endif
+
+. if !target(${_WRAP_SCAN.${_wrappee_}})
+${_WRAP_SCAN.${_wrappee_}}: ${WRAPPER_SRCDIR}/scan
+ ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
+ ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
+ | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
+. endif
.endfor # _WRAPPEES
.if !target(${_WRAP_VARS_MK})
diff --git a/mk/wrapper/scan b/mk/wrapper/scan
new file mode 100644
index 00000000000..dcb5fb1b11f
--- /dev/null
+++ b/mk/wrapper/scan
@@ -0,0 +1,44 @@
+# $NetBSD: scan,v 1.1 2004/10/04 20:28:30 jlam Exp $
+#
+# Copyright (c) 2004 The NetBSD Foundation, Inc.
+# All rights reserved.
+#
+# This code is derived from software contributed to The NetBSD Foundation
+# by Johnny C. Lam.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. All advertising materials mentioning features or use of this software
+# must display the following acknowledgement:
+# This product includes software developed by the NetBSD
+# Foundation, Inc. and its contributors.
+# 4. Neither the name of The NetBSD Foundation nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
+
+# Don't append extra arguments if "-v" is passed to the command.
+for arg do
+ case $arg in
+ -v) append_extra_args=no; break ;;
+ *) ;;
+ esac
+done