Fri Mar 4 21:25:47 2016 UTC ()
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.


(tnn)
diff -r1.40 -r1.41 pkgsrc/mk/platform/AIX.mk
diff -r1.95 -r1.96 pkgsrc/mk/wrapper/bsd.wrapper.mk
diff -r1.1 -r0 pkgsrc/mk/wrapper/cmd-sink-aix-ar

cvs diff -r1.40 -r1.41 pkgsrc/mk/platform/AIX.mk (switch to unified diff)

--- pkgsrc/mk/platform/AIX.mk 2013/04/28 12:53:56 1.40
+++ pkgsrc/mk/platform/AIX.mk 2016/03/04 21:25:47 1.41
@@ -1,68 +1,76 @@ @@ -1,68 +1,76 @@
1# $NetBSD: AIX.mk,v 1.40 2013/04/28 12:53:56 obache Exp $ 1# $NetBSD: AIX.mk,v 1.41 2016/03/04 21:25:47 tnn Exp $
2# 2#
3# Variable definitions for the AIX operating system. 3# Variable definitions for the AIX operating system.
4 4
5CPP?= ${LOCALBASE}/bin/cpp 5CPP?= ${LOCALBASE}/bin/cpp
6ECHO_N?= ${ECHO} -n 6ECHO_N?= ${ECHO} -n
7IMAKE_MAKE?= ${MAKE} # program which gets invoked by imake 7IMAKE_MAKE?= ${MAKE} # program which gets invoked by imake
8PKGLOCALEDIR?= share 8PKGLOCALEDIR?= share
9PS?= /bin/ps 9PS?= /bin/ps
10# XXX: default from defaults/mk.conf. Verify/correct for this platform 10# XXX: default from defaults/mk.conf. Verify/correct for this platform
11# and remove this comment. 11# and remove this comment.
12# AIX strip fails too easily. Use a wrapper script instead 12# AIX strip fails too easily. Use a wrapper script instead
13.if exists(${LOCALBASE}/bin/strip) 13.if exists(${LOCALBASE}/bin/strip)
14STRIP?= ${LOCALBASE}/bin/strip 14STRIP?= ${LOCALBASE}/bin/strip
15.endif 15.endif
16SU?= /usr/bin/su 16SU?= /usr/bin/su
17TYPE?= type # Shell builtin 17TYPE?= type # Shell builtin
18 18
19CPP_PRECOMP_FLAGS?= # unset 19CPP_PRECOMP_FLAGS?= # unset
20DEF_UMASK?= 0022 20DEF_UMASK?= 0022
21EXPORT_SYMBOLS_LDFLAGS?= # empty 21EXPORT_SYMBOLS_LDFLAGS?= # empty
22MOTIF_TYPE_DEFAULT?= motif # default 2.0 compatible libs type 22MOTIF_TYPE_DEFAULT?= motif # default 2.0 compatible libs type
23NOLOGIN?= /sbin/nologin 23NOLOGIN?= /sbin/nologin
24PKG_TOOLS_BIN?= ${LOCALBASE}/sbin 24PKG_TOOLS_BIN?= ${LOCALBASE}/sbin
25ROOT_CMD?= ${SU} - root -c 25ROOT_CMD?= ${SU} - root -c
26ROOT_USER?= root 26ROOT_USER?= root
27ROOT_GROUP?= system 27ROOT_GROUP?= system
28ULIMIT_CMD_datasize?= ulimit -d `ulimit -H -d` 28ULIMIT_CMD_datasize?= ulimit -d `ulimit -H -d`
29ULIMIT_CMD_stacksize?= ulimit -s `ulimit -H -s` 29ULIMIT_CMD_stacksize?= ulimit -s `ulimit -H -s`
30ULIMIT_CMD_memorysize?= ulimit -m `ulimit -H -m` 30ULIMIT_CMD_memorysize?= ulimit -m `ulimit -H -m`
31 31
32_OPSYS_SYSTEM_RPATH?= /usr/lib 32_OPSYS_SYSTEM_RPATH?= /usr/lib
33_OPSYS_LIB_DIRS?= /usr/lib 33_OPSYS_LIB_DIRS?= /usr/lib
34_OPSYS_INCLUDE_DIRS?= /usr/include 34_OPSYS_INCLUDE_DIRS?= /usr/include
35 35
36.if exists(/usr/include/netinet6) 36.if exists(/usr/include/netinet6)
37_OPSYS_HAS_INET6= yes # IPv6 is standard 37_OPSYS_HAS_INET6= yes # IPv6 is standard
38.else 38.else
39_OPSYS_HAS_INET6= no # IPv6 is not standard 39_OPSYS_HAS_INET6= no # IPv6 is not standard
40.endif 40.endif
41_OPSYS_HAS_JAVA= no # Java is not standard 41_OPSYS_HAS_JAVA= no # Java is not standard
42_OPSYS_HAS_MANZ= yes # MANZ controls gzipping of man pages 42_OPSYS_HAS_MANZ= yes # MANZ controls gzipping of man pages
43_OPSYS_HAS_OSSAUDIO= no # libossaudio is available 43_OPSYS_HAS_OSSAUDIO= no # libossaudio is available
44_OPSYS_PERL_REQD= # no base version of perl required 44_OPSYS_PERL_REQD= # no base version of perl required
45_OPSYS_PTHREAD_AUTO= no # -lpthread needed for pthreads 45_OPSYS_PTHREAD_AUTO= no # -lpthread needed for pthreads
46_OPSYS_SHLIB_TYPE= aixlib # type of shared lib 46_OPSYS_SHLIB_TYPE= aixlib # type of shared lib
47_PATCH_CAN_BACKUP= yes # native patch(1) can make backups 47_PATCH_CAN_BACKUP= yes # native patch(1) can make backups
48_PATCH_BACKUP_ARG?= -b -V simple -z # switch to patch(1) for backup suffix 48_PATCH_BACKUP_ARG?= -b -V simple -z # switch to patch(1) for backup suffix
49_USE_RPATH= yes # add rpath to LDFLAGS 49_USE_RPATH= yes # add rpath to LDFLAGS
50 50
51# flags passed to the linker to extract all symbols from static archives. 51# flags passed to the linker to extract all symbols from static archives.
52# this is GNU ld. 52# this is GNU ld.
53_OPSYS_WHOLE_ARCHIVE_FLAG= -Wl,--whole-archive 53_OPSYS_WHOLE_ARCHIVE_FLAG= -Wl,--whole-archive
54_OPSYS_NO_WHOLE_ARCHIVE_FLAG= -Wl,--no-whole-archive 54_OPSYS_NO_WHOLE_ARCHIVE_FLAG= -Wl,--no-whole-archive
55 55
56_STRIPFLAG_CC?= ${_INSTALL_UNSTRIPPED:D:U-s} # cc(1) option to strip 56_STRIPFLAG_CC?= ${_INSTALL_UNSTRIPPED:D:U-s} # cc(1) option to strip
57_STRIPFLAG_INSTALL?= ${_INSTALL_UNSTRIPPED:D:U-s} # install(1) option to strip 57_STRIPFLAG_INSTALL?= ${_INSTALL_UNSTRIPPED:D:U-s} # install(1) option to strip
58 58
59DEFAULT_SERIAL_DEVICE?= /dev/tty0 59DEFAULT_SERIAL_DEVICE?= /dev/tty0
60SERIAL_DEVICES?= /dev/tty0 \ 60SERIAL_DEVICES?= /dev/tty0 \
61 /dev/tty 61 /dev/tty
62 62
63_OPSYS_CAN_CHECK_SHLIBS= no # can't use readelf in check/bsd.check-vars.mk 63_OPSYS_CAN_CHECK_SHLIBS= no # can't use readelf in check/bsd.check-vars.mk
64 64
65# check for maximum command line length and set it in configure's environment, 65# check for maximum command line length and set it in configure's environment,
66# to avoid a test required by the libtool script that takes forever. 66# to avoid a test required by the libtool script that takes forever.
67# FIXME: Adjust to work on this system and enable the lines below. 67# FIXME: Adjust to work on this system and enable the lines below.
68#_OPSYS_MAX_CMDLEN_CMD= /sbin/sysctl -n kern.argmax 68#_OPSYS_MAX_CMDLEN_CMD= /sbin/sysctl -n kern.argmax
 69
 70# On AIX, there are a handful of utilies (i.e., ar(1), ld(1), strip(1), etc)
 71# that care about the type of object files they should examine via the various'
 72# flags. Alternatively, it is easier to export OBJECT_MODE with the
 73# appropriate $ABI versus piping through flags for all related utilities.
 74.if defined(ABI)
 75ALL_ENV+= OBJECT_MODE=${ABI}
 76.endif

cvs diff -r1.95 -r1.96 pkgsrc/mk/wrapper/bsd.wrapper.mk (switch to unified diff)

