Quantcast

Bjam /b2 unable to parse some file names with spaces correctly

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Bjam /b2 unable to parse some file names with spaces correctly

Boost - Build mailing list
I am baffled (and stuck) by my failure to specify filenames with include spaces correctly.

These specification appears to work as expected

"C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\cl.exe"

"C:\\Program Files\\mingw-w64\\x86_64-5.3.0-win32-seh-rt_v4-rev0\\mingw64\\bin\\g++.exe"

but

"c:\\Program Files\\LLVM\\bin\\clang++.exe"
<linkflags>-L"C:/Program Files (x86)/Windows Kits/10/Lib/10.0.10586.0/ucrt/x64"
<linkflags>"-L"C:\\Program Files (x86)\\Windows Kits\\10\\Lib\\10.0.10586.0\\ucrt\\x64""

all fail,

parsed as

-LC:\Program

It is obviously essential to be able to specify Visual Studio files in their standard installed location.

(However daft the idea of not calling the folder Program_Files_32bit ...)

Thanks for any advice (sympathy ...)

Paul

---
Paul A. Bristow
Prizet Farmhouse
Kendal UK LA8 8AB
+44 (0) 1539 561830



_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Bjam /b2 unable to parse some file names with spaces correctly

Boost - Build mailing list
AMDG

On 02/27/2017 11:08 AM, Paul A. Bristow via Boost-build wrote:

> I am baffled (and stuck) by my failure to specify filenames with include spaces correctly.
>
> These specification appears to work as expected
>
> "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\cl.exe"
>
> "C:\\Program Files\\mingw-w64\\x86_64-5.3.0-win32-seh-rt_v4-rev0\\mingw64\\bin\\g++.exe"
>
> but
>
> "c:\\Program Files\\LLVM\\bin\\clang++.exe"
> <linkflags>-L"C:/Program Files (x86)/Windows Kits/10/Lib/10.0.10586.0/ucrt/x64"
> <linkflags>"-L"C:\\Program Files (x86)\\Windows Kits\\10\\Lib\\10.0.10586.0\\ucrt\\x64""
>

  This last one would probably work if you escaped the inner quotes.
The issue here is not really an issue of parsing.  Any string
surrounded with "" will be parsed as a single string.  The
problem appears because these strings aren't quoted inside the
action block.  Failing to quote clang++ is a bug.  I'm not sure
about <linkflags>, as I think I've seen uses of multiple options
in a single <linkflags>, which obviously won't work if the argument
is indiscriminately quoted.

In Christ,
Steven Watanabe

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build
Loading...