On Sun, Mar 17, 2002 at 10:13:58AM -0800, Brent Dax wrote:
> Lines in question:
> 
> 
> foreach(grep {/^i_/} keys %Config) {
>     $c{$_}=$Config{$_};
>     $c{headers}.=defineifdef((/^i_(.*)$/));
> }
> 
> I think VMS is too lame to handle the grep line.  Honestly, I'd rather
> not change it to bow to a retarded OS, but apparently we have to.  You
> can probably just say:
> 
> foreach(keys %Config) {
>     next unless /^i_/;
>     $c{$_}=$Config{$_};
>     $c{headers}.=defineifdef((/^i_(.*)$/));
> }

If one wanted to do that in a memory efficient manner...

--- Configure.pl        Sun Mar 17 15:53:06 2002
+++ Configure.pl      Sat Mar 16 15:00:00 2002
@@ -483,9 +481,10 @@
 # Set up HAS_HEADER_
 #
 
-foreach(grep {/^i_/} keys %Config) {
-    $c{$_}=$Config{$_};
-    $c{headers}.=defineifdef((/^i_(.*)$/));
+while(my($k, $v) = each %Config) {
+    next unless $k =~ /^i_/;
+    $c{$k} = $v;
+    $c{headers} .= defineifdef(($k =~ /^i_(.*)$/));
 }
 
 print <<"END";


But even with this in place it still takes forever with 5.005_03.  So
I'll just chalk it up to a perl bug.  5.7.2 fares much better, but
still bombs later on...


Your C compiler is not gcc.


Probing Perl 5's configuration to determine which headers you have (this could
take a while on slow machines)...

Determining C data type sizes by compiling and running a small C program (this
could take a while):

  Building ./test.c                       from test_c.in...

Figuring out the formats to pass to pack() for the various Parrot internal
types...
Figuring out what integer type we can mix with pointers...
We'll use 'unsigned int'.

Building a preliminary version of include/parrot/config.h, your Makefiles, and
other files:

  Building include/parrot/config.h        from config_h.in...
  Building ./Makefile                     from Makefile.in...
Use of uninitialized value in substitution iterator at configure.pl line 803.
  Building ./classes/Makefile             from classes/Makefile.in...
  Building ./docs/Makefile                from docs/Makefile.in...
  Building ./languages/Makefile           from languages/Makefile.in...
  Building ./languages/jako/Makefile      from languages/jako/Makefile.in...
  Building ./languages/miniperl/Makefile  from languages/miniperl/Makefile.in...
  Building ./languages/scheme/Makefile    from languages/scheme/Makefile.in...
  Building lib/Parrot/Types.pm            from Types_pm.in...
  Building lib/Parrot/Config.pm           from Config_pm.in...


Checking some things by compiling and running another small C program (this
could take a while):

  Building ./testparrotsizes.c            from testparrotsizes_c.in...


#include "parrot/parrot.h"
#include "parrot/parrot.h"
..^
..^
%CC-F-NOINCLFILEF, Cannot find file "parrot/parrot.h" specified in #include directive.
%CC-F-NOINCLFILEF, Cannot find file "parrot/parrot.h" specified in #include directive.
at line number 9 in file USER1:[SCHWERN.SRC.PARROT]TESTPARROTSIZES.C;1
at line number 9 in file USER1:[SCHWERN.SRC.PARROT]TESTPARROTSIZES.C;1
C compiler died! at (eval 1) line 13.
%RMS-E-FNF, file not found




PS You're not qualified to yell at VMS until you grok the mystery of:
$ rm foo
$ rm foo
$ rm foo 
$ rm foo
$ rm foo
$ rm foo
$ rm foo
$ rm foo
$ rm foo
$ rm foo
$ rm foo
rm.exe: foo: no such file or directory

:)


-- 

Michael G. Schwern   <[EMAIL PROTECTED]>    http://www.pobox.com/~schwern/
Perl Quality Assurance      <[EMAIL PROTECTED]>         Kwalitee Is Job One
It wasn't false, just differently truthful.
        -- Abhijit Menon-Sen in <[EMAIL PROTECTED]>

Reply via email to