Re: build system alternatives (Was: Using vala in GNOME)
- From: David Malcolm <dmalcolm redhat com>
- To: Pavel Rojtberg <lists madman2k net>
- Cc: desktop-devel-list gnome org
- Subject: Re: build system alternatives (Was: Using vala in GNOME)
- Date: Tue, 01 Jul 2008 12:19:15 -0400
On Tue, 2008-07-01 at 17:51 +0200, Pavel Rojtberg wrote:
> Gustavo J. A. M. Carneiro wrote:
> > On Mon, 2008-06-30 at 23:45 +0300, natan yellin wrote:
> >>
> >> On Mon, Jun 30, 2008 at 9:59 PM, Mikkel Kamstrup Erlandsen
> >> <mikkel kamstrup gmail com> wrote:
> >> 2008/6/30 Gustavo J. A. M. Carneiro<gjc inescporto pt>:
> >>
> >> > On Mon, 2008-06-30 at 12:01 -0300, Johan Dahlin wrote:
> >> >> Gustavo J. A. M. Carneiro wrote:
> >> >> > On Mon, 2008-06-30 at 15:07 +0100, Alberto Ruiz wrote:
> >> >> [..]
> >> >>
> >> >> >> Plus, CMake is getting more mature and stable and it
> >> already supports
> >> >> >> VisualStudio and XCode project files conversion, lack of
> >> proper
> >> >> >> extensibility being its only downside at the moment.
> >> >> >
> >> >> > Lack of extensibility, and use of another arcane custom
> >> made programming
> >> >> > language (if we can call it that) for everything.
> >> >> >
> >> >> > No, CMake is not an answer. It is not significantly
> >> better than
> >> >> > autotools to justify a switch to it IMHO.
> >> >>
> >> >> CMake *is* considerably better. Xcode/VisualStudio are
> >> killer features which
> >> >> alone would make a switch worth it.
> >> >
> >> > I disagree that Xcode/VisualStudio are killer features. A
> >> powerful
> >> > programming language and extensibility are way better
> >> features IMHO.
> >> > Does a significant percentage of GNOME developers use any of
> >> these IDEs?
> >> > Without such data you can't assert that those are killer
> >> features.
> >> >
> >> > For the case of Vala, I don't see how CMake handles it any
> >> better than
> >> > autotools.
> >> >
> >> >>
> >> >> Can we please start to organize ourselves and try to move
> >> forward with
> >> >> switching to another build system?
> >> >
> >> > We can't switch to any single build system any more than we
> >> can switch
> >> > to a single DVCS. Or to a single programming language, for
> >> that matter!
> >> > Different developers value different features. Modern
> >> developers have
> >> > to adapt to different environments. I, for example,
> >> regularly program
> >> > in C, C++, and Python. I know how to use cvs, subversion,
> >> bazaar, git
> >> > (poorly), and mercurial. In particular I use subversion,
> >> bazaar, and
> >> > mercurial very regularly, all at the same time, git not so
> >> much only
> >> > because I didn't need to. I can hack plain makefiles,
> >> > autoconf/automake, waf, and scons.
> >>
> >>
> >> And is this an acceptable barrier of entry to Gnome
> >> development?
> >> Agreed. While the skills that you mentioned do come with time no
> >> matter what, you want to avoid forcing beginner developers to chew
> >> more than they can swallow.
> >
> > That is a moot point. A beginner chooses *one* project to hack on,
> > that's all. All he has to know is the programming language and tools of
> > that single project.
> >
> > That is an issue when a developer wants to transition to another module,
> > at which point he is probably no longer a beginner.
> >
> > This is basically the same thing as with programming languages. Do you
> > think everything should be coded in C in order to lower the required
> > skill set of beginner hackers? What about Python, C++, Vala, C#, Perl?
> > We ban modules written in those other languages because they force
> > developers to learn a new programming language?
> >
> > Besides, making life easier beginner contributors, fine, I'm all for it.
> > But that has to be balanced with keeping the mental sanity of the
> > contributors we already have.
>
> I dont think the point is that moot. Being one of the "beginner
> developers" you refer to, I can say that autotools are really daunting.
> As is that most of Gnome Modules are written in C.
>
> Up to now I tried write some patches, but always capitulated because of
> some autotools and/ or C weirdness.
>
> And honestly I dont see why I have to learn that freaking tools, when
> there is Scons/ Python which are beginner friendly and which I
> personally use for my own projects.
>
> So my contributions this far were limited to the parts of gnome written
> in python.
Rereading, this has turned into a rant, but posting in the hope that it
will be useful:
It often puts me off, as an experienced C developer. When I first
started looking at GNOME (and indeed Linux) I was an experienced C
developer, having worked on various commercial videogames, finding ways
to save a few hundred bytes here and there to get stuff to fit in RAM on
the target platform... and I still have trouble with the GNU autotools:
I want to spend my brainpower thinking about the problem domain of the
program, my users, and my code, not having to deal with a pile of hacks
upon hacks for trying to workaround obsolete platforms with a broken
linker (or whatever).
The vast majority of the input to this tool is mere configuration data,
but we're stuck with a model where it gets run through scripts on top of
scripts that generate a program that's run as the developer (how many of
you audit the generated scripts for malicious content?)
Also, I feel that a supposed cross-platform compatibility solution that
fails to integrate with Visual Studio on Windows, and with XCode on OS X
is broken by definition (not that I use either of these platforms).
I could go on; hope the above helps
Dave
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]