After r255321, clang uses libc++ by default. This leads to a lot of
errors when you enable WITH_GNUCXX to build libstdc++, since it will include C++ headers from the libc++ installation under ${WORLDTMP}, and those are not compatible with libstdc++ at all. To fix this, add -stdlib=libstdc++ to CXXFLAGS when building libstdc++ (and its companion libsupc++) with clang. Approved by: re (delphij)
This commit is contained in:
parent
f5355ab1ba
commit
44acc1e156
@ -636,3 +636,7 @@ CLEANFILES+= ${VERSION_MAP}
|
||||
|
||||
# Filter out libc++-specific flags, and -std= flags above c++98 or gnu++98.
|
||||
CXXFLAGS:= ${CXXFLAGS:N-stdlib=libc++:N-std=c++[01][13x]:N-std=gnu++[01][13x]}
|
||||
|
||||
.if ${COMPILER_TYPE} == "clang"
|
||||
CXXFLAGS+= -stdlib=libstdc++
|
||||
.endif
|
||||
|
@ -56,3 +56,7 @@ VERSION_MAP= ${.CURDIR}/Version.map
|
||||
|
||||
# Filter out libc++-specific flags, and -std= flags above c++98 or gnu++98.
|
||||
CXXFLAGS:= ${CXXFLAGS:N-stdlib=libc++:N-std=c++[01][13x]:N-std=gnu++[01][13x]}
|
||||
|
||||
.if ${COMPILER_TYPE} == "clang"
|
||||
CXXFLAGS+= -stdlib=libstdc++
|
||||
.endif
|
||||
|
Loading…
Reference in New Issue
Block a user