summaryrefslogtreecommitdiffstats
path: root/recipes-devtools/clang/clang_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-devtools/clang/clang_git.bb')
-rw-r--r--recipes-devtools/clang/clang_git.bb29
1 files changed, 21 insertions, 8 deletions
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb
index 331e5cf..40bcaba 100644
--- a/recipes-devtools/clang/clang_git.bb
+++ b/recipes-devtools/clang/clang_git.bb
@@ -10,6 +10,18 @@ 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"
14OECMAKE_NATIVE_CXX_COMPILER_class-nativesdk = "clang++ -static-libgcc"
15OECMAKE_NATIVE_AR_class-nativesdk = "llvm-ar"
16OECMAKE_NATIVE_RANLIB_class-nativesdk = "llvm-ranlib"
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
13inherit cmake cmake-native 25inherit cmake cmake-native
14 26
15OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" 27OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
@@ -45,7 +57,7 @@ def get_clang_experimental_target_arch(bb, d):
45 57
46PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)}" 58PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)}"
47PACKAGECONFIG_class-native = "" 59PACKAGECONFIG_class-native = ""
48PACKAGECONFIG_class-nativesdk = "thin-lto ${@bb.utils.filter('DISTRO_FEATURES', 'full-lto', d)}" 60PACKAGECONFIG_class-nativesdk = "thin-lto"
49 61
50PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx" 62PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx"
51PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" 63PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx"
@@ -79,6 +91,7 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \
79 -DCMAKE_BUILD_TYPE=Release \ 91 -DCMAKE_BUILD_TYPE=Release \
80 -DBUILD_SHARED_LIBS=OFF \ 92 -DBUILD_SHARED_LIBS=OFF \
81 -DLLVM_ENABLE_PROJECTS='clang;lld' \ 93 -DLLVM_ENABLE_PROJECTS='clang;lld' \
94 -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR} \
82 -G Ninja ${S}/llvm \ 95 -G Ninja ${S}/llvm \
83" 96"
84 97
@@ -87,12 +100,12 @@ EXTRA_OECMAKE_append_class-native = "\
87 -DCLANG_BOOTSTRAP_PASSTHROUGH='${PASSTHROUGH}' \ 100 -DCLANG_BOOTSTRAP_PASSTHROUGH='${PASSTHROUGH}' \
88 -DBOOTSTRAP_LLVM_ENABLE_LTO=Thin \ 101 -DBOOTSTRAP_LLVM_ENABLE_LTO=Thin \
89 -DBOOTSTRAP_LLVM_ENABLE_LLD=ON \ 102 -DBOOTSTRAP_LLVM_ENABLE_LLD=ON \
90 -DBOOTSTRAP_LLVM_BINUTILS_INCDIR=${STAGING_INCDIR} \
91 -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \ 103 -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \
92 -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \ 104 -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \
93" 105"
94EXTRA_OECMAKE_append_class-nativesdk = "\ 106EXTRA_OECMAKE_append_class-nativesdk = "\
95 -DCMAKE_CROSSCOMPILING:BOOL=ON \ 107 -DCMAKE_CROSSCOMPILING:BOOL=ON \
108 -DLLVM_ENABLE_LLD=ON \
96 -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \ 109 -DCROSS_TOOLCHAIN_FLAGS_NATIVE='-DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain-native.cmake' \
97 -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \ 110 -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \
98 -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \ 111 -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \
@@ -116,9 +129,9 @@ EXTRA_OECMAKE_append_class-target_riscv64 = "\
116EXTRA_OECMAKE_append_class-target_riscv32 = "\ 129EXTRA_OECMAKE_append_class-target_riscv32 = "\
117 -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \ 130 -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \
118" 131"
119DEPENDS = "zlib libffi libxml2 ninja-native" 132DEPENDS = "binutils zlib libffi libxml2 ninja-native"
120DEPENDS_append_class-nativesdk = " clang-native virtual/${TARGET_PREFIX}binutils-crosssdk virtual/${TARGET_PREFIX}gcc-crosssdk virtual/${TARGET_PREFIX}g++-crosssdk" 133DEPENDS_append_class-nativesdk = " clang-crosssdk-${SDK_ARCH} virtual/${TARGET_PREFIX}binutils-crosssdk"
121DEPENDS_append_class-target = " clang-cross-${TARGET_ARCH} ${@bb.utils.contains('TOOLCHAIN', 'gcc', 'virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++', '', d)}" 134DEPENDS_append_class-target = " clang-cross-${TARGET_ARCH}"
122 135
123BOOTSTRAPSTAGE ?= "" 136BOOTSTRAPSTAGE ?= ""
124BOOTSTRAPSTAGE_class-native = "stage2" 137BOOTSTRAPSTAGE_class-native = "stage2"
@@ -126,12 +139,11 @@ INSTALLTARGET ?= "install"
126INSTALLTARGET_class-native = "stage2-install" 139INSTALLTARGET_class-native = "stage2-install"
127PASSTRHOUGH ?= "" 140PASSTRHOUGH ?= ""
128PASSTHROUGH_class-native = "\ 141PASSTHROUGH_class-native = "\
129CLANG_DEFAULT_RTLIB;CLANG_DEFAULT_CXX_STDLIB;LLVM_ENABLE_LTO;LLVM_BUILD_LLVM_DYLIB;\ 142CLANG_DEFAULT_RTLIB;CLANG_DEFAULT_CXX_STDLIB;LLVM_BUILD_LLVM_DYLIB;LLVM_LINK_LLVM_DYLIB;\
130LLVM_BINUTILS_INCDIR;LLVM_LINK_LLVM_DYLIB;\
131LLVM_ENABLE_ASSERTIONS;LLVM_ENABLE_EXPENSIVE_CHECKS;LLVM_ENABLE_PIC;\ 143LLVM_ENABLE_ASSERTIONS;LLVM_ENABLE_EXPENSIVE_CHECKS;LLVM_ENABLE_PIC;\
132LLVM_BINDINGS_LIST;LLVM_ENABLE_FFI;FFI_INCLUDE_DIR;LLVM_OPTIMIZED_TABLEGEN;\ 144LLVM_BINDINGS_LIST;LLVM_ENABLE_FFI;FFI_INCLUDE_DIR;LLVM_OPTIMIZED_TABLEGEN;\
133LLVM_ENABLE_RTTI;LLVM_ENABLE_EH;LLVM_BUILD_EXTERNAL_COMPILER_RT;CMAKE_SYSTEM_NAME;\ 145LLVM_ENABLE_RTTI;LLVM_ENABLE_EH;LLVM_BUILD_EXTERNAL_COMPILER_RT;CMAKE_SYSTEM_NAME;\
134CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;\ 146CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_BINUTILS_INCDIR;\
135LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;\ 147LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;\
136" 148"
137 149
@@ -172,6 +184,7 @@ FILES_${PN} += "\
172 ${libdir}/BugpointPasses.so \ 184 ${libdir}/BugpointPasses.so \
173 ${libdir}/LLVMHello.so \ 185 ${libdir}/LLVMHello.so \
174 ${libdir}/TestPlugin.so \ 186 ${libdir}/TestPlugin.so \
187 ${libdir}/LLVMgold.so \
175 ${datadir}/scan-* \ 188 ${datadir}/scan-* \
176 ${datadir}/opt-viewer/ \ 189 ${datadir}/opt-viewer/ \
177" 190"