aboutsummaryrefslogtreecommitdiffstats
path: root/Mk/Uses
diff options
context:
space:
mode:
authortijl <tijl@FreeBSD.org>2014-09-17 18:06:08 +0800
committertijl <tijl@FreeBSD.org>2014-09-17 18:06:08 +0800
commit28ef836b3a5b288d4d00bc53acc2ec0fa1f80c72 (patch)
treecc97f393a66a2e6751584d7d3327e3cf3e675e17 /Mk/Uses
parentf4ada78778db1b2bad61855ab086205f390906c0 (diff)
downloadfreebsd-ports-gnome-28ef836b3a5b288d4d00bc53acc2ec0fa1f80c72.tar.gz
freebsd-ports-gnome-28ef836b3a5b288d4d00bc53acc2ec0fa1f80c72.tar.zst
freebsd-ports-gnome-28ef836b3a5b288d4d00bc53acc2ec0fa1f80c72.zip
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)
Diffstat (limited to 'Mk/Uses')
-rw-r--r--Mk/Uses/autoreconf.mk81
1 files changed, 81 insertions, 0 deletions
diff --git a/Mk/Uses/autoreconf.mk b/Mk/Uses/autoreconf.mk
new file mode 100644
index 000000000000..28cf5781a39f
--- /dev/null
+++ b/Mk/Uses/autoreconf.mk
@@ -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