aboutsummaryrefslogtreecommitdiff
path: root/Mk/bsd.port.mk
diff options
context:
space:
mode:
Diffstat (limited to 'Mk/bsd.port.mk')
-rw-r--r--Mk/bsd.port.mk11
1 files changed, 11 insertions, 0 deletions
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}" \