diff options
Diffstat (limited to 'recipes-devtools')
-rw-r--r-- | recipes-devtools/clang/clang_git.bb | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb index 52d013d..84ba357 100644 --- a/recipes-devtools/clang/clang_git.bb +++ b/recipes-devtools/clang/clang_git.bb | |||
@@ -44,10 +44,10 @@ def get_clang_experimental_target_arch(bb, d): | |||
44 | return get_clang_experimental_arch(bb, d, 'TARGET_ARCH') | 44 | return get_clang_experimental_arch(bb, d, 'TARGET_ARCH') |
45 | 45 | ||
46 | PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)}" | 46 | PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)}" |
47 | PACKAGECONFIG_class-native = "thin-lto ${@bb.utils.filter('DISTRO_FEATURES', 'full-lto', d)}" | 47 | PACKAGECONFIG_class-native = "" |
48 | PACKAGECONFIG_class-nativesdk = "compiler-rt libcplusplus thin-lto ${@bb.utils.filter('DISTRO_FEATURES', 'full-lto', d)}" | 48 | PACKAGECONFIG_class-nativesdk = "compiler-rt libcplusplus thin-lto ${@bb.utils.filter('DISTRO_FEATURES', 'full-lto', d)}" |
49 | 49 | ||
50 | PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,compiler-rt" | 50 | PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx" |
51 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" | 51 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" |
52 | PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," | 52 | PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," |
53 | PACKAGECONFIG[full-lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," | 53 | PACKAGECONFIG[full-lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," |
@@ -83,6 +83,10 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ | |||
83 | " | 83 | " |
84 | 84 | ||
85 | EXTRA_OECMAKE_append_class-native = "\ | 85 | EXTRA_OECMAKE_append_class-native = "\ |
86 | -DCLANG_ENABLE_BOOTSTRAP=On \ | ||
87 | -DCLANG_BOOTSTRAP_PASSTHROUGH='${PASSTHROUGH}' \ | ||
88 | -DBOOTSTRAP_LLVM_ENABLE_LTO=Thin \ | ||
89 | -DBOOTSTRAP_LLVM_BINUTILS_INCDIR=${STAGING_INCDIR} \ | ||
86 | -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \ | 90 | -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \ |
87 | -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \ | 91 | -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \ |
88 | " | 92 | " |
@@ -115,14 +119,29 @@ DEPENDS = "zlib libffi libxml2 ninja-native" | |||
115 | DEPENDS_append_class-nativesdk = " clang-native virtual/${TARGET_PREFIX}binutils-crosssdk virtual/${TARGET_PREFIX}gcc-crosssdk virtual/${TARGET_PREFIX}g++-crosssdk" | 119 | DEPENDS_append_class-nativesdk = " clang-native virtual/${TARGET_PREFIX}binutils-crosssdk virtual/${TARGET_PREFIX}gcc-crosssdk virtual/${TARGET_PREFIX}g++-crosssdk" |
116 | DEPENDS_append_class-target = " clang-cross-${TARGET_ARCH} ${@bb.utils.contains('TOOLCHAIN', 'gcc', 'virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++', '', d)}" | 120 | DEPENDS_append_class-target = " clang-cross-${TARGET_ARCH} ${@bb.utils.contains('TOOLCHAIN', 'gcc', 'virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++', '', d)}" |
117 | 121 | ||
122 | BOOTSTRAPSTAGE ?= "" | ||
123 | BOOTSTRAPSTAGE_class-native = "stage2" | ||
124 | INSTALLTARGET ?= "install" | ||
125 | INSTALLTARGET_class-native = "stage2-install" | ||
126 | PASSTRHOUGH ?= "" | ||
127 | PASSTHROUGH_class-native = "\ | ||
128 | CLANG_DEFAULT_RTLIB;CLANG_DEFAULT_CXX_STDLIB;LLVM_ENABLE_LTO;LLVM_BUILD_LLVM_DYLIB;\ | ||
129 | LLVM_BINUTILS_INCDIR;LLVM_LINK_LLVM_DYLIB;\ | ||
130 | LLVM_ENABLE_ASSERTIONS;LLVM_ENABLE_EXPENSIVE_CHECKS;LLVM_ENABLE_PIC;\ | ||
131 | LLVM_BINDINGS_LIST;LLVM_ENABLE_FFI;FFI_INCLUDE_DIR;LLVM_OPTIMIZED_TABLEGEN;\ | ||
132 | LLVM_ENABLE_RTTI;LLVM_ENABLE_EH;LLVM_BUILD_EXTERNAL_COMPILER_RT;CMAKE_SYSTEM_NAME;\ | ||
133 | CMAKE_BUILD_TYPE;BUILD_SHARED_LIBS;LLVM_ENABLE_PROJECTS;\ | ||
134 | LLVM_TARGETS_TO_BUILD;LLVM_EXPERIMENTAL_TARGETS_TO_BUILD;\ | ||
135 | " | ||
136 | |||
118 | RRECOMMENDS_${PN} = "binutils" | 137 | RRECOMMENDS_${PN} = "binutils" |
119 | 138 | ||
120 | do_compile() { | 139 | do_compile() { |
121 | ninja ${PARALLEL_MAKE} | 140 | ninja ${PARALLEL_MAKE} ${BOOTSTRAPSTAGE} |
122 | } | 141 | } |
123 | 142 | ||
124 | do_install() { | 143 | do_install() { |
125 | DESTDIR=${D} ninja ${PARALLEL_MAKE} install | 144 | DESTDIR=${D} ninja ${PARALLEL_MAKE} ${INSTALLTARGET} |
126 | } | 145 | } |
127 | 146 | ||
128 | do_install_append_class-native () { | 147 | do_install_append_class-native () { |
@@ -174,4 +193,3 @@ INSANE_SKIP_${PN}-dev += "dev-elf" | |||
174 | SSTATE_SCAN_FILES_remove = "*-config" | 193 | SSTATE_SCAN_FILES_remove = "*-config" |
175 | 194 | ||
176 | TOOLCHAIN = "clang" | 195 | TOOLCHAIN = "clang" |
177 | |||