use ExtUtils::MakeMaker; use Config; use File::Copy 'cp'; use lib qw(lib); use Sigar::ArchName (); my $installdir; if ($ARGV[0]) { $installdir = $ARGV[0]; } else { #check binary-dist location and svn source location for (qw(../../sigar-bin ../java/sigar-bin)) { if (-e $_) { $installdir = $_; last; } } } my $generated_xs = "Sigar_generated.xs"; my $build_xs = "../java/build/src/$generated_xs"; if (-e $build_xs) { #XXX should be done in the generated Makefile if ((stat $generated_xs)[9] < (stat $build_xs)[9]) { print "Updating $generated_xs from $build_xs\n"; cp $build_xs, $generated_xs; } } my $archname = Sigar::ArchName->get_name(); my $ccname = $Config{ccname}; my $define = { gcc => '-Wall -Werror', cc_r => '-qhalt=w', }->{$ccname} || ''; WriteMakefile( 'NAME' => 'Sigar', 'VERSION_FROM' => 'Sigar.pm', 'LIBS' => ["-L$installdir/lib -lsigar-$archname"], 'INC' => "-I$installdir/include", 'DEFINE' => $define, 'depend' => { 'Sigar.c' => 'Sigar_generated.xs' }, );