Markus Wichitill wrote:
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]



Reply via email to