diff options
author | rh <rh@pkgsrc.org> | 2002-09-06 00:36:14 +0000 |
---|---|---|
committer | rh <rh@pkgsrc.org> | 2002-09-06 00:36:14 +0000 |
commit | b056d10cd77035a02de6dad07ee0bbb8b572c17f (patch) | |
tree | bc3170c2281587763030cecaa8ff8555842b38c8 | |
parent | ff7d893b42017620fe6a39a11e6fedb7dded4820 (diff) | |
download | pkgsrc-b056d10cd77035a02de6dad07ee0bbb8b572c17f.tar.gz |
Update createbuildlink to 2.0. Now creates buildlink2.mk files. You can
use createbuildlink1 to still create old buildlink.mk files.
-rw-r--r-- | pkgtools/createbuildlink/DESCR | 6 | ||||
-rw-r--r-- | pkgtools/createbuildlink/Makefile | 19 | ||||
-rw-r--r-- | pkgtools/createbuildlink/PLIST | 3 | ||||
-rwxr-xr-x | pkgtools/createbuildlink/files/createbuildlink | 127 | ||||
-rw-r--r-- | pkgtools/createbuildlink/files/createbuildlink.8 | 17 | ||||
-rwxr-xr-x | pkgtools/createbuildlink/files/createbuildlink1 | 256 |
6 files changed, 293 insertions, 135 deletions
diff --git a/pkgtools/createbuildlink/DESCR b/pkgtools/createbuildlink/DESCR index b439912a303..76a7afc8ad8 100644 --- a/pkgtools/createbuildlink/DESCR +++ b/pkgtools/createbuildlink/DESCR @@ -1,7 +1,5 @@ This package installs a shell script that will take a Makefile and a PLIST file of an existing package and create an initial -buildlink.mk file from it. The script tries to interpret the +buildlink2.mk file from it. The script tries to interpret the contents of the include and lib subdirectories (if any) of the -package and add the corresponding BUILDLINK files. In addition -it tries to identify possible config scripts and create the -corresponding wrapper entries for them. +package and add the corresponding BUILDLINK files. diff --git a/pkgtools/createbuildlink/Makefile b/pkgtools/createbuildlink/Makefile index c03b6d759df..b0114a0f9a8 100644 --- a/pkgtools/createbuildlink/Makefile +++ b/pkgtools/createbuildlink/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.6 2002/05/11 11:52:05 rh Exp $ +# $NetBSD: Makefile,v 1.7 2002/09/06 00:36:14 rh Exp $ # -DISTNAME= createbuildlink-1.5 +DISTNAME= createbuildlink-2.0 CATEGORIES= pkgtools sysutils MASTER_SITES= # Nothing DISTFILES= # Nothing @@ -16,15 +16,18 @@ NO_BUILD= yes NO_PATCH= yes EXTRACT_CMD= ${ECHO} +SCRIPT= ${DISTNAME:C/-.*$//} + do-configure: +.for scr in ${SCRIPT} ${SCRIPT}1 ${SED} -e 's/@PKGVERSION@/${PKGVERSION}/' \ - < ${FILESDIR}/${DISTNAME:C/-.*$//} \ - > ${WRKSRC}/${DISTNAME:C/-.*$//} + < ${FILESDIR}/${scr} > ${WRKSRC}/${scr} +.endfor do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/${DISTNAME:C/-.*$//} \ - ${PREFIX}/bin/${DISTNAME:C/-.*$//} - ${INSTALL_MAN} ${FILESDIR}/${DISTNAME:C/-.*$//}.8 \ - ${PREFIX}/man/man8 +.for scr in ${SCRIPT} ${SCRIPT}1 + ${INSTALL_SCRIPT} ${WRKSRC}/${scr} ${PREFIX}/bin/${scr} +.endfor + ${INSTALL_MAN} ${FILESDIR}/${SCRIPT}.8 ${PREFIX}/man/man8 .include "../../mk/bsd.pkg.mk" diff --git a/pkgtools/createbuildlink/PLIST b/pkgtools/createbuildlink/PLIST index 44a0c7e9163..c7eb64f87f4 100644 --- a/pkgtools/createbuildlink/PLIST +++ b/pkgtools/createbuildlink/PLIST @@ -1,3 +1,4 @@ -@comment $NetBSD: PLIST,v 1.1.1.1 2002/04/29 11:03:54 rh Exp $ +@comment $NetBSD: PLIST,v 1.2 2002/09/06 00:36:14 rh Exp $ bin/createbuildlink +bin/createbuildlink1 man/man8/createbuildlink.8 diff --git a/pkgtools/createbuildlink/files/createbuildlink b/pkgtools/createbuildlink/files/createbuildlink index 2bd2e27e277..cddf9bc24a5 100755 --- a/pkgtools/createbuildlink/files/createbuildlink +++ b/pkgtools/createbuildlink/files/createbuildlink @@ -1,6 +1,6 @@ #!/bin/sh # -# $NetBSD: createbuildlink,v 1.6 2002/05/11 11:52:06 rh Exp $ +# $NetBSD: createbuildlink,v 1.7 2002/09/06 00:36:14 rh Exp $ # # Copyright (c) 2002 The NetBSD Foundation, Inc. # All rights reserved. @@ -36,10 +36,10 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# Create an initial buildlink.mk from a package's Makefile and PLIST +# Create an initial buildlink2.mk from a package's Makefile and PLIST # -REV=`echo '$Revision: 1.6 $' | sed 's/\\$//g'` +REV=`echo '$Revision: 1.7 $' | sed 's/\\$//g'` tmpdir=/tmp makefile=Makefile sedrules=$tmpdir/sedrules.buildlink.$$ @@ -49,14 +49,14 @@ PLIST=PLIST ## some simple integrity checking ## if [ ! -f $makefile ]; then - echo "===> Incomplete package! To create a buildlink.mk <===" - echo "===> a working $makefile is required! <===" + echo "===> Incomplete package! To create a buildlink2.mk <===" + echo "===> a working $makefile is required! <===" exit 1 fi if [ ! -f "$PLIST" ]; then - echo "===> Incomplete package! To create a buildlink.mk <===" - echo "===> a working PLIST is required! <===" + echo "===> Incomplete package! To create a buildlink2.mk <===" + echo "===> a working PLIST is required! <===" exit 1 fi @@ -105,23 +105,13 @@ sed -f $sedrules <<EOF # # This file was created automatically using createbuildlink @PKGVERSION@. # -# To use this Makefile fragment, simply: -# -# (1) Optionally define BUILDLINK_DEPENDS.$PKGNOVER to the dependency pattern -# for the version of $PKGNOVER desired. -# (2) Include this Makefile fragment in the package Makefile, -# (3) Add \${BUILDLINK_DIR}/include to the front of the C preprocessor's header -# search path, and -# (4) Add \${BUILDLINK_DIR}/lib to the front of the linker's library search -# path. - -.if !defined(${PKGUPPER}_BUILDLINK_MK) -${PKGUPPER}_BUILDLINK_MK= # defined -.include "../../mk/bsd.buildlink.mk" +.if !defined(${PKGUPPER}_BUILDLINK2_MK) +${PKGUPPER}_BUILDLINK2_MK= # defined +BUILDLINK_PACKAGES+= $PKGNOVER BUILDLINK_DEPENDS.$PKGNOVER?= $PKGNOVER>=$PKGVER -DEPENDS+= \${BUILDLINK_DEPENDS.$PKGNOVER}:../../$CURDIR +BUILDLINK_PKGSRCDIR.$PKGNOVER?= ../../$CURDIR EVAL_PREFIX+= BUILDLINK_PREFIX.$PKGNOVER=$PKGNOVER BUILDLINK_PREFIX.${PKGNOVER}_DEFAULT= \${$PREFIX} @@ -148,109 +138,22 @@ echo "" ## buildlinked dependencies ## for i in $makefile $commons ; do - [ ! -f $i ] || grep '^.include.*\.\.\/.*\/.*/buildlink.mk\"' $i + [ ! -f $i ] || grep '^.include.*\.\.\/.*\/.*/buildlink2.mk\"' $i done ## -## check for pkgconfig style config files -## -pkgconfigs=`grep "^lib/pkgconfig/.*.pc" $PLIST` -inplist=`grep "^.include.*devel/pkgconfig/buildlink.mk" $makefile $commons` -[ -z "$pkgconfigs" -o -n "$inplist" ] || echo ".include \"../../devel/pkgconfig/buildlink.mk\"" - -## ## main buildlink target for this package ## echo "" -echo "BUILDLINK_TARGETS.$PKGNOVER= ${PKGNOVER}-buildlink" - -## -## config wrappers for the buildlink directories -## -configs=`grep 'bin/.*-config$' $PLIST` - -for i in $configs ; do - cfg=`echo $i | sed 's|.*/||'` - blc=`echo $cfg | sed 's|\(.*\)-config|\1-buildlink-config|'` - echo "BUILDLINK_TARGETS.$PKGNOVER+= $PKGNOVER-$blc-wrapper" -done - -echo "BUILDLINK_TARGETS+= \${BUILDLINK_TARGETS.$PKGNOVER}" -[ -z "$pkgconfigs" ] || \ -echo "BUILDLINK_TARGETS+= \${BUILDLINK_PKG_CONFIG}" -echo "" - -for i in $configs ; do - cfg=`echo $i | sed 's|.*/||'` - ctg=`echo $cfg | sed 's|\(.*\)-config|\1|'` - echo "BUILDLINK_CONFIG.$PKGNOVER-$ctg= \\" - echo " \${BUILDLINK_PREFIX.$PKGNOVER}/$i" - echo "BUILDLINK_CONFIG_WRAPPER.$PKGNOVER-$ctg= \\" - echo " \${BUILDLINK_DIR}/$i" - echo "REPLACE_BUILDLINK_SED+= \\" - echo " -e \"s|\${BUILDLINK_CONFIG_WRAPPER.$PKGNOVER-$ctg}|\${BUILDLINK_CONFIG.$PKGNOVER-$ctg}|g\"" - echo "" -done - -## -## config wrappers for include and library directories -## -if [ -n "$configs" ]; then - for i in `grep "^include/[^/]*/.*\.h" $PLIST | \ - sed -e 's|/[^/]*\.h$||' | sort | uniq`; do - dir=$i - while [ "$dir" != "include" ] ; do - echo "BUILDLINK_CONFIG_WRAPPER_SED+= \\" - echo " -e \"s|-I[ ]*\${BUILDLINK_PREFIX.$PKGNOVER}/$dir|-I\${BUILDLINK_DIR}/$dir|g\"" - echo "REPLACE_BUILDLINK_SED+= \\" - echo " -e \"s|-I\${BUILDLINK_DIR}/$dir|-I\${BUILDLINK_PREFIX.$PKGNOVER}/$dir|g\"" - dir=`echo $dir | sed 's|/[^/]*$||'` - done - done - - for i in `grep "^lib/.*\.a$" $PLIST | \ - sed -e 's|/[^/]*\.a$||' | sort | uniq`; do - dir=$i - while [ "$dir" != "lib" ] ; do - echo "BUILDLINK_CONFIG_WRAPPER_SED+= \\" - echo " -e \"s|-L[ ]*\${BUILDLINK_PREFIX.$PKGNOVER}/$dir|-L\${BUILDLINK_DIR}/$dir|g\"" - echo "REPLACE_BUILDLINK_SED+= \\" - echo " -e \"s|-L\${BUILDLINK_DIR}/$dir|-L\${BUILDLINK_PREFIX.$PKGNOVER}/$dir|g\"" - dir=`echo $dir | sed 's|/[^/]*$||'` - done - done - echo "" -fi - -## -## environment variables to help dependent packages find config scripts -## -if [ -n "$configs" ]; then - echo '.if defined(USE_CONFIG_WRAPPER)' - for i in $configs ; do - cfg=`echo $i | sed 's|.*/||'` - CFG=`echo $cfg | tr '[:lower:]' '[:upper:]' | tr - _` - ctg=`echo $cfg | sed 's|\(.*\)-config|\1|'` - echo "${PKGUPPER}_${CFG}?= \${BUILDLINK_CONFIG_WRAPPER.$PKGNOVER-$ctg}" - echo "CONFIGURE_ENV+= ${PKGUPPER}_${CFG}=\"\${${PKGUPPER}_${CFG}}\"" - echo "MAKE_ENV+= ${PKGUPPER}_${CFG}=\"\${${PKGUPPER}_${CFG}}\"" - done - echo ".endif" - echo "" -fi +echo "BUILDLINK_TARGETS+= ${PKGNOVER}-buildlink" ## ## buildlink targets for this package ## -echo "pre-configure: \${BUILDLINK_TARGETS}" +echo "" echo "${PKGNOVER}-buildlink: _BUILDLINK_USE" -for i in $configs ; do - cfg=`echo $i | sed 's|.*/||'` - blc=`echo $cfg | sed 's|\(.*\)-config|\1-buildlink-config|'` - echo "$PKGNOVER-$blc-wrapper: _BUILDLINK_CONFIG_WRAPPER_USE" -done echo "" -echo ".endif # ${PKGUPPER}_BUILDLINK_MK" +echo ".endif # ${PKGUPPER}_BUILDLINK2_MK" rm -f $sedrules diff --git a/pkgtools/createbuildlink/files/createbuildlink.8 b/pkgtools/createbuildlink/files/createbuildlink.8 index e5e72f559ea..a4e6d2440c6 100644 --- a/pkgtools/createbuildlink/files/createbuildlink.8 +++ b/pkgtools/createbuildlink/files/createbuildlink.8 @@ -1,4 +1,4 @@ -.\" $NetBSD: createbuildlink.8,v 1.2 2002/04/29 11:12:35 wiz Exp $ +.\" $NetBSD: createbuildlink.8,v 1.3 2002/09/06 00:36:14 rh Exp $ .\" .\" Copyright (c) 2002 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -34,12 +34,12 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 29, 2002 +.Dd September 6, 2002 .Dt CREATEBUILDLINK 8 .Os .Sh NAME .Nm createbuildlink -.Nd automatic NetBSD buildlink.mk generator +.Nd automatic NetBSD buildlink2.mk generator .Sh SYNOPSIS .Nm .Sh DESCRIPTION @@ -50,13 +50,13 @@ and .Pa PLIST of a package and creates an initial -.Pa buildlink.mk +.Pa buildlink2.mk file on stdout. .Pp While .Nm is supposed to help starting create a -.Pa buildlink.mk +.Pa buildlink2.mk for a package, it is not intended to fly on autopilot. That means that while the script makes some simplistic attempts to interpret some elements of the @@ -70,12 +70,12 @@ package directory without some scrutiny. Using .Nm helps maneuver through the initial process of creating a -.Pa buildlink.mk +.Pa buildlink2.mk file for a package to be included by depending packages. Using .Nm is less error-prone than copying an existing -.Pa buildlink.mk +.Pa buildlink2.mk as a template and renaming the entries in there. .Sh SEE ALSO .Xr packages 7 , @@ -84,6 +84,3 @@ as a template and renaming the entries in there. .Nm was written by .An Rene Hexel Aq rh@netbsd.org . -.Sh BUGS -.Nm -is in its very early stages. Use with caution! diff --git a/pkgtools/createbuildlink/files/createbuildlink1 b/pkgtools/createbuildlink/files/createbuildlink1 new file mode 100755 index 00000000000..7b41cb1c5cd --- /dev/null +++ b/pkgtools/createbuildlink/files/createbuildlink1 @@ -0,0 +1,256 @@ +#!/bin/sh +# +# $NetBSD: createbuildlink1,v 1.1 2002/09/06 00:36:15 rh Exp $ +# +# Copyright (c) 2002 The NetBSD Foundation, Inc. +# All rights reserved. +# +# This code is derived from software contributed to The NetBSD Foundation +# by Rene Hexel. +# +# 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. +# +# Create an initial buildlink.mk from a package's Makefile and PLIST +# + +REV=`echo '$Revision: 1.1 $' | sed 's/\\$//g'` +tmpdir=/tmp +makefile=Makefile +sedrules=$tmpdir/sedrules.buildlink.$$ +PLIST=PLIST + +## +## some simple integrity checking +## +if [ ! -f $makefile ]; then + echo "===> Incomplete package! To create a buildlink.mk <===" + echo "===> a working $makefile is required! <===" + exit 1 +fi + +if [ ! -f "$PLIST" ]; then + echo "===> Incomplete package! To create a buildlink.mk <===" + echo "===> a working PLIST is required! <===" + exit 1 +fi + +## +## try to find any included Makefile.common's +## +commons=`grep '^.include.*Makefile.common\"' $makefile | \ + sed 's/^.*"\(.*\)".*/\1/'` + +## +## package specific variables +## +CURDIR=`pwd | sed 's|^.*/\([^/]*/[^/]*\)$|\1|'` +PKGNAME=`make show-var VARNAME=PKGNAME` +PKGVER=`echo $PKGNAME | sed -e 's/^.*-//'` +PKGNOVER=`echo $PKGNAME | sed -e 's/-[^-]*$//'` +PKGUPPER=`echo $PKGNOVER | tr '[:lower:]' '[:upper:]' | tr - _` +PREFIX=X11PREFIX +USE_X11BASE=`make show-var VARNAME=USE_X11BASE` +if [ -z "$USE_X11BASE" ]; then + if ! grep -q "^USE_X11BASE" $makefile $commons ; then + PREFIX=LOCALBASE + fi +fi + +## +## create sed rules +## +echo >$sedrules "s|@@CURDIR@@|$CURDIR|g" +echo >>$sedrules "s|@@ID@@|\$NetBSD\$|g" +echo >>$sedrules "s|@@PKGNAME@@|$PKGNAME|g" +echo >>$sedrules "s|@@PKGNOVER@@|$PKGNOVER|g" +echo >>$sedrules "s|@@PKGUPPER@@|$PKGUPPER|g" +echo >>$sedrules "s|@@PKGVER@@|$PKGVER|g" +echo >>$sedrules "s|@@PREFIX@@|$PREFIX|g" +echo >>$sedrules "s|@@REV@@|$REV|g" +echo >>$sedrules "s|@@PKGVERSION@@|@PKGVERSION@|g" + +# +# buildlink header +# +sed -f $sedrules <<EOF +# @@ID@@ +# +# This Makefile fragment is included by packages that use $PKGNOVER. +# +# This file was created automatically using createbuildlink @PKGVERSION@. +# +# To use this Makefile fragment, simply: +# +# (1) Optionally define BUILDLINK_DEPENDS.$PKGNOVER to the dependency pattern +# for the version of $PKGNOVER desired. +# (2) Include this Makefile fragment in the package Makefile, +# (3) Add \${BUILDLINK_DIR}/include to the front of the C preprocessor's header +# search path, and +# (4) Add \${BUILDLINK_DIR}/lib to the front of the linker's library search +# path. + +.if !defined(${PKGUPPER}_BUILDLINK_MK) +${PKGUPPER}_BUILDLINK_MK= # defined + +.include "../../mk/bsd.buildlink.mk" + +BUILDLINK_DEPENDS.$PKGNOVER?= $PKGNOVER>=$PKGVER +DEPENDS+= \${BUILDLINK_DEPENDS.$PKGNOVER}:../../$CURDIR + +EVAL_PREFIX+= BUILDLINK_PREFIX.$PKGNOVER=$PKGNOVER +BUILDLINK_PREFIX.${PKGNOVER}_DEFAULT= \${$PREFIX} +EOF + +## +## buildlinked includes +## +for i in `grep "^include/" $PLIST`; do + echo "BUILDLINK_FILES.$PKGNOVER+= $i" +done + +## +## buildlinked libraries +## +for i in `grep "^lib/" $PLIST | \ +sed -e 's/\.a$/.*/' -e 's/\.la$/.*/' -e 's/\.so.*$/.*/' | sort | uniq`; do + echo "BUILDLINK_FILES.$PKGNOVER+= $i" +done + +echo "" + +## +## buildlinked dependencies +## +for i in $makefile $commons ; do + [ ! -f $i ] || grep '^.include.*\.\.\/.*\/.*/buildlink.mk\"' $i +done + +## +## check for pkgconfig style config files +## +pkgconfigs=`grep "^lib/pkgconfig/.*.pc" $PLIST` +inplist=`grep "^.include.*devel/pkgconfig/buildlink.mk" $makefile $commons` +[ -z "$pkgconfigs" -o -n "$inplist" ] || echo ".include \"../../devel/pkgconfig/buildlink.mk\"" + +## +## main buildlink target for this package +## +echo "" +echo "BUILDLINK_TARGETS.$PKGNOVER= ${PKGNOVER}-buildlink" + +## +## config wrappers for the buildlink directories +## +configs=`grep 'bin/.*-config$' $PLIST` + +for i in $configs ; do + cfg=`echo $i | sed 's|.*/||'` + blc=`echo $cfg | sed 's|\(.*\)-config|\1-buildlink-config|'` + echo "BUILDLINK_TARGETS.$PKGNOVER+= $PKGNOVER-$blc-wrapper" +done + +echo "BUILDLINK_TARGETS+= \${BUILDLINK_TARGETS.$PKGNOVER}" +[ -z "$pkgconfigs" ] || \ +echo "BUILDLINK_TARGETS+= \${BUILDLINK_PKG_CONFIG}" +echo "" + +for i in $configs ; do + cfg=`echo $i | sed 's|.*/||'` + ctg=`echo $cfg | sed 's|\(.*\)-config|\1|'` + echo "BUILDLINK_CONFIG.$PKGNOVER-$ctg= \\" + echo " \${BUILDLINK_PREFIX.$PKGNOVER}/$i" + echo "BUILDLINK_CONFIG_WRAPPER.$PKGNOVER-$ctg= \\" + echo " \${BUILDLINK_DIR}/$i" + echo "REPLACE_BUILDLINK_SED+= \\" + echo " -e \"s|\${BUILDLINK_CONFIG_WRAPPER.$PKGNOVER-$ctg}|\${BUILDLINK_CONFIG.$PKGNOVER-$ctg}|g\"" + echo "" +done + +## +## config wrappers for include and library directories +## +if [ -n "$configs" ]; then + for i in `grep "^include/[^/]*/.*\.h" $PLIST | \ + sed -e 's|/[^/]*\.h$||' | sort | uniq`; do + dir=$i + while [ "$dir" != "include" ] ; do + echo "BUILDLINK_CONFIG_WRAPPER_SED+= \\" + echo " -e \"s|-I[ ]*\${BUILDLINK_PREFIX.$PKGNOVER}/$dir|-I\${BUILDLINK_DIR}/$dir|g\"" + echo "REPLACE_BUILDLINK_SED+= \\" + echo " -e \"s|-I\${BUILDLINK_DIR}/$dir|-I\${BUILDLINK_PREFIX.$PKGNOVER}/$dir|g\"" + dir=`echo $dir | sed 's|/[^/]*$||'` + done + done + + for i in `grep "^lib/.*\.a$" $PLIST | \ + sed -e 's|/[^/]*\.a$||' | sort | uniq`; do + dir=$i + while [ "$dir" != "lib" ] ; do + echo "BUILDLINK_CONFIG_WRAPPER_SED+= \\" + echo " -e \"s|-L[ ]*\${BUILDLINK_PREFIX.$PKGNOVER}/$dir|-L\${BUILDLINK_DIR}/$dir|g\"" + echo "REPLACE_BUILDLINK_SED+= \\" + echo " -e \"s|-L\${BUILDLINK_DIR}/$dir|-L\${BUILDLINK_PREFIX.$PKGNOVER}/$dir|g\"" + dir=`echo $dir | sed 's|/[^/]*$||'` + done + done + echo "" +fi + +## +## environment variables to help dependent packages find config scripts +## +if [ -n "$configs" ]; then + echo '.if defined(USE_CONFIG_WRAPPER)' + for i in $configs ; do + cfg=`echo $i | sed 's|.*/||'` + CFG=`echo $cfg | tr '[:lower:]' '[:upper:]' | tr - _` + ctg=`echo $cfg | sed 's|\(.*\)-config|\1|'` + echo "${PKGUPPER}_${CFG}?= \${BUILDLINK_CONFIG_WRAPPER.$PKGNOVER-$ctg}" + echo "CONFIGURE_ENV+= ${PKGUPPER}_${CFG}=\"\${${PKGUPPER}_${CFG}}\"" + echo "MAKE_ENV+= ${PKGUPPER}_${CFG}=\"\${${PKGUPPER}_${CFG}}\"" + done + echo ".endif" + echo "" +fi + +## +## buildlink targets for this package +## +echo "pre-configure: \${BUILDLINK_TARGETS}" +echo "${PKGNOVER}-buildlink: _BUILDLINK_USE" +for i in $configs ; do + cfg=`echo $i | sed 's|.*/||'` + blc=`echo $cfg | sed 's|\(.*\)-config|\1-buildlink-config|'` + echo "$PKGNOVER-$blc-wrapper: _BUILDLINK_CONFIG_WRAPPER_USE" +done + +echo "" +echo ".endif # ${PKGUPPER}_BUILDLINK_MK" + +rm -f $sedrules |