use ExtUtils::MakeMaker;
use Config;
use Cwd;
$geoip_libpath = '';
$geoip_incpath = '';
my @replacement_args;
my %config;
while($_ = shift) {
my ($key, $val) = split(/=/, $_, 2);
$config{$key} = $val;
}
unless ($config{LIBS}) {
# Test for existence of libGeoIP
my $found = 0;
foreach (split(/\s+/, $Config{libpth})) {
if (-f "$_/libGeoIP." . $Config{so}) {
$found = 1;
last;
}
}
unless ($found) {
die <<'GeoIP_Not_Installed;';
GeoIP must be installed prior to building Geo::IP and I can't find
it in the standard library directories. You can download GeoIP C API from:
http://www.maxmind.com/app/c
If GeoIP is installed, but in a non-standard directory, then use the
following options to Makefile.PL:
perl Makefile.PL LIBS='-L/home/me/lib' INC='-I/home/me/include'
Note that if you build against a shareable library in a non-standard location
you may (on some platforms) also have to set your LD_LIBRARY_PATH environment
variable at run time for perl to find the library.
If you installed the GeoIP C libraries to the /usr/local/lib directory,
then you may need to add /usr/local/lib to /etc/ld.so.conf then run
/sbin/ldconfig /etc/ld.so.conf
GeoIP_Not_Installed;
}
}
if ($config{LIBS} !~ /\-lGeoIP\b/) {
$config{LIBS} .= ' -lGeoIP';
}
@extras = ();
push(@extras,
CAPI => 'TRUE')
if ($PERL_VERSION >= 5.005 and $OSNAME eq 'MSWin32'
and $Config{archname} =~ /-object\b/i);
push(@extras,
ABSTRACT_FROM => 'lib/Geo/IP.pm',
AUTHOR => 'T.J. Mather (tjmather@tjmather.com)')
if ($ExtUtils::MakeMaker::Version >= 5.4301);
WriteMakefile(
NAME => 'Geo::IP',
dist => {COMPRESS => 'gzip', SUFFIX => '.gz'},
VERSION_FROM => 'lib/Geo/IP.pm',
LIBS => ['-lGeoIP'],
@extras,
%config
);