#1194: 7 config steps improperly rely on Perl 5 %Config 'OSNAME' element
-----------------------+----------------------------------------------------
 Reporter:  jkeenan    |       Owner:  jkeenan 
     Type:  bug        |      Status:  assigned
 Priority:  normal     |   Milestone:          
Component:  configure  |     Version:  1.7.0   
 Severity:  medium     |    Keywords:          
     Lang:             |       Patch:          
 Platform:             |  
-----------------------+----------------------------------------------------

Comment(by jkeenan):

 Of the configuration steps which follow `auto::arch`, only `gen::platform`
 still calls `$conf->data->get_p5('OSNAME')`.  Eliminating this last call
 is, however, a bit tricky, as it is bound up with that step's internal
 method `_get_platform()`, which is used to set a value for a `$platform`
 used in path names and header file content.  `_get_platform()` also
 depends on the value of Parrot::Configure attribute `archname`, which, in
 most cases, is ultimately dependent on what is read in the Perl 5
 `%Config`.

 IMO, it would be better if a value for this `$platform` were determined
 much earlier in the configuration process -- most likely in
 `config/auto/arch.pm`, at the same time that the values for `cpuarch` and
 `osname` are finalized.  I believe that the `gen` configuration step
 classes should not be making determinations about important configuration
 data such as the platform descriptor.  Rather, they should be doing only
 what their name implies, ''i.e.,'' '''generating''' files from data
 accumulated earlier in the Parrot::Configure object.

 That, however, is a bit too much scope creep for one ticket.  I will keep
 this ticket open for a few more days to allow for any complaints or test
 failures.  Then, after I've applied a patch dealing with a similar issue
 in ''config/auto/format.pm'' (see TT #1236), I will open a new TT which
 moves determination of the platform descriptor out of `gen::platform` and
 into (in all likelihood) `auto::arch`.

 Thank you very much.

 kid51

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1194#comment:8>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to