Boost logo

Boost-Build :

From: Andre Hentz (gclbb-jamboost_at_[hidden])
Date: 2003-04-21 15:33:49


On Mon, 21 Apr 2003, David Abrahams wrote:

>
> Now that we've finally got msvc and borland to work properly under
> Cygwin, I've come to the conclusion that it may be neccessary to build
> in some core jam support for windows-style paths. The alternative of
> using backquoted invocations of `cygpath` is simply too awful to
> tolerate (see tools/build/new/msvc.jam). This is important especially

I just wanted to add my support for not using cygpath. Besides
making it too difficult to maintain, cygpath requires the argument to be a
existing file or directory (so `cygpath -d /tmp/new_file.rsp` will return
the empty string).

> for users of older versions of windows (e.g. 98) with highly
> restricted command-line length. I suggest a new modifier :W which uses
> http://cygwin.com/cygwin-api/func-cygwin-conv-to-win32-path.html to
> convert paths to windows-native format under Cygwin and which is a
> no-op elsewehere. This should allow us to write a single version of
> most build actions without special-casing Cygwin.
>
The other option is to have cygwin use backslashes (win32-style)
all the time. I tried that once but notice bjam should also be changed
(because target biding adds the last slash to the directory name, if I'm
not mistaken). Once I changed bjam, problems regarding proper escaping
started to pop up so I gave up.

> I'm not diving right in to do it immediately because:
>
> 1. I want to make sure this is the only core change which is
> immediately needed, especially in the area of path
> translation. There are a number of other functions at
> http://cygwin.com/cygwin-api/cygwin-api.html which might be
> worth exposing.
>

Perhaps a platform dependent way of escaping arguments. Or a
platform independent way of executing commands, something like exec().

Best,

Andre Hentz

 


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