Boost logo

Boost-Build :

From: Douglas Gregor (gregod_at_[hidden])
Date: 2003-03-14 13:10:12


We can do this in a Jamfile:
<define>HAS_CONFIG_H=1
but we can't do this on the command line:
define=HAS_CONFIG_H=1

because convert-command-line-element thinks we're giving the value 1 to the
feature <define=HAS_CONFIG_H>. That sounds like the correct behavior because
the documentation says this:
"Feature values may not contain the '<', ':', or '=' characters."

but that breaks just about every <define> example, everywhere. I think we'd be
better off disallowing '=' in feature names, allowing '=' in feature values,
and applying this little patch below to parse the command line elements
according to these new rules.

If that's okay, I'll apply the patch and update the docs.

Doug

Index: build-request.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/new/build-request.jam,v
retrieving revision 1.19
diff -c -3 -p -r1.19 build-request.jam
*** build-request.jam 7 Mar 2003 08:45:35 -0000 1.19
--- build-request.jam 14 Mar 2003 17:55:10 -0000
*************** local rule convert-command-line-element
*** 185,191 ****
local parts = [ regex.split $(e) "/" ] ;
for local p in $(parts)
{
! local m = [ MATCH "(.*)=(.*)" : $(p) ] ;
local lresult ;
if $(m)
{
--- 185,191 ----
local parts = [ regex.split $(e) "/" ] ;
for local p in $(parts)
{
! local m = [ MATCH "([^=]*)=(.*)" : $(p) ] ;
local lresult ;
if $(m)
{

 


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