On Fri, Oct 09, 2026 at 09:57:42AM +0300, Eli Zaretskii wrote:
> > From: Gavin Smith <[email protected]>
> > Date: Thu, 8 Oct 2026 23:18:42 +0100
> > 
> > On Mon, Oct 05, 2026 at 11:31:21PM +0200, Patrice Dumas wrote:
> > > Hello,
> > > 
> > > The mingw ucrt clang on MSYS2 platforms in the github CI do not have a
> > > shared libperl, therefore do not have XS nor ctexi2any nor Perl SWIG.
> > > Some C is still compiled, but not used/installed.  This still tests
> > > native Perl, and all the tests that are not skipped pass, which is nice
> > > (I would have preferred to skip less tests in tta/perl/t/*.t, see the
> > > other thread).
> > 
> > Is this a regression?  In other words, should we expect Texinfo to build
> > on this platform and for the tests to pass?
> 
> It depends on whether Clang on Windows can produce XS modules, which
> in turn depends on whether the native Perl used on the CI platform
> supports XS modules compiled with Clang.  I don't know the answers, as
> I don't use Clang.

What is sure is that on what Bruno set up there is no shared libperl with
Clang, therefore no XS/C and not a good coverage of tests.  I have no
idea if this can be changed, and I will not investigate that myself.
But this is not a regression in any case.

> > We used not to depend on libperl - this is one of several issues from the
> > last six months or so which I have planned to revisit.  It was only
> > required for embedding a Perl interpreter, which wasn't necessary for 
> > texi2any
> > in any of the previously released versions of Texinfo.  libperl was not
> > installed on Debian-derived distributions, for example.
> 
> The MinGW builds of Texinfo have all of the XS and texinfo DLLs
> dependent on the Perl shared library (in my case, its PERL200.DLL).  I
> don't see how it can be otherwise, since we invoke functions insider
> libperl.  Or what am I missing?

On GNU/Linux and Unices, and more generally on platforms where
-no-undefined is not needed for linking, libperl is not needed when
linking XS and XS with other C codes at compile/link time, and at
runtime, the "libperl" that is part of the running interpreter is
there.  Therefore, on these platforms, if texi2any.pl is used, there is
no need to link against libperl (but it does not hurt either).

On Ms-Windows, for MinGW and Cygwin builds, -no-undefined is needed,
therefore we have been relying on libperl being present on those
platforms since adding XS (since 6.1 in 2016).

When ctexi2any is used, however, Perl is embedded, and there is a need
to link with libperl on GNU/Linux and Unices too (since 7.3, March 2026).

-- 
Pat

Reply via email to