NAME
FFI::CheckLib - Check that a library is available for FFI
VERSION
version 0.02
SYNOPSIS
use FFI::CheckLib::FFI;
check_lib_or_exit( lib => 'jpeg', symbol => 'jinit_memory_mgr' );
check_lib_or_exit( lib => [ 'iconv', 'jpeg' ] );
# or prompt for path to library and then:
print "where to find jpeg library: ";
my $path = <STDIN>;
check_lib_or_exit( lib => 'jpeg', libpath => $path );
DESCRIPTION
This module checks whether a particular dynamic library is available for FFI to use. It is modeled heavily on Devel::CheckLib, but will find dynamic libraries even when development packages are not installed. It also provides a find_lib function that will return the full path to the found dynamic library, which can be feed directly into FFI::Raw.
FUNCTIONS
All of these take the same named parameters and are exported by default.
find_lib
This will return a list of dynamic libraries, or empty list if none were found.
lib
Must be either a string with the name of a single library or a reference to an array of strings of library names. Depending on your platform, CheckLib
will prepend lib
or append .dll
or .so
when searching.
libpath
A string or array of additional paths to search for libraries.
symbol
A string or a list of symbol names that must be found.
assert_lib
This behaves exactly the same as find_lib, except that instead of returning empty list of failure it throws an exception.
check_lib_or_exit
This behaves exactly the same as assert_lib, except that instead of dying, it warns (with exactly the same error message) and exists. This is intended for use in Makefile.PL
or Build.PL
check_lib
This behaves exactly the same as find_lib, except that it returns true (1) on finding the appropriate libraries or false (0) otherwise.
AUTHOR
Graham Ollis <plicease@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2014 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.