Philippe M. Chiasson > mod_perl > Apache::src

Download:
mod_perl-1.31.tar.gz

Dependencies

Annotate this POD

Related Modules

Apache::Request
Compress::Zlib
more...
By perlmonks.org

CPAN RT

New  17
Open  3
View Bugs
Report a bug
Module Version: 0.01   Source  

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?"); }

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 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_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 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,
     },
 );

AUTHOR ^

Doug MacEachern