On Mon, 15 Sep 2003, Steve Hay wrote:
> Randy Kobes wrote:
>
> >On Sat, 13 Sep 2003, Stas Bekman wrote:
> >
> >[ ... ]
> >>So what I was saying is that we probably need to continue
> >>building *mod_perl* as before, however make mod_perl.lib
> >>and anything else needed available under the Apache source
> >>tree (or I think under the perl lib tree for mp1, since
> >>that's where we keep all our mp stuff). Does it make
> >>sense?
> >
> >Yes, that does ... We could put it under the perl tree
> >(that's where the mp1 header files go now), for example,
> >under $Config{installsitearch}/auto/mod_perl/, and then
> >record that in Apache::MyConfig. Alternatively, as with
> >mod_perl.so, we could let the user specify the location via
> >a Makefile.PL INSTALL_LIB flag (analagous to Win32's
> >INSTALL_DLL), and if this is not given, set it to be under
> >APACHE_SRC/libexec, if this exists (ie, the user has given
> >the Apache installation directory for APACHE_SRC).
> >Preferences?
> >
> I think installing mod_perl.lib somewhere under the Apache installation
> tree, rather than the Perl tree, makes more sense because it is the
> import library for mod_perl.so (aka mod_perl.dll), which, of course, is
> typically placed under the Apache tree (in the "modules"
> sub-directory). Apache's "libexec" sub-directory, where other import
> libraries are located, seems the best place to put it.
>
> The command-line that I normally use is:
>
> perl Makefile.PL APACHE_SRC=C:/apache INSTALL_DLL=C:/apache/modules EAPI
>
> (Where C:/apache is an *installed* Apache tree, which, after all,
> contains all the "source" necessary -- headers and libraries.) So,
> using your suggestion above, I would just need to make that:
>
> perl Makefile.PL APACHE_SRC=C:/apache INSTALL_DLL=C:/apache/modules
> INSTALL_LIB=C:/apache/libexec EAPI
>
> yes?
>
> It would be nice to be able to shortcut that to something like:
>
> perl Makefile.PL APACHE_INST=C:/apache EAPI
>
> The Apache installation specified is used to find the necessary headers
> and libraries, and as the location to install things into (under
> "modules" and "libexec").
>
> If that's too radical, then just your APACHE_LIB would be fine.
Having an APACHE_INST would be a good idea, as it's then
more intuitive of what it represents ... Perhaps a
combination of APACHE_INST and INSTALL_LIB would be
good, in order to keep the flavour of the current
build procedure:
- APACHE_INST: the Apache install directory,
or
- APACHE_SRC, which can be either the Apache build or
install directory,
With this,
- INSTALL_DLL: where to put mod_perl.so. If not given,
defaults to APACHE_INST/modules, or to APACHE_SRC/modules,
if these exist;
- INSTALL_LIB: where to put mod_perl.lib. If not given,
defaults to APACHE_INST/libexec, or to APACHE_SRC/libexec,
if these exist;
In Apache::MyConfig, the location of the mod_perl lib would
then be the value of INSTALL_LIB, if that exists or was set;
if not, then it would stay at the current value of the
mod_perl source location.
As for the location of the mod_perl header files in
Apache::MyConfig, right now for Win32 they're set as
/Path/to/mod_perl/sources/src/modules/perl. One instead
could use Apache::src->new->inc, which gives the installed
path (under the Perl tree). However, this wouldn't be a
compatible change with the current behaviour, as
Apache::src->new->inc is a string including the '-I' before
the directories, so that it can be used directly in a $(CC)
command. But I think it would be more convenient to use
Apache::src->new->inc, for the same reason as specifying an
installed location for the mod_perl.lib - that way, people
can delete the mod_perl build directory after installation.
What does this sound like?
--
best regards,
randy
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]