On Sat Nov 24 13:26:01 2007, bernhard wrote: > On Mi. 05. Jul. 2006, 12:17:12, bernhard wrote: > > > > Contrive things so that no code whatsover must be maintained outside > > > of the language specific directory. This includes: > [snip]
> config/gen/languages.pm handles the configuration of languages. > Primarily configuration is the generation of the file LANGUAGE/Makefile. > I propose that languages should follow the 'dotnet' way, that does > configuration with: > > cd LANGUAGE; perl Configure.pl. > I can foresee problems with using Configure.pl to do this, because it adds an additional requirement to what Configure.pl must accomplish and therefore constrains how Configure.pl may evolve in the future. Over the last year a lot of my work has been aimed at getting code *out* of Configure.pl and into modules located (mostly) in the lib/Parrot/Configure/ directory tree. Subroutines and methods from those modules are then called by Configure.pl as needed -- as well as being called by tests in t/configure/ which are designed to mimic various aspect of Configure.pl's functionality. There was one case where the purpose of code in Configure.pl was different from initial configuration: the case where Parrot developers wanted to re-generate just one Makefile after initial configuration had completed. I recommended taking that functionality out of Configure.pl, modularizing it, then calling that from a *different* script, tools/dev/reconfigure.pl. Perhaps this is the approach we should take for configuration of language makefiles. kid51