]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
* acgeneral.m4 (_AC_INIT_BINSH): Remove, useless now that...
authorAkim Demaille <akim@epita.fr>
Tue, 14 Mar 2000 08:32:35 +0000 (08:32 +0000)
committerAkim Demaille <akim@epita.fr>
Tue, 14 Mar 2000 08:32:35 +0000 (08:32 +0000)
(AC_REVISION): Require AC_INIT, not _AC_INIT_BINSH.
(AC_INIT): Do what _AC_INIT_BINSH used to.
Don't require _AC_INIT_VERSION, just call it.
Rename as _AC_INIT.
(AC_INIT): New macro, single expansion wrapper around _AC_INIT.
(_AC_COPYRIGHT_SEPARATOR): New.
(AC_COPYRIGHT): Use it.
Require AC_INIT, not _AC_INIT_VERSION.
* doc/autoconf.texi (Versions): Promote as first section of
`Setup'.
Rename as `Notices'.
Document AC_COPYRIGHT.
Don't give false reasons for placing AC_REVISION before AC_INIT,
the place no longer matters.

ChangeLog
acgeneral.m4
doc/autoconf.texi
lib/autoconf/general.m4

index 462d165885b0cb540332fa3afd291361583da625..84a168fb4ff1647e148bfd69bb37b92ae3f6addc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2000-03-14  Akim Demaille  <akim@epita.fr>
+
+       * acgeneral.m4 (_AC_INIT_BINSH): Remove, useless now that...
+       (AC_REVISION): Require AC_INIT, not _AC_INIT_BINSH.
+       (AC_INIT): Do what _AC_INIT_BINSH used to.
+       Don't require _AC_INIT_VERSION, just call it.
+       Rename as _AC_INIT.
+       (AC_INIT): New macro, single expansion wrapper around _AC_INIT.
+       (_AC_COPYRIGHT_SEPARATOR): New.
+       (AC_COPYRIGHT): Use it.
+       Require AC_INIT, not _AC_INIT_VERSION.
+       * doc/autoconf.texi (Versions): Promote as first section of
+       `Setup'.
+       Rename as `Notices'.
+       Document AC_COPYRIGHT.
+       Don't give false reasons for placing AC_REVISION before AC_INIT,
+       the place no longer matters.
+
 2000-03-14  Akim Demaille  <akim@epita.fr>
 
        * autoconf.sh (trace_m4::smash): Double quote, we don't want the
index 123d5595115ceb2f6e0c8531700d02869aa520fd..674b280467791d84e7132dbef1241c11299ad257 100644 (file)
@@ -613,20 +613,15 @@ popdef([AC_Prefix])dnl
 ## ---------------- ##
 
 
-# _AC_INIT_BINSH
-# --------------
-# Try to have only one #! line, so the script doesn't look funny
-# for users of AC_REVISION.
-AC_DEFUN(_AC_INIT_BINSH,
-[AC_DIVERT_PUSH([BINSH])dnl
-#! /bin/sh
-AC_DIVERT_POP()dnl to KILL
-])
+
+# _AC_COPYRIGHT_SEPARATOR
+# -----------------------
+# Empty at the first call to AC_COPYRIGHT, then set to two new lines.
+define(_AC_COPYRIGHT_SEPARATOR)
 
 
 # AC_COPYRIGHT(TEXT)
 # ------------------
-
 # Append Copyright information in the top of `configure'.  TEXT is
 # evaluated once, hence TEXT can use macros.  Note that we do not
 # prepend `# ' but `@%:@ ', since m4 does not evaluate the comments.
@@ -634,18 +629,23 @@ AC_DIVERT_POP()dnl to KILL
 # would have not been evaluated.  Another solution, a bit fragile,
 # would have be to use m4_quote to force an evaluation:
 #
-#     patsubst(m4_quote($1), [^], [@%:@ ])
+#     patsubst(m4_quote($1), [^], [# ])
 #
