Hi,
I've attached a draft diff to the cvs mod_perl
top-level Makefile.PL for building mod_perl on
Win32 using VC++. There's two aspects to this.
The first is the actual building; this diff enables
'perl Makefile.PL' to accept 3 arguments:
APACHE_SRC=../../wherever/apache_1.3.12
which is the location of the apache sources,
and must be found to continue (the user is
prompted for this directory if it's not given or found),
DEBUG=1
which builds a Debug version (the default is
to build a Release version),
INSTALL_DLL=/wherever/Apache/modules
which specifies the location of where to copy
ApacheModulePerl.dll to when installing things.
No default is assumed - if this is not specified,
the dll must be copied manually.
Upon verifying that the specified directories and
needed Apache library exists, ApacheModulePerl.dsp
is edited to include the needed header and lib
directories. With the indicated additions to the
Makefile targets, ApacheModulePerl.dll is then
built using 'msdev', which is a command-line tool,
so that everything can be built just by 'nmake'
within a DOS window (ie, no need to call up
Visual Studio to build ApacheModulePerl.dll).
The second aspect to this diff is that the apache and
mod_perl inc and lib directories are recorded in
Apache::MyConfig. This would enable packages like
libapreq, Embperl, and AxKit to get these needed
directories via
require Apache::MyConfig;
$ap_lib = $Apache::MyConfig::Setup{APACHE_LIB};
$ap_inc = $Apache::MyConfig::Setup{APACHE_INC};
$mp_lib = $Apache::MyConfig::Setup{MODPERL_LIB};
$mp_inc = $Apache::MyConfig::Setup{MODPERL_INC};
This requires the user to keep these build directories
around (with the libs), but it should make configuring
these packages for Win32 easier.
I've tested this on ActivePerl 618 and also with
a non-ActiveState perl-5.005_03, both with VC++ 6.
However, I don't have VC++ 5, so am not sure how
it would fare there, especially the use of 'msdev'
to build ApacheModulePerl.dll.
Parts of this diff could be better integrated within
the present code of Makefile.PL, but I wanted to
make clear the changes involved for Win32.
best regards,
randy kobes
I've attached a draft diff to the cvs mod_perl
top-level Makefile.PL for building mod_perl on
Win32 using VC++. There's two aspects to this.
The first is the actual building; this diff enables
'perl Makefile.PL' to accept 3 arguments:
APACHE_SRC=../../wherever/apache_1.3.12
which is the location of the apache sources,
and must be found to continue (the user is
prompted for this directory if it's not given or found),
DEBUG=1
which builds a Debug version (the default is
to build a Release version),
INSTALL_DLL=/wherever/Apache/modules
which specifies the location of where to copy
ApacheModulePerl.dll to when installing things.
No default is assumed - if this is not specified,
the dll must be copied manually.
Upon verifying that the specified directories and
needed Apache library exists, ApacheModulePerl.dsp
is edited to include the needed header and lib
directories. With the indicated additions to the
Makefile targets, ApacheModulePerl.dll is then
built using 'msdev', which is a command-line tool,
so that everything can be built just by 'nmake'
within a DOS window (ie, no need to call up
Visual Studio to build ApacheModulePerl.dll).
The second aspect to this diff is that the apache and
mod_perl inc and lib directories are recorded in
Apache::MyConfig. This would enable packages like
libapreq, Embperl, and AxKit to get these needed
directories via
require Apache::MyConfig;
$ap_lib = $Apache::MyConfig::Setup{APACHE_LIB};
$ap_inc = $Apache::MyConfig::Setup{APACHE_INC};
$mp_lib = $Apache::MyConfig::Setup{MODPERL_LIB};
$mp_inc = $Apache::MyConfig::Setup{MODPERL_INC};
This requires the user to keep these build directories
around (with the libs), but it should make configuring
these packages for Win32 easier.
I've tested this on ActivePerl 618 and also with
a non-ActiveState perl-5.005_03, both with VC++ 6.
However, I don't have VC++ 5, so am not sure how
it would fare there, especially the use of 'msdev'
to build ApacheModulePerl.dll.
Parts of this diff could be better integrated within
the present code of Makefile.PL, but I wanted to
make clear the changes involved for Win32.
best regards,
randy kobes