Alien-Xmake
view release on metacpan or search on metacpan
lib/Alien/Xrepo.pod view on Meta::CPAN
This module acts as an intelligent bridge between Perl and the C<xrepo> package manager.
While L<Affix> or L<FFI::Platypus> or L<Inline::C> can handle the binding or linking to native functions, Alien::Xrepo
handles the B<acquisition> of the libraries containing those functions. It automates the entire dependency lifecycle:
=over
=item 1. Provisioning:
Downloads and installs libraries (C<libpng>, C<openssl>, etc.) via C<xrepo>, handling version constraints and custom
repository lookups.
=item 2. Configuration:
Ensures libraries are compiled with FFI compatible flags (forcing C<shared> libraries instead of static archives) and
supports cross-compilation parameters (platform, architecture, toolchains).
=item 3. Introspection:
Parses the build metadata to locate the exact absolute paths to the runtime binaries (C<.dll>, C<.so>, C<.dylib>) and
lib/Alien/Xrepo.pod view on Meta::CPAN
XS module.>
=item B<toolchain>
Specify a toolchain (e.g., C<llvm>, C<zig>, C<mingw>).
=item B<configs>
A hashsef or string of package-specific configurations.
configs => { openssl => 'true', shared => 'true' }
# becomes --configs='openssl=true,shared=true'
=item B<includes>
A list or string of extra dependencies to include in the environment.
=back
=back
Returns an L<Alien::Xrepo::PackageInfo> object.
( run in 0.724 second using v1.01-cache-2.11-cpan-acf6aa7dc9e )