From d89437dc5f654269b3a9961126ea0e777afa452d Mon Sep 17 00:00:00 2001 From: jlam Date: Sat, 22 Dec 2001 05:45:23 +0000 Subject: [PATCH] Change the way the files used by the GNU auto* tools are touched. We now touch some files before the configure script is run, and some more afterwards. We touch the files afterwards since the configure script can get modified after it is run, and touching some files afterwards prevents them from being regenerated if they depend on the configure script. --- mk/bsd.pkg.mk | 49 +++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 43 insertions(+), 6 deletions(-) diff --git a/mk/bsd.pkg.mk b/mk/bsd.pkg.mk index 95c8f957a553..77bb0cab1c6e 100644 --- a/mk/bsd.pkg.mk +++ b/mk/bsd.pkg.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkg.mk,v 1.884 2001/12/19 23:14:01 jlam Exp $ +# $NetBSD: bsd.pkg.mk,v 1.885 2001/12/22 05:45:23 jlam Exp $ # # This file is in the public domain. # @@ -1609,16 +1609,37 @@ do-ltconfig-override: # the configure script and Makefile.in files should make the appropriate # calls to auto{conf,make} in a pre-configure target. # +# The rationale for the choice of patterns is: +# +# Before configure script is run: +# * configure.in might be generated from configure.in.in, +# * aclocal.m4 is generated by aclocal from acinclude.m4 and +# configure.in, +# * stamp-h.in is the automake timestamp file for config.h.in, +# * config.h.in is generated by autoheader from configure.in +# * stamp-h is the automake timestamp file for config.h, +# * Makefile.in is generated from Makefile.am, +# * the configure script is generated by autoconf from configure.in, +# aclocal.m4, and various other *.m4 files. +# +# After configure script is run: +# * config.status is generated by the configure script, +# * Makefile and stamp-h are generated by config.status. +# * config.h are generated by config.status. +# AUTOMAKE_OVERRIDE?= YES .if defined(AUTOMAKE_OVERRIDE) && (${AUTOMAKE_OVERRIDE} == "YES") -AUTOMAKE_PATTERNS+= *.m4 -AUTOMAKE_PATTERNS+= *.in -AUTOMAKE_PATTERNS+= ${CONFIGURE_SCRIPT:T} +AUTOMAKE_PATTERNS+= configure.in +AUTOMAKE_PATTERNS+= aclocal.m4 +AUTOMAKE_PATTERNS+= stamp-h.in config.h.in stamp-h +AUTOMAKE_PATTERNS+= Makefile.in +AUTOMAKE_PATTERNS+= ${CONFIGURE_SCRIPT:T} +AUTOMAKE_PATTERNS+= stamp-h.in config.h.in stamp-h _AUTOMAKE_PATTERNS_FIND= \ \( ${AUTOMAKE_PATTERNS:S/$/!/:S/^/-o -name !/:S/!/"/g:S/-o//1} \) -_CONFIGURE_PREREQ+= suppress-automake -suppress-automake: +_CONFIGURE_PREREQ+= automake-pre-override +automake-pre-override: . if defined(HAS_CONFIGURE) ${_PKG_SILENT}${_PKG_DEBUG} \ cd ${WRKSRC}; \ @@ -1627,6 +1648,22 @@ suppress-automake: . else ${_PKG_SILENT}${_PKG_DEBUG}${TRUE} . endif + +AUTOMAKE_POST_PATTERNS+= config.status +AUTOMAKE_POST_PATTERNS+= Makefile stamp-h +AUTOMAKE_POST_PATTERNS+= config.h +_AUTOMAKE_POST_PATTERNS_FIND= \ + \( ${AUTOMAKE_POST_PATTERNS:S/$/!/:S/^/-o -name !/:S/!/"/g:S/-o//1} \) + +_CONFIGURE_POSTREQ+= automake-post-override +automake-post-override: +. if defined(HAS_CONFIGURE) + ${_PKG_SILENT}${_PKG_DEBUG} \ + cd ${WRKSRC}; \ + ${FIND} . ${_AUTOMAKE_POST_PATTERNS_FIND} -print | \ + ${XARGS} ${TOUCH} ${TOUCH_ARGS} +. else +. endif .endif # AUTOMAKE_OVERRIDE .if !target(do-configure)