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 )