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]
