Boost logo

Boost-Build :

From: Daniel James (daniel_james_at_[hidden])
Date: 2008-08-21 18:49:47

2008/8/21 Jurko Gospodnetiæ <jurko.gospodnetic_at_[hidden]>:
> The change you require would actually entail more than changing forward
> slashes would it not? Absolute paths would need to be changed to something
> like /cygdrive/c/xxx/yyy/zzz with possibly some more escapes being added for
> spaces, special characters, etc.

Well, strictly speaking yes, but in practice you can often get away
with just using forward slashes. For example, cygwin does enough for
xsltproc to work with windows paths (back slashes and all) until you
use a relative path like "../lookup.xsl". When resolving this it seems
to assume that the separators in the base path are forward slashes, so
it messes up the path. You can get away with a 'c:/xxx/yyy/zzz'
because for the most part it just treats the paths as text, and cygwin
handles the rest.

> Anyone got some working code implementing this transformation?
> Also, how should Boost Build/Jam know whether to apply the transformation
> to a specific path?
> This can not be specified simply for 'all paths in an action' as Boost Jam
> has now way of telling what part of an action is a 'path'.

So the logic would have to be in individual toolsets rather than
generic? That's a pity.

> We already have a :W variable modifier in Boost Jam which does this
> conversion for a specific variable content but this works only for a cygwin
> built Boost Jam as it uses cygwin's
> cygwin_conv_to_posix_path()/cygwin_conv_to_win32_path() APIs.

Can the cygwin bjam successfully call non-cygwin programs (such as
Visual C++ and quickbook built using Visual C++)? I'm asking about
this because it'd make building the documentation much easier if boost
build could use both cygwin and non-cygwin programs. If this requires
some extra configuration in user-config.jam that's fine - the
difficulty saved would more than make up for it.


Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at