incubator-lucy-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marvin Humphrey <mar...@rectangular.com>
Subject [lucy-dev] Slow migration to Makefiles
Date Tue, 16 Nov 2010 20:16:20 GMT
On Tue, Nov 16, 2010 at 09:39:20AM -0800, Mattmann, Chris A (388J) wrote:

> > Over time, we should expect to migrate a lot of the build structure to
> > Makefiles.  I hate make, but it's the lowest common denominator.
> 
> Is that strictly true? I mean, the reality is whatever you could do in make,
> could be done in e.g., Ant, right? 

Sure -- but we could also do everything in Perl/Ruby/Python/etc.  The primary
advantage that Make has over Ant and all of those is that it's already there
on every system.  

The point of migrating to Makefiles would be to share build routines across
host bindings.  Building Lucy for C or Python shouldn't require Perl, or Java,
or whatever.  For now, we have to put up with a Perl dependency, but I would
like to eliminate that, at least for simple building of the library as a user
would.  (Developers will continue to have to deal with the Perl dependency,
but after I rewrite Clownfish::Parser to be based on the Lemon parser
generator rather than Parse::RecDescent, they'll only need core Perl.)

We don't want to depend on Make exclusively for the build IMO -- the
contortions necessary for cross-platform compatibility when solving complex
problems aren't worth it.  Instead, I think we should keep the Makefiles
simple, but use scripts to generate input for them.  Probably such dev helper
scripts will continue to be written in Perl, like the update_snowstem.pl I
just added last week.

I don't think it's reasonable to expect Simon or Robert to fully grok a
sophisticated Module::Build subclass like trunk/perl/buildlib/Lucy/Build.pm.
However, I do think that it's reasonable to expect Lucy committers to
understand shared Makefiles, and I also think it's reasonable to expect them
to understand simple Perl scripts like update_snowstem.pl.

Marvin Humphrey


Mime
View raw message