Geoffrey Young wrote:
I spoke too soon - I think this is due to using
MP_COMPAT_1X=0 (without it, it links fine). In
src/modules/perl/modperl_cmd.c, taint_check, warn,
send_header, and setup_env are defined if MP_COMPAT_1X is
defined, and otherwise not, so I guess what's happening is
that these symbols are in the .def file, and without
MP_COMPAT_1X they're not being found.


oh, geez, I probably should have spotted that. sorry.


Perhaps what could be done is if MP_COMPAT_1X isn't defined
that these symbols could be just noops? Otherwise, it should
be possible within ModPerl::WrapXS to change how the def
file is written, depending on the flags being passed in, but
this would be messier.


well, I suspect that the former is probably undesirable - part of the reason
for using the ifdef is to keep the symbol table small, right?

as for the latter solution, I had no idea how that .def file was generated.
 but I recall trying to carry over MP_* args into ModPerl::Code and it was a
mess, but that was a long time ago.  so maybe defining the functions as
noops is the way to go.  do you think other platforms will have the same
issues, or can we just define them as noops ifdef win32?

yes, I agree that we don't want to blow up a list of symbols if they aren't used.


A slick solution could include another tag for tables .pm format to include an optional hash key (MP_COMPAT_1X) for each such function entry, and have ModPerl::Code generate those entries only if MP_COMPAT_1X=1.

A quick and dirty solution is to hardcoded a list of these functions and exclude them from .def if MP_COMPAT_1X=1. I'd go with this one, as we probably won't have any new functions added in that area.


__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to