Build system for KDE4

David Johnson david at usermode.org
Tue Jun 14 04:43:57 BST 2005


On Monday 13 June 2005 07:59 pm, Michael Pyne wrote:

> Huh?  We don't in general directly interact with make and sh anyways.
> Makefile.am's are for the most part foo_SOMETHING = blah $(foo2)
> which isn't anywhere near a Makefile syntax.  Sure you can add
> make-specific stuff if you want, but for the most part it's not
> exposed to us.

Normally we don't deal with them directly. But that doesn't me we never 
do. If we don't have a generic vanilla application, then we might have 
to. Maybe we need to write a macro/function to detect a library that 
isn't already covered by acinclude or aclocal. Or maybe we need to do 
something special during install and thus need to fiddle with 
Makefile.am.

> Likewise with sh.  I think there are much more people familiar (or
> could quickly become familiar) with Python, Ruby, et al. than could
> use m4.  If we use sh for familiarity then we get into the issue of
> various shell-specifics, like features which work with shell foo but
> not shell bar.  I think if you're experienced enough to deal with sh
> portability issues then you can handle some Python. :P

I'm probably wrong on this. I'm middle aged and come from the systems 
programming world. People in my peer group would be so embarassed to be 
caught not knowing sh that they would forced to change professions. I 
understand that there are younger people in other areas of programming 
that have much different backgrounds. I know this because I'm always 
correcting their #!/bin/sh scripts that mistakenly use bash 
extensions :-)

> Besides, there's no reason that people have to be forced into using
> the language syntax, there's no reason that if the build system were
> written in Python or Ruby or what have you that it couldn't still
> read Makefile.am and some form of simple configure script.

That was the whole point of my post, though perhaps I didn't state it 
well. One shouldn't have to learn Python (Ruby, Scheme, Ocaml, etc) in 
order to build their C++ application.

I can understand most Makefiles in a BSD ports tree, but unless the 
application is generic vanilla needing no special treatment, I have a 
hard time understanding "simple" emerge scripts in Gentoo. This is 
because I've not taken the time to sit down and learn Python. Shame on 
me.

> Besides that I can almost guarantee that use of shell in configure
> scripts in KDE is almost always copied from somewhere else until it
> works.  Few people actually have a clue what they're doing. :P

This explains a great many things!

> I guarantee people wouldn't be fleeing autotools left and right if it
> were easy to use.

I never said it was easy, I was merely expressing a hope that whatever 
replaces it has a shallow learning curve.

-- 
David Johnson
___________________
http://www.usermode.org




More information about the kde-core-devel mailing list