lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marvin Humphrey <mar...@rectangular.com>
Subject Re: [lucy-dev] Maintaining manifest to avoid Module::Build warnings
Date Fri, 10 Dec 2010 22:00:55 GMT
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

Mime
View raw message