From: Graham Batty (gclbb-jamboost_at_[hidden])
Date: 2003-07-16 03:47:12
Hey, I first used Perforce Jam about .. 3 or 4 years ago. At the time I
thought it had a lot of potential as a make replacement. It has a
recognizable syntax (similar to make's, but more flexible), an interesting
extendable (and in fact fully replacable) backend, and it was able to deal
with directory-spanning projects in a way that was at the very least more
sane than make.
However, the backend, as it existed in perforce's version, left a lot to be
desired. Someone I worked with managed to make it work (most of the time)
with cross directory dependancies when you ran it from within the directory
tree, and I later managed to somewhat reproduce this effect. However, the
effort left me a bit tired of dealing with jam, and I haven't really looked
at it since.
I came back to looking at jam when I started using boost. bjam v1 was
decent, but really seemed to suffer from a lot of the same flaws as perforce
jam did (including problems with multi-directory structures). bjam v2 as of
at least milestone 5, however, impresses me a great deal. So far, aside from
performance problems, it seems to be almost exactly what I have been hoping
for in an improved jam and a make replacement. The way tools are structured,
the ability to define and work with variants, the ability to refer to
targets with indirect paths (and have them *work*) are all the sorts of
things that I always wished for from jam.
I haven't seen much in the way of appreciation for the effort expended, so
kudos to you guys, who have made jam fulfill a lot of it's potential. It is
an impressive feat to say the least. Kudos also for making it generic enough
to be used for any project, then building it up for boost.
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk