Alien-LibMagic
view release on metacpan or search on metacpan
lib/Alien/LibMagic.pm view on Meta::CPAN
package Alien::LibMagic;
$Alien::LibMagic::VERSION = '0.003';
use strict;
use warnings;
use Path::Tiny;
use parent 'Alien::Base';
sub cflags {
my ($self) = @_;
my $top_include = File::Spec->catfile( File::Spec->rel2abs($self->dist_dir), qw(include) );
return "-I$top_include";
}
sub libs {
my ($self) = @_;
my $top_lib = File::Spec->catfile( File::Spec->rel2abs($self->dist_dir), qw(lib) );
my $la_file = path( File::Spec->catfile( $top_lib, 'libmagic.la' ) );
my ($deps) = $la_file->slurp_utf8 =~ /^dependency_libs=' (.*)'$/m;
return "-L$top_lib -lmagic $deps";
}
sub Inline {
my ($self, $lang) = @_;
if( $lang eq 'C' ) {
my $params = Alien::Base::Inline(@_);
$params->{MYEXTLIB} .= ' ' .
join( " ",
map { File::Spec->catfile(
File::Spec->rel2abs($self->dist_dir),
'lib', $_ ) }
qw(libmagic.a)
);
# Use static linking instead of dynamic linking on macOS.
if( $^O eq 'darwin' ) {
$params->{LIBS} =~ s/-lmagic//g;
}
return $params;
}
}
sub inline_auto_include {
return [ 'magic.h' ];
}
1;
=pod
=encoding UTF-8
=head1 NAME
Alien::LibMagic - Alien package for the libmagic library
=head1 VERSION
version 0.003
=head1 Inline support
This module supports L<Inline's with functionality|Inline/"Playing 'with' Others">.
=head1 SEE ALSO
L<file(1)>, L<file command|http://darwinsys.com/file/>, L<File::LibMagic>
=head1 AUTHOR
Zakariyya Mughal <zmughal@cpan.org>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2014 by Zakariyya Mughal.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
( run in 1.447 second using v1.01-cache-2.11-cpan-6b5c3043376 )