diff options
-rw-r--r-- | CHANGES | 12 | ||||
-rw-r--r-- | Mk/bsd.port.mk | 11 |
2 files changed, 23 insertions, 0 deletions
@@ -10,6 +10,18 @@ in the release notes and/or placed into UPDATING. All ports committers are allowed to commit to this file. +20160416: +AUTHOR: jbeich@FreeBSD.org + + Introducing CONFIGURE_OUTSOURCE. It changes HAS_CONFIGURE and GNU_CONFIGURE + by invoking configure, build and install stage outside of source tree e.g., + + $ mkdir ../.build + $ cd ../.build + $ ${OLDPWD}/configure + $ gmake + $ gmake install + 20160402: AUTHOR: bapt@FreeBSD.org diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index ac93f1224d25..37fc659a5cdc 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -780,6 +780,8 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org # configure stage will not do anything if this is not set. # GNU_CONFIGURE - If set, you are using GNU configure (optional). Implies # HAS_CONFIGURE. +# CONFIGURE_OUTSOURCE - If set, this port builds in an empty ${CONFIGURE_WRKSRC} +# not being under ${WRKSRC}. # CONFIGURE_WRKSRC # - Directory to run configure in. # Default: ${WRKSRC} @@ -1554,6 +1556,14 @@ EXTRACT_WRKDIR:= ${WRKDIR} WRKSRC:= ${WRKSRC}/${WRKSRC_SUBDIR} .endif +.if defined(CONFIGURE_OUTSOURCE) +CONFIGURE_CMD?= ${WRKSRC}/${CONFIGURE_SCRIPT} +CONFIGURE_WRKSRC?= ${WRKDIR}/.build +BUILD_WRKSRC?= ${CONFIGURE_WRKSRC} +INSTALL_WRKSRC?= ${CONFIGURE_WRKSRC} +TEST_WRKSRC?= ${CONFIGURE_WRKSRC} +.endif + PATCH_WRKSRC?= ${WRKSRC} CONFIGURE_WRKSRC?= ${WRKSRC} BUILD_WRKSRC?= ${WRKSRC} @@ -3334,6 +3344,7 @@ do-configure: done .endif .if defined(HAS_CONFIGURE) + @${MKDIR} ${CONFIGURE_WRKSRC} @(cd ${CONFIGURE_WRKSRC} && \ ${SET_LATE_CONFIGURE_ARGS} \ if ! ${SETENV} CC="${CC}" CPP="${CPP}" CXX="${CXX}" \ |