--- pkgsrc/mk/wrapper/bsd.wrapper.mk 2016/03/04 01:38:39 1.95
+++ pkgsrc/mk/wrapper/bsd.wrapper.mk 2016/03/04 21:25:47 1.96
@@ -1,760 +1,758 @@ @@ -1,760 +1,758 @@
1# $NetBSD: bsd.wrapper.mk,v 1.95 2016/03/04 01:38:39 tnn Exp $ 1# $NetBSD: bsd.wrapper.mk,v 1.96 2016/03/04 21:25:47 tnn Exp $
2# 2#
3# Copyright (c) 2005 The NetBSD Foundation, Inc. 3# Copyright (c) 2005 The NetBSD Foundation, Inc.
4# All rights reserved. 4# All rights reserved.
5# 5#
6# This code is derived from software contributed to The NetBSD Foundation 6# This code is derived from software contributed to The NetBSD Foundation
7# by Johnny C. Lam. 7# by Johnny C. Lam.
8# 8#
9# Redistribution and use in source and binary forms, with or without 9# Redistribution and use in source and binary forms, with or without
10# modification, are permitted provided that the following conditions 10# modification, are permitted provided that the following conditions
11# are met: 11# are met:
12# 1. Redistributions of source code must retain the above copyright 12# 1. Redistributions of source code must retain the above copyright
13# notice, this list of conditions and the following disclaimer. 13# notice, this list of conditions and the following disclaimer.
14# 2. Redistributions in binary form must reproduce the above copyright 14# 2. Redistributions in binary form must reproduce the above copyright
15# notice, this list of conditions and the following disclaimer in the 15# notice, this list of conditions and the following disclaimer in the
16# documentation and/or other materials provided with the distribution. 16# documentation and/or other materials provided with the distribution.
17# 3. All advertising materials mentioning features or use of this software 17# 3. All advertising materials mentioning features or use of this software
18# must display the following acknowledgement: 18# must display the following acknowledgement:
19# This product includes software developed by the NetBSD 19# This product includes software developed by the NetBSD
20# Foundation, Inc. and its contributors. 20# Foundation, Inc. and its contributors.
21# 4. Neither the name of The NetBSD Foundation nor the names of its 21# 4. Neither the name of The NetBSD Foundation nor the names of its
22# contributors may be used to endorse or promote products derived 22# contributors may be used to endorse or promote products derived
23# from this software without specific prior written permission. 23# from this software without specific prior written permission.
24# 24#
25# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 25# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
26# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 26# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
27# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 28# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
29# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 29# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 30# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 31# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 32# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 33# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 34# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35# POSSIBILITY OF SUCH DAMAGE. 35# POSSIBILITY OF SUCH DAMAGE.
36 36
37# Package-settable variables: 37# Package-settable variables:
38# 38#
39# WRAPPER_REORDER_CMDS 39# WRAPPER_REORDER_CMDS
40# A list of library reordering specifications to make sure that the 40# A list of library reordering specifications to make sure that the
41# linker sees the libraries in the correct order. 41# linker sees the libraries in the correct order.
42# 42#
43# Each of the specifications has the form reorder:l:foo:bar, which 43# Each of the specifications has the form reorder:l:foo:bar, which
44# means that -lfoo will always come before -lbar in the linker 44# means that -lfoo will always come before -lbar in the linker
45# command line. 45# command line.
46# 46#
47# Keywords: libs order reorder wrapper 47# Keywords: libs order reorder wrapper
48# 48#
49 49
50.include "../../mk/wrapper/wrapper-defs.mk" 50.include "../../mk/wrapper/wrapper-defs.mk"
51 51
52.PHONY: generate-wrappers 52.PHONY: generate-wrappers
53 53
54.include "../../mk/buildlink3/bsd.buildlink3.mk" 54.include "../../mk/buildlink3/bsd.buildlink3.mk"
55 55
56# Prepend ${WRAPPER_BINDIR} to the PATH so that the wrappers are found 56# Prepend ${WRAPPER_BINDIR} to the PATH so that the wrappers are found
57# first when searching for executables. 57# first when searching for executables.
58# 58#
59PREPEND_PATH+= ${WRAPPER_BINDIR} 59PREPEND_PATH+= ${WRAPPER_BINDIR}
60 60
61### 61###
62### BEGIN: after the barrier 62### BEGIN: after the barrier
63### 63###
64.if exists(${_COOKIE.barrier}) 64.if exists(${_COOKIE.barrier})
65 65
66_WRAPPER_DEBUG?= no 66_WRAPPER_DEBUG?= no
67CONFIGURE_ENV+= WRAPPER_DEBUG=${_WRAPPER_DEBUG:Q} 67CONFIGURE_ENV+= WRAPPER_DEBUG=${_WRAPPER_DEBUG:Q}
68MAKE_ENV+= WRAPPER_DEBUG=${_WRAPPER_DEBUG:Q} 68MAKE_ENV+= WRAPPER_DEBUG=${_WRAPPER_DEBUG:Q}
69SCRIPTS_ENV+= WRAPPER_DEBUG="${_WRAPPER_DEBUG}" 69SCRIPTS_ENV+= WRAPPER_DEBUG="${_WRAPPER_DEBUG}"
70 70
71# The caching code, which greatly speeds up the build process, doesn't 71# The caching code, which greatly speeds up the build process, doesn't
72# work correctly on certain platforms. 72# work correctly on certain platforms.
73# 73#
74_WRAP_BROKEN_CACHE= Darwin-5.*-* 74_WRAP_BROKEN_CACHE= Darwin-5.*-*
75 75
76.if !defined(WRAPPER_UPDATE_CACHE) 76.if !defined(WRAPPER_UPDATE_CACHE)
77WRAPPER_UPDATE_CACHE?= yes 77WRAPPER_UPDATE_CACHE?= yes
78. for _pattern_ in ${_WRAP_BROKEN_CACHE} 78. for _pattern_ in ${_WRAP_BROKEN_CACHE}
79. if !empty(MACHINE_PLATFORM:M${_pattern_}) 79. if !empty(MACHINE_PLATFORM:M${_pattern_})
80WRAPPER_UPDATE_CACHE= no 80WRAPPER_UPDATE_CACHE= no
81. endif 81. endif
82. endfor 82. endfor
83.endif 83.endif
84CONFIGURE_ENV+= WRAPPER_UPDATE_CACHE=${WRAPPER_UPDATE_CACHE:Q} 84CONFIGURE_ENV+= WRAPPER_UPDATE_CACHE=${WRAPPER_UPDATE_CACHE:Q}
85MAKE_ENV+= WRAPPER_UPDATE_CACHE=${WRAPPER_UPDATE_CACHE:Q} 85MAKE_ENV+= WRAPPER_UPDATE_CACHE=${WRAPPER_UPDATE_CACHE:Q}
86 86
87# Only do the (expensive) reordering step if we have reordering 87# Only do the (expensive) reordering step if we have reordering
88# transformations. 88# transformations.
89 89
90WRAPPER_REORDER_CMDS?= # empty 90WRAPPER_REORDER_CMDS?= # empty
91.if !empty(WRAPPER_REORDER_CMDS) 91.if !empty(WRAPPER_REORDER_CMDS)
92MAKE_ENV+= WRAPPER_REORDER=yes 92MAKE_ENV+= WRAPPER_REORDER=yes
93.endif 93.endif
94 94
95# Remove rpath options if _USE_RPATH is "no". 95# Remove rpath options if _USE_RPATH is "no".
96.if defined(_USE_RPATH) && !empty(_USE_RPATH:M[nN][oO]) 96.if defined(_USE_RPATH) && !empty(_USE_RPATH:M[nN][oO])
97_WRAP_TRANSFORM_CMDS+= no-rpath 97_WRAP_TRANSFORM_CMDS+= no-rpath
98.endif 98.endif
99 99
100# Add any package-specified transformations. 100# Add any package-specified transformations.
101_WRAP_TRANSFORM_CMDS+= ${WRAPPER_TRANSFORM_CMDS} 101_WRAP_TRANSFORM_CMDS+= ${WRAPPER_TRANSFORM_CMDS}
102 102
103# _WRAP_PATH is the path we embed in the wrapper scripts for subsequent 103# _WRAP_PATH is the path we embed in the wrapper scripts for subsequent
104# calls to the toolchain. We don't need to wrap them again because they 104# calls to the toolchain. We don't need to wrap them again because they
105# are already being called with the correct arguments. 105# are already being called with the correct arguments.
106# 106#
107.if !defined(_WRAP_PATH) 107.if !defined(_WRAP_PATH)
108_WRAP_PATH= ${PATH:S/${WRAPPER_BINDIR}://:S/:${WRAPPER_BINDIR}//} 108_WRAP_PATH= ${PATH:S/${WRAPPER_BINDIR}://:S/:${WRAPPER_BINDIR}//}
109.endif 109.endif
110MAKEVARS+= _WRAP_PATH 110MAKEVARS+= _WRAP_PATH
111 111
112# Generate wrapper scripts for the compiler tools. These wrapper 112# Generate wrapper scripts for the compiler tools. These wrapper
113# scripts are to be used instead of the actual compiler tools when 113# scripts are to be used instead of the actual compiler tools when
114# building software. 114# building software.
115# 115#
116# WRAPPER_CC, WRAPPER_LD, etc. are the full paths to the wrapper 116# WRAPPER_CC, WRAPPER_LD, etc. are the full paths to the wrapper
117# scripts. 117# scripts.
118# 118#
119# _WRAP_ALIASES.CC, _WRAP_ALIASES.LD, etc. are the other names by 119# _WRAP_ALIASES.CC, _WRAP_ALIASES.LD, etc. are the other names by
120# which each wrapper may be invoked. 120# which each wrapper may be invoked.
121# 121#
122WRAPPEES+= AS 122WRAPPEES+= AS
123WRAPPEES+= CC 123WRAPPEES+= CC
124WRAPPEES+= CPP 124WRAPPEES+= CPP
125WRAPPEES+= CXX 125WRAPPEES+= CXX
126WRAPPEES+= FC 126WRAPPEES+= FC
127.if !empty(USE_TOOLS:C/:.*//:Mimake) 127.if !empty(USE_TOOLS:C/:.*//:Mimake)
128IMAKE?= ${X11BASE}/bin/imake 128IMAKE?= ${X11BASE}/bin/imake
129WRAPPEES+= IMAKE 129WRAPPEES+= IMAKE
130.endif 130.endif
131WRAPPEES+= LD 131WRAPPEES+= LD
132WRAPPEES+= AR 132WRAPPEES+= AR
133WRAPPEES+= RANLIB 133WRAPPEES+= RANLIB
134 134
135.if !empty(PKGSRC_COMPILER:Mxlc) && ${OPSYS} == "AIX" 135.if !empty(PKGSRC_COMPILER:Mxlc) && ${OPSYS} == "AIX"
136CC_R?= ${_XLC_DIR}/bin/cc_r 136CC_R?= ${_XLC_DIR}/bin/cc_r
137WRAPPEES+= CC_R 137WRAPPEES+= CC_R
138CXX_R?= ${_XLC_DIR}/bin/c++_r 138CXX_R?= ${_XLC_DIR}/bin/c++_r
139WRAPPEES+= CXX_R 139WRAPPEES+= CXX_R
140.endif 140.endif
141 141
142_WRAPPEE_UNIQUE_CMDS= # empty 142_WRAPPEE_UNIQUE_CMDS= # empty
143.for _wrappee_ in ${WRAPPEES} 143.for _wrappee_ in ${WRAPPEES}
144_WRAPPEES+= ${_wrappee_} 144_WRAPPEES+= ${_wrappee_}
145_WRAPPEE_${_wrappee_}= ${${_wrappee_}:T:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//} 145_WRAPPEE_${_wrappee_}= ${${_wrappee_}:T:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//}
146. if empty(_WRAPPEE_UNIQUE_CMDS:M${_WRAPPEE_${_wrappee_}}) 146. if empty(_WRAPPEE_UNIQUE_CMDS:M${_WRAPPEE_${_wrappee_}})
147_WRAPPEE_UNIQUE_CMDS+= ${_WRAPPEE_${_wrappee_}} 147_WRAPPEE_UNIQUE_CMDS+= ${_WRAPPEE_${_wrappee_}}
148_WRAPPEES_UNIQUE+= ${_wrappee_} 148_WRAPPEES_UNIQUE+= ${_wrappee_}
149. endif 149. endif
150.endfor # WRAPPEES 150.endfor # WRAPPEES
151 151
152.for _wrappee_ in ${_WRAPPEES} 152.for _wrappee_ in ${_WRAPPEES}
153# 153#
154# Strip the leading paths from the toolchain variables since we manipulate 154# Strip the leading paths from the toolchain variables since we manipulate
155# the PATH to use the correct executable. 155# the PATH to use the correct executable.
156# 156#
157. if empty(${_wrappee_}:C/^/_asdf_/1:N_asdf_*) 157. if empty(${_wrappee_}:C/^/_asdf_/1:N_asdf_*)
158${_wrappee_}:= ${${_wrappee_}:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//:T} 158${_wrappee_}:= ${${_wrappee_}:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//:T}
159. else 159. else
160${_wrappee_}:= ${${_wrappee_}:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//:T} ${${_wrappee_}:C/^/_asdf_/1:N_asdf_*} 160${_wrappee_}:= ${${_wrappee_}:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//:T} ${${_wrappee_}:C/^/_asdf_/1:N_asdf_*}
161. endif 161. endif
162# 162#
163# WRAPPER_<wrappee> is the full path to the wrapper script, plus any 163# WRAPPER_<wrappee> is the full path to the wrapper script, plus any
164# trailing arguments to <wrappee>. 164# trailing arguments to <wrappee>.
165# 165#
166WRAPPER_${_wrappee_}= ${WRAPPER_BINDIR}/${${_wrappee_}} 166WRAPPER_${_wrappee_}= ${WRAPPER_BINDIR}/${${_wrappee_}}
167.endfor # _WRAPPEES 167.endfor # _WRAPPEES
168 168
169_WRAP_ALIASES.AS= as 169_WRAP_ALIASES.AS= as
170_WRAP_ALIASES.CC= cc gcc ada 170_WRAP_ALIASES.CC= cc gcc ada
171_WRAP_ALIASES.CXX= c++ g++ CC cxx 171_WRAP_ALIASES.CXX= c++ g++ CC cxx
172_WRAP_ALIASES.CPP= cpp 172_WRAP_ALIASES.CPP= cpp
173_WRAP_ALIASES.FC= f77 g77 gfortran 173_WRAP_ALIASES.FC= f77 g77 gfortran
174_WRAP_ALIASES.IMAKE= imake 174_WRAP_ALIASES.IMAKE= imake
175_WRAP_ALIASES.LD= ld 175_WRAP_ALIASES.LD= ld
176_WRAP_ALIASES.AR= ar 176_WRAP_ALIASES.AR= ar
177_WRAP_ALIASES.RANLIB= ranlib 177_WRAP_ALIASES.RANLIB= ranlib
178 178
179# _WRAP_*.<wrappee> variables represent "template methods" of the main 179# _WRAP_*.<wrappee> variables represent "template methods" of the main
180# wrapper script. This allows individual wrappers to be customized to 180# wrapper script. This allows individual wrappers to be customized to
181# some degree: 181# some degree:
182# 182#
183_WRAP_ENV?= PATH="${_WRAP_PATH}"; export PATH 183_WRAP_ENV?= PATH="${_WRAP_PATH}"; export PATH
184_WRAP_EMPTY_FILE?= ${WRAPPER_TMPDIR}/empty 184_WRAP_EMPTY_FILE?= ${WRAPPER_TMPDIR}/empty
185_WRAP_ARG_PP?= ${_WRAP_EMPTY_FILE} 185_WRAP_ARG_PP?= ${_WRAP_EMPTY_FILE}
186_WRAP_ARG_PP_MAIN?= ${WRAPPER_TMPDIR}/arg-pp-main 186_WRAP_ARG_PP_MAIN?= ${WRAPPER_TMPDIR}/arg-pp-main
187_WRAP_ARG_SOURCE?= ${WRAPPER_TMPDIR}/arg-source 187_WRAP_ARG_SOURCE?= ${WRAPPER_TMPDIR}/arg-source
188_WRAP_BUILDCMD?= ${WRAPPER_TMPDIR}/buildcmd 188_WRAP_BUILDCMD?= ${WRAPPER_TMPDIR}/buildcmd
189_WRAP_CACHE?= ${WRAPPER_TMPDIR}/cache 189_WRAP_CACHE?= ${WRAPPER_TMPDIR}/cache
190_WRAP_CACHE_BODY?= ${WRAPPER_TMPDIR}/cache-body 190_WRAP_CACHE_BODY?= ${WRAPPER_TMPDIR}/cache-body
191_WRAP_CLEANUP?= ${_WRAP_EMPTY_FILE} 191_WRAP_CLEANUP?= ${_WRAP_EMPTY_FILE}
192_WRAP_CMD_SINK?= ${WRAPPER_TMPDIR}/cmd-sink 192_WRAP_CMD_SINK?= ${WRAPPER_TMPDIR}/cmd-sink
193_WRAP_GEN_REORDER?= ${WRAPPER_TMPDIR}/gen-reorder 193_WRAP_GEN_REORDER?= ${WRAPPER_TMPDIR}/gen-reorder
194_WRAP_GEN_TRANSFORM?= ${WRAPPER_TMPDIR}/gen-transform 194_WRAP_GEN_TRANSFORM?= ${WRAPPER_TMPDIR}/gen-transform
195_WRAP_LOG?= ${WRKLOG} 195_WRAP_LOG?= ${WRKLOG}
196_WRAP_LOGIC?= ${WRAPPER_TMPDIR}/logic 196_WRAP_LOGIC?= ${WRAPPER_TMPDIR}/logic
197_WRAP_REORDERLIBS?= ${WRAPPER_TMPDIR}/reorderlibs 197_WRAP_REORDERLIBS?= ${WRAPPER_TMPDIR}/reorderlibs
198_WRAP_SCAN?= ${WRAPPER_TMPDIR}/scan 198_WRAP_SCAN?= ${WRAPPER_TMPDIR}/scan
199_WRAP_SHELL_LIB?= ${WRAPPER_TMPDIR}/shell-lib 199_WRAP_SHELL_LIB?= ${WRAPPER_TMPDIR}/shell-lib
200_WRAP_SUBR_SH?= ${WRAPPER_TMPDIR}/wrapper-subr.sh 200_WRAP_SUBR_SH?= ${WRAPPER_TMPDIR}/wrapper-subr.sh
201_WRAP_SKIP_TRANSFORM?= no 201_WRAP_SKIP_TRANSFORM?= no
202_WRAP_TRANSFORM?= ${_WRAP_EMPTY_FILE} 202_WRAP_TRANSFORM?= ${_WRAP_EMPTY_FILE}
203_WRAP_TRANSFORM_SED?= # empty 203_WRAP_TRANSFORM_SED?= # empty
204_WRAP_TRANSFORM_SEDFILE?= ${WRAPPER_TMPDIR}/transform.sed 204_WRAP_TRANSFORM_SEDFILE?= ${WRAPPER_TMPDIR}/transform.sed
205_WRAP_UNTRANSFORM_SEDFILE?= ${WRAPPER_TMPDIR}/untransform.sed 205_WRAP_UNTRANSFORM_SEDFILE?= ${WRAPPER_TMPDIR}/untransform.sed
206 206
207# Generate the transformation sedfiles if we need them. 207# Generate the transformation sedfiles if we need them.
208.if !empty(_WRAP_TRANSFORM_CMDS) 208.if !empty(_WRAP_TRANSFORM_CMDS)
209generate-wrappers: ${_WRAP_TRANSFORM_SEDFILE} ${_WRAP_UNTRANSFORM_SEDFILE} 209generate-wrappers: ${_WRAP_TRANSFORM_SEDFILE} ${_WRAP_UNTRANSFORM_SEDFILE}
210_WRAP_TRANSFORM_SED+= -f ${_WRAP_TRANSFORM_SEDFILE} 210_WRAP_TRANSFORM_SED+= -f ${_WRAP_TRANSFORM_SEDFILE}
211_UNWRAP_SED= -f ${_WRAP_UNTRANSFORM_SEDFILE} 211_UNWRAP_SED= -f ${_WRAP_UNTRANSFORM_SEDFILE}
212.endif 212.endif
213 213
214.for _wrappee_ in ${_WRAPPEES} 214.for _wrappee_ in ${_WRAPPEES}
215_WRAPPER_SH.${_wrappee_}= ${WRAPPER_SRCDIR}/wrapper.sh 215_WRAPPER_SH.${_wrappee_}= ${WRAPPER_SRCDIR}/wrapper.sh
216_WRAP_ENV.${_wrappee_}?= ${_WRAP_ENV} 216_WRAP_ENV.${_wrappee_}?= ${_WRAP_ENV}
217_WRAP_EXTRA_ARGS.${_wrappee_}?= # empty 217_WRAP_EXTRA_ARGS.${_wrappee_}?= # empty
218_WRAP_ARG_PP.${_wrappee_}?= ${_WRAP_ARG_PP} 218_WRAP_ARG_PP.${_wrappee_}?= ${_WRAP_ARG_PP}
219_WRAP_ARG_PP_MAIN.${_wrappee_}?= ${_WRAP_ARG_PP_MAIN} 219_WRAP_ARG_PP_MAIN.${_wrappee_}?= ${_WRAP_ARG_PP_MAIN}
220_WRAP_ARG_SOURCE.${_wrappee_}?= ${_WRAP_ARG_SOURCE} 220_WRAP_ARG_SOURCE.${_wrappee_}?= ${_WRAP_ARG_SOURCE}
221_WRAP_BUILDCMD.${_wrappee_}?= ${_WRAP_BUILDCMD} 221_WRAP_BUILDCMD.${_wrappee_}?= ${_WRAP_BUILDCMD}
222_WRAP_CACHE.${_wrappee_}?= ${_WRAP_CACHE} 222_WRAP_CACHE.${_wrappee_}?= ${_WRAP_CACHE}
223_WRAP_CACHE_BODY.${_wrappee_}?= ${_WRAP_CACHE_BODY} 223_WRAP_CACHE_BODY.${_wrappee_}?= ${_WRAP_CACHE_BODY}
224_WRAP_CLEANUP.${_wrappee_}?= ${_WRAP_CLEANUP} 224_WRAP_CLEANUP.${_wrappee_}?= ${_WRAP_CLEANUP}
225_WRAP_CMD_SINK.${_wrappee_}?= ${_WRAP_CMD_SINK} 225_WRAP_CMD_SINK.${_wrappee_}?= ${_WRAP_CMD_SINK}
226_WRAP_LOG.${_wrappee_}?= ${_WRAP_LOG} 226_WRAP_LOG.${_wrappee_}?= ${_WRAP_LOG}
227_WRAP_LOGIC.${_wrappee_}?= ${_WRAP_LOGIC} 227_WRAP_LOGIC.${_wrappee_}?= ${_WRAP_LOGIC}
228_WRAP_SCAN.${_wrappee_}?= ${_WRAP_SCAN} 228_WRAP_SCAN.${_wrappee_}?= ${_WRAP_SCAN}
229_WRAP_TRANSFORM.${_wrappee_}?= ${_WRAP_TRANSFORM} 229_WRAP_TRANSFORM.${_wrappee_}?= ${_WRAP_TRANSFORM}
230_WRAP_TRANSFORM_SED.${_wrappee_}?= ${_WRAP_TRANSFORM_SED} 230_WRAP_TRANSFORM_SED.${_wrappee_}?= ${_WRAP_TRANSFORM_SED}
231_WRAP_SKIP_TRANSFORM.${_wrappee_}?= ${_WRAP_SKIP_TRANSFORM} 231_WRAP_SKIP_TRANSFORM.${_wrappee_}?= ${_WRAP_SKIP_TRANSFORM}
232_WRAP_TYPE.${_wrappee_}?= ${_wrappee_} 232_WRAP_TYPE.${_wrappee_}?= ${_wrappee_}
233.endfor # _WRAPPEES 233.endfor # _WRAPPEES
234 234
235.if !empty(PKGSRC_COMPILER:Micc) 235.if !empty(PKGSRC_COMPILER:Micc)
236. if !empty(CC_VERSION:M8.1) || !empty(CC_VERSION:M9.0) 236. if !empty(CC_VERSION:M8.1) || !empty(CC_VERSION:M9.0)
237_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-icc81-cc 237_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-icc81-cc
238_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC} 238_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC}
239. else 239. else
240_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-icc-cc 240_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-icc-cc
241_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC} 241_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC}
242. endif 242. endif
243_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-icc-cc 243_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-icc-cc
244_WRAP_CACHE_BODY.CXX= ${_WRAP_CACHE_BODY.CC} 244_WRAP_CACHE_BODY.CXX= ${_WRAP_CACHE_BODY.CC}
245_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-icc-cc 245_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-icc-cc
246_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC} 246_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC}
247.endif 247.endif
248 248
249.if !empty(PKGSRC_COMPILER:Mmipspro) 249.if !empty(PKGSRC_COMPILER:Mmipspro)
250_WRAP_ARG_PP.CC= ${WRAPPER_TMPDIR}/arg-pp-mipspro-cc 250_WRAP_ARG_PP.CC= ${WRAPPER_TMPDIR}/arg-pp-mipspro-cc
251_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-mipspro-cc 251_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-mipspro-cc
252_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-mipspro-cc 252_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-mipspro-cc
253_WRAP_ARG_PP.CXX= ${_WRAP_ARG_PP.CC} 253_WRAP_ARG_PP.CXX= ${_WRAP_ARG_PP.CC}
254_WRAP_CACHE_BODY.CXX= ${_WRAP_CACHE_BODY.CC} 254_WRAP_CACHE_BODY.CXX= ${_WRAP_CACHE_BODY.CC}
255_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC} 255_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC}
256.endif 256.endif
257 257
258.if !empty(PKGSRC_COMPILER:Mmipspro-ucode) 258.if !empty(PKGSRC_COMPILER:Mmipspro-ucode)
259_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-mipspro-ucode-cc 259_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-mipspro-ucode-cc
260_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-mipspro-ucode-cc 260_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-mipspro-ucode-cc
261_WRAP_CACHE_BODY.CXX= ${_WRAP_CACHE_BODY.CC} 261_WRAP_CACHE_BODY.CXX= ${_WRAP_CACHE_BODY.CC}
262_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC} 262_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC}
263.endif 263.endif
264 264
265.if !empty(PKGSRC_COMPILER:Mido) 265.if !empty(PKGSRC_COMPILER:Mido)
266_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-ido-cc 266_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-ido-cc
267_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-ido-cc 267_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-ido-cc
268# enable C++ style (//) commments with the IDO cc 268# enable C++ style (//) commments with the IDO cc
269# just in case increase the optimization threshold from the default 1000 269# just in case increase the optimization threshold from the default 1000
270_WRAP_EXTRA_ARGS.CC+= -Xcpluscomm -Olimit 6000 270_WRAP_EXTRA_ARGS.CC+= -Xcpluscomm -Olimit 6000
271.endif 271.endif
272 272
273.if !empty(PKGSRC_COMPILER:Msunpro) 273.if !empty(PKGSRC_COMPILER:Msunpro)
274_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-sunpro-cc 274_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-sunpro-cc
275_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-sunpro-cc 275_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-sunpro-cc
276_WRAP_ARG_PP.CXX= ${WRAPPER_TMPDIR}/arg-pp-sunpro-cxx 276_WRAP_ARG_PP.CXX= ${WRAPPER_TMPDIR}/arg-pp-sunpro-cxx
277_WRAP_CACHE.CXX= ${WRAPPER_TMPDIR}/cache-sunpro-cxx 277_WRAP_CACHE.CXX= ${WRAPPER_TMPDIR}/cache-sunpro-cxx
278_WRAP_CACHE_BODY.CXX= ${WRAPPER_TMPDIR}/cache-body-sunpro-cxx 278_WRAP_CACHE_BODY.CXX= ${WRAPPER_TMPDIR}/cache-body-sunpro-cxx
279_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC} 279_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC}
280_WRAP_CMD_SINK.CXX= ${WRAPPER_TMPDIR}/cmd-sink-sunpro-cxx 280_WRAP_CMD_SINK.CXX= ${WRAPPER_TMPDIR}/cmd-sink-sunpro-cxx
281_WRAP_CACHE_BODY.CPP= ${_WRAP_CACHE_BODY.CC} 281_WRAP_CACHE_BODY.CPP= ${_WRAP_CACHE_BODY.CC}
282_WRAP_TRANSFORM.CPP= ${_WRAP_TRANSFORM.CC} 282_WRAP_TRANSFORM.CPP= ${_WRAP_TRANSFORM.CC}
283.endif 283.endif
284 284
285.if !empty(PKGSRC_COMPILER:Mxlc) 285.if !empty(PKGSRC_COMPILER:Mxlc)
286. if ${OPSYS} == "AIX" 286. if ${OPSYS} == "AIX"
287_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-aix-xlc 287_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-aix-xlc
288_WRAP_CMD_SINK.CC_R= ${_WRAP_CMD_SINK.CC} 288_WRAP_CMD_SINK.CC_R= ${_WRAP_CMD_SINK.CC}
289_WRAP_CMD_SINK.CPP= ${_WRAP_CMD_SINK.CC} 289_WRAP_CMD_SINK.CPP= ${_WRAP_CMD_SINK.CC}
290_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC} 290_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC}
291_WRAP_CMD_SINK.CXX_R= ${_WRAP_CMD_SINK.CC} 291_WRAP_CMD_SINK.CXX_R= ${_WRAP_CMD_SINK.CC}
292. elif ${OPSYS} == "Darwin" 292. elif ${OPSYS} == "Darwin"
293_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-darwin-xlc 293_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-darwin-xlc
294_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC} 294_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC}
295_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-xlc-cc 295_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-xlc-cc
296_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-xlc-cc 296_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-xlc-cc
297_WRAP_CACHE_BODY.CXX= ${_WRAP_CACHE_BODY.CC} 297_WRAP_CACHE_BODY.CXX= ${_WRAP_CACHE_BODY.CC}
298_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC} 298_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC}
299. else 299. else
300PKG_FAIL_REASON+= "xlc unsupported on ${OPSYS}" 300PKG_FAIL_REASON+= "xlc unsupported on ${OPSYS}"
301. endif 301. endif
302.endif 302.endif
303 303
304.if !empty(PKGSRC_COMPILER:Mccc) 304.if !empty(PKGSRC_COMPILER:Mccc)
305_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-ccc-cc 305_WRAP_CACHE_BODY.CC= ${WRAPPER_TMPDIR}/cache-body-ccc-cc
306_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-ccc-cc 306_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-ccc-cc
307_WRAP_CACHE_BODY.CXX= ${_WRAP_CACHE_BODY.CC} 307_WRAP_CACHE_BODY.CXX= ${_WRAP_CACHE_BODY.CC}
308_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC} 308_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC}
309.endif 309.endif
310 310
311.if !empty(PKGSRC_COMPILER:Mgcc) 311.if !empty(PKGSRC_COMPILER:Mgcc)
312_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-gcc 312_WRAP_TRANSFORM.CC= ${WRAPPER_TMPDIR}/transform-gcc
313_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC} 313_WRAP_TRANSFORM.CXX= ${_WRAP_TRANSFORM.CC}
314.endif 314.endif
315 315
316_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-ld 316_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-ld
317_WRAP_SKIP_TRANSFORM.IMAKE= yes 317_WRAP_SKIP_TRANSFORM.IMAKE= yes
318 318
319# XXX 319# XXX
320# XXX This section is ${OPSYS}-specific and shouldn't be here. 320# XXX This section is ${OPSYS}-specific and shouldn't be here.
321# XXX 321# XXX
322.if ${OPSYS} == "Interix" 322.if ${OPSYS} == "Interix"
323_WRAP_EXTRA_ARGS.CC+= -D_ALL_SOURCE 323_WRAP_EXTRA_ARGS.CC+= -D_ALL_SOURCE
324_WRAP_EXTRA_ARGS.CXX+= -D_ALL_SOURCE 324_WRAP_EXTRA_ARGS.CXX+= -D_ALL_SOURCE
325_WRAP_EXTRA_ARGS.CPP+= -D_ALL_SOURCE 325_WRAP_EXTRA_ARGS.CPP+= -D_ALL_SOURCE
326_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-interix-gcc 326_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-interix-gcc
327_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC} 327_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC}
328_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-interix-ld 328_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-interix-ld
329.elif ${OPSYS} == "Darwin" 329.elif ${OPSYS} == "Darwin"
330_WRAP_ARG_PP.CC= ${WRAPPER_TMPDIR}/arg-pp-darwin-gcc 330_WRAP_ARG_PP.CC= ${WRAPPER_TMPDIR}/arg-pp-darwin-gcc
331_WRAP_ARG_PP.CXX= ${_WRAP_ARG_PP.CC} 331_WRAP_ARG_PP.CXX= ${_WRAP_ARG_PP.CC}
332_WRAP_ARG_PP.LD= ${_WRAP_ARG_PP.CC} 332_WRAP_ARG_PP.LD= ${_WRAP_ARG_PP.CC}
333.elif ${OPSYS} == "UnixWare" 333.elif ${OPSYS} == "UnixWare"
334_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-unixware-gcc 334_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-unixware-gcc
335_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC} 335_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC}
336_WRAP_CMD_SINK.LD= ${_WRAP_CMD_SINK.CC} 336_WRAP_CMD_SINK.LD= ${_WRAP_CMD_SINK.CC}
337.elif ${OPSYS} == "OSF1" 337.elif ${OPSYS} == "OSF1"
338_WRAP_EXTRA_ARGS.CC+= -D_POSIX_PII_SOCKET 338_WRAP_EXTRA_ARGS.CC+= -D_POSIX_PII_SOCKET
339_WRAP_EXTRA_ARGS.CXX+= -D_POSIX_PII_SOCKET -D__USE_STD_IOSTREAM 339_WRAP_EXTRA_ARGS.CXX+= -D_POSIX_PII_SOCKET -D__USE_STD_IOSTREAM
340_WRAP_EXTRA_ARGS.CPP+= -D_POSIX_PII_SOCKET 340_WRAP_EXTRA_ARGS.CPP+= -D_POSIX_PII_SOCKET
341_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-osf1-cc 341_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-osf1-cc
342_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC} 342_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC}
343_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-osf1-ld 343_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-osf1-ld
344.elif ${OPSYS} == "HPUX" 344.elif ${OPSYS} == "HPUX"
345_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-hpux-cc 345_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-hpux-cc
346_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC} 346_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC}
347_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-hpux-ld 347_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-hpux-ld
348.elif ${OPSYS} == "AIX" 348.elif ${OPSYS} == "AIX"
349_WRAP_CMD_SINK.CC?= ${WRAPPER_TMPDIR}/cmd-sink-aix-cc 349_WRAP_CMD_SINK.CC?= ${WRAPPER_TMPDIR}/cmd-sink-aix-cc
350_WRAP_CMD_SINK.CXX?= ${_WRAP_CMD_SINK.CC} 350_WRAP_CMD_SINK.CXX?= ${_WRAP_CMD_SINK.CC}
351_WRAP_CMD_SINK.AR= ${WRAPPER_TMPDIR}/cmd-sink-aix-ar 
352_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-aix-ld 351_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-aix-ld
353_WRAP_CACHE_BODY.CC?= ${WRAPPER_TMPDIR}/cache-body-aix-cc 352_WRAP_CACHE_BODY.CC?= ${WRAPPER_TMPDIR}/cache-body-aix-cc
354_WRAP_CACHE_BODY.CC_R?= ${WRAPPER_TMPDIR}/cache-body-aix-cc 353_WRAP_CACHE_BODY.CC_R?= ${WRAPPER_TMPDIR}/cache-body-aix-cc
355_WRAP_TRANSFORM.CC?= ${WRAPPER_TMPDIR}/transform-aix-cc 354_WRAP_TRANSFORM.CC?= ${WRAPPER_TMPDIR}/transform-aix-cc
356_WRAP_TRANSFORM.CC_R?= ${WRAPPER_TMPDIR}/transform-aix-cc 355_WRAP_TRANSFORM.CC_R?= ${WRAPPER_TMPDIR}/transform-aix-cc
357_WRAP_CACHE_BODY.CXX?= ${_WRAP_CACHE_BODY.CC} 356_WRAP_CACHE_BODY.CXX?= ${_WRAP_CACHE_BODY.CC}
358_WRAP_TRANSFORM.CXX?= ${_WRAP_TRANSFORM.CC} 357_WRAP_TRANSFORM.CXX?= ${_WRAP_TRANSFORM.CC}
359.elif ${OPSYS} == "IRIX" 358.elif ${OPSYS} == "IRIX"
360_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-irix-cc 359_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-irix-cc
361_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC} 360_WRAP_CMD_SINK.CXX= ${_WRAP_CMD_SINK.CC}
362_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-irix-ld 361_WRAP_CMD_SINK.LD= ${WRAPPER_TMPDIR}/cmd-sink-irix-ld
363.endif 362.endif
364 363
365.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) 364.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
366_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-cross-gcc 365_WRAP_CMD_SINK.CC= ${WRAPPER_TMPDIR}/cmd-sink-cross-gcc
367_WRAP_CMD_SINK.CPP= ${WRAPPER_TMPDIR}/cmd-sink-cross-cpp 366_WRAP_CMD_SINK.CPP= ${WRAPPER_TMPDIR}/cmd-sink-cross-cpp
368_WRAP_CMD_SINK.CXX= ${WRAPPER_TMPDIR}/cmd-sink-cross-gxx 367_WRAP_CMD_SINK.CXX= ${WRAPPER_TMPDIR}/cmd-sink-cross-gxx
369.endif 368.endif
370 369
371.if ${OPSYS} == "SunOS" && !empty(PKGSRC_COMPILER:Mgcc) 370.if ${OPSYS} == "SunOS" && !empty(PKGSRC_COMPILER:Mgcc)
372_WRAP_CMD_SINK.IMAKE= ${WRAPPER_TMPDIR}/cmd-sink-solaris-imake 371_WRAP_CMD_SINK.IMAKE= ${WRAPPER_TMPDIR}/cmd-sink-solaris-imake
373_WRAP_CACHE_BODY.IMAKE= ${WRAPPER_TMPDIR}/cache-body-solaris-imake 372_WRAP_CACHE_BODY.IMAKE= ${WRAPPER_TMPDIR}/cache-body-solaris-imake
374.endif 373.endif
375 374
376# Filter to scrunch shell scripts by removing comments and empty lines. 375# Filter to scrunch shell scripts by removing comments and empty lines.
377_WRAP_SH_CRUNCH_FILTER= ${AWK} ' \ 376_WRAP_SH_CRUNCH_FILTER= ${AWK} ' \
378 /^\#!/ { print } \ 377 /^\#!/ { print } \
379 /^[[:space:]]*\#/ || NF == 0 { next } \ 378 /^[[:space:]]*\#/ || NF == 0 { next } \
380 /.*/ { print } \ 379 /.*/ { print } \
381 ' 380 '
382 381
383_WRAP_SUBST_SED= \ 382_WRAP_SUBST_SED= \
384 -e "s|@ABI@|${ABI:Q}|g" \ 383 -e "s|@ABI@|${ABI:Q}|g" \
385 -e "s|@CAT@|${CAT:Q}|g" \ 384 -e "s|@CAT@|${CAT:Q}|g" \
386 -e "s|@ECHO@|${ECHO:Q}|g" \ 385 -e "s|@ECHO@|${ECHO:Q}|g" \
387 -e "s|@EXPR@|${EXPR:Q}|g" \ 386 -e "s|@EXPR@|${EXPR:Q}|g" \
388 -e "s|@MV@|${MV}|g" \ 387 -e "s|@MV@|${MV}|g" \
389 -e "s|@SED@|${SED:Q}|g" \ 388 -e "s|@SED@|${SED:Q}|g" \
390 -e "s|@TEST@|${TEST:Q}|g" \ 389 -e "s|@TEST@|${TEST:Q}|g" \
391 -e "s|@WRAPPER_SHELL@|${WRAPPER_SHELL:Q}|g" \ 390 -e "s|@WRAPPER_SHELL@|${WRAPPER_SHELL:Q}|g" \
392 -e "s|@_WRAP_LOG@|${_WRAP_LOG:Q}|g" \ 391 -e "s|@_WRAP_LOG@|${_WRAP_LOG:Q}|g" \
393 -e "s|@_WRAP_REORDERLIBS@|${_WRAP_REORDERLIBS:Q}|g" \ 392 -e "s|@_WRAP_REORDERLIBS@|${_WRAP_REORDERLIBS:Q}|g" \
394 -e "s|@_WRAP_SHELL_LIB@|${_WRAP_SHELL_LIB:Q}|g" \ 393 -e "s|@_WRAP_SHELL_LIB@|${_WRAP_SHELL_LIB:Q}|g" \
395 -e "s|@_WRAP_SUBR_SH@|${_WRAP_SUBR_SH}|g" 394 -e "s|@_WRAP_SUBR_SH@|${_WRAP_SUBR_SH}|g"
396 395
397.for _wrappee_ in ${_WRAPPEES} 396.for _wrappee_ in ${_WRAPPEES}
398_WRAP_SUBST_SED.${_wrappee_}= \ 397_WRAP_SUBST_SED.${_wrappee_}= \
399 -e "s|@_WRAP_EMPTY_FILE@|${_WRAP_EMPTY_FILEQ}|g" \ 398 -e "s|@_WRAP_EMPTY_FILE@|${_WRAP_EMPTY_FILEQ}|g" \
400 -e "s|@_WRAP_ENV@|${_WRAP_ENV.${_wrappee_}:Q}|g" \ 399 -e "s|@_WRAP_ENV@|${_WRAP_ENV.${_wrappee_}:Q}|g" \
401 -e "s|@_WRAP_EXTRA_ARGS@|${_WRAP_EXTRA_ARGS.${_wrappee_}:Q}|g" \ 400 -e "s|@_WRAP_EXTRA_ARGS@|${_WRAP_EXTRA_ARGS.${_wrappee_}:Q}|g" \
402 -e "s|@_WRAP_ARG_PP@|${_WRAP_ARG_PP.${_wrappee_}:Q}|g" \ 401 -e "s|@_WRAP_ARG_PP@|${_WRAP_ARG_PP.${_wrappee_}:Q}|g" \
403 -e "s|@_WRAP_ARG_PP_MAIN@|${_WRAP_ARG_PP_MAIN.${_wrappee_}:Q}|g" \ 402 -e "s|@_WRAP_ARG_PP_MAIN@|${_WRAP_ARG_PP_MAIN.${_wrappee_}:Q}|g" \
404 -e "s|@_WRAP_ARG_SOURCE@|${_WRAP_ARG_SOURCE.${_wrappee_}:Q}|g" \ 403 -e "s|@_WRAP_ARG_SOURCE@|${_WRAP_ARG_SOURCE.${_wrappee_}:Q}|g" \
405 -e "s|@_WRAP_BUILDCMD@|${_WRAP_BUILDCMD.${_wrappee_}:Q}|g" \ 404 -e "s|@_WRAP_BUILDCMD@|${_WRAP_BUILDCMD.${_wrappee_}:Q}|g" \
406 -e "s|@_WRAP_CACHE@|${_WRAP_CACHE.${_wrappee_}:Q}|g" \ 405 -e "s|@_WRAP_CACHE@|${_WRAP_CACHE.${_wrappee_}:Q}|g" \
407 -e "s|@_WRAP_CACHE_BODY@|${_WRAP_CACHE_BODY.${_wrappee_}:Q}|g" \ 406 -e "s|@_WRAP_CACHE_BODY@|${_WRAP_CACHE_BODY.${_wrappee_}:Q}|g" \
408 -e "s|@_WRAP_CLEANUP@|${_WRAP_CLEANUP.${_wrappee_}:Q}|g" \ 407 -e "s|@_WRAP_CLEANUP@|${_WRAP_CLEANUP.${_wrappee_}:Q}|g" \
409 -e "s|@_WRAP_CMD_SINK@|${_WRAP_CMD_SINK.${_wrappee_}:Q}|g" \ 408 -e "s|@_WRAP_CMD_SINK@|${_WRAP_CMD_SINK.${_wrappee_}:Q}|g" \
410 -e "s|@_WRAP_LOG@|${_WRAP_LOG.${_wrappee_}:Q}|g" \ 409 -e "s|@_WRAP_LOG@|${_WRAP_LOG.${_wrappee_}:Q}|g" \
411 -e "s|@_WRAP_LOGIC@|${_WRAP_LOGIC.${_wrappee_}:Q}|g" \ 410 -e "s|@_WRAP_LOGIC@|${_WRAP_LOGIC.${_wrappee_}:Q}|g" \
412 -e "s|@_WRAP_SCAN@|${_WRAP_SCAN.${_wrappee_}:Q}|g" \ 411 -e "s|@_WRAP_SCAN@|${_WRAP_SCAN.${_wrappee_}:Q}|g" \
413 -e "s|@_WRAP_SKIP_TRANSFORM@|${_WRAP_SKIP_TRANSFORM.${_wrappee_}:Q}|g" \ 412 -e "s|@_WRAP_SKIP_TRANSFORM@|${_WRAP_SKIP_TRANSFORM.${_wrappee_}:Q}|g" \
414 -e "s|@_WRAP_TRANSFORM@|${_WRAP_TRANSFORM.${_wrappee_}:Q}|g" \ 413 -e "s|@_WRAP_TRANSFORM@|${_WRAP_TRANSFORM.${_wrappee_}:Q}|g" \
415 -e "s|@_WRAP_TRANSFORM_SED@|${_WRAP_TRANSFORM_SED.${_wrappee_}:Q}|g" \ 414 -e "s|@_WRAP_TRANSFORM_SED@|${_WRAP_TRANSFORM_SED.${_wrappee_}:Q}|g" \
416 -e "s|@_WRAP_TYPE@|${_WRAP_TYPE.${_wrappee_}}|g" \ 415 -e "s|@_WRAP_TYPE@|${_WRAP_TYPE.${_wrappee_}}|g" \
417 -e "s|@WRAPPER_DEBUG@|${_WRAPPER_DEBUG}|g" \ 416 -e "s|@WRAPPER_DEBUG@|${_WRAPPER_DEBUG}|g" \
418 -e "s|@WRAPPER_UPDATE_CACHE@|${WRAPPER_UPDATE_CACHE}|g" \ 417 -e "s|@WRAPPER_UPDATE_CACHE@|${WRAPPER_UPDATE_CACHE}|g" \
419 ${_WRAP_SUBST_SED} 418 ${_WRAP_SUBST_SED}
420 419
421_WRAP_COOKIE.${_wrappee_}= ${WRAPPER_DIR}/.wrapper_${_wrappee_}_done 420_WRAP_COOKIE.${_wrappee_}= ${WRAPPER_DIR}/.wrapper_${_wrappee_}_done
422.endfor # _WRAPPEES 421.endfor # _WRAPPEES
423 422
424.for _wrappee_ in ${_WRAPPEES_UNIQUE} 423.for _wrappee_ in ${_WRAPPEES_UNIQUE}
425PKG_${_wrappee_}?= ${${_wrappee_}} 424PKG_${_wrappee_}?= ${${_wrappee_}}
426generate-wrappers: ${_WRAP_COOKIE.${_wrappee_}} 425generate-wrappers: ${_WRAP_COOKIE.${_wrappee_}}
427${_WRAP_COOKIE.${_wrappee_}}: \ 426${_WRAP_COOKIE.${_wrappee_}}: \
428 ${_WRAPPER_SH.${_wrappee_}} \ 427 ${_WRAPPER_SH.${_wrappee_}} \
429 ${_WRAP_ARG_PP.${_wrappee_}} \ 428 ${_WRAP_ARG_PP.${_wrappee_}} \
430 ${_WRAP_ARG_PP_MAIN.${_wrappee_}} \ 429 ${_WRAP_ARG_PP_MAIN.${_wrappee_}} \
431 ${_WRAP_ARG_SOURCE.${_wrappee_}} \ 430 ${_WRAP_ARG_SOURCE.${_wrappee_}} \
432 ${_WRAP_BUILDCMD.${_wrappee_}} \ 431 ${_WRAP_BUILDCMD.${_wrappee_}} \
433 ${_WRAP_CACHE.${_wrappee_}} \ 432 ${_WRAP_CACHE.${_wrappee_}} \
434 ${_WRAP_CLEANUP.${_wrappee_}} \ 433 ${_WRAP_CLEANUP.${_wrappee_}} \
435 ${_WRAP_CMD_SINK.${_wrappee_}} \ 434 ${_WRAP_CMD_SINK.${_wrappee_}} \
436 ${_WRAP_LOGIC.${_wrappee_}} \ 435 ${_WRAP_LOGIC.${_wrappee_}} \
437 ${_WRAP_REORDERLIBS} \ 436 ${_WRAP_REORDERLIBS} \
438 ${_WRAP_SCAN.${_wrappee_}} \ 437 ${_WRAP_SCAN.${_wrappee_}} \
439 ${_WRAP_SHELL_LIB} \ 438 ${_WRAP_SHELL_LIB} \
440 ${_WRAP_SUBR_SH} \ 439 ${_WRAP_SUBR_SH} \
441 ${_WRAP_TRANSFORM.${_wrappee_}} 440 ${_WRAP_TRANSFORM.${_wrappee_}}
442 ${RUN} \ 441 ${RUN} \
443 wrapper="${WRAPPER_${_wrappee_}:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//}"; \ 442 wrapper="${WRAPPER_${_wrappee_}:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//}"; \
444 if [ -x "$$wrapper" ]; then ${ECHO_BUILDLINK_MSG} "=> $$wrapper already exists. Skipping"; exit 0; fi; \ 443 if [ -x "$$wrapper" ]; then ${ECHO_BUILDLINK_MSG} "=> $$wrapper already exists. Skipping"; exit 0; fi; \
445 ${ECHO_BUILDLINK_MSG} "=> Creating ${_wrappee_} wrapper: $$wrapper"; \ 444 ${ECHO_BUILDLINK_MSG} "=> Creating ${_wrappee_} wrapper: $$wrapper"; \
446 gen_wrapper=yes; \ 445 gen_wrapper=yes; \
447 wrappee="${PKG_${_wrappee_}:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//}"; \ 446 wrappee="${PKG_${_wrappee_}:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//}"; \
448 case $$wrappee in \ 447 case $$wrappee in \
449 /*) ;; \ 448 /*) ;; \
450 *) save_IFS="$$IFS"; \ 449 *) save_IFS="$$IFS"; \
451 IFS=":"; \ 450 IFS=":"; \
452 for dir in $${PATH}; do \ 451 for dir in $${PATH}; do \
453 IFS="$$save_IFS"; \ 452 IFS="$$save_IFS"; \
454 case $${dir} in \ 453 case $${dir} in \
455 *${WRAPPER_DIR}*) \ 454 *${WRAPPER_DIR}*) \
456 ;; \ 455 ;; \
457 *) \ 456 *) \
458 if ${TEST} -f "$${dir}/$$wrappee" -o \ 457 if ${TEST} -f "$${dir}/$$wrappee" -o \
459 -h "$${dir}/$$wrappee"; then \ 458 -h "$${dir}/$$wrappee"; then \
460 wrappee="$${dir}/$$wrappee"; \ 459 wrappee="$${dir}/$$wrappee"; \
461 break; \ 460 break; \
462 fi; \ 461 fi; \
463 ;; \ 462 ;; \
464 esac; \ 463 esac; \
465 done; \ 464 done; \
466 IFS="$$save_IFS"; \ 465 IFS="$$save_IFS"; \
467 if ${TEST} ! -x "$$wrappee"; then \ 466 if ${TEST} ! -x "$$wrappee"; then \
468 gen_wrapper=no; \ 467 gen_wrapper=no; \
469 ${ECHO_BUILDLINK_MSG} "Warning: unable to generate ${_wrappee_} wrapper script: \`$$wrappee'"; \ 468 ${ECHO_BUILDLINK_MSG} "Warning: unable to generate ${_wrappee_} wrapper script: \`$$wrappee'"; \
470 fi; \ 469 fi; \
471 ;; \ 470 ;; \
472 esac; \ 471 esac; \
473 case $$gen_wrapper in \ 472 case $$gen_wrapper in \
474 yes) \ 473 yes) \
475 ${MKDIR} `${DIRNAME} $$wrapper`; \ 474 ${MKDIR} `${DIRNAME} $$wrapper`; \
476 ${CAT} ${_WRAPPER_SH.${_wrappee_}} | \ 475 ${CAT} ${_WRAPPER_SH.${_wrappee_}} | \
477 ${SED} ${_WRAP_SUBST_SED.${_wrappee_}} \ 476 ${SED} ${_WRAP_SUBST_SED.${_wrappee_}} \
478 -e "s|@WRAPPEE@|$$wrappee|g" | \ 477 -e "s|@WRAPPEE@|$$wrappee|g" | \
479 ${_WRAP_SH_CRUNCH_FILTER} \ 478 ${_WRAP_SH_CRUNCH_FILTER} \
480 > $$wrapper; \ 479 > $$wrapper; \
481 ${CHMOD} +x $$wrapper; \ 480 ${CHMOD} +x $$wrapper; \
482 ;; \ 481 ;; \
483 esac 482 esac
484 ${RUN} ${TOUCH} ${TOUCH_FLAGS} ${.TARGET} 483 ${RUN} ${TOUCH} ${TOUCH_FLAGS} ${.TARGET}
485 484
486. for _alias_ in ${_WRAP_ALIASES.${_wrappee_}:S/^/${WRAPPER_BINDIR}\//} 485. for _alias_ in ${_WRAP_ALIASES.${_wrappee_}:S/^/${WRAPPER_BINDIR}\//}
487. if !target(${_alias_}) 486. if !target(${_alias_})
488generate-wrappers: ${_alias_} 487generate-wrappers: ${_alias_}
489${_alias_}: ${_WRAP_COOKIE.${_wrappee_}} 488${_alias_}: ${_WRAP_COOKIE.${_wrappee_}}
490 ${RUN} \ 489 ${RUN} \
491 wrapper="${WRAPPER_${_wrappee_}:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//}"; \ 490 wrapper="${WRAPPER_${_wrappee_}:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//}"; \
492 if [ ! -x ${.TARGET} -a -x $$wrapper ]; then \ 491 if [ ! -x ${.TARGET} -a -x $$wrapper ]; then \
493 ${ECHO_BUILDLINK_MSG} "=> Linking ${_wrappee_} wrapper: ${.TARGET}"; \ 492 ${ECHO_BUILDLINK_MSG} "=> Linking ${_wrappee_} wrapper: ${.TARGET}"; \
494 ${LN} -f${WRAPPER_USE_SYMLINK:Ds} $$wrapper ${.TARGET}; \ 493 ${LN} -f${WRAPPER_USE_SYMLINK:Ds} $$wrapper ${.TARGET}; \
495 fi 494 fi
496. endif 495. endif
497. endfor 496. endfor
498.endfor # _WRAPPEES_UNIQUE 497.endfor # _WRAPPEES_UNIQUE
499 498
500.for _target_ in ${WRAPPER_TARGETS} 499.for _target_ in ${WRAPPER_TARGETS}
501generate-wrappers: ${_target_} 500generate-wrappers: ${_target_}
502.endfor 501.endfor
503 502
504.for w in \ 503.for w in \
505 arg-pp-darwin-gcc \ 504 arg-pp-darwin-gcc \
506 arg-pp-mipspro-cc \ 505 arg-pp-mipspro-cc \
507 arg-pp-sunpro-cxx \ 506 arg-pp-sunpro-cxx \
508 cmd-sink-aix-ar \ 
509 cmd-sink-aix-cc \ 507 cmd-sink-aix-cc \
510 cmd-sink-aix-ld \ 508 cmd-sink-aix-ld \
511 cmd-sink-aix-xlc \ 509 cmd-sink-aix-xlc \
512 cmd-sink-darwin-xlc \ 510 cmd-sink-darwin-xlc \
513 cmd-sink-icc-cc \ 511 cmd-sink-icc-cc \
514 cmd-sink-icc81-cc \ 512 cmd-sink-icc81-cc \
515 cmd-sink-irix-cc \ 513 cmd-sink-irix-cc \
516 cmd-sink-irix-ld \ 514 cmd-sink-irix-ld \
517 cmd-sink-interix-gcc \ 515 cmd-sink-interix-gcc \
518 cmd-sink-ld \ 516 cmd-sink-ld \
519 cmd-sink-osf1-cc \ 517 cmd-sink-osf1-cc \
520 cmd-sink-osf1-ld \ 518 cmd-sink-osf1-ld \
521 cmd-sink-hpux-cc \ 519 cmd-sink-hpux-cc \
522 cmd-sink-hpux-ld \ 520 cmd-sink-hpux-ld \
523 cmd-sink-solaris-imake \ 521 cmd-sink-solaris-imake \
524 cmd-sink-sunpro-cxx \ 522 cmd-sink-sunpro-cxx \
525 cmd-sink-unixware-gcc \ 523 cmd-sink-unixware-gcc \
526 transform-aix-cc \ 524 transform-aix-cc \
527 transform-ccc-cc \ 525 transform-ccc-cc \
528 transform-gcc \ 526 transform-gcc \
529 transform-icc-cc \ 527 transform-icc-cc \
530 transform-ido-cc \ 528 transform-ido-cc \
531 transform-mipspro-cc \ 529 transform-mipspro-cc \
532 transform-mipspro-ucode-cc \ 530 transform-mipspro-ucode-cc \
533 transform-sunpro-cc \ 531 transform-sunpro-cc \
534 transform-xlc-cc \ 532 transform-xlc-cc \
535 wrapper-subr.sh 533 wrapper-subr.sh
536${WRAPPER_TMPDIR}/${w}: ${WRAPPER_SRCDIR}/${w} 534${WRAPPER_TMPDIR}/${w}: ${WRAPPER_SRCDIR}/${w}
537 ${RUN} ${MKDIR} ${.TARGET:H} 535 ${RUN} ${MKDIR} ${.TARGET:H}
538 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 536 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
539.endfor 537.endfor
540 538
541.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) 539.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
542_WRAP_CROSS_GCC_FILTER+= ${SED} \ 540_WRAP_CROSS_GCC_FILTER+= ${SED} \
543 -e "s|@CROSS_DESTDIR@|${_CROSS_DESTDIR:Q}|g" \ 541 -e "s|@CROSS_DESTDIR@|${_CROSS_DESTDIR:Q}|g" \
544 -e "s|@PREFIX@|${PREFIX:Q}|g" 542 -e "s|@PREFIX@|${PREFIX:Q}|g"
545${WRAPPER_TMPDIR}/cmd-sink-cross-gcc: ${WRAPPER_SRCDIR}/cmd-sink-cross-gcc 543${WRAPPER_TMPDIR}/cmd-sink-cross-gcc: ${WRAPPER_SRCDIR}/cmd-sink-cross-gcc
546 ${RUN} ${MKDIR} ${.TARGET:H} 544 ${RUN} ${MKDIR} ${.TARGET:H}
547 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_CROSS_GCC_FILTER} | \ 545 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_CROSS_GCC_FILTER} | \
548 ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 546 ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
549 547
550${WRAPPER_TMPDIR}/cmd-sink-cross-cpp: ${WRAPPER_SRCDIR}/cmd-sink-cross-cpp 548${WRAPPER_TMPDIR}/cmd-sink-cross-cpp: ${WRAPPER_SRCDIR}/cmd-sink-cross-cpp
551 ${RUN} ${MKDIR} ${.TARGET:H} 549 ${RUN} ${MKDIR} ${.TARGET:H}
552 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_CROSS_GCC_FILTER} | \ 550 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_CROSS_GCC_FILTER} | \
553 ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 551 ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
554 552
555${WRAPPER_TMPDIR}/cmd-sink-cross-gxx: ${WRAPPER_SRCDIR}/cmd-sink-cross-gxx 553${WRAPPER_TMPDIR}/cmd-sink-cross-gxx: ${WRAPPER_SRCDIR}/cmd-sink-cross-gxx
556 ${RUN} ${MKDIR} ${.TARGET:H} 554 ${RUN} ${MKDIR} ${.TARGET:H}
557 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_CROSS_GCC_FILTER} | \ 555 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_CROSS_GCC_FILTER} | \
558 ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 556 ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
559.endif 557.endif
560 558
561.if !target(${_WRAP_GEN_REORDER}) 559.if !target(${_WRAP_GEN_REORDER})
562${_WRAP_GEN_REORDER}: \ 560${_WRAP_GEN_REORDER}: \
563 ${_WRAP_SHELL_LIB} \ 561 ${_WRAP_SHELL_LIB} \
564 ${WRAPPER_SRCDIR}/gen-reorder.sh 562 ${WRAPPER_SRCDIR}/gen-reorder.sh
565 ${RUN} ${MKDIR} ${.TARGET:H} 563 ${RUN} ${MKDIR} ${.TARGET:H}
566 ${RUN} \ 564 ${RUN} \
567 ${CAT} ${WRAPPER_SRCDIR}/gen-reorder.sh \ 565 ${CAT} ${WRAPPER_SRCDIR}/gen-reorder.sh \
568 | ${SED} ${_WRAP_SUBST_SED} \ 566 | ${SED} ${_WRAP_SUBST_SED} \
569 | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 567 | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
570 ${RUN} ${CHMOD} +x ${.TARGET} 568 ${RUN} ${CHMOD} +x ${.TARGET}
571.endif 569.endif
572 570
573.if !target(${_WRAP_GEN_TRANSFORM}) 571.if !target(${_WRAP_GEN_TRANSFORM})
574${_WRAP_GEN_TRANSFORM}: \ 572${_WRAP_GEN_TRANSFORM}: \
575 ${_WRAP_SHELL_LIB} \ 573 ${_WRAP_SHELL_LIB} \
576 ${WRAPPER_SRCDIR}/gen-transform.sh 574 ${WRAPPER_SRCDIR}/gen-transform.sh
577 ${RUN} ${MKDIR} ${.TARGET:H} 575 ${RUN} ${MKDIR} ${.TARGET:H}
578 ${RUN} \ 576 ${RUN} \
579 ${CAT} ${WRAPPER_SRCDIR}/gen-transform.sh \ 577 ${CAT} ${WRAPPER_SRCDIR}/gen-transform.sh \
580 | ${SED} ${_WRAP_SUBST_SED} \ 578 | ${SED} ${_WRAP_SUBST_SED} \
581 | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 579 | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
582 ${RUN} ${CHMOD} +x ${.TARGET} 580 ${RUN} ${CHMOD} +x ${.TARGET}
583.endif 581.endif
584 582
585.if !target(${_WRAP_REORDERLIBS}) 583.if !target(${_WRAP_REORDERLIBS})
586${_WRAP_REORDERLIBS}: ${_WRAP_GEN_REORDER} 584${_WRAP_REORDERLIBS}: ${_WRAP_GEN_REORDER}
587 ${RUN} ${MKDIR} ${.TARGET:H} 585 ${RUN} ${MKDIR} ${.TARGET:H}
588 ${RUN} ${_WRAP_GEN_REORDER} ${WRAPPER_REORDER_CMDS} > ${.TARGET} 586 ${RUN} ${_WRAP_GEN_REORDER} ${WRAPPER_REORDER_CMDS} > ${.TARGET}
589.endif 587.endif
590 588
591. if !target(${_WRAP_SHELL_LIB}) 589. if !target(${_WRAP_SHELL_LIB})
592${_WRAP_SHELL_LIB}: ${.CURDIR}/../../mk/scripts/shell-lib 590${_WRAP_SHELL_LIB}: ${.CURDIR}/../../mk/scripts/shell-lib
593 ${RUN} ${MKDIR} ${.TARGET:H} 591 ${RUN} ${MKDIR} ${.TARGET:H}
594 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 592 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
595. endif 593. endif
596 594
597.if !target(${_WRAP_TRANSFORM_SEDFILE}) 595.if !target(${_WRAP_TRANSFORM_SEDFILE})
598${_WRAP_TRANSFORM_SEDFILE}: ${_WRAP_GEN_TRANSFORM} 596${_WRAP_TRANSFORM_SEDFILE}: ${_WRAP_GEN_TRANSFORM}
599 ${RUN} ${MKDIR} ${.TARGET:H} 597 ${RUN} ${MKDIR} ${.TARGET:H}
600 ${RUN} ${_WRAP_GEN_TRANSFORM} transform ${_WRAP_TRANSFORM_CMDS} \ 598 ${RUN} ${_WRAP_GEN_TRANSFORM} transform ${_WRAP_TRANSFORM_CMDS} \
601 > ${.TARGET} 599 > ${.TARGET}
602.endif 600.endif
603 601
604.if !target(${_WRAP_UNTRANSFORM_SEDFILE}) 602.if !target(${_WRAP_UNTRANSFORM_SEDFILE})
605${_WRAP_UNTRANSFORM_SEDFILE}: ${_WRAP_GEN_TRANSFORM} 603${_WRAP_UNTRANSFORM_SEDFILE}: ${_WRAP_GEN_TRANSFORM}
606 ${RUN} ${MKDIR} ${.TARGET:H} 604 ${RUN} ${MKDIR} ${.TARGET:H}
607 ${RUN} \ 605 ${RUN} \
608 ${_WRAP_GEN_TRANSFORM} untransform ${_WRAP_TRANSFORM_CMDS} \ 606 ${_WRAP_GEN_TRANSFORM} untransform ${_WRAP_TRANSFORM_CMDS} \
609 > ${.TARGET} 607 > ${.TARGET}
610.endif 608.endif
611 609
612.for _wrappee_ in ${_WRAPPEES} 610.for _wrappee_ in ${_WRAPPEES}
613. if !target(${_WRAP_EMPTY_FILE}) 611. if !target(${_WRAP_EMPTY_FILE})
614${_WRAP_EMPTY_FILE}: 612${_WRAP_EMPTY_FILE}:
615 ${RUN} ${MKDIR} ${.TARGET:H} 613 ${RUN} ${MKDIR} ${.TARGET:H}
616 ${RUN} ${TOUCH} ${TOUCH_ARGS} ${.TARGET} 614 ${RUN} ${TOUCH} ${TOUCH_ARGS} ${.TARGET}
617. endif 615. endif
618 616
619. if !target(${_WRAP_ARG_PP_MAIN.${_wrappee_}}) 617. if !target(${_WRAP_ARG_PP_MAIN.${_wrappee_}})
620${_WRAP_ARG_PP_MAIN.${_wrappee_}}: ${WRAPPER_SRCDIR}/arg-pp-main 618${_WRAP_ARG_PP_MAIN.${_wrappee_}}: ${WRAPPER_SRCDIR}/arg-pp-main
621 ${RUN} ${MKDIR} ${.TARGET:H} 619 ${RUN} ${MKDIR} ${.TARGET:H}
622 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 620 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
623. endif 621. endif
624 622
625. if !target(${_WRAP_ARG_SOURCE.${_wrappee_}}) 623. if !target(${_WRAP_ARG_SOURCE.${_wrappee_}})
626${_WRAP_ARG_SOURCE.${_wrappee_}}: ${WRAPPER_SRCDIR}/arg-source 624${_WRAP_ARG_SOURCE.${_wrappee_}}: ${WRAPPER_SRCDIR}/arg-source
627 ${RUN} ${MKDIR} ${.TARGET:H} 625 ${RUN} ${MKDIR} ${.TARGET:H}
628 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 626 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
629. endif 627. endif
630 628
631. if !target(${_WRAP_BUILDCMD.${_wrappee_}}) 629. if !target(${_WRAP_BUILDCMD.${_wrappee_}})
632${_WRAP_BUILDCMD.${_wrappee_}}: ${WRAPPER_SRCDIR}/buildcmd 630${_WRAP_BUILDCMD.${_wrappee_}}: ${WRAPPER_SRCDIR}/buildcmd
633 ${RUN} ${MKDIR} ${.TARGET:H} 631 ${RUN} ${MKDIR} ${.TARGET:H}
634 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 632 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
635. endif 633. endif
636 634
637. if !target(${_WRAP_CACHE.${_wrappee_}}) 635. if !target(${_WRAP_CACHE.${_wrappee_}})
638${_WRAP_CACHE.${_wrappee_}}: 636${_WRAP_CACHE.${_wrappee_}}:
639 ${RUN} ${MKDIR} ${.TARGET:H} 637 ${RUN} ${MKDIR} ${.TARGET:H}
640 ${RUN} echo "cache_lookup() { cachehit=no; }" > ${.TARGET} 638 ${RUN} echo "cache_lookup() { cachehit=no; }" > ${.TARGET}
641. endif 639. endif
642 640
643. if !target(${_WRAP_CACHE_BODY.${_wrappee_}}) 641. if !target(${_WRAP_CACHE_BODY.${_wrappee_}})
644${_WRAP_CACHE_BODY.${_wrappee_}}: 642${_WRAP_CACHE_BODY.${_wrappee_}}:
645 ${RUN} ${MKDIR} ${.TARGET:H} 643 ${RUN} ${MKDIR} ${.TARGET:H}
646 ${RUN} ${TOUCH} ${TOUCH_ARGS} ${.TARGET} 644 ${RUN} ${TOUCH} ${TOUCH_ARGS} ${.TARGET}
647. endif 645. endif
648 646
649. if !target(${_WRAP_CMD_SINK.${_wrappee_}}) 647. if !target(${_WRAP_CMD_SINK.${_wrappee_}})
650${_WRAP_CMD_SINK.${_wrappee_}}: ${WRAPPER_SRCDIR}/cmd-sink 648${_WRAP_CMD_SINK.${_wrappee_}}: ${WRAPPER_SRCDIR}/cmd-sink
651 ${RUN} ${MKDIR} ${.TARGET:H} 649 ${RUN} ${MKDIR} ${.TARGET:H}
652 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 650 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
653. endif 651. endif
654 652
655. if !target(${_WRAP_LOGIC.${_wrappee_}}) 653. if !target(${_WRAP_LOGIC.${_wrappee_}})
656${_WRAP_LOGIC.${_wrappee_}}: ${WRAPPER_SRCDIR}/logic 654${_WRAP_LOGIC.${_wrappee_}}: ${WRAPPER_SRCDIR}/logic
657 ${RUN} ${MKDIR} ${.TARGET:H} 655 ${RUN} ${MKDIR} ${.TARGET:H}
658 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 656 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
659. endif 657. endif
660 658
661. if !target(${_WRAP_SCAN.${_wrappee_}}) 659. if !target(${_WRAP_SCAN.${_wrappee_}})
662${_WRAP_SCAN.${_wrappee_}}: ${WRAPPER_SRCDIR}/scan 660${_WRAP_SCAN.${_wrappee_}}: ${WRAPPER_SRCDIR}/scan
663 ${RUN} ${MKDIR} ${.TARGET:H} 661 ${RUN} ${MKDIR} ${.TARGET:H}
664 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET} 662 ${RUN} ${CAT} ${.ALLSRC} | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
665. endif 663. endif
666.endfor # _WRAPPEES 664.endfor # _WRAPPEES
667 665
668# UNWRAP_PATTERNS and UNWRAP_FILES list shell globs and files relative to 666# UNWRAP_PATTERNS and UNWRAP_FILES list shell globs and files relative to
669# ${WRKSRC} that need to be "unwrapped". 667# ${WRKSRC} that need to be "unwrapped".
670# 668#
671UNWRAP_PATTERNS?= # empty 669UNWRAP_PATTERNS?= # empty
672_UNWRAP_PATTERNS= ${UNWRAP_PATTERNS} 670_UNWRAP_PATTERNS= ${UNWRAP_PATTERNS}
673_UNWRAP_PATTERNS+= *-config 671_UNWRAP_PATTERNS+= *-config
674_UNWRAP_PATTERNS+= *Conf.sh 672_UNWRAP_PATTERNS+= *Conf.sh
675_UNWRAP_PATTERNS+= *.pc 673_UNWRAP_PATTERNS+= *.pc
676_UNWRAP_PATTERNS_FIND_cmd= \ 674_UNWRAP_PATTERNS_FIND_cmd= \
677 cd ${WRKSRC} && \ 675 cd ${WRKSRC} && \
678 ${ECHO} "__dummy-entry__" && \ 676 ${ECHO} "__dummy-entry__" && \
679 ${FIND} . -type f \( ${_UNWRAP_PATTERNS:C/.*/-o -name "&"/g:S/-o//1} \) -print \ 677 ${FIND} . -type f \( ${_UNWRAP_PATTERNS:C/.*/-o -name "&"/g:S/-o//1} \) -print \
680 | ${SED} -e 's|^\./||' \ 678 | ${SED} -e 's|^\./||' \
681 | ${SORT} -u 679 | ${SORT} -u
682UNWRAP_FILES?= # empty 680UNWRAP_FILES?= # empty
683_UNWRAP_FILES= ${UNWRAP_FILES} \ 681_UNWRAP_FILES= ${UNWRAP_FILES} \
684 ${_UNWRAP_PATTERNS_FIND_cmd:sh:N__dummy-entry__} 682 ${_UNWRAP_PATTERNS_FIND_cmd:sh:N__dummy-entry__}
685_UNWRAP_SED?= # empty 683_UNWRAP_SED?= # empty
686 684
687SUBST_CLASSES+= unwrap 685SUBST_CLASSES+= unwrap
688SUBST_STAGE.unwrap= post-build 686SUBST_STAGE.unwrap= post-build
689SUBST_MESSAGE.unwrap= Unwrapping files-to-be-installed. 687SUBST_MESSAGE.unwrap= Unwrapping files-to-be-installed.
690SUBST_FILES.unwrap= ${_UNWRAP_FILES} 688SUBST_FILES.unwrap= ${_UNWRAP_FILES}
691SUBST_SED.unwrap= ${_UNWRAP_SED} 689SUBST_SED.unwrap= ${_UNWRAP_SED}
692.if defined(_WRAPPER_DEBUG) && !empty(_WRAPPER_DEBUG:M[yY][eE][sS]) 690.if defined(_WRAPPER_DEBUG) && !empty(_WRAPPER_DEBUG:M[yY][eE][sS])
693_SUBST_KEEP.unwrap= ${CP} -f "$$file" "$$file.before-unwrap" 691_SUBST_KEEP.unwrap= ${CP} -f "$$file" "$$file.before-unwrap"
694.endif 692.endif
695 693
696.endif 694.endif
697### 695###
698### END: after the barrier 696### END: after the barrier
699### 697###
700 698
701###################################################################### 699######################################################################
702###################################################################### 700######################################################################
703###################################################################### 701######################################################################
704 702
705_COOKIE.wrapper= ${WRKDIR}/.wrapper_done 703_COOKIE.wrapper= ${WRKDIR}/.wrapper_done
706 704
707.PHONY: wrapper 705.PHONY: wrapper
708.if !target(wrapper) 706.if !target(wrapper)
709. if exists(${_COOKIE.wrapper}) 707. if exists(${_COOKIE.wrapper})
710wrapper: 708wrapper:
711 @${DO_NADA} 709 @${DO_NADA}
712. elif defined(_PKGSRC_BARRIER) 710. elif defined(_PKGSRC_BARRIER)
713wrapper: check-vulnerable patch acquire-wrapper-lock ${_COOKIE.wrapper} release-wrapper-lock 711wrapper: check-vulnerable patch acquire-wrapper-lock ${_COOKIE.wrapper} release-wrapper-lock
714. else 712. else
715wrapper: barrier 713wrapper: barrier
716. endif 714. endif
717.endif 715.endif
718 716
719.PHONY: acquire-wrapper-lock release-wrapper-lock 717.PHONY: acquire-wrapper-lock release-wrapper-lock
720acquire-wrapper-lock: acquire-lock 718acquire-wrapper-lock: acquire-lock
721release-wrapper-lock: release-lock 719release-wrapper-lock: release-lock
722 720
723.if exists(${_COOKIE.wrapper}) 721.if exists(${_COOKIE.wrapper})
724${_COOKIE.wrapper}: 722${_COOKIE.wrapper}:
725 @${DO_NADA} 723 @${DO_NADA}
726.else 724.else
727${_COOKIE.wrapper}: real-wrapper 725${_COOKIE.wrapper}: real-wrapper
728.endif 726.endif
729 727
730.PHONY: real-wrapper 728.PHONY: real-wrapper
731real-wrapper: wrapper-message wrapper-vars pre-wrapper do-wrapper post-wrapper wrapper-cookie error-check 729real-wrapper: wrapper-message wrapper-vars pre-wrapper do-wrapper post-wrapper wrapper-cookie error-check
732 730
733.PHONY: wrapper-message 731.PHONY: wrapper-message
734wrapper-message: 732wrapper-message:
735 @${PHASE_MSG} "Creating toolchain wrappers for ${PKGNAME}" 733 @${PHASE_MSG} "Creating toolchain wrappers for ${PKGNAME}"
736 734
737.PHONY: pre-wrapper do-wrapper post-wrapper 735.PHONY: pre-wrapper do-wrapper post-wrapper
738 736
739do-wrapper: generate-wrappers 737do-wrapper: generate-wrappers
740 738
741.if !target(do-wrapper) 739.if !target(do-wrapper)
742do-wrapper: 740do-wrapper:
743 @${DO_NADA} 741 @${DO_NADA}
744.endif 742.endif
745 743
746.if !target(pre-wrapper) 744.if !target(pre-wrapper)
747pre-wrapper: 745pre-wrapper:
748 @${DO_NADA} 746 @${DO_NADA}
749.endif 747.endif
750 748
751.if !target(post-wrapper) 749.if !target(post-wrapper)
752post-wrapper: 750post-wrapper:
753 @${DO_NADA} 751 @${DO_NADA}
754.endif 752.endif
755 753
756.PHONY: wrapper-cookie 754.PHONY: wrapper-cookie
757wrapper-cookie: 755wrapper-cookie:
758 ${RUN} [ ! -f ${_COOKIE.wrapper} ] 756 ${RUN} [ ! -f ${_COOKIE.wrapper} ]
759 ${RUN} ${MKDIR} ${_COOKIE.wrapper:H} 757 ${RUN} ${MKDIR} ${_COOKIE.wrapper:H}
760 ${RUN} ${ECHO} ${PKGNAME} > ${_COOKIE.wrapper} 758 ${RUN} ${ECHO} ${PKGNAME} > ${_COOKIE.wrapper}

File Deleted: pkgsrc/mk/wrapper/Attic/cmd-sink-aix-ar