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.

