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