Hello all,

I've been trying to figure out why I can't build the latest Parrot. It comes down to dod.c. I get this:

dod.c(481) : error C2059: syntax error : ')'
dod.c(484) : error C2100: illegal indirection
dod.c(485) : error C2143: syntax error : missing ';' before ')'
dod.c(489) : error C2065: 'ptr' : undeclared identifier
dod.c(509) : error C2059: syntax error : 'return'
dod.c(510) : error C2059: syntax error : '}'
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.

I fix the errors then It gets all wierd on the def PARROT_STACK_DIR. So I tried to figure out that problem.

Anyways, I am on Win XP using VC++. I look in Config.pm and I see this '#define PARROT_STACK_DIR'. It's not defined to anything, but the code tries to do math with it. What is this?

While trying to figure it out I rewrote Config.pl and some supporting files. They were just a little too complex for my taste. I have included the files because I don't feel confident enough to make them a patch.

Here is a summary of what it does.

1) The array of steps now lives in Config.pl so you don't have to dig into a library module to find out what scripts it runs. I don't think config data should be hard coded in a library file. (Can you hard code in a scripting language?)

2) Simplified the look of Config.pl. This is what all the code I write looks like. So at least it's simple for me to understand. I plan on going through the remainder of the config process and do the same (then on to testing). If you don't like the way the file looks tell me. It will save me a lot of work. I am trying to write it in a way that non-perl people have a hope of understanding.

3) Added --query=key argument to Config.pl. So if you want to find out what compiler you are going to use type 'perl Configure.pl --query=cc'.

4) Added --dump argument to Config.pl. It dumps all the config variables to the screen.

5) Removed the need for BuildUtil.pl. It just got the version number. init/data.pl now does this.

6) Removed the need for init/hints.pl. init/data.pl now does this.

7) init/data.pl now does version and hints. The package Configure::Data now is logicaly placed in the file rather than in a sub.

8) Configure.pl now uses Configure::Data methods to query and dump data.

The revisions have only been tested on winXP using VC++ and activestate perl 5.6.1.

Looking forward to you comments,
Erik Lechak

Attachment: config.zip
Description: Zip compressed data

Reply via email to