strawman (Was Re: build systems)



On Mon, 2007-11-12 at 02:15 +0100, Nicolas Trangez wrote:
> - Being able to use Python in your configure script natively is A Good
> Thing (except if you hate Python, obviously). It allows to do real
> programming in your configure stage, which is also possible in autoconf
> but sometimes somewhat more challenging.

Actually some people (and I am one of the them) are not big fans of
build recipe stuff where you can put code into it (yes, I know it's very
UNIX-y have this point of view). For the record, both autotools, RPM and
debian/rules do this to some extent. Anyway, there are several problems
on several levels with this approach that are irrelevant to this
discussion (if anyone here knows how capable I am of ranting you'll
thank me for omitting this part :-).

However, the most important point for this discussion is that this
approach makes it hard to provide a high-level UI a'la Eclipse or Visual
Studio which is what many many people are used to. One way to do this is
to use a declarative programming language (e.g. XML) to express the
build process.

Of course, being a realist, it's naive to believe that such a
declarative language would be able to cover all of free software and
replace autotools in general. However, if you consider just GNOME,
perhaps it's possible to come up with a short and sweet declarative
language. If we had that we could use it in at least three ways

 - We could have a dedicated GNOME program that interpreted these build
   recipes and built binaries for you.

 - It would be straightforward (I didn't say easy) to write Eclipse,
   Visual Studio, Xcode etc. With this developers would never need
   to touch a shell. Certainly this is a big selling point.

 - Another program could generate configure.in, Makefile.am etc. for
   rolling distribution tarballs. This would satisfy the requirements
   for e.g. being able to build only if you have make(1), gcc(1) and
   core UNIX utilities around.

So the proposal here would be to roll our own build system that is
highly optimized only for GNOME/GTK+ applications. Thoughts?

       David




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]