Return-Path: Delivered-To: apmail-perl-modperl-cvs-archive@www.apache.org Received: (qmail 86505 invoked from network); 7 Nov 2003 08:38:25 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 7 Nov 2003 08:38:25 -0000 Received: (qmail 25865 invoked by uid 500); 7 Nov 2003 08:38:01 -0000 Delivered-To: apmail-perl-modperl-cvs-archive@perl.apache.org Received: (qmail 25853 invoked by uid 500); 7 Nov 2003 08:38:01 -0000 Mailing-List: contact modperl-cvs-help@perl.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@perl.apache.org Delivered-To: mailing list modperl-cvs@perl.apache.org Received: (qmail 25840 invoked by uid 500); 7 Nov 2003 08:38:00 -0000 Delivered-To: apmail-modperl-2.0-cvs@apache.org Date: 7 Nov 2003 08:38:24 -0000 Message-ID: <20031107083824.86499.qmail@minotaur.apache.org> From: randyk@apache.org To: modperl-2.0-cvs@apache.org Subject: cvs commit: modperl-2.0/build win32_fetch_apxs X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N randyk 2003/11/07 00:38:24 Modified: . Changes Makefile.PL Added: build win32_fetch_apxs Log: Reviewed by: stas add a build/win32_fetch_apxs script (called within the top-level Makefile.PL) to offer to fetch and install Win32 development versions of apxs and (apr|apu)-config. Revision Changes Path 1.247 +4 -0 modperl-2.0/Changes Index: Changes =================================================================== RCS file: /home/cvs/modperl-2.0/Changes,v retrieving revision 1.246 retrieving revision 1.247 diff -u -r1.246 -r1.247 --- Changes 6 Nov 2003 11:22:02 -0000 1.246 +++ Changes 7 Nov 2003 08:38:23 -0000 1.247 @@ -12,6 +12,10 @@ =item 1.99_11-dev - +add a build/win32_fetch_apxs script (called within the top-level +Makefile.PL) to offer to fetch and install a Win32 development +version of apxs and (apr|apu)-config [Randy Kobes] + rewrite $r->read() and perlio read functions to use the same function, which completely satisfies the read request if possible, on the way getting rid of get_client_block and its supporting functions which 1.131 +9 -0 modperl-2.0/Makefile.PL Index: Makefile.PL =================================================================== RCS file: /home/cvs/modperl-2.0/Makefile.PL,v retrieving revision 1.130 retrieving revision 1.131 diff -u -r1.130 -r1.131 --- Makefile.PL 7 Nov 2003 00:56:31 -0000 1.130 +++ Makefile.PL 7 Nov 2003 08:38:23 -0000 1.131 @@ -44,6 +44,8 @@ my $build = Apache::Build->new(init => 1); my $code = ModPerl::Code->new; +win32_fetch_apxs() if WIN32; + configure(); perl_version_check($build); @@ -418,6 +420,13 @@ EOF } } +} + +sub win32_fetch_apxs { + return unless (my $prefix = $build->{MP_AP_PREFIX}); + my $script = catfile($build->{cwd}, 'build', 'win32_fetch_apxs'); + my @args = ($^X, $script, "--with-apache2=$prefix"); + system(@args) == 0 or die "system @args failed: $?"; } package MY; 1.1 modperl-2.0/build/win32_fetch_apxs Index: win32_fetch_apxs =================================================================== #!C:/Perl/bin/perl ################################################################### # apxs, apr-config, and apu-config are Apache utilities used # # to both get certain configuration information and also to # # assist in building Apache modules. These utilities have not # # yet been officially ported to Win32. The following will fetch # # and install a development version of these scripts which can # # be used in both mod_perl 2 and Apache C modules. # # # # Please report problems in installing or using these utilties to # # Randy Kobes # ################################################################### use strict; use warnings; use Getopt::Long; use File::Spec::Functions; use Archive::Tar; use File::Path; use LWP::Simple; use ExtUtils::MakeMaker qw(prompt); use Cwd; die "This is intended for Win32" unless ($^O =~ /Win32/i); my $prefix; GetOptions( 'with-apache2=s' => \$prefix); unless ($prefix and -d $prefix) { die << 'END'; I could not determine a valid Apache2 directory. Please run this script specifying the option --with-apache2=/Path/to/Apache2 where /Path/to/Apache2 is the location of your installed Apache2 top-level directory. END } exit 0 if (-e catfile($prefix, 'bin', 'apxs.bat')); print << 'END'; ---------------------------------------------------------------------- I could not find an apxs utility, which will be used in certain parts of the build, if present. This utility (and the apr-config and apu-config utilities) have not yet been ported to Apache2 on Win32, but a development port is available. You can either - ignore installing apxs by answering "no" at the prompt below (mod_perl will still build), - install apxs by answering "yes" at the prompt below, - quit now, run the "fetch_win32_apxs.pl" script in the build/ directory to fetch and install the utilities, and then rebuild mod_perl, - quit now, and from http://perl.apache.org/dist/win32-bin/ grab apxs_win32.tar.gz; when unpacked, this contains a README explaining how to install the utilities. Afterwards, rebuild mod_perl. ---------------------------------------------------------------------- END my $ans = prompt('Install apxs now?', 'yes'); exit 0 unless $ans =~ /^y/i; my $file = 'apxs_win32.tar.gz'; unless (-e $file) { my $remote = 'http://perl.apache.org/dist/win32-bin/' . $file; print "Fetching $remote ... "; die "Download of $remote failed" unless (is_success(getstore($remote, $file))); print " done!\n"; } my $cwd = getcwd; my $dir = 'apxs'; my $arc = Archive::Tar->new($file, 1); $arc->extract($arc->list_files()); die "Unpacking $file failed" unless (-d $dir); print "chdir $dir\n"; chdir $dir or die "chdir to $dir failed: $!"; my @args = ($^X, 'Configure.pl', "--with-apache2=$prefix"); print "@args\n"; system(@args) == 0 or die "system @args failed: $?"; chdir $cwd; #rmtree($dir, 1, 1) or warn "rmtree of $dir failed: $!"; #print "unlink $file\n\n"; #unlink $file or warn "unlink of $file failed: $!";