diff options
author | Khem Raj <raj.khem@gmail.com> | 2021-06-24 14:49:45 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2021-06-25 10:54:39 -0700 |
commit | 4d066667c3cbba3b88d2f8d6c5640f5f793d10b4 (patch) | |
tree | e121032befbe9e247be7d08de6e1cb96bc3b98c1 /recipes-devtools/clang/libcxx_git.bb | |
parent | b9c9325d65fdcc6a1bfdb15b538c7454894ce15f (diff) | |
download | meta-clang-4d066667c3cbba3b88d2f8d6c5640f5f793d10b4.tar.gz |
libcxx: Fix native build
Use libgcc with clang-native to compile it
Fixes #465
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes-devtools/clang/libcxx_git.bb')
-rw-r--r-- | recipes-devtools/clang/libcxx_git.bb | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/recipes-devtools/clang/libcxx_git.bb b/recipes-devtools/clang/libcxx_git.bb index b5bda2e..bdb364e 100644 --- a/recipes-devtools/clang/libcxx_git.bb +++ b/recipes-devtools/clang/libcxx_git.bb | |||
@@ -12,7 +12,7 @@ inherit cmake cmake-native python3native | |||
12 | 12 | ||
13 | PACKAGECONFIG ??= "compiler-rt exceptions ${@bb.utils.contains("RUNTIME", "llvm", "unwind unwind-shared", "", d)}" | 13 | PACKAGECONFIG ??= "compiler-rt exceptions ${@bb.utils.contains("RUNTIME", "llvm", "unwind unwind-shared", "", d)}" |
14 | PACKAGECONFIG_append_armv5 = " no-atomics" | 14 | PACKAGECONFIG_append_armv5 = " no-atomics" |
15 | 15 | PACKAGECONFIG_remove_class-native = "compiler-rt" | |
16 | PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON,-DLIBCXXABI_USE_LLVM_UNWINDER=OFF,," | 16 | PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON,-DLIBCXXABI_USE_LLVM_UNWINDER=OFF,," |
17 | PACKAGECONFIG[exceptions] = "-DLIBCXXABI_ENABLE_EXCEPTIONS=ON -DDLIBCXX_ENABLE_EXCEPTIONS=ON,-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF -DLIBCXX_ENABLE_EXCEPTIONS=OFF -DCMAKE_REQUIRED_FLAGS='-fno-exceptions'," | 17 | PACKAGECONFIG[exceptions] = "-DLIBCXXABI_ENABLE_EXCEPTIONS=ON -DDLIBCXX_ENABLE_EXCEPTIONS=ON,-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF -DLIBCXX_ENABLE_EXCEPTIONS=OFF -DCMAKE_REQUIRED_FLAGS='-fno-exceptions'," |
18 | PACKAGECONFIG[no-atomics] = "-D_LIBCXXABI_HAS_ATOMIC_BUILTINS=OFF -DCMAKE_SHARED_LINKER_FLAGS='-latomic',," | 18 | PACKAGECONFIG[no-atomics] = "-D_LIBCXXABI_HAS_ATOMIC_BUILTINS=OFF -DCMAKE_SHARED_LINKER_FLAGS='-latomic',," |
@@ -21,10 +21,13 @@ PACKAGECONFIG[unwind-shared] = "-DLIBUNWIND_ENABLE_SHARED=ON,-DLIBUNWIND_ENABLE_ | |||
21 | 21 | ||
22 | DEPENDS += "ninja-native" | 22 | DEPENDS += "ninja-native" |
23 | DEPENDS_append_class-target = " clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc virtual/${TARGET_PREFIX}compilerlibs" | 23 | DEPENDS_append_class-target = " clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc virtual/${TARGET_PREFIX}compilerlibs" |
24 | DEPENDS_append_class-native = " clang-native" | ||
24 | 25 | ||
25 | LIBCPLUSPLUS = "" | 26 | LIBCPLUSPLUS = "" |
26 | COMPILER_RT ?= "-rtlib=compiler-rt" | 27 | COMPILER_RT ?= "-rtlib=compiler-rt" |
27 | 28 | ||
29 | CC_append_toolchain-clang_class-native = " -unwindlib=libgcc -rtlib=libgcc" | ||
30 | |||
28 | CXXFLAGS += "-stdlib=libstdc++" | 31 | CXXFLAGS += "-stdlib=libstdc++" |
29 | LDFLAGS += "-unwindlib=libgcc -stdlib=libstdc++" | 32 | LDFLAGS += "-unwindlib=libgcc -stdlib=libstdc++" |
30 | INHIBIT_DEFAULT_DEPS = "1" | 33 | INHIBIT_DEFAULT_DEPS = "1" |
@@ -51,16 +54,23 @@ EXTRA_OECMAKE += "\ | |||
51 | -DLIBCXX_CXX_ABI=libcxxabi \ | 54 | -DLIBCXX_CXX_ABI=libcxxabi \ |
52 | -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \ | 55 | -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \ |
53 | -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib${LLVM_LIBDIR_SUFFIX} \ | 56 | -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib${LLVM_LIBDIR_SUFFIX} \ |
54 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ | ||
55 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ | ||
56 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ | ||
57 | -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi;libunwind' \ | 57 | -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi;libunwind' \ |
58 | -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ | 58 | -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ |
59 | " | 59 | " |
60 | 60 | ||
61 | EXTRA_OECMAKE_append_class-native = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF" | 61 | EXTRA_OECMAKE_append_class-target = " \ |
62 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ | ||
63 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ | ||
64 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ | ||
65 | " | ||
66 | EXTRA_OECMAKE_append_class-native = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF \ | ||
67 | " | ||
62 | 68 | ||
63 | EXTRA_OECMAKE_append_class-nativesdk = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF" | 69 | EXTRA_OECMAKE_append_class-nativesdk = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF \ |
70 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ | ||
71 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ | ||
72 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ | ||
73 | " | ||
64 | 74 | ||
65 | EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " | 75 | EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " |
66 | 76 | ||
@@ -84,4 +94,4 @@ PACKAGES_append_runtime-llvm = " libunwind" | |||
84 | FILES_libunwind_runtime-llvm = "${libdir}/libunwind.so.*" | 94 | FILES_libunwind_runtime-llvm = "${libdir}/libunwind.so.*" |
85 | 95 | ||
86 | BBCLASSEXTEND = "native nativesdk" | 96 | BBCLASSEXTEND = "native nativesdk" |
87 | TOOLCHAIN = "clang" | 97 | TOOLCHAIN_forcevariable = "clang" |