]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Revamp the autoupdate/AC_OBSOLETE chain. All the details are
authorAkim Demaille <akim@epita.fr>
Tue, 8 Feb 2000 13:25:49 +0000 (13:25 +0000)
committerAkim Demaille <akim@epita.fr>
Tue, 8 Feb 2000 13:25:49 +0000 (13:25 +0000)
given in the prologue of acobsolete.m4.

* acgeneral.m4 (Prologue): Enter the `autoconf' name space.
(AU_DEFUN): New macro.

* autoupdate.m4: New file.
Disable the name spaces `autoconf', and `libm4'.  Disable libm4.
* Makefile.am: Tuned to support the changes above.

* autoupdate.sh: Model after autoconf.sh.
Can run on several files at once (for instance m4/*.m4).
Don't touch files that are up to date.
Run m4 on autoupdate.m4f instead of playing with sed.

Use AU_DEFUN.

* acgeneral.m4 (AC_LINK_FILES, AC_ENABLE, AC_WITH): Use AU_DEFUN,
remove the call to AC_OBSOLETE.
* acspecific.m4 (AC_CYGWIN32): Likewise.
* acoldnames.m4: Replaced all the definitions via `define' or
`AC_DEFUN' to use `AU_DEFUN'.

16 files changed:
ChangeLog
Makefile.am
Makefile.in
acgeneral.m4
acoldnames.m4
acspecific.m4
autoheader.m4
autoupdate.m4 [new file with mode: 0644]
doc/Makefile.am
doc/Makefile.in
lib/autoconf/general.m4
lib/autoconf/oldnames.m4
lib/autoconf/specific.m4
man/autoupdate.1
tests/semantics.m4
tests/syntax.m4

index 89f3d12781f825b9a0d80db4f1eabd243b840875..e8d83ae6e65cda08430edb0bf70039865b744234 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+2000-02-08  Akim Demaille  <akim@epita.fr>
+
+       Revamp the autoupdate/AC_OBSOLETE chain.  All the details are
+       given in the prologue of acobsolete.m4.
+
+       * acgeneral.m4 (Prologue): Enter the `autoconf' name space.
+       (AU_DEFUN): New macro.
+
+       * autoupdate.m4: New file.
+       Disable the name spaces `autoconf', and `libm4'.  Disable libm4.
+       * Makefile.am: Tuned to support the changes above.
+
+       * autoupdate.sh: Model after autoconf.sh.
+       Can run on several files at once (for instance m4/*.m4).
+       Don't touch files that are up to date.
+       Run m4 on autoupdate.m4f instead of playing with sed.
+
+
+       Use AU_DEFUN.
+
+       * acgeneral.m4 (AC_LINK_FILES, AC_ENABLE, AC_WITH): Use AU_DEFUN,
+       remove the call to AC_OBSOLETE.
+       * acspecific.m4 (AC_CYGWIN32): Likewise.
+       * acoldnames.m4: Replaced all the definitions via `define' or
+       `AC_DEFUN' to use `AU_DEFUN'.
+
 2000-02-08  Akim Demaille  <akim@epita.fr>
 
        Clean up some m4 files.
index 68ffb085bbf6d71593c86de21b84c51a9ad3bc88..e7198ad5adfe92a33b9ba11a1d0f742e57a2970a 100644 (file)
@@ -38,9 +38,10 @@ EXTRA_SCRIPTS = autoscan
 
 distpkgdataDATA = \
 acfunctions acheaders acidentifiers acmakevars acprograms \
-libm4.m4 acgeneral.m4 acoldnames.m4 acspecific.m4 autoconf.m4 autoheader.m4
+libm4.m4 acgeneral.m4 acoldnames.m4 acspecific.m4 autoconf.m4 autoheader.m4 \
+autoupdate.m4
 
-nodistpkgdataDATA = autoconf.m4f autoheader.m4f acversion.m4
+nodistpkgdataDATA = autoconf.m4f autoheader.m4f autoupdate.m4f acversion.m4
 
 pkgdata_DATA = $(distpkgdataDATA) $(nodistpkgdataDATA)
 
@@ -99,8 +100,11 @@ editpl = sed -e 's,@''datadir''@,$(pkgdatadir),g' -e 's,@''PERL''@,$(PERL),g' \
        *) echo Error: Autoconf requires GNU m4 1.4 or later; exit 1 ;; \
        esac
 
-autoconf.m4f: autoconf.m4 libm4.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 acversion.m4
-autoheader.m4f: autoheader.m4 libm4.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 acversion.m4
+common = libm4.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 acversion.m4
+
+autoconf.m4f: autoconf.m4 $(common)
+autoheader.m4f: autoheader.m4 $(common)
+autoupdate.m4f: autoupdate.m4 $(common)
 
 
 # The documentation
index b3c4931ef9b9fe859ba3c03e2c042ccf931bb90a..3cf29d0b83796b02b36eea13679cc4b7bf82fa16 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -10,7 +10,6 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -46,9 +45,10 @@ AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
 INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
 transform = @program_transform_name@
 
 NORMAL_INSTALL = :
@@ -57,6 +57,8 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+
+@SET_MAKE@
 AWK = @AWK@
 HELP2MAN = @HELP2MAN@
 M4 = @M4@
@@ -64,6 +66,7 @@ PERL = @PERL@
 PERLSCRIPTS = @PERLSCRIPTS@
 standards_texi = @standards_texi@
 
+
 AUTOMAKE_OPTIONS = check-news 1.4
 
 SUBDIRS = . m4 man tests
@@ -81,10 +84,13 @@ EXTRA_SCRIPTS = autoscan
 # s/nodistpackageDATA/nodist_pkgdata_DATA/
 # and adapt dependencies once we use a more recent Automake
 
-distpkgdataDATA =  acfunctions acheaders acidentifiers acmakevars acprograms libm4.m4 acgeneral.m4 acoldnames.m4 acspecific.m4 autoconf.m4 autoheader.m4
+distpkgdataDATA = \
+acfunctions acheaders acidentifiers acmakevars acprograms \
+libm4.m4 acgeneral.m4 acoldnames.m4 acspecific.m4 autoconf.m4 autoheader.m4 \
+autoupdate.m4
 
 
-nodistpkgdataDATA = autoconf.m4f autoheader.m4f acversion.m4
+nodistpkgdataDATA = autoconf.m4f autoheader.m4f autoupdate.m4f acversion.m4
 
 pkgdata_DATA = $(distpkgdataDATA) $(nodistpkgdataDATA)
 
@@ -93,44 +99,59 @@ autoconf_TEXINFOS = install.texi
 standards_TEXINFOS = make-stds.texi
 
 OLDCHANGELOGS = ChangeLog.0 ChangeLog.1
-EXTRA_DIST = $(OLDCHANGELOGS) autoconf.sh autoheader.sh autoreconf.sh autoupdate.sh ifnames.sh autoscan.pl INSTALL.txt $(distpkgdataDATA)
+EXTRA_DIST = $(OLDCHANGELOGS) \
+autoconf.sh autoheader.sh autoreconf.sh autoupdate.sh \
+ifnames.sh autoscan.pl INSTALL.txt \
+$(distpkgdataDATA)
 
 
 # Files that should be removed, but which Automake does not know.
 # There are texi2dvi files, frozen files, and the scripts.
-CLEANFILES = autoconf.cvs autoconf.ev autoconf.evs autoconf.ma autoconf.mas autoconf.ov autoconf.ovs autoconf.m4f autoheader.m4f $(bin_SCRIPTS)
+CLEANFILES = autoconf.cvs autoconf.ev autoconf.evs autoconf.ma autoconf.mas \
+autoconf.ov autoconf.ovs autoconf.m4f autoheader.m4f $(bin_SCRIPTS)
 
 
 # The scripts.
 
-editsh = sed -e 's,@''datadir''@,$(pkgdatadir),g' -e   's,@''M4''@,$(M4),g'  -e 's,@''AWK''@,$(AWK),g'         -e 's,@''SHELL''@,$(SHELL),g'   -e 's,@''VERSION''@,$(VERSION),g' -e 's,@''PACKAGE''@,$(PACKAGE),g'
+editsh = sed -e 's,@''datadir''@,$(pkgdatadir),g' -e \
+       's,@''M4''@,$(M4),g'  -e 's,@''AWK''@,$(AWK),g' \
+       -e 's,@''SHELL''@,$(SHELL),g' \
+       -e 's,@''VERSION''@,$(VERSION),g' -e 's,@''PACKAGE''@,$(PACKAGE),g'
+
+editpl = sed -e 's,@''datadir''@,$(pkgdatadir),g' -e 's,@''PERL''@,$(PERL),g' \
+       -e 's,@''VERSION''@,$(VERSION),g' -e 's,@''PACKAGE''@,$(PACKAGE),g'
 
-editpl = sed -e 's,@''datadir''@,$(pkgdatadir),g' -e 's,@''PERL''@,$(PERL),g'  -e 's,@''VERSION''@,$(VERSION),g' -e 's,@''PACKAGE''@,$(PACKAGE),g'
 
+common = libm4.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 acversion.m4
+subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_CLEAN_FILES =  acversion.m4
 SCRIPTS =  $(bin_SCRIPTS)
 
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = 
 TEXI2DVI = texi2dvi
 INFO_DEPS = autoconf.info standards.info
 DVIS = autoconf.dvi standards.dvi
 TEXINFOS = autoconf.texi standards.texi
 DATA =  $(pkgdata_DATA)
 
-DIST_COMMON =  README $(autoconf_TEXINFOS) $(standards_TEXINFOS) AUTHORS \
-COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS THANKS TODO \
-aclocal.m4 acversion.m4.in config.guess config.sub configure \
-configure.in install-sh mdate-sh missing mkinstalldirs stamp-vti \
-texinfo.tex version.texi
+DIST_COMMON =  README $(autoconf_TEXINFOS) $(pkgdata_DATA) \
+$(standards_TEXINFOS) AUTHORS COPYING ChangeLog INSTALL Makefile.am \
+Makefile.in NEWS THANKS TODO aclocal.m4 acversion.m4.in config.guess \
+config.sub configure configure.in depcomp install-sh mdate-sh missing \
+mkinstalldirs stamp-vti texinfo.tex version.texi
 
 
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
 
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
@@ -154,19 +175,22 @@ install-binSCRIPTS: $(bin_SCRIPTS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(bindir)
        @list='$(bin_SCRIPTS)'; for p in $$list; do \
+         f="`echo $$p|sed '$(transform)'`"; \
          if test -f $$p; then \
-           echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
-           $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
-         else if test -f $(srcdir)/$$p; then \
-           echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
-           $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
-         else :; fi; fi; \
+           echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f"; \
+           $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f; \
+         elif test -f $(srcdir)/$$p; then \
+           echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f"; \
+           $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f; \
+         else :; fi; \
        done
 
 uninstall-binSCRIPTS:
        @$(NORMAL_UNINSTALL)
-       list='$(bin_SCRIPTS)'; for p in $$list; do \
-         rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
+       @list='$(bin_SCRIPTS)'; for p in $$list; do \
+         f="`echo $$p|sed '$(transform)'`"; \
+         echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
+         rm -f $(DESTDIR)$(bindir)/$$f; \
        done
 
 $(srcdir)/version.texi: stamp-vti
@@ -208,7 +232,7 @@ DVIPS = dvips
          && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
 
 .texi.dvi:
-       TEXINPUTS=.:$$TEXINPUTS \
+       TEXINPUTS=$(srcdir):$$TEXINPUTS \
          MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
 
 .texi:
@@ -227,7 +251,7 @@ DVIPS = dvips
          && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
 
 .texinfo.dvi:
-       TEXINPUTS=.:$$TEXINPUTS \
+       TEXINPUTS=$(srcdir):$$TEXINPUTS \
          MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
 
 .txi.info:
@@ -236,7 +260,7 @@ DVIPS = dvips
          && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
 
 .txi.dvi:
-       TEXINPUTS=.:$$TEXINPUTS \
+       TEXINPUTS=$(srcdir):$$TEXINPUTS \
          MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
 
 .txi:
@@ -252,7 +276,7 @@ install-info-am: $(INFO_DEPS)
        @list='$(INFO_DEPS)'; \
        for file in $$list; do \
          d=$(srcdir); \
-         for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
+         for ifile in `CDPATH=: && cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
            if test -f $$d/$$ifile; then \
              echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
              $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
@@ -271,24 +295,26 @@ install-info-am: $(INFO_DEPS)
 uninstall-info:
        $(PRE_UNINSTALL)
        @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
-         ii=yes; \
-       else ii=; fi; \
-       list='$(INFO_DEPS)'; \
-       for file in $$list; do \
-         test -z "$ii" \
-           || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
-       done
+         list='$(INFO_DEPS)'; \
+         for file in $$list; do \
+           echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file"; \
+           install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file; \
+         done; \
+       else :; fi
        @$(NORMAL_UNINSTALL)
-       list='$(INFO_DEPS)'; \
+       @list='$(INFO_DEPS)'; \
        for file in $$list; do \
-         (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
+         (if cd $(DESTDIR)$(infodir); then \
+            echo " rm -f $$file $$file-[0-9] $$file-[0-9][0-9])"; \
+            rm -f $$file $$file-[0-9] $$file-[0-9][0-9]; \
+          else :; fi); \
        done
 
 dist-info: $(INFO_DEPS)
        list='$(INFO_DEPS)'; \
        for base in $$list; do \
          d=$(srcdir); \
-         for file in `cd $$d && eval echo $$base*`; do \
+         for file in `CDPATH=: && cd $$d && eval echo $$base*`; do \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
            || cp -p $$d/$$file $(distdir)/$$file; \
@@ -297,15 +323,16 @@ dist-info: $(INFO_DEPS)
 
 mostlyclean-aminfo:
        -rm -f autoconf.aux autoconf.cp autoconf.cps autoconf.dvi autoconf.fn \
-         autoconf.fns autoconf.ky autoconf.kys autoconf.ps \
-         autoconf.log autoconf.pg autoconf.toc autoconf.tp \
+         autoconf.fns autoconf.pgs autoconf.ky autoconf.kys \
+         autoconf.ps autoconf.log autoconf.pg autoconf.toc autoconf.tp \
          autoconf.tps autoconf.vr autoconf.vrs autoconf.op autoconf.tr \
-         autoconf.cv autoconf.cn standards.aux standards.cp \
-         standards.cps standards.dvi standards.fn standards.fns \
-         standards.ky standards.kys standards.ps standards.log \
-         standards.pg standards.toc standards.tp standards.tps \
-         standards.vr standards.vrs standards.op standards.tr \
-         standards.cv standards.cn
+         autoconf.cv autoconf.cn autoconf.cm autoconf.ov standards.aux \
+         standards.cp standards.cps standards.dvi standards.fn \
+         standards.fns standards.pgs standards.ky standards.kys \
+         standards.ps standards.log standards.pg standards.toc \
+         standards.tp standards.tps standards.vr standards.vrs \
+         standards.op standards.tr standards.cv standards.cn \
+         standards.cm standards.ov
 
 clean-aminfo:
 
@@ -323,19 +350,18 @@ install-pkgdataDATA: $(pkgdata_DATA)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
        @list='$(pkgdata_DATA)'; for p in $$list; do \
-         if test -f $(srcdir)/$$p; then \
-           echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \
-           $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \
-         else if test -f $$p; then \
-           echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \
-           $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \
-         fi; fi; \
+         if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
+         f="`echo $$p | sed -e 's|^.*/||'`"; \
+         echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \
+         $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \
        done
 
 uninstall-pkgdataDATA:
        @$(NORMAL_UNINSTALL)
-       list='$(pkgdata_DATA)'; for p in $$list; do \
-         rm -f $(DESTDIR)$(pkgdatadir)/$$p; \
+       @list='$(pkgdata_DATA)'; for p in $$list; do \
+         f="`echo $$p | sed -e 's|^.*/||'`"; \
+         echo " rm -f $(DESTDIR)$(pkgdatadir)/$$f"; \
+         rm -f $(DESTDIR)$(pkgdatadir)/$$f; \
        done
 
 # This directory's subdirectories are mostly independent; you can cd
@@ -345,8 +371,6 @@ uninstall-pkgdataDATA:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 
-@SET_MAKE@
-
 all-recursive install-data-recursive install-exec-recursive \
 installdirs-recursive install-recursive uninstall-recursive  \
 check-recursive installcheck-recursive info-recursive dvi-recursive:
@@ -374,7 +398,7 @@ maintainer-clean-recursive:
        dot_seen=no; \
        rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
          rev="$$subdir $$rev"; \
-         test "$$subdir" = "." && dot_seen=yes; \
+         if test "$$subdir" = "."; then dot_seen=yes; else :; fi; \
        done; \
        test "$$dot_seen" = "no" && rev=". $$rev"; \
        target=`echo $@ | sed s/-recursive//`; \
@@ -395,15 +419,17 @@ tags-recursive:
 
 tags: TAGS
 
-ID: $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS)'; \
-       unique=`for i in $$list; do echo $$i; done | \
-         awk '    { files[$$0] = 1; } \
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       here=`pwd` && cd $(srcdir) \
-         && mkid -f$$here/ID $$unique $(LISP)
+       mkid -f$$here/ID $$unique $(LISP)
 
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -411,12 +437,14 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
    fi; \
        done; \
