Stas Bekman wrote:
> Rodent of Unusual Size wrote:
>
>> the options are correct, but the module isn't being created properly.
>
> coolio, so now you know what the problem is ;)
actually, the options *aren't* correct for AIX and apache 1.3.
and in dealing with that, i found another set of '/' path
concatenation assumptions. here's a patch that seems to get
this working for apache 1.3 on aix.
thanks to bill stoddard for pointing out the weird and not-so-wonderful
link options needed for aix.
note the
my $makefile = "$mod->{dir}/Makefile";
path concatenation assumption. i fixed that in the new sub i added
for aix, but left the original (and any others) alone..
--
#ken P-)}
Ken Coar, Sanagendamgagwedweinini http://Ken.Coar.Org/
Author, developer, opinionist http://Apache-Server.Com/
"Millennium hand and shrimp!"
Index: Apache-Test/lib/Apache/TestConfigC.pm
===================================================================
RCS file:
/home/cvs/httpd-test/perl-framework/Apache-Test/lib/Apache/TestConfigC.pm,v
retrieving revision 1.24
diff -u -r1.24 TestConfigC.pm
--- Apache-Test/lib/Apache/TestConfigC.pm 8 Jan 2004 17:15:37 -0000
1.24
+++ Apache-Test/lib/Apache/TestConfigC.pm 2 Mar 2004 13:28:00 -0000
@@ -175,6 +175,48 @@
close $fh or die "close $makefile: $!";
}
+sub cmodules_write_makefile_aix {
+ my($self, $mod) = @_;
+
+ my $dversion = $self->server->dversion;
+ my $name = $mod->{name};
+ my $makefile = catfile($mod->{dir}, 'Makefile');
+ my $apxsflags = '';
+
+ if ($dversion eq '-DAPACHE1') {
+ $apxsflags = "-Wl,-bE:$name.exp";
+ my $expfile = catfile($mod->{dir}, "$name.exp");
+ if (! -f $expfile) {
+ my $fh = Symbol::gensym();
+ $name =~ /^mod_(\w+)(?:\.c)?$/;
+ my $sym = $1 . '_module';
+ open $fh, ">$expfile" or die "open $expfile: $!";
+ print $fh "$sym\n";
+ close $fh;
+ }
+ }
+ debug "writing $makefile";
+
+ my $lib = $self->cmodules_build_so($name);
+
+ my $fh = Symbol::gensym();
+ open $fh, ">$makefile" or die "open $makefile: $!";
+
+ print $fh <<EOF;
+APXS=$self->{APXS}
+APXSFLAGS=$apxsflags
+all: $lib
+
+$lib: $name.c
+ \$(APXS) $dversion -I$self->{cmodules_dir} \$(APXSFLAGS) -c $name.c
+
+clean:
+ -rm -rf $name.o $name.lo $name.slo $name.la .libs
+EOF
+
+ close $fh or die "close $makefile: $!";
+}
+
sub cmodules_write_makefile_MSWin32 {
my($self, $mod) = @_;