Index: Mk/Uses/autoreconf.mk =================================================================== --- Mk/Uses/autoreconf.mk +++ Mk/Uses/autoreconf.mk @@ -71,18 +71,20 @@ .if ! ${autoreconf_ARGS:Mbuild} do-autoreconf: +.for _CONFIGURE_WRKSRC in ${CONFIGURE_WRKSRC} .for f in AUTHORS ChangeLog INSTALL NEWS README # Don't modify time stamps if the files already exist - @test -e ${CONFIGURE_WRKSRC}/${f} || ${TOUCH} ${CONFIGURE_WRKSRC}/${f} + @test -e ${_CONFIGURE_WRKSRC}/${f} || ${TOUCH} ${_CONFIGURE_WRKSRC}/${f} .endfor .if defined(_USE_GNOME) && ${_USE_GNOME:Mintltool} - @(cd ${CONFIGURE_WRKSRC} && \ + @(cd ${_CONFIGURE_WRKSRC} && \ if test -f configure.ac; then configure=configure.ac; \ else configure=configure.in; fi && \ if ${EGREP} -q '^(AC|IT)_PROG_INTLTOOL' $${configure}; \ then ${LOCALBASE}/bin/intltoolize -f -c; fi) .endif - @(cd ${CONFIGURE_WRKSRC} && ${LOCALBASE}/bin/autoreconf -f -i) + @(cd ${_CONFIGURE_WRKSRC} && ${LOCALBASE}/bin/autoreconf -f -i) .endif +.endfor .endif Index: Mk/Uses/cmake.mk =================================================================== --- Mk/Uses/cmake.mk +++ Mk/Uses/cmake.mk @@ -110,14 +110,16 @@ _CMAKE_MSG= "===> Performing out-of-source build" CONFIGURE_WRKSRC= ${WRKDIR}/.build BUILD_WRKSRC= ${CONFIGURE_WRKSRC} -INSTALL_WRKSRC= ${CONFIGURE_WRKSRC} +INSTALL_WRKSRC= ${BUILD_WRKSRC} .endif .if !target(do-configure) do-configure: +.for _CONFIGURE_WRKSRC in ${CONFIGURE_WRKSRC} @${ECHO_MSG} ${_CMAKE_MSG} - ${MKDIR} ${CONFIGURE_WRKSRC} - @cd ${CONFIGURE_WRKSRC}; ${SETENV} ${CMAKE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} ${CMAKE_SOURCE_PATH} + ${MKDIR} ${_CONFIGURE_WRKSRC} + @cd ${_CONFIGURE_WRKSRC}; ${SETENV} ${CMAKE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS} ${CMAKE_SOURCE_PATH} +.endfor .endif .endif #!defined(_INCLUDE_USES_CMAKE_MK) Index: Mk/Uses/imake.mk =================================================================== --- Mk/Uses/imake.mk +++ Mk/Uses/imake.mk @@ -38,7 +38,9 @@ .if ! ${imake_ARGS:Menv} .if !target(do-configure) do-configure: - @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${MAKE_ENV} ${XMKMF} ${XMKMF_ARGS}) +.for _CONFIGURE_WRKSRC in ${CONFIGURE_WRKSRC} + @(cd ${_CONFIGURE_WRKSRC} && ${SETENV} ${MAKE_ENV} ${XMKMF} ${XMKMF_ARGS}) +.endfor .endif .if ! ${imake_ARGS:Mnoman} Index: Mk/Uses/perl5.mk =================================================================== --- Mk/Uses/perl5.mk +++ Mk/Uses/perl5.mk @@ -241,26 +241,32 @@ cd ${.CURDIR} && ${SETENV} ${SCRIPTS_ENV} ${SH} \ ${SCRIPTDIR}/configure; \ fi - @cd ${CONFIGURE_WRKSRC} && \ +.for _CONFIGURE_WRKSRC in ${CONFIGURE_WRKSRC} + @cd ${_CONFIGURE_WRKSRC} && \ ${SETENV} ${CONFIGURE_ENV} \ ${PERL5} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS} .if !${_USE_PERL5:Mmodbuild*} - @cd ${CONFIGURE_WRKSRC} && \ + @cd ${_CONFIGURE_WRKSRC} && \ ${PERL5} -pi -e 's/ doc_(perl|site|\$$\(INSTALLDIRS\))_install$$//' Makefile .endif # ! modbuild +.endfor # _CONFIGURE_WRKSRC .endif # !target(do-configure) .endif # configure .if ${_USE_PERL5:Mmodbuild*} .if !target(do-build) do-build: - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PERL5} ${PL_BUILD} ${ALL_TARGET} ${MAKE_ARGS}) +.for _BUILD_WRKSRC in ${BUILD_WRKSRC} + @(cd ${_BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PERL5} ${PL_BUILD} ${ALL_TARGET} ${MAKE_ARGS}) +.endfor .endif # !target(do-build) .if !${USES:Mgmake} .if !target(do-install) do-install: - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PERL5} ${PL_BUILD} ${INSTALL_TARGET} ${MAKE_ARGS}) +.for _BUILD_WRKSRC in ${BUILD_WRKSRC} + @(cd ${_BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PERL5} ${PL_BUILD} ${INSTALL_TARGET} ${MAKE_ARGS}) +.endfor .endif # !target(do-install) .endif # ! USES=gmake .endif # modbuild @@ -300,10 +306,12 @@ test: regression-test .endif # test regression-test: build +.for _TEST_WRKSRC in ${TEST_WRKSRC} .if ${USE_PERL5:Mmodbuild*} - -cd ${TEST_WRKSRC}/ && ${SETENV} ${TEST_ENV} ${PERL5} ${PL_BUILD} ${TEST_TARGET} ${TEST_ARGS} + -cd ${_TEST_WRKSRC}/ && ${SETENV} ${TEST_ENV} ${PERL5} ${PL_BUILD} ${TEST_TARGET} ${TEST_ARGS} .elif ${USE_PERL5:Mconfigure} - -cd ${TEST_WRKSRC}/ && ${SETENV} ${TEST_ENV} ${MAKE_CMD} ${TEST_ARGS} ${TEST_TARGET} + -cd ${_TEST_WRKSRC}/ && ${SETENV} ${TEST_ENV} ${MAKE_CMD} ${TEST_ARGS} ${TEST_TARGET} .endif # USE_PERL5:Mmodbuild* +.endfor # _TEST_WRKSRC .endif # regression-test .endif # defined(_POSTMKINCLUDED) Index: Mk/Uses/python.mk =================================================================== --- Mk/Uses/python.mk +++ Mk/Uses/python.mk @@ -572,17 +572,23 @@ .if !target(do-configure) && !defined(HAS_CONFIGURE) && !defined(GNU_CONFIGURE) do-configure: - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_CONFIGURE_TARGET} ${PYDISTUTILS_CONFIGUREARGS}) +.for _BUILD_WRKSRC in ${BUILD_WRKSRC} + @(cd ${_BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_CONFIGURE_TARGET} ${PYDISTUTILS_CONFIGUREARGS}) +.endfor .endif .if !target(do-build) do-build: - @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS}) +.for _BUILD_WRKSRC in ${BUILD_WRKSRC} + @(cd ${_BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_BUILD_TARGET} ${PYDISTUTILS_BUILDARGS}) +.endfor .endif .if !target(do-install) do-install: - @(cd ${INSTALL_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) +.for _INSTALL_WRKSRC in ${INSTALL_WRKSRC} + @(cd ${_INSTALL_WRKSRC}; ${SETENV} ${MAKE_ENV} ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${PYDISTUTILS_INSTALL_TARGET} ${PYDISTUTILS_INSTALLARGS}) +.endfor .endif add-plist-post: add-plist-egginfo Index: Mk/Uses/qmake.mk =================================================================== --- Mk/Uses/qmake.mk +++ Mk/Uses/qmake.mk @@ -114,9 +114,11 @@ # Define a custom target to make it usable by bsd.qt.mk for internal Qt # configuration. qmake-configure: - @${MKDIR} ${_QMAKE_WRKSRC} - @cd ${_QMAKE_WRKSRC} && \ +.for __QMAKE_WRKSRC in ${_QMAKE_WRKSRC} + @${MKDIR} ${__QMAKE_WRKSRC} + @cd ${__QMAKE_WRKSRC} && \ ${SETENV} ${QMAKE_ENV} ${_QMAKE} ${QMAKE_ARGS} ${QMAKE_SOURCE_PATH} +.endfor .if !target(do-configure) && ! ${qmake_ARGS:M_env} do-configure: qmake-configure Index: Mk/bsd.autotools.mk =================================================================== --- Mk/bsd.autotools.mk +++ Mk/bsd.autotools.mk @@ -203,8 +203,10 @@ .if !target(run-autotools-aclocal) run-autotools-aclocal: . if defined(_AUTOTOOL_rule_aclocal) - @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${ACLOCAL} \ +. for _CONFIGURE_WRKSRC in ${CONFIGURE_WRKSRC} + @(cd ${_CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${ACLOCAL} \ ${ACLOCAL_ARGS}) +. endfor . else @${DO_NADA} . endif @@ -213,8 +215,10 @@ .if !target(run-autotools-automake) run-autotools-automake: . if defined(_AUTOTOOL_rule_automake) - @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOMAKE} \ +. for _CONFIGURE_WRKSRC in ${CONFIGURE_WRKSRC} + @(cd ${_CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOMAKE} \ ${AUTOMAKE_ARGS}) +. endfor . else @${DO_NADA} . endif @@ -223,8 +227,10 @@ .if !target(run-autotools-autoconf) run-autotools-autoconf: . if defined(_AUTOTOOL_rule_autoconf) - @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOCONF} \ +. for _CONFIGURE_WRKSRC in ${CONFIGURE_WRKSRC} + @(cd ${_CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOCONF} \ ${AUTOCONF_ARGS}) +. endfor . else @${DO_NADA} . endif @@ -233,8 +239,10 @@ .if !target(run-autotools-autoheader) run-autotools-autoheader: . if defined(_AUTOTOOL_rule_autoheader) - @(cd ${CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOHEADER} \ +. for _CONFIGURE_WRKSRC in ${CONFIGURE_WRKSRC} + @(cd ${_CONFIGURE_WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOHEADER} \ ${AUTOHEADER_ARGS}) +. endfor . else @${DO_NADA} . endif Index: Mk/bsd.java.mk =================================================================== --- Mk/bsd.java.mk +++ Mk/bsd.java.mk @@ -393,8 +393,10 @@ ALL_TARGET?= . if !target(do-build) do-build: - @(cd ${BUILD_WRKSRC}; \ +. for _BUILD_WRKSRC in ${BUILD_WRKSRC} + @(cd ${_BUILD_WRKSRC}; \ ${SETENV} ${MAKE_ENV} ${ANT} ${MAKE_ARGS} ${ALL_TARGET}) +. endfor . endif . endif Index: Mk/bsd.mate.mk =================================================================== --- Mk/bsd.mate.mk +++ Mk/bsd.mate.mk @@ -214,7 +214,9 @@ pre-configure: mate-pre-configure mate-pre-configure: - @(cd ${CONFIGURE_WRKSRC} ; ${SETENV} ${CONFIGURE_ENV} ./autogen.sh) +. for _CONFIGURE_WRKSRC in ${CONFIGURE_WRKSRC} + @(cd ${_CONFIGURE_WRKSRC} ; ${SETENV} ${CONFIGURE_ENV} ./autogen.sh) +. endfor .endif .if defined(MATE_PRE_PATCH) Index: Mk/bsd.port.mk =================================================================== --- Mk/bsd.port.mk +++ Mk/bsd.port.mk @@ -789,7 +789,7 @@ # GNU_CONFIGURE - If set, you are using GNU configure (optional). Implies # HAS_CONFIGURE. # CONFIGURE_WRKSRC -# - Directory to run configure in. +# - Directory(ies) to run configure in. # Default: ${WRKSRC} # CONFIGURE_SCRIPT # - Name of configure script, relative to ${CONFIGURE_WRKSRC}. @@ -832,7 +832,7 @@ # Default: Makefile # ALL_TARGET - Default target for sub-make in build stage. # Default: all -# BUILD_WRKSRC - Directory to do build in (default: ${WRKSRC}). +# BUILD_WRKSRC - Directory(ies) to do build in (default: ${CONFIGURE_WRKSRC}). # MAKE_ENV - Additional environment vars passed to sub-make in build # and install stages. # Default: see below @@ -865,8 +865,8 @@ # - Default target for sub-make in install stage. # Default: install # INSTALL_WRKSRC -# - Directory to install from -# Default: ${WRKSRC} +# - Directory(ies) to install from +# Default: ${BUILD_WRKSRC} # NO_MTREE - If set, will not invoke mtree from bsd.port.mk from # the "install" target. # MTREE_FILE - The name of the mtree file. @@ -1570,8 +1570,8 @@ PATCH_WRKSRC?= ${WRKSRC} CONFIGURE_WRKSRC?= ${WRKSRC} -BUILD_WRKSRC?= ${WRKSRC} -INSTALL_WRKSRC?=${WRKSRC} +BUILD_WRKSRC?= ${CONFIGURE_WRKSRC} +INSTALL_WRKSRC?=${BUILD_WRKSRC} PLIST_SUB+= OSREL=${OSREL} PREFIX=%D LOCALBASE=${LOCALBASE} \ RESETPREFIX=${PREFIX} @@ -2664,7 +2664,7 @@ CONFIGURE_LOG?= config.log # A default message to print if do-configure fails. -CONFIGURE_FAIL_MESSAGE?= "Please report the problem to ${MAINTAINER} [maintainer] and attach the \"${CONFIGURE_WRKSRC}/${CONFIGURE_LOG}\" including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a ${PKG_INFO} -Ea)." +CONFIGURE_FAIL_MESSAGE?= "Please report the problem to ${MAINTAINER} [maintainer] and attach the ${CONFIGURE_WRKSRC:C/(.*)/\"\1\/${CONFIGURE_LOG}\"/} including the output of the failure of your make command. Also, it might be a good idea to provide an overview of all packages installed on your system (e.g. a ${PKG_INFO} -Ea)." .if defined(GNU_CONFIGURE) # Maximum command line length @@ -3392,7 +3392,8 @@ done .endif .if defined(HAS_CONFIGURE) - @(cd ${CONFIGURE_WRKSRC} && \ +.for _CONFIGURE_WRKSRC in ${CONFIGURE_WRKSRC} + @(cd ${_CONFIGURE_WRKSRC} && \ ${SET_LATE_CONFIGURE_ARGS} \ if ! ${SETENV} CC="${CC}" CPP="${CPP}" CXX="${CXX}" \ CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" CXXFLAGS="${CXXFLAGS}" \ @@ -3407,6 +3408,7 @@ (${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT} 75 79 ; \ ${FALSE}; \ fi) +.endfor .endif .endif @@ -3415,13 +3417,15 @@ DO_MAKE_BUILD?= ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${_MAKE_JOBS} ${MAKE_ARGS:C,^${DESTDIRNAME}=.*,,g} .if !target(do-build) do-build: - @(cd ${BUILD_WRKSRC}; if ! ${DO_MAKE_BUILD} ${ALL_TARGET}; then \ +.for _BUILD_WRKSRC in ${BUILD_WRKSRC} + @(cd ${_BUILD_WRKSRC}; if ! ${DO_MAKE_BUILD} ${ALL_TARGET}; then \ if [ -n "${BUILD_FAIL_MESSAGE}" ] ; then \ ${ECHO_MSG} "===> Compilation failed unexpectedly."; \ (${ECHO_CMD} "${BUILD_FAIL_MESSAGE}") | ${FMT} 75 79 ; \ fi; \ ${FALSE}; \ fi) +.endfor .endif # Check conflicts @@ -3526,7 +3530,9 @@ .if !target(do-install) && !defined(NO_INSTALL) do-install: - @(cd ${INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${FAKEROOT} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) +.for _INSTALL_WRKSRC in ${INSTALL_WRKSRC} + @(cd ${_INSTALL_WRKSRC} && ${SETENV} ${MAKE_ENV} ${FAKEROOT} ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} ${INSTALL_TARGET}) +.endfor .endif # Package Index: Mk/bsd.qt.mk =================================================================== --- Mk/bsd.qt.mk +++ Mk/bsd.qt.mk @@ -573,7 +573,7 @@ qtbase-pre-configure: . for tool in ${_QT_TOOLS} @${TEST} -e ${QT_BINDIR}/${tool:T} && \ - ${LN} -sf ${QT_BINDIR}/${tool:T} ${CONFIGURE_WRKSRC}/bin/${tool:T} || \ + ${LN} -sf ${QT_BINDIR}/${tool:T} ${CONFIGURE_WRKSRC:[1]}/bin/${tool:T} || \ ${TRUE} . endfor @@ -588,7 +588,7 @@ ${WRKSRC}/configure . if ${PORTNAME} != "qmake" -_QMAKE= ${CONFIGURE_WRKSRC}/bin/qmake +_QMAKE= ${CONFIGURE_WRKSRC:[1]}/bin/qmake post-configure: qmake-configure . endif Index: Mk/bsd.ruby.mk =================================================================== --- Mk/bsd.ruby.mk +++ Mk/bsd.ruby.mk @@ -461,25 +461,31 @@ do-extract: @${SETENV} ${GEM_ENV} ${RUBYGEMBIN} unpack --target=${WRKDIR} ${DISTDIR}/${DIST_SUBDIR}/${GEMFILES} - @(cd ${BUILD_WRKSRC}; if ! ${SETENV} ${GEM_ENV} ${RUBYGEMBIN} spec --ruby ${DISTDIR}/${DIST_SUBDIR}/${GEMFILES} > ${GEMSPEC} ; then \ +.for _BUILD_WRKSRC in ${BUILD_WRKSRC} + @(cd ${_BUILD_WRKSRC}; if ! ${SETENV} ${GEM_ENV} ${RUBYGEMBIN} spec --ruby ${DISTDIR}/${DIST_SUBDIR}/${GEMFILES} > ${GEMSPEC} ; then \ if [ -n "${BUILD_FAIL_MESSAGE}" ] ; then \ ${ECHO_MSG} "===> Extraction failed unexpectedly."; \ (${ECHO_CMD} "${BUILD_FAIL_MESSAGE}") | ${FMT} 75 79 ; \ fi; \ ${FALSE}; \ fi) +.endfor do-build: - @(cd ${BUILD_WRKSRC}; if ! ${SETENV} ${GEM_ENV} ${RUBYGEMBIN} build --force ${GEMSPEC} ; then \ +.for _BUILD_WRKSRC in ${BUILD_WRKSRC} + @(cd ${_BUILD_WRKSRC}; if ! ${SETENV} ${GEM_ENV} ${RUBYGEMBIN} build --force ${GEMSPEC} ; then \ if [ -n "${BUILD_FAIL_MESSAGE}" ] ; then \ ${ECHO_MSG} "===> Compilation failed unexpectedly."; \ (${ECHO_CMD} "${BUILD_FAIL_MESSAGE}") | ${FMT} 75 79 ; \ fi; \ ${FALSE}; \ fi) +.endfor do-install: - (cd ${BUILD_WRKSRC}; ${SETENV} ${GEM_ENV} ${RUBYGEMBIN} install ${RUBYGEM_ARGS} ${GEMFILES} -- --build-args ${CONFIGURE_ARGS}) +.for _BUILD_WRKSRC in ${BUILD_WRKSRC} + (cd ${_BUILD_WRKSRC}; ${SETENV} ${GEM_ENV} ${RUBYGEMBIN} install ${RUBYGEM_ARGS} ${GEMFILES} -- --build-args ${CONFIGURE_ARGS}) +.endfor ${RM} -r ${STAGEDIR}${PREFIX}/${GEMS_BASE_DIR}/build_info/ ${RMDIR} ${STAGEDIR}${PREFIX}/${EXT_DIR} 2> /dev/null || ${TRUE} .if defined(NOPORTDOCS) @@ -542,22 +548,28 @@ ruby-setup-configure: @${ECHO_MSG} "===> Running ${RUBY_SETUP} to configure" - @cd ${BUILD_WRKSRC}; \ +.for _BUILD_WRKSRC in ${BUILD_WRKSRC} + @cd ${_BUILD_WRKSRC}; \ ${SETENV} ${CONFIGURE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} config ${CONFIGURE_ARGS} +.endfor do-build: ruby-setup-build ruby-setup-build: @${ECHO_MSG} "===> Running ${RUBY_SETUP} to build" - @cd ${BUILD_WRKSRC}; \ +.for _BUILD_WRKSRC in ${BUILD_WRKSRC} + @cd ${_BUILD_WRKSRC}; \ ${SETENV} ${MAKE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} setup +.endfor do-install: ruby-setup-install ruby-setup-install: @${ECHO_MSG} "===> Running ${RUBY_SETUP} to install" - @cd ${INSTALL_WRKSRC}; \ +.for _INSTALL_WRKSRC in ${INSTALL_WRKSRC} + @cd ${_INSTALL_WRKSRC}; \ ${SETENV} ${MAKE_ENV} ${RUBY} ${RUBY_FLAGS} ${RUBY_SETUP} install --prefix=${STAGEDIR} +.endfor .endif .if defined(USE_LIBRUBY)