Stas Bekman wrote:
D�j�-vu:
http://article.gmane.org/gmane.comp.apache.mod-perl.devel/4427
But I want to know why does this happen on your build and I can't reproduce it here. That what bugs me. In case you have some time to look at it,
Well, I haven't written any C/C++ in a while and I've never had to deal with macro hell, but as far as I can see, newSVpvf is defined in Perl's embed.h:
#define newSVpvf Perl_newSVpvf
If I add that line to the top of ModPerl__Util.h manually, it works. If I add
#ifndef newSVpvf #error newSVpvf not defined #endif
to the end of embed.h and compile, it seems that newSVpvf doesn't get defined. But I have no idea how to trace through that horrible, generated #ifdef jungle. To quote embed.h:
/* (Doing namespace management portably in C is really gross.) */
/* By defining PERL_NO_SHORT_NAMES (not done by default) the short forms * (like warn instead of Perl_warn) for the API are not defined. * Not defining the short forms is a good thing for cleaner embedding. */
It goes like this:
WrapXS/ModPerl/Util/Util.c
includes:
#include "mod_perl.h"
which includes:
#include "modperl_common_includes.h"
which includes:
#include "modperl_perl_includes.h"
which includes:
#include "perl.h"
which finally includes:
# include "embed.h"
which defines:
#define newSVpvf Perl_newSVpvf
but of course this doesn't include possible #ifdef branching. so you want to check that.
Also there is:
cd WrapXS/ModPerl/Util make Util.i
now you will find all the macros expanded in Util.i. I see:
SV* Perl_newSVpvf( PerlInterpreter *my_perl __attribute__((unused)), const char
* pat, ...)
w/o the patch that was applied to fix this for you.
-- __________________________________________________________________ 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]
