On Tue, Jan 13, 2026 at 06:53:14PM +0000, Gavin Smith wrote:
> On Tue, Jan 13, 2026 at 05:57:44PM +0200, Eli Zaretskii wrote:
> > And does the build really must have ExtUtils::Embed?

For platforms such as mingw that use --no-undefined and link against
libperl, ExtUtils::Embed flags should be used, even if we do it by
ourselves and not with ExtUtils::Embed.  That is actually what happens,
we setup flags equivalent to ExtUtils::Embed ldopts, which are
perl_conf_LIB_LDFLAGS + perl_conf_LIBS.

> I remember that we discussed ExtUtils::Embed on this list.  As I remember,
> this module reports perl configuration values which we could get from
> the output of "perl -V" instead.

Exactly.  So, it is not really the problem here, the real issue is
selecting the right flags to link against libperl.

> It's actually no surprise to me that we are having all of these problems.
> At the very least, there is a significant increase in the amount of C
> extension code used in texi2any, which has led necessarily to more complexity
> in the build system.  There has been a lot of reform to accommodate this
> new code and to try to ensure the program continues to build correctly
> and smoothly, for example using correct compiler flags for different
> parts of the program (compatibility of Perl extension code with gnulib
> code is one possible problem, as far as I understand).

This is not that much linked to new code, these are issues that are old,
and related to the Perl headers versus Gnulib headers, and determining
which flags to use to link against libperl.  Now that there is more
code, these issues appear in more places, but that's nothing new.

>  On top of that,
> there are the speculative features and alternative non-default implementations
> that are also in the codebase.  I expect that more could be done in
> separating the essential and accidental complexity in Texinfo's build
> system.

The features are well separated and there are automake conditionals
(and possibilities to disable at runtime too).  There are no configure
--enable-* flags to disable explicitly ctexi2any being build even if it
was detected to be buildable.  Not sure that it would be very useful,
but it could be added very easily.

The SWIG stuff is well separated.

-- 
Pat

Reply via email to