develooper Front page | perl.perl6.internals | Postings from October 2002

Configuring and DOD problems

Thread Next
From:
Erik Lechak
Date:
October 23, 2002 19:56
Subject:
Configuring and DOD problems
Message ID:
3DB761B8.4040505@the-small-print.com

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

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About