# 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

Reply via email to