On Fri, Dec 10, 2010 at 12:13:01PM -0800, Chris Hostetter wrote: > I think you are missing a third option, which is to have a top level > "pre-build" command (using make, or shell, or whatever) that does whatever > bootstraping is neccessary for all of the individual subdirs -- including > programaticly create whatever files/directories you don't wnat to keep in > svn because they should be automaticly generated.
So IIUC, this would be the sequence necessary for building and testing the Perl bindings from the ASF tarball? tar -zxf lucy-0.1.0-incubating.tar.gz cd lucy-0.1.0/ make setup cd perl/ perl Build.PL ./Build test That seems kind of involved... maybe I'm not grokking? It seems to me that building lucy-as-$LANGUAGE_X-extension should follow the standard build procedure for $LANGUAGE_X as closely as possible. In the case of Perl, that would mean that "make setup" would be invoked when the user runs "./Build", rather than manually. Of course then it wouldn't solve our problem with Build.PL and warnings... > arguably, you should consider having a top level "build" command of some > kind just to handle looping over all of the differnet langauge specific > sub-builds anyway, and this could just be a part of that (or a pre-req for > it) -- run "make setup" first if you want to then peicemeal cd && build > individual subdirs yourself; or run "make all" if you want make to do them > all for you in sequence. An "all" target would be handy, but it would be tricky to set up. Different host language targets may have been compiled using different compiler options or even different compilers. We'd have to ensure that there was no collisions for any of the compiled objects or config files. Right now, the .o files get dropped right next to the corresponding .c files; that would have to change. We could still do a "test-all" target, though, which would build and test Lucy for each host in sequence, cleaning up in between. It wouldn't be practical for debugging, but it would be helpful for voting. Marvin Humphrey
