[cfe-dev] Distinguishing between clang Window versions

Edward Diener eldlistmailingz at tropicsoft.com
Sun Jul 13 11:41:50 PDT 2014


On 7/8/2014 11:13 AM, Nico Weber wrote:
> On Tue, Jul 8, 2014 at 6:54 AM, Edward Diener
> <eldlistmailingz at tropicsoft.com
> <mailto:eldlistmailingz at tropicsoft.com>> wrote:
>
>     Since the two versions for clang on Windows, one using VC++ RTL and
>     emulating VC++ to some small extent and the other using mingw rtl,
>     are radically different, is there any easy way to distinguish
>     between them at pre-execution time.
>
>     In Boost Build we currently have a single toolset named 'clang' for
>     the clang compiler. On Linux it uses a clang-linux.jam file, on the
>     Mac it uses a clang-darwin.jam file, and I am trying to establish
>     .jam files for using clang on Windows. Essentially I can use the
>     clang-linux.jam file with a slight modification if the clang version
>     uses mingw, but I need to use a clang-win.jam file if the clang
>     version uses VC++. So somewhere early in the Boost Build processing
>     I have to determine which 'clang.exe' is being used on Windows in
>     order to invoke the proper Boost Build jam file for it.
>
>
> It's not really to different clang binaries as far as I know, just the
> same binary with a different default triple. So you could pass an
> explicit -target parameter to force one compiler behavior over the other
> too. (-target i386-pc-win32 for VC mode, -target i386-pc-mingw32 for gcc
> mode)

When using clang --help I see:

  --target=<value>        Generate code for the given target

Is this the target option ( note the -- ) that can be passed to clang to 
change to either VC mode or gcc mode ? If so, are these two values you 
specify above ( "i386-pc-win32" or "i386-pc-mingw32" ) documented 
anywhere ? If this is not the target option you have mentioned, is that 
target option ( maybe with a single - ) documented anywhere ?




More information about the cfe-dev mailing list