summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-02-11 07:13:58 -0800
committerKhem Raj <raj.khem@gmail.com>2019-02-11 07:21:21 -0800
commit2486dda0738956df41a912d666f2feac5ec81e14 (patch)
tree4897a22131db467559e02842b4f7dae7661ecb2f
parent638bd7550d93a67791f33bef1882401a4181ae87 (diff)
downloadmeta-clang-2486dda0738956df41a912d666f2feac5ec81e14.tar.gz
clang: Use gold linker for nativersdk
nativesdk packages are special in OE, where linker pads the dynamic section with additional bits so that can be patched to a relocatable location duting installing SDK, lld will need such a patch if it has to link the nativesdk apps, until then we use gold Add more fine grained packageconfigs for libpfm, ncurses, and libedit Enable clang as toolchain to build nativesdk version of clang with gold linker Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes-devtools/clang/clang_git.bb24
1 files changed, 12 insertions, 12 deletions
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb
index 40bcaba..8298c81 100644
--- a/recipes-devtools/clang/clang_git.bb
+++ b/recipes-devtools/clang/clang_git.bb
@@ -10,17 +10,10 @@ require common-source.inc
10 10
11INHIBIT_DEFAULT_DEPS = "1" 11INHIBIT_DEFAULT_DEPS = "1"
12 12
13OECMAKE_NATIVE_C_COMPILER_class-nativesdk = "clang -static-libgcc" 13BUILD_AR_class-nativesdk = "llvm-ar"
14OECMAKE_NATIVE_CXX_COMPILER_class-nativesdk = "clang++ -static-libgcc" 14BUILD_RANLIB_class-nativesdk = "llvm-ranlib"
15OECMAKE_NATIVE_AR_class-nativesdk = "llvm-ar" 15BUILD_NM_class-nativesdk = "llvm-nm"
16OECMAKE_NATIVE_RANLIB_class-nativesdk = "llvm-ranlib" 16LDFLAGS_append_class-nativesdk = " -fuse-ld=gold"
17OECMAKE_NATIVE_NM_class-nativesdk = "llvm-nm"
18TOOLCHAIN_OPTIONS_append_class-nativesdk = " -static-libgcc"
19
20CC_class-nativesdk = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
21CXX_class-nativesdk = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
22CPP_class-nativesdk = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} -E"
23CCLD_class-nativesdk = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}"
24 17
25inherit cmake cmake-native 18inherit cmake cmake-native
26 19
@@ -64,6 +57,9 @@ PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx"
64PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," 57PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils,"
65PACKAGECONFIG[full-lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," 58PACKAGECONFIG[full-lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils,"
66PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,,," 59PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,,,"
60PACKAGECONFIG[terminfo] = "-DLLVM_ENABLE_TERMINFO=ON,-DLLVM_ENABLE_TERMINFO=OFF,ncurses,"
61PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm,"
62PACKAGECONFIG[libedit] = "-DLLVM_ENABLE_LIBEDIT=ON,-DLLVM_ENABLE_LIBEDIT=OFF,libedit,"
67 63
68# 64#
69# Default to build all OE-Core supported target arches (user overridable). 65# Default to build all OE-Core supported target arches (user overridable).
@@ -105,8 +101,10 @@ EXTRA_OECMAKE_append_class-native = "\
105" 101"
106EXTRA_OECMAKE_append_class-nativesdk = "\ 102EXTRA_OECMAKE_append_class-nativesdk = "\
107 -DCMAKE_CROSSCOMPILING:BOOL=ON \ 103 -DCMAKE_CROSSCOMPILING:BOOL=ON \
108 -DLLVM_ENABLE_LLD=ON \
109 -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \ 104 -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \
105 -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \
106 -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \
107 -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \
110 -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \ 108 -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \
111 -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \ 109 -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \
112 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ 110 -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
@@ -207,3 +205,5 @@ INSANE_SKIP_${PN}-dev += "dev-elf"
207SSTATE_SCAN_FILES_remove = "*-config" 205SSTATE_SCAN_FILES_remove = "*-config"
208 206
209TOOLCHAIN = "clang" 207TOOLCHAIN = "clang"
208TOOLCHAIN_class-native = "gcc"
209TOOLCHAIN_class-nativesdk = "clang"