1use ExtUtils::MakeMaker;
2use Config;
3# See lib/ExtUtils/MakeMaker.pm for details of how to influence
4# the contents of the Makefile that is written.
5
6# if the last argument when calling Makefile.PL is RPATH=/... and ... is the
7# path to librrd.so then the Makefile will be written such that RRDs.so knows
8# where to find librrd.so later on ...
9my $R="";
10if ($ARGV[-1] =~ /RPATH=(\S+)/){
11	pop @ARGV;
12	my $rp = $1;
13	for ($^O){
14	        /linux/   && do{ $R = "-Wl,--rpath -Wl,$rp"};
15	        /hpux/    && do{ $R = "+b$rp"};
16	        /solaris/ && do{ $R = "-R$rp"};
17                /aix/     && do{ $R = "-Wl,-blibpath:$rp"};
18	}
19}
20
21# darwin works without this because librrd contains its
22# install_name which will includes the final location of the
23# library after it is installed. This install_name gets transfered
24# to the perl shared object.
25
26my $librrd = "-L../../src/.libs/ $R -lrrd";
27
28WriteMakefile(
29    'NAME'         => 'RRDs',
30    'VERSION_FROM' => 'RRDs.pm', # finds $VERSION
31    'DEFINE'	   => "-DPERLPATCHLEVEL=$Config{PATCHLEVEL}",
32    'INC'          => '-I../../src',
33    'LIBS'         => '-lm -lpng -lz -lfreetype',
34    # Perl will figure out which one is valid
35    #'dynamic_lib'  => {'OTHERLDFLAGS' => "$librrd -lm"},
36    'depend'       => {'RRDs.c' => "../../src/librrd.la"},
37    'LDFROM'       => '$(OBJECT) '.$librrd,
38    'realclean'    => {FILES => 't/demo?.rrd t/demo?.png' }
39);
40
41