Apache::src3pm
Methods for locating and parsing bits of apache source code
Usage
use Apache::src ();my $src = Apache::src->new;
my $src = Apache::src->new;
for my $path ($src->find) {
my $mmn = $src->module_magic_number($path);
my $v = $src->httpd_version($path);
next unless $v;
print "path = $path ($mmn,$v)\n";
my $dir = $src->prompt("Configure with $path?"); }
Overview
This module provides methods for locating and parsing bits of Apache source code.
Methods
- new
-
Create an object blessed into the
Apache::srcclass.my $src = Apache::src->new;
- dir
-
Top level directory where source files are located.
my $dir = $src->dir;-d $dir or die "can't stat $dir $!\n";
- main
-
Apache's source tree was reorganized during development of version 1.3. So, common header files such as
"httpd.h"are in different directories between versions less than 1.3 and those equal to or greater. This method will return the right directory.Example:
-e join "/", $src->main, "httpd.h" or die "can't stat httpd.h\n";
- find
-
Searches for apache source directories, return a list of those found.
Example:
for my $dir ($src->find) {my $yn = prompt "Configure with $dir ?", "y";...}
- inc
-
Print include paths for MakeMaker's INC argument to
"WriteMakefile".Example:
use ExtUtils::MakeMaker;use Apache::src ();WriteMakefile('NAME' => 'Apache::Module','VERSION' => '0.01','INC' => Apache::src->new->inc,);
- module_magic_number
-
Return the
MODULE_MAGIC_NUMBERdefined in the apache source.Example:
my $mmn = $src->module_magic_number;
- httpd_version
-
Return the server version.
Example:
my $v = $src->httpd_version;
- otherldflags
-
Return other ld flags for MakeMaker's
dynamic_libargument to"WriteMakefile". This might be needed on systems like AIX that need special flags to the linker to be able to reference mod_perl or httpd symbols.Example:
use ExtUtils::MakeMaker;use Apache::src ();WriteMakefile('NAME' => 'Apache::Module','VERSION' => '0.01','INC' => Apache::src->new->inc,'dynamic_lib' => {'OTHERLDFLAGS' => Apache::src->new->otherldflags,},);
Releases
5 releases since Debian 2.1 (Slink); the text changed 4 times.