sigar/bindings/perl/Makefile.PL

56 lines
1.3 KiB
Makefile
Raw Normal View History

2004-06-22 06:37:04 +08:00
use ExtUtils::MakeMaker;
2009-02-25 11:07:51 +08:00
use strict;
2004-06-22 06:37:04 +08:00
use Config;
2009-02-25 11:07:51 +08:00
use File::Basename qw(basename);
use File::Copy qw(copy);
2007-09-03 08:20:38 +08:00
use lib qw(.. lib);
use SigarWrapper ();
2009-02-25 11:07:51 +08:00
use SigarBuild ();
my $gen_xs = 'Sigar_generated.xs';
my(@mm_args);
my(@clean_files) = ($gen_xs);
2004-06-22 06:37:04 +08:00
2007-04-10 23:35:04 +08:00
if ($ARGV[0]) {
2009-02-25 11:07:51 +08:00
#link against installed libsigar
my $installdir = $ARGV[0];
@mm_args = (
LIBS => ["-L$installdir/lib -lsigar"],
INC => "-I$installdir/include",
);
2007-04-10 23:35:04 +08:00
}
else {
2009-02-25 11:07:51 +08:00
#all sources in Sigar.so
my $flags = SigarBuild::flags();
my(@inline_src) = SigarBuild::inline_src($flags);
push @clean_files, @inline_src;
my(@object) = ('Sigar.o', map { s/c$/o/; $_ } @inline_src);
my(@libs) = map { "-l$_" } @{$flags->{libs}};
@mm_args = (
OBJECT => "@object",
LIBS => ["@libs"],
INC => "@{$flags->{cppflags}}",
dynamic_lib => { OTHERLDFLAGS => "@{$flags->{ldflags}}" },
);
2007-04-10 23:35:04 +08:00
}
2007-09-03 08:20:38 +08:00
SigarWrapper::generate(Perl => '.');
2007-04-10 23:35:04 +08:00
2004-06-22 06:37:04 +08:00
my $ccname = $Config{ccname};
my $define = {
gcc => '-Wall -Werror',
cc_r => '-qhalt=w',
}->{$ccname} || '';
WriteMakefile(
'NAME' => 'Sigar',
'VERSION_FROM' => 'Sigar.pm',
'DEFINE' => $define,
2009-02-25 11:07:51 +08:00
'depend' => { 'Sigar.c' => $gen_xs },
'realclean' => { FILES => "@clean_files" },
@mm_args,
2004-06-22 06:37:04 +08:00
);