svn commit: r413186 - in head: . Mk

Jan Beich jbeich at FreeBSD.org
Wed Apr 13 10:37:35 UTC 2016


Author: jbeich
Date: Wed Apr 13 10:37:34 2016
New Revision: 413186
URL: https://svnweb.freebsd.org/changeset/ports/413186

Log:
  Add CONFIGURE_OUTSOURCE support
  
  If CONFIGURE_OUTSOURCE is defined HAS_CONFIGURE invokes configure script
  and builds the port out of source tree, under ${WRKDIR}/.build by default.
  The feature is inspired by USES=cmake:outsource and USES=qmake:outsource.
  
  PR:		208294
  Exp-run by:	antoine
  Approved by:	portmgr (mat)
  Differential Revision:	https://reviews.freebsd.org/D4157

Modified:
  head/CHANGES
  head/Mk/bsd.port.mk   (contents, props changed)

Modified: head/CHANGES
==============================================================================
--- head/CHANGES	Wed Apr 13 10:36:54 2016	(r413185)
+++ head/CHANGES	Wed Apr 13 10:37:34 2016	(r413186)
@@ -10,6 +10,18 @@ in the release notes and/or placed into 
 
 All ports committers are allowed to commit to this file.
 
+20160416:
+AUTHOR: jbeich at 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 at FreeBSD.org
 

Modified: head/Mk/bsd.port.mk
==============================================================================
--- head/Mk/bsd.port.mk	Wed Apr 13 10:36:54 2016	(r413185)
+++ head/Mk/bsd.port.mk	Wed Apr 13 10:37:34 2016	(r413186)
@@ -780,6 +780,8 @@ FreeBSD_MAINTAINER=	portmgr at 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}" \


More information about the svn-ports-head mailing list