-       list='$(SOURCES) $(HEADERS)'; \
-       unique=`for i in $$list; do echo $$i; done | \
-         awk '    { files[$$0] = 1; } \
+       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
        test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
 
 mostlyclean-tags:
 
@@ -430,54 +458,64 @@ maintainer-clean-tags:
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
 
+
 # This target untars the dist file and tries a VPATH configuration.  Then
 # it guarantees that the distribution is self-contained by making another
 # tarfile.
 distcheck: dist
-       -rm -rf $(distdir)
-       GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+       -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
+       GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
+       chmod -R a-w $(distdir); chmod a+w $(distdir)
        mkdir $(distdir)/=build
        mkdir $(distdir)/=inst
-       dc_install_base=`cd $(distdir)/=inst && pwd`; \
-       cd $(distdir)/=build \
+       chmod a-w $(distdir)
+       dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \
+         && cd $(distdir)/=build \
          && ../configure --srcdir=.. --prefix=$$dc_install_base \
          && $(MAKE) $(AM_MAKEFLAGS) \
          && $(MAKE) $(AM_MAKEFLAGS) dvi \
          && $(MAKE) $(AM_MAKEFLAGS) check \
          && $(MAKE) $(AM_MAKEFLAGS) install \
          && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) dist
-       -rm -rf $(distdir)
+         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+         && test `find $$dc_install_base -type f -print | wc -l` -le 1 \
+         && $(MAKE) $(AM_MAKEFLAGS) dist \
+         && $(MAKE) $(AM_MAKEFLAGS) distclean \
+         && rm -f $(distdir).tar.gz \
+         && test `find . -type f -print | wc -l` -eq 0
+       -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
        @banner="$(distdir).tar.gz is ready for distribution"; \
        dashes=`echo "$$banner" | sed s/./=/g`; \
        echo "$$dashes"; \
        echo "$$banner"; \
        echo "$$dashes"
 dist: distdir
-       -chmod -R a+r $(distdir)
-       GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
-       -rm -rf $(distdir)
+       -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+       || chmod -R a+r $(distdir)
+       $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz
+       -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
 dist-all: distdir
-       -chmod -R a+r $(distdir)
-       GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
-       -rm -rf $(distdir)
+       -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+       || chmod -R a+r $(distdir)
+       $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz
+       -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
 distdir: $(DISTFILES)
        @if sed 15q $(srcdir)/NEWS | fgrep -e "$(VERSION)" > /dev/null; then :; else \
          echo "NEWS not updated; not releasing" 1>&2; \
          exit 1; \
        fi
-       -rm -rf $(distdir)
+       -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
        mkdir $(distdir)
-       -chmod 777 $(distdir)
-       here=`cd $(top_builddir) && pwd`; \
-       top_distdir=`cd $(distdir) && pwd`; \
-       distdir=`cd $(distdir) && pwd`; \
-       cd $(top_srcdir) \
-         && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
-           cp -pr $$d/$$file $(distdir)/$$file; \
+           cp -pR $$d/$$file $(distdir); \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
@@ -489,7 +527,6 @@ distdir: $(DISTFILES)
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
            || exit 1; \
-           chmod 777 $(distdir)/$$subdir; \
            (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
              || exit 1; \
          fi; \
@@ -519,7 +556,7 @@ uninstall: uninstall-recursive
 all-am: Makefile $(INFO_DEPS) $(SCRIPTS) $(DATA)
 all-redirect: all-recursive
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
 installdirs: installdirs-recursive
 installdirs-am:
        $(mkinstalldirs)  $(DESTDIR)$(bindir) $(DESTDIR)$(infodir) \
@@ -536,6 +573,7 @@ distclean-generic:
        -rm -f config.cache config.log stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
+       -rm -f Makefile.in
 mostlyclean-am:  mostlyclean-vti mostlyclean-aminfo mostlyclean-tags \
                mostlyclean-generic
 
@@ -565,7 +603,8 @@ maintainer-clean: maintainer-clean-recursive
 distclean-vti clean-vti maintainer-clean-vti install-info-am \
 uninstall-info mostlyclean-aminfo distclean-aminfo clean-aminfo \
 maintainer-clean-aminfo uninstall-pkgdataDATA install-pkgdataDATA \
-install-data-recursive uninstall-data-recursive install-exec-recursive \
+install-recursive uninstall-recursive install-data-recursive \
+uninstall-data-recursive install-exec-recursive \
 uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
 all-recursive check-recursive installcheck-recursive info-recursive \
 dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
@@ -573,9 +612,10 @@ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
 distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
 dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
 install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+uninstall-am uninstall all-redirect all-am all install-strip \
+installdirs-am installdirs mostlyclean-generic distclean-generic \
+clean-generic maintainer-clean-generic clean mostlyclean distclean \
+maintainer-clean
 
 
 # INSTALL is a special case.  Automake seems to have a single name space
@@ -609,8 +649,9 @@ install-data-hook: INSTALL.txt
        *) echo Error: Autoconf requires GNU m4 1.4 or later; exit 1 ;; \
        esac
 
-autoconf.m4f: autoconf.m4 libm4.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 acversion.m4
-autoheader.m4f: autoheader.m4 libm4.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 acversion.m4
+autoconf.m4f: autoconf.m4 $(common)
+autoheader.m4f: autoheader.m4 $(common)
+autoupdate.m4f: autoupdate.m4 $(common)
 
 # The documentation
 
index 1a92edacc736b47fceeb4eb42d00197f130e2de5..7bc002436b17b6cbfae40b8d03f2557b7bade192 100644 (file)
@@ -55,6 +55,7 @@
 ## The diversions.  ##
 ## ---------------- ##
 
+m4_namespace_push(autoconf)
 
 # m4 output diversions.  We let m4 output them all in order at the end,
 # except that we explicitly undivert AC_DIVERSION_SED, AC_DIVERSION_CMDS,
@@ -181,6 +182,32 @@ define(AC_SPECIALIZE,
        [indir([$1], m4_shift($@))])])
 
 
+# AU_DEFUN(NAME, NEW-CODE, [MESSAGE])
+# -----------------------------------
+# Declare that the macro NAME is now obsoleted, and should be replaced
+# by NEW-CODE.  Tell the user she should run autoupdate, and include
+# the additional MESSAGE.
+#
+# Also define NAME as a macro which code is NEW-CODE.
+#
+# This allows to share the same code for both supporting obsoleted macros,
+# and to update a configure.in.
+# See `acobsolete.m4' for a longer description.
+define(AU_DEFUN,
+[define([$1],
+[m4_warn([The macro `$1' is obsolete.
+You should run autoupdate.])dnl
+$2])dnl
+m4_namespace_define(autoupdate, [$1],
+[m4_changequote([, ])m4_dnl
+m4_enable(libm4)m4_dnl
+m4_warn([Updating use of `$1'. $3])m4_dnl
+$2[]m4_dnl
+m4_disable(libm4)m4_dnl
+m4_changequote(, )m4_dnl
+])])
+
+
 ## ----------------------------- ##
 ## Dependencies between macros.  ##
 ## ----------------------------- ##
@@ -403,6 +430,7 @@ define([AC_FOREACH],
 
 
 
+
 ## ----------------------------------- ##
 ## Helping macros to display strings.  ##
 ## ----------------------------------- ##
@@ -1170,10 +1198,9 @@ ifelse([$4], , , [else
 fi
 ])
 
-AC_DEFUN(AC_ENABLE,
-[AC_OBSOLETE([$0], [; instead use AC_ARG_ENABLE])dnl
-AC_ARG_ENABLE([$1], [  --enable-$1], [$2], [$3])dnl
-])
+
+AU_DEFUN(AC_ENABLE,
+[AC_ARG_ENABLE([$1], [  --enable-$1], [$2], [$3])])
 
 
 ## ------------------------------ ##
@@ -1198,10 +1225,8 @@ ifelse([$4], , , [else
 fi
 ])
 
-AC_DEFUN(AC_WITH,
-[AC_OBSOLETE([$0], [; instead use AC_ARG_WITH])dnl
-AC_ARG_WITH([$1], [  --with-$1], [$2], [$3])dnl
-])
+AU_DEFUN(AC_WITH,
+[AC_ARG_WITH([$1], [  --with-$1], [$2], [$3])])
 
 
 
@@ -2959,6 +2984,7 @@ ifelse([$2],,, [AC_FOREACH([AC_File], [$1],
 ])])])dnl
 ])dnl
 
