Apache2::Build(3)

πŸ“¦ version 2.0.13, in nixos 26.05, nixpkgs unstable

🌈 Apache2::Build(3) β€” User Contributed Perl Documentation 🌈

okay so bestie, welcome to the <pink>Apache2::Build(3)</pink> manual page β€” it's User Contributed Perl Documentation, and we are officially in the <purple>build-helper zone</purple> πŸ’… This module is literally about locating and parsing bits of Apache source code. no cap, it's useful.


🌸 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. It's giving very "I know where the source lives" energy πŸŽ€

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 πŸ’…

Here come the methods, bestie β€” one by one, in order, `no skips 🫢

πŸ› οΈ new

Create an object blessed into the Apache2::Build class. Classic Perl object moment, fr fr.

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

πŸ“ dir

Top level directory where source files are located. Like, the big folder energy.

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. Yes, it returns a list, bestie.

Example:

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

πŸ“š inc

Print include paths for MakeMaker's INC argument to "WriteMakefile". Very MakeMaker-coded, very slay.

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. Iconic constant behavior ✨

Example:

my $mmn = $build->module_magic_number;

🌐 httpd_version

Return the server version. Short, sweet, to the point.

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. It's giving very specific linker needs, and we respect it πŸ’œ

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 β€” author credit, periodt πŸ‘‘

mwah πŸ’‹ β€” this page is from perl v5.42.3, dated 2023-10-21, and it's the Apache2::Build(3) manual. byeee 🫢✨

πŸ“¦ where this page comes from