diff options
Diffstat (limited to 'recipes-devtools/clang/clang_git.bb')
-rw-r--r-- | recipes-devtools/clang/clang_git.bb | 29 |
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 | ||
11 | INHIBIT_DEFAULT_DEPS = "1" | 11 | INHIBIT_DEFAULT_DEPS = "1" |
12 | 12 | ||
13 | OECMAKE_NATIVE_C_COMPILER_class-nativesdk = "clang -static-libgcc" | ||
14 | OECMAKE_NATIVE_CXX_COMPILER_class-nativesdk = "clang++ -static-libgcc" | ||
15 | OECMAKE_NATIVE_AR_class-nativesdk = "llvm-ar" | ||
16 | OECMAKE_NATIVE_RANLIB_class-nativesdk = "llvm-ranlib" | ||
17 | OECMAKE_NATIVE_NM_class-nativesdk = "llvm-nm" | ||
18 | TOOLCHAIN_OPTIONS_append_class-nativesdk = " -static-libgcc" | ||
19 | |||
20 | CC_class-nativesdk = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | ||
21 | CXX_class-nativesdk = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | ||
22 | CPP_class-nativesdk = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} -E" | ||
23 | CCLD_class-nativesdk = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | ||
24 | |||
13 | inherit cmake cmake-native | 25 | inherit cmake cmake-native |
14 | 26 | ||
15 | OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" | 27 | OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH" |
@@ -45,7 +57,7 @@ def get_clang_experimental_target_arch(bb, d): | |||
45 | 57 | ||
46 | PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)}" | 58 | PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)}" |
47 | PACKAGECONFIG_class-native = "" | 59 | PACKAGECONFIG_class-native = "" |
48 | PACKAGECONFIG_class-nativesdk = "thin-lto ${@bb.utils.filter('DISTRO_FEATURES', 'full-lto', d)}" | 60 | PACKAGECONFIG_class-nativesdk = "thin-lto" |
49 | 61 | ||
50 | PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx" | 62 | PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx" |
51 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" | 63 | PACKAGECONFIG[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 | " |
94 | EXTRA_OECMAKE_append_class-nativesdk = "\ | 106 | EXTRA_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 = "\ | |||
116 | EXTRA_OECMAKE_append_class-target_riscv32 = "\ | 129 | EXTRA_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 | " |
119 | DEPENDS = "zlib libffi libxml2 ninja-native" | 132 | DEPENDS = "binutils zlib libffi libxml2 ninja-native" |
120 | DEPENDS_append_class-nativesdk = " clang-native virtual/${TARGET_PREFIX}binutils-crosssdk virtual/${TARGET_PREFIX}gcc-crosssdk virtual/${TARGET_PREFIX}g++-crosssdk" | 133 | DEPENDS_append_class-nativesdk = " clang-crosssdk-${SDK_ARCH} virtual/${TARGET_PREFIX}binutils-crosssdk" |
121 | DEPENDS_append_class-target = " clang-cross-${TARGET_ARCH} ${@bb.utils.contains('TOOLCHAIN', 'gcc', 'virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++', '', d)}" | 134 | DEPENDS_append_class-target = " clang-cross-${TARGET_ARCH}" |
122 | 135 | ||
123 | BOOTSTRAPSTAGE ?= "" | 136 | BOOTSTRAPSTAGE ?= "" |
124 | BOOTSTRAPSTAGE_class-native = "stage2" | 137 | BOOTSTRAPSTAGE_class-native = "stage2" |
@@ -126,12 +139,11 @@ INSTALLTARGET ?= "install" | |||
126 | INSTALLTARGET_class-native = "stage2-install" | 139 | INSTALLTARGET_class-native = "stage2-install" |
127 | PASSTRHOUGH ?= "" | 140 | PASSTRHOUGH ?= "" |
128 | PASSTHROUGH_class-native = "\ | 141 | PASSTHROUGH_class-native = "\ |
129 | CLANG_DEFAULT_RTLIB;CLANG_DEFAULT_CXX_STDLIB;LLVM_ENABLE_LTO;LLVM_BUILD_LLVM_DYLIB;\ | 142 | CLANG_DEFAULT_RTLIB;CLANG_DEFAULT_CXX_STDLIB;LLVM_BUILD_LLVM_DYLIB;LLVM_LINK_LLVM_DYLIB;\ |
130 | LLVM_BINUTILS_INCDIR;LLVM_LINK_LLVM_DYLIB;\ | ||
131 | LLVM_ENABLE_ASSERTIONS;LLVM_ENABLE_EXPENSIVE_CHECKS;LLVM_ENABLE_PIC;\ | 143 | LLVM_ENABLE_ASSERTIONS;LLVM_ENABLE_EXPENSIVE_CHECKS;LLVM_ENABLE_PIC;\ |
132 | LLVM_BINDINGS_LIST;LLVM_ENABLE_FFI;FFI_INCLUDE_DIR;LLVM_OPTIMIZED_TABLEGEN;\ | 144 | LLVM_BINDINGS_LIST;LLVM_ENABLE_FFI;FFI_INCLUDE_DIR;LLVM_OPTIMIZED_TABLEGEN;\ |
133 | LLVM_ENABLE_RTTI;LLVM_ENABLE_EH;LLVM_BUILD_EXTERNAL_COMPILER_RT;CMAKE_SYSTEM_NAME;\ | 145 | LLVM_ENABLE_RTTI;LLVM_ENABLE_EH;LLVM_BUILD_EXTERNAL_COMPILER_RT;CMAKE_SYSTEM_NAME;\ |
134 | CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;\ | 146 | CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;LLVM_BINUTILS_INCDIR;\ |
135 | LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;\ | 147 | LLVM_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 | " |