[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Devel] Relevance of FTjam wrt new Jam 2.4 ?
From: |
David Turner |
Subject: |
Re: [Devel] Relevance of FTjam wrt new Jam 2.4 ? |
Date: |
Thu, 18 Apr 2002 15:02:35 +0200 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.9) Gecko/20020311 |
Mark Leisher wrote:
David> As far as I know, the only comparable project I know is XFree86,
David> which also uses its own build tool "imake", for about the same
David> reasons. I also believe that IMake isn't a good solution for
David> FreeType, but for different reasons..
Having used imake since it first appeared, I am of the opinion that it isn't a
good solution, period. But I guess it did the job at the time.
Good to see I'm not the only one to think that :-)
David> On the opposite, using Jam (or FTJam) results in _much_ shorter and
David> simpler Jamfiles that are definitely easier to understand and
David> maintain. They are portable by design, even if they can include
David> platform-specific code paths when you need them. They also work on
David> VMS. I use them extensively to recompile the library with several
David> compilers in a snap. They're also excellent for experimentation..
What has been putting me off of learning Jam is the apparent lack of interest
by most of the free software development community. There must be some reason
why it isn't being used, so I guess it is time to find out why.
I can think of several reasons for the current state of affairs:
A - "most" free software developers work under Unix and don't
care if their code runs on different platforms (or when they
do, it's always a second-thought that they rarely fully commit
to).
Here, make+Autoconf+Automake+Libtool are sufficient, and they
are also supported by many IDEs "natively".
B - The Jam documentation is really, really poor. One needs to
study the Jambase file in details to really understand well
how everything works.
Many people are capable of writing simple Jamfiles for simple
projects, but many non-trivial tasks are not documented clearly,
even when they're dead easy to implement in the Jam language..
Note that I've started writing some sort of documentation for
the Jam language (draft at http://www.freetype.org/jam/syntax.html)
but clearly stopped due to lack of time..
C - "Make/Autoconf/Libtool/Automake" are available by default on most
Unix installations, while you need to install Jam manually.
Many users, even if they don't have the faintest idea of what
a Makefile is or even how to write one, know and use the "magic"
Unix commands:
./configure
make
make install
unfortunately, that won't work with the current Jam sources :-)
D - Many advanced developers are used to pervert Autoconf+Make to
have them perform really sad tricks during a build process.
These won't change their habits until they know that they can
do the same things with Jam "easily". This won't happen until
the Jam documentation becomes much more serious...
Note that all of these aren't specific to Jam, and can be said for
many other kind of alternative tools (Ant, NAnt, SCons, etc..)
I think that, as long as B and C isn't solved reasonably well, we're
not going to see any change in habits in the free software world.
Regards,
- David Turner
- The FreeType Project (www.freetype.org)