Subject: [Boost-build] Possibilities of clang for Windows
From: Edward Diener (eldiener_at_[hidden])
Date: 2014-07-08 16:01:35
The clang for Windows executable can be created so that the target
defaults to either vc++ or mingw/gcc mode. In Boost Build we currently
have a single toolset called clang, which works on the MacOS and Linux.
In order for it to work on Windows we can choose among these separate
1) Create a separate toolset, called 'clang-cl', for clang on Windows
2) Require the end-user using clang on Windows targeting vc++ to invoke
a) as 'clang-cl'
b) as 'clang' with a 'compatibility' option ( 'vcnn' as in 'vc12' )
3) Require the end-user to specify a 'target' option, either
'i386-pc-win32' for vc++ mode or 'i386-pc-mingw32' for gcc/mingw mode.
4) Execute 'clang --version' piping the output back into stdin or
writing the output to a file and reading the file back in, and parsing
the information to automatically figure out which mode it is.
Thoughts ? Ideas ?
Whatever Boost Build decides to do I probably need some help
implementing the solution in bjam language. I have added to 'develop'
the clang-win.jam file, but it currently never gets invoked because the
change I have locally to invoke it in clang.jam precludes the mingw/gcc
mode of clang for Windows. I also have a local change to common.jam
which also precludes the possibility of mingw/gcc mode in Windows.
Solving this problem of supporting both vc++ and mingw/gcc mode for
clang under Windows is essential if we are going to support it in
Windows as well as in the MacOS and Linux.
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