/usr/local/CPAN/Geo-GDAL/Makefile.PL
use ExtUtils::MakeMaker;
$LIB = '';
$INC = '';
# check that we're part of GDAL distro
# or that installed GDAL version is the same as that in lib/Geo/GDAL.pm
if (-f "../../GDALmake.opt") {
print "Building in GDAL distro tree\n";
$LIB = '-L../../.libs';
$INC = '-I../../gcore -I../../alg -I../../ogr -I../../port';
} elsif (-f "c:/msys/1.0/local/bin/gdal-config") {
print "found gdal-config in c:/msys/1.0/local/bin/\n";
$LIB = '-Lc:/msys/1.0/local/lib';
$INC = '-Ic:/msys/1.0/local/include';
open $fh, "c:/msys/1.0/local/bin/gdal-config";
} elsif (-f "/usr/local/bin/gdal-config") {
print "found gdal-config in /usr/local/bin/\n";
open $fh, "/usr/local/bin/gdal-config";
} else {
print "can't find gdal-config\n";
}
if ($fh) {
@config = <$fh>;
close $fh;
for (@config) {
($gdal_version) = /(\d+\.\d+\.\d+)/ if /^CONFIG_VERSION/;
}
open $fh, "lib/Geo/GDAL.pm";
@config = <$fh>;
close $fh;
for (@config) {
($pm_version) = /(\d+\.\d+\.\d+)/ if /GDAL_VERSION/;
}
die "GDAL version ($gdal_version) and module version ($pm_version) do not match"
unless $gdal_version eq $pm_version;
}
%object = ( 'Geo::GDAL' => 'gdal_wrap.o',
'Geo::GDAL::Const' => 'gdalconst_wrap.o',
'Geo::OGR' => 'ogr_wrap.o',
'Geo::OSR' => 'osr_wrap.o' );
for my $module (keys %object) {
my $add = $module;
$add =~ s/:/_/g;
WriteMakefile( NAME => $module,
VERSION_FROM => 'lib/Geo/GDAL.pm',
MAKEFILE => 'Makefile_'.$add,
LIBS => "$LIB -lgdal.dll",
INC => $INC,
OBJECT => $object{$module}
);
}