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?). 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. Anyway, I do think should live side by side, not replace each other. If we use build_system_x for the non-IDE-integrated case, it would obviously be useful if there would be a toolset to compile the IDE-integrated build files (eg Ant XML) to build_system_x files, like you describe in the last point, whether this is autotools or some other system. Nicolas
Attachment:
signature.asc
Description: This is a digitally signed message part