blob: 30cf14f3c0c131001cb0a4ed340eb0d53a3a7395 [file] [log] [blame]
#! /usr/local/bin/perl
use File::Find;
use strict;
my $APACHE_SRC = shift;
my $LoadModule_conf = "t/conf/LoadModule.conf";
my $tmp = "t/conf/httpd.conf.new";
my $orig = "t/conf/httpd.conf";
local *ORIG;
open ORIG, $orig or die "can't open $orig $!";
while(<ORIG>) {
if(/^LoadModule/) {
exit 0; #already cat-ed
}
}
unless (-d "t") {
chdir "..";
}
#phooey, this mess should have been cleaned up before 1.3.0
my $name_map = {
log_config => "config_log",
include => "includes",
actions => "action",
auth_anon => "anon_auth",
auth_dbm => "dbm_auth",
log_agent => "agent_log",
log_referer => "referer_log"
};
my @sh_mods = ();
finddepth(sub {
return unless /(mod_|lib)(.*)\.s[ol]$/;
my $name = $name_map->{$2} || $2;
my $full = "$File::Find::dir/$_";
if($full !~ m,^/,) {
if($full =~ m,^\.\./,) {
$full = "../$full";
}
}
return if $name =~ /(auth|autoindex|digest)/; #a few that screw make test
push @sh_mods, "LoadModule ${name}_module $full";
}, $APACHE_SRC) if $APACHE_SRC and -d $APACHE_SRC;
my($perl_mod) = grep /perl/, @sh_mods;
unshift @sh_mods, $perl_mod; #must come before mod_include/USE_PERL_SSI
my %seen;
local *FH;
open FH, ">$LoadModule_conf" or
die "can't open $LoadModule_conf $!";
print FH join "\n", (grep { !$seen{$_}++ } @sh_mods), "";
close FH;
system "cat $LoadModule_conf $orig > $tmp && mv $tmp $orig";