Michael G Schwern:
# 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
Yikes. Does the C compiler recognize that sort of path? How about
the -I switch (it may be set differently by VMS's hints file) that tells
it to look in ./include?
# 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
#
# :)
Nine versions of foo. A nice feature, IMHO. ;^)
--Brent Dax <[EMAIL PROTECTED]>
@roles=map {"Parrot $_"} qw(embedding regexen Configure)
#define private public
--Spotted in a C++ program just before a #include