Boost logo

Boost :

Subject: Re: [boost] clang-win, (Thin)LTO this time
From: degski (degski_at_[hidden])
Date: 2018-11-08 05:25:19


On Wed, 7 Nov 2018 at 16:01, Peter Dimov via Boost <boost_at_[hidden]>
wrote:

> The first level of quoting is b2 quoting:
>
> using clang-win : : "C:\\Program Files\\LLVM\\clang-cl.exe" ;
>
> Here the quotes and the backslashes are b2 quoting; the value itself ends
> up
> 'C:\Program Files\LLVM\clang-cl.exe' (without the single quotes of course.)
>
> If you don't quote, as in
>
> using clang-win : : C:/Program Files/LLVM/clang-cl.exe ;
>
> b2 will split this on the space character and the value will be a list of
> `C:/Program` and `Files/LLVM/clang-cl.exe`.
>
> With
>
> using clang-win : : "C:\\Program Files\\LLVM\\clang-cl.exe"
> -fuse-ld=lld
> ;
>
> the result is a list of `C:\Program Files\LLVM\clang-cl.exe` and
> `-fuse-ld=lld`.
>
> The second level of quoting, which clang-win.jam applies to the above list
> manually with
>
> compiler = "\"$(compiler)\"" ;
>
> is for the Windows command line. The result is a command line of the form
>
> "C:\Program Files\LLVM\clang-cl.exe" "-fuse-ld=lld" <args>
>
> It's not clang-cl.exe that strips the quotes here, it's cmd.exe. Without
> the
> quotes, it will give an error that `C:\Program` isn't found.
>
> The quotes around `-fuse-ld=lld` are unnecessary in this case, as this
> argument has no spaces, but they don't hurt. They would be needed for
> something like (hypothetically) "-fsome-path=C:\Program Files\somepath".
>

Thanks for the clarification.

degski

-- 
*“If something cannot go on forever, it will stop" - Herbert Stein*

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk