From 4d066667c3cbba3b88d2f8d6c5640f5f793d10b4 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Thu, 24 Jun 2021 14:49:45 -0700 Subject: libcxx: Fix native build Use libgcc with clang-native to compile it Fixes #465 Signed-off-by: Khem Raj --- recipes-devtools/clang/libcxx_git.bb | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'recipes-devtools/clang/libcxx_git.bb') 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 PACKAGECONFIG ??= "compiler-rt exceptions ${@bb.utils.contains("RUNTIME", "llvm", "unwind unwind-shared", "", d)}" PACKAGECONFIG_append_armv5 = " no-atomics" - +PACKAGECONFIG_remove_class-native = "compiler-rt" PACKAGECONFIG[unwind] = "-DLIBCXXABI_USE_LLVM_UNWINDER=ON -DLIBCXXABI_ENABLE_STATIC_UNWINDER=ON,-DLIBCXXABI_USE_LLVM_UNWINDER=OFF,," PACKAGECONFIG[exceptions] = "-DLIBCXXABI_ENABLE_EXCEPTIONS=ON -DDLIBCXX_ENABLE_EXCEPTIONS=ON,-DLIBCXXABI_ENABLE_EXCEPTIONS=OFF -DLIBCXX_ENABLE_EXCEPTIONS=OFF -DCMAKE_REQUIRED_FLAGS='-fno-exceptions'," 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_ DEPENDS += "ninja-native" DEPENDS_append_class-target = " clang-cross-${TARGET_ARCH} virtual/${MLPREFIX}libc virtual/${TARGET_PREFIX}compilerlibs" +DEPENDS_append_class-native = " clang-native" LIBCPLUSPLUS = "" COMPILER_RT ?= "-rtlib=compiler-rt" +CC_append_toolchain-clang_class-native = " -unwindlib=libgcc -rtlib=libgcc" + CXXFLAGS += "-stdlib=libstdc++" LDFLAGS += "-unwindlib=libgcc -stdlib=libstdc++" INHIBIT_DEFAULT_DEPS = "1" @@ -51,16 +54,23 @@ EXTRA_OECMAKE += "\ -DLIBCXX_CXX_ABI=libcxxabi \ -DLIBCXX_CXX_ABI_INCLUDE_PATHS=${S}/libcxxabi/include \ -DLIBCXX_CXX_ABI_LIBRARY_PATH=${B}/lib${LLVM_LIBDIR_SUFFIX} \ - -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ - -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ - -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ -DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi;libunwind' \ -DLLVM_LIBDIR_SUFFIX=${LLVM_LIBDIR_SUFFIX} \ " -EXTRA_OECMAKE_append_class-native = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF" +EXTRA_OECMAKE_append_class-target = " \ + -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ + -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ + -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ +" +EXTRA_OECMAKE_append_class-native = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF \ +" -EXTRA_OECMAKE_append_class-nativesdk = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF" +EXTRA_OECMAKE_append_class-nativesdk = " -DLIBCXX_ENABLE_ABI_LINKER_SCRIPT=OFF \ + -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${AR} \ + -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${NM} \ + -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${RANLIB} \ +" EXTRA_OECMAKE_append_libc-musl = " -DLIBCXX_HAS_MUSL_LIBC=ON " @@ -84,4 +94,4 @@ PACKAGES_append_runtime-llvm = " libunwind" FILES_libunwind_runtime-llvm = "${libdir}/libunwind.so.*" BBCLASSEXTEND = "native nativesdk" -TOOLCHAIN = "clang" +TOOLCHAIN_forcevariable = "clang" -- cgit v1.2.3-54-g00ecf