Description ----------- This is the Apache-side of mod_perl. It is a hybrid build environment which can be both used to build mod_perl inside the Apache source tree via APACI or plain Configure script and outside the Apache source tree via the DSO tool APXS. Files ----- README .............. this file Makefile.tmpl ....... Makefile template for Apache 1.3 Makefile.libdir ..... indicator file for Apache 1.3 to use Makefile.tmpl configure ........... stand-alone configure script for APXS situation libperl.module ...... sourced Configure inline-script for standard situation mod_perl.config ..... the new mod_perl configuration file mod_perl.config.sh .. the workhorse which parses the config files and generates Makefile parameters out of it by extending the given parameters with Perl information Usage ----- [See file ../INSTALL.apaci for detailed description] o Build mod_perl statically with httpd _inside_ the Apache source tree via APACI: 1. run perl Makefile.PL USE_APACI=1 (this will: - copy apaci/* and src/modules/perl/* to $APACHE_SRC/modules/perl - generate $APACHE_SRC/modules/perl/mod_perl.config ) 2. Configure Apache while activating mod_perl $ cd $APACHE_SRC $ ./configure --activate-module=src/modules/perl/libperl.a 3. Build and Install Apache with mod_perl $ make $ make install o Build mod_perl as a dynamic shared object (DSO) _inside_ the Apache source tree via APACI: 1. Move these mod_perl sources to $APACHE_SRC/src/modules/perl/ 2. Configure Apache while activating mod_perl $ cd $APACHE_SRC $ ./configure --activate-module=src/modules/perl/libperl.a \ --enable-shared=perl 3. Build and Install Apache with mod_perl $ make $ make install o Build mod_perl as a dynamic shared object (DSO) _outside_ the Apache source tree via APXS: 1. Configure mod_perl via APXS $ ./configure [--with-apxs=/path/to/installed/apache/sbin/apxs] 2. Build mod_perl DSO and install it into Apache installation $ make install Configuration ------------- The configuration of mod_perl takes place via the file mod_perl.config. Either edit this file, accept the defaults or override it via either $ MODPERL_CONFIG='PERL=/path/to/my/preferred/bin/perl, PERL_SSI=yes' $ export MODPERL_CONFIG $ ./configure ... at the APACI configuration step or via $ ./configure ... 'PERL=/path/to/my/preferred/bin/perl, PERL_SSI=yes' at the local configuration step when using the APXS variant. Implemenation ------------- Here is a flow control of the configuration: APACI variant: APXS variant: $ MODPERL_CONFIG=... $ ./configure ... $ cd $APACHE_SRC | ./configure ... | | mod_perl.config | |exec | |exec | |read | V exec V | libperl.module ------> mod_perl.config.sh <------------+ | | V (Makefile parameters) | + Makefile.tmpl | | V Makefile Actually the merging of the Makefile parameters and the Makefile.tmpl is a little bit more complex: When using APACI the parameters are first stored in Apache's Makefile.config and then get merged with Makefile.tmpl by Apache's Configure in a later step while when using the APXS variants they are immediately stored in Makefile by our configure script together with Makefile.tmpl.