On Sun, Dec 04, 2005 at 06:37:25PM +0100, Leopold Toetsch wrote:
> This is an unordered collection of my thoughts towards a next release:
> * config module cleanup: auto/jit.pm and gen/icu.pm comes to my mind 
> (and why /gen anyway?)

Not just the steps themselves need work, there is still some fairly
substantial work left to be done on the configure framework as part of
my refactoring project.  This has been going rather slowly because it's
usually bad to major radical changes to a build system as things always
break, my available tuits have been rather low lately, and this isn't
'test driven development' so I'm having to be doubly cautious about
breakage on platforms I don't have access too.  My Parrot tuits
situation should be improved for the last week of December (a
'vacation') and I'm hoping to complete most if not all of the
refactoring work then.

A summary of what's been done so far:

- All of the steps have been renamed from a .pl -> .pm file extension
  (that was not as trivial as I had hoped)

- The Configure::Data class is no longer created as part of a step and
  now lives under lib/.  It's been partially cleaned up renamed to
  Parrot::Configure::Data.

- All of the steps now inherit from Parrot::Configure::Step::Base.

- A step's description and result text and now retrieved via class
  methods.

- The $(MAKE_C) abomination has been removed from the Makefile templates
  and a Make configure step as been added.

- Some work has been done towards getting `make -jN` to work (almost
  there)


What still needs to be done:

- The framework itself needs tests!!!

- Each step needs to have it's own namespace.  This is when the switch
  to Module::Pluggable will happen.

- Parrot::Configure::Step needs to be cleaned up.

- Most of the steps need both style and logical clean ups.  

- It should be possible to specify the paths to all utilities via
  environment variables.  Similar to how the new probes for lex and yacc
  work.

- Parrot::Configure::RunSteps renamed to Parrot::Configure and the list
  of steps to be run moved into Configure.pl

- Steps need an option passing mechanism to specifying things like, we
  require versions x, y or z of flex (or fail).  This means reworking
  the way CLI options are passed into tests.

- A clean bailout mechanisms.  Currently there is no 'nice' way for a
  step to signal a failure, configuration always proceeds.

- CLI options need some minor tweaks

- Many steps should be broken up

- The debugging traces could be neater

- A usable log file would be handy

- Makefile dependencies still aren't being setup rigorously 

- Last but not least, Leo's point about reviewing what the configuration
  steps are actually doing.

Cheers,

-J

--

Attachment: pgpWjGVDXoRcJ.pgp
Description: PGP signature

Reply via email to