Hello,
On Tue, Dec 05, 2006 at 10:17:57AM -0800, Paul Eggert wrote:
> Patrick Welche <[EMAIL PROTECTED]> writes:
> > Is that AC_CONFIG_HEADERS syntax simply not allowed? (missing file name)
>
> The documentation doesn't seem to allow it.
>
> But also, the documentation seems to say that you can have as many files
> as you like, not just 3. [...]
Indeed, you can have any number of input files for AC_CONFIG_HEADERS,
as for AC_CONFIG_FILES.
So you can have
AC_CONFIG_HEADERS([defines.h:def1.h:def2.h:def3.h:def4.h])
And if this is the first config header in the configure.ac, which of
the input files should be picked by autoheader?
I do not see a better answer than what the current implementation
has: autoheader picks the first one.
Consequently, I think Patrick's patch should not be accepted.
But I think we should improve the documentation; most importantly, we
should point out that AH_BOTTOM is usually better that multiple input
files.
Attached please find a first approximation of the documentation
patch. Wdyt?
Have a nice day,
Stepan Kasal
2006-12-05 Stepan Kasal <[EMAIL PROTECTED]>
* doc/autoconf.texi (Configuration Headers): Remove the
example with multiple input files.
(autoheader Invocation): Encourage `AH_BOTTOM', discouraging
multiple input files.
Index: doc/autoconf.texi
===================================================================
RCS file: /cvsroot/autoconf/autoconf/doc/autoconf.texi,v
retrieving revision 1.1112
diff -u -r1.1112 autoconf.texi
--- doc/autoconf.texi 28 Nov 2006 03:29:47 -0000 1.1112
+++ doc/autoconf.texi 5 Dec 2006 19:34:44 -0000
@@ -2934,17 +2934,13 @@
Usually the input file is named @[EMAIL PROTECTED]; however, you can
override the input file name by appending to @var{header} a
-colon-separated list of input files. Examples:
+colon-separated list of input files. For example, you might need to make
+the input file name acceptable to @acronym{DOS} variants:
@example
AC_CONFIG_HEADERS([config.h:config.hin])
-AC_CONFIG_HEADERS([defines.h:defs.pre:defines.h.in:defs.post])
@end example
[EMAIL PROTECTED]
-Doing this allows you to keep your file names acceptable to
[EMAIL PROTECTED] variants, or
-to prepend and/or append boilerplate to the file.
@end defmac
@defmac AH_HEADER
@@ -3028,11 +3024,18 @@
@cindex @command{autoheader}
The @command{autoheader} program can create a template file of C
[EMAIL PROTECTED] statements for @command{configure} to use. If
[EMAIL PROTECTED] invokes @code{AC_CONFIG_HEADERS(@var{file})},
[EMAIL PROTECTED] creates @[EMAIL PROTECTED]; if multiple file
-arguments are given, the first one is used. Otherwise,
[EMAIL PROTECTED] creates @file{config.h.in}.
[EMAIL PROTECTED] statements for @command{configure} to use.
+It searches for the first invocation of @code{AC_CONFIG_HEADERS} in
[EMAIL PROTECTED] sources to determine the name of the template.
+(If the first call of @code{AC_CONFIG_HEADERS} specifies more than one
+input file name, @command{autoheader} uses the first one.)
+
+It is recommended that only one input file is used. If you want to append
+a boilerplate code, it is preferable to use
[EMAIL PROTECTED]([[#include <conf_post.h>]])}.
+File @file{conf_post.h} is not processed during the configuration then,
+which make things clearer. Analogically, @code{AH_TOP} can be used to
+prepend a boilerplate code.
In order to do its job, @command{autoheader} needs you to document all
of the symbols that you might use. Typically this is done via an
_______________________________________________
Autoconf mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/autoconf