Josh Wilmes:
# I've been working on the beginnings of a miniparrot 
# (something that can be 
# built anywhere without the Configure step).  The first step 
# was to get 
# configure to generate appropriate configuration files for an 
# ANSI-only 
# environment.

Looks excellent.

# To do this, I've added a --miniparrot option to Configure.pl. 
#  When used, 
# this option causes Configure to disable to use of any gcc 
# features, and to 
# only make available those header files which are guaranteed 
# by ANSI C89.
....
# Of these, 2 are not defined by ANSI C89:
#     read (in core_ops.o,core_ops_prederef.o)
#     write (in core_ops.o,core_ops_prederef.o)
# 
# Pretty good!

Indeed.  Those should probably be surrounded with ifdefs--does Configure
generate a HAS_HEADER for these?.

The only thing that jumped out at me were the direct calls to fprintf
with warnings--perhaps you should use the standard warnings mechanism
instead.

I'd suggest that your next steps include modifying
config/gen/config_h.pl to output a has_header.h with only ANSI headers
enabled.  (Make sure that Configure tests for them in the first place,
though!)

The other thing I'd suggest is that we wrap mmap and munmap in
something.  I think Windows has similar functionality through a
different API, so Parrot_map and Parrot_unmap might be in order.

--Brent Dax <[EMAIL PROTECTED]>
@roles=map {"Parrot $_"} qw(embedding regexen Configure)

Early in the series, Patrick Stewart came up to us and asked how warp
drive worked.  We explained some of the hypothetical principles . . .
"Nonsense," Patrick declared.  "All you have to do is say, 'Engage.'"
    --Star Trek: The Next Generation Technical Manual

Reply via email to