+
 # Initialize the list.
 define([AC_LIST_LINKS])
 define([AC_LIST_LINKS_COMMANDS])
@@ -2968,24 +2994,23 @@ define([AC_LIST_LINKS_COMMANDS])
 # ---------------------------------
 # Link each of the existing files SOURCE... to the corresponding
 # link name in DEST...
-AC_DEFUN(AC_LINK_FILES,
-[AC_OBSOLETE([$0], [; instead use AC_CONFIG_LINKS(DEST:SOURCE...)])dnl
-ifelse($#, 2, ,
-  [AC_FATAL([$0: incorrect number of arguments])])dnl
-dnl
-pushdef([AC_Sources], m4_split(m4_strip(m4_join([$1]))))dnl
-pushdef([AC_Dests], m4_split(m4_strip(m4_join([$2]))))dnl
+AU_DEFUN([AC_LINK_FILES],
+[ifelse($#, 2, ,
+        [m4_fatal([$0: incorrect number of arguments])])dnl
+pushdef([AC_Srcs], m4_split(m4_strip(m4_join([$1]))))dnl
+pushdef([AC_Dsts], m4_split(m4_strip(m4_join([$2]))))dnl
 dnl
-m4_foreach([AC_Dummy], (AC_Sources),
-[AC_CONFIG_LINKS(m4_car(AC_Dests):m4_car(AC_Sources))
-define([AC_Sources], m4_quote(m4_shift(AC_Sources)))
-define([AC_Dests], m4_quote(m4_shift(AC_Dests)))])dnl
+m4_foreach([AC_Dummy], (AC_Srcs),
+[AC_CONFIG_LINKS(m4_car(AC_Dsts):m4_car(AC_Srcs))dnl
+define([AC_Srcs], m4_shift(AC_Srcs))dnl
+define([AC_Dsts], m4_shift(AC_Dsts))])dnl
 dnl
-popdef([AC_Sources])dnl
-popdef([AC_Dests])dnl
+popdef([AC_Srcs])dnl
+popdef([AC_Dsts])dnl
 ])# AC_LINK_FILES
 
 
+
 # AC_CONFIG_FILES(FILE...[, COMMANDS])
 # ------------------------------------
 # Specify output files, as with AC_OUTPUT, i.e., files that are
@@ -3012,6 +3037,8 @@ ifelse([$2],,, [AC_FOREACH([AC_File], [$1],
 define([AC_LIST_FILES])
 define([AC_LIST_FILES_COMMANDS])
 
+
+
 # AC_CONFIG_COMMANDS(NAME..., COMMANDS)
 # -------------------------------------
 # Specify additional commands to be run by config.status.  This
index 322d08ed442c3a9a63829d93e1d426e845e0e28b..87cc3f36f904dfc96cd3730ebd700d9d33b939b0 100644 (file)
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 # 02111-1307, USA.
 #
-# Written by David David MacKenzie.
+# Originally written by David J. MacKenzie.
+
+## -------------- ##
+## Presentation.  ##
+## -------------- ##
+
+# This file is in charge both of providing implementation of
+# obsoleted macros, and to give autoupdate a means to update old
+# files.
+
+
+# Formerly, updating was performed by running `sed', but it was
+# limited to just replacing the old names with newer names, nothing
+# was possible when real glue code was needed.  One could think to
+# extend the `sed' snippet with specialized code for complex macros.
+# But this approach is of course full of flaws:
+
+# a. the Autoconf maintainers have to write these snippets, which we
+#    just don't want to,
+
+# b. I really don't think you'll ever manage to handle the quoting of
+#    m4 from sed.
+
+# To satisfy a., let's remark that the code which implements the old
+# features in term of the new feature is exactly the code which
+# should replace the old code.
+
+# To answer point b, as usual in the history of Autoconf, the answer,
+# at least on the paper, is simple: m4 is the best tool to parse m4,
+# so let's use m4.
+
+# Therefore the specification is as follow:
+
+#     I want to be able to tell Autoconf, well, m4, that the macro I
+#     am currently defining is an obsolete macro (so that the user is
+#     warned), which code is the code to use when running autoconf,
+#     but that the very same code has to be used when running
+#     autoupdate.  To summarize, the interface I want is
+#     `AU_DEFUN(OLD-NAME, NEW-CODE)'.
+
+
+
+# Now for the technical details.
+
+# When running autoconf, except for the warning, AU_DEFUN is
+# basically AC_DEFUN.
+
+# When running autoupdate, we want *only* OLD-NAMEs to be expanded.
+# This obviously means that acgeneral.m4 and acspecific.m4 must not
+# be loaded.  Nonetheless, because we want to use a rich set of m4
+# features, libm4.m4 is needed.  Please note that the fact that
+# autoconf's macros are not loaded is positive on two points:
+
+# - we do get an updated `configure.in', not a `configure'!
+
+# - the old macros are replaced by *calls* to the new-macros, not the
+#   body of the new macros, since their body is not defined!!!
+#   (Whoa, that's really beautiful!).
+
+# This first draft is quite functional, but there is a big flaw:
+# obsolete macros that are quoted will not be updated (since m4 won't
+# even try to expand them).  The solution is simple: we should just
+# disable the quotes.  Well, not quite: libm4.m4 still needs to use
+# quotes for some macros.  Well, in this case, when running in
+# autoupdate code, each macro first reestablishes the quotes, expands
+# itself, and disables the quotes.
+
+# Thinking a bit more, you realize that in fact, people may use `define'
+# `ifelse' etc. in their files, and you certainly don't want to process
+# them.  Another example is `dnl': you don't want to remove the comments.
+# You then realize you don't want exactly to import libm4: you want
+# to specify when it is enabled (macros active), and disabled.
+# libm4 provides m4_disable/m4_enable to this end.
+
+# You're getting close to it.  Now remains one task: how to handle
+# twofold definitions?
+
+# Remember that the same AU_DEFUN must be understand in two different
+# ways, the AC_ way, and the AU_ way.
+
+# One first solution is to check whether acgeneral.m4 was loaded.
+# But that's definitely not cute.  Another is simply to install
+# `hooks', that is to say, to keep in some place m4 knows, late
+# `define' to be triggered *only* in AU_ mode.
+
+# You first think to design AU_DEFUN like this:
+
+# 1. AC_DEFUN(OLD-NAME,
+#            [Warn the user OLD-NAME is obsolete.
+#             NEW-CODE])
+
+# 2. Store for late AU_ binding([define(OLD_NAME,
+#                               [Reestablish the quotes.
+#                                NEW-CODE
+#                                Disable the quotes.])])
+
+# but this will not work: NEW-CODE has probably $1, $2 etc. and these
+# guys will be replaced with the argument of `Store for late AU_
+# binding' when you call it.
+
+# I don't think there is a means to avoid this using this technology
+# (remember that $1 etc. are *always* expanded in m4).  You may also
+# try to replace them with $[1] to preserve them for a later
+# evaluation, but if `Store for late AU_ binding' is properly
+# written, it will remain quoted till the end...
+
+# You have to change technology.  Since the problem is that `$1'
+# etc. should be `consumed' right away, one solution is to define now
+# a second macro, `AU_OLD-NAME', and to install a hook than binds
+# OLD-NAME to AU_OLD-NAME.  Then, autoupdate.m4 just need to run the
+# hooks.  By the way, the same method is used in autoheader.
+
+
+
+
 
 ## ---------------------------- ##
 ## General macros of autoconf.  ##
 ## ---------------------------- ##
 
-define(AC_WARN, [indir([AC_MSG_WARN], $@)])
-define(AC_ERROR, [indir([AC_MSG_ERROR], $@)])
-AC_DEFUN(AC_FUNC_CHECK, [indir([AC_CHECK_FUNC], $@)])
-AC_DEFUN(AC_HAVE_FUNCS, [indir([AC_CHECK_FUNCS], $@)])
-AC_DEFUN(AC_HAVE_HEADERS, [indir([AC_CHECK_HEADERS], $@)])
-AC_DEFUN(AC_HEADER_CHECK, [indir([AC_CHECK_HEADER], $@)])
-AC_DEFUN(AC_HEADER_EGREP, [indir([AC_EGREP_HEADER], $@)])
-AC_DEFUN(AC_PREFIX, [indir([AC_PREFIX_PROGRAM], $@)])
-AC_DEFUN(AC_PROGRAMS_CHECK, [indir([AC_CHECK_PROGS], $@)])
-AC_DEFUN(AC_PROGRAMS_PATH, [indir([AC_PATH_PROGS], $@)])
-AC_DEFUN(AC_PROGRAM_CHECK, [indir([AC_CHECK_PROG], $@)])
-AC_DEFUN(AC_PROGRAM_EGREP, [indir([AC_EGREP_CPP], $@)])
-AC_DEFUN(AC_PROGRAM_PATH, [indir([AC_PATH_PROG], $@)])
-AC_DEFUN(AC_SIZEOF_TYPE, [indir([AC_CHECK_SIZEOF], $@)])
-AC_DEFUN(AC_TEST_CPP, [indir([AC_TRY_CPP], $@)])
-AC_DEFUN(AC_TEST_PROGRAM, [indir([AC_TRY_RUN], $@)])
+AU_DEFUN(AC_WARN, [AC_MSG_WARN($@)])
+AU_DEFUN(AC_ERROR, [AC_MSG_ERROR($@)])
+AU_DEFUN(AC_FUNC_CHECK, [AC_CHECK_FUNC($@)])
+AU_DEFUN(AC_HAVE_FUNCS, [AC_CHECK_FUNCS($@)])
+AU_DEFUN(AC_HAVE_HEADERS, [AC_CHECK_HEADERS($@)])
+AU_DEFUN(AC_HEADER_CHECK, [AC_CHECK_HEADER($@)])
+AU_DEFUN(AC_HEADER_EGREP, [AC_EGREP_HEADER($@)])
+AU_DEFUN(AC_PREFIX, [AC_PREFIX_PROGRAM($@)])
+AU_DEFUN(AC_PROGRAMS_CHECK, [AC_CHECK_PROGS($@)])
+AU_DEFUN(AC_PROGRAMS_PATH, [AC_PATH_PROGS($@)])
+AU_DEFUN(AC_PROGRAM_CHECK, [AC_CHECK_PROG($@)])
+AU_DEFUN(AC_PROGRAM_EGREP, [AC_EGREP_CPP($@)])
+AU_DEFUN(AC_PROGRAM_PATH, [AC_PATH_PROG($@)])
+AU_DEFUN(AC_SIZEOF_TYPE, [AC_CHECK_SIZEOF($@)])
+AU_DEFUN(AC_TEST_CPP, [AC_TRY_CPP($@)])
+AU_DEFUN(AC_TEST_PROGRAM, [AC_TRY_RUN($@)])
 
 
 
@@ -46,53 +160,53 @@ AC_DEFUN(AC_TEST_PROGRAM, [indir([AC_TRY_RUN], $@)])
 ## Specific macros of autoconf.  ##
 ## ----------------------------- ##
 
-AC_DEFUN(AC_ALLOCA, [indir([AC_FUNC_ALLOCA])])
-AC_DEFUN(AC_CHAR_UNSIGNED, [indir([AC_C_CHAR_UNSIGNED])])
-AC_DEFUN(AC_CONST, [indir([AC_C_CONST])])
-AC_DEFUN(AC_CROSS_CHECK, [indir([AC_C_CROSS])])
-AC_DEFUN(AC_FIND_X, [indir([AC_PATH_X])])
-AC_DEFUN(AC_FIND_XTRA, [indir([AC_PATH_XTRA])])
-AC_DEFUN(AC_GCC_TRADITIONAL, [indir([AC_PROG_GCC_TRADITIONAL])])
-AC_DEFUN(AC_GETGROUPS_T, [indir([AC_TYPE_GETGROUPS])])
-AC_DEFUN(AC_GETLOADAVG, [indir([AC_FUNC_GETLOADAVG])])
-AC_DEFUN(AC_INLINE, [indir([AC_C_INLINE])])
-AC_DEFUN(AC_LN_S, [indir([AC_PROG_LN_S])])
-AC_DEFUN(AC_LONG_DOUBLE, [indir([AC_C_LONG_DOUBLE])])
-AC_DEFUN(AC_LONG_FILE_NAMES, [indir([AC_SYS_LONG_FILE_NAMES])])
-AC_DEFUN(AC_MAJOR_HEADER, [indir([AC_HEADER_MAJOR])])
-AC_DEFUN(AC_MINUS_C_MINUS_O, [indir([AC_PROG_CC_C_O])])
-AC_DEFUN(AC_MMAP, [indir([AC_FUNC_MMAP])])
-AC_DEFUN(AC_MODE_T, [indir([AC_TYPE_MODE_T])])
-AC_DEFUN(AC_OFF_T, [indir([AC_TYPE_OFF_T])])
-AC_DEFUN(AC_PID_T, [indir([AC_TYPE_PID_T])])
-AC_DEFUN(AC_RESTARTABLE_SYSCALLS, [indir([AC_SYS_RESTARTABLE_SYSCALLS])])
-AC_DEFUN(AC_RETSIGTYPE, [indir([AC_TYPE_SIGNAL])])
-AC_DEFUN(AC_SETVBUF_REVERSED, [indir([AC_FUNC_SETVBUF_REVERSED])])
-AC_DEFUN(AC_SET_MAKE, [indir([AC_PROG_MAKE_SET])])
-AC_DEFUN(AC_SIZE_T, [indir([AC_TYPE_SIZE_T])])
-AC_DEFUN(AC_STAT_MACROS_BROKEN, [indir([AC_HEADER_STAT])])
-AC_DEFUN(AC_STDC_HEADERS, [indir([AC_HEADER_STDC])])
-AC_DEFUN(AC_STRCOLL, [indir([AC_FUNC_STRCOLL])])
-AC_DEFUN(AC_ST_BLKSIZE, [indir([AC_STRUCT_ST_BLKSIZE])])
-AC_DEFUN(AC_ST_BLOCKS, [indir([AC_STRUCT_ST_BLOCKS])])
-AC_DEFUN(AC_ST_RDEV, [indir([AC_STRUCT_ST_RDEV])])
-AC_DEFUN(AC_SYS_SIGLIST_DECLARED, [indir([AC_DECL_SYS_SIGLIST])])
-AC_DEFUN(AC_TIMEZONE, [indir([AC_STRUCT_TIMEZONE])])
-AC_DEFUN(AC_TIME_WITH_SYS_TIME, [indir([AC_HEADER_TIME])])
-AC_DEFUN(AC_UID_T, [indir([AC_TYPE_UID_T])])
-AC_DEFUN(AC_UTIME_NULL, [indir([AC_FUNC_UTIME_NULL])])
-AC_DEFUN(AC_VFORK, [indir([AC_FUNC_VFORK])])
-AC_DEFUN(AC_VPRINTF, [indir([AC_FUNC_VPRINTF])])
-AC_DEFUN(AC_WAIT3, [indir([AC_FUNC_WAIT3])])
-AC_DEFUN(AC_WORDS_BIGENDIAN, [indir([AC_C_BIGENDIAN])])
-AC_DEFUN(AC_YYTEXT_POINTER, [indir([AC_DECL_YYTEXT])])
-AC_DEFUN(AM_CYGWIN32, [indir([AC_CYGWIN32])])
-AC_DEFUN(AM_EXEEXT, [indir([AC_EXEEXT])])
-AC_DEFUN(AM_FUNC_FNMATCH, [indir([AC_FUNC_FNMATCH])])
-AC_DEFUN(AM_FUNC_MKTIME, [indir([AC_FUNC_MKTIME])])
+AU_DEFUN(AC_ALLOCA, [AC_FUNC_ALLOCA])
+AU_DEFUN(AC_CHAR_UNSIGNED, [AC_C_CHAR_UNSIGNED])
+AU_DEFUN(AC_CONST, [AC_C_CONST])
+AU_DEFUN(AC_CROSS_CHECK, [AC_C_CROSS])
+AU_DEFUN(AC_FIND_X, [AC_PATH_X])
+AU_DEFUN(AC_FIND_XTRA, [AC_PATH_XTRA])
+AU_DEFUN(AC_GCC_TRADITIONAL, [AC_PROG_GCC_TRADITIONAL])
+AU_DEFUN(AC_GETGROUPS_T, [AC_TYPE_GETGROUPS])
+AU_DEFUN(AC_GETLOADAVG, [AC_FUNC_GETLOADAVG])
+AU_DEFUN(AC_INLINE, [AC_C_INLINE])
+AU_DEFUN(AC_LN_S, [AC_PROG_LN_S])
+AU_DEFUN(AC_LONG_DOUBLE, [AC_C_LONG_DOUBLE])
+AU_DEFUN(AC_LONG_FILE_NAMES, [AC_SYS_LONG_FILE_NAMES])
+AU_DEFUN(AC_MAJOR_HEADER, [AC_HEADER_MAJOR])
+AU_DEFUN(AC_MINUS_C_MINUS_O, [AC_PROG_CC_C_O])
+AU_DEFUN(AC_MMAP, [AC_FUNC_MMAP])
+AU_DEFUN(AC_MODE_T, [AC_TYPE_MODE_T])
+AU_DEFUN(AC_OFF_T, [AC_TYPE_OFF_T])
+AU_DEFUN(AC_PID_T, [AC_TYPE_PID_T])
+AU_DEFUN(AC_RESTARTABLE_SYSCALLS, [AC_SYS_RESTARTABLE_SYSCALLS])
+AU_DEFUN(AC_RETSIGTYPE, [AC_TYPE_SIGNAL])
+AU_DEFUN(AC_SETVBUF_REVERSED, [AC_FUNC_SETVBUF_REVERSED])
+AU_DEFUN(AC_SET_MAKE, [AC_PROG_MAKE_SET])
+AU_DEFUN(AC_SIZE_T, [AC_TYPE_SIZE_T])
+AU_DEFUN(AC_STAT_MACROS_BROKEN, [AC_HEADER_STAT])
+AU_DEFUN(AC_STDC_HEADERS, [AC_HEADER_STDC])
+AU_DEFUN(AC_STRCOLL, [AC_FUNC_STRCOLL])
+AU_DEFUN(AC_ST_BLKSIZE, [AC_STRUCT_ST_BLKSIZE])
+AU_DEFUN(AC_ST_BLOCKS, [AC_STRUCT_ST_BLOCKS])
+AU_DEFUN(AC_ST_RDEV, [AC_STRUCT_ST_RDEV])
+AU_DEFUN(AC_SYS_SIGLIST_DECLARED, [AC_DECL_SYS_SIGLIST])
+AU_DEFUN(AC_TIMEZONE, [AC_STRUCT_TIMEZONE])
+AU_DEFUN(AC_TIME_WITH_SYS_TIME, [AC_HEADER_TIME])
+AU_DEFUN(AC_UID_T, [AC_TYPE_UID_T])
+AU_DEFUN(AC_UTIME_NULL, [AC_FUNC_UTIME_NULL])
+AU_DEFUN(AC_VFORK, [AC_FUNC_VFORK])
+AU_DEFUN(AC_VPRINTF, [AC_FUNC_VPRINTF])
+AU_DEFUN(AC_WAIT3, [AC_FUNC_WAIT3])
+AU_DEFUN(AC_WORDS_BIGENDIAN, [AC_C_BIGENDIAN])
+AU_DEFUN(AC_YYTEXT_POINTER, [AC_DECL_YYTEXT])
+AU_DEFUN(AM_CYGWIN32, [AC_CYGWIN32])
+AU_DEFUN(AM_EXEEXT, [AC_EXEEXT])
+AU_DEFUN(AM_FUNC_FNMATCH, [AC_FUNC_FNMATCH])
+AU_DEFUN(AM_FUNC_MKTIME, [AC_FUNC_MKTIME])
 # We cannot do this, because in libtool.m4 yet they provide
 # this update.  Some solution is needed.
-# AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])
-AC_DEFUN(AM_MINGW32, [indir([AC_MINGW32])])
-AC_DEFUN(AM_PROG_INSTALL, [indir([AC_PROG_INSTALL])])
-AC_DEFUN(fp_FUNC_FNMATCH, [indir([AC_FUNC_FNMATCH])])
+# AU_DEFUN(AM_PROG_LIBTOOL, [AC_PROG_LIBTOOL])
+AU_DEFUN(AM_MINGW32, [AC_MINGW32])
+AU_DEFUN(AM_PROG_INSTALL, [AC_PROG_INSTALL])
+AU_DEFUN(fp_FUNC_FNMATCH, [AC_FUNC_FNMATCH])
index 38003abf6f8adadbca4a0a6970ed6592db8845d3..f5a0cf2a69d869884ec26ee20248a76beddf6055 100644 (file)
@@ -3461,9 +3461,8 @@ AC_SUBST(X_EXTRA_LIBS)dnl
 ])
 
 # The old Cygwin32 macro is deprecated.
-AC_DEFUN(AC_CYGWIN32,
-[AC_OBSOLETE([$0], [; instead use AC_CYGWIN])dnl
-AC_CYGWIN])
+AU_DEFUN(AC_CYGWIN32,
+[AC_CYGWIN])
 
 
 # AC_CYGWIN
index ac88d5ea4efe253cee6f9554cb780efc69557ad7..32277182e01e34205f108e24997fb77ab73311bf 100644 (file)
@@ -27,6 +27,7 @@ m4_include(acversion.m4)
 m4_include(acgeneral.m4)
 m4_include(acspecific.m4)
 m4_include(acoldnames.m4)
+m4_namespace_push(autoheader)
 
 
 # AH_DEFUN(MACRO, VALUE)
diff --git a/autoupdate.m4 b/autoupdate.m4
new file mode 100644 (file)
index 0000000..78b44d0
--- /dev/null
@@ -0,0 +1,35 @@
+include(libm4.m4)#                                          -*- Autoconf -*-
+# This file is part of Autoconf.
+# Driver that loads the Autoupdate macro files.
+# Copyright (C) 1999 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+#
+# Written by Akim Demaille
+#
+# Do not sinclude acsite.m4 here, because it may not be installed
+# yet when Autoconf is frozen.
+# Do not sinclude ./aclocal.m4 here, to prevent it from being frozen.
+m4_include(acversion.m4)
+m4_include(acgeneral.m4)
+m4_include(acspecific.m4)
+m4_include(acoldnames.m4)
+m4_disable(autoconf)
+m4_enable(autoupdate)
+# Disable m4
+m4_disable(libm4)
+m4_changequote(, )
+divert(0)dnl
index 68ffb085bbf6d71593c86de21b84c51a9ad3bc88..e7198ad5adfe92a33b9ba11a1d0f742e57a2970a 100644 (file)
@@ -38,9 +38,10 @@ EXTRA_SCRIPTS = autoscan
 
 distpkgdataDATA = \
 acfunctions acheaders acidentifiers acmakevars acprograms \
-libm4.m4 acgeneral.m4 acoldnames.m4 acspecific.m4 autoconf.m4 autoheader.m4
+libm4.m4 acgeneral.m4 acoldnames.m4 acspecific.m4 autoconf.m4 autoheader.m4 \
+autoupdate.m4
 
-nodistpkgdataDATA = autoconf.m4f autoheader.m4f acversion.m4
+nodistpkgdataDATA = autoconf.m4f autoheader.m4f autoupdate.m4f acversion.m4
 
 pkgdata_DATA = $(distpkgdataDATA) $(nodistpkgdataDATA)
 
@@ -99,8 +100,11 @@ editpl = sed -e 's,@''datadir''@,$(pkgdatadir),g' -e 's,@''PERL''@,$(PERL),g' \
        *) echo Error: Autoconf requires GNU m4 1.4 or later; exit 1 ;; \
        esac
 
-autoconf.m4f: autoconf.m4 libm4.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 acversion.m4
-autoheader.m4f: autoheader.m4 libm4.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 acversion.m4
+common = libm4.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 acversion.m4
+
+autoconf.m4f: autoconf.m4 $(common)
+autoheader.m4f: autoheader.m4 $(common)
+autoupdate.m4f: autoupdate.m4 $(common)
 
 
 # The documentation
index b3c4931ef9b9fe859ba3c03e2c042ccf931bb90a..3cf29d0b83796b02b36eea13679cc4b7bf82fa16 100644 (file)
@@ -1,4 +1,4 @@
-# Makefile.in generated automatically by automake 1.4 from Makefile.am
+# Makefile.in generated automatically by automake 1.4a from Makefile.am
 
 # Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
@@ -10,7 +10,6 @@
 # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
 # PARTICULAR PURPOSE.
 
-
 SHELL = @SHELL@
 
 srcdir = @srcdir@
@@ -46,9 +45,10 @@ AUTOMAKE = @AUTOMAKE@
 AUTOHEADER = @AUTOHEADER@
 
 INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_FLAG =
 transform = @program_transform_name@
 
 NORMAL_INSTALL = :
@@ -57,6 +57,8 @@ POST_INSTALL = :
 NORMAL_UNINSTALL = :
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
+
+@SET_MAKE@
 AWK = @AWK@
 HELP2MAN = @HELP2MAN@
 M4 = @M4@
@@ -64,6 +66,7 @@ PERL = @PERL@
 PERLSCRIPTS = @PERLSCRIPTS@
 standards_texi = @standards_texi@
 
+
 AUTOMAKE_OPTIONS = check-news 1.4
 
 SUBDIRS = . m4 man tests
@@ -81,10 +84,13 @@ EXTRA_SCRIPTS = autoscan
 # s/nodistpackageDATA/nodist_pkgdata_DATA/
 # and adapt dependencies once we use a more recent Automake
 
-distpkgdataDATA =  acfunctions acheaders acidentifiers acmakevars acprograms libm4.m4 acgeneral.m4 acoldnames.m4 acspecific.m4 autoconf.m4 autoheader.m4
+distpkgdataDATA = \
+acfunctions acheaders acidentifiers acmakevars acprograms \
+libm4.m4 acgeneral.m4 acoldnames.m4 acspecific.m4 autoconf.m4 autoheader.m4 \
+autoupdate.m4
 
 
-nodistpkgdataDATA = autoconf.m4f autoheader.m4f acversion.m4
+nodistpkgdataDATA = autoconf.m4f autoheader.m4f autoupdate.m4f acversion.m4
 
 pkgdata_DATA = $(distpkgdataDATA) $(nodistpkgdataDATA)
 
@@ -93,44 +99,59 @@ autoconf_TEXINFOS = install.texi
 standards_TEXINFOS = make-stds.texi
 
 OLDCHANGELOGS = ChangeLog.0 ChangeLog.1
-EXTRA_DIST = $(OLDCHANGELOGS) autoconf.sh autoheader.sh autoreconf.sh autoupdate.sh ifnames.sh autoscan.pl INSTALL.txt $(distpkgdataDATA)
+EXTRA_DIST = $(OLDCHANGELOGS) \
+autoconf.sh autoheader.sh autoreconf.sh autoupdate.sh \
+ifnames.sh autoscan.pl INSTALL.txt \
+$(distpkgdataDATA)
 
 
 # Files that should be removed, but which Automake does not know.
 # There are texi2dvi files, frozen files, and the scripts.
-CLEANFILES = autoconf.cvs autoconf.ev autoconf.evs autoconf.ma autoconf.mas autoconf.ov autoconf.ovs autoconf.m4f autoheader.m4f $(bin_SCRIPTS)
+CLEANFILES = autoconf.cvs autoconf.ev autoconf.evs autoconf.ma autoconf.mas \
+autoconf.ov autoconf.ovs autoconf.m4f autoheader.m4f $(bin_SCRIPTS)
 
 
 # The scripts.
 
-editsh = sed -e 's,@''datadir''@,$(pkgdatadir),g' -e   's,@''M4''@,$(M4),g'  -e 's,@''AWK''@,$(AWK),g'         -e 's,@''SHELL''@,$(SHELL),g'   -e 's,@''VERSION''@,$(VERSION),g' -e 's,@''PACKAGE''@,$(PACKAGE),g'
+editsh = sed -e 's,@''datadir''@,$(pkgdatadir),g' -e \
+       's,@''M4''@,$(M4),g'  -e 's,@''AWK''@,$(AWK),g' \
+       -e 's,@''SHELL''@,$(SHELL),g' \
+       -e 's,@''VERSION''@,$(VERSION),g' -e 's,@''PACKAGE''@,$(PACKAGE),g'
+
+editpl = sed -e 's,@''datadir''@,$(pkgdatadir),g' -e 's,@''PERL''@,$(PERL),g' \
+       -e 's,@''VERSION''@,$(VERSION),g' -e 's,@''PACKAGE''@,$(PACKAGE),g'
 
-editpl = sed -e 's,@''datadir''@,$(pkgdatadir),g' -e 's,@''PERL''@,$(PERL),g'  -e 's,@''VERSION''@,$(VERSION),g' -e 's,@''PACKAGE''@,$(PACKAGE),g'
 
+common = libm4.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 acversion.m4
+subdir = .
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_CLEAN_FILES =  acversion.m4
 SCRIPTS =  $(bin_SCRIPTS)
 
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+DIST_SOURCES = 
 TEXI2DVI = texi2dvi
 INFO_DEPS = autoconf.info standards.info
 DVIS = autoconf.dvi standards.dvi
 TEXINFOS = autoconf.texi standards.texi
 DATA =  $(pkgdata_DATA)
 
-DIST_COMMON =  README $(autoconf_TEXINFOS) $(standards_TEXINFOS) AUTHORS \
-COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS THANKS TODO \
-aclocal.m4 acversion.m4.in config.guess config.sub configure \
-configure.in install-sh mdate-sh missing mkinstalldirs stamp-vti \
-texinfo.tex version.texi
+DIST_COMMON =  README $(autoconf_TEXINFOS) $(pkgdata_DATA) \
+$(standards_TEXINFOS) AUTHORS COPYING ChangeLog INSTALL Makefile.am \
+Makefile.in NEWS THANKS TODO aclocal.m4 acversion.m4.in config.guess \
+config.sub configure configure.in depcomp install-sh mdate-sh missing \
+mkinstalldirs stamp-vti texinfo.tex version.texi
 
 
 PACKAGE = @PACKAGE@
 VERSION = @VERSION@
 
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 
-TAR = tar
 GZIP_ENV = --best
 all: all-redirect
 .SUFFIXES:
@@ -154,19 +175,22 @@ install-binSCRIPTS: $(bin_SCRIPTS)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(bindir)
        @list='$(bin_SCRIPTS)'; for p in $$list; do \
+         f="`echo $$p|sed '$(transform)'`"; \
          if test -f $$p; then \
-           echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
-           $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
-         else if test -f $(srcdir)/$$p; then \
-           echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
-           $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
-         else :; fi; fi; \
+           echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f"; \
+           $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/$$f; \
+         elif test -f $(srcdir)/$$p; then \
+           echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f"; \
+           $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/$$f; \
+         else :; fi; \
        done
 
 uninstall-binSCRIPTS:
        @$(NORMAL_UNINSTALL)
-       list='$(bin_SCRIPTS)'; for p in $$list; do \
-         rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
+       @list='$(bin_SCRIPTS)'; for p in $$list; do \
+         f="`echo $$p|sed '$(transform)'`"; \
+         echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
+         rm -f $(DESTDIR)$(bindir)/$$f; \
        done
 
 $(srcdir)/version.texi: stamp-vti
@@ -208,7 +232,7 @@ DVIPS = dvips
          && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
 
 .texi.dvi:
-       TEXINPUTS=.:$$TEXINPUTS \
+       TEXINPUTS=$(srcdir):$$TEXINPUTS \
          MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
 
 .texi:
@@ -227,7 +251,7 @@ DVIPS = dvips
          && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
 
 .texinfo.dvi:
-       TEXINPUTS=.:$$TEXINPUTS \
+       TEXINPUTS=$(srcdir):$$TEXINPUTS \
          MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
 
 .txi.info:
@@ -236,7 +260,7 @@ DVIPS = dvips
          && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
 
 .txi.dvi:
-       TEXINPUTS=.:$$TEXINPUTS \
+       TEXINPUTS=$(srcdir):$$TEXINPUTS \
          MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
 
 .txi:
@@ -252,7 +276,7 @@ install-info-am: $(INFO_DEPS)
        @list='$(INFO_DEPS)'; \
        for file in $$list; do \
          d=$(srcdir); \
-         for ifile in `cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
+         for ifile in `CDPATH=: && cd $$d && echo $$file $$file-[0-9] $$file-[0-9][0-9]`; do \
            if test -f $$d/$$ifile; then \
              echo " $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile"; \
              $(INSTALL_DATA) $$d/$$ifile $(DESTDIR)$(infodir)/$$ifile; \
@@ -271,24 +295,26 @@ install-info-am: $(INFO_DEPS)
 uninstall-info:
        $(PRE_UNINSTALL)
        @if $(SHELL) -c 'install-info --version | sed 1q | fgrep -s -v -i debian' >/dev/null 2>&1; then \
-         ii=yes; \
-       else ii=; fi; \
-       list='$(INFO_DEPS)'; \
-       for file in $$list; do \
-         test -z "$ii" \
-           || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
-       done
+         list='$(INFO_DEPS)'; \
+         for file in $$list; do \
+           echo " install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file"; \
+           install-info --info-dir=$(DESTDIR)$(infodir) --remove $(DESTDIR)$(infodir)/$$file; \
+         done; \
+       else :; fi
        @$(NORMAL_UNINSTALL)
-       list='$(INFO_DEPS)'; \
+       @list='$(INFO_DEPS)'; \
        for file in $$list; do \
-         (cd $(DESTDIR)$(infodir) && rm -f $$file $$file-[0-9] $$file-[0-9][0-9]); \
+         (if cd $(DESTDIR)$(infodir); then \
+            echo " rm -f $$file $$file-[0-9] $$file-[0-9][0-9])"; \
+            rm -f $$file $$file-[0-9] $$file-[0-9][0-9]; \
+          else :; fi); \
        done
 
 dist-info: $(INFO_DEPS)
        list='$(INFO_DEPS)'; \
        for base in $$list; do \
          d=$(srcdir); \
-         for file in `cd $$d && eval echo $$base*`; do \
+         for file in `CDPATH=: && cd $$d && eval echo $$base*`; do \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
            || cp -p $$d/$$file $(distdir)/$$file; \
@@ -297,15 +323,16 @@ dist-info: $(INFO_DEPS)
 
 mostlyclean-aminfo:
        -rm -f autoconf.aux autoconf.cp autoconf.cps autoconf.dvi autoconf.fn \
-         autoconf.fns autoconf.ky autoconf.kys autoconf.ps \
-         autoconf.log autoconf.pg autoconf.toc autoconf.tp \
+         autoconf.fns autoconf.pgs autoconf.ky autoconf.kys \
+         autoconf.ps autoconf.log autoconf.pg autoconf.toc autoconf.tp \
          autoconf.tps autoconf.vr autoconf.vrs autoconf.op autoconf.tr \
-         autoconf.cv autoconf.cn standards.aux standards.cp \
-         standards.cps standards.dvi standards.fn standards.fns \
-         standards.ky standards.kys standards.ps standards.log \
-         standards.pg standards.toc standards.tp standards.tps \
-         standards.vr standards.vrs standards.op standards.tr \
-         standards.cv standards.cn
+         autoconf.cv autoconf.cn autoconf.cm autoconf.ov standards.aux \
+         standards.cp standards.cps standards.dvi standards.fn \
+         standards.fns standards.pgs standards.ky standards.kys \
+         standards.ps standards.log standards.pg standards.toc \
+         standards.tp standards.tps standards.vr standards.vrs \
+         standards.op standards.tr standards.cv standards.cn \
+         standards.cm standards.ov
 
 clean-aminfo:
 
@@ -323,19 +350,18 @@ install-pkgdataDATA: $(pkgdata_DATA)
        @$(NORMAL_INSTALL)
        $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
        @list='$(pkgdata_DATA)'; for p in $$list; do \
-         if test -f $(srcdir)/$$p; then \
-           echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \
-           $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \
-         else if test -f $$p; then \
-           echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \
-           $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \
-         fi; fi; \
+         if test -f "$$p"; then d= ; else d="$(srcdir)/"; fi; \
+         f="`echo $$p | sed -e 's|^.*/||'`"; \
+         echo " $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f"; \
+         $(INSTALL_DATA) $$d$$p $(DESTDIR)$(pkgdatadir)/$$f; \
        done
 
 uninstall-pkgdataDATA:
        @$(NORMAL_UNINSTALL)
-       list='$(pkgdata_DATA)'; for p in $$list; do \
-         rm -f $(DESTDIR)$(pkgdatadir)/$$p; \
+       @list='$(pkgdata_DATA)'; for p in $$list; do \
+         f="`echo $$p | sed -e 's|^.*/||'`"; \
+         echo " rm -f $(DESTDIR)$(pkgdatadir)/$$f"; \
+         rm -f $(DESTDIR)$(pkgdatadir)/$$f; \
        done
 
 # This directory's subdirectories are mostly independent; you can cd
@@ -345,8 +371,6 @@ uninstall-pkgdataDATA:
 #     (which will cause the Makefiles to be regenerated when you run `make');
 # (2) otherwise, pass the desired values on the `make' command line.
 
-@SET_MAKE@
-
 all-recursive install-data-recursive install-exec-recursive \
 installdirs-recursive install-recursive uninstall-recursive  \
 check-recursive installcheck-recursive info-recursive dvi-recursive:
@@ -374,7 +398,7 @@ maintainer-clean-recursive:
        dot_seen=no; \
        rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
          rev="$$subdir $$rev"; \
-         test "$$subdir" = "." && dot_seen=yes; \
+         if test "$$subdir" = "."; then dot_seen=yes; else :; fi; \
        done; \
        test "$$dot_seen" = "no" && rev=". $$rev"; \
        target=`echo $@ | sed s/-recursive//`; \
@@ -395,15 +419,17 @@ tags-recursive:
 
 tags: TAGS
 
-ID: $(HEADERS) $(SOURCES) $(LISP)
-       list='$(SOURCES) $(HEADERS)'; \
-       unique=`for i in $$list; do echo $$i; done | \
-         awk '    { files[$$0] = 1; } \
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
-       here=`pwd` && cd $(srcdir) \
-         && mkid -f$$here/ID $$unique $(LISP)
+       mkid -f$$here/ID $$unique $(LISP)
 
-TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
+TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+               $(TAGS_FILES) $(LISP)
        tags=; \
        here=`pwd`; \
        list='$(SUBDIRS)'; for subdir in $$list; do \
@@ -411,12 +437,14 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) $(LISP)
            test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
    fi; \
        done; \
-       list='$(SOURCES) $(HEADERS)'; \
-       unique=`for i in $$list; do echo $$i; done | \
-         awk '    { files[$$0] = 1; } \
+       list='$(SOURCES) $(HEADERS) $(TAGS_FILES)'; \
+       unique=`for i in $$list; do \
+           if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+         done | \
+         $(AWK) '    { files[$$0] = 1; } \
               END { for (i in files) print i; }'`; \
        test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
-         || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags  $$unique $(LISP) -o $$here/TAGS)
+         || etags $(ETAGS_ARGS) $$tags  $$unique $(LISP)
 
 mostlyclean-tags:
 
@@ -430,54 +458,64 @@ maintainer-clean-tags:
 distdir = $(PACKAGE)-$(VERSION)
 top_distdir = $(distdir)
 
+
 # This target untars the dist file and tries a VPATH configuration.  Then
 # it guarantees that the distribution is self-contained by making another
 # tarfile.
 distcheck: dist
-       -rm -rf $(distdir)
-       GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+       -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
+       GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
+       chmod -R a-w $(distdir); chmod a+w $(distdir)
        mkdir $(distdir)/=build
        mkdir $(distdir)/=inst
-       dc_install_base=`cd $(distdir)/=inst && pwd`; \
-       cd $(distdir)/=build \
+       chmod a-w $(distdir)
+       dc_install_base=`CDPATH=: && cd $(distdir)/=inst && pwd` \
+         && cd $(distdir)/=build \
          && ../configure --srcdir=.. --prefix=$$dc_install_base \
          && $(MAKE) $(AM_MAKEFLAGS) \
          && $(MAKE) $(AM_MAKEFLAGS) dvi \
          && $(MAKE) $(AM_MAKEFLAGS) check \
          && $(MAKE) $(AM_MAKEFLAGS) install \
          && $(MAKE) $(AM_MAKEFLAGS) installcheck \
-         && $(MAKE) $(AM_MAKEFLAGS) dist
-       -rm -rf $(distdir)
+         && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+         && test `find $$dc_install_base -type f -print | wc -l` -le 1 \
+         && $(MAKE) $(AM_MAKEFLAGS) dist \
+         && $(MAKE) $(AM_MAKEFLAGS) distclean \
+         && rm -f $(distdir).tar.gz \
+         && test `find . -type f -print | wc -l` -eq 0
+       -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
        @banner="$(distdir).tar.gz is ready for distribution"; \
        dashes=`echo "$$banner" | sed s/./=/g`; \
        echo "$$dashes"; \
        echo "$$banner"; \
        echo "$$dashes"
 dist: distdir
-       -chmod -R a+r $(distdir)
-       GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
-       -rm -rf $(distdir)
+       -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+       || chmod -R a+r $(distdir)
+       $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz
+       -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
 dist-all: distdir
-       -chmod -R a+r $(distdir)
-       GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
-       -rm -rf $(distdir)
+       -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
+         ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+         ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
+       || chmod -R a+r $(distdir)
+       $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c > $(distdir).tar.gz
+       -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
 distdir: $(DISTFILES)
        @if sed 15q $(srcdir)/NEWS | fgrep -e "$(VERSION)" > /dev/null; then :; else \
          echo "NEWS not updated; not releasing" 1>&2; \
          exit 1; \
        fi
-       -rm -rf $(distdir)
+       -chmod -R a+w $(distdir) > /dev/null 2>&1; rm -rf $(distdir)
        mkdir $(distdir)
-       -chmod 777 $(distdir)
-       here=`cd $(top_builddir) && pwd`; \
-       top_distdir=`cd $(distdir) && pwd`; \
-       distdir=`cd $(distdir) && pwd`; \
-       cd $(top_srcdir) \
-         && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu Makefile
        @for file in $(DISTFILES); do \
          d=$(srcdir); \
          if test -d $$d/$$file; then \
-           cp -pr $$d/$$file $(distdir)/$$file; \
+           cp -pR $$d/$$file $(distdir); \
          else \
            test -f $(distdir)/$$file \
            || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
@@ -489,7 +527,6 @@ distdir: $(DISTFILES)
            test -d $(distdir)/$$subdir \
            || mkdir $(distdir)/$$subdir \
            || exit 1; \
-           chmod 777 $(distdir)/$$subdir; \
            (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
              || exit 1; \
          fi; \
@@ -519,7 +556,7 @@ uninstall: uninstall-recursive
 all-am: Makefile $(INFO_DEPS) $(SCRIPTS) $(DATA)
 all-redirect: all-recursive
 install-strip:
-       $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+       $(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
 installdirs: installdirs-recursive
 installdirs-am:
        $(mkinstalldirs)  $(DESTDIR)$(bindir) $(DESTDIR)$(infodir) \
@@ -536,6 +573,7 @@ distclean-generic:
        -rm -f config.cache config.log stamp-h stamp-h[0-9]*
 
 maintainer-clean-generic:
+       -rm -f Makefile.in
 mostlyclean-am:  mostlyclean-vti mostlyclean-aminfo mostlyclean-tags \
                mostlyclean-generic
 
@@ -565,7 +603,8 @@ maintainer-clean: maintainer-clean-recursive
 distclean-vti clean-vti maintainer-clean-vti install-info-am \
 uninstall-info mostlyclean-aminfo distclean-aminfo clean-aminfo \
 maintainer-clean-aminfo uninstall-pkgdataDATA install-pkgdataDATA \
-install-data-recursive uninstall-data-recursive install-exec-recursive \
+install-recursive uninstall-recursive install-data-recursive \
+uninstall-data-recursive install-exec-recursive \
 uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
 all-recursive check-recursive installcheck-recursive info-recursive \
 dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
@@ -573,9 +612,10 @@ maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
 distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
 dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
 install-exec install-data-am install-data install-am install \
-uninstall-am uninstall all-redirect all-am all installdirs-am \
-installdirs mostlyclean-generic distclean-generic clean-generic \
-maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+uninstall-am uninstall all-redirect all-am all install-strip \
+installdirs-am installdirs mostlyclean-generic distclean-generic \
+clean-generic maintainer-clean-generic clean mostlyclean distclean \
+maintainer-clean
 
 
 # INSTALL is a special case.  Automake seems to have a single name space
@@ -609,8 +649,9 @@ install-data-hook: INSTALL.txt
        *) echo Error: Autoconf requires GNU m4 1.4 or later; exit 1 ;; \
        esac
 
-autoconf.m4f: autoconf.m4 libm4.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 acversion.m4
-autoheader.m4f: autoheader.m4 libm4.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 acversion.m4
+autoconf.m4f: autoconf.m4 $(common)
+autoheader.m4f: autoheader.m4 $(common)
+autoupdate.m4f: autoupdate.m4 $(common)
 
 # The documentation
 
index 1a92edacc736b47fceeb4eb42d00197f130e2de5..7bc002436b17b6cbfae40b8d03f2557b7bade192 100644 (file)
@@ -55,6 +55,7 @@
 ## The diversions.  ##
 ## ---------------- ##
 
+m4_namespace_push(autoconf)
 
 # m4 output diversions.  We let m4 output them all in order at the end,
 # except that we explicitly undivert AC_DIVERSION_SED, AC_DIVERSION_CMDS,
@@ -181,6 +182,32 @@ define(AC_SPECIALIZE,
        [indir([$1], m4_shift($@))])])
 
 
