Zach Lipton:
# Ok, great. Thanks. I'll see what I can do.
#
# Random idea off the top of my head, note that this assumes
# that configure
# will use perl to work, if this is not going to be true, this
# probably won't
# work.

Well, for now we're using Perl for Configure, but that won't be possible
in the final version.  Nasty bootsrapping issues with that.  :^)

# I am the Bugzilla Installation Owner and have been tinkering

Cool, credentials... ;^)

# with similar
# things lately to setup a new install system for Bugzilla. I
# have sample code
# that would do part of the work, though it would need
# tinkering to work for
# parrot. The idea is to have the Configure.pl script itself
# run .cm files
# located in Config/, these .cm files (configuremodule) would
# do the actual
# work of configuration. The Conf.pm module would contain a set
# of API's for
# the .cm files to call. (this is all portable of course...) An
# example .cm
# file would be like:
#
# #Basicquestions.cm, by Zach Lipton
# #This file under some license TBA
# package Conf::Basicquestions;
# use Conf;
# my $output = >>"EOF";
# Now I need to ask you a few questions about your
# configuration so I can
# configure your copy of parrot.
# EOF;
# output(
# # the format for ask is ask(questionname,question,defaultanswer);
# ask('name','What is your name?','Larry Wall');
# ask('quest','What is your quest?','To build a better perl');
# ask('standards','What group creates many standards and sounds
# like falling
# off the bridge?','IEEE');

I'll have to remember that one... :^)

# # ask() will handle asking the question, supplying a default,
# and storing
# the answer in %c
# # the last .cm file will then generate conf files, makefiles, etc
#
# There are other API's in Conf.pm so I can sniff an answer
# from the env and
# then write:
# setconf('name','lwall');
#
# Based on sniffing for the current username, etc...
#
# So anyway, what do you think about this? Again, I have real
# code which I can
# supply, but am I way offbase here? To me, the main advantage
# is getting
# everything out of a "monster-script" and breaking it up into packages.

That's actually quite similar to the Configure.pl we currently have,
except for the modularity aspect.

I can see Configure split up into several CMs:

-manifest check
-defaults from Config.pm
-defaults from previous Parrot::Config
-defaults from the command line
-asking questions
-figuring out what headers are available
-first test program
-config.h
-Parrot::Types
-Parrot::Config
-second test program
-config.h again
-Makefile

I may decide to hack on this idea later.  (Probably not, though--I'm
still having something resembling 'fun' with the regexp ops.)

--Brent Dax
[EMAIL PROTECTED]
Configure pumpking for Perl 6

When I take action, I'm not going to fire a $2 million missile at a $10
empty tent and hit a camel in the butt.
    --Dubya

Reply via email to