diff options
author | tnn <tnn@pkgsrc.org> | 2016-03-04 21:25:47 +0000 |
---|---|---|
committer | tnn <tnn@pkgsrc.org> | 2016-03-04 21:25:47 +0000 |
commit | dbd26af15fcacf983b7c8acfd36e133a322e203a (patch) | |
tree | a255dd45be20fb1b28bd74c8942b4d267f80af83 /mk | |
parent | 21a028775c7fa42fb81b06522bcdd4e71e6d0a1f (diff) | |
download | pkgsrc-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.mk | 10 | ||||
-rw-r--r-- | mk/wrapper/bsd.wrapper.mk | 4 | ||||
-rw-r--r-- | mk/wrapper/cmd-sink-aix-ar | 49 |
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 |