------------------------------------------------------------------------------
/*
* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
*
* This file is generated automatically from 'various files'
* by /home/nick/Ponie/ponie00/parrot/tools/build/pmc2c.pl.
*
* Any changes made here will be lost!
*
*/
#define PARROT_IN_EXTENSION
PARROT_DYNEXT_EXPORT Parrot_PMC Parrot_lib_perl5pmcs_load(Parrot_INTERP interpreter);
------------------------------------------------------------------------------
To me, that PARROT_IN_EXTENSION is not helping. The relevance seems to be
for <parrot/config.h>:
/* Symbol export and import decoration. At the time of writing, note that
* PARROT_IN_CORE won't always imply !PARROT_IN_EXTENSION. */
#if defined(PARROT_IN_EXTENSION)
#define PARROT_API
#define PARROT_DYNEXT_EXPORT
#else
#define PARROT_API
#endif
yet the way it's currently defined it's too late to be of any use -
<parrot/config.h> has already been and gone. And even if I re-order the
include files so that src/pmc/perl5pmcs.h is included before
<parrot/config.h> in my source, then it still doesn't help. (Probably because
<parrot/config.h> has been included even earlier).
The compile only works if I define PARROT_IN_EXTENSION myself (on the compiler
command line)
So what should be going on? Or am I missing something completely obvious?
Nicholas Clark
Hope this helps,
Jonathan
> Both the #define and use of PARROT_DYNEXT_EXPORT look useless here, as it
> is in the group's .c file that the symbol export stuff is needed in (and it
> is there too). Just tested and ci'd a change that removes them.
>
> Hope this helps,
Thanks, yes it did. It let me remove the hack to define PARROT_IN_EXTENSION
in ponie's Configure.pl
Nicholas Clark