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]>