+# AU_DEFUN(NAME, NEW-CODE, [MESSAGE])
+# -----------------------------------
+# Declare that the macro NAME is now obsoleted, and should be replaced
+# by NEW-CODE.  Tell the user she should run autoupdate, and include
+# the additional MESSAGE.
+#
+# Also define NAME as a macro which code is NEW-CODE.
+#
+# This allows to share the same code for both supporting obsoleted macros,
+# and to update a configure.in.
+# See `acobsolete.m4' for a longer description.
+define(AU_DEFUN,
+[define([$1],
+[m4_warn([The macro `$1' is obsolete.
+You should run autoupdate.])dnl
+$2])dnl
+m4_namespace_define(autoupdate, [$1],
+[m4_changequote([, ])m4_dnl
+m4_enable(libm4)m4_dnl
+m4_warn([Updating use of `$1'. $3])m4_dnl
+$2[]m4_dnl
+m4_disable(libm4)m4_dnl
+m4_changequote(, )m4_dnl
+])])
+
+
 ## ----------------------------- ##
 ## Dependencies between macros.  ##
 ## ----------------------------- ##
@@ -403,6 +430,7 @@ define([AC_FOREACH],
 
 
 
+
 ## ----------------------------------- ##
 ## Helping macros to display strings.  ##
 ## ----------------------------------- ##
@@ -1170,10 +1198,9 @@ ifelse([$4], , , [else
 fi
 ])
 
-AC_DEFUN(AC_ENABLE,
-[AC_OBSOLETE([$0], [; instead use AC_ARG_ENABLE])dnl
-AC_ARG_ENABLE([$1], [  --enable-$1], [$2], [$3])dnl
-])
+
+AU_DEFUN(AC_ENABLE,
+[AC_ARG_ENABLE([$1], [  --enable-$1], [$2], [$3])])
 
 
 ## ------------------------------ ##
@@ -1198,10 +1225,8 @@ ifelse([$4], , , [else
 fi
 ])
 
-AC_DEFUN(AC_WITH,
-[AC_OBSOLETE([$0], [; instead use AC_ARG_WITH])dnl
-AC_ARG_WITH([$1], [  --with-$1], [$2], [$3])dnl
-])
+AU_DEFUN(AC_WITH,
+[AC_ARG_WITH([$1], [  --with-$1], [$2], [$3])])
 
 
 
@@ -2959,6 +2984,7 @@ ifelse([$2],,, [AC_FOREACH([AC_File], [$1],
 ])])])dnl
 ])dnl
 
