summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/bsd.pkg.mk3
-rw-r--r--mk/bsd.pkg.readme.mk4
-rw-r--r--mk/bsd.pkg.use.mk17
-rw-r--r--mk/bsd.utils.mk6
-rw-r--r--mk/check/check-perms.mk6
-rw-r--r--mk/compiler/ccache.mk4
-rw-r--r--mk/compiler/clang.mk4
-rw-r--r--mk/compiler/distcc.mk4
-rw-r--r--mk/compiler/f2c.mk8
-rw-r--r--mk/compiler/pcc.mk4
-rw-r--r--mk/depends/bsd.depends.mk4
-rw-r--r--mk/emulator/pkg-rpm.mk4
-rw-r--r--mk/pkgformat/pkg/deinstall.mk3
-rw-r--r--mk/pkgformat/pkg/depends.mk63
-rwxr-xr-xmk/pkgformat/pkg/list-dependencies9
-rw-r--r--mk/pkgformat/pkg/pkgformat-vars.mk17
-rw-r--r--mk/pkgformat/pkg/reduce-resolved-depends.awk46
-rwxr-xr-xmk/pkgformat/pkg/resolve-dependencies9
-rwxr-xr-xmk/scripts/genindex.awk3
-rwxr-xr-xmk/scripts/genreadme.awk4
-rw-r--r--mk/tools/autoconf.mk6
-rw-r--r--mk/tools/automake.mk8
-rw-r--r--mk/tools/intltool.mk4
-rw-r--r--mk/tools/replace.mk18
24 files changed, 185 insertions, 73 deletions
diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk
index f7b3df8c94d..8160c51ae49 100644
--- a/mk/bsd.pkg.mk
+++ b/mk/bsd.pkg.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkg.mk,v 1.1988 2013/04/25 12:58:08 obache Exp $
+# $NetBSD: bsd.pkg.mk,v 1.1989 2013/05/09 23:37:25 riastradh Exp $
#
# This file is in the public domain.
#
@@ -96,6 +96,7 @@ MAINTAINER?= pkgsrc-users@NetBSD.org
.endif
PKGWILDCARD?= ${PKGBASE}-[0-9]*
SVR4_PKGNAME?= ${PKGNAME}
+TOOL_DEPENDS?= # empty
WRKSRC?= ${WRKDIR}/${DISTNAME}
# Override for SU_CMD user check
diff --git a/mk/bsd.pkg.readme.mk b/mk/bsd.pkg.readme.mk
index c354b39bc39..0d0eb4e4387 100644
--- a/mk/bsd.pkg.readme.mk
+++ b/mk/bsd.pkg.readme.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkg.readme.mk,v 1.25 2011/09/08 20:17:15 abs Exp $
+# $NetBSD: bsd.pkg.readme.mk,v 1.26 2013/05/09 23:37:25 riastradh Exp $
#
# This Makefile fragment is included by bsd.pkg.mk and encapsulates the
# code to produce README.html files in each package directory.
@@ -153,6 +153,8 @@ binpkg-list:
# description-file|maintainer|categories|build deps|run deps|for arch| \
# not for opsys
#
+# XXX Need to handle BUILD_DEPENDS/TOOL_DEPENDS split.
+#
.PHONY: describe
.if !target(describe)
describe:
diff --git a/mk/bsd.pkg.use.mk b/mk/bsd.pkg.use.mk
index 1d6da873b75..8b3cf9fe36f 100644
--- a/mk/bsd.pkg.use.mk
+++ b/mk/bsd.pkg.use.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.pkg.use.mk,v 1.52 2013/05/09 13:53:48 joerg Exp $
+# $NetBSD: bsd.pkg.use.mk,v 1.53 2013/05/09 23:37:25 riastradh Exp $
#
# Turn USE_* macros into proper depedency logic. Included near the top of
# bsd.pkg.mk, after bsd.prefs.mk.
@@ -91,6 +91,10 @@ BUILD_DEFS+= KERBEROS
# Makefiles to invoke the proper libtool.
#
.if !empty(USE_LANGUAGES:Mfortran) || !empty(USE_LANGUAGES:Mfortran77)
+. if !empty(USE_CROSS_COMPILE:M[yY][eE][sS]) # XXX
+PKG_FAIL_REASON+= "Cross-compiling Fortran with libtool NYI."
+. endif
+
PKG_LIBTOOL?= ${LOCALBASE}/bin/libtool-fortran
PKG_SHLIBTOOL?= ${LOCALBASE}/bin/shlibtool-fortran
@@ -98,8 +102,13 @@ PKG_SHLIBTOOL?= ${LOCALBASE}/bin/shlibtool-fortran
BUILD_DEPENDS+= libtool-fortran>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../devel/libtool-fortran
. endif
.else
+. if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
+PKG_LIBTOOL?= ${CROSSBASE}/bin/libtool
+PKG_SHLIBTOOL?= ${CROSSBASE}/bin/shlibtool
+. else
PKG_LIBTOOL?= ${LOCALBASE}/bin/libtool
PKG_SHLIBTOOL?= ${LOCALBASE}/bin/shlibtool
+. endif
.endif
_LIBTOOL?= ${PKG_LIBTOOL}
_SHLIBTOOL?= ${PKG_SHLIBTOOL}
@@ -107,7 +116,11 @@ LIBTOOL?= ${PKG_LIBTOOL}
SHLIBTOOL?= ${PKG_SHLIBTOOL}
.if defined(USE_LIBTOOL)
LIBTOOL_REQD?= 2.2.6bnb3
-BUILD_DEPENDS+= libtool-base>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../devel/libtool-base
+.if !empty(USE_CROSS_COMPILE:M[yY][eE][sS])
+TOOL_DEPENDS+= cross-libtool-base-${MACHINE_ARCH}>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../cross/libtool-base
+.else
+TOOL_DEPENDS+= libtool-base>=${_OPSYS_LIBTOOL_REQD:U${LIBTOOL_REQD}}:../../devel/libtool-base
+.endif
CONFIGURE_ENV+= LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
MAKE_ENV+= LIBTOOL="${LIBTOOL} ${LIBTOOL_FLAGS}"
.endif
diff --git a/mk/bsd.utils.mk b/mk/bsd.utils.mk
index 0b509d4273b..0ef2240d975 100644
--- a/mk/bsd.utils.mk
+++ b/mk/bsd.utils.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.utils.mk,v 1.9 2011/09/08 20:17:15 abs Exp $
+# $NetBSD: bsd.utils.mk,v 1.10 2013/05/09 23:37:25 riastradh Exp $
#
# This Makefile fragment is included by bsd.pkg.mk and defines utility
# and otherwise miscellaneous variables and targets.
@@ -10,7 +10,7 @@
#
DEPENDS_TYPE?= all
.if !empty(DEPENDS_TYPE:Mbuild) || !empty(DEPENDS_TYPE:Mall)
-_ALL_DEPENDS+= ${BOOTSTRAP_DEPENDS} ${BUILD_DEPENDS}
+_ALL_DEPENDS+= ${BOOTSTRAP_DEPENDS} ${BUILD_DEPENDS} ${TOOL_DEPENDS}
.endif
.if !empty(DEPENDS_TYPE:Minstall) || !empty(DEPENDS_TYPE:Mpackage) || \
!empty(DEPENDS_TYPE:Mall)
@@ -32,6 +32,8 @@ show-depends-dirs show-depends-pkgpaths:
# _DEPENDS_WALK_CMD holds the command (sans arguments) to walk the
# dependency graph for a package.
#
+# XXX Need to handle TOOL_DEPENDS/BUILD_DEPENDS split and cross-compilation.
+#
_DEPENDS_WALK_MAKEFLAGS?= ${MAKEFLAGS}
_DEPENDS_WALK_CMD= \
${PKGSRC_SETENV} ECHO=${TOOLS_ECHO:Q} MAKE=${MAKE:Q} \
diff --git a/mk/check/check-perms.mk b/mk/check/check-perms.mk
index 53394611cd8..e1802c28afe 100644
--- a/mk/check/check-perms.mk
+++ b/mk/check/check-perms.mk
@@ -1,4 +1,4 @@
-# $NetBSD: check-perms.mk,v 1.13 2010/08/24 19:08:29 bad Exp $
+# $NetBSD: check-perms.mk,v 1.14 2013/05/09 23:37:25 riastradh Exp $
#
# This file checks that after installation of a package, all files and
# directories of that package have sensible permissions set.
@@ -55,7 +55,7 @@ _CHECK_PERMS_FLAGS= -c
.endif
.if !empty(CHECK_PERMS:M[Yy][Ee][Ss])
-BUILD_DEPENDS+= checkperms>=1.1:../../sysutils/checkperms
+TOOL_DEPENDS+= checkperms>=1.1:../../sysutils/checkperms
privileged-install-hook: _check-perms
.endif
@@ -75,7 +75,7 @@ _CHECK_PERMS_GETDIRS_AWK= \
_check-perms: .PHONY
@${STEP_MSG} "Checking file permissions in ${PKGNAME}"
- ${RUN} ${PKG_INFO} -qe "checkperms>=1.1" \
+ ${RUN} ${HOST_PKG_INFO} -qe "checkperms>=1.1" \
|| { \
${WARNING_MSG} "[check-perms.mk] Skipping file permissions check."; \
${WARNING_MSG} "[check-perms.mk] Install sysutils/checkperms to enable this check."; \
diff --git a/mk/compiler/ccache.mk b/mk/compiler/ccache.mk
index 91130eda2eb..4f8c586742d 100644
--- a/mk/compiler/ccache.mk
+++ b/mk/compiler/ccache.mk
@@ -1,4 +1,4 @@
-# $NetBSD: ccache.mk,v 1.33 2012/03/06 02:44:54 sbd Exp $
+# $NetBSD: ccache.mk,v 1.34 2013/05/09 23:37:25 riastradh Exp $
#
# Copyright (c) 2004 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -115,7 +115,7 @@ PREPEND_PATH+= ${_CCACHE_DIR}/bin
# Add the dependency on ccache.
. if ${CCACHE_BASE} == ${LOCALBASE}
-BUILD_DEPENDS+= ccache-[0-9]*:../../devel/ccache
+TOOL_DEPENDS+= ccache-[0-9]*:../../devel/ccache
. endif
# Override the compiler-specific hash with the version string for the
diff --git a/mk/compiler/clang.mk b/mk/compiler/clang.mk
index ae0c0aeff96..d3190533d61 100644
--- a/mk/compiler/clang.mk
+++ b/mk/compiler/clang.mk
@@ -1,4 +1,4 @@
-# $NetBSD: clang.mk,v 1.9 2013/05/09 14:01:08 joerg Exp $
+# $NetBSD: clang.mk,v 1.10 2013/05/09 23:37:26 riastradh Exp $
#
# This is the compiler definition for the clang compiler.
#
@@ -13,7 +13,7 @@ COMPILER_CLANG_MK= defined
# Add the dependency on clang
# TODO: may be installed already, check for this
-#BUILD_DEPENDS+= clang-[0-9]*:../../lang/clang
+#TOOL_DEPENDS+= clang-[0-9]*:../../lang/clang
.include "../../mk/bsd.prefs.mk"
diff --git a/mk/compiler/distcc.mk b/mk/compiler/distcc.mk
index e555cca243f..816cc6dd206 100644
--- a/mk/compiler/distcc.mk
+++ b/mk/compiler/distcc.mk
@@ -1,4 +1,4 @@
-# $NetBSD: distcc.mk,v 1.30 2008/02/07 20:59:05 rillig Exp $
+# $NetBSD: distcc.mk,v 1.31 2013/05/09 23:37:26 riastradh Exp $
#
# Copyright (c) 2004 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -93,7 +93,7 @@ PREPEND_PATH+= ${_DISTCC_DIR}/bin
. endif
# Add the dependency on distcc.
-BUILD_DEPENDS+= distcc-[0-9]*:../../devel/distcc
+TOOL_DEPENDS+= distcc-[0-9]*:../../devel/distcc
. if defined(DISTCC_HOSTS) && !empty(DISTCC_HOSTS)
PKGSRC_MAKE_ENV+= DISTCC_HOSTS=${DISTCC_HOSTS:Q}
diff --git a/mk/compiler/f2c.mk b/mk/compiler/f2c.mk
index 1a17b84a597..b793e5069f0 100644
--- a/mk/compiler/f2c.mk
+++ b/mk/compiler/f2c.mk
@@ -1,4 +1,4 @@
-# $NetBSD: f2c.mk,v 1.15 2010/07/30 07:58:59 asau Exp $
+# $NetBSD: f2c.mk,v 1.16 2013/05/09 23:37:26 riastradh Exp $
#
# Copyright (c) 2005 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -88,9 +88,9 @@ PREPEND_PATH+= ${_F2C_DIR}/bin
. endif
# Dependencies:
-BUILD_DEPENDS+= f2c>=20090411nb2:../../lang/f2c # translator
+TOOL_DEPENDS+= f2c>=20090411nb2:../../lang/f2c # translator
-.if empty(PKGPATH:Mdevel/libtool-base) # See below
+.if empty(PKGPATH:Mdevel/libtool-base) && empty(PKGPATH:Mcross/libtool-base) # See below
. include "../../devel/libf2c/buildlink3.mk" # library
.endif
@@ -99,7 +99,7 @@ PKGSRC_MAKE_ENV+= F2C_DIR=${F2C_DIR:Q}
. endif
# libtool-base is special as it only needs f77 to extract linker flags etc.
-.if !empty(PKGPATH:Mdevel/libtool-base)
+.if !empty(PKGPATH:Mdevel/libtool-base) || !empty(PKGPATH:Mcross/libtool-base)
pre-configure: fake-f2c-libs
_WRAP_EXTRA_ARGS.FC+= -L${WRKDIR}/.f2c/lib -I${WRKDIR}/.f2c/include
diff --git a/mk/compiler/pcc.mk b/mk/compiler/pcc.mk
index 3ae7d32b3bb..010bfff3bbd 100644
--- a/mk/compiler/pcc.mk
+++ b/mk/compiler/pcc.mk
@@ -1,4 +1,4 @@
-# $NetBSD: pcc.mk,v 1.5 2010/12/26 14:23:47 asau Exp $
+# $NetBSD: pcc.mk,v 1.6 2013/05/09 23:37:26 riastradh Exp $
#
# This is the compiler definition for the PCC compiler.
#
@@ -14,7 +14,7 @@ COMPILER_PCC_MK= defined
# Add the dependency on pcc
# NOTE: not enabled by default as may be installed already
# TODO: check for this?
-#BUILD_DEPENDS+= pcc-[0-9]*:../../lang/pcc
+#TOOL_DEPENDS+= pcc-[0-9]*:../../lang/pcc
.include "../../mk/bsd.prefs.mk"
diff --git a/mk/depends/bsd.depends.mk b/mk/depends/bsd.depends.mk
index 6ca4604ba59..7977ead843d 100644
--- a/mk/depends/bsd.depends.mk
+++ b/mk/depends/bsd.depends.mk
@@ -1,4 +1,4 @@
-# $NetBSD: bsd.depends.mk,v 1.23 2012/10/01 09:54:18 bad Exp $
+# $NetBSD: bsd.depends.mk,v 1.24 2013/05/09 23:37:26 riastradh Exp $
#
# This Makefile fragment is included by bsd.pkg.mk and provides all
# variables and targets related to dependencies.
@@ -109,6 +109,6 @@ depends-cookie:
# Command line variables:
#
# VARNAME
-# Either DEPENDS or BUILD_DEPENDS.
+# DEPENDS, BUILD_DEPENDS, or TOOL_DEPENDS.
#
show-depends: .PHONY _pkgformat-show-depends
diff --git a/mk/emulator/pkg-rpm.mk b/mk/emulator/pkg-rpm.mk
index ae004620b9a..e3d0739ee5a 100644
--- a/mk/emulator/pkg-rpm.mk
+++ b/mk/emulator/pkg-rpm.mk
@@ -1,4 +1,4 @@
-# $NetBSD: pkg-rpm.mk,v 1.4 2010/09/07 17:33:40 tron Exp $
+# $NetBSD: pkg-rpm.mk,v 1.5 2013/05/09 23:37:26 riastradh Exp $
#
# RPM package format
#
@@ -56,7 +56,7 @@
# files listed in RPMFILES.
#
-BUILD_DEPENDS+= rpm2pkg>=3.1.4:../../pkgtools/rpm2pkg
+TOOL_DEPENDS+= rpm2pkg>=3.1.4:../../pkgtools/rpm2pkg
EVAL_PREFIX+= _RPM2PKG_PREFIX=rpm2pkg
RPM2PKG= ${_RPM2PKG_PREFIX}/sbin/rpm2pkg
diff --git a/mk/pkgformat/pkg/deinstall.mk b/mk/pkgformat/pkg/deinstall.mk
index 5928a41ac5b..e34a8b3a330 100644
--- a/mk/pkgformat/pkg/deinstall.mk
+++ b/mk/pkgformat/pkg/deinstall.mk
@@ -1,4 +1,4 @@
-# $NetBSD: deinstall.mk,v 1.1 2011/10/15 00:23:09 reed Exp $
+# $NetBSD: deinstall.mk,v 1.2 2013/05/09 23:37:26 riastradh Exp $
# Set the appropriate flags to pass to pkg_delete(1) based on the value
# of DEINSTALLDEPENDS (see pkgsrc/mk/install/deinstall.mk).
@@ -46,6 +46,7 @@ _pkgformat-deinstall: .PHONY
${PKG_DELETE} ${_PKG_ARGS_DEINSTALL} "$$found" || ${TRUE} ; \
fi
.if defined(DEINSTALLDEPENDS) && !empty(DEINSTALLDEPENDS:M[yY][eE][sS])
+# XXX Need to handle BUILD_DEPENDS/TOOL_DEPENDS split.
. for _pkg_ in ${BUILD_DEPENDS:C/:.*$//}
${RUN} \
found=`${_PKG_BEST_EXISTS} ${_pkg_:Q} || ${TRUE}`; \
diff --git a/mk/pkgformat/pkg/depends.mk b/mk/pkgformat/pkg/depends.mk
index d5ebf1174ed..c85ef5054e8 100644
--- a/mk/pkgformat/pkg/depends.mk
+++ b/mk/pkgformat/pkg/depends.mk
@@ -1,4 +1,4 @@
-# $NetBSD: depends.mk,v 1.2 2012/07/02 14:53:13 joerg Exp $
+# $NetBSD: depends.mk,v 1.3 2013/05/09 23:37:26 riastradh Exp $
# This command prints out the dependency patterns for all full (run-time)
# dependencies of the package.
@@ -33,18 +33,26 @@ _FULL_DEPENDS_CMD= \
${AWK} '$$1 == "full" { print $$3; }' < ${_RDEPENDS_FILE}
_REDUCE_DEPENDS_CMD= ${PKGSRC_SETENV} CAT=${CAT:Q} \
- PKG_ADMIN=${PKG_ADMIN_CMD:Q} \
+ PKG_ADMIN=${PKG_ADMIN:Q} \
+ PWD_CMD=${PWD_CMD:Q} TEST=${TEST:Q} \
+ ${AWK} -f ${PKGSRCDIR}/mk/pkgformat/pkg/reduce-depends.awk
+
+_HOST_REDUCE_DEPENDS_CMD= \
+ ${PKGSRC_SETENV} CAT=${CAT:Q} \
+ PKG_ADMIN=${HOST_PKG_ADMIN:Q} \
PWD_CMD=${PWD_CMD:Q} TEST=${TEST:Q} \
${AWK} -f ${PKGSRCDIR}/mk/pkgformat/pkg/reduce-depends.awk
_REDUCE_RESOLVED_DEPENDS_CMD=${PKGSRC_SETENV} CAT=${CAT:Q} \
- PKG_INFO=${PKG_INFO_CMD:Q} \
+ PKG_INFO=${PKG_INFO:Q} \
+ HOST_PKG_INFO=${HOST_PKG_INFO:Q} \
${AWK} -f ${PKGSRCDIR}/mk/pkgformat/pkg/reduce-resolved-depends.awk \
< ${_RDEPENDS_FILE}
_pkgformat-show-depends: .PHONY
@case ${VARNAME:Q}"" in \
BUILD_DEPENDS) ${_REDUCE_DEPENDS_CMD} ${BUILD_DEPENDS:Q} ;; \
+ TOOL_DEPENDS) ${_HOST_REDUCE_DEPENDS_CMD} ${TOOL_DEPENDS:Q} ;;\
DEPENDS|*) ${_REDUCE_DEPENDS_CMD} ${DEPENDS:Q} ;; \
esac
@@ -53,6 +61,7 @@ _LIST_DEPENDS_CMD= \
PKGSRCDIR=${PKGSRCDIR:Q} PWD_CMD=${PWD_CMD:Q} SED=${SED:Q} \
${SH} ${PKGSRCDIR}/mk/pkgformat/pkg/list-dependencies \
" "${BOOTSTRAP_DEPENDS:Q} \
+ " "${TOOL_DEPENDS:Q} \
" "${BUILD_DEPENDS:Q} \
" "${DEPENDS:Q}
@@ -60,13 +69,15 @@ _LIST_DEPENDS_CMD.bootstrap= \
${PKGSRC_SETENV} AWK=${AWK:Q} PKG_ADMIN=${PKG_ADMIN:Q} \
PKGSRCDIR=${PKGSRCDIR:Q} PWD_CMD=${PWD_CMD:Q} SED=${SED:Q} \
${SH} ${PKGSRCDIR}/mk/pkgformat/pkg/list-dependencies \
- " "${BOOTSTRAP_DEPENDS:Q} " " " "
+ " "${BOOTSTRAP_DEPENDS:Q} " " " " " "
_RESOLVE_DEPENDS_CMD= \
${PKGSRC_SETENV} _PKG_DBDIR=${_PKG_DBDIR:Q} PKG_INFO=${PKG_INFO:Q} \
+ HOST_PKG_INFO=${HOST_PKG_INFO:Q} \
_DEPENDS_FILE=${_DEPENDS_FILE:Q} \
${SH} ${PKGSRCDIR}/mk/pkgformat/pkg/resolve-dependencies \
" "${BOOTSTRAP_DEPENDS:Q} \
+ " "${TOOL_DEPENDS:Q} \
" "${BUILD_DEPENDS:Q} \
" "${DEPENDS:Q}
@@ -76,12 +87,29 @@ _RESOLVE_DEPENDS_CMD= \
# @param $pattern The pattern of the package to be installed.
# @param $dir The pkgsrc directory from which the package can be
# built.
-# @param $type The dependency type. Can be one of bootstrap,
+# @param $type The dependency type. Can be one of bootstrap, tool,
# build, full.
#
_DEPENDS_INSTALL_CMD= \
- pkg=`${_PKG_BEST_EXISTS} "$$pattern" || ${TRUE}`; \
- case $$type in bootstrap) Type=Bootstrap;; build) Type=Build;; full) Type=Full;; esac; \
+ case $$type in bootstrap) Type=Bootstrap;; tool) Type=Tool;; build) Type=Build;; full) Type=Full;; esac; \
+ case $$type in \
+ bootstrap|tool) \
+ if expr "${USE_CROSS_COMPILE:Uno}" : '[yY][eE][sS]' >/dev/null; then \
+ extradep=""; \
+ else \
+ extradep=" ${PKGNAME}"; \
+ fi; \
+ cross=no; \
+ archopt=TARGET_ARCH=${MACHINE_ARCH}; \
+ pkg=`${_HOST_PKG_BEST_EXISTS} "$$pattern" || ${TRUE}`; \
+ ;; \
+ build|full) \
+ extradep=" ${PKGNAME}"; \
+ cross=${USE_CROSS_COMPILE:Uno}; \
+ archopt=; \
+ pkg=`${_PKG_BEST_EXISTS} "$$pattern" || ${TRUE}`; \
+ ;; \
+ esac; \
case "$$pkg" in \
"") \
${STEP_MSG} "$$Type dependency $$pattern: NOT found"; \
@@ -89,8 +117,18 @@ _DEPENDS_INSTALL_CMD= \
${STEP_MSG} "Verifying $$target for $$dir"; \
[ -d "$$dir" ] || ${FAIL_MSG} "[depends.mk] The directory \`\`$$dir'' does not exist."; \
cd $$dir; \
- ${PKGSRC_SETENV} ${PKGSRC_MAKE_ENV} _PKGSRC_DEPS=" ${PKGNAME}${_PKGSRC_DEPS}" PKGNAME_REQD="$$pattern" ${MAKE} ${MAKEFLAGS} _AUTOMATIC=yes $$target; \
- pkg=`${_PKG_BEST_EXISTS} "$$pattern" || ${TRUE}`; \
+ ${PKGSRC_SETENV} ${PKGSRC_MAKE_ENV} \
+ _PKGSRC_DEPS="$$extradep${_PKGSRC_DEPS}" \
+ PKGNAME_REQD="$$pattern" \
+ USE_CROSS_COMPILE=$$cross \
+ $$archopt \
+ ${MAKE} ${MAKEFLAGS} _AUTOMATIC=yes $$target; \
+ case $$type in \
+ bootstrap|tool) \
+ pkg=`${_HOST_PKG_BEST_EXISTS} "$$pattern" || ${TRUE}`;; \
+ build|full) \
+ pkg=`${_PKG_BEST_EXISTS} "$$pattern" || ${TRUE}`;; \
+ esac; \
case "$$pkg" in \
"") ${ERROR_MSG} "[depends.mk] A package matching \`\`$$pattern'' should"; \
${ERROR_MSG} " be installed, but one cannot be found. Perhaps there is a"; \
@@ -100,7 +138,12 @@ _DEPENDS_INSTALL_CMD= \
${STEP_MSG} "Returning to build of ${PKGNAME}"; \
;; \
*) \
- objfmt=`${PKG_INFO} -Q OBJECT_FMT "$$pkg"`; \
+ case $$type in \
+ bootstrap|tool) \
+ objfmt=`${HOST_PKG_INFO} -Q OBJECT_FMT "$$pkg"`;; \
+ build|full) \
+ objfmt=`${PKG_INFO} -Q OBJECT_FMT "$$pkg"`;; \
+ esac; \
case "$$objfmt" in \
"") ${WARNING_MSG} "[depends.mk] Unknown object format for installed package $$pkg" ;; \
${OBJECT_FMT}) ;; \
diff --git a/mk/pkgformat/pkg/list-dependencies b/mk/pkgformat/pkg/list-dependencies
index a7c6d9c37ae..81b926670f4 100755
--- a/mk/pkgformat/pkg/list-dependencies
+++ b/mk/pkgformat/pkg/list-dependencies
@@ -57,11 +57,12 @@ print_entries() {
done
}
-if [ $# != 3 ]; then
- echo "usage: list-dependencies bootstrap_depends build_depends depends" 1>&2
+if [ $# != 4 ]; then
+ echo "usage: list-dependencies bootstrap_depends tool_depends build_depends depends" 1>&2
exit 1
fi
print_entries bootstrap "$1"
-print_entries build "$2"
-print_entries full "$3"
+print_entries tool "$2"
+print_entries build "$3"
+print_entries full "$4"
diff --git a/mk/pkgformat/pkg/pkgformat-vars.mk b/mk/pkgformat/pkg/pkgformat-vars.mk
index 246dcc33d8d..8aa81ea6167 100644
--- a/mk/pkgformat/pkg/pkgformat-vars.mk
+++ b/mk/pkgformat/pkg/pkgformat-vars.mk
@@ -1,4 +1,4 @@
-# $NetBSD: pkgformat-vars.mk,v 1.2 2011/12/13 16:35:48 joerg Exp $
+# $NetBSD: pkgformat-vars.mk,v 1.3 2013/05/09 23:37:26 riastradh Exp $
#
# This Makefile fragment is included indirectly by bsd.prefs.mk and
# defines some variables which must be defined earlier than where
@@ -23,8 +23,10 @@ PKG_DBDIR?= /var/db/pkg
#
.if ${PKG_INSTALLATION_TYPE} == "overwrite"
_PKG_DBDIR= ${_CROSS_DESTDIR}${PKG_DBDIR}
+_HOST_PKG_DBDIR= ${HOST_PKG_DBDIR:U${PKG_DBDIR}}
.elif ${PKG_INSTALLATION_TYPE} == "pkgviews"
_PKG_DBDIR= ${_CROSS_DESTDIR}${DEPOTBASE}
+_HOST_PKG_DBDIR= ${HOST_DEPOTBASE:U${DEPOTBASE}}
.endif
PKG_ADD_CMD?= ${PKG_TOOLS_BIN}/pkg_add
@@ -67,12 +69,14 @@ _AUDIT_CONFIG_OPTION= IGNORE_URL
# correct package database directory.
#
PKGTOOLS_ARGS?= -K ${_PKG_DBDIR}
+HOST_PKGTOOLS_ARGS?= -K ${_HOST_PKG_DBDIR}
# Views are rooted in ${LOCALBASE}, all packages are depoted in
# ${DEPOTBASE}, and the package database directory for the default view
# is in ${PKG_DBDIR}.
#
-PKG_VIEW_ARGS?= -W ${LOCALBASE} -d ${DEPOTBASE} -k ${PKG_DBDIR}
+PKG_VIEW_ARGS?= -W ${LOCALBASE} -d ${DEPOTBASE} -k ${_CROSS_DESTDIR}${PKG_DBDIR}
+HOST_PKG_VIEW_ARGS?= -W ${LOCALBASE} -d ${DEPOTBASE} -k ${PKG_DBDIR}
PKG_ADD?= ${PKG_ADD_CMD} ${PKGTOOLS_ARGS}
PKG_ADMIN?= ${PKG_ADMIN_CMD} ${PKGTOOLS_ARGS}
@@ -82,12 +86,21 @@ PKG_INFO?= ${PKG_INFO_CMD} ${PKGTOOLS_ARGS}
PKG_VIEW?= ${PKG_VIEW_CMD} ${PKG_VIEW_ARGS}
LINKFARM?= ${LINKFARM_CMD}
+HOST_PKG_ADD?= ${PKG_ADD_CMD} ${HOST-PKGTOOLS_ARGS}
+HOST_PKG_ADMIN?= ${PKG_ADMIN_CMD} ${HOST_PKGTOOLS_ARGS}
+HOST_PKG_CREATE?= ${PKG_CREATE_CMD} ${HOST_PKGTOOLS_ARGS}
+HOST_PKG_DELETE?= ${PKG_DELETE_CMD} ${HOST_PKGTOOLS_ARGS}
+HOST_PKG_INFO?= ${PKG_INFO_CMD} ${HOST_PKGTOOLS_ARGS}
+HOST_PKG_VIEW?= ${PKG_VIEW_CMD} ${HOST_PKG_VIEW_ARGS}
+HOST_LINKFARM?= ${LINKFARM_CMD}
+
# "${_PKG_BEST_EXISTS} pkgpattern" prints out the name of the installed
# package that best matches pkgpattern. Use this instead of
# "${PKG_INFO} -e pkgpattern" if the latter would return more than one
# package name.
#
_PKG_BEST_EXISTS?= ${PKG_INFO} -E
+_HOST_PKG_BEST_EXISTS?= ${HOST_PKG_INFO} -E
# XXX Leave this here until all uses of this have been purged from the
# XXX public parts of pkgsrc.
diff --git a/mk/pkgformat/pkg/reduce-resolved-depends.awk b/mk/pkgformat/pkg/reduce-resolved-depends.awk
index 0e60a09344f..32ca12c41e6 100644
--- a/mk/pkgformat/pkg/reduce-resolved-depends.awk
+++ b/mk/pkgformat/pkg/reduce-resolved-depends.awk
@@ -1,6 +1,6 @@
#!/usr/bin/awk -f
#
-# $NetBSD: reduce-resolved-depends.awk,v 1.1 2012/07/02 14:53:13 joerg Exp $
+# $NetBSD: reduce-resolved-depends.awk,v 1.2 2013/05/09 23:37:26 riastradh Exp $
#
# Copyright (c) 2012 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -46,12 +46,14 @@
# ENVIRONMENT
# CAT
# PKG_INFO
+# HOST_PKG_INFO (for cross-compilation)
#
######################################################################
BEGIN {
CAT = ENVIRON["CAT"] ? ENVIRON["CAT"] : "cat"
PKG_INFO = ENVIRON["PKG_INFO"] ? ENVIRON["PKG_INFO"] : "pkg_info"
+ HOST_PKG_INFO = ENVIRON["HOST_PKG_INFO"] ? ENVIRON["HOST_PKG_INFO"] : "pkg_info"
PROGNAME = "reduce-resolved-depends.awk"
ERRCAT = CAT " 1>&2"
@@ -61,7 +63,10 @@ BEGIN {
print "ERROR: [" PROGNAME "] invalid dependency line " $0 | ERRCAT
exit 1
}
- if ($1 != "full" && $1 != "build" && $1 != "bootstrap") {
+ if ($1 != "full" &&
+ $1 != "build" &&
+ $1 != "tool" &&
+ $1 != "bootstrap") {
print "ERROR: [" PROGNAME "] invalid dependency line " $0 | ERRCAT
exit 1
}
@@ -77,6 +82,7 @@ BEGIN {
if (type[i] == "full" && checked_full[pkg[i]] != 1) {
checked_full[pkg[i]] = 1
checked_build[pkg[i]] = 1
+ checked_tool[pkg[i]] = 1
checked_bootstrap[pkg[i]] = 1
print_line[i] = 1
}
@@ -86,23 +92,45 @@ BEGIN {
if (type[i] == "bootstrap" && checked_bootstrap[pkg[i]] != 1) {
checked_bootstrap[pkg[i]] = 1
found = 0
- cmd = PKG_INFO " -qr " pkg[i]
- while (cmd | getline dpkg) {
- if (checked_full[dpkg] == 1)
- found = 1
+ if (PKG_INFO == HOST_PKG_INFO) {
+ cmd = PKG_INFO " -qr " pkg[i]
+ while (cmd | getline dpkg) {
+ if (checked_full[dpkg] == 1)
+ found = 1
+ }
+ close(cmd)
}
- close(cmd)
if (found == 0)
print_line[i] = 1
}
}
for (i = 0; i < lines; ++i) {
- if (type[i] == "build" && checked_build[pkg[i]] != 1) {
- checked_build[pkg[i]] = 1
+ if (type[i] == "tool" && checked_tool[pkg[i]] != 1) {
+ checked_tool[pkg[i]] = 1
if (checked_bootstrap[pkg[i]] == 1)
continue
found = 0
+ if (PKG_INFO == HOST_PKG_INFO) {
+ cmd = PKG_INFO " -qr " pkg[i]
+ while (cmd | getline dpkg) {
+ if (checked_full[dpkg] == 1)
+ found = 1
+ }
+ close(cmd)
+ }
+ if (found == 0)
+ print_line[i] = 1
+ }
+ }
+
+ for (i = 0; i < lines; ++i) {
+ if (type[i] == "build" && checked_build[pkg[i]] != 1) {
+ checked_build[pkg[i]] = 1
+ if (PKG_INFO == HOST_PKG_INFO)
+ if (checked_bootstrap[pkg[i]] == 1)
+ continue
+ found = 0
cmd = PKG_INFO " -qr " pkg[i]
while (cmd | getline dpkg) {
if (checked_full[dpkg] == 1)
diff --git a/mk/pkgformat/pkg/resolve-dependencies b/mk/pkgformat/pkg/resolve-dependencies
index 3ee0bba4a89..89296f1e5fa 100755
--- a/mk/pkgformat/pkg/resolve-dependencies
+++ b/mk/pkgformat/pkg/resolve-dependencies
@@ -30,11 +30,16 @@ error_msg() {
}
find_best() {
- ${PKG_INFO} -E "$1" || ${TRUE}
+ case $1 in
+ bootstrap|tool)
+ ${HOST_PKG_INFO} -E "$2" || ${TRUE};;
+ build|full)
+ ${PKG_INFO} -E "$2" || ${TRUE};;
+ esac
}
${CAT} ${DEPENDS_FILE} | while read type pattern dir; do
- pkg=`find_best "$pattern"`
+ pkg=`find_best "$type" "$pattern"`
case "$pkg" in
"")
error_msg "[resolve-dependencies] A package matching \`\`$pattern'' should"
diff --git a/mk/scripts/genindex.awk b/mk/scripts/genindex.awk
index 9e7f1a08631..951115a8403 100755
--- a/mk/scripts/genindex.awk
+++ b/mk/scripts/genindex.awk
@@ -1,5 +1,5 @@
#!/usr/bin/awk -f
-# $NetBSD: genindex.awk,v 1.7 2008/09/07 11:13:51 wiz Exp $
+# $NetBSD: genindex.awk,v 1.8 2013/05/09 23:37:27 riastradh Exp $
#
# Copyright (c) 2002, 2003 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -61,6 +61,7 @@ BEGIN {
#depends /usr/pkgsrc/math/scilab xless-[0-9]*:../../x11/xless pvm-3.4.3:../../parallel/pvm3
#
+# XXX Need to handle BUILD_DEPENDS/TOOL_DEPENDS split.
/^(build_)?depends / {
#
# Read in the entire depends tree
diff --git a/mk/scripts/genreadme.awk b/mk/scripts/genreadme.awk
index 96ae1f3aead..0f69631ca09 100755
--- a/mk/scripts/genreadme.awk
+++ b/mk/scripts/genreadme.awk
@@ -1,5 +1,5 @@
#!/usr/bin/awk -f
-# $NetBSD: genreadme.awk,v 1.34 2010/07/21 12:29:46 spz Exp $
+# $NetBSD: genreadme.awk,v 1.35 2013/05/09 23:37:27 riastradh Exp $
#
# Copyright (c) 2002, 2003, 2005, 2006 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -406,6 +406,8 @@ END {
close( binpkgs_file );
}
+ # XXX Need to handle BUILD_DEPENDS/TOOL_DEPENDS
+ # split.
if( line ~/%%BUILD_DEPENDS%%/ ) {
gsub(/%%BUILD_DEPENDS%%/, "", line);
while((getline < htmldeps_file) > 0) {
diff --git a/mk/tools/autoconf.mk b/mk/tools/autoconf.mk
index 60f33ddc236..ab9806c36fc 100644
--- a/mk/tools/autoconf.mk
+++ b/mk/tools/autoconf.mk
@@ -1,4 +1,4 @@
-# $NetBSD: autoconf.mk,v 1.15 2009/03/17 22:13:36 rillig Exp $
+# $NetBSD: autoconf.mk,v 1.16 2013/05/09 23:37:27 riastradh Exp $
#
# Copyright (c) 2005 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -95,7 +95,7 @@ AUTOCONF_REQD?= 2.50
. if !empty(USE_TOOLS:Mautoconf\:run)
_TOOLS_DEPMETHOD.autoconf= DEPENDS
. else
-_TOOLS_DEPMETHOD.autoconf= BUILD_DEPENDS
+_TOOLS_DEPMETHOD.autoconf= TOOL_DEPENDS
. endif
TOOLS_DEPENDS.autoconf?= autoconf>=${AUTOCONF_REQD}:../../devel/autoconf
. if empty(${_TOOLS_DEPMETHOD.autoconf}:M${TOOLS_DEPENDS.autoconf})
@@ -135,7 +135,7 @@ AUTOCONF_REQD?= 2.13
. if !empty(USE_TOOLS:Mautoconf213\:run)
_TOOLS_DEPMETHOD.autoconf213= DEPENDS
. else
-_TOOLS_DEPMETHOD.autoconf213= BUILD_DEPENDS
+_TOOLS_DEPMETHOD.autoconf213= TOOL_DEPENDS
. endif
TOOLS_DEPENDS.autoconf213?= autoconf213>=${AUTOCONF_REQD}:../../devel/autoconf213
. if empty(${_TOOLS_DEPMETHOD.autoconf213}:M${TOOLS_DEPENDS.autoconf213})
diff --git a/mk/tools/automake.mk b/mk/tools/automake.mk
index 21a8ed0b031..f7b48ac53e5 100644
--- a/mk/tools/automake.mk
+++ b/mk/tools/automake.mk
@@ -1,4 +1,4 @@
-# $NetBSD: automake.mk,v 1.19 2009/06/10 15:31:45 wiz Exp $
+# $NetBSD: automake.mk,v 1.20 2013/05/09 23:37:27 riastradh Exp $
#
# Copyright (c) 2005 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -111,7 +111,7 @@ AUTOCONF_REQD?= 2.58
. if !empty(USE_TOOLS:Mautomake\:run)
_TOOLS_DEPMETHOD.automake= DEPENDS
. else
-_TOOLS_DEPMETHOD.automake= BUILD_DEPENDS
+_TOOLS_DEPMETHOD.automake= TOOL_DEPENDS
. endif
TOOLS_DEPENDS.automake?= automake>=${AUTOMAKE_REQD}:../../devel/automake
. if empty(${_TOOLS_DEPMETHOD.automake}:M${TOOLS_DEPENDS.automake})
@@ -137,7 +137,7 @@ AUTOCONF_REQD?= 2.13
. if !empty(USE_TOOLS:Mautomake14\:run)
_TOOLS_DEPMETHOD.automake14= DEPENDS
. else
-_TOOLS_DEPMETHOD.automake14= BUILD_DEPENDS
+_TOOLS_DEPMETHOD.automake14= TOOL_DEPENDS
. endif
TOOLS_DEPENDS.automake14?= automake14>=${AUTOMAKE_REQD}:../../devel/automake14
. if empty(${_TOOLS_DEPMETHOD.automake14}:M${TOOLS_DEPENDS.automake14})
@@ -183,5 +183,5 @@ ${_TOOLS_AM_TYPE.${_t_}}+= ${_t_}
.endif
.if !empty(USE_TOOLS:Mgettext-m4)
-BUILD_DEPENDS+= {gettext-0.10.35nb1,gettext-m4-[0-9]*}:../../devel/gettext-m4
+TOOL_DEPENDS+= {gettext-0.10.35nb1,gettext-m4-[0-9]*}:../../devel/gettext-m4
.endif
diff --git a/mk/tools/intltool.mk b/mk/tools/intltool.mk
index 5a3352465d6..8ef26ed1547 100644
--- a/mk/tools/intltool.mk
+++ b/mk/tools/intltool.mk
@@ -1,4 +1,4 @@
-# $NetBSD: intltool.mk,v 1.5 2009/03/17 22:13:36 rillig Exp $
+# $NetBSD: intltool.mk,v 1.6 2013/05/09 23:37:27 riastradh Exp $
#
# Copyright (c) 2006 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -50,7 +50,7 @@ TOOLS_DEPENDS.intltool?= intltool>=0.40.0:../../textproc/intltool
. if !empty(USE_TOOLS:Mintltool\:run)
DEPENDS+= ${TOOLS_DEPENDS.intltool}
. else
-BUILD_DEPENDS+= ${TOOLS_DEPENDS.intltool}
+TOOL_DEPENDS+= ${TOOLS_DEPENDS.intltool}
. endif
EVAL_PREFIX+= TOOLS_PREFIX.intltool=intltool
. for _t_ in ${_TOOLS.intltool}
diff --git a/mk/tools/replace.mk b/mk/tools/replace.mk
index 825e3992f3c..be57bd0ce56 100644
--- a/mk/tools/replace.mk
+++ b/mk/tools/replace.mk
@@ -1,4 +1,4 @@
-# $NetBSD: replace.mk,v 1.256 2013/04/24 09:55:03 sbd Exp $
+# $NetBSD: replace.mk,v 1.257 2013/05/09 23:37:27 riastradh Exp $
#
# Copyright (c) 2005 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -128,14 +128,14 @@ PKG_FAIL_REASON+= "\`\`bison'' and \`\`byacc'' conflict in USE_TOOLS."
# dependency is determined by the modifier specified for each tool:
#
# BOOTSTRAP_DEPENDS: :bootstrap
-# BUILD_DEPENDS: :build (default), :pkgsrc
+# TOOL_DEPENDS: :build (default), :pkgsrc
# DEPENDS: :run
#
.for _t_ in ${USE_TOOLS:N*\:*} ${USE_TOOLS:M*\:bootstrap}
_TOOLS_DEPMETHOD.${_t_:C/:.*//}= BOOTSTRAP_DEPENDS
.endfor
.for _t_ in ${USE_TOOLS:N*\:*} ${USE_TOOLS:M*\:build} ${USE_TOOLS:M*\:pkgsrc}
-_TOOLS_DEPMETHOD.${_t_:C/:.*//}= BUILD_DEPENDS
+_TOOLS_DEPMETHOD.${_t_:C/:.*//}= TOOL_DEPENDS
.endfor
.for _t_ in ${USE_TOOLS:M*\:run}
_TOOLS_DEPMETHOD.${_t_:C/:.*//}= DEPENDS
@@ -143,37 +143,37 @@ _TOOLS_DEPMETHOD.${_t_:C/:.*//}= DEPENDS
.if !empty(_USE_TOOLS:Mbison-yacc) # bison-yacc > yacc
. if defined(_TOOLS_DEPMETHOD.bison-yacc) && \
- (${_TOOLS_DEPMETHOD.bison-yacc} == "BUILD_DEPENDS") && \
+ (${_TOOLS_DEPMETHOD.bison-yacc} == "TOOL_DEPENDS") && \
defined(_TOOLS_DEPMETHOD.yacc)
_TOOLS_DEPMETHOD.bison-yacc= ${_TOOLS_DEPMETHOD.yacc}
. endif
.endif
.if !empty(_USE_TOOLS:Mflex) # flex > lex
-. if (${_TOOLS_DEPMETHOD.flex} == "BUILD_DEPENDS") && \
+. if (${_TOOLS_DEPMETHOD.flex} == "TOOL_DEPENDS") && \
defined(_TOOLS_DEPMETHOD.lex)
_TOOLS_DEPMETHOD.flex= ${_TOOLS_DEPMETHOD.lex}
. endif
.endif
.if !empty(_USE_TOOLS:Mgawk) # gawk > awk
-. if (${_TOOLS_DEPMETHOD.gawk} == "BUILD_DEPENDS") && \
+. if (${_TOOLS_DEPMETHOD.gawk} == "TOOL_DEPENDS") && \
defined(_TOOLS_DEPMETHOD.awk)
_TOOLS_DEPMETHOD.gawk= ${_TOOLS_DEPMETHOD.awk}
. endif
.endif
.if !empty(_USE_TOOLS:Mgm4) # gm4 > m4
-. if (${_TOOLS_DEPMETHOD.gm4} == "BUILD_DEPENDS") && \
+. if (${_TOOLS_DEPMETHOD.gm4} == "TOOL_DEPENDS") && \
defined(_TOOLS_DEPMETHOD.m4)
_TOOLS_DEPMETHOD.gm4= ${_TOOLS_DEPMETHOD.m4}
. endif
.endif
.if !empty(_USE_TOOLS:Mgsed) # gsed > sed
-. if (${_TOOLS_DEPMETHOD.gsed} == "BUILD_DEPENDS") && \
+. if (${_TOOLS_DEPMETHOD.gsed} == "TOOL_DEPENDS") && \
defined(_TOOLS_DEPMETHOD.sed)
_TOOLS_DEPMETHOD.gsed= ${_TOOLS_DEPMETHOD.sed}
. endif
.endif
.if !empty(_USE_TOOLS:Mgsoelim) # gsoelim > soelim
-. if (${_TOOLS_DEPMETHOD.gsoelim} == "BUILD_DEPENDS") && \
+. if (${_TOOLS_DEPMETHOD.gsoelim} == "TOOL_DEPENDS") && \
defined(_TOOLS_DEPMETHOD.soelim)
_TOOLS_DEPMETHOD.gsoelim= ${_TOOLS_DEPMETHOD.soelim}
. endif