diff options
-rw-r--r-- | mk/bsd.pkg.mk | 3 | ||||
-rw-r--r-- | mk/bsd.pkg.readme.mk | 4 | ||||
-rw-r--r-- | mk/bsd.pkg.use.mk | 17 | ||||
-rw-r--r-- | mk/bsd.utils.mk | 6 | ||||
-rw-r--r-- | mk/check/check-perms.mk | 6 | ||||
-rw-r--r-- | mk/compiler/ccache.mk | 4 | ||||
-rw-r--r-- | mk/compiler/clang.mk | 4 | ||||
-rw-r--r-- | mk/compiler/distcc.mk | 4 | ||||
-rw-r--r-- | mk/compiler/f2c.mk | 8 | ||||
-rw-r--r-- | mk/compiler/pcc.mk | 4 | ||||
-rw-r--r-- | mk/depends/bsd.depends.mk | 4 | ||||
-rw-r--r-- | mk/emulator/pkg-rpm.mk | 4 | ||||
-rw-r--r-- | mk/pkgformat/pkg/deinstall.mk | 3 | ||||
-rw-r--r-- | mk/pkgformat/pkg/depends.mk | 63 | ||||
-rwxr-xr-x | mk/pkgformat/pkg/list-dependencies | 9 | ||||
-rw-r--r-- | mk/pkgformat/pkg/pkgformat-vars.mk | 17 | ||||
-rw-r--r-- | mk/pkgformat/pkg/reduce-resolved-depends.awk | 46 | ||||
-rwxr-xr-x | mk/pkgformat/pkg/resolve-dependencies | 9 | ||||
-rwxr-xr-x | mk/scripts/genindex.awk | 3 | ||||
-rwxr-xr-x | mk/scripts/genreadme.awk | 4 | ||||
-rw-r--r-- | mk/tools/autoconf.mk | 6 | ||||
-rw-r--r-- | mk/tools/automake.mk | 8 | ||||
-rw-r--r-- | mk/tools/intltool.mk | 4 | ||||
-rw-r--r-- | mk/tools/replace.mk | 18 |
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 |