]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
* lib/autoscan/Makefile.am (autoscan.list): Disable the cache.
authorAkim Demaille <akim@epita.fr>
Fri, 25 Oct 2002 15:12:59 +0000 (15:12 +0000)
committerAkim Demaille <akim@epita.fr>
Fri, 25 Oct 2002 15:12:59 +0000 (15:12 +0000)
* bin/Makefile.am: Include freeze.mk.

ChangeLog
bin/Makefile.am
bin/Makefile.in
lib/autoscan/Makefile.am
lib/autoscan/Makefile.in

index ec122d8205328993467e1ce885b5970e23f0f7dc..5737d917839255d575f6896de5dc8f85c7776285 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,8 @@
        autoscan.pre is not to be installed, and autoscan.list is not to
        be shipped.
        (CLEANFILES): Add autoscan.list.
+       (autoscan.list): Disable the cache.
+       * bin/Makefile.am: Include freeze.mk.
 
 2002-10-25  Akim Demaille  <akim@epita.fr>
 
index e62bcd250582a531d9c64e1fd670c7407b311b97..f747becab5a498a33334cb42f4513fcf6fa5fed2 100644 (file)
@@ -18,6 +18,8 @@
 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 ## 02111-1307, USA.
 
+include ../lib/freeze.mk
+
 bin_SCRIPTS = autom4te \
               autoconf autoheader autoreconf ifnames autoscan autoupdate
 
@@ -48,7 +50,7 @@ edit = sed \
        -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g'
 
 # autoconf is written in M4sh.
-AUTOM4SH = $(top_builddir)/tests/autom4te --language M4sh
+AUTOM4SH = $(top_builddir)/tests/autom4te --language M4sh --cache ''
 $(srcdir)/autoconf.in: $(srcdir)/autoconf.as $(m4sh_m4f_dependencies)
        $(AUTOM4SH) $(srcdir)/autoconf.as -o $@
 
index c833025f5a1d3dd7358e56bdfb88784d823b8f7e..bcb46e767498f3f55bf6b68ee0c05ff73bccf896 100644 (file)
@@ -53,6 +53,7 @@ INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LIBOBJS = @LIBOBJS@
 LIBS = @LIBS@
 LTLIBOBJS = @LTLIBOBJS@
 M4 = @M4@
@@ -91,6 +92,78 @@ sharedstatedir = @sharedstatedir@
 sysconfdir = @sysconfdir@
 target_alias = @target_alias@
 
+SUFFIXES = .m4 .m4f
+
+# Do not use AUTOM4TE here, since Makefile.maint (my-distcheck)
+# checks if we are independent of Autoconf by defining AUTOM4TE (and
+# others) to `false'.  But we _ship_ tests/autom4te, so it doesn't
+# apply to us.
+MY_AUTOM4TE = $(top_builddir)/tests/autom4te
+
+AUTOM4TE_CFG = $(top_builddir)/lib/autom4te.cfg
+
+# Factor the dependencies between all the frozen files.
+# Some day we should explain to Automake how to use autom4te to compute
+# the dependencies...
+src_libdir = $(top_srcdir)/lib
+build_libdir = $(top_builddir)/lib
+
+m4f_dependencies = $(MY_AUTOM4TE) $(AUTOM4TE_CFG)
+
+m4sugar_m4f_dependencies = \
+       $(m4f_dependencies)                     \
+       $(src_libdir)/m4sugar/m4sugar.m4        \
+       $(build_libdir)/m4sugar/version.m4
+
+
+m4sh_m4f_dependencies = \
+       $(m4sugar_m4f_dependencies)             \
+       $(src_libdir)/m4sugar/m4sh.m4
+
+
+autotest_m4f_dependencies = \
+       $(m4sh_m4f_dependencies)                \
+       $(src_libdir)/autotest/autotest.m4      \
+       $(src_libdir)/autotest/general.m4
+
+
+autoconf_m4f_dependencies = \
+       $(m4sh_m4f_dependencies)                \
+       $(src_libdir)/autoconf/autoscan.m4      \
+       $(src_libdir)/autoconf/general.m4       \
+       $(src_libdir)/autoconf/autoheader.m4    \
+       $(src_libdir)/autoconf/autoupdate.m4    \
+       $(src_libdir)/autoconf/autotest.m4      \
+       $(src_libdir)/autoconf/status.m4        \
+       $(src_libdir)/autoconf/oldnames.m4      \
+       $(src_libdir)/autoconf/specific.m4      \
+       $(src_libdir)/autoconf/lang.m4          \
+       $(src_libdir)/autoconf/c.m4             \
+       $(src_libdir)/autoconf/fortran.m4       \
+       $(src_libdir)/autoconf/functions.m4     \
+       $(src_libdir)/autoconf/headers.m4       \
+       $(src_libdir)/autoconf/types.m4         \
+       $(src_libdir)/autoconf/libs.m4          \
+       $(src_libdir)/autoconf/programs.m4      \
+       $(src_libdir)/autoconf/autoconf.m4
+
+
+ETAGS_FOR_M4 = \
+  --lang=none \
+  --regex='/\(m4_define\|define\)(\[\([^]]*\)\]/\2/'
+
+
+ETAGS_FOR_M4SUGAR = \
+  $(ETAGS_FOR_M4) \
+  --regex='/m4_defun(\[\([^]]*\)\]/\1/'
+
+
+ETAGS_FOR_AUTOCONF = \
+  $(ETAGS_FOR_M4SUGAR) \
+  --regex='/\(A[CU]_DEFUN\|AU_ALIAS\)(\[\([^]]*\)\]/\2/' \
+  --regex='/AN_\(FUNCTION\|HEADER\|IDENTIFIER\|LIBRARY\|MAKEVAR\|PROGRAM\)(\[\([^]]*\)\]/\2/'
+
+
 bin_SCRIPTS = autom4te \
               autoconf autoheader autoreconf ifnames autoscan autoupdate
 
