Subject: bug#70557: Fix compilation of Vala files conditionally added to _SOURCES

From: Reuben Thomas <[email-masked]>
Date: Tue, 30 Apr 2024 10:04:27 +0200

On Mon, 29 Apr 2024 at 23:29, Karl Berry <[email-masked]> wrote:

>
> All I know about Vala is what you've written, but given that, I do agree
> it would be useful to document it. So a doc patch would be most welcome.
>

Attached.

-- 
https://rrt.sc3d.org
From eead600ffcf3d2ad56f2da25ea8371dca40432ea Mon Sep 17 00:00:00 2001
From: Reuben Thomas <[email-masked]>
Date: Tue, 30 Apr 2024 09:59:58 +0200
Subject: [PATCH] doc: update Vala documentation

* Update the URL for Vala.
* Drop the mention of a version requirement, as no current system will have a
too-old version of Vala.
* Note the restriction on conditional inclusion of source files in *_SOURCES.
---
 doc/automake.texi | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/doc/automake.texi b/doc/automake.texi
index d30905e0f..e48079f44 100644
--- a/doc/automake.texi
+++ b/doc/automake.texi
@@ -7023,18 +7023,21 @@ the @code{_LDFLAGS} variable for the program.
 @cindex Vala Support
 @cindex Support for Vala
 
-Automake provides initial support for Vala
-(@uref{https://www.vala-project.org/}).
-This requires valac version 0.7.0 or later, and currently requires
-the user to use GNU @command{make}.
+Automake supports Vala (@uref{https://vala.dev/}).
+Vala support requires the user to use GNU @command{make}.
 
 @example
 foo_SOURCES = foo.vala bar.vala zardoz.c
 @end example
 
 Any @file{.vala} file listed in a @code{_SOURCES} variable will be
-compiled into C code by the Vala compiler. The generated @file{.c} files
-are distributed. The end user does not need to have a Vala compiler installed.
+compiled into C code by the Vala compiler.  The generated @file{.c}
+files are distributed. The end user does not need to have a Vala
+compiler installed.  Because all C files must be generated, and the Vala
+compiler compiles all the @file{.vala} files for a target at once, it is
+not possible to add files to a @code{_SOURCES} variable that cannot be
+compiled together; for example, alternative platform-specific
+definitions of the same methods.
 
 Automake ships with an Autoconf macro called @code{AM_PROG_VALAC}
 that will locate the Vala compiler and optionally check its version
-- 
2.34.1