mirror of
https://review.haiku-os.org/haiku
synced 2024-11-23 07:18:40 +01:00
build: Copy and use Clang's vector intrinsics headers.
When compiling with GCC, these headers get pulled in from the gcc_syslibs_devel package, but we cannot do something similar for Clang as Clang adds/removes internal builtins used by the headers nearly every version. So instead we just copy all the intrinsics headers from current Clang into generated, and make sure this directory is included before any others.
This commit is contained in:
parent
30c9d3c0cc
commit
1f6fe0559b
@ -456,6 +456,10 @@ rule FStandardHeaders architecture
|
||||
|
||||
local headers = ;
|
||||
|
||||
if $(HAIKU_CC_IS_CLANG_$(architecture)) = 1 {
|
||||
headers += [ FDirName $(HAIKU_OUTPUT_DIR) clang_headers ] ;
|
||||
}
|
||||
|
||||
# The c++ headers.
|
||||
headers += [ C++HeaderDirectories $(architecture) ] ;
|
||||
|
||||
|
6
configure
vendored
6
configure
vendored
@ -808,6 +808,12 @@ else
|
||||
# prepare gcc settings and get the actual target architecture
|
||||
if [ $useClang = 1 ]; then
|
||||
gcc="$HAIKU_clang -target ${targetMachine} -no-integrated-as"
|
||||
|
||||
# Clang's compiler intrinsics are not compatible with GCC's or even
|
||||
# across versions of Clang, so we must collect them for use in the build.
|
||||
mkdir -p "$outputDir/clang_headers" || exit 1
|
||||
clangHeadersDir=`$gcc -print-resource-dir`/include/
|
||||
cp $clangHeadersDir/*intrin* $clangHeadersDir/mm3* "$outputDir/clang_headers" || exit 1
|
||||
elif [ -z "${crossToolsPrefix}" ]; then
|
||||
gcc=`get_variable HAIKU_CC_$targetArch`
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user