Apache2::Build(3)

NAME
Apache2::Build - Methods for locating and parsing bits of Apache source code

SYNOPSIS
 use Apache2::Build ();
 my $build = Apache2::Build->new;

 # rebuild mod_perl with build opts from the previous build
 % cd modperl-2.0
 % perl -MApache2::Build -e rebuild

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

Since mod_perl remembers what build options were used to build it, you can use this knowledge to rebuild it using the same options. Simply chdir to the mod_perl source directory and run:

  % cd modperl-2.0
  % perl -MApache2::Build -e rebuild

If you want to rebuild not yet installed, but already built mod_perl, run from its root directory:

  % perl -Ilib -MApache2::Build -e rebuild

METHODS

new Create an object blessed into the Apache2::Build class.

     my $build = Apache2::Build->new;

dir Top level directory where source files are located.

     my $dir = $build->dir;
     -d $dir or die "can't stat $dir $!\n";

find
    Searches for apache source directories, return a list of those found.

    Example:

     for my $dir ($build->find) {
        my $yn = prompt "Configure with $dir ?", "y";
        ...
     }

inc Print include paths for MakeMaker's INC argument to "WriteMakefile".

    Example:

     use ExtUtils::MakeMaker;

     use Apache2::Build ();

     WriteMakefile(
         'NAME'    => 'Apache2::Module',
         'VERSION' => '0.01',
         'INC'     => Apache2::Build->new->inc,
     );

module_magic_number
    Return the MODULE_MAGIC_NUMBER defined in the apache source.

    Example:

     my $mmn = $build->module_magic_number;

httpd_version
    Return the server version.

    Example:

     my $v = $build->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 Apache2::Build ();

     WriteMakefile(
         'NAME'        => 'Apache2::Module',
         'VERSION'     => '0.01',
         'INC'         => Apache2::Build->new->inc,
         'dynamic_lib' => {
             'OTHERLDFLAGS' => Apache2::Build->new->otherldflags,
         },
     );

AUTHOR
Doug MacEachern