Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Sep 2014 10:06:09 +0000 (UTC)
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r368360 - in head/Mk: . Uses
Message-ID:  <201409171006.s8HA69r9053476@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tijl
Date: Wed Sep 17 10:06:08 2014
New Revision: 368360
URL: http://svnweb.freebsd.org/changeset/ports/368360
QAT: https://qat.redports.org/buildarchive/r368360/

Log:
  Initial version of USES=autoreconf that can replace USE_AUTOTOOLS.  It
  runs autoreconf in CONFIGURE_WRKSRC to update configure, Makefile.in and
  other build scripts.
  
  Approved by:	portmgr (bapt)

Added:
  head/Mk/Uses/autoreconf.mk   (contents, props changed)
Modified:
  head/Mk/bsd.port.mk

Added: head/Mk/Uses/autoreconf.mk
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/Mk/Uses/autoreconf.mk	Wed Sep 17 10:06:08 2014	(r368360)
@@ -0,0 +1,81 @@
+# $FreeBSD$
+#
+# Run autoreconf in CONFIGURE_WRKSRC to update configure, Makefile.in and
+# other build scripts.
+#
+# Autoreconf encapsulates the following commands.  Each command applies to a
+# single configure.ac.  If configure.ac defines subdirectories with their own
+# configure.ac (using AC_CONFIG_SUBDIRS), autoreconf will recursively update
+# those as well.
+#
+# aclocal	Looks up definitions of m4 macros used in configure.ac and
+#		copies them from their source *.m4 file to aclocal.m4.  Most
+#		*.m4 files are installed by devel/autoconf and devel/automake,
+#		but some ports have their own *.m4 files with custom macros.
+#		Must be run whenever configure.ac or *.m4 files with macros
+#		used in configure.ac have been modified.
+#		Must also be run whenever autoconf or automake must be run
+#		because the autoconf/automake macros in aclocal.m4 must have
+#		the same version as the autoconf/automake commands.
+# autoconf	Generates configure from configure.ac and the macro definitions
+#		in aclocal.m4.
+#		Must be run whenever either of these two files has been
+#		modified.
+# autoheader	Same as autoconf, but also generates a config header (typically
+#		config.h.in).
+#		Must be run whenever configure.ac or aclocal.m4 has been
+#		modified and configure.ac (or one of the macros it uses)
+#		contains AC_CONFIG_HEADERS.
+# automake	Generates Makefile.in from Makefile.am for each Makefile
+#		specified in configure.ac.  Also updates build scripts like
+#		compile, depcomp, install-sh, ylwrap,...
+#		Must be run whenever Makefile.am, configure.ac or aclocal.m4
+#		has been modified and configure.ac (or one of the macros it
+#		uses) contains AM_INIT_AUTOMAKE.
+# autopoint	Updates gettext related *.m4 files and build scripts such as
+#		config.rpath.
+#		If a port uses gettext, this command must be run whenever
+#		aclocal must be run such that the gettext macros in aclocal.m4
+#		have the same version as the gettext build scripts.
+# libtoolize	Updates libtool related *.m4 files and build scripts such as
+#		ltmain.sh.
+#		If a port uses libtool, this command must be run whenever
+#		aclocal must be run such that the libtool macros in aclocal.m4
+#		have the same version as the libtool build scripts.
+#
+# Feature:	autoreconf
+# Usage:	USES=autoreconf or USES=autoreconf:args
+# Valid args:	build	Don't run autoreconf, only add build dependencies
+#
+# MAINTAINER:	autotools@FreeBSD.org
+
+.if !defined(_INCLUDE_USES_AUTORECONF_MK)
+_INCLUDE_USES_AUTORECONF_MK=	yes
+_USES_POST+=		autoreconf
+autoreconf_ARGS:=	${autoreconf_ARGS}
+
+BUILD_DEPENDS+=	autoconf-2.69:${PORTSDIR}/devel/autoconf \
+		autoheader-2.69:${PORTSDIR}/devel/autoconf \
+		autoreconf-2.69:${PORTSDIR}/devel/autoconf \
+		aclocal-1.14:${PORTSDIR}/devel/automake \
+		automake-1.14:${PORTSDIR}/devel/automake
+
+.if ${USES:Mgettext} || (${USES:Mgettext\:*} && empty(USES:Mgettext\:run))
+BUILD_DEPENDS+=	autopoint:${PORTSDIR}/devel/gettext
+.endif
+
+.if ${USES:Mlibtool} || (${USES:Mlibtool\:*} && empty(USES:Mlibtool\:*build*))
+BUILD_DEPENDS+=	libtoolize:${PORTSDIR}/devel/libtool
+.endif
+
+.endif
+
+.if defined(_POSTMKINCLUDED) && !defined(_INCLUDE_USES_AUTORECONF_POST_MK)
+_INCLUDE_USES_AUTORECONF_POST_MK=	yes
+
+.if ! ${autoreconf_ARGS:Mbuild}
+do-autoreconf:
+	@(cd ${CONFIGURE_WRKSRC} && ${LOCALBASE}/bin/autoreconf -f -i)
+.endif
+
+.endif

Modified: head/Mk/bsd.port.mk
==============================================================================
--- head/Mk/bsd.port.mk	Wed Sep 17 09:26:25 2014	(r368359)
+++ head/Mk/bsd.port.mk	Wed Sep 17 10:06:08 2014	(r368360)
@@ -6051,8 +6051,8 @@ _PATCH_SEQ=		ask-license patch-message p
 _CONFIGURE_DEP=	patch
 _CONFIGURE_SEQ=	build-depends lib-depends configure-message run-autotools-fixup \
 				configure-autotools pre-configure pre-configure-script \
-				run-autotools patch-libtool do-configure post-configure \
-				post-configure-script
+				run-autotools do-autoreconf patch-libtool do-configure \
+				post-configure post-configure-script
 _BUILD_DEP=		configure
 _BUILD_SEQ=		build-message pre-build pre-build-script do-build \
 				post-build post-build-script



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201409171006.s8HA69r9053476>