]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
doc: add advice to list Yacc/Lex generated sources in BUILT_SOURCES.
authorReuben Thomas <rrt@sc3d.org>
Sun, 10 Dec 2023 23:12:00 +0000 (15:12 -0800)
committerKarl Berry <karl@freefriends.org>
Sun, 10 Dec 2023 23:12:00 +0000 (15:12 -0800)
For https://bugs.gnu.org/62791.

* doc/automake.texi (Yacc and Lex): it seems to be necessary to
list the generated C source file for a Yacc/Lex file, as well as the
header file, in BUILT_SOURCES.

doc/automake.texi

index e53a44332140ea108c09945ab86a20c7930e305e..77292288ddd68d1d31b6f21eb5a9d988af79f52b 100644 (file)
@@ -6329,7 +6329,8 @@ extensions @file{.l}, @file{.ll}, @file{.l++}, @file{.lxx}, and
 @file{.lpp} are recognized.
 
 You should never explicitly mention the intermediate (C or C++) file
-in any @code{SOURCES} variable; only list the source file.
+in any @code{SOURCES} variable (except @code{BUILT_SOURCES}, see below);
+only list the source file.
 
 The intermediate files generated by @command{yacc} (or @command{lex})
 will be included in any distribution that is made.  That way the user
@@ -6359,11 +6360,11 @@ What Automake cannot guess, though, is where this header will be used:
 it is up to you to ensure the header gets built before it is first
 used.  Typically this is necessary in order for dependency tracking to
 work when the header is included by another file.  The common solution
-is listing the header file in @code{BUILT_SOURCES} (@pxref{Sources})
-as follows.
+is listing the header file, and the corresponding C file, in
+@code{BUILT_SOURCES} (@pxref{Sources}) as follows.
 
 @example
-BUILT_SOURCES = parser.h
+BUILT_SOURCES = parser.h parser.c
 AM_YFLAGS = -d
 bin_PROGRAMS = foo
 foo_SOURCES = @dots{} parser.y @dots{}