Apache2::Build.3pm

Langue: en

Version: 2008-01-15 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

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