-# _AC_INIT_VERSION must be run before, exactly like _AC_INIT_BINSH
-# must be run before AC_REVISION.
+# AC_INIT must be run before, exactly like for AC_REVISION.
 AC_DEFUN(AC_COPYRIGHT,
-[AC_REQUIRE([_AC_INIT_VERSION])dnl
+[AC_REQUIRE([AC_INIT])dnl
 AC_DIVERT_PUSH([NOTICE])dnl
-patsubst([$1], [^], [@%:@ ])
+patsubst([]_AC_COPYRIGHT_SEPARATOR()dnl
+[$1], [^], [@%:@ ])
 AC_DIVERT_POP()dnl
 AC_DIVERT_PUSH([VERSION_BEGIN])dnl
+_AC_COPYRIGHT_SEPARATOR()dnl
 $1
 AC_DIVERT_POP()dnl
+define([_AC_COPYRIGHT_SEPARATOR],
+[
+
+])dnl
 ])# _AC_INIT_COPYRIGHT
 
 
@@ -654,6 +654,7 @@ AC_DIVERT_POP()dnl
 # Values which defaults can be set from `configure.in'.
 AC_DEFUN(_AC_INIT_DEFAULTS,
 [AC_DIVERT_PUSH([DEFAULTS])dnl
+
 # Defaults:
 ac_default_prefix=/usr/local
 @%:@ Any additions from configure.in:
@@ -1278,13 +1279,24 @@ AC_DIVERT_POP()dnl
 ])# _AC_INIT_PREPARE
 
 
-# AC_INIT([UNIQUE-FILE-IN-SOURCE-DIR])
-# ------------------------------------
-# Output the preamble of the `configure' script.
-AC_DEFUN(AC_INIT,
+# _AC_INIT([UNIQUE-FILE-IN-SOURCE-DIR])
+# -------------------------------------
+# Include the user macro files, prepare the diversions, and output the
+# preamble of the `configure' script.
+define([_AC_INIT],
 [m4_sinclude(acsite.m4)dnl
 m4_sinclude(./aclocal.m4)dnl
-AC_REQUIRE([_AC_INIT_BINSH])dnl
+AC_DIVERT_PUSH([BINSH])dnl
+#! /bin/sh
+AC_DIVERT_POP()dnl to KILL
+_AC_INIT_DEFAULTS()dnl
+AC_DIVERT_POP()dnl to NORMAL
+_AC_INIT_PARSE_ARGS
+_AC_INIT_HELP
+_AC_INIT_VERSION
+_AC_INIT_PREPARE([$1])dnl
+dnl AC_COPYRIGHT must be called after _AC_INIT_VERSION, since it dumps
+dnl into a diversion prepared by _AC_INIT_VERSION.
 AC_DIVERT_PUSH([NOTICE])dnl
 # Guess values for system-dependent variables and create Makefiles.
 AC_DIVERT_POP()dnl
@@ -1295,15 +1307,14 @@ Free Software Foundation, Inc.
 
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.])dnl
-_AC_INIT_DEFAULTS()dnl
-AC_DIVERT_POP()dnl to NORMAL
-_AC_INIT_PARSE_ARGS
-_AC_INIT_HELP
-AC_REQUIRE([_AC_INIT_VERSION])dnl
-_AC_INIT_PREPARE([$1])dnl
 ])
 
 
+# AC_INIT([UNIQUE-FILE-IN-SOURCE-DIR])
+# ------------------------------------
+# Wrapper around _AC_INIT which guarantees _AC_INIT is expanded only
+# once.
+AC_DEFUN([AC_INIT], [AC_EXPAND_ONCE([_AC_INIT])])
 
 
 ## ----------------------------- ##
