On Sat, Oct 10, 2026 at 11:39:38AM +0100, Gavin Smith wrote: > One possiblity is to detect when texi2any is built and build a restricted > version if there is no embedded Perl available. texi2any could give an > error message if certain features are requested (e.g. if the output format > isn't supported).
This is more or less what is done currently with texistatic. Indeed, it is build even if there is no embedded Perl nor XS. It is not always built when it could, though, only if the --enable-additional-checks option is passed to configure. Changing the Makefile.am such that it is built automatically would be very easy. An example of use: $ rm simplest.info $ ./texistatic ../perl/t/input_files/simplest.texi $ ls simplest.info texistatic, or ctexi2any run without Perl embedding, give errors or warning messages for missing features: $ ./texistatic --docbook ../perl/t/input_files/simplest.texi ERROR: no interpreter for Texinfo::Convert::DocBook For init files it is a warning: $ export TEXINFO_C_EMBED_PERL=0 $ ./ctexi2any --html --init ../perl/init/book.pm ../perl/t/input_files/simplest.texi WARNING: no interpreter, cannot load: ../perl/init/book.pm simplest.texi: warning: must specify a title with a title command or @top > It may be that demanding the requirements for an embedded Perl interpreter > is not onerous but we could check why some distributions didn't have these > dependencies installed by default. It is not our job, I think. Users are supposed to install the dependencies. libperl is such a dependency for a normally functionning ctexi2any command, users should install libperl. I surmise that it is never complicated, if someone installs from source, libperl will be there, if not, there will be a package already present to install libperl. Embedding a Perl interpreter is not common, but texi2any cannot be the only software embedding a Perl interpreter. And advanced users who want a command without libperl can manage to have texistatic compiled and install the program as texi2any. Maybe with more documentation, but until now this was not something we pushed forward (I actually almost decided to remove completly texistatic, I only kept it because it is handy to find missing replacement functions for functions calling Perl functions from C when compiling). -- Pat
