use ExtUtils::MakeMaker; # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. unless ($ENV{'LSF_ENVDIR'}) { $ENV{'LSF_ENVDIR'} = prompt("Directory containing lsf.conf file for this machine:","/etc/"); } my $lsfConf = $ENV{LSF_ENVDIR}."/lsf.conf"; die "Cannot find lsf.conf file in $ENV{LSF_ENVDIR}\n" unless (-r $lsfConf); # Get LSF_LIBDIR(if not found in the environment veriables) and LSF_INCLUDEDIR from config file my $lsfLib = $ENV{'LSF_LIBDIR'}; unless ($lsfLib) { chomp(my $lsfLib = `grep ^LSF_LIBDIR $lsfConf`); } $lsfLib =~ s/^[^=]+=//; die "Invalid LSF_LIBDIR ($lsfLib)\n" unless ((-d $lsfLib) && (-r $lsfLib)); warn "Found LSF_LIBDIR: $lsfLib\n"; chomp(my $lsfInc = `grep ^LSF_INCLUDEDIR $lsfConf`); $lsfInc =~ s/^[^=]+=//; die "Invalid LSF_INCLUDEDIR ($lsfInc)\n" unless ((-d $lsfInc) && (-r $lsfInc)); warn "Found LSF_INCLUDEDIR: $lsfInc\n"; $os = `uname`; warn "Found OS=$os\n"; for($os){ /OSF1/ && do{$libs = "-L$lsfLib -llsf -lbat -lmach -lmld";}; /AIX/ && do{$libs = "-L$lsfLib -llsf -lbat -lbsd";}; /SunOS/ && do{$libs = "-L$lsfLib -lbat -llsf -lnsl -lsocket -lrpcsvc -lgen -ldl -lresolv";}; /Linux/ && do{$libs = "-L$lsfLib -lbat -llsf";}; } WriteMakefile( 'NAME' => 'LSF::Batch', 'VERSION_FROM' => 'Batch.pm', 'LIBS' => [$libs], 'DEFINE' => '-DPERL_POLLUTE', 'OBJECT' => '$(O_FILES)', 'INC' => "-I$lsfInc" );