@@ -119,7 +192,7 @@ edit = sed \
 
 
 # autoconf is written in M4sh.
-AUTOM4SH = $(top_builddir)/tests/autom4te --language M4sh
+AUTOM4SH = $(top_builddir)/tests/autom4te --language M4sh --cache ''
 
 TAGS_DEPENDENCIES = $(EXTRA_DIST)
 
@@ -142,11 +215,12 @@ CONFIG_CLEAN_FILES =
 SCRIPTS = $(bin_SCRIPTS)
 
 DIST_SOURCES =
-DIST_COMMON = Makefile.am Makefile.in
+DIST_COMMON = $(srcdir)/../lib/freeze.mk Makefile.am Makefile.in
 all: all-am
 
 .SUFFIXES:
-$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.ac $(ACLOCAL_M4)
+.SUFFIXES: .m4 .m4f
+$(srcdir)/Makefile.in:  Makefile.am $(srcdir)/../lib/freeze.mk $(top_srcdir)/configure.ac $(ACLOCAL_M4)
        cd $(top_srcdir) && \
          $(AUTOMAKE) --gnu  bin/Makefile
 Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
@@ -232,10 +306,13 @@ top_distdir = ..
 distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
 
 distdir: $(DISTFILES)
+       $(mkinstalldirs) $(distdir)/./../lib
        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
        list='$(DISTFILES)'; for file in $$list; do \
          case $$file in \
            $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+           $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
          esac; \
          if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
          dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
@@ -342,6 +419,38 @@ uninstall-am: uninstall-binSCRIPTS uninstall-info-am
        pdf-am ps ps-am tags uninstall uninstall-am \
        uninstall-binSCRIPTS uninstall-info-am
 
+$(MY_AUTOM4TE):
+       cd $(top_builddir)/tests && $(MAKE) $(AM_MAKEFLAGS) autom4te
+$(AUTOM4TE_CFG):
+       cd $(top_builddir)/lib && $(MAKE) $(AM_MAKEFLAGS) autom4te.cfg
+
+# When processing the file with diversion disabled, there must be no
+# output but comments and empty lines.
+# If freezing produces output, something went wrong: a bad `divert',
+# or an improper paren etc.
+# It may happen that the output does not end with a end of line, hence
+# force an end of line when reporting errors.
+.m4.m4f:
+       $(MY_AUTOM4TE)                          \
+               --language=$*                   \
+               --freeze                        \
+               --output=$@
+
+# For parallel builds.
+$(build_libdir)/m4sugar/version.m4:
+       cd $(build_libdir)/m4sugar && $(MAKE) $(AM_MAKEFLAGS) version.m4
+
+check-forbidden-patterns:
+       if (cd $(srcdir) && \
+           grep $(forbidden_patterns) $(forbidden_patterns_files)) \
+           >forbidden.log; then \
+         echo "ERROR: forbidden patterns were found:" >&2; \
+         sed "s,^,$*.m4: ," <forbidden.log >&2; \
+         echo >&2; \
+         exit 1; \
+       else \
+         rm -f forbidden.log; \
+       fi
 $(srcdir)/autoconf.in: $(srcdir)/autoconf.as $(m4sh_m4f_dependencies)
        $(AUTOM4SH) $(srcdir)/autoconf.as -o $@
 
index a6af03a4df991cb68c7a877b911f7d6f8bf414ac..a9ff0a10cf423c181f4b39d8469ec6151d087aad 100644 (file)
@@ -38,5 +38,5 @@ autoscan.list: $(srcdir)/autoscan.pre $(autoconf_m4f_dependencies) Makefile.am
        sed '/^[#]/!q' $(srcdir)/autoscan.pre                  >>autoscan.list
        ( \
          sed -n '/^[^#]/p' $(srcdir)/autoscan.pre; \
-         $(MY_AUTOM4TE) -M -l autoconf -t'AN_OUTPUT:$$1: $$2           $$3' \
+         $(MY_AUTOM4TE) --cache '' -M -l autoconf -t'AN_OUTPUT:$$1: $$2                $$3' \
        ) | LC_ALL=C sort                                      >>autoscan.list
index 8c18ecfdb84ee7a1555c3e5916340baf4529d7be..e1f48cd54e338f83984bbdbcee77dcf353cb0301 100644 (file)
@@ -367,7 +367,7 @@ autoscan.list: $(srcdir)/autoscan.pre $(autoconf_m4f_dependencies) Makefile.am
        sed '/^[#]/!q' $(srcdir)/autoscan.pre                  >>autoscan.list
        ( \
          sed -n '/^[^#]/p' $(srcdir)/autoscan.pre; \
-         $(MY_AUTOM4TE) -M -l autoconf -t'AN_OUTPUT:$$1: $$2           $$3' \
+         $(MY_AUTOM4TE) --cache '' -M -l autoconf -t'AN_OUTPUT:$$1: $$2                $$3' \
        ) | LC_ALL=C sort                                      >>autoscan.list
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.