summaryrefslogtreecommitdiff
path: root/mk/buildlink3/bsd.buildlink3.mk
diff options
context:
space:
mode:
Diffstat (limited to 'mk/buildlink3/bsd.buildlink3.mk')
-rw-r--r--mk/buildlink3/bsd.buildlink3.mk1035
1 files changed, 194 insertions, 841 deletions
diff --git a/mk/buildlink3/bsd.buildlink3.mk b/mk/buildlink3/bsd.buildlink3.mk
index 75f51b4ac50..5960f16d7f9 100644
--- a/mk/buildlink3/bsd.buildlink3.mk
+++ b/mk/buildlink3/bsd.buildlink3.mk
@@ -1,5 +1,39 @@
-# $NetBSD: bsd.buildlink3.mk,v 1.153 2004/09/08 08:02:00 jlam Exp $
-#
+# $NetBSD: bsd.buildlink3.mk,v 1.154 2004/09/21 15:01:40 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.
+
# An example package buildlink3.mk file:
#
# -------------8<-------------8<-------------8<-------------8<-------------
@@ -47,21 +81,20 @@
# BUILDLINK_* public buildlink-related variables usable in other Makefiles
# _BLNK_* private buildlink-related variables to this Makefile
-ECHO_BUILDLINK_MSG?= ${TRUE}
+.if ${PKG_DEBUG_LEVEL} > 0
+ECHO_BUILDLINK_MSG?= ${ECHO}
+.else
+ECHO_BUILDLINK_MSG?= ${ECHO_WRAPPER_MSG}
+.endif
BUILDLINK_DIR= ${WRKDIR}/.buildlink
+BUILDLINK_BINDIR= ${BUILDLINK_DIR}/bin
+BUILDLINK_SRCDIR= ${.CURDIR}/../../mk/buildlink3
BUILDLINK_X11_DIR= ${BUILDLINK_DIR:H}/.x11-buildlink
-BUILDLINK_SHELL?= ${SH}
-BUILDLINK_OPSYS?= ${OPSYS}
-_BLNK_VARS_MK= ${BUILDLINK_DIR}/vars.mk
-.if exists(${_BLNK_VARS_MK})
-. include "${_BLNK_VARS_MK}"
-.endif
+.PHONY: pre-buildlink do-buildlink post-buildlink
-# Prepend ${BUILDLINK_DIR}/bin to the PATH so that the wrappers are found
-# first when searching for executables.
-#
-PREPEND_PATH+= ${BUILDLINK_DIR}/bin
+# Prepend ${BUILDLINK_BINDIR} to the PATH.
+PREPEND_PATH+= ${BUILDLINK_BINDIR}
# BUILDLINK_DEPENDS contains the list of packages for which we add
# dependencies.
@@ -253,7 +286,11 @@ ${_depmethod_}+= ${_BLNK_ADD_TO.${_depmethod_}}
. endif
.endfor # _BLNK_DEPENDS_LIST
-.if !empty(PHASES_AFTER_BUILDLINK:M${PKG_PHASE})
+###
+### BEGIN: after "wrapper" phase
+###
+.if !empty(PHASES_AFTER_WRAPPER:M${PKG_PHASE})
+
# Generate default values for:
#
# _BLNK_PKG_DBDIR.<pkg> contains all of the package metadata
@@ -321,7 +358,7 @@ _BLNK_PKG_DBDIR.${_pkg_}!= \
. endif
. endfor
. if empty(_BLNK_PKG_DBDIR.${_pkg_}:M*not_found)
-BUILDLINK_VARS+= _BLNK_PKG_DBDIR.${_pkg_}
+WRAPPER_VARS+= _BLNK_PKG_DBDIR.${_pkg_}
. endif
. endif
@@ -352,7 +389,7 @@ BUILDLINK_PREFIX.${_pkg_}= BUILDLINK_PREFIX.${_pkg_}_not_found
. endif
. endif
. if empty(BUILDLINK_PREFIX.${_pkg_}:M*not_found)
-BUILDLINK_VARS+= BUILDLINK_PREFIX.${_pkg_}
+WRAPPER_VARS+= BUILDLINK_PREFIX.${_pkg_}
. endif
. endif
@@ -411,7 +448,7 @@ BUILDLINK_LDFLAGS+= -L${_dir_}
. endif
. endfor
. endif
-. if !empty(BUILDLINK_RPATHDIRS.${_pkg_}) && (${_USE_RPATH} == "yes")
+. if !empty(BUILDLINK_RPATHDIRS.${_pkg_})
. for _dir_ in ${BUILDLINK_RPATHDIRS.${_pkg_}:S/^/${BUILDLINK_PREFIX.${_pkg_}}\//}
. if exists(${_dir_})
. if empty(BUILDLINK_LDFLAGS:M${COMPILER_RPATH_FLAG}${_dir_})
@@ -426,8 +463,7 @@ BUILDLINK_LDFLAGS+= ${COMPILER_RPATH_FLAG}${_dir_}
# runtime library search path.
#
.if ${PKG_INSTALLATION_TYPE} == "pkgviews"
-. if (${_USE_RPATH} == "yes") && \
- empty(BUILDLINK_LDFLAGS:M${COMPILER_RPATH_FLAG}${PREFIX}/lib)
+. if empty(BUILDLINK_LDFLAGS:M${COMPILER_RPATH_FLAG}${PREFIX}/lib)
BUILDLINK_LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib
. endif
.endif
@@ -437,7 +473,7 @@ BUILDLINK_LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib
# fulfilled through the default view.
#
.for _pkg_ in ${_BLNK_PACKAGES}
-. if !empty(BUILDLINK_RPATHDIRS.${_pkg_}) && (${_USE_RPATH} == "yes")
+. if !empty(BUILDLINK_RPATHDIRS.${_pkg_})
. for _dir_ in ${BUILDLINK_RPATHDIRS.${_pkg_}:S/^/${LOCALBASE}\//}
. if exists(${_dir_})
. if empty(BUILDLINK_LDFLAGS:M${COMPILER_RPATH_FLAG}${_dir_})
@@ -450,8 +486,7 @@ BUILDLINK_LDFLAGS+= ${COMPILER_RPATH_FLAG}${_dir_}
#
# Ensure that ${LOCALBASE}/lib is in the runtime library search path.
#
-.if (${_USE_RPATH} == "yes") && \
- empty(BUILDLINK_LDFLAGS:M${COMPILER_RPATH_FLAG}${LOCALBASE}/lib)
+.if empty(BUILDLINK_LDFLAGS:M${COMPILER_RPATH_FLAG}${LOCALBASE}/lib)
BUILDLINK_LDFLAGS+= ${COMPILER_RPATH_FLAG}${LOCALBASE}/lib
.endif
#
@@ -462,8 +497,7 @@ BUILDLINK_LDFLAGS+= ${COMPILER_RPATH_FLAG}${LOCALBASE}/lib
. if empty(BUILDLINK_LDFLAGS:M-L${X11BASE}/lib${ABI})
BUILDLINK_LDFLAGS+= -L${X11BASE}/lib${ABI}
. endif
-. if (${_USE_RPATH} == "yes") && \
- empty(BUILDLINK_LDFLAGS:M${COMPILER_RPATH_FLAG}${X11BASE}/lib${ABI})
+. if empty(BUILDLINK_LDFLAGS:M${COMPILER_RPATH_FLAG}${X11BASE}/lib${ABI})
BUILDLINK_LDFLAGS+= ${COMPILER_RPATH_FLAG}${X11BASE}/lib${ABI}
. endif
.endif
@@ -512,16 +546,6 @@ buildlink-directories:
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${BUILDLINK_DIR}/include
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${BUILDLINK_DIR}/lib${ABI}
-# Create the saved variables Makefile fragment to pass variables through
-# to sub-make processes invoked on the same Makefile.
-#
-do-buildlink: ${_BLNK_VARS_MK}
-
-# Create the buildlink wrappers before any of the other buildlink targets
-# are run, as the wrappers may need to be used in some of those targets.
-#
-do-buildlink: buildlink-wrappers buildlink-${_BLNK_OPSYS}-wrappers
-
# The following variables are all optionally defined and control which
# package files are symlinked into ${BUILDLINK_DIR} and how their names
# are transformed during the symlinking:
@@ -647,9 +671,8 @@ ${_BLNK_COOKIE.${_pkg_}}:
# _BLNK_LT_ARCHIVE_FILTER.${_pkg_} is a command-line filter used in
# the previous target for transforming libtool archives (*.la) to
-# allow libtool to properly interact with # buildlink at link time by
-# linking against the libraries pointed to by symlinks in
-# ${BUILDLINK_DIR}.
+# allow libtool to properly interact with buildlink at link time by
+# linking against the libraries pointed to by symlinks in ${BUILDLINK_DIR}.
#
_BLNK_LT_ARCHIVE_FILTER.${_pkg_}= \
${SED} ${_BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}}
@@ -657,24 +680,50 @@ _BLNK_LT_ARCHIVE_FILTER.${_pkg_}= \
_BLNK_SEP= \ \`\"':;,
_BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}= # empty
#
-# - Modify the dependency_libs line by changing all full paths to
-# other *.la files into the canonical ${BUILDLINK_DIR} path.
+# Modify the dependency_libs line by changing all full paths to other *.la
+# files into the canonical ${BUILDLINK_DIR} path.
#
_BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}+= \
- -e "/^dependency_libs=/s,/usr\(/lib/lib[^/${_BLNK_SEP}]*\.la\),${BUILDLINK_DIR}\\1,g" \
- -e "/^dependency_libs=/s,${DEPOTBASE}/[^${_BLNK_SEP}]*\(/[^${_BLNK_SEP}]*/lib[^/${_BLNK_SEP}]*\.la\),${BUILDLINK_DIR}\\1,g" \
- -e "/^dependency_libs=/s,${X11BASE}\(/[^${_BLNK_SEP}]*/lib[^/${_BLNK_SEP}]*\.la\),${BUILDLINK_X11_DIR}\\1,g" \
- -e "/^dependency_libs=/s,${LOCALBASE}\(/[^${_BLNK_SEP}]*/lib[^/${_BLNK_SEP}]*\.la\),${BUILDLINK_DIR}\\1,g" \
- -e "/^dependency_libs=/s,-L/usr/lib[^/${_BLNK_SEP}]*[ ]*,,g" \
- -e "/^dependency_libs=/s,-L${X11BASE}/[^${_BLNK_SEP}]*[ ]*,,g" \
- -e "/^dependency_libs=/s,-L${LOCALBASE}/[^${_BLNK_SEP}]*[ ]*,,g"
-. if (${PKG_INSTALLATION_TYPE} == "overwrite") || \
- !empty(BUILDLINK_IS_DEPOT.${_pkg_}:M[nN][oO])
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)/usr\(/lib/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${BUILDLINK_DIR}\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)/usr\(/lib/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${BUILDLINK_DIR}\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)${DEPOTBASE}/[^/${_BLNK_SEP}]*\(/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${BUILDLINK_DIR}\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)${DEPOTBASE}/[^/${_BLNK_SEP}]*\(/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${BUILDLINK_DIR}\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)${X11BASE}\(/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${BUILDLINK_X11_DIR}\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)${X11BASE}\(/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${BUILDLINK_X11_DIR}\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)${LOCALBASE}\(/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${BUILDLINK_DIR}\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)${LOCALBASE}\(/[^${_BLNK_SEP}]*lib[^/${_BLNK_SEP}]*\.la[${_BLNK_SEP}]\),\\1${BUILDLINK_DIR}\\2,g"
+#
+# Modify the dependency_libs line by removing -L/usr/lib, which is implied.
#
-# - Modify the libdir line to point to within ${BUILDLINK_DIR}.
-# This prevents libtool from looking into the original directory
-# for other *.la files.
+_BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}+= \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)-L/usr/lib\([${_BLNK_SEP}]\),\\1\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)-L/usr/lib\([${_BLNK_SEP}]\),\\1\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)-L/usr/lib/\.\([${_BLNK_SEP}]\),\\1\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)-L/usr/lib/\.\([${_BLNK_SEP}]\),\\1\\2,g"
+#
+# Modify the dependency_libs line by removing -L${LOCALBASE}/* and
+# -L${X11BASE}/*, since those are automatically added by the buildlink3.mk
+# files.
+#
+_BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}+= \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)-L${X11BASE}/[^${_BLNK_SEP}]*\([${_BLNK_SEP}]\),\\1\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)-L${X11BASE}/[^${_BLNK_SEP}]*\([${_BLNK_SEP}]\),\\1\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)-L${LOCALBASE}/[^${_BLNK_SEP}]*\([${_BLNK_SEP}]\),\\1\\2,g" \
+ -e "/^dependency_libs=/s,\([${_BLNK_SEP}]\)-L${LOCALBASE}/[^${_BLNK_SEP}]*\([${_BLNK_SEP}]\),\\1\\2,g"
+#
+# Modify the dependency_libs line by cleaning up any leading and trailing
+# whitespace.
+#
+_BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}+= \
+ -e "/^dependency_libs=/s,^\(dependency_libs='\) *,\\1,g" \
+ -e "/^dependency_libs=/s, *'$$,',g"
#
+# Modify the libdir line to point to within ${BUILDLINK_DIR}.
+# This prevents libtool from looking into the original directory
+# for other *.la files.
+#
+. if (${PKG_INSTALLATION_TYPE} == "overwrite") || \
+ !empty(BUILDLINK_IS_DEPOT.${_pkg_}:M[nN][oO])
_BLNK_LT_ARCHIVE_FILTER_SED_SCRIPT.${_pkg_}+= \
-e "/^libdir=/s,/usr\(/lib/[^${_BLNK_SEP}]*\),${BUILDLINK_DIR}\\1,g" \
-e "/^libdir=/s,${DEPOTBASE}/[^/${_BLNK_SEP}]*\(/[^${_BLNK_SEP}]*\),${BUILDLINK_DIR}\\1,g" \
@@ -696,39 +745,6 @@ _BLNK_TARGETS+= ${BUILDLINK_TARGETS}
do-buildlink: ${_target_}
.endfor
-# There are three different parts we can add to the common transforming
-# cache to speed things up:
-#
-# passthru automatically accept certain options without
-# further checking
-#
-# transform change -[IL]{${X11BASE},${LOCALBASE},${DEPOTBASE}/*}
-# to the correct ${BUILDLINK_DIR} reference
-#
-# block block certain options without further checking
-#
-# Seeding the cache appropriately lets us handle large classes of options
-# without having to go through the wrapper logic file, which generates
-# a cache hit for every single option and bloats the cache quite bit more.
-#
-_BLNK_SEED_CACHE?= passthru # transform block
-
-# The caching code, which greatly speeds up the build process, doesn't
-# work completely correctly on certain platforms.
-#
-_BLNK_PARTIAL_CACHE_ONLY= Darwin-5.*-*
-
-_BLNK_FULL_CACHING?= YES
-.for _pattern_ in ${_BLNK_PARTIAL_CACHE_ONLY}
-. if !empty(MACHINE_PLATFORM:M${_pattern_})
-_BLNK_FULL_CACHING= NO
-. endif
-.endfor
-.if !empty(_BLNK_FULL_CACHING:M[yY][eE][sS])
-CONFIGURE_ENV+= BUILDLINK_CACHE_ALL=yes
-MAKE_ENV+= BUILDLINK_CACHE_ALL=yes
-.endif
-
# _BLNK_PASSTHRU_DIRS contains the list of directories which we allow in
# preprocessor's header, linker's library, or the runtime library
# search paths. The values of this list represent entire directory
@@ -863,23 +879,10 @@ _BLNK_PHYSICAL_PATH.${_var_}!= \
else \
${ECHO} ${${_var_}}; \
fi
-BUILDLINK_VARS+= _BLNK_PHYSICAL_PATH.${_var_}
+WRAPPER_VARS+= _BLNK_PHYSICAL_PATH.${_var_}
. endif
.endfor
-# Remove -Wl,-R* and *-rpath* if _USE_RPATH == "no".
-# Transform -Wl,-R* and *-rpath* if Sun compilers are used.
-#
-.if defined(_USE_RPATH) && !empty(_USE_RPATH:M[nN][oO])
-_BLNK_TRANSFORM+= no-rpath
-.endif
-#
-# Remove rpath options that try to add relative paths to the runtime
-# library search path. This basically partly cleans up after lazy
-# programmers.
-#
-_BLNK_TRANSFORM+= abs-rpath
-#
# Transform all references to the physical paths to some important
# directories into their given names.
#
@@ -890,6 +893,10 @@ _BLNK_TRANSFORM+= mangle:${_BLNK_PHYSICAL_PATH.${_var_}}:${${_var_}}
. endif
.endfor
#
+# Strip trailing /. from options.
+#
+_BLNK_TRANSFORM+= strip-slashdot:
+#
# Protect work directories and the dependency directories from all the
# transformations we're about to do.
#
@@ -900,8 +907,8 @@ _BLNK_TRANSFORM+= mangle:${_dir_}:${_BLNK_MANGLE_DIR.${_dir_}}
# Protect -I/usr/include/* and -L/usr/lib/* from transformations (these
# aren't part of the normal header or library search paths).
#
-_BLNK_TRANSFORM+= sub-mangle:-I/usr/include:-I${_BLNK_MANGLE_DIR./usr/include}
-_BLNK_TRANSFORM+= sub-mangle:-L/usr/lib:-L${_BLNK_MANGLE_DIR./usr/lib}
+_BLNK_TRANSFORM+= opt-sub:-I/usr/include:-I${_BLNK_MANGLE_DIR./usr/include}
+_BLNK_TRANSFORM+= opt-sub:-L/usr/lib:-L${_BLNK_MANGLE_DIR./usr/lib}
#
# Change any buildlink directories in runtime library search paths into
# the canonical actual installed paths.
@@ -931,11 +938,6 @@ _BLNK_TRANSFORM+= sub-rpath:/usr/lib:${_BLNK_MANGLE_DIR./usr/lib}
_BLNK_TRANSFORM+= depot:${DEPOTBASE}:${LOCALBASE}
.endif
#
-# Convert direct paths to shared libraries into "-Ldir -llib" equivalents.
-#
-_BLNK_TRANSFORM+= p:${_BLNK_MANGLE_SED_PATTERN:Q}
-_BLNK_TRANSFORM+= p:
-#
# Convert direct paths to static libraries and libtool archives in
# ${LOCALBASE} or ${X11BASE} into references into ${BUILDLINK_DIR}.
#
@@ -977,7 +979,7 @@ _BLNK_TRANSFORM+= ${BUILDLINK_TRANSFORM}
# Explicitly remove everything else that's an absolute path, since we've
# already protected the ones we care about.
#
-_BLNK_TRANSFORM+= r:/
+_BLNK_TRANSFORM+= no-abspath
#
# Undo the protection for the directories that we allow to be specified
# for the runtime library search path.
@@ -993,48 +995,7 @@ _BLNK_TRANSFORM+= rpath:${_BLNK_MANGLE_DIR.${_dir_}}:${_dir_}
_BLNK_TRANSFORM+= mangle:${_BLNK_MANGLE_DIR.${_dir_}}:${_dir_}
.endfor
-# Only do the (expensive) reordering step if we have reordering
-# transformations.
-#
-.if !empty(_BLNK_TRANSFORM:Mreorder\:*)
-MAKE_ENV+= BUILDLINK_REORDER=yes
-.endif
-
-_BLNK_TRANSFORM_SED+= -f ${_BLNK_TRANSFORM_SEDFILE}
-_BLNK_UNTRANSFORM_SED+= -f ${_BLNK_UNTRANSFORM_SEDFILE}
-
-# UNWRAP_PATTERNS and UNWRAP_FILES list shell globs and files relative to
-# ${WRKSRC} that need to have reference to ${BUILDLINK_DIR} stripped out
-# of them.
-#
-_UNBUILDLINK_PATTERNS= ${UNWRAP_PATTERNS}
-_UNBUILDLINK_PATTERNS+= *-config
-_UNBUILDLINK_PATTERNS+= *Conf.sh
-_UNBUILDLINK_PATTERNS+= *.pc
-_UNBUILDLINK_PATTERNS_FIND= \
- \( ${_UNBUILDLINK_PATTERNS:S/$/!/:S/^/-o -name !/:S/!/"/g:S/-o//1} \)
-_UNBUILDLINK_FILES= \
- ${UNWRAP_FILES} \
- `${FIND} . ${_UNBUILDLINK_PATTERNS_FIND} -print | ${SED} -e 's|^\./||' | ${SORT} -u`
-#
-# When "unbuildlinkifying" a file, we must remove references to the
-# buildlink directories and change any -llib to the proper replacement
-# libraries (-lreadline -> -ledit, etc.). Redundant -Idir and -Ldir
-# options are removed to optimize the resulting file. Also, prefer the
-# .la files in ${LOCALBASE}/lib over the ones in ${DEPOTBASE}/*/lib when
-# creating new .la files. This makes "overwrite" packages look and feel
-# more like they would without the pkgviews integration.
-#
-UNBUILDLINK_SED?= # empty
-_UNBUILDLINK_SED= ${UNBUILDLINK_SED}
-_UNBUILDLINK_SED+= ${_BLNK_UNTRANSFORM_SED}
-
-SUBST_CLASSES+= unbuildlink
-SUBST_STAGE.unbuildlink= post-build
-SUBST_MESSAGE.unbuildlink= \
- "Fixing buildlink references in files-to-be-installed."
-SUBST_FILES.unbuildlink= ${_UNBUILDLINK_FILES}
-SUBST_SED.unbuildlink= ${_UNBUILDLINK_SED}
+WRAPPER_TRANSFORM_CMDS+= ${_BLNK_TRANSFORM}
# Generate wrapper scripts for the compiler tools that sanitize the
# argument list by converting references to ${LOCALBASE} and ${X11BASE}
@@ -1048,188 +1009,41 @@ SUBST_SED.unbuildlink= ${_UNBUILDLINK_SED}
# ALIASES.CC, ALIASES.LD, etc. are the other names by which each wrapper
# may be invoked.
#
-_BLNK_WRAPPEES+= AS
-_BLNK_WRAPPEES+= CC
-_BLNK_WRAPPEES+= CPP
-_BLNK_WRAPPEES+= CXX
-_BLNK_WRAPPEES+= LD
-_BLNK_WRAPPEES+= FC
-_BLNK_WRAPPEES+= LIBTOOL SHLIBTOOL
.if defined(USE_LIBTOOL)
-_LIBTOOL= ${BUILDLINK_LIBTOOL}
-_SHLIBTOOL= ${BUILDLINK_SHLIBTOOL}
-.endif
-.if defined(USE_X11)
-IMAKE?= ${X11BASE}/bin/imake
-_BLNK_WRAPPEES+= IMAKE
+_WRAPPEES+= LIBTOOL
+_WRAPPEES+= SHLIBTOOL
+_LIBTOOL= ${WRAPPER_LIBTOOL}
+_SHLIBTOOL= ${WRAPPER_SHLIBTOOL}
.endif
-_ALIASES.AS= as
-_ALIASES.CC= cc gcc
-_ALIASES.CXX= c++ g++ CC
-_ALIASES.CPP= cpp
-_ALIASES.FC= f77 g77
-_ALIASES.LD= ld
+_WRAP_ALIASES.LIBTOOL= libtool
+_WRAP_ALIASES.SHLIBTOOL= shlibtool
-# _BLNK_WRAP_*.<wrappee> variables represent "template methods" of the
-# wrapper script that may be customized per wrapper:
-#
-# _BLNK_WRAP_{*CACHE*,*LOGIC*}.<wrappee> are parts of the wrapper script
-# system as described in pkgsrc/mk/buildlink3/README. The files not
-# ending in "-trans" represent pieces of the wrapper script that may
-# be used to form a wrapper that doesn't translate its arguments,
-# and conversely for the files ending in "-trans". By default, all
-# wrappers use the "-trans" scripts.
-#
-# _BLNK_WRAP_ENV.<wrappee> consists of shell commands to export a shell
-# environment for the wrappee.
-#
-# _BLNK_WRAP_SANITIZE_PATH.<wrappee> sets the PATH for calling executables
-# from within the wrapper. By default, it removes the buildlink
-# directory from the PATH so that sub-invocations of compiler tools
-# will use the wrappees instead of the wrappers.
-#
-_BLNK_SANITIZED_PATH!= ${ECHO} ${PATH} | ${SED} \
- -e "s|:${BUILDLINK_DIR}[^:]*||" -e "s|${BUILDLINK_DIR}[^:]*:||"
-_BLNK_WRAP_SANITIZE_PATH= PATH="${_BLNK_SANITIZED_PATH}"
-_BLNK_EMPTY_FILE?= ${BUILDLINK_DIR}/bin/.empty
-_BLNK_WRAP_ENV?= ${BUILDLINK_WRAPPER_ENV}
-_BLNK_WRAP_BUILDCMD= ${BUILDLINK_DIR}/bin/.buildcmd
-_BLNK_WRAP_QUOTEARG= ${BUILDLINK_DIR}/bin/.quotearg
-_BLNK_WRAP_BUFFER= ${BUILDLINK_DIR}/bin/.buffer
-_BLNK_WRAP_MARSHALL= ${BUILDLINK_DIR}/bin/.marshall
-_BLNK_WRAP_PRE_CACHE= ${BUILDLINK_DIR}/bin/.pre-cache
-_BLNK_WRAP_CACHE_ADD= ${BUILDLINK_DIR}/bin/.cache-add
-_BLNK_WRAP_CACHE= ${BUILDLINK_DIR}/bin/.cache
-_BLNK_WRAP_CACHE_ADD_TRANSFORM= ${BUILDLINK_DIR}/bin/.cache-add-trans
-_BLNK_WRAP_CACHE_TRANSFORM= ${BUILDLINK_DIR}/bin/.cache-trans
-_BLNK_WRAP_POST_CACHE= ${BUILDLINK_DIR}/bin/.post-cache
-_BLNK_WRAP_LOGIC= ${BUILDLINK_DIR}/bin/.logic
-_BLNK_WRAP_LOGIC_TRANSFORM= ${BUILDLINK_DIR}/bin/.logic-trans
-_BLNK_WRAP_LOG= ${WRKLOG}
-_BLNK_LIBTOOL_FIX_LA= ${BUILDLINK_DIR}/bin/.libtool-fix-la
-_BLNK_FAKE_LA= ${BUILDLINK_DIR}/bin/.fake-la
-_BLNK_GEN_TRANSFORM= ${BUILDLINK_DIR}/bin/.gen-transform
-_BLNK_TRANSFORM_SEDFILE= ${BUILDLINK_DIR}/bin/.transform.sed
-_BLNK_UNTRANSFORM_SEDFILE= ${BUILDLINK_DIR}/bin/.untransform.sed
-_BLNK_REORDERLIBS= ${BUILDLINK_DIR}/bin/.reorderlibs
+_BLNK_LIBTOOL_FIX_LA= ${WRAPPER_TMPDIR}/libtool-fix-la
-.if defined(BUILDLINK_WRAPPER_LOG)
-MAKE_ENV+= BUILDLINK_WRAPPER_LOG=${BUILDLINK_WRAPPER_LOG}
-.endif
-
-.for _wrappee_ in ${_BLNK_WRAPPEES}
-#
-# _BLNK_WRAPPER_SH.<wrappee> points to the main wrapper script used to
-# generate the wrapper for the wrappee.
-#
-_BLNK_WRAPPER_SH.${_wrappee_}= ${.CURDIR}/../../mk/buildlink3/wrapper.sh
-_BLNK_WRAP_SANITIZE_PATH.${_wrappee_}= ${_BLNK_WRAP_SANITIZE_PATH}
-_BLNK_WRAP_EXTRA_FLAGS.${_wrappee_}= # empty
-_BLNK_WRAP_ENV.${_wrappee_}= ${_BLNK_WRAP_ENV}
-_BLNK_WRAP_BUILDCMD.${_wrappee_}= ${_BLNK_WRAP_BUILDCMD}
-_BLNK_WRAP_QUOTEARG.${_wrappee_}= ${_BLNK_WRAP_QUOTEARG}
-_BLNK_WRAP_BUFFER.${_wrappee_}= ${_BLNK_WRAP_BUFFER}
-_BLNK_WRAP_MARSHALL.${_wrappee_}= ${_BLNK_WRAP_MARSHALL}
-_BLNK_WRAP_PRIVATE_PRE_CACHE.${_wrappee_}= ${_BLNK_EMPTY_FILE}
-_BLNK_WRAP_PRIVATE_CACHE_ADD.${_wrappee_}= ${_BLNK_EMPTY_FILE}
-_BLNK_WRAP_PRIVATE_CACHE.${_wrappee_}= ${_BLNK_EMPTY_FILE}
-_BLNK_WRAP_PRIVATE_POST_CACHE.${_wrappee_}= ${_BLNK_EMPTY_FILE}
-_BLNK_WRAP_CACHE_ADD.${_wrappee_}= ${_BLNK_WRAP_CACHE_ADD_TRANSFORM}
-_BLNK_WRAP_CACHE.${_wrappee_}= ${_BLNK_WRAP_CACHE_TRANSFORM}
-_BLNK_WRAP_LOGIC.${_wrappee_}= ${_BLNK_WRAP_LOGIC_TRANSFORM}
-_BLNK_WRAP_POST_LOGIC.${_wrappee_}= ${_BLNK_EMPTY_FILE}
-.endfor
-
-# Don't sanitize the PATH because we want libtool to invoke the wrapper
-# scripts, too.
-#
-_BLNK_WRAPPER_SH.LIBTOOL= ${.CURDIR}/../../mk/buildlink3/libtool.sh
-_BLNK_WRAP_SANITIZE_PATH.LIBTOOL= # empty
-#
-_BLNK_WRAPPER_SH.SHLIBTOOL= ${.CURDIR}/../../mk/buildlink3/libtool.sh
-_BLNK_WRAP_SANITIZE_PATH.SHLIBTOOL= # empty
+# We want libtool to invoke the wrapper scripts, too.
+_WRAPPER_SH.LIBTOOL= ${BUILDLINK_SRCDIR}/libtool.sh
+_WRAP_ENV.LIBTOOL= PATH="${WRAPPER_BINDIR}:${_WRAP_PATH}"; export PATH
+_WRAPPER_SH.SHLIBTOOL= ${_WRAPPER_SH.LIBTOOL}
+_WRAP_ENV.SHLIBTOOL= ${_WRAP_ENV.LIBTOOL}
# We need to "unbuildlinkify" any libtool archives.
-_BLNK_WRAP_LT_UNTRANSFORM_SED= ${_UNBUILDLINK_SED}
-
-.if !empty(PKGSRC_COMPILER:Mmipspro)
-_BLNK_WRAP_PRIVATE_PRE_CACHE.CC= ${_BLNK_WRAP_PRE_CACHE}
-_BLNK_WRAP_PRIVATE_CACHE_ADD.CC= ${BUILDLINK_DIR}/bin/.mipspro-cc-cache-add
-_BLNK_WRAP_PRIVATE_CACHE.CC= ${BUILDLINK_DIR}/bin/.mipspro-cc-cache
-_BLNK_WRAP_PRIVATE_POST_CACHE.CC= ${BUILDLINK_DIR}/bin/.mipspro-cc-post-cache
-_BLNK_WRAP_POST_LOGIC.CC= ${BUILDLINK_DIR}/bin/.mipspro-cc-post-logic
-#
-# The MIPSpro C++ compiler wrapper shares cache information with the C
-# compiler.
-#
-_BLNK_WRAP_PRIVATE_PRE_CACHE.CXX= ${_BLNK_WRAP_PRE_CACHE}
-_BLNK_WRAP_PRIVATE_CACHE_ADD.CXX= ${BUILDLINK_DIR}/bin/.mipspro-cc-cache-add
-_BLNK_WRAP_PRIVATE_CACHE.CXX= ${BUILDLINK_DIR}/bin/.mipspro-cc-cache
-_BLNK_WRAP_PRIVATE_POST_CACHE.CXX= ${BUILDLINK_DIR}/bin/.mipspro-cc-post-cache
-_BLNK_WRAP_POST_LOGIC.CXX= ${BUILDLINK_DIR}/bin/.mipspro-cc-post-logic
-.endif # mipspro
-
-.if !empty(PKGSRC_COMPILER:Mmipspro-ucode)
-_BLNK_WRAP_PRIVATE_PRE_CACHE.CC= ${_BLNK_WRAP_PRE_CACHE}
-_BLNK_WRAP_PRIVATE_CACHE_ADD.CC= ${BUILDLINK_DIR}/bin/.mipspro-ucode-cc-cache-add
-_BLNK_WRAP_PRIVATE_CACHE.CC= ${BUILDLINK_DIR}/bin/.mipspro-ucode-cc-cache
-_BLNK_WRAP_PRIVATE_POST_CACHE.CC= ${BUILDLINK_DIR}/bin/.mipspro-ucode-cc-post-cache
-_BLNK_WRAP_POST_LOGIC.CC= ${BUILDLINK_DIR}/bin/.mipspro-ucode-cc-post-logic
-#
-# The MIPSpro ucode C++ compiler wrapper shares cache information with the C
-# compiler.
-#
-_BLNK_WRAP_PRIVATE_PRE_CACHE.CXX= ${_BLNK_WRAP_PRE_CACHE}
-_BLNK_WRAP_PRIVATE_CACHE_ADD.CXX= ${BUILDLINK_DIR}/bin/.mipspro-ucode-cc-cache-add
-_BLNK_WRAP_PRIVATE_CACHE.CXX= ${BUILDLINK_DIR}/bin/.mipspro-ucode-cc-cache
-_BLNK_WRAP_PRIVATE_POST_CACHE.CXX= ${BUILDLINK_DIR}/bin/.mipspro-ucode-cc-post-cache
-_BLNK_WRAP_POST_LOGIC.CXX= ${BUILDLINK_DIR}/bin/.mipspro-ucode-cc-post-logic
-.endif # mipspro-ucode
-
-.if !empty(PKGSRC_COMPILER:Msunpro)
-_BLNK_WRAP_PRIVATE_PRE_CACHE.CC= ${_BLNK_WRAP_PRE_CACHE}
-_BLNK_WRAP_PRIVATE_CACHE_ADD.CC= ${BUILDLINK_DIR}/bin/.sunpro-cc-cache-add
-_BLNK_WRAP_PRIVATE_CACHE.CC= ${BUILDLINK_DIR}/bin/.sunpro-cc-cache
-_BLNK_WRAP_PRIVATE_POST_CACHE.CC= ${BUILDLINK_DIR}/bin/.sunpro-cc-post-cache
-_BLNK_WRAP_POST_LOGIC.CC= ${BUILDLINK_DIR}/bin/.sunpro-cc-post-logic
-#
-# The SunPro C++ compiler wrapper shares cache information with the C
-# compiler.
-#
-_BLNK_WRAP_PRIVATE_PRE_CACHE.CXX= ${_BLNK_WRAP_PRE_CACHE}
-_BLNK_WRAP_PRIVATE_CACHE_ADD.CXX= ${BUILDLINK_DIR}/bin/.sunpro-cc-cache-add
-_BLNK_WRAP_PRIVATE_CACHE.CXX= ${BUILDLINK_DIR}/bin/.sunpro-cc-cache
-_BLNK_WRAP_PRIVATE_POST_CACHE.CXX= ${BUILDLINK_DIR}/bin/.sunpro-cc-post-cache
-_BLNK_WRAP_POST_LOGIC.CXX= ${BUILDLINK_DIR}/bin/.sunpro-cc-post-logic
-.endif # sunpro
-
-_BLNK_WRAP_PRIVATE_PRE_CACHE.LD= ${_BLNK_WRAP_PRE_CACHE}
-_BLNK_WRAP_PRIVATE_CACHE_ADD.LD= ${BUILDLINK_DIR}/bin/.ld-cache-add
-_BLNK_WRAP_PRIVATE_CACHE.LD= ${BUILDLINK_DIR}/bin/.ld-cache
-_BLNK_WRAP_PRIVATE_POST_CACHE.LD= ${BUILDLINK_DIR}/bin/.ld-post-cache
-_BLNK_WRAP_POST_LOGIC.LD= ${BUILDLINK_DIR}/bin/.ld-post-logic
-
-_BLNK_WRAP_PRIVATE_PRE_CACHE.LIBTOOL= ${_BLNK_WRAP_PRE_CACHE}
-_BLNK_WRAP_PRIVATE_CACHE_ADD.LIBTOOL= ${BUILDLINK_DIR}/bin/.libtool-cache-add
-_BLNK_WRAP_PRIVATE_CACHE.LIBTOOL= ${BUILDLINK_DIR}/bin/.libtool-cache
-_BLNK_WRAP_PRIVATE_POST_CACHE.LIBTOOL= ${BUILDLINK_DIR}/bin/.libtool-post-cache
-_BLNK_WRAP_POST_LOGIC.LIBTOOL= ${BUILDLINK_DIR}/bin/.libtool-post-logic
-
-# shlibtool shares cache information with libtool.
-_BLNK_WRAP_PRIVATE_PRE_CACHE.SHLIBTOOL= ${_BLNK_WRAP_PRIVATE_PRE_CACHE.LIBTOOL}
-_BLNK_WRAP_PRIVATE_CACHE_ADD.SHLIBTOOL= ${_BLNK_WRAP_PRIVATE_CACHE_ADD.LIBTOOL}
-_BLNK_WRAP_PRIVATE_CACHE.SHLIBTOOL= ${_BLNK_WRAP_PRIVATE_CACHE.LIBTOOL}
-_BLNK_WRAP_PRIVATE_POST_CACHE.SHLIBTOOL= ${_BLNK_WRAP_PRIVATE_POST_CACHE.LIBTOOL}
-_BLNK_WRAP_POST_LOGIC.SHLIBTOOL= ${_BLNK_WRAP_POST_LOGIC.LIBTOOL}
-
-# Don't transform the arguments for imake, which uses the C preprocessor
-# to generate Makefiles, so that imake will find its config files.
-#
-.if defined(USE_X11)
-_BLNK_WRAP_CACHE_ADD.IMAKE= ${_BLNK_WRAP_CACHE_ADD}
-_BLNK_WRAP_CACHE.IMAKE= ${_BLNK_WRAP_CACHE}
-_BLNK_WRAP_LOGIC.IMAKE= ${_BLNK_WRAP_LOGIC}
-.endif
+_BLNK_WRAP_LT_UNTRANSFORM_SED= ${SUBST_SED.unwrap}
+
+_WRAP_BUILDCMD.LIBTOOL= ${WRAPPER_TMPDIR}/buildcmd-libtool
+_WRAP_CACHE.LIBTOOL= ${WRAPPER_TMPDIR}/cache-libtool
+_WRAP_CACHE_BODY.LIBTOOL= ${WRAPPER_TMPDIR}/cache-body-libtool
+_WRAP_CLEANUP.LIBTOOL= ${WRAPPER_TMPDIR}/cleanup-libtool
+_WRAP_CMD_SINK.LIBTOOL= ${WRAPPER_TMPDIR}/cmd-sink-libtool
+_WRAP_SCAN.LIBTOOL= ${WRAPPER_TMPDIR}/scan-libtool
+_WRAP_TRANSFORM.LIBTOOL= ${WRAPPER_TMPDIR}/transform-libtool
+
+_WRAP_BUILDCMD.SHLIBTOOL= ${_WRAP_BUILDCMD.LIBTOOL}
+_WRAP_CACHE.SHLIBTOOL= ${_WRAP_CACHE.LIBTOOL}
+_WRAP_CACHE_BODY.SHLIBTOOL= ${_WRAP_CACHE_BODY.LIBTOOL}
+_WRAP_CLEANUP.SHLIBTOOL= ${_WRAP_CLEANUP.LIBTOOL}
+_WRAP_CMD_SINK.SHLIBTOOL= ${_WRAP_CMD_SINK.LIBTOOL}
+_WRAP_SCAN.SHLIBTOOL= ${_WRAP_SCAN.LIBTOOL}
+_WRAP_TRANSFORM.SHLIBTOOL= ${_WRAP_TRANSFORM.LIBTOOL}
# Silently pass the appropriate flags to the compiler/linker commands so
# that headers and libraries in ${BUILDLINK_DIR}/{include,lib} are found
@@ -1237,539 +1051,78 @@ _BLNK_WRAP_LOGIC.IMAKE= ${_BLNK_WRAP_LOGIC}
#
_BLNK_CPPFLAGS= -I${BUILDLINK_DIR}/include
_BLNK_LDFLAGS= -L${BUILDLINK_DIR}/lib
-_BLNK_WRAP_EXTRA_FLAGS.CC= ${_BLNK_CPPFLAGS} ${_BLNK_LDFLAGS}
-_BLNK_WRAP_EXTRA_FLAGS.CXX= ${_BLNK_CPPFLAGS} ${_BLNK_LDFLAGS}
-_BLNK_WRAP_EXTRA_FLAGS.CPP= ${_BLNK_CPPFLAGS}
-_BLNK_WRAP_EXTRA_FLAGS.FC= ${_BLNK_CPPFLAGS} ${_BLNK_LDFLAGS}
-_BLNK_WRAP_EXTRA_FLAGS.LD= ${_BLNK_LDFLAGS}
-_BLNK_WRAP_EXTRA_FLAGS.LIBTOOL= ${_BLNK_LDFLAGS}
-_BLNK_WRAP_EXTRA_FLAGS.SHLIBTOOL= ${_BLNK_WRAP_EXTRA_FLAGS.LIBTOOL}
-
-.PHONY: buildlink-wrappers
-
-buildlink-wrappers: ${_BLNK_LIBTOOL_FIX_LA}
-
-.for _wrappee_ in ${_BLNK_WRAPPEES}
-. if defined(PKG_${_wrappee_})
-_BLNK_PKG_${_wrappee_}= ${PKG_${_wrappee_}}
-. else
-_BLNK_PKG_${_wrappee_}= ${${_wrappee_}}
-. endif
-
-BUILDLINK_${_wrappee_}= \
- ${BUILDLINK_DIR}/bin/${_BLNK_PKG_${_wrappee_}:T:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//}
-${_wrappee_}:= ${BUILDLINK_${_wrappee_}:T}
-
-# Filter to scrunch shell scripts by removing comments and empty lines.
-_BLNK_SH_CRUNCH_FILTER= \
- ${GREP} -v "^\#[^!]" | ${GREP} -v "^[ ][ ]*\#" | \
- ${GREP} -v "^\#$$" | ${GREP} -v "^[ ]*$$"
-
-_BLNK_WRAPPER_TRANSFORM_SED.${_wrappee_}= \
- -e "s|@BUILDLINK_DIR@|${BUILDLINK_DIR}|g" \
- -e "s|@BUILDLINK_SHELL@|${BUILDLINK_SHELL}|g" \
- -e "s|@WRKDIR@|${WRKDIR}|g" \
- -e "s|@WRKSRC@|${WRKSRC}|g" \
- -e "s|@BASENAME@|${BASENAME:Q}|g" \
- -e "s|@CAT@|${CAT:Q}|g" \
- -e "s|@DIRNAME@|${DIRNAME:Q}|g" \
- -e "s|@ECHO@|${ECHO:Q}|g" \
- -e "s|@EXPR@|${EXPR:Q}|g" \
- -e "s|@PWD_CMD@|${PWD_CMD:Q}|g" \
- -e "s|@SED@|${SED:Q}|g" \
- -e "s|@TEST@|${TEST:Q}|g" \
- -e "s|@TOUCH@|${TOUCH:Q}|g" \
- -e "s|@_BLNK_LIBTOOL_FIX_LA@|${_BLNK_LIBTOOL_FIX_LA:Q}|g" \
- -e "s|@_BLNK_REORDERLIBS@|${_BLNK_REORDERLIBS:Q}|g" \
- -e "s|@_BLNK_WRAP_LOG@|${_BLNK_WRAP_LOG:Q}|g" \
- -e "s|@_BLNK_WRAP_EXTRA_FLAGS@|${_BLNK_WRAP_EXTRA_FLAGS.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_BUILDCMD@|${_BLNK_WRAP_BUILDCMD.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_QUOTEARG@|${_BLNK_WRAP_QUOTEARG.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_BUFFER@|${_BLNK_WRAP_BUFFER.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_MARSHALL@|${_BLNK_WRAP_MARSHALL.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_PRIVATE_PRE_CACHE@|${_BLNK_WRAP_PRIVATE_PRE_CACHE.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_PRIVATE_CACHE_ADD@|${_BLNK_WRAP_PRIVATE_CACHE_ADD.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_PRIVATE_CACHE@|${_BLNK_WRAP_PRIVATE_CACHE.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_PRIVATE_POST_CACHE@|${_BLNK_WRAP_PRIVATE_POST_CACHE.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_PRE_CACHE@|${_BLNK_WRAP_PRE_CACHE:Q}|g" \
- -e "s|@_BLNK_WRAP_CACHE_ADD@|${_BLNK_WRAP_CACHE_ADD.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_CACHE@|${_BLNK_WRAP_CACHE.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_POST_CACHE@|${_BLNK_WRAP_POST_CACHE:Q}|g" \
- -e "s|@_BLNK_WRAP_LOGIC@|${_BLNK_WRAP_LOGIC.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_POST_LOGIC@|${_BLNK_WRAP_POST_LOGIC.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_ENV@|${_BLNK_WRAP_ENV.${_wrappee_}:Q}|g" \
- -e "s|@_BLNK_WRAP_SANITIZE_PATH@|${_BLNK_WRAP_SANITIZE_PATH.${_wrappee_}:Q}|g"
-
-_BLNK_WRAPPEE_COOKIE.${_wrappee_}= \
- ${BUILDLINK_DIR}/.buildlink_wrapper_${_wrappee_}_done
-
-buildlink-wrappers: ${_BLNK_WRAPPEE_COOKIE.${_wrappee_}}
-${_BLNK_WRAPPEE_COOKIE.${_wrappee_}}: \
- ${_BLNK_WRAPPER_SH.${_wrappee_}} \
- ${_BLNK_WRAP_BUILDCMD.${_wrappee_}} \
- ${_BLNK_WRAP_QUOTEARG.${_wrappee_}} \
- ${_BLNK_WRAP_BUFFER.${_wrappee_}} \
- ${_BLNK_WRAP_MARSHALL.${_wrappee_}} \
- ${_BLNK_WRAP_PRIVATE_CACHE.${_wrappee_}} \
- ${_BLNK_WRAP_CACHE.${_wrappee_}} \
- ${_BLNK_WRAP_LOGIC.${_wrappee_}} \
- ${_BLNK_WRAP_POST_LOGIC.${_wrappee_}}
- ${_PKG_SILENT}${_PKG_DEBUG}${ECHO_BUILDLINK_MSG} \
- "=> Creating wrapper: ${BUILDLINK_${_wrappee_}}"
- ${_PKG_SILENT}${_PKG_DEBUG} \
- wrappee="${_BLNK_PKG_${_wrappee_}:C/^/_asdf_/1:M_asdf_*:S/^_asdf_//}"; \
- gen=yes; \
- case $${wrappee} in \
- /*) absdir=; \
- ;; \
- *) OLDIFS="$$IFS"; \
- IFS=":"; \
- for dir in $${PATH}; do \
- case $${dir} in \
- *${BUILDLINK_DIR}*) \
- ;; \
- *) if [ -f $${dir}/$${wrappee} ] || \
- [ -h $${dir}/$${wrappee} ] && \
- [ -x $${dir}/$${wrappee} ]; then \
- absdir=$${dir}/; \
- wrappee=$${absdir}$${wrappee}; \
- break; \
- fi; \
- ;; \
- esac; \
- done; \
- IFS="$$OLDIFS"; \
- if [ ! -x "$${wrappee}" ]; then \
- gen=no; \
- ${ECHO_BUILDLINK_MSG} "Warning: unable to create \"$${wrappee}\" wrapper script"; \
- fi; \
- ;; \
- esac; \
- case $$gen in \
- yes) \
- ${MKDIR} ${BUILDLINK_${_wrappee_}:H}; \
- ${CAT} ${_BLNK_WRAPPER_SH.${_wrappee_}} | \
- ${SED} ${_BLNK_WRAPPER_TRANSFORM_SED.${_wrappee_}} \
- -e "s|@WRAPPEE@|$${absdir}${_BLNK_PKG_${_wrappee_}:Q}|g" | \
- ${_BLNK_SH_CRUNCH_FILTER} \
- > ${BUILDLINK_${_wrappee_}}; \
- ${CHMOD} +x ${BUILDLINK_${_wrappee_}}; \
- ;; \
- esac
-. for _alias_ in ${_ALIASES.${_wrappee_}:S/^/${BUILDLINK_DIR}\/bin\//}
- ${_PKG_SILENT}${_PKG_DEBUG} \
- if [ ! -x ${_alias_} -a -x ${BUILDLINK_${_wrappee_}} ]; then \
- ${ECHO_BUILDLINK_MSG} "=> Linking wrapper: ${_alias_}"; \
- ${LN} -f ${BUILDLINK_${_wrappee_}} ${_alias_}; \
- fi
-. endfor
- ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_FLAGS} ${.TARGET}
-.endfor # _wrappee_
-
-# Allow BUILDLINK_ENV to override shell environment settings in
-# ${CONFIGURE_ENV} and in ${MAKE_ENV} for the configure and build processes,
-# respectively.
-#
-CONFIGURE_ENV+= ${BUILDLINK_ENV}
-MAKE_ENV+= ${BUILDLINK_ENV}
-
-.PHONY: buildlink-${_BLNK_OPSYS}-wrappers
-buildlink-${_BLNK_OPSYS}-wrappers: buildlink-wrappers
-.for _wrappee_ in ${_BLNK_WRAPPEES.${_BLNK_OPSYS}}
- ${_PKG_SILENT}${_PKG_DEBUG} \
- if [ -x "${${_wrappee_}.${_BLNK_OPSYS}}" ]; then \
- wrapper="${BUILDLINK_DIR}/bin/${${_wrappee_}.${_BLNK_OPSYS}:T}"; \
- ${ECHO_BUILDLINK_MSG} \
- "=> Creating ${_BLNK_OPSYS} wrapper: $${wrapper}"; \
- ${RM} -f $${wrapper}; \
- ${CAT} ${_BLNK_WRAPPER_SH.${_wrappee_}} | \
- ${SED} ${_BLNK_WRAPPER_TRANSFORM_SED.${_wrappee_}} \
- -e "s|@WRAPPEE@|${${_wrappee_}.${_BLNK_OPSYS}}|g" | \
- ${_BLNK_SH_CRUNCH_FILTER} \
- > $${wrapper}; \
- ${CHMOD} +x $${wrapper}; \
- for file in ${_ALIASES.${_wrappee_}:S/^/${BUILDLINK_DIR}\/bin\//}; do \
- if [ "$${file}" != "$${wrappee}" ]; then \
- ${TOUCH} $${file}; \
- fi; \
- done; \
- fi
-.endfor
-
-.if !target(${_BLNK_EMPTY_FILE})
-${_BLNK_EMPTY_FILE}:
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}
-.endif
-
-.if !target(${_BLNK_WRAP_BUILDCMD})
-${_BLNK_WRAP_BUILDCMD}: ${.CURDIR}/../../mk/buildlink3/buildcmd
+_WRAP_EXTRA_ARGS.CC+= ${_BLNK_CPPFLAGS} ${_BLNK_LDFLAGS}
+_WRAP_EXTRA_ARGS.CXX+= ${_BLNK_CPPFLAGS} ${_BLNK_LDFLAGS}
+_WRAP_EXTRA_ARGS.CPP+= ${_BLNK_CPPFLAGS}
+_WRAP_EXTRA_ARGS.FC+= ${_BLNK_CPPFLAGS} ${_BLNK_LDFLAGS}
+_WRAP_EXTRA_ARGS.LD+= ${_BLNK_LDFLAGS}
+_BLNK_LIBTOOL_LDFLAGS= ${_BLNK_LDFLAGS}
+
+${WRAPPER_TMPDIR}/libtool-fix-la: ${BUILDLINK_SRCDIR}/libtool-fix-la
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-.endif
-
-.if !target(${_BLNK_WRAP_QUOTEARG})
-${_BLNK_WRAP_QUOTEARG}: ${.CURDIR}/../../mk/buildlink3/quotearg
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-.endif
-
-.if !target(${_BLNK_WRAP_BUFFER})
-${_BLNK_WRAP_BUFFER}: ${.CURDIR}/../../mk/buildlink3/buffer
+ | ${SED} -e "s|@_BLNK_WRAP_LT_UNTRANSFORM_SED@|${_BLNK_WRAP_LT_UNTRANSFORM_SED:Q}|g" \
+ -e "s|@BUILDLINK_DIR@|${BUILDLINK_DIR:Q}|g" \
+ -e "s|@DEPOTBASE@|${DEPOTBASE:Q}|g" \
+ -e "s|@LOCALBASE@|${LOCALBASE:Q}|g" \
+ -e "s|@WRKSRC@|${WRKSRC:Q}|g" \
+ -e "s|@BASENAME@|${BASENAME:Q}|g" \
+ -e "s|@DIRNAME@|${DIRNAME:Q}|g" \
+ -e "s|@EGREP@|${EGREP:Q}|g" \
+ -e "s|@MV@|${MV:Q}|g" \
+ -e "s|@RM@|${RM:Q}|g" \
+ | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
+
+${WRAPPER_TMPDIR}/buildcmd-libtool: ${BUILDLINK_SRCDIR}/buildcmd-libtool
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-.endif
+ | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
-.if !target(${_BLNK_WRAP_MARSHALL})
-${_BLNK_WRAP_MARSHALL}: ${.CURDIR}/../../mk/buildlink3/marshall
+${WRAPPER_TMPDIR}/cleanup-libtool: \
+ ${BUILDLINK_SRCDIR}/cleanup-libtool \
+ ${_BLNK_LIBTOOL_FIX_LA}
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-.endif
-
-.if !target(${_BLNK_WRAP_PRE_CACHE})
-${_BLNK_WRAP_PRE_CACHE}: ${.CURDIR}/../../mk/buildlink3/pre-cache
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-.endif
-
-.if !target(${_BLNK_WRAP_CACHE_ADD})
-${_BLNK_WRAP_CACHE_ADD}:
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}
-.endif
+ ${_PKG_SILENT}${_PKG_DEBUG} \
+ ${CAT} ${BUILDLINK_SRCDIR}/cleanup-libtool \
+ | ${SED} -e "s|@_BLNK_LIBTOOL_FIX_LA@|${_BLNK_LIBTOOL_FIX_LA:Q}|g" \
+ | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
-.if !target(${_BLNK_WRAP_CACHE})
-${_BLNK_WRAP_CACHE}: \
- ${_BLNK_WRAP_PRE_CACHE} \
- ${_BLNK_WRAP_CACHE_ADD} \
- ${_BLNK_WRAP_POST_CACHE}
+${WRAPPER_TMPDIR}/cmd-sink-libtool: ${BUILDLINK_SRCDIR}/cmd-sink-libtool
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}.tmp
- ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET}
-.endif
+ | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
-.if !target(${_BLNK_WRAP_CACHE_TRANSFORM})
-${_BLNK_WRAP_CACHE_TRANSFORM}: \
- ${_BLNK_WRAP_PRE_CACHE} \
- ${_BLNK_WRAP_CACHE_ADD_TRANSFORM} \
- ${_BLNK_WRAP_POST_CACHE}
+${WRAPPER_TMPDIR}/scan-libtool: ${BUILDLINK_SRCDIR}/scan-libtool
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}.tmp
- ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET}
-.endif
+ | ${SED} -e "s|@_BLNK_LIBTOOL_LDFLAGS@|${_BLNK_LIBTOOL_LDFLAGS:Q}|g" \
+ | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
-.if !target(${_BLNK_WRAP_POST_CACHE})
-${_BLNK_WRAP_POST_CACHE}: ${.CURDIR}/../../mk/buildlink3/post-cache
+${WRAPPER_TMPDIR}/transform-libtool: ${BUILDLINK_SRCDIR}/transform-libtool
${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
+ | ${SED} -e "s|@BUILDLINK_DIR@|${BUILDLINK_DIR:Q}|g" \
+ -e "s|@WRKSRC@|${WRKSRC:Q}|g" \
+ -e "s|@BASENAME@|${BASENAME:Q}|g" \
+ -e "s|@DIRNAME@|${DIRNAME:Q}|g" \
+ -e "s|@PWD@|${PWD_CMD:Q}|g" \
+ | ${_WRAP_SH_CRUNCH_FILTER} > ${.TARGET}
+
+WRAPPER_TARGETS+= pre-buildlink do-buildlink post-buildlink
+.if !target(pre-buildlink)
+pre-buildlink:
+ @${DO_NADA}
.endif
-
-${BUILDLINK_DIR}/bin/.mipspro-cc-post-cache: \
- ${.CURDIR}/../../mk/buildlink3/mipspro-cc-post-cache
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-
-${BUILDLINK_DIR}/bin/.mipspro-ucode-cc-post-cache: \
- ${.CURDIR}/../../mk/buildlink3/mipspro-ucode-cc-post-cache
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-
-${BUILDLINK_DIR}/bin/.sunpro-cc-post-cache: \
- ${.CURDIR}/../../mk/buildlink3/sunpro-cc-post-cache
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-
-${BUILDLINK_DIR}/bin/.ld-post-cache: \
- ${.CURDIR}/../../mk/buildlink3/ld-post-cache
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-
-${BUILDLINK_DIR}/bin/.libtool-post-cache: \
- ${.CURDIR}/../../mk/buildlink3/libtool-post-cache
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-
-.for _wrappee_ in ${_BLNK_WRAPPEES}
-. if !target(${_BLNK_WRAP_PRIVATE_PRE_CACHE.${_wrappee_}})
-${_BLNK_WRAP_PRIVATE_PRE_CACHE.${_wrappee_}}:
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}
-. endif
-. if !target(${_BLNK_WRAP_PRIVATE_CACHE_ADD.${_wrappee_}})
-${_BLNK_WRAP_PRIVATE_CACHE_ADD.${_wrappee_}}:
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}
-. endif
-. if !target(${_BLNK_WRAP_PRIVATE_POST_CACHE.${_wrappee_}})
-${_BLNK_WRAP_PRIVATE_POST_CACHE.${_wrappee_}}:
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}
-. endif
-. if !target(${_BLNK_WRAP_PRIVATE_CACHE.${_wrappee_}})
-${_BLNK_WRAP_PRIVATE_CACHE.${_wrappee_}}: \
- ${_BLNK_WRAP_PRIVATE_PRE_CACHE.${_wrappee_}} \
- ${_BLNK_WRAP_PRIVATE_CACHE_ADD.${_wrappee_}} \
- ${_BLNK_WRAP_PRIVATE_POST_CACHE.${_wrappee_}}
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}.tmp
- ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET}
-. endif
-.endfor
-
-.if !target(${_BLNK_WRAP_LOGIC})
-${_BLNK_WRAP_LOGIC}: ${.CURDIR}/../../mk/buildlink3/logic
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${SED} \
- -e "s|@LOCALBASE@|${LOCALBASE}|g" \
- -e "s|@X11BASE@|${X11BASE}|g" \
- -e 's|@_BLNK_TRANSFORM_SED@||g' \
- ${.ALLSRC} | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}.tmp
- ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET}
+.if !target(do-buildlink)
+do-buildlink:
+ @${DO_NADA}
.endif
-
-.if !target(${_BLNK_WRAP_LOGIC_TRANSFORM})
-${_BLNK_WRAP_LOGIC_TRANSFORM}: \
- ${.CURDIR}/../../mk/buildlink3/logic \
- ${_BLNK_TRANSFORM_SEDFILE}
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${SED} \
- -e "s|@LOCALBASE@|${LOCALBASE}|g" \
- -e "s|@X11BASE@|${X11BASE}|g" \
- -e 's|@_BLNK_TRANSFORM_SED@|${_BLNK_TRANSFORM_SED:Q}|g' \
- ${.CURDIR}/../../mk/buildlink3/logic \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}.tmp
- ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET}
+.if !target(post-buildlink)
+post-buildlink:
+ @${DO_NADA}
.endif
-${BUILDLINK_DIR}/bin/.mipspro-cc-post-logic: \
- ${.CURDIR}/../../mk/buildlink3/mipspro-cc-post-logic
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-
-${BUILDLINK_DIR}/bin/.mipspro-ucode-cc-post-logic: \
- ${.CURDIR}/../../mk/buildlink3/mipspro-ucode-cc-post-logic
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-
-${BUILDLINK_DIR}/bin/.sunpro-cc-post-logic: \
- ${.CURDIR}/../../mk/buildlink3/sunpro-cc-post-logic
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-
-${BUILDLINK_DIR}/bin/.ld-post-logic: \
- ${.CURDIR}/../../mk/buildlink3/ld-post-logic
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-
-${BUILDLINK_DIR}/bin/.libtool-post-logic: \
- ${.CURDIR}/../../mk/buildlink3/libtool-post-logic
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${CAT} ${.ALLSRC} \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}
-
-.for _wrappee_ in ${_BLNK_WRAPPEES}
-. if !target(${_BLNK_WRAP_PRIVATE_POST_LOGIC.${_wrappee_}})
-${_BLNK_WRAP_PRIVATE_POST_LOGIC.${_wrappee_}}:
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}
-. endif
-.endfor
-
-${BUILDLINK_DIR}/bin/.libtool-fix-la: \
- ${.CURDIR}/../../mk/buildlink3/libtool-fix-la \
- ${_BLNK_UNTRANSFORM_SEDFILE}
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${SED} \
- -e "s|@LOCALBASE@|${LOCALBASE}|g" \
- -e "s|@DEPOTBASE@|${DEPOTBASE}|g" \
- -e "s|@WRKSRC@|${WRKSRC}|g" \
- -e "s|@BASENAME@|${BASENAME:Q}|g" \
- -e "s|@CP@|${CP:Q}|g" \
- -e "s|@DIRNAME@|${DIRNAME:Q}|g" \
- -e "s|@EGREP@|${EGREP:Q}|g" \
- -e "s|@MV@|${MV:Q}|g" \
- -e "s|@RM@|${RM:Q}|g" \
- -e "s|@SED@|${SED:Q}|g" \
- -e "s|@TOUCH@|${TOUCH:Q}|g" \
- -e 's|@_BLNK_WRAP_LT_UNTRANSFORM_SED@|${_BLNK_WRAP_LT_UNTRANSFORM_SED:Q}|g' \
- ${.CURDIR}/../../mk/buildlink3/libtool-fix-la \
- | ${_BLNK_SH_CRUNCH_FILTER} > ${.TARGET}.tmp
- ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET}
-
-# Seed the common transforming cache with obvious values that greatly
-# speed up the wrappers.
-#
-_BLNK_RPATH_FLAGS= # empty
-.for _rflag_ in \
- -Wl,-R -Wl,-rpath, -Wl,--rpath, -Wl,-rpath-link, -Wl,--rpath-link
-. if empty(_BLNK_RPATH_FLAGS:M${_rflag_})
-_BLNK_RPATH_FLAGS+= ${_rflag_}
-. endif
-.endfor
-#
-.if !empty(_BLNK_SEED_CACHE:Mpassthru)
-#
-# Pass through all single letter options, because we don't touch those.
-#
-_BLNK_CACHE_PASSTHRU_GLOB= -?
-#
-# Directories in the ${WRKDIR} should all be allowed in -[IL]<dir>
-_BLNK_CACHE_PASSTHRU_GLOB+= -[IL]${WRKDIR}*|-[IL]${BUILDLINK_DIR}*
-#
-# Directories relative to the srcdir should be allowed in -[IL]<dir>
-_BLNK_CACHE_PASSTHRU_GLOB+= -[IL].|-[IL]./*|-[IL]..*|-[IL][!/]*
-#
-# Allow the depot directories for packages for which we need to find
-# headers and libraries for both -[IL]<dir>.
-#
-. if ${PKG_INSTALLATION_TYPE} == "pkgviews"
-. for _pkg_ in ${_BLNK_PACKAGES}
-. if !empty(BUILDLINK_IS_DEPOT.${_pkg_}:M[yY][eE][sS])
-_BLNK_CACHE_PASSTHRU_GLOB+= -[IL]${BUILDLINK_PREFIX.${_pkg_}}/*
-. endif
-. endfor
-. endif
-#
-# Allow all subdirs of ${_BLNK_PASSTHRU_DIRS} and ${_BLNK_PASSTHRU_RPATHDIRS}
-# to be in the runtime library search path.
-#
-. if ${_USE_RPATH} == "yes"
-. for _dir_ in ${_BLNK_PASSTHRU_DIRS} ${_BLNK_PASSTHRU_RPATHDIRS}
-. for _R_ in ${_BLNK_RPATH_FLAGS}
-_BLNK_CACHE_PASSTHRU_GLOB+= ${_R_}${_dir_}|${_R_}${_dir_}/*
-. endfor
-. endfor
-. endif
-.endif # _BLNK_SEED_CACHE has "passthru"
-
-.if !empty(_BLNK_SEED_CACHE:Mblock)
-#
-# Block all other absolute paths (we handle the ${X11BASE} case below).
-#
-_BLNK_CACHE_BLOCK_GLOB= -[IL]/*
-. if ${_USE_RPATH} == "yes"
-. for _R_ in ${_BLNK_RPATH_FLAGS}
-_BLNK_CACHE_BLOCK_GLOB:= ${_BLNK_CACHE_BLOCK_GLOB}|${_R_}/*
-. endfor
-. endif
-.endif # _BLNK_SEED_CACHE has "block"
-
-${_BLNK_WRAP_CACHE_ADD_TRANSFORM}:
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${.TARGET}
- ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${.TARGET}
-.if !empty(_BLNK_SEED_CACHE)
-. if !empty(_BLNK_SEED_CACHE:Mpassthru)
-. for _glob_ in ${_BLNK_CACHE_PASSTHRU_GLOB}
- ${_PKG_SILENT}${_PKG_DEBUG} \
- ( ${ECHO} "${_glob_})"; \
- ${ECHO} " cachehit=yes"; \
- ${ECHO} " ;;"; \
- ) >> ${.TARGET}
-. endfor
-. endif # _BLNK_SEED_CACHE has "passthru"
-. if !empty(_BLNK_SEED_CACHE:Mtransform)
-. if ${PKG_INSTALLATION_TYPE} == "overwrite"
- ${_PKG_SILENT}${_PKG_DEBUG} \
- ( ${ECHO} "-I${DEPOTBASE}/*)"; \
- ${ECHO} " arg=\"-I${BUILDLINK_DIR}/\$${arg#-I${DEPOTBASE}/[!/]*/}\""; \
- ${ECHO} " cachehit=yes"; \
- ${ECHO} " ;;"; \
- ) >> ${.TARGET}
- ${_PKG_SILENT}${_PKG_DEBUG} \
- ( ${ECHO} "-L${DEPOTBASE}/*)"; \
- ${ECHO} " arg=\"-L${BUILDLINK_DIR}/\$${arg#-I${DEPOTBASE}/[!/]*/}\""; \
- ${ECHO} " cachehit=yes"; \
- ${ECHO} " ;;"; \
- ) >> ${.TARGET}
- ${_PKG_SILENT}${_PKG_DEBUG} \
- ( ${ECHO} "-I${LOCALBASE}/*)"; \
- ${ECHO} " arg=\"-I${BUILDLINK_DIR}/\$${arg#-I${LOCALBASE}/}\""; \
- ${ECHO} " cachehit=yes"; \
- ${ECHO} " ;;"; \
- ) >> ${.TARGET}
- ${_PKG_SILENT}${_PKG_DEBUG} \
- ( ${ECHO} "-L${LOCALBASE}/*)"; \
- ${ECHO} " arg=\"-L${BUILDLINK_DIR}/\$${arg#-L${LOCALBASE}/}\""; \
- ${ECHO} " cachehit=yes"; \
- ${ECHO} " ;;"; \
- ) >> ${.TARGET}
-. endif
-. if defined(USE_X11)
- ${_PKG_SILENT}${_PKG_DEBUG} \
- ( ${ECHO} "-I${X11BASE}/*)"; \
- ${ECHO} " arg=\"-I${BUILDLINK_X11_DIR}/\$${arg#-I${X11BASE}/}\""; \
- ${ECHO} " cachehit=yes"; \
- ${ECHO} " ;;"; \
- ) >> ${.TARGET}
- ${_PKG_SILENT}${_PKG_DEBUG} \
- ( ${ECHO} "-L${X11BASE}/*)"; \
- ${ECHO} " arg=\"-L${BUILDLINK_X11_DIR}/\$${arg#-L${X11BASE}/}\""; \
- ${ECHO} " cachehit=yes"; \
- ${ECHO} " ;;"; \
- ) >> ${.TARGET}
-. endif
-. endif # _BLNK_SEED_CACHE has "transform"
-. if !empty(_BLNK_SEED_CACHE:Mblock)
-. for _glob_ in ${_BLNK_CACHE_BLOCK_GLOB}
- ${_PKG_SILENT}${_PKG_DEBUG} \
- ( ${ECHO} "${_glob_})"; \
- ${ECHO} " arg=; cachehit=yes;"; \
- ${ECHO} " ;;"; \
- ) >> ${.TARGET}
-. endfor
-. endif # _BLNK_SEED_CACHE has "block"
-.endif # _BLNK_SEED_CACHE
-
-${_BLNK_GEN_TRANSFORM}: ${.CURDIR}/../../mk/buildlink3/gen-transform.sh
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${SED} \
- -e "s|@_BLNK_TRANSFORM_SEDFILE@|${_BLNK_TRANSFORM_SEDFILE:Q}|g" \
- -e "s|@_BLNK_UNTRANSFORM_SEDFILE@|${_BLNK_UNTRANSFORM_SEDFILE:Q}|g" \
- -e "s|@_BLNK_REORDERLIBS@|${_BLNK_REORDERLIBS:Q}|g" \
- -e "s|@BUILDLINK_SHELL@|${BUILDLINK_SHELL:Q}|g" \
- -e "s|@CAT@|${CAT:Q}|g" \
- ${.ALLSRC} > ${.TARGET}.tmp
- ${_PKG_SILENT}${_PKG_DEBUG}${CHMOD} +x ${.TARGET}.tmp
- ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET}
-
-${_BLNK_TRANSFORM_SEDFILE} ${_BLNK_UNTRANSFORM_SEDFILE} ${_BLNK_REORDERLIBS}: \
- ${_BLNK_GEN_TRANSFORM}
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${_BLNK_GEN_TRANSFORM} \
- ${_BLNK_TRANSFORM}
-.endif # BUILDLINK_PHASES
-
-.PHONY: buildlink-vars-mk
-buildlink-vars-mk: ${_BLNK_VARS_MK}
-${_BLNK_VARS_MK}:
- ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H}
- ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${.TARGET}.tmp
-.for _var_ in ${BUILDLINK_VARS}
- ${_PKG_SILENT}${_PKG_DEBUG} \
- ${ECHO} "${_var_}= ${${_var_}}" >> ${.TARGET}.tmp
-.endfor
- ${_PKG_SILENT}${_PKG_DEBUG} \
- if [ -f ${.TARGET}.tmp ]; then \
- ${SORT} -u ${.TARGET}.tmp > ${.TARGET}; \
- ${RM} -f ${.TARGET}.tmp; \
- fi
- ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_FLAGS} ${.TARGET}
+.endif # PHASES_AFTER_WRAPPER
+###
+### END: after "wrapper" phase
+###