On Thu, 15 Nov 2007, chromatic wrote:

> config::init::defaults pulls the libs setting out of the Perl 5 configuration 
> and various tests of the Parrot configuration process use 
> config::init::defaults to set up the environment for testing.

[it also pulls many other settings -- the compiler name, all the 
appropriate flags, the linker flags, etc.  The end result is the same, 
however.]

> When these tests attempt to compile and link programs, they may fail because 
> the Perl 5 configuration may not reflect the actual run-time environment of 
> the code.
> 
> Parrot::Config::Generated is a much more reliable source of information, and 
> if the tests truly need information about the local system for compiling and 
> linking purposes, they should fetch the information from there, not from the 
> Perl 5 configuration which does not necessarily reflect the state of the 
> local machine.

Yes.  Exactly.

More verbosely:  The path from init::defaults to Config::Generated 
includes many steps, any one of which can change a value.  Values can be 
changed automatically as Configure.pl does its work.  Values can be 
changed via command line parameters.  Values can be changed by user 
responses (if Configure.pl is invoked with --ask).  Values can be changed 
by subsequent steps that need to go back and change earlier results.  
Values can be changed by arbitrary callbacks in hints files.  In short, 
the *only* reliable source of information is Parrot::Config::Generated, 
which takes all those things into account.

-- 
    Andy Dougherty              [EMAIL PROTECTED]

Reply via email to