Dist::Zilla::Plugin::FFI::CheckLib - FFI::CheckLib alternative to Dist::Zilla::Plugin::CheckLib
version 1.07
In your dist.ini:
[FFI::CheckLib] lib = zmq
This is a Dist::Zilla plugin that modifies the Makefile.PL or Build.PL in your distribution to check for a dynamic library FFI::Platypus (or similar) can access; uses FFI::CheckLib to perform the check.
If the library is not available, the program exits with a status of zero, which will result in a NA result on a CPAN test reporter.
This module is adapted directly from Dist::Zilla::Plugin::CheckLib, copyright (c) 2014 by Karen Etheridge (CPAN: ETHER). Look there for XS modules.
All options are as documented in FFI::CheckLib:
lib
The name of a single dynamic library (for example, zmq
). Can be used more than once.
FFI::CheckLib will prepend lib
and append an appropriate dynamic library suffix as needed.
symbol
A symbol that must be found. Can be used more than once.
systempath
The system search path to use (instead of letting FFI::CheckLib determine paths). Can be used more than once.
libpath
Additional path to search for libraries. Can be used more than once.
alien
The name of an Alien class that provides the Alien::Base interface for dynamic libraries.
Can be used more than once.
recursive
If set to true, directories specified in libpath
will be searched recursively.
Defaults to false.
try_linker_script
If set to true, uses the linker command to attempt to resolve .so
files for platforms where .so
files are linker scripts.
Defaults to false.
verify
The verify function body to use. For each usage, is one line of the function body. You can prefix with the pipe |
character to get proper indentation.
verify = | my($name, $libpath) = @_; verify = | my $ffi = FFI::Platypus->new; verify = | $ffi->lib($libpath); verify = | my $f = $ffi->function('foo_version', [] => 'int'); verify = | if($f) { verify = | return $f->call() >= 500; # we accept version 500 or better verify = | } else { verify = | return; verify = | }
If you use any modules, such as FFI::Platypus in this example, be sure that you declare them as configure requires.
Author: Graham Ollis <plicease@cpan.org>
Contributors:
Zaki Mughal (zmughal)
This software is copyright (c) 2018-2022 by Graham Ollis.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.