[jamming] Cygwin MkDir rule is broken in 5.2 Jam

david turner dturner at nds.com
Fri Jan 13 01:20:45 PST 2006

Hello Mark,

Mark Evans a écrit :
> Is Perforce Jam still being maintained?  
Given that new releases happen more by accident than anything else, I'd say
that Perforce Jam is in coma, with very little chances of a recovery.

> Is it reasonable to expect problems such as the one I encountered on 
> Cygwin to be fixed in a forthcoming release? 
I don't think so, mainly because Perforce doesn't seem to have the time 
to maintain
the project. So, such a patch might be available in custom Jam 
derivatives, but I don't think you'll
see them in the official tree.
> What is the proper way to report problems and suggest patches?
This mailing list is the only way. There is no bug tracker that I know 
of by the way,
and the documentation is well, sparse and outdated in certain ways.
> Is there a roadmap for future releases? 
not that I know of.
> Should I evaluate variants of Perforce Jam such as Boost Jam? 
> If so which variant would you experts recommend?
Boost Jam is quite a complex build system, but this is because it is 
used to do really
incredible things (building complex C++ libraries with all sorts of 
whizz and bang on
multiple platforms, multiple compilers, multiple variants, etc...)

It's probably useful to learn if you need the same kind of features, 
otherwise, it's
pretty sophisticated thing to use (just my humble opinion, of course)

Autojam is much better if all you need is to compile on Unix and Windows 
(with either
gcc and Visual C++) since it handles things that are not supported by 
the default
Jambase (e.g. generation of DLLs and Unix shared libraries). I recommend it.

FTJam is a simple derivative of Perforce Jam, with little added value 
when it comes
to the Jambase rules itself, but it supports more compilers on Windows, 
with backwards

I have also a version of FTJam on my machine that supports the 
generation of DLLs
and Unix shared libraries, but I'm reluctant to release it for several 
reasons. One of them
being that it doesn't really improve the default Jambase rules.

As an earlier poster said, the Jam foundation is very sound, the 
language is highly
expressive, but the default rules and behaviour are not always well 

In other words, it's probably time to start a Jam derivative that is not 
backwards compatible
by what is provided by Perforce, and would include nifty features that 
have been floating in
the Perforce repository for, say, years..

I'd love to do that myself, but currently lack the time to do it 
properly. Any volunteers on this
list to start such a project ?

Best regards,

- David Turner
- The FreeType Project  (www.freetype.org)

> Cheers,
> Mark
> Here is my patch to Jambase that fixes the MkDir/MkDir1 problem for 
> Cygwin.
> --- Jambase.orig    2003-04-22 22:45:50.000000000 -0500
> +++ Jambase    2006-01-12 04:46:36.781250000 -0600
> @@ -1002,6 +1002,16 @@
>          case *:\\ : s = ;
>          }
>          }
> +        if $(UNIX) && $(OS) = CYGWIN
> +        {
> +            switch $(s)
> +        {
> +        case *:   : s = ;
> +        case *:/  : s = ;
> +        case <dir>/cygdrive   : s = ;
> +        case <dir>/cygdrive/  : s = ;
> +        }
> +        }
>          if $(s) = $(<)
>          {
> ------------------------------------------------------------------------
> _______________________________________________
> jamming mailing list  -  jamming at perforce.com
> http://maillist.perforce.com/mailman/listinfo/jamming

Information contained in this email message is confidential and may be privileged, and is intended only for use of the individual or entity named above. If the reader of this message is not the intended recipient, or the employee or agent responsible to deliver it to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the postmaster at nds.com and destroy the original message.

More information about the jamming mailing list