On Fri, 12 Sep 2003, Stas Bekman wrote: > Steve Hay wrote: > > Stas Bekman wrote: > >> Randy Kobes wrote: > >>> On Fri, 12 Sep 2003, Steve Hay wrote: > >>>> I believe that mod_perl 2 now installs the mod_perl.lib > >>>> somewhere to solve that kind of problem. Is there an > >>>> option in the mod_perl 1 build process to thave that > >>>> library installed, or could that be added to the next > >>>> release? > >>> > >>> That's a good suggestion - you're right that mod_perl 2 > >>> installs the mod_perl.lib under the Apache2/ tree, and it > >>> would make sense for mod_perl 1 to do the same, with > >>> Apache::MyConfig adjusted to reflect that. I'll look into > >>> putting together something to do that. > >> > >> Does it? According to Apache::Build, it should be installed under the > >> apache tree's lib: > > > > > > Yes, in my Apache2 setup (the one that I can't get working with Perl > > 5.8.1...) I have mod_perl.lib in C:\Apache2\lib. I didn't change any of > > the installation locations. > > > > I'd assumed that's what Randy meant, actually - Apache2/lib being under > > the Apache2/ tree :-) > > what is mod_perl.lib? a static library? (I guess an > equivalent of mod_perl.lo on unix). We don't install it on > unix yet, but I think that for consistency it should go to > the same place where mod_perl.so is installed to. Which is > under the Apache tree.
This mod_perl.lib (on Win32) isn't a true static library, containing all the symbol definitions; from what I understand, it just contains the minimal information on symbols needed to allow the application it's being linked with to find the symbols in the dynamic library (in this case, mod_perl.so). I put it under Apache2/lib/ because that's where the Apache2 libs (eg, apr.lib, libapr.lib, mod_dav.lib) are placed. The dynamic libraries are placed either under Apache2/modules/, if it's a module (eg, mod_dav.so), or under Apache2/bin/, such as libapr.dll. > > Having said that, the BuildConfig.pm doesn't actually > > seem to refer to the location that the library has been > > installed into -- like mp1, it refers to the location in > > which it was built! I have: > > > > 'MODPERL_LIB_LOCATION' => > > 'C:/Temp/modperl-2.0/src/modules/perl/mod_perl.lib', > > > > in BuildConfig.pm. Wouldn't it be better for that to be > > 'C:/Apache2/lib/mod_perl.lib'? > > Nope, it uses this attribute as a source dir in cp from to: > > $install .= <<'EOI'; > # install mod_perl.lib > @$(MKPATH) $(MODPERL_AP_LIBDIR) > $(MODPERL_TEST_F) $(MODPERL_LIB_LOCATION) && \ > $(MODPERL_CP) $(MODPERL_LIB_LOCATION) $(MODPERL_AP_LIBDIR) > EOI > > And as you can see it should install the static lib under > $(MODPERL_AP_LIBDIR) (which is under the apache tree) > > purhaps it should be fixed to have a more intuitive name > then > (s/MODPERL_LIB_LOCATION/MODPERL_LIB_SOURCE_LOCATION/?) or > BUILD_LOCATION I'd suggest an even more intuitive: > MODPERL_STATIC_LIB_BUILD_LOCATION, since it's a static > lib. Purhaps adding a new var MODPERL_STATIC_LIB_LOCATION > pointing to where the static lib was installed to will be > useful. 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 ... -- best regards, randy