[jamming] Escaping in jam

Chris Tate Chris.Tate at openwave.com
Thu Feb 2 10:32:52 PST 2006


Thanks to everyone who pointed out the trick of using concatenation to
build up the appropriate string:
 
    dollar = $ ;
    HDRS += $(dollar)(BCB)\\Include\\Mfc ;
 
Indeed, it does the trick.  Hooray!
 
--
chris tate

________________________________

From: jamming-bounces at perforce.com [mailto:jamming-bounces at perforce.com]
On Behalf Of Chris Tate
Sent: Wednesday, February 01, 2006 1:31 PM
To: jamming at perforce.com
Subject: [jamming] Escaping in jam


I'm beating my head against this a bit and not making much progress -- i
need to set a Jam variable to be a string that "looks" like a Jam
variable reference.  Backslash and double-quote escaping don't seem to
be working as I expect them to.  I'm using Jam on Windows XP.
 
The end result I'm trying to accomplish is to pass this flag to Borland
C++ Builder:
 
    "-I$(BCB)\Include\Mfc"
 
C++ Builder interprets the *literal* string "$(BCB)" itself; i need to
cause it to be passed unaltered to the compiler invocation.  Various
combinations of backslash escaping or double quoting don't seem to work.
In particular, I find it quite strange that this works:
 
    HDRS += \$\\Include\\Mfc
 
to produce "-I$\Include\Mfc" in the compiler's invocation, but
 
    HDRS += \$\(BCB\)\\Include\\Mfc
 
is apparently *stripped*; no part of that fragment winds up in a -I flag
on the command line.
 
Help?
 
--
chris tate
chris.tate at openwave.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://maillist.perforce.com/pipermail/jamming/attachments/20060202/3c7a4e4c/attachment.html


More information about the jamming mailing list