perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gerald Richter" <rich...@ecos.de>
Subject Re: Status of ActivePerl in CVS
Date Fri, 01 Sep 2000 19:00:43 GMT
> For me, this had to do with some missing symbols in building
> libapreq of a while ago (although as Matt mentioned, he didn't
> find this recently for libapreq, so things may have changed
> since I tried it). However, there are some missing in AxKit.
> These symbols don't appear in ApacheModulePerl.lib, as built
> by mod_perl, so what seems to be required is to link in the
> *.obj files of the mod_perl build individually. It does
> seem a bit strange ... Did you initially find a similar
> problem with Embperl?
>

You have to tell the linker which symbol should be exported by the DLL (Unix
exports all symbols per default, while Win32 exports _no_ symbols by
default). I had make a quick broswe thru the mod_perl sources and the only
symbol that I find that is exported is

extern module MODULE_VAR_EXPORT perl_module;

in mod_perl.h and this would make sense, because Apache only needs this one
data structure which contains all entry points to mod_perl.

The macro MODULE_VAR_EXPORT is defined by Apache in src\os\win32\os.h, there
are more macros defined for exports.

If other modules, like AxKit requires more symbols, these symboles must be
exported by mod_perl. This can either be done by defining them in a .def
file (like for Symbol.dll) or by adding the correct declaration in the .h
file. (like API_EXPORT(type), where type is the return type of the function)

Hope this helps

Gerald




Mime
View raw message