The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use 5.008003; # support use Exporter 'import';
use Config;
use ExtUtils::MakeMaker;

my %missing_modules;

$missing_modules{chk_module('Gtk2::Ex::Geo', 0.62)} = 1;
$missing_modules{chk_module('Graph')} = 1;

delete $missing_modules{''};

my @missing_modules = keys %missing_modules;
print "Following required/optional modules are missing: @missing_modules\n" if @missing_modules;
exit 0 if @missing_modules;

require ExtUtils::Depends;
#require ExtUtils::PkgConfig;

our $deps = ExtUtils::Depends->new('Gtk2::Ex::Geo::Graph', 'Gtk2::Ex::Geo');

our %pm_files = (
		 'lib/Gtk2/Ex/Geo/Graph.pm'  => '$(INST_LIBDIR)/Geo/Graph.pm',
);

$deps->add_pm (%pm_files);

$deps->save_config ('Files.pm');

WriteMakefile(
	      NAME              => 'Gtk2::Ex::Geo::Graph',
	      VERSION_FROM      => 'lib/Gtk2/Ex/Geo/Graph.pm',
	      ABSTRACT_FROM   => 'lib/Gtk2/Ex/Geo/Graph.pm', # retrieve abstract from module
	      AUTHOR          => 'Ari Jolma <ari.jolma @ tkk.fi>',
	      PREREQ_PM         => {
		  'Gtk2::Ex::Geo' => 0,
		  },
	      );

sub chk_module {
    my($pkg, $version) = @_;
    print "Checking for $pkg ($version):";
    eval { 
	my $p; 
	($p = $pkg . ".pm") =~ s#::#/#g; 
	require $p;
    };
    if ($@) {
	print " failed)\n";
	return $pkg;
    } else {
	my $v = '$v=$'.$pkg.'::VERSION';
	eval($v);
	if ($v < $version) {
	    print " failed\n";
	    return "$pkg is old version $v";
	}
	print " ok\n";
	return '';
    }
}