Alien-Proj4
view release on metacpan or search on metacpan
lib/Alien/Proj4.pm view on Meta::CPAN
}
sub default_lib {
return;
}
sub default_inc {
return;
}
sub libflags {
my ($class) = @_;
my $flags = join ' ', $class->libs;
return $flags;
}
sub incflags {
my ($class) = @_;
my $flags = $class->cflags;
return $flags;
}
# dup of code currently in PDLA::GIS::Proj
sub load_projection_descriptions {
my ($class) = @_;
my $incflags = $class->cflags;
my $libflags = $class->libs;
require Inline;
Inline->bind(C => <<'EOF', inc => $incflags, libs => $libflags) unless defined &list_projections;
#include "projects.h"
HV *list_projections() {
struct PJ_LIST *lp;
SV* scalar_val;
HV *hv = newHV();
for (lp = pj_get_list_ref() ; lp->id ; ++lp) {
scalar_val = newSVpv( *lp->descr, 0 );
hv_store( hv, lp->id, strlen( lp->id ), scalar_val, 0 );
}
return hv;
t/01-config.t view on Meta::CPAN
use strict;
use warnings;
use Test::More;
use Alien::Proj4;
diag( 'NAME=' . Alien::Proj4->config('name') );
diag( 'VERSION=' . Alien::Proj4->config('version') );
my $alien = Alien::Proj4->new;
diag 'CFLAGS: ' . $alien->cflags;
SKIP: {
skip "system libs may not need -I or -L", 2
if $alien->install_type('system');
like( $alien->cflags // '', qr/-I/ , 'cflags');
like( $alien->libs // '', qr/-L/ , 'libs');
}
done_testing();
use Alien::Proj4;
alien_ok 'Alien::Proj4';
# nasty hack
$ENV{LD_LIBRARY_PATH} = Alien::Proj4->dist_dir . '/lib';
$ENV{DYLD_LIBRARY_PATH} = Alien::Proj4->dist_dir . '/lib';
diag ('libs: ' . Alien::Proj4->libs);
diag ('cflags: ' . Alien::Proj4->cflags);
eval {
diag ('Dynamic libs: ' . join ':', Alien::Proj4->dynamic_libs);
};
diag $@ if $@;
diag ('bin dir: ' . join (' ', Alien::Proj4->bin_dir));
my @bin = Alien::Proj4->bin_dir;
diag "no proj bin dir found via bin_dir method\n" if not @bin;
diag 'Checking dynamic lib existence';
( run in 0.619 second using v1.01-cache-2.11-cpan-94b05bcf43c )