Alt-Alien-FFI-System
view release on metacpan or search on metacpan
lib/Alien/FFI.pm view on Meta::CPAN
package Alien::FFI;
use strict;
use warnings;
use 5.008001;
use Carp qw( croak );
# ABSTRACT: Get libffi compiler and linker flags
our $VERSION = '0.23'; # VERSION
sub new
{
my($class) = @_;
bless {}, $class;
}
my $pkg_config;
foreach my $try ($ENV{PKG_CONFIG}, 'pkg-config', 'pkgconf')
{
next unless defined $try;
require IPC::Cmd;
if(IPC::Cmd::can_run($try))
{
$pkg_config = $try;
last;
}
}
unless($pkg_config)
{
if(eval q{ use PkgConfig (); 1 })
{
$pkg_config = "$^X $INC{'PkgConfig.pm'}";
}
}
unless($pkg_config)
{
die "unable to find pkg-config, pkgconf or PkgConfig.pm";
}
sub install_type
{
'system';
}
my $config;
sub config
{
my(undef, $key) = @_;
unless($config)
{
my $version = `$pkg_config --modversion libffi`;
die "package libffi not found" if $?;
chomp $version;
$config = {
version => $version,
pkg_config => $pkg_config,
};
}
$config->{$key};
}
foreach my $linkage ('share','static')
{
foreach my $name ('cflags','libs')
{
my $value;
my $flags = "--$name";
( run in 1.908 second using v1.01-cache-2.11-cpan-39bf76dae61 )