From 891c29af147fcbe6c4dd5d8ffbbb426665d4b558 Mon Sep 17 00:00:00 2001 From: Lorry Date: Mon, 21 May 2012 16:44:15 +0100 Subject: Tarball conversion --- Makefile.PL | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 201 insertions(+) create mode 100644 Makefile.PL (limited to 'Makefile.PL') diff --git a/Makefile.PL b/Makefile.PL new file mode 100644 index 0000000..f1545ce --- /dev/null +++ b/Makefile.PL @@ -0,0 +1,201 @@ + +use 5.004005; #Devel::CheckLib +use ExtUtils::MakeMaker; +use lib qw(inc); +use Devel::CheckLib; + +use Config; + +$expat_libpath = ''; +$expat_incpath = ''; + +my @replacement_args; + +foreach (@ARGV) { + if (/^EXPAT(LIB|INC)PATH=(.+)/) { + if ($1 eq 'LIB') { + $expat_libpath = $2; + } + else { + $expat_incpath = $2; + } + #push(@replacement_args, "$1=$2"); + } + else { + push(@replacement_args, $_); + } +} + +@ARGV = @replacement_args; + +unless ( + check_lib( # fill in what you prompted the user for here + lib => [qw(expat)], + header => ['expat.h'], + incpath => $expat_incpath, + ($expat_libpath? + (libpath => $expat_libpath):()), + )) { + warn <<'Expat_Not_Installed;'; + +Expat must be installed prior to building XML::Parser and I can't find +it in the standard library directories. Install 'expat-devel' package with your +OS package manager. See 'README'. + +Or you can download expat from: + +http://sourceforge.net/projects/expat/ + +If expat is installed, but in a non-standard directory, then use the +following options to Makefile.PL: + + EXPATLIBPATH=... To set the directory in which to find libexpat + + EXPATINCPATH=... To set the directory in which to find expat.h + +For example: + + perl Makefile.PL EXPATLIBPATH=/home/me/lib EXPATINCPATH=/home/me/include + +Note that if you build against a shareable library in a non-standard location +you may (on some platforms) also have to set your LD_LIBRARY_PATH environment +variable at run time for perl to find the library. + +Expat_Not_Installed; + #exit; +} + +if (not $expat_libpath and $] >= 5.006001 and $^O ne 'MSWin32') { + require ExtUtils::Liblist; # Buggy before this + ($expat_libpath) = ExtUtils::Liblist->ext('-lexpat'); +} + +=for cmt + +unless ($expat_libpath) { + # Test for existence of libexpat + my $found = 0; + foreach (split(/\s+/, $Config{libpth})) { + if (-f "$_/libexpat." . $Config{so}) { + $expat_libpath=$_; + $found = 1; + last; + } + } + + if (!$found and $^O eq 'MSWin32') { + if (-f 'C:/lib/Expat-2.0.0/Libs/libexpat.dll') { + $expat_libpath = 'C:/lib/Expat-2.0.0/Libs'; + $expat_incpath = 'C:/lib/Expat-2.0.0/Source/lib'; + $found = 1; + } + + } + if ($found) { + print "libexpat found in $expat_libpath\n"; + } + + unless ($found) { + warn <<'Expat_Not_Installed;'; + +Expat must be installed prior to building XML::Parser and I can't find +it in the standard library directories. Install 'expat-devel' package with your +OS package manager. + +Or you can download expat from: + +http://sourceforge.net/projects/expat/ + +If expat is installed, but in a non-standard directory, then use the +following options to Makefile.PL: + + EXPATLIBPATH=... To set the directory in which to find libexpat + + EXPATINCPATH=... To set the directory in which to find expat.h + +For example: + + perl Makefile.PL EXPATLIBPATH=/home/me/lib EXPATINCPATH=/home/me/include + +Note that if you build against a shareable library in a non-standard location +you may (on some platforms) also have to set your LD_LIBRARY_PATH environment +variable at run time for perl to find the library. + +Expat_Not_Installed; + exit 0; + } +} +=cut + +# Don't try to descend into Expat directory for testing + +sub MY::test +{ + my $self = shift; + + my $hold = delete $self->{DIR}; + my $ret = $self->MM::test(@_); + $self->{DIR} = $hold if defined($hold); + $ret; +} + +my @extras = (); + +push(@extras, + CAPI => 'TRUE') + if ($PERL_VERSION >= 5.005 and $OSNAME eq 'MSWin32' + and $Config{archname} =~ /-object\b/i); + +WriteMakefile1( + ABSTRACT_FROM => 'Parser.pm', + AUTHOR => 'Clark Cooper (coopercc@netheaven.com)', + LICENSE => 'perl', + MIN_PERL_VERSION => '5.00405', + META_MERGE => { + resources => { + repository => 'http://github.com/chorny/XML-Parser', + }, + }, + #BUILD_REQUIRES => { + #}, + + NAME => 'XML::Parser', + DIR => [qw(Expat)], + dist => {COMPRESS => 'gzip', SUFFIX => '.gz'}, + VERSION_FROM => 'Parser.pm', + PREREQ_PM => { + LWP => 0, #for tests + }, + $^O =~/win/i ? ( + dist => { + TAR => 'ptar', + TARFLAGS => '-c -C -f', + }, + ) : (), + @extras +); + + +sub WriteMakefile1 { #Written by Alexandr Ciornii, version 0.21. Added by eumm-upgrade. + my %params=@_; + my $eumm_version=$ExtUtils::MakeMaker::VERSION; + $eumm_version=eval $eumm_version; + die "EXTRA_META is deprecated" if exists $params{EXTRA_META}; + die "License not specified" if not exists $params{LICENSE}; + if ($params{BUILD_REQUIRES} and $eumm_version < 6.5503) { + #EUMM 6.5502 has problems with BUILD_REQUIRES + $params{PREREQ_PM}={ %{$params{PREREQ_PM} || {}} , %{$params{BUILD_REQUIRES}} }; + delete $params{BUILD_REQUIRES}; + } + delete $params{CONFIGURE_REQUIRES} if $eumm_version < 6.52; + delete $params{MIN_PERL_VERSION} if $eumm_version < 6.48; + delete $params{META_MERGE} if $eumm_version < 6.46; + delete $params{META_ADD} if $eumm_version < 6.46; + delete $params{LICENSE} if $eumm_version < 6.31; + delete $params{AUTHOR} if $] < 5.005; + delete $params{ABSTRACT_FROM} if $] < 5.005; + delete $params{BINARY_LOCATION} if $] < 5.005; + + WriteMakefile(%params); +} + -- cgit v1.2.1