in reply to How to author a module with optional XS

The Lancaster Consensus says:

Some distributions offer an "XS" version or a "Pure Perl" version that can be selected during configuration. Currently, each of these has their own way for users to indicate this, which makes it impossible for CPAN clients or other build tools to help users select automatically.

Going forward, the "spec" for Makefile.PL and Build.PL will include command line options to request a "pure Perl only" build. These will be:

So, applying the inverse logic, if the user or their environment has not specifically requested the pure-perl version by this mechanism then you would be abiding by the consensus to attempt the XS install and inform the user of failure to do so when appropriate.

That would probably be my approach but it's hypothetical as I don't maintain any XS modules.


🦛

  • Comment on Re: How to author a module with optional XS

Replies are listed 'Best First'.
Re^2: How to author a module with optional XS
by NERDVANA (Priest) on Sep 02, 2023 at 10:10 UTC
    Ha-ha! This is what I was looking for. So I can just start the Makefile.PL with a check for an environment variable that disables all the XS, and document the module as supporting this feature. And if I go searching this keyword maybe I'll find existing tooling for it.