On 12/11/2007, Nicolas Trangez <[EMAIL PROTECTED]> wrote:
>
> On Sun, 2007-11-11 at 22:41 -0500, David Zeuthen wrote:
> > 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.
> I'm somewhat afraid when using XML to express a build process you'll end
> up with a pretty complex schema (I know Ant and similar, don't forget
> building a Java or .Net project is much simpeler than
> $RANDOM_C_LIBRARY), so complex the only way to edit your build file
> *will* be to use some IDE.
> >
> > 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?
> While I do agree using some declarative language to describe a build
> process is useful for IDE integration, I think this wouldn't be a gain
> for maintainers not using any IDE, as maintaining the build files would
> be rather hard (does anyone who doesn't use some IDE with integrated
> build-system support use Ant and writes his ant files in $EDITOR?).


Yes I do. A lot. While Ant (and just about any XML representation of build
instructions) will be quite verbose compared to a Makefile.am, they are
quite a lot easier to debug, both because XML errors and schema compliance
errors can be described quite precisely by the build system.

If
> we'd want to have build support in IDE's I guess we can easily stick to
> ant (which is a de-facto "standard" afaik, next to MS vcproj and alike)
> and provide GTK+/GNOME-specific Ant tasks.


Ant contains some Java'isms which I don't like. As stated in another thread
on d-d-l; in my perfect build system the syntax of the build recipes will be
completely decoupled from the implementation of the build system. That way
we also use auto*, waf or ant or <xyz> to implement the actual build system,
and change that at any point in the future if we see the need.

Cheers,
Mikkel
_______________________________________________
desktop-devel-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Reply via email to