Subject: Re: [boost] [clang] Windows toolset support?
From: Joshua Boyce (raptorfactor_at_[hidden])
Date: 2012-10-26 22:42:21


On Tue, Oct 23, 2012 at 6:25 AM, Beman Dawes <bdawes_at_[hidden]> wrote:

> Cygwin has been shipping clang for six months or so. Has anyone gotten
> the cygwin/clang distribution (or any other clang distribution) to
> build boost?
>
> What toolset did you use?
>
> What does your user-config.jam file look like?
>
> Do you run bjam/b2 from the Windows command line or the bash command line?
>
> Thanks,
>
> --Beman
>
> _______________________________________________
> Unsubscribe & other changes:
> http://listarchives.boost.org/mailman/listinfo.cgi/boost

I do not use cygwin, however I have successfully been building and using
Boost with Clang on Windows using the toolchain provided by rubenvb over at
the Mingw-w64 project:
http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/clang-3.1-release/

My user-config.jam is empty.

I compile with the following command line (windows command line):

> set OLDCD=%CD%
> pushd %BOOST_ROOT%
> set OLDPATH=%PATH%
> set PATH=%MINGW32_CLANG%;%MINGW32_CLANG%\bin\;%PATH%
> b2 -j %NUMBER_OF_PROCESSORS% toolset=clang cxxflags=-std=c++11
> address-model=32 architecture=x86 --stagedir=stage/clang-x86 link=static
> runtime-link=static threading=multi debug-symbols=on
> define=WINVER=_WIN32_WINNT_VISTA define=_WIN32_WINNT=_WIN32_WINNT_VISTA
> stage > %OLDCD%\clang32.txt
> set PATH=%OLDPATH%
> popd

Unfortunately Boost is detecting the compiler as "clang.linux", but other
than that it seems to work for the most part.

The stuff that doesn't work:
* Boost.Context (it fails to assemble its assembler files)
* Boost.Math (it attempts an 'rm' command, I assume because it thinks it's
on *nix)
* Boost.Python (the same ::hypot error that also plagues GCC in C++11 mode)

Most everything else seems to work okay (though I have to use pragmas to
disable a LOT of warnings when including boost headers, though that may
simply be because I have all warnings enabled).

Clang support on Windows still needs a lot of work (Ruben tells me that
there's about half a person working on it on the Clang side), but perhaps
some interest from the Boost community would help drive some more
investment into the platform?