X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FMakefile.PL;h=0b5650ca23b792e4a607451eaf55599ff827223f;hb=65d3968699a119a2c21278c19bdbdf98c67d98ea;hp=9f086f2c61a0d7678effc968779df77ba3a59c92;hpb=09c3bca27c3a31b2288a4b3b8f926f629a83c973;p=catagits%2Ffcgi2.git diff --git a/perl/Makefile.PL b/perl/Makefile.PL index 9f086f2..0b5650c 100644 --- a/perl/Makefile.PL +++ b/perl/Makefile.PL @@ -1,9 +1,10 @@ -# $Id: Makefile.PL,v 1.7 2000/12/11 22:00:36 skimo Exp $ +# $Id: Makefile.PL,v 1.11 2001/06/08 15:09:47 skimo Exp $ use ExtUtils::MakeMaker; use IO::File; use Config; use Cwd 'cwd'; +use Getopt::Long; @h1 = qw(fastcgi.h fcgiapp.h fcgiappmisc.h fcgimisc.h fcgios.h); @h = (@h1, 'fcgi_config.h'); @@ -12,6 +13,14 @@ use Cwd 'cwd'; @dist2 = qw(fcgiapp.c os_unix.c os_win32.c); @dist3 = (@h1, qw(fcgi_config.h.in fcgi_config_x86.h)); +GetOptions ("pure-perl!" => \$pure); +$pure = + (prompt("Do you want to use the pure perl implementation", "no") =~ /^y/) + ? "1" : "0" unless defined $pure; +open(CFG,">FCGI.cfg"); +print CFG "\$pure = $pure;1;\n"; +close CFG; + $devkit = cwd() . "/.."; if (-d "$devkit/libfcgi/" @@ -55,15 +64,33 @@ push(@extras, ABSTRACT => 'Fast CGI module', AUTHOR => 'Sven Verdoolaege (skimo@kotnet.org)') if ($ExtUtils::MakeMaker::VERSION >= 5.4301); + +$plfiles = { 'echo.PL' => 'echo.fpl', + 'remote.PL' => 'remote.fpl', + 'threaded.PL' => 'threaded.fpl', + 'FCGI.PL' => 'FCGI.pm', + }; +$plfiles->{'FCGI.XL'} = 'FCGI.xs' unless $pure; +if ($pure) { + push @extras, + LINKTYPE => ' '; +} else { + push @extras, + 'LIBS' => [ @libs ], + 'OBJECT' => "@o", + 'INC' => $inc; +} # See lib/ExtUtils/MakeMaker.pm for details of how to influence # the contents of the Makefile that is written. -WriteMakefile( + +# Work around bug in previous versions of MakeMaker +WriteMakefile(NAME => 'FCGI') + if $ExtUtils::MakeMaker::VERSION <= 5.4302; + +$mm = MM->new({ 'NAME' => 'FCGI', - 'VERSION_FROM' => 'FCGI.pm', - 'LIBS' => [ @libs ], - 'OBJECT' => "@o", - 'INC' => $inc, + 'VERSION_FROM' => 'FCGI.PL', 'dist' => { 'COMPRESS' => 'gzip -9f', 'SUFFIX' => 'gz', 'PREOP' => '$(CP) '.join(' ', @@ -76,16 +103,18 @@ WriteMakefile( 'POSTOP' => '$(MV) MANIFEST.old MANIFEST', }, - 'clean' => { FILES => 'config.cache fcgi_config.h' }, - 'PL_FILES' => { 'echo.PL' => 'echo.fpl', - 'remote.PL' => 'remote.fpl', - 'threaded.PL' => 'threaded.fpl', - 'FCGI.PL' => 'FCGI.xs', - }, + 'clean' => { FILES => 'config.cache fcgi_config.h' . + ' FCGI.xs FCGI.c FCGI.cfg ' . + (join ' ', values %$plfiles)}, + 'PL_FILES' => $plfiles, + PM => {'FCGI.pm' => '$(INST_ARCHLIBDIR)/FCGI.pm'}, @extras, -); +}); +# don't install oldinterface pod +delete $mm->{MAN3PODS}{oldinterface.pod}; +$mm->flush; -exit if -f 'fcgi_config.h' or $prefix; +exit if -f 'fcgi_config.h' or $prefix or $pure; # CPAN and no installed lib found if ($sys eq "win32") {