# New Ticket Created by  Nicholas Clark 
# Please include the string:  [perl #19630]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=19630 >


I was seeing this:

Generating config.h...done.
Generating feature.h...done.
Writing Parrot::Config module...done.
Use of uninitialized value in substitution iterator at lib/Parrot/Configure/Step.pm 
line 121, <IN> line 111.
Generating Makefiles...done.
Recording this configuration in myconfig...done.
Moving platform files into place...done.
Generating libparrot.def...done.
Generating core pmc list...done.
Okay, we're done!


And it was annoying me. So I did this to track it down:

--- lib/Parrot/Configure/Step.pm~       Sat Dec 28 12:10:18 2002
+++ lib/Parrot/Configure/Step.pm        Tue Dec 31 18:55:14 2002
@@ -120,7 +120,9 @@ sub genfile {
                }
                s{
                     \$\{(\w+)\}
-                }{Configure::Data->get($1)}egx;
+                }{my $val=Configure::Data->get($1);
+                 defined $val ? $val
+                   : (warn "value for '$1' in $source is undef", '')}egx;
                print OUT;
        }
 

I think that something like that is a good idea, as this is more helpful:

Generating config.h...done.
Generating feature.h...done.
Writing Parrot::Config module...done.
value for 'asmfun_o' in config/gen/makefiles/root.in is undef at 
lib/Parrot/Configure/Step.pm line 122, <IN> line 111.
Generating Makefiles...done.
Recording this configuration in myconfig...done.
Moving platform files into place...done.
Generating libparrot.def...done.
Generating core pmc list...done.
Okay, we're done!

So I think we also need the appended patch, which elimates the warning.

Nicholas Clark

--- config/auto/jit.pl~ Fri Dec 27 18:27:04 2002
+++ config/auto/jit.pl  Tue Dec 31 18:59:16 2002
@@ -73,6 +73,8 @@ sub runstep {
     copy_if_diff("config/gen/platform/$cpuarch.s", "asmfun.s");
 
     Configure::Data->set(asmfun_o => 'asmfun$(O)');
+  } else {
+    Configure::Data->set(asmfun_o => '');
   }
 
   $jitcapable = $set_jitcapable if defined $set_jitcapable;


Reply via email to