hi,
i just ran into a *possible* bug in Makefile.PL:
if one wants to seamlessly build apache, mod_perl and other modules
using apaci with Makefile.PL, there is no way to *activate* other
modules, because they only get *enabled*:
perl Makefile.PL USE_APACI=1 ADD_MODULE=src/modules/fastcgi/libfastcgi.a
APACHE_PREFIX=/usr/local/httpd.fcgi
results in:
[...]
PerlConnectionApi...........enabled
PerlServerApi...............enabled
PerlSections................disabled (enable with PERL_SECTIONS=1)
PerlSSI.....................disabled (enable with PERL_SSI=1)
Will run tests as User: 'nobody' Group: 'root'
(cd ../apache_1.3.9 && CC="cc" ./configure
--activate-module=src/modules/perl/libperl.a
--prefix=/usr/local/httpd.fcgi --enable-module=src)
Configuring for Apache, Version 1.3.9
+ using installation path layout: Apache (config.layout)
+ activated perl module (modules/perl/libperl.a)
configure:Error: No such module named 'src'
[...]
the problem apprears to be the following if/else statement in lines
912-917 of Makefile.PL:
if(/([a-zA-Z0-9][a-zA-Z0-9_]*)/) {
$cmd .= " --enable-module=$1";
}
elsif(m:(src/modules/[^/]+/[a-zA-Z0-9][a-zA-Z0-9_]*):) {
$cmd .= " --activate-module=$1";
}
obviously the evaluation should be turned around, because the
([a-zA-Z0-9][a-zA-Z0-9_]*) evaluates true every time:
if(m:(src/modules/[^/]+/[a-zA-Z0-9][a-zA-Z0-9_]*):) {
$cmd .= " --activate-module=$1";
}
elsif(/([a-zA-Z0-9][a-zA-Z0-9_]*)/) {
$cmd .= " --enable-module=$1";
}
... which results in a successful build.
greets
Udo Rader
begin:vcard
n:Rader;Udo
tel;fax:+43 512 341934 20
tel;work:+43 512 341934 33
x-mozilla-html:TRUE
org:proFILE Computersysteme GmbH;R&D
adr:;;Eduard-Bodem-Gasse 6;Innsbruck;Austria;A-6020;
version:2.1
email;internet:[EMAIL PROTECTED]
title:developer
x-mozilla-cpt:;-3328
fn:Udo Rader
end:vcard