+
 # Initialize the list.
 define([AC_LIST_LINKS])
 define([AC_LIST_LINKS_COMMANDS])
@@ -2968,24 +2994,23 @@ define([AC_LIST_LINKS_COMMANDS])
 # ---------------------------------
 # Link each of the existing files SOURCE... to the corresponding
 # link name in DEST...
-AC_DEFUN(AC_LINK_FILES,
-[AC_OBSOLETE([$0], [; instead use AC_CONFIG_LINKS(DEST:SOURCE...)])dnl
-ifelse($#, 2, ,
-  [AC_FATAL([$0: incorrect number of arguments])])dnl
-dnl
-pushdef([AC_Sources], m4_split(m4_strip(m4_join([$1]))))dnl
-pushdef([AC_Dests], m4_split(m4_strip(m4_join([$2]))))dnl
+AU_DEFUN([AC_LINK_FILES],
+[ifelse($#, 2, ,
+        [m4_fatal([$0: incorrect number of arguments])])dnl
+pushdef([AC_Srcs], m4_split(m4_strip(m4_join([$1]))))dnl
+pushdef([AC_Dsts], m4_split(m4_strip(m4_join([$2]))))dnl
 dnl
-m4_foreach([AC_Dummy], (AC_Sources),
-[AC_CONFIG_LINKS(m4_car(AC_Dests):m4_car(AC_Sources))
-define([AC_Sources], m4_quote(m4_shift(AC_Sources)))
-define([AC_Dests], m4_quote(m4_shift(AC_Dests)))])dnl
+m4_foreach([AC_Dummy], (AC_Srcs),
+[AC_CONFIG_LINKS(m4_car(AC_Dsts):m4_car(AC_Srcs))dnl
+define([AC_Srcs], m4_shift(AC_Srcs))dnl
+define([AC_Dsts], m4_shift(AC_Dsts))])dnl
 dnl
-popdef([AC_Sources])dnl
-popdef([AC_Dests])dnl
+popdef([AC_Srcs])dnl
+popdef([AC_Dsts])dnl
 ])# AC_LINK_FILES
 
 
+
 # AC_CONFIG_FILES(FILE...[, COMMANDS])
 # ------------------------------------
 # Specify output files, as with AC_OUTPUT, i.e., files that are
@@ -3012,6 +3037,8 @@ ifelse([$2],,, [AC_FOREACH([AC_File], [$1],
 define([AC_LIST_FILES])
 define([AC_LIST_FILES_COMMANDS])
 
+
+
 # AC_CONFIG_COMMANDS(NAME..., COMMANDS)
 # -------------------------------------
 # Specify additional commands to be run by config.status.  This
index 322d08ed442c3a9a63829d93e1d426e845e0e28b..87cc3f36f904dfc96cd3730ebd700d9d33b939b0 100644 (file)
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 # 02111-1307, USA.
 #
-# Written by David David MacKenzie.
+# Originally written by David J. MacKenzie.
+
+## -------------- ##
+## Presentation.  ##
+## -------------- ##
+
+# This file is in charge both of providing implementation of
+# obsoleted macros, and to give autoupdate a means to update old
+# files.
+
+
+# Formerly, updating was performed by running `sed', but it was
+# limited to just replacing the old names with newer names, nothing
+# was possible when real glue code was needed.  One could think to
+# extend the `sed' snippet with specialized code for complex macros.
+# But this approach is of course full of flaws:
+
+# a. the Autoconf maintainers have to write these snippets, which we
+#    just don't want to,
+
+# b. I really don't think you'll ever manage to handle the quoting of
+#    m4 from sed.
+
+# To satisfy a., let's remark that the code which implements the old
+# features in term of the new feature is exactly the code which
+# should replace the old code.
+
+# To answer point b, as usual in the history of Autoconf, the answer,
+# at least on the paper, is simple: m4 is the best tool to parse m4,
+# so let's use m4.
+
+# Therefore the specification is as follow:
+
+#     I want to be able to tell Autoconf, well, m4, that the macro I
+#     am currently defining is an obsolete macro (so that the user is
+#     warned), which code is the code to use when running autoconf,
+#     but that the very same code has to be used when running
+#     autoupdate.  To summarize, the interface I want is
+#     `AU_DEFUN(OLD-NAME, NEW-CODE)'.
+
+
+
+# Now for the technical details.
+
+# When running autoconf, except for the warning, AU_DEFUN is
+# basically AC_DEFUN.
+
+# When running autoupdate, we want *only* OLD-NAMEs to be expanded.
+# This obviously means that acgeneral.m4 and acspecific.m4 must not
+# be loaded.  Nonetheless, because we want to use a rich set of m4
+# features, libm4.m4 is needed.  Please note that the fact that
+# autoconf's macros are not loaded is positive on two points:
+
+# - we do get an updated `configure.in', not a `configure'!
+
+# - the old macros are replaced by *calls* to the new-macros, not the
+#   body of the new macros, since their body is not defined!!!
+#   (Whoa, that's really beautiful!).
+
+# This first draft is quite functional, but there is a big flaw:
+# obsolete macros that are quoted will not be updated (since m4 won't
+# even try to expand them).  The solution is simple: we should just
+# disable the quotes.  Well, not quite: libm4.m4 still needs to use
+# quotes for some macros.  Well, in this case, when running in
+# autoupdate code, each macro first reestablishes the quotes, expands
+# itself, and disables the quotes.
+
+# Thinking a bit more, you realize that in fact, people may use `define'
+# `ifelse' etc. in their files, and you certainly don't want to process
+# them.  Another example is `dnl': you don't want to remove the comments.
+# You then realize you don't want exactly to import libm4: you want
+# to specify when it is enabled (macros active), and disabled.
+# libm4 provides m4_disable/m4_enable to this end.
+
+# You're getting close to it.  Now remains one task: how to handle
+# twofold definitions?
+
+# Remember that the same AU_DEFUN must be understand in two different
+# ways, the AC_ way, and the AU_ way.
+
+# One first solution is to check whether acgeneral.m4 was loaded.
+# But that's definitely not cute.  Another is simply to install
+# `hooks', that is to say, to keep in some place m4 knows, late
+# `define' to be triggered *only* in AU_ mode.
+
+# You first think to design AU_DEFUN like this:
+
+# 1. AC_DEFUN(OLD-NAME,
+#            [Warn the user OLD-NAME is obsolete.
+#             NEW-CODE])
+
+# 2. Store for late AU_ binding([define(OLD_NAME,
+#                               [Reestablish the quotes.
+#                                NEW-CODE
+#                                Disable the quotes.])])
+
+# but this will not work: NEW-CODE has probably $1, $2 etc. and these
+# guys will be replaced with the argument of `Store for late AU_
+# binding' when you call it.
+
+# I don't think there is a means to avoid this using this technology
+# (remember that $1 etc. are *always* expanded in m4).  You may also
+# try to replace them with $[1] to preserve them for a later
+# evaluation, but if `Store for late AU_ binding' is properly
+# written, it will remain quoted till the end...
+
+# You have to change technology.  Since the problem is that `$1'
+# etc. should be `consumed' right away, one solution is to define now
+# a second macro, `AU_OLD-NAME', and to install a hook than binds
+# OLD-NAME to AU_OLD-NAME.  Then, autoupdate.m4 just need to run the
+# hooks.  By the way, the same method is used in autoheader.
+
+
+
+
 
 ## ---------------------------- ##
 ## General macros of autoconf.  ##
 ## ---------------------------- ##
 
-define(AC_WARN, [indir([AC_MSG_WARN], $@)])
-define(AC_ERROR, [indir([AC_MSG_ERROR], $@)])
-AC_DEFUN(AC_FUNC_CHECK, [indir([AC_CHECK_FUNC], $@)])
-AC_DEFUN(AC_HAVE_FUNCS, [indir([AC_CHECK_FUNCS], $@)])
-AC_DEFUN(AC_HAVE_HEADERS, [indir([AC_CHECK_HEADERS], $@)])
-AC_DEFUN(AC_HEADER_CHECK, [indir([AC_CHECK_HEADER], $@)])
-AC_DEFUN(AC_HEADER_EGREP, [indir([AC_EGREP_HEADER], $@)])
-AC_DEFUN(AC_PREFIX, [indir([AC_PREFIX_PROGRAM], $@)])
-AC_DEFUN(AC_PROGRAMS_CHECK, [indir([AC_CHECK_PROGS], $@)])
-AC_DEFUN(AC_PROGRAMS_PATH, [indir([AC_PATH_PROGS], $@)])
-AC_DEFUN(AC_PROGRAM_CHECK, [indir([AC_CHECK_PROG], $@)])
-AC_DEFUN(AC_PROGRAM_EGREP, [indir([AC_EGREP_CPP], $@)])
-AC_DEFUN(AC_PROGRAM_PATH, [indir([AC_PATH_PROG], $@)])
-AC_DEFUN(AC_SIZEOF_TYPE, [indir([AC_CHECK_SIZEOF], $@)])
-AC_DEFUN(AC_TEST_CPP, [indir([AC_TRY_CPP], $@)])
-AC_DEFUN(AC_TEST_PROGRAM, [indir([AC_TRY_RUN], $@)])
+AU_DEFUN(AC_WARN, [AC_MSG_WARN($@)])
+AU_DEFUN(AC_ERROR, [AC_MSG_ERROR($@)])
+AU_DEFUN(AC_FUNC_CHECK, [AC_CHECK_FUNC($@)])
+AU_DEFUN(AC_HAVE_FUNCS, [AC_CHECK_FUNCS($@)])
+AU_DEFUN(AC_HAVE_HEADERS, [AC_CHECK_HEADERS($@)])
+AU_DEFUN(AC_HEADER_CHECK, [AC_CHECK_HEADER($@)])
+AU_DEFUN(AC_HEADER_EGREP, [AC_EGREP_HEADER($@)])
+AU_DEFUN(AC_PREFIX, [AC_PREFIX_PROGRAM($@)])
+AU_DEFUN(AC_PROGRAMS_CHECK, [AC_CHECK_PROGS($@)])
+AU_DEFUN(AC_PROGRAMS_PATH, [AC_PATH_PROGS($@)])
+AU_DEFUN(AC_PROGRAM_CHECK, [AC_CHECK_PROG($@)])
+AU_DEFUN(AC_PROGRAM_EGREP, [AC_EGREP_CPP($@)])
+AU_DEFUN(AC_PROGRAM_PATH, [AC_PATH_PROG($@)])
+AU_DEFUN(AC_SIZEOF_TYPE, [AC_CHECK_SIZEOF($@)])
+AU_DEFUN(AC_TEST_CPP, [AC_TRY_CPP($@)])
+AU_DEFUN(AC_TEST_PROGRAM, [AC_TRY_RUN($@)])
 
 
 
@@ -46,53 +160,53 @@ AC_DEFUN(AC_TEST_PROGRAM, [indir([AC_TRY_RUN], $@)])
 ## Specific macros of autoconf.  ##
 ## ----------------------------- ##
 
-AC_DEFUN(AC_ALLOCA, [indir([AC_FUNC_ALLOCA])])
-AC_DEFUN(AC_CHAR_UNSIGNED, [indir([AC_C_CHAR_UNSIGNED])])
-AC_DEFUN(AC_CONST, [indir([AC_C_CONST])])
-AC_DEFUN(AC_CROSS_CHECK, [indir([AC_C_CROSS])])
-AC_DEFUN(AC_FIND_X, [indir([AC_PATH_X])])
-AC_DEFUN(AC_FIND_XTRA, [indir([AC_PATH_XTRA])])
-AC_DEFUN(AC_GCC_TRADITIONAL, [indir([AC_PROG_GCC_TRADITIONAL])])
-AC_DEFUN(AC_GETGROUPS_T, [indir([AC_TYPE_GETGROUPS])])
-AC_DEFUN(AC_GETLOADAVG, [indir([AC_FUNC_GETLOADAVG])])
-AC_DEFUN(AC_INLINE, [indir([AC_C_INLINE])])
-AC_DEFUN(AC_LN_S, [indir([AC_PROG_LN_S])])
-AC_DEFUN(AC_LONG_DOUBLE, [indir([AC_C_LONG_DOUBLE])])
-AC_DEFUN(AC_LONG_FILE_NAMES, [indir([AC_SYS_LONG_FILE_NAMES])])
-AC_DEFUN(AC_MAJOR_HEADER, [indir([AC_HEADER_MAJOR])])
-AC_DEFUN(AC_MINUS_C_MINUS_O, [indir([AC_PROG_CC_C_O])])
-AC_DEFUN(AC_MMAP, [indir([AC_FUNC_MMAP])])
-AC_DEFUN(AC_MODE_T, [indir([AC_TYPE_MODE_T])])
-AC_DEFUN(AC_OFF_T, [indir([AC_TYPE_OFF_T])])
-AC_DEFUN(AC_PID_T, [indir([AC_TYPE_PID_T])])
-AC_DEFUN(AC_RESTARTABLE_SYSCALLS, [indir([AC_SYS_RESTARTABLE_SYSCALLS])])
-AC_DEFUN(AC_RETSIGTYPE, [indir([AC_TYPE_SIGNAL])])
-AC_DEFUN(AC_SETVBUF_REVERSED, [indir([AC_FUNC_SETVBUF_REVERSED])])
-AC_DEFUN(AC_SET_MAKE, [indir([AC_PROG_MAKE_SET])])
-AC_DEFUN(AC_SIZE_T, [indir([AC_TYPE_SIZE_T])])
-AC_DEFUN(AC_STAT_MACROS_BROKEN, [indir([AC_HEADER_STAT])])
-AC_DEFUN(AC_STDC_HEADERS, [indir([AC_HEADER_STDC])])
-AC_DEFUN(AC_STRCOLL, [indir([AC_FUNC_STRCOLL])])
-AC_DEFUN(AC_ST_BLKSIZE, [indir([AC_STRUCT_ST_BLKSIZE])])
-AC_DEFUN(AC_ST_BLOCKS, [indir([AC_STRUCT_ST_BLOCKS])])
-AC_DEFUN(AC_ST_RDEV, [indir([AC_STRUCT_ST_RDEV])])
-AC_DEFUN(AC_SYS_SIGLIST_DECLARED, [indir([AC_DECL_SYS_SIGLIST])])
-AC_DEFUN(AC_TIMEZONE, [indir([AC_STRUCT_TIMEZONE])])
-AC_DEFUN(AC_TIME_WITH_SYS_TIME, [indir([AC_HEADER_TIME])])
-AC_DEFUN(AC_UID_T, [indir([AC_TYPE_UID_T])])
-AC_DEFUN(AC_UTIME_NULL, [indir([AC_FUNC_UTIME_NULL])])
-AC_DEFUN(AC_VFORK, [indir([AC_FUNC_VFORK])])
-AC_DEFUN(AC_VPRINTF, [indir([AC_FUNC_VPRINTF])])
-AC_DEFUN(AC_WAIT3, [indir([AC_FUNC_WAIT3])])
-AC_DEFUN(AC_WORDS_BIGENDIAN, [indir([AC_C_BIGENDIAN])])
-AC_DEFUN(AC_YYTEXT_POINTER, [indir([AC_DECL_YYTEXT])])
-AC_DEFUN(AM_CYGWIN32, [indir([AC_CYGWIN32])])
-AC_DEFUN(AM_EXEEXT, [indir([AC_EXEEXT])])
-AC_DEFUN(AM_FUNC_FNMATCH, [indir([AC_FUNC_FNMATCH])])
-AC_DEFUN(AM_FUNC_MKTIME, [indir([AC_FUNC_MKTIME])])
+AU_DEFUN(AC_ALLOCA, [AC_FUNC_ALLOCA])
+AU_DEFUN(AC_CHAR_UNSIGNED, [AC_C_CHAR_UNSIGNED])
+AU_DEFUN(AC_CONST, [AC_C_CONST])
+AU_DEFUN(AC_CROSS_CHECK, [AC_C_CROSS])
+AU_DEFUN(AC_FIND_X, [AC_PATH_X])
+AU_DEFUN(AC_FIND_XTRA, [AC_PATH_XTRA])
+AU_DEFUN(AC_GCC_TRADITIONAL, [AC_PROG_GCC_TRADITIONAL])
+AU_DEFUN(AC_GETGROUPS_T, [AC_TYPE_GETGROUPS])
+AU_DEFUN(AC_GETLOADAVG, [AC_FUNC_GETLOADAVG])
+AU_DEFUN(AC_INLINE, [AC_C_INLINE])
+AU_DEFUN(AC_LN_S, [AC_PROG_LN_S])
+AU_DEFUN(AC_LONG_DOUBLE, [AC_C_LONG_DOUBLE])
+AU_DEFUN(AC_LONG_FILE_NAMES, [AC_SYS_LONG_FILE_NAMES])
+AU_DEFUN(AC_MAJOR_HEADER, [AC_HEADER_MAJOR])
+AU_DEFUN(AC_MINUS_C_MINUS_O, [AC_PROG_CC_C_O])
+AU_DEFUN(AC_MMAP, [AC_FUNC_MMAP])
+AU_DEFUN(AC_MODE_T, [AC_TYPE_MODE_T])
+AU_DEFUN(AC_OFF_T, [AC_TYPE_OFF_T])
+AU_DEFUN(AC_PID_T, [AC_TYPE_PID_T])
+AU_DEFUN(AC_RESTARTABLE_SYSCALLS, [AC_SYS_RESTARTABLE_SYSCALLS])
+AU_DEFUN(AC_RETSIGTYPE, [AC_TYPE_SIGNAL])
+AU_DEFUN(AC_SETVBUF_REVERSED, [AC_FUNC_SETVBUF_REVERSED])
+AU_DEFUN(AC_SET_MAKE, [AC_PROG_MAKE_SET])
+AU_DEFUN(AC_SIZE_T, [AC_TYPE_SIZE_T])
+AU_DEFUN(AC_STAT_MACROS_BROKEN, [AC_HEADER_STAT])
+AU_DEFUN(AC_STDC_HEADERS, [AC_HEADER_STDC])
+AU_DEFUN(AC_STRCOLL, [AC_FUNC_STRCOLL])
+AU_DEFUN(AC_ST_BLKSIZE, [AC_STRUCT_ST_BLKSIZE])
+AU_DEFUN(AC_ST_BLOCKS, [AC_STRUCT_ST_BLOCKS])
+AU_DEFUN(AC_ST_RDEV, [AC_STRUCT_ST_RDEV])
+AU_DEFUN(AC_SYS_SIGLIST_DECLARED, [AC_DECL_SYS_SIGLIST])
+AU_DEFUN(AC_TIMEZONE, [AC_STRUCT_TIMEZONE])
+AU_DEFUN(AC_TIME_WITH_SYS_TIME, [AC_HEADER_TIME])
+AU_DEFUN(AC_UID_T, [AC_TYPE_UID_T])
+AU_DEFUN(AC_UTIME_NULL, [AC_FUNC_UTIME_NULL])
+AU_DEFUN(AC_VFORK, [AC_FUNC_VFORK])
+AU_DEFUN(AC_VPRINTF, [AC_FUNC_VPRINTF])
+AU_DEFUN(AC_WAIT3, [AC_FUNC_WAIT3])
+AU_DEFUN(AC_WORDS_BIGENDIAN, [AC_C_BIGENDIAN])
+AU_DEFUN(AC_YYTEXT_POINTER, [AC_DECL_YYTEXT])
+AU_DEFUN(AM_CYGWIN32, [AC_CYGWIN32])
+AU_DEFUN(AM_EXEEXT, [AC_EXEEXT])
+AU_DEFUN(AM_FUNC_FNMATCH, [AC_FUNC_FNMATCH])
+AU_DEFUN(AM_FUNC_MKTIME, [AC_FUNC_MKTIME])
 # We cannot do this, because in libtool.m4 yet they provide
 # this update.  Some solution is needed.
-# AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])
-AC_DEFUN(AM_MINGW32, [indir([AC_MINGW32])])
-AC_DEFUN(AM_PROG_INSTALL, [indir([AC_PROG_INSTALL])])
-AC_DEFUN(fp_FUNC_FNMATCH, [indir([AC_FUNC_FNMATCH])])
+# AU_DEFUN(AM_PROG_LIBTOOL, [AC_PROG_LIBTOOL])
+AU_DEFUN(AM_MINGW32, [AC_MINGW32])
+AU_DEFUN(AM_PROG_INSTALL, [AC_PROG_INSTALL])
+AU_DEFUN(fp_FUNC_FNMATCH, [AC_FUNC_FNMATCH])
index 38003abf6f8adadbca4a0a6970ed6592db8845d3..f5a0cf2a69d869884ec26ee20248a76beddf6055 100644 (file)
@@ -3461,9 +3461,8 @@ AC_SUBST(X_EXTRA_LIBS)dnl
 ])
 
 # The old Cygwin32 macro is deprecated.
-AC_DEFUN(AC_CYGWIN32,
-[AC_OBSOLETE([$0], [; instead use AC_CYGWIN])dnl
-AC_CYGWIN])
+AU_DEFUN(AC_CYGWIN32,
+[AC_CYGWIN])
 
 
 # AC_CYGWIN
index 19cbe8c6b93247a5fb5773609e92948327e38d11..8b8b3ebcfd798ffc70c4ab866fb6bb3ec7edbfc2 100644 (file)
@@ -4,11 +4,11 @@
 autoupdate \- Update a configure.in to a newer Autoconf
 .SH SYNOPSIS
 .B autoupdate
-[\fIOPTION\fR] ...  [\fITEMPLATE-FILE\fR]
+[\fIOPTION\fR] ...  [\fITEMPLATE-FILE\fR...]
 .SH DESCRIPTION
-Update the TEMPLATE-FILE if given, or `configure.in' by default, to
-the syntax of the current version of `autoconf'.  The original file
-is backed up.
+Update the TEMPLATE-FILE... if given, or `configure.in' by default, to
+the syntax of the current version of `autoconf'.  The original files
+are backed up.
 .TP
 \fB\-m\fR, \fB\-\-macrodir\fR=\fIDIR\fR
 directory storing Autoconf's files
index a9052cc12f316fbbd3aca63b6f5f400d650f871d..c58b82514d5feb5a747e08914c3c0e2781de0bf7 100644 (file)
@@ -2,7 +2,7 @@
 
 cat <<EOF
 
-Checking the semantics of some macros.
+Semantics.
 
 EOF
 
index b8e2b2826ac28e2dd376b7f5bb1340000094a647..2191e45d443137606b569bc8afeef987182c4c79 100644 (file)
@@ -2,7 +2,7 @@
 
 cat <<EOF
 
-Syntax of macros and completeness of the header templates.
+Syntax of macros and completeness of header templates.
 
 EOF