Alien-Proj4
view release on metacpan or search on metacpan
lib/Alien/Proj4.pm view on Meta::CPAN
package Alien::Proj4;
use strict;
use warnings;
use parent qw( Alien::Base );
our $VERSION = '2.019113';
# most of the following are for compat with PDLA Makefiles
# and should not be used by other code
sub installed {1}
sub import {
# do nothing
return;
}
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;
}
EOF
list_projections();
}
# dup of code currently in PDLA::GIS::Proj
sub load_projection_information {
my ($class) = @_;
my $descriptions = $class->load_projection_descriptions();
my $info = {};
( run in 0.312 second using v1.01-cache-2.11-cpan-172d661cebc )