Alien-Libarchive
view release on metacpan or search on metacpan
inc/Alien/LZO/Installer.pm view on Meta::CPAN
my($class, %options) = @_;
$options{alien} = 1 unless defined $options{alien};
$options{test} ||= 'compile';
die "test must be one of compile, ffi or both"
unless $options{test} =~ /^(compile|ffi|both)$/;
if($options{alien} && eval q{ use Alien::LZO 0.01; 1 })
{
my $alien = Alien::LZO->new;
my $build = bless {
cflags => $alien->cflags,
libs => $alien->libs,
}, $class;
return $build if $options{test} =~ /^(compile|both)$/ && $build->test_compile_run;
return $build if $options{test} =~ /^(ffi|both)$/ && $build->test_compile_run;
}
my $build = bless {
cflags => [],
libs => ['-llzo2'],
}, $class;
$build->test_compile_run || die $build->error if $options{test} =~ /^(compile|both)$/;
$build->test_ffi || die $build->error if $options{test} =~ /^(ffi|both)$/;
$build;
}
=head2 build_install
inc/Alien/LZO/Installer.pm view on Meta::CPAN
}
else
{
require File::Copy;
File::Copy::move($from, $to);
}
}
};
}
my $build = bless {
cflags => ['-I' . _catdir($prefix, 'include')],
libs => ['-L' . _catdir($prefix, 'lib'), '-llzo2'],
prefix => $prefix,
dll_dir => [ 'dll' ],
dlls => do {
opendir(my $dh, _catdir($prefix, 'dll'));
[grep { ! -l _catfile($prefix, 'dll', $_) } grep { /\.so/ || /\.(dll|dylib)$/ } grep !/^\./, readdir $dh];
},
}, $class;
lib/Alien/Libarchive.pm view on Meta::CPAN
sub _catdir {
my $path = File::Spec->catdir(@_);
$path =~ s{\\}{/}g if $^O eq 'MSWin32';
$path;
}
sub new
{
my($class) = @_;
bless {}, $class;
}
sub cflags
{
my($class) = @_;
my @cflags = @{ $cf->config("cflags") };
unshift @cflags, '-I' . _catdir(_share_dir, 'libarchive019', 'include' )
if $class->install_type eq 'share';
wantarray ? @cflags : "@cflags";
( run in 1.104 second using v1.01-cache-2.11-cpan-de7293f3b23 )