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]