# New Ticket Created by James Keenan # Please include the string: [perl #47347] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=47347 >
What follows is in part a modified version of a post to list on Nov 09 2007. Following a bit of discussion with ptc on IRC, I'm entering it as an RT ticket. 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. But I have begun to experiment with combining the two packages into one and running it at step #32. In SVN, I have created branch 'cpu' for this purpose. For the record, let me repeat one of the questiona I first posed on list two days ago: 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