eliminating CFLAGS

James E Keenan jkeen at verizon.net
Wed Feb 10 00:30:37 UTC 2010

Chris Johns wrote:
> Will Coleda wrote:
>> I /think/ there is a mechanism
>> to allow specifying a config file to be used instead of using the one
>> Configure.pl would build after probing your system.
perldoc Configure.pl
... then search for:  Configuration-File Interface
... This was a feature that Jerry Gay (particle) requested about three 
years ago specifically so that someone, in the far distant future, would 
have a starting point for cross-platform compilation.

> What do you mean by "probing" ?

In non-cross-platform compilation -- heretofore 99.9% of all situations 
where Parrot has been built -- you call 'perl Configure.pl' 
(command-line options to taste) and it goes through 60+ individual steps 
that fall into 4 broad categories:

* init:  Initialization from defaults we've selected, option values 
you've specified on command-line (or in file), Perl 5 %Config, compiler 
and/or platform hints.
* inter:  Steps where, if you have selected interactive configuration on 
the command-line, Configure.pl will offer you a number of choices based 
on what it finds on disk, e.g., which 'make' do you want to use? 
AFAICT, interactive configuration is little used at the present time, 
but it has some passionate and knowledgeable defenders.
* auto:  Automated probes -- this is what you were getting at.  We 
construct little C programs from templates, run them on the fly, and 
study their output to determine characteristics of your platform.
* gen:  Generate Makefile(s) and other files used by 'make'.  During the 
previous 3 steps configuration data is stored inside the 
Parrot::Configure object.  During 'gen' steps, we consult that data and 
generate files.

In addition to the aforementioned documentation for Configure.pl, you 
should also try:

perldoc docs/configuration.pod



More information about the parrot-dev mailing list