@@ -1445,9 +1456,9 @@ test "$program_transform_name" = "" && program_transform_name="s,x,x,"
 # AC_REVISION(REVISION-INFO)
 # --------------------------
 AC_DEFUN(AC_REVISION,
-[AC_REQUIRE([_AC_INIT_BINSH])dnl
+[AC_REQUIRE([AC_INIT])dnl
 AC_DIVERT_PUSH([BINSH])dnl
-[# From configure.in] translit([$1], $")
+@%:@ From configure.in translit([$1], $")
 AC_DIVERT_POP()dnl to KILL
 ])
 
index d1a3867a06f27f3d092f686b79aaaa2a4e78f45e..792a34e5633993d5e806f600fcdf807a720f9cdd 100644 (file)
@@ -154,6 +154,7 @@ Making @code{configure} Scripts
 
 Initialization and Output Files
 
+* Notices::                     Copyright, version numbers in @code{configure}
 * Input::                       Where Autoconf should find files
 * Output::                      Outputting results from the configuration
 * Configuration Actions::       Preparing the output based on results
@@ -164,7 +165,6 @@ Initialization and Output Files
 * Configuration Links::         Links depending from the configuration
 * Subdirectories::              Configuring independent packages together
 * Default Prefix::              Changing the default installation prefix
-* Versions::                    Version numbers in @code{configure}
 
 Substitutions in Makefiles
 
@@ -526,6 +526,8 @@ functions could be affected by types and libraries.
 
 @display
 @group
+Autoconf requirements
+information on the package
 @code{AC_INIT(@var{file})}
 checks for programs
 checks for libraries
@@ -903,6 +905,7 @@ about the output files to produce.  The following sections describe
 initialization and creating output files.
 
 @menu
+* Notices::                     Copyright, version numbers in @code{configure}
 * Input::                       Where Autoconf should find files
 * Output::                      Outputting results from the configuration
 * Configuration Actions::       Preparing the output based on results
@@ -913,10 +916,68 @@ initialization and creating output files.
 * Configuration Links::         Links depending from the configuration
 * Subdirectories::              Configuring independent packages together
 * Default Prefix::              Changing the default installation prefix
-* Versions::                    Version numbers in @code{configure}
 @end menu
 
-@node Input, Output, Setup, Setup
+@node Notices, Input, Setup, Setup
+@section Notices in @code{configure}
+
+The following macros manage version numbers for @code{configure}
+scripts.  Using them is optional.
+
+@c FIXME: AC_PREREQ should not be here, but where should it go?
+@defmac AC_PREREQ (@var{version})
+@maindex PREREQ
+@cindex Version
+Ensure that a recent enough version of Autoconf is being used.  If the
+version of Autoconf being used to create @code{configure} is earlier
+than @var{version}, print an error message on the standard error output
+and do not create @code{configure}.  For example:
+
+@example
+AC_PREREQ(@value{VERSION})
+@end example
+@end defmac
+
+@defmac AC_COPYRIGHT(@var{copyright-notice})
+@maindex COPYRIGHT
+@cindex Copyright Notice
+State that in addition to the Free Software Foundation's copyright over
+the Autoconf macros, parts of your @code{configure} are covered by the
+@var{copyright-notice}.
+
+The @var{copyright-notice} will show up in both the head of
+@code{configure}, and in @samp{configure --version}.
+@end defmac
+
+
+@defmac AC_REVISION (@var{revision-info})
+@maindex REVISION
+@cindex Revision
+Copy revision stamp @var{revision-info} into the @code{configure}
+script, with any dollar signs or double-quotes removed.  This macro lets
+you put a revision stamp from @file{configure.in} into @code{configure}
+without RCS or CVS changing it when you check in @code{configure}.  That
+way, you can determine easily which revision of @file{configure.in} a
+particular @code{configure} corresponds to.
+
+For example, this line in @file{configure.in}:
+
+@c The asis prevents RCS from changing the example in the manual.
+@example
+AC_REVISION($@asis{Revision: 1.30 }$)dnl
+@end example
+
+@noindent
+produces this in @code{configure}:
+
+@example
+#! /bin/sh
+# From configure.in Revision: 1.30
+@end example
+@end defmac
+
+
+@node Input, Output, Notices, Setup
 @section Finding @code{configure} Input
 
 Every @code{configure} script must call @code{AC_INIT} before doing
@@ -1822,7 +1883,7 @@ which subdirectories to recurse into.  This macro may be called multiple
 times.
 @end defmac
 
-@node Default Prefix, Versions, Subdirectories, Setup
+@node Default Prefix,  , Subdirectories, Setup
 @section Default Prefix
 
 By default, @code{configure} sets the prefix for files it installs to
@@ -1857,62 +1918,9 @@ is found, set the prefix to the parent of the directory containing
 set the prefix to @file{/usr/local/gnu}.
 @end defmac
 
-@node Versions,  , Default Prefix, Setup
-@section Version Numbers in @code{configure}
-
-The following macros manage version numbers for @code{configure}
-scripts.  Using them is optional.
-
-@defmac AC_PREREQ (@var{version})
-@maindex PREREQ
-@cindex Version
-Ensure that a recent enough version of Autoconf is being used.  If the
-version of Autoconf being used to create @code{configure} is earlier
-than @var{version}, print an error message on the standard error output
-and do not create @code{configure}.  For example:
-
-@example
-AC_PREREQ(@value{VERSION})
-@end example
-
-This macro is useful if your @file{configure.in} relies on non-obvious
-behavior that changed between Autoconf releases.  If it merely needs
-recently added macros, then @code{AC_PREREQ} is less useful, because the
-@code{autoconf} program already tells the user which macros are not
-found.  The same thing happens if @file{configure.in} is processed by a
-version of Autoconf older than when @code{AC_PREREQ} was added.
-@end defmac
-
-@defmac AC_REVISION (@var{revision-info})
-@maindex REVISION
-Copy revision stamp @var{revision-info} into the @code{configure}
-script, with any dollar signs or double-quotes removed.  This macro lets
-you put a revision stamp from @file{configure.in} into @code{configure}
-without RCS or CVS changing it when you check in @code{configure}.  That
-way, you can determine easily which revision of @file{configure.in} a
-particular @code{configure} corresponds to.
-
-It is a good idea to call this macro before @code{AC_INIT} so that the
-revision number is near the top of both @file{configure.in} and
-@code{configure}.  To support doing that, the @code{AC_REVISION} output
-begins with @samp{#! /bin/sh}, like the normal start of a
-@code{configure} script does.
-
-For example, this line in @file{configure.in}:
-
-@c The asis prevents RCS from changing the example in the manual.
-@example
-AC_REVISION($@asis{Revision: 1.30 }$)dnl
-@end example
 
-@noindent
-produces this in @code{configure}:
 
-@example
-#! /bin/sh
-# From configure.in Revision: 1.30
-@end example
-@end defmac
+@c ======================================================== Existing tests
 
 @node Existing Tests, Writing Tests, Setup, Top
 @chapter Existing Tests
index 123d5595115ceb2f6e0c8531700d02869aa520fd..674b280467791d84e7132dbef1241c11299ad257 100644 (file)
@@ -613,20 +613,15 @@ popdef([AC_Prefix])dnl
 ## ---------------- ##
 
 
-# _AC_INIT_BINSH
-# --------------
-# Try to have only one #! line, so the script doesn't look funny
-# for users of AC_REVISION.
-AC_DEFUN(_AC_INIT_BINSH,
-[AC_DIVERT_PUSH([BINSH])dnl
-#! /bin/sh
-AC_DIVERT_POP()dnl to KILL
-])
+
+# _AC_COPYRIGHT_SEPARATOR
+# -----------------------
+# Empty at the first call to AC_COPYRIGHT, then set to two new lines.
+define(_AC_COPYRIGHT_SEPARATOR)
 
 
 # AC_COPYRIGHT(TEXT)
 # ------------------
-
 # Append Copyright information in the top of `configure'.  TEXT is
 # evaluated once, hence TEXT can use macros.  Note that we do not
 # prepend `# ' but `@%:@ ', since m4 does not evaluate the comments.
@@ -634,18 +629,23 @@ AC_DIVERT_POP()dnl to KILL
 # would have not been evaluated.  Another solution, a bit fragile,
 # would have be to use m4_quote to force an evaluation:
 #
-#     patsubst(m4_quote($1), [^], [@%:@ ])
+#     patsubst(m4_quote($1), [^], [# ])
 #
-# _AC_INIT_VERSION must be run before, exactly like _AC_INIT_BINSH
-# must be run before AC_REVISION.
+# AC_INIT must be run before, exactly like for AC_REVISION.
 AC_DEFUN(AC_COPYRIGHT,
-[AC_REQUIRE([_AC_INIT_VERSION])dnl
+[AC_REQUIRE([AC_INIT])dnl
 AC_DIVERT_PUSH([NOTICE])dnl
-patsubst([$1], [^], [@%:@ ])
+patsubst([]_AC_COPYRIGHT_SEPARATOR()dnl
+[$1], [^], [@%:@ ])
 AC_DIVERT_POP()dnl
 AC_DIVERT_PUSH([VERSION_BEGIN])dnl
+_AC_COPYRIGHT_SEPARATOR()dnl
 $1
 AC_DIVERT_POP()dnl
+define([_AC_COPYRIGHT_SEPARATOR],
+[
+
+])dnl
 ])# _AC_INIT_COPYRIGHT
 
 
@@ -654,6 +654,7 @@ AC_DIVERT_POP()dnl
 # Values which defaults can be set from `configure.in'.
 AC_DEFUN(_AC_INIT_DEFAULTS,
 [AC_DIVERT_PUSH([DEFAULTS])dnl
+
 # Defaults:
 ac_default_prefix=/usr/local
 @%:@ Any additions from configure.in:
@@ -1278,13 +1279,24 @@ AC_DIVERT_POP()dnl
 ])# _AC_INIT_PREPARE
 
 
-# AC_INIT([UNIQUE-FILE-IN-SOURCE-DIR])
-# ------------------------------------
-# Output the preamble of the `configure' script.
-AC_DEFUN(AC_INIT,
+# _AC_INIT([UNIQUE-FILE-IN-SOURCE-DIR])
+# -------------------------------------
+# Include the user macro files, prepare the diversions, and output the
+# preamble of the `configure' script.
+define([_AC_INIT],
 [m4_sinclude(acsite.m4)dnl
 m4_sinclude(./aclocal.m4)dnl
-AC_REQUIRE([_AC_INIT_BINSH])dnl
+AC_DIVERT_PUSH([BINSH])dnl
+#! /bin/sh
+AC_DIVERT_POP()dnl to KILL
+_AC_INIT_DEFAULTS()dnl
+AC_DIVERT_POP()dnl to NORMAL
+_AC_INIT_PARSE_ARGS
+_AC_INIT_HELP
+_AC_INIT_VERSION
+_AC_INIT_PREPARE([$1])dnl
+dnl AC_COPYRIGHT must be called after _AC_INIT_VERSION, since it dumps
+dnl into a diversion prepared by _AC_INIT_VERSION.
 AC_DIVERT_PUSH([NOTICE])dnl
 # Guess values for system-dependent variables and create Makefiles.
 AC_DIVERT_POP()dnl
@@ -1295,15 +1307,14 @@ Free Software Foundation, Inc.
 
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.])dnl
-_AC_INIT_DEFAULTS()dnl
-AC_DIVERT_POP()dnl to NORMAL
-_AC_INIT_PARSE_ARGS
-_AC_INIT_HELP
-AC_REQUIRE([_AC_INIT_VERSION])dnl
-_AC_INIT_PREPARE([$1])dnl
 ])
 
 
+# AC_INIT([UNIQUE-FILE-IN-SOURCE-DIR])
+# ------------------------------------
+# Wrapper around _AC_INIT which guarantees _AC_INIT is expanded only
+# once.
+AC_DEFUN([AC_INIT], [AC_EXPAND_ONCE([_AC_INIT])])
 
 
 ## ----------------------------- ##
@@ -1445,9 +1456,9 @@ test "$program_transform_name" = "" && program_transform_name="s,x,x,"
 # AC_REVISION(REVISION-INFO)
 # --------------------------
 AC_DEFUN(AC_REVISION,
-[AC_REQUIRE([_AC_INIT_BINSH])dnl
+[AC_REQUIRE([AC_INIT])dnl
 AC_DIVERT_PUSH([BINSH])dnl
-[# From configure.in] translit([$1], $")
+@%:@ From configure.in translit([$1], $")
 AC_DIVERT_POP()dnl to KILL
 ])