httpd-test-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stas Bekman <s...@stason.org>
Subject Re: apxs on Win32
Date Tue, 29 Jul 2003 14:51:57 GMT
Randy Kobes wrote:
> I've been looking at getting apxs for Win32 working on Apache 2.
> There's a number of changes needed due to the current reliance on
> libtool, so initially I've tried just a pure Win32 version - if
> anyone wants to try it, I've put up two files - Configure.apxs
> and apxs.in - at http://theoryx5.uwinnipeg.ca/. Running
>    C:\Some\Path> perl Configure.apxs
> (in the same directory as apxs.in) will guess at your Apache2
> directory (a --with-apache2=... option can be specified to tell
> it explicitly), and then an apxs.bat will be created under
> C:\Path\to\Apache2\bin\, along with the associated
> C:\Path\to\Apache2\build\config_vars.mk.

where would it go? Apache::Test? mod_perl?

> I've tried using this for the c-modules tests of perl-framework,
> and it seems to work OK, with the following diff applied to
> a couple of files under perl-framework/Apache-Test/lib/Apache:
> 
> ===========================================================
> Index: TestConfig.pm
> ===================================================================
> RCS file: /home/cvspublic/httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfig.pm,v
> retrieving revision 1.165
> diff -u -r1.165 TestConfig.pm
> --- TestConfig.pm	7 Jul 2003 18:42:29 -0000	1.165
> +++ TestConfig.pm	29 Jul 2003 05:51:22 -0000
> @@ -283,7 +283,7 @@
>      $self->{APXS} = $self->default_apxs;
> 
>      return unless $self->{APXS};
> -
> +    $self->{APXS} =~ s !/!\\!g if WIN32;

can this please be:

   $self->{APXS} =~ s|/|\\|g if WIN32;

os some other separator than !, probably something like s{/}{//}g

>      my $vars = $self->{vars};
> 
>      $vars->{bindir}   ||= $self->apxs('BINDIR', 1);
> Index: TestConfigC.pm
> ===================================================================
> RCS file: /home/cvspublic/httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfigC.pm,v
> retrieving revision 1.20
> diff -u -r1.20 TestConfigC.pm
> --- TestConfigC.pm	31 Mar 2003 06:58:40 -0000	1.20
> +++ TestConfigC.pm	29 Jul 2003 05:51:22 -0000
> @@ -76,7 +76,8 @@
>  EOF
>  }
> 
> -my %lib_dir = (1 => "", 2 => ".libs/");
> +my %lib_dir = Apache::TestConfig::WIN32 ? (1 => "", 2 => "") :
> +    (1 => "", 2 => ".libs/");
> 
>  sub cmodules_build_so {
>      my($self, $name) = @_;
> @@ -135,6 +136,9 @@
> 
>      my $lib = $self->cmodules_build_so($name);
> 
> +    my $extras;

it must be:

    my $extras = '';

> +    $extras = ' -llibhttpd -p ' if Apache::TestConfig::WIN32;

or:

   my $extras = Apache::TestConfig::WIN32 ? ' -llibhttpd -p ' : '';

probably worth adding on top:

   use constant WIN32 => Apache::TestConfig::WIN32;

so there will be less to type, shorter lines...


>      my $fh = Symbol::gensym();
>      open $fh, ">$makefile" or die "open $makefile: $!";
> 
> @@ -143,7 +147,7 @@
>  all: $lib
> 
>  $lib: $name.c
> -	\$(APXS) $dversion -I$self->{cmodules_dir} -c $name.c
> +       \$(APXS) $dversion -I$self->{cmodules_dir} $extras -c $name.c

please always inline and attach the diff when it includes tabs, since they get 
lost...

>  clean:
>  	-rm -rf $name.o $name.lo $name.slo $name.la .libs
> ===================================================================
> (there's a failure in building one of the tests due to a
> missing random-ish function). The tests were configured as
>   C:\perl-framework> Perl Makefile.PL -apxs C:\Apache2\bin\apxs
>         -httpd C:\Apache2\bin\Apache.exe
> The reason for specifying both -apxs and -httpd is related to the
> current Apache-Test using the fact that the apxs variable TARGET
> specifies the name of the httpd binary (httpd). On Win32 the
> binary is Apache.exe, but changing the value of TARGET on Win32
> would break assumptions elsewhere that the Apache configuration
> file (httpd.conf on Win32 as well) is TARGET.conf. How to handle
> this better should be looked at.

it'd be cool to need to rely only on any of the two.

> Merging this Win32 apxs.in and the one in the httpd sources would
> possible, if that was desired.
> 


-- 


__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


Mime
View raw message