summaryrefslogtreecommitdiff
path: root/Makefile.PL
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.PL')
-rw-r--r--Makefile.PL201
1 files changed, 201 insertions, 0 deletions
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);
+}
+