Stas Bekman wrote:
Steve Hay wrote:
[...]
Having a pointer to where the mod_perl.lib library was
installed would be useful. I'm not sure calling it
MODPERL_STATIC_LIB_LOCATION would be the best thing on
Win32, as it's not a static library as such, but something
could be come up with ...
Well, if ModPerl::MM does the right thing, a developer will not even
need to know where it is located. So probably leaving it as it's now
is fine. The only misleading part is that MODPERL_LIB_LOCATION
points to the build dir, so it should probably be renamed to reflect
that.
I'm not sure that's the *only* mis-leading part, but, as you say, if
it all works then it shouldn't really matter too much.
What other misleading parts are we talking about?
I'm just getting confused with changes in Apache itself, I think.
Apache 1 used to have "lib", "libexec" and "modules": "lib" stored the
static .lib's, "libexec" stored the import libraries for various dll's,
and "modules" stored the .so (aka .dll) files for Apache modules.
But with Apache 2, I have only "lib" and "modules". The latter still
(rightly) contains just the .so files for Apache modules, so presumably
all the static *and* import libraries are thrown together into "lib" now?
Now, my mp2's Apache::BuildConfig contains this:
'MODPERL_AP_LIBDIR' => 'C:\\apache2/lib',
'MODPERL_AP_LIBEXECDIR' => 'C:\\apache2/modules',
which I find confusing. The first line there is fine, but the second
line seems wrong. One would think that MODPERL_AP_LIBEXECDIR specifies
where Apache's "libexec" directory is, but there isn't one any more!
Furthermore, it seems that the files that would have been in it are now
in "lib"?
So maybe MODPERL_AP_LIBEXECDIR should say "C:\\apache2/lib" (that's an
ugly mess of back- and forward slashes too), and that should be used as
the location to install mod_perl.lib into (since mod_perl.lib is one of
these import library things). That would be wrong as things stand,
though, because MODPERL_AP_LIBEXECDIR seems to be used as the location
to install mod_perl.so, which should indeed be "C:\\apache2/modules".
Perhaps the simplest thing would be to rename MODPERL_AP_LIBEXECDIR to
MODPERL_AP_MODDIR since it specifies where Apache's "modules" directory
is and there isn't a "libexec" anymore?
- Steve