Ticket #1236 (closed bug: fixed)
config/auto/format.pm: Replace direct dependence on Perl 5 %Config
Reported by: | jkeenan | Owned by: | jkeenan |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | configure | Version: | 1.7.0 |
Severity: | medium | Keywords: | |
Cc: | Language: | ||
Patch status: | applied | Platform: |
Description
In the course of working on TT #1189, I have had occasion to search for files, in the configuration system or elsewhere, which depend unnecessarily on the Perl 5 %Config found on the system where Parrot is being built. I will be opening additional tickets for cases where I find such dependencies in files outside the configuration step tests.
config/auto/format.pm does a direct lookup on Perl 5's %Config to determine one value:
18 use Config; # for long double printf format ... 73 elsif ( $nv eq "long double" ) { 74 75 # Stay way from long double for now (it may be 64 or 80 bits) 76 # die "long double not supported at this time, use double."; 77 $nvsize = $ldsize; 78 if (defined($Config{'sPRIgldbl'})) { 79 $nvformat = "%.15" . $Config{'sPRIgldbl'}; 80 $nvformat =~ s/"//g; # Perl 5's Config value has embedded double quotes 81 }
This is bad. We eventually want to eliminate our dependence on %Config completely. Until that time, we should at least do in this configuration step what we have done in all other configuration steps: use an indirect lookup by going to init::defaults and placing a value in a special part of the Parrot::Configure object.
I opened the auto_format_no_Config branch to work on this. Please see attached patch, which will I will apply in 3-4 days unless there is serious objection.
Thank you very much.
kid51