Currently, Parrot configuration step #32 is gen::cpu, while step #50 is auto:cpu. Let's do a diff between their respective packages (at r22775):

[parrot] 504 $ diff -w config/gen/cpu.pm config/auto/cpu.pm > ~/learn/ parrot/diff.gen.auto.cpu.txt
1c1
< # Copyright (C) 2001-2006, The Perl Foundation.
---
> # Copyright (C) 2001-2007, The Perl Foundation.
6c6
< config/gen/cpu.pm - CPU specific Files
---
> config/auto/cpu.pm - CPU specific Files
10c10
< Runs C<&run_cpu()> in F<config/gen/cpu/${cpuarch}/auto.pm> if it exists.
---
> Runs C<&run_cpu()> in F<config/auto/cpu/${cpuarch}/auto.pm> if it exists.
14c14
< package gen::cpu;
---
> package auto::cpu;
18a19
>
21c22
< use Parrot::Configure::Step qw(copy_if_diff);
---
> use Parrot::Configure::Step;
24d24
<
28c28
<     $data{description} = q{Generating CPU specific stuff};
---
>     $data{description} = q{Running CPU specific stuff};
44c44,46
<     my $hints = "gen::cpu::" . $conf->data->get('cpuarch') . "::auto";
---
> $conf->data->add( ' ', TEMP_atomic_o => '' ); # assure a default
>
> my $hints = "auto::cpu::" . $conf->data->get('cpuarch') . "::auto";


Not very much, if you think about it. Both classes exist primarily to run a subroutine in an OS/platform-specific .pm hints file one level down in the hierarchy.

config/gen/cpu.pm has hints files for i386 and x86_64. In neither case are any Makefiles, header files or any other kind of files generated, so the name 'gen::cpu' for this config step is a misnomer.

config/auto/cpu.pm has hints files for i386, ppc, sun4 and x86_64. They run C probes of the platform much like any other 'auto' configuration step.

I haven't yet run Parrot::Configure::Trace to see how the values in the Parrot::Configure object set by gen::cpu affect the steps between #32 and #50. Nor have I experimented yet with combining the two packages into one and running it at step #32.

But does anyone know any reason why that kind of experimentation should be rejected *a priori*? Does anyone recall anything about these packages that in the past mandated that their functionality be split between the two widely separated configuration steps?

Thank you very much.
kid51

Reply via email to