diff options
author | Khem Raj <raj.khem@gmail.com> | 2025-03-10 13:19:25 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2025-03-21 21:30:56 -0700 |
commit | 6da0abaa33b458a37b97f42e3755245e3220bf27 (patch) | |
tree | 932bacaefb03eb15371a9f02aab2fbdc8e61fb81 | |
parent | fb4b4faf76d28ee00f6962936a0d6f24ada77f8e (diff) | |
download | meta-clang-6da0abaa33b458a37b97f42e3755245e3220bf27.tar.gz |
clang.bbclass,compiler-rt: Do not set -target for native clang
When building native recipes using clang as native compiler e.g.
compiler-rt-native, setting -target can be out of sync with the
underlying distro's understanding of gcc tuple e.g. aarch64-linux
or aarch64-linux-gnu, which is used by distros to house the gcc
runtime e.g. on ubuntu
/usr/lib/gcc/aarch64-linux-gnu/11
/usr/lib/gcc/aarch64-linux-gnu/9
if we provide -target its not able to deduce it from the build host
which is required for native packages
try with
recipe-sysroot-native/usr/bin/clang -xc /dev/null -rtlib=libgcc --unwindlib=libgcc -stdlib=libstdc++ -v
or
recipe-sysroot-native/usr/bin/clang -xc /dev/null -rtlib=libgcc --unwindlib=libgcc -stdlib=libstdc++ -target aarch64-linux -v
to see the difference
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r-- | classes/clang.bbclass | 3 | ||||
-rw-r--r-- | recipes-devtools/clang/clang_git.bb | 4 | ||||
-rw-r--r-- | recipes-devtools/clang/compiler-rt-sanitizers_git.bb | 38 | ||||
-rw-r--r-- | recipes-devtools/clang/compiler-rt_git.bb | 20 |
4 files changed, 40 insertions, 25 deletions
diff --git a/classes/clang.bbclass b/classes/clang.bbclass index e9571ce..0671ef6 100644 --- a/classes/clang.bbclass +++ b/classes/clang.bbclass | |||
@@ -1,6 +1,7 @@ | |||
1 | # Add the necessary override | 1 | # Add the necessary override |
2 | CCACHE_COMPILERCHECK:toolchain-clang ?= "%compiler% -v" | 2 | CCACHE_COMPILERCHECK:toolchain-clang ?= "%compiler% -v" |
3 | HOST_CC_ARCH:prepend:toolchain-clang = "-target ${HOST_SYS} " | 3 | HOST_CC_ARCH:prepend:toolchain-clang:class-target = "-target ${HOST_SYS} " |
4 | HOST_CC_ARCH:prepend:toolchain-clang:class-nativesdk = "-target ${HOST_SYS} " | ||
4 | CC:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | 5 | CC:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" |
5 | CXX:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | 6 | CXX:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" |
6 | CPP:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} -E" | 7 | CPP:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} -E" |
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb index b5e94b5..40e32c7 100644 --- a/recipes-devtools/clang/clang_git.bb +++ b/recipes-devtools/clang/clang_git.bb | |||
@@ -106,7 +106,7 @@ CLANG_DEFAULT_RTLIB;CLANG_DEFAULT_CXX_STDLIB;LLVM_BUILD_LLVM_DYLIB;LLVM_LINK_LLV | |||
106 | LLVM_ENABLE_ASSERTIONS;LLVM_ENABLE_EXPENSIVE_CHECKS;LLVM_ENABLE_PIC;\ | 106 | LLVM_ENABLE_ASSERTIONS;LLVM_ENABLE_EXPENSIVE_CHECKS;LLVM_ENABLE_PIC;\ |
107 | LLVM_BINDINGS_LIST;LLVM_ENABLE_FFI;FFI_INCLUDE_DIR;LLVM_OPTIMIZED_TABLEGEN;\ | 107 | LLVM_BINDINGS_LIST;LLVM_ENABLE_FFI;FFI_INCLUDE_DIR;LLVM_OPTIMIZED_TABLEGEN;\ |
108 | LLVM_ENABLE_RTTI;LLVM_ENABLE_EH;LLVM_BUILD_EXTERNAL_COMPILER_RT;CMAKE_SYSTEM_NAME;\ | 108 | LLVM_ENABLE_RTTI;LLVM_ENABLE_EH;LLVM_BUILD_EXTERNAL_COMPILER_RT;CMAKE_SYSTEM_NAME;\ |
109 | CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_BINUTILS_INCDIR;\ | 109 | CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_ENABLE_RUNTIMES;LLVM_BINUTILS_INCDIR;\ |
110 | LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;PYTHON_EXECUTABLE;\ | 110 | LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;PYTHON_EXECUTABLE;\ |
111 | PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;LLDB_EDITLINE_USE_WCHAR;\ | 111 | PYTHON_LIBRARY;PYTHON_INCLUDE_DIR;LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN;LLDB_EDITLINE_USE_WCHAR;\ |
112 | LLVM_ENABLE_LIBEDIT;LLDB_ENABLE_LIBEDIT;LLDB_PYTHON_RELATIVE_PATH;LLDB_PYTHON_EXE_RELATIVE_PATH;\ | 112 | LLVM_ENABLE_LIBEDIT;LLDB_ENABLE_LIBEDIT;LLDB_PYTHON_RELATIVE_PATH;LLDB_PYTHON_EXE_RELATIVE_PATH;\ |
@@ -128,6 +128,8 @@ HF = "" | |||
128 | HF:class-target = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" | 128 | HF:class-target = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" |
129 | HF[vardepvalue] = "${HF}" | 129 | HF[vardepvalue] = "${HF}" |
130 | 130 | ||
131 | # Ensure that LLVM_PROJECTS does not contain compiler runtime components e.g. libcxx etc | ||
132 | # they are enabled via LLVM_ENABLE_RUNTIMES | ||
131 | LLVM_PROJECTS ?= "clang;clang-tools-extra;lld${LLDB}" | 133 | LLVM_PROJECTS ?= "clang;clang-tools-extra;lld${LLDB}" |
132 | LLDB ?= ";lldb" | 134 | LLDB ?= ";lldb" |
133 | # LLDB support for RISCV32/Mips32 does not work yet | 135 | # LLDB support for RISCV32/Mips32 does not work yet |
diff --git a/recipes-devtools/clang/compiler-rt-sanitizers_git.bb b/recipes-devtools/clang/compiler-rt-sanitizers_git.bb index 1cee81b..e9b6a9e 100644 --- a/recipes-devtools/clang/compiler-rt-sanitizers_git.bb +++ b/recipes-devtools/clang/compiler-rt-sanitizers_git.bb | |||
@@ -21,7 +21,8 @@ TUNE_CCARGS:remove = "-no-integrated-as" | |||
21 | 21 | ||
22 | DEPENDS += "ninja-native virtual/crypt compiler-rt" | 22 | DEPENDS += "ninja-native virtual/crypt compiler-rt" |
23 | DEPENDS:append:class-native = " clang-native libxcrypt-native" | 23 | DEPENDS:append:class-native = " clang-native libxcrypt-native" |
24 | DEPENDS:append:class-nativesdk = " clang-native clang-crosssdk-${SDK_SYS} nativesdk-libxcrypt" | 24 | DEPENDS:append:class-nativesdk = " clang-native clang-crosssdk-${SDK_SYS} nativesdk-libxcrypt nativesdk-gcc-runtime" |
25 | DEPENDS:append:class-target = " clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc gcc-runtime" | ||
25 | 26 | ||
26 | PACKAGECONFIG ??= "" | 27 | PACKAGECONFIG ??= "" |
27 | PACKAGECONFIG[crt] = "-DCOMPILER_RT_BUILD_CRT:BOOL=ON,-DCOMPILER_RT_BUILD_CRT:BOOL=OFF" | 28 | PACKAGECONFIG[crt] = "-DCOMPILER_RT_BUILD_CRT:BOOL=ON,-DCOMPILER_RT_BUILD_CRT:BOOL=OFF" |
@@ -40,10 +41,8 @@ OECMAKE_TARGET_INSTALL = "install-compiler-rt install-compiler-rt-headers" | |||
40 | OECMAKE_SOURCEPATH = "${S}/llvm" | 41 | OECMAKE_SOURCEPATH = "${S}/llvm" |
41 | EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \ | 42 | EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \ |
42 | -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ | 43 | -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ |
43 | -DCOMPILER_RT_STANDALONE_BUILD=OFF \ | 44 | -DCOMPILER_RT_STANDALONE_BUILD=ON \ |
44 | -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ | ||
45 | -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \ | 45 | -DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON \ |
46 | -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}${HF} \ | ||
47 | -DCOMPILER_RT_BUILD_BUILTINS=OFF \ | 46 | -DCOMPILER_RT_BUILD_BUILTINS=OFF \ |
48 | -DCOMPILER_RT_INCLUDE_TESTS=OFF \ | 47 | -DCOMPILER_RT_INCLUDE_TESTS=OFF \ |
49 | -DSANITIZER_CXX_ABI_LIBNAME=${@bb.utils.contains("TC_CXX_RUNTIME", "llvm", "libc++", "libstdc++", d)} \ | 48 | -DSANITIZER_CXX_ABI_LIBNAME=${@bb.utils.contains("TC_CXX_RUNTIME", "llvm", "libc++", "libstdc++", d)} \ |
@@ -52,24 +51,29 @@ EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \ | |||
52 | -DCOMPILER_RT_BUILD_LIBFUZZER=ON \ | 51 | -DCOMPILER_RT_BUILD_LIBFUZZER=ON \ |
53 | -DCOMPILER_RT_BUILD_PROFILE=ON \ | 52 | -DCOMPILER_RT_BUILD_PROFILE=ON \ |
54 | -DCOMPILER_RT_BUILD_MEMPROF=ON \ | 53 | -DCOMPILER_RT_BUILD_MEMPROF=ON \ |
55 | -DLLVM_ENABLE_PROJECTS='compiler-rt' \ | 54 | -DLLVM_ENABLE_RUNTIMES='compiler-rt' \ |
56 | -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ | 55 | -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ |
57 | -DLLVM_APPEND_VC_REV=OFF \ | 56 | -DLLVM_APPEND_VC_REV=OFF \ |
57 | -S ${S}/runtimes \ | ||
58 | " | 58 | " |
59 | 59 | ||
60 | EXTRA_OECMAKE:append:class-nativesdk = "\ | 60 | EXTRA_OECMAKE:append:class-target = "\ |
61 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ | 61 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ |
62 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ | 62 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ |
63 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ | 63 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ |
64 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ | 64 | -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}${HF} \ |
65 | -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ | 65 | -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ |
66 | -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ | ||
66 | " | 67 | " |
67 | 68 | ||
68 | EXTRA_OECMAKE:append:class-target = "\ | 69 | EXTRA_OECMAKE:append:class-nativesdk = "\ |
69 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ | 70 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ |
70 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ | 71 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ |
71 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ | 72 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ |
72 | -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ | 73 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ |
74 | -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ | ||
75 | -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}${HF} \ | ||
76 | -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ | ||
73 | " | 77 | " |
74 | 78 | ||
75 | EXTRA_OECMAKE:append:libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " | 79 | EXTRA_OECMAKE:append:libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " |
@@ -77,11 +81,12 @@ EXTRA_OECMAKE:append:powerpc = " -DCOMPILER_RT_DEFAULT_TARGET_ARCH=powerpc " | |||
77 | 81 | ||
78 | do_install:append () { | 82 | do_install:append () { |
79 | if [ -n "${LLVM_LIBDIR_SUFFIX}" ]; then | 83 | if [ -n "${LLVM_LIBDIR_SUFFIX}" ]; then |
80 | mkdir -p ${D}${nonarch_libdir}/clang | 84 | mkdir -p ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib |
81 | mv ${D}${libdir}/clang/${MAJOR_VER} ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER} | 85 | mv ${D}${libdir}/linux ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib |
82 | rmdir --ignore-fail-on-non-empty ${D}${libdir}/clang ${D}${libdir} | 86 | rmdir --ignore-fail-on-non-empty ${D}${libdir} |
83 | else | 87 | else |
84 | mv ${D}${libdir}/clang/${MAJOR_VER} ${D}${libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER} | 88 | mkdir -p ${D}${libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib |
89 | mv ${D}${libdir}/linux ${D}${libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib | ||
85 | fi | 90 | fi |
86 | # Already shipped with compile-rt Orc support | 91 | # Already shipped with compile-rt Orc support |
87 | rm -rf ${D}${nonarch_libdir}/clang/${MAJOR_VER}/lib/linux/liborc_rt-*.a | 92 | rm -rf ${D}${nonarch_libdir}/clang/${MAJOR_VER}/lib/linux/liborc_rt-*.a |
@@ -117,7 +122,10 @@ BBCLASSEXTEND = "native nativesdk" | |||
117 | ALLOW_EMPTY:${PN} = "1" | 122 | ALLOW_EMPTY:${PN} = "1" |
118 | ALLOW_EMPTY:${PN}-dev = "1" | 123 | ALLOW_EMPTY:${PN}-dev = "1" |
119 | 124 | ||
120 | TOOLCHAIN:forcevariable = "clang" | 125 | TOOLCHAIN = "clang" |
126 | # Overrides defaults from clang.bbclass | ||
127 | TOOLCHAIN:class-nativesdk = "clang" | ||
128 | TOOLCHAIN:class-native = "clang" | ||
121 | SYSROOT_DIRS:append:class-target = " ${nonarch_libdir}" | 129 | SYSROOT_DIRS:append:class-target = " ${nonarch_libdir}" |
122 | 130 | ||
123 | # riscv and x86_64 Sanitizers work on musl too | 131 | # riscv and x86_64 Sanitizers work on musl too |
diff --git a/recipes-devtools/clang/compiler-rt_git.bb b/recipes-devtools/clang/compiler-rt_git.bb index f88e4a2..06b42da 100644 --- a/recipes-devtools/clang/compiler-rt_git.bb +++ b/recipes-devtools/clang/compiler-rt_git.bb | |||
@@ -57,22 +57,23 @@ OECMAKE_TARGET_INSTALL = "install-compiler-rt install-compiler-rt-headers" | |||
57 | OECMAKE_SOURCEPATH = "${S}/llvm" | 57 | OECMAKE_SOURCEPATH = "${S}/llvm" |
58 | EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \ | 58 | EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=RelWithDebInfo \ |
59 | -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ | 59 | -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=OFF \ |
60 | -DCOMPILER_RT_STANDALONE_BUILD=OFF \ | 60 | -DCOMPILER_RT_STANDALONE_BUILD=ON \ |
61 | -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ | ||
62 | -DCOMPILER_RT_INCLUDE_TESTS=OFF \ | 61 | -DCOMPILER_RT_INCLUDE_TESTS=OFF \ |
63 | -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}${HF} \ | ||
64 | -DCOMPILER_RT_BUILD_XRAY=OFF \ | 62 | -DCOMPILER_RT_BUILD_XRAY=OFF \ |
65 | -DCOMPILER_RT_BUILD_SANITIZERS=OFF \ | 63 | -DCOMPILER_RT_BUILD_SANITIZERS=OFF \ |
66 | -DCOMPILER_RT_BUILD_MEMPROF=OFF \ | 64 | -DCOMPILER_RT_BUILD_MEMPROF=OFF \ |
67 | -DCOMPILER_RT_BUILD_LIBFUZZER=OFF \ | 65 | -DCOMPILER_RT_BUILD_LIBFUZZER=OFF \ |
68 | -DLLVM_ENABLE_PROJECTS='compiler-rt' \ | 66 | -DLLVM_ENABLE_RUNTIMES='compiler-rt' \ |
69 | -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ | 67 | -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ |
70 | -DLLVM_APPEND_VC_REV=OFF \ | 68 | -DLLVM_APPEND_VC_REV=OFF \ |
69 | -S ${S}/runtimes \ | ||
71 | " | 70 | " |
72 | EXTRA_OECMAKE:append:class-target = "\ | 71 | EXTRA_OECMAKE:append:class-target = "\ |
73 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ | 72 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ |
74 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ | 73 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ |
75 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ | 74 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ |
75 | -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}${HF} \ | ||
76 | -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ | ||
76 | -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ | 77 | -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ |
77 | " | 78 | " |
78 | 79 | ||
@@ -82,16 +83,19 @@ EXTRA_OECMAKE:append:class-nativesdk = "\ | |||
82 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ | 83 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ |
83 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ | 84 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ |
84 | -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ | 85 | -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ |
86 | -DCMAKE_C_COMPILER_TARGET=${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}${HF} \ | ||
87 | -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON \ | ||
85 | " | 88 | " |
86 | EXTRA_OECMAKE:append:powerpc = " -DCOMPILER_RT_DEFAULT_TARGET_ARCH=powerpc " | 89 | EXTRA_OECMAKE:append:powerpc = " -DCOMPILER_RT_DEFAULT_TARGET_ARCH=powerpc " |
87 | 90 | ||
88 | do_install:append () { | 91 | do_install:append () { |
89 | if [ -n "${LLVM_LIBDIR_SUFFIX}" ]; then | 92 | if [ -n "${LLVM_LIBDIR_SUFFIX}" ]; then |
90 | mkdir -p ${D}${nonarch_libdir}/clang | 93 | mkdir -p ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib |
91 | mv ${D}${libdir}/clang/${MAJOR_VER} ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER} | 94 | mv ${D}${libdir}/linux ${D}${nonarch_libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib |
92 | rmdir --ignore-fail-on-non-empty ${D}${libdir}/clang ${D}${libdir} | 95 | rmdir --ignore-fail-on-non-empty ${D}${libdir} |
93 | else | 96 | else |
94 | mv ${D}${libdir}/clang/${MAJOR_VER} ${D}${libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER} | 97 | mkdir -p ${D}${libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib |
98 | mv ${D}${libdir}/linux ${D}${libdir}/clang/${MAJOR_VER}.${MINOR_VER}.${PATCH_VER}/lib | ||
95 | fi | 99 | fi |
96 | } | 100 | } |
97 | 101 | ||