Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

PARROT_IN_EXTENSION

0 views
Skip to first unread message

Nicholas Clark

unread,
Jan 30, 2006, 5:14:05 PM1/30/06
to perl6-i...@perl.org, poni...@perl.org
I think that I must be missing something. In ponie, src/pmc/perl5pmcs.h looks
like this:

------------------------------------------------------------------------------
/*
* !!!!!!! 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

Jonathan Worthington

unread,
Jan 31, 2006, 8:46:30 AM1/31/06
to Nicholas Clark, perl6-i...@perl.org, poni...@perl.org
"Nicholas Clark" <ni...@ccl4.org> wrote:
>I think that I must be missing something. In ponie, src/pmc/perl5pmcs.h
>looks
> like this:
>
> ------------------------------------------------------------------------------
> /*
> * !!!!!!! 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.
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,

Jonathan

Nicholas Clark

unread,
Jan 31, 2006, 7:03:23 PM1/31/06
to Jonathan Worthington, perl6-i...@perl.org, poni...@perl.org
On Tue, Jan 31, 2006 at 01:46:30PM -0000, Jonathan Worthington wrote:

> 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

0 new messages