# # Building Makefile for HTTP::Webdav # # (C) 2001 G.Richter / ECOS # # $Id: Makefile.PL,v 1.10 2001/10/19 04:36:30 richter Exp $ # use ExtUtils::MakeMaker; $win32 = ($^O eq 'MSWin32') ; sub error { print STDERR $_[0], "\n" ; exit (1) ; } $pversion = 'neon 0.17.1' ; if (!$win32) { open (C, "neon-config --version|") or error ("Cannot execute neon-config ($!). Is neon already installed on your system?") ; chomp ($version = ) or error ("Cannot execute neon-config to get version. Is neon already installed on your system?") ; close C ; open C, "neon-config --prefix --libs --cflags|" or error ("Cannot execute neon-config ($!). Is neon already installed on your system?") ; chomp ($prefix = ) ; chomp ($libs = ) ; chomp ($cflags = ) ; close C ; print "Found $version installed under $prefix\n" ; print STDERR "This module was made for $pversion and may not run correctly with $version\n" if ($pversion ne $version) ; } else { do 'config.pl' if (-e 'config.pl') ; $neonsrc ||= $ARGV[0] || $ENV{NEON_SRC} ; if (!$neonsrc || !-d $neonsrc) { error ("Please specify the location of the neon source files, either as\nfirst argument to Makefile.PL or by setting the environment variables NEON_SRC") ; } foreach ('neons.lib', 'neonsd.lib', 'Release/neons.lib', 'Debug/neonsd.lib') { if (-f "$neonsrc/$_") { $neonlib = "$neonsrc/$_" ; last ; } } error ("neons.lib not found under source tree $neonsrc") if (!$neonlib) ; $expatsrc ||= $ARGV[1] || $ENV{EXPAT_SRC} ; if (!$expatsrc || !-d $expatsrc) { error ("Please specify the location of the expat source files, either as\nsecond argument to Makefile.PL or by setting the environment variables EXPAT_SRC") ; } foreach ('xmlparse.lib', 'Release/xmlparse.lib', 'Debug/xmlparse.lib') { if (-f "$expatsrc/$_") { $expatlib = "$expatsrc/$_" ; last ; } } error ("xmlparse.lib not found under source tree $expatsrc") if (!$expatlib) ; $exlibs = " \"$neonlib\" \"$expatlib\" " ; $exlibs =~ s#/#\\#g ; $cflags = "-I \"$neonsrc/src\"" ; $cflags =~ s#/#\\#g ; $define = ' -DHAVE_CONFIG_H' ; open FH, ">config.pl" ; print FH q{$neonsrc='}, $neonsrc, "' ;\n", q{$expatsrc='}, $expatsrc, "' ;\n" ; close FH ; print "Found neon source at $neonsrc\n" ; print "Found expat source at $expatsrc\n" ; } WriteMakefile ( 'NAME' => 'HTTP::Webdav', 'VERSION_FROM' => 'Webdav.pm', # finds $VERSION $libs? ('LIBS' => [$libs]):(), $exlibs?('MYEXTLIB' => $exlibs):(), 'INC' => $cflags, $define?('DEFINE' => $define):(), 'realclean' => { FILES => 'config.pl' }, 'ABSTRACT' => 'HTTP::Webdav - Perl interface to Neon HTTP and WebDAV client library', 'AUTHOR' => 'Gerald Richter ', );