|
Boost : |
Subject: Re: [boost] toolset=clang-win uses clang-linux-win?
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2018-07-09 12:01:06
> -----Original Message-----
> From: Boost [mailto:boost-bounces_at_[hidden]] On Behalf Of Peter Dimov via Boost
> Sent: 09 July 2018 11:42
> To: boost-devel
> Cc: Peter Dimov
> Subject: [boost] toolset=clang-win uses clang-linux-win?
>
> When I try `b2 toolset=clang-win` on Appveyor, I get `clang-linux-win`
> instead, that is, `-win` is interpreted as version for some reason, not as
> platform:
>
> https://ci.appveyor.com/project/pdimov/system/build/job/sjpdq5yrir2ewuhh
>
> Is this normal, or is it a bug in the clang toolset? Is there a magic
> command line incantation that would let me select clang-win?
FWIW, my failed attempts to use b2 to generate Boost libraries, in the 'standard' way, announce:
clang-linux.compile.c++.without-pth bin.v2\libs\chrono\build\clang-linux-6.0.0\release\threading-multi\chrono.obj
clang version 6.0.0 (tags/RELEASE_600/final)
Is the "clang-linux" significant?
Paul
PS user-config.jam is
using clang
: # Version.
6.0.0
: # Location of Clang compiler .exe file(s).
"C:/LLVM/clang-600/LLVM/bin/clang++.exe"
: # Options.
<compileflags>-v
<compileflags>-m64
<compileflags>-fmsc-version=1900
<compileflags>--target=i686-pc-windows-msvc
<define>_CRT_SECURE_NO_DEPRECATE
<define>_CRT_SECURE_NO_WARNINGS
<define>BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE
<cxxflags>-std=c++17
#https://clang.llvm.org/docs/CommandGuide/clang.html#cmdoption-s
# options are -flto, -flto=full, -flto=thin, -emit-llvm
# Generate output files in LLVM formats, suitable for link time optimization.
# The default for -flto is "full", in which the LLVM bitcode is suitable for monolithic Link Time Optimization (LTO),
# where the linker merges all such modules into a single combined module for optimization. With "thin",
# ThinLTO compilation is invoked instead.
<cxxflags>-flto=full
<cxxflags>-Wno-deprecated
<cxxflags>-Wno-deprecated-declarations
# <cxxflags>-fmacro-backtrace-limit=0
# <cxxflags>-Wno-invalid-token-paste
<cxxflags>-Wno-language-extension-token
<cxxflags>-Wno-microsoft-enum-value
<cxxflags>-Wno-literal-range
<cxxflags>-Wno-unknown-pragmas
<cxxflags>-Wno-unused-variable
<cxxflags>-Wno-microsoft-enum-value
<cxxflags>-Wno-invalid-constexpr
# Need to stop reporting an error in Boost.System (needs fixing).
<linkflags>--verbose
<linkflags>-fuse-ld=lld # Essential to use lld.
<linkflags>-flto=full # -flto=thin fails using Codeblocks "error: Expected a single module" But not later????
<linkflags>-m64
<linkflags>--target=i686-pc-windows-msvc
<linkflags>-lmsvcrt
# -lmsvcrt Needed to avoid unresolved external symbol __imp____RTDynamicCast
# but also then need <toolset>clang:<define>NODEFAULTLIB=libcmt.lib # Avoid warning.
;
--- Paul A. Bristow Prizet Farmhouse Kendal UK LA8 8AB +44 (0) 1539 561830
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk