man Apache::src () - Methods for locating and parsing bits of Apache source code

NAME

Apache::src - Methods for locating and parsing bits of Apache source code

SYNOPSIS

 use Apache::src ();
 my $src = Apache::src->new;

DESCRIPTION

This module provides methods for locating and parsing bits of Apache source code.

METHODS

new
Create an object blessed into the Apache::src class.
 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 CWhttpd.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 CWWriteMakefile. 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_NUMBER defined 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_lib argument to CWWriteMakefile. 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,
     },
 );

AUTHOR

Doug MacEachern