[jamming] Cygwin MkDir rule is broken in 5.2 Jam
matze at braunis.de
Thu Jan 12 08:24:02 PST 2006
Am Donnerstag, den 12.01.2006, 05:04 -0800 schrieb Mark Evans:
> Hi all,
> I am evaluating Jam 5.2 for usage in PC/Cygwin and HP NonStop/OSS
> environments. (The latter is not supported by Jam 5.2 but I don't
> anticipate major porting problems.) On Cygwin, I tried setting up a
> simple multi-architecture build demo where C++ objects are generated
> in a tree outside of a read-only source tree. The target directory
> path assigned to LOCATE_TARGET does not exist before the first build.
> The MkDir rule fires to create the target directory path, but fails
> when the path is absolute, containing a leading "c:/" or
> "/cygdrive/c/" . In searching the mail archives it is apparent that
> other users have run into this problem. Niklaus Giger suggested a
> patch Tue, 18 Nov 2003 that addresses the problem with "c:/" but does
> not address the problem with "/cygdrive/c/". (The suggested patch
> below addresses both cases.) Nevertheless Giger's suggestion was not
> incorporated in 5.2 which leads me to some (newbie) questions:
> Is Perforce Jam still being maintained?
Hard to say, at least it takes a long time until patches and stuff get
committed in the main branch... so you should not hope for a new release
if something is broken but try to fix it yourself.
> Is it reasonable to expect problems such as the one I encountered on
> Cygwin to be fixed in a forthcoming release?
In my personal experience jam has a sound design and a nice language,
but the default rules in Jambase are notorically buggy and/or
inflexible. Most people end up overriding lots or all of the rules in
Jambase. (So you could fix the mkdir problems by implementing your own
mkdir rule that overrides the ones in the Jambase)
> What is the proper way to report problems and suggest patches?
this mailing list
> Is there a roadmap for future releases?
> Should I evaluate variants of Perforce Jam such as Boost Jam?
> If so which variant would you experts recommend?
I think boost jam is actively maintained and offer and comes with a set
of better and more flexible default rules...
You could also take a look at my personal project autojam:
which is basically the set of jam rules I use for my own projects...
More information about the jamming