Boost logo

Boost-Build :

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
targeting vc++.

2) Require the end-user using clang on Windows targeting vc++ to invoke
the command:
   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, david.abrahams at, gregod at, cpdaniel at, john at