summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authortnn <tnn@pkgsrc.org>2016-03-04 21:25:47 +0000
committertnn <tnn@pkgsrc.org>2016-03-04 21:25:47 +0000
commitdbd26af15fcacf983b7c8acfd36e133a322e203a (patch)
treea255dd45be20fb1b28bd74c8942b4d267f80af83 /mk
parent21a028775c7fa42fb81b06522bcdd4e71e6d0a1f (diff)
downloadpkgsrc-dbd26af15fcacf983b7c8acfd36e133a322e203a.tar.gz
pass correct ABI via OBJECT_MODE environment variable on AIX
It turns out a handful of AIX binutil-like utilities are particular about type of object files they should examine. Instead of piping through flags for each utility everywhere, it is easier to just export 'OBJECT_MODE=[32|64]' instead. From Eric N. Vander Weele.
Diffstat (limited to 'mk')
-rw-r--r--mk/platform/AIX.mk10
-rw-r--r--mk/wrapper/bsd.wrapper.mk4
-rw-r--r--mk/wrapper/cmd-sink-aix-ar49
3 files changed, 10 insertions, 53 deletions
diff --git a/mk/platform/AIX.mk b/mk/platform/AIX.mk
index 737a568e0a8..c7b5cd2dffc 100644
--- a/mk/platform/AIX.mk
+++ b/mk/platform/AIX.mk
@@ -1,4 +1,4 @@
-# $NetBSD: AIX.mk,v 1.40 2013/04/28 12:53:56 obache Exp $
+# $NetBSD: AIX.mk,v 1.41 2016/03/04 21:25:47 tnn Exp $
#
# Variable definitions for the AIX operating system.
@@ -66,3 +66,11 @@ _OPSYS_CAN_CHECK_SHLIBS= no # can't use readelf in check/bsd.check-vars.mk
# to avoid a test required by the libtool script that takes forever.
# FIXME: Adjust to work on this system and enable the lines below.
#_OPSYS_MAX_CMDLEN_CMD= /sbin/sysctl -n kern.argmax
+
+# On AIX, there are a handful of utilies (i.e., ar(1), ld(1), strip(1), etc)
+# that care about the type of object files they should examine via the various'
+# flags. Alternatively, it is easier to export OBJECT_MODE with the
+# appropriate $ABI versus piping through flags for all related utilities.
+.if defined(ABI)
+ALL_ENV+= OBJECT_MODE=${ABI}
+.endif
diff --git a/mk/wrapper/bsd.wrapper.mk b/mk/wrapper/bsd.wrapper.mk
index d8d5b2fb0dd..67d90d0fff2 100644
--- a/mk/wrapper/bsd.wrapper.mk
+++ b/mk/wrapper/bsd.wrapper.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.wrapper.mk,v 1.95 2016/03/04 01:38:39 tnn Exp $
+# $NetBSD: bsd.wrapper.mk,v 1.96 2016/03/04 21:25:47 tnn Exp $
#
# Copyright (c) 2005 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -348,7 +348,6 @@ _WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-hpux-ld
.elif ${OPSYS} == "AIX"
_WRAP_CMD_SINK.CC?= ${WRAPPER_TMPDIR}/cmd-sink-aix-cc
_WRAP_CMD_SINK.CXX?= ${_WRAP_CMD_SINK.CC}
-_WRAP_CMD_SINK.AR= ${WRAPPER_TMPDIR}/cmd-sink-aix-ar
_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-aix-ld
_WRAP_CACHE_BODY.CC?= ${WRAPPER_TMPDIR}/cache-body-aix-cc
_WRAP_CACHE_BODY.CC_R?= ${WRAPPER_TMPDIR}/cache-body-aix-cc
@@ -505,7 +504,6 @@ generate-wrappers: ${_target_}
arg-pp-darwin-gcc \
arg-pp-mipspro-cc \
arg-pp-sunpro-cxx \
- cmd-sink-aix-ar \
cmd-sink-aix-cc \
cmd-sink-aix-ld \
cmd-sink-aix-xlc \
diff --git a/mk/wrapper/cmd-sink-aix-ar b/mk/wrapper/cmd-sink-aix-ar
deleted file mode 100644
index 9cb3195dd9e..00000000000
--- a/mk/wrapper/cmd-sink-aix-ar
+++ /dev/null
@@ -1,49 +0,0 @@
-# $NetBSD: cmd-sink-aix-ar,v 1.1 2016/03/04 01:38:39 tnn Exp $
-#
-# Copyright (c) 2016 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.
-
-# AIX ar(1) requires options before the argument list (i.e., archive members).
-# Depending on ABI, set the appropriate '-X[32|64]' flag.
-if [ -n "$wrapper_abi" ]; then
- arg=-X${wrapper_abi}
- . $buildcmd
-fi
-
-# Empty out the command buffer and build up the command line in $cmd.
-while ! queue_is_empty cmdbuf; do
- pop_queue cmdbuf arg
- $debug_log $wrapperlog " (cmd-sink-aix-ar) pop: $arg"
- . $buildcmd
-done