@@ -1,13 +1,13 @@
config BR2_PACKAGE_CLANG
bool "clang"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future
depends on !BR2_STATIC_LIBS
depends on BR2_USE_WCHAR # std::wstring
- depends on BR2_HOST_GCC_AT_LEAST_5
+ depends on BR2_HOST_GCC_AT_LEAST_7
select BR2_PACKAGE_LLVM
help
Clang is a C/C++, Objective C/C++ and OpenCL C front-end
@@ -15,12 +15,12 @@ config BR2_PACKAGE_CLANG
http://clang.llvm.org
-comment "clang needs a toolchain w/ wchar, threads, C++, gcc >= 5, dynamic library, host gcc >= 5"
+comment "clang needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
- !BR2_TOOLCHAIN_GCC_AT_LEAST_5 \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_7 \
|| BR2_STATIC_LIBS || !BR2_USE_WCHAR \
- || !BR2_HOST_GCC_AT_LEAST_5
+ || !BR2_HOST_GCC_AT_LEAST_7
comment "clang needs a toolchain not affected by GCC bug 64735"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
@@ -1,3 +1,3 @@
# locally calculated
-sha256 0a8288f065d1f57cb6d96da4d2965cbea32edc572aa972e466e954d17148558b clang-11.1.0.src.tar.xz
+sha256 96036052694e703d159c995bda203b59d1ff185c6879189b9eba837726e1738c clang-15.0.3.src.tar.xz
sha256 ebcd9bbf783a73d05c53ba4d586b8d5813dcdf3bbec50265860ccc885e606f47 LICENSE.TXT
@@ -17,13 +17,6 @@ CLANG_INSTALL_STAGING = YES
HOST_CLANG_DEPENDENCIES = host-llvm host-libxml2
CLANG_DEPENDENCIES = llvm host-clang
-# LLVM >= 9.0 will soon require C++14 support, building llvm 8.x using a
-# toolchain using gcc < 5.1 gives an error but actually still works. Setting
-# this option makes it still build with gcc >= 4.8.
-# https://reviews.llvm.org/D57264
-HOST_CLANG_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
-CLANG_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
-
# This option is needed, otherwise multiple shared libs
# (libclangAST.so, libclangBasic.so, libclangFrontend.so, etc.) will
# be generated. As a final shared lib containing all these components
@@ -62,6 +55,7 @@ CLANG_CONF_OPTS += \
HOST_CLANG_CONF_OPTS += -DLLVM_DIR=$(HOST_DIR)/lib/cmake/llvm \
-DCLANG_DEFAULT_LINKER=$(TARGET_LD)
CLANG_CONF_OPTS += -DLLVM_DIR=$(STAGING_DIR)/usr/lib/cmake/llvm \
+ -DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm \
-DCLANG_TABLEGEN:FILEPATH=$(HOST_DIR)/bin/clang-tblgen \
-DLLVM_TABLEGEN_EXE:FILEPATH=$(HOST_DIR)/bin/llvm-tblgen
@@ -2,7 +2,7 @@ config BR2_PACKAGE_COMPILER_RT
bool "compiler-rt"
depends on BR2_PACKAGE_LLVM
depends on BR2_TOOLCHAIN_USES_GLIBC # asan lib requires
- depends on BR2_HOST_GCC_AT_LEAST_5 # host-clang
+ depends on BR2_HOST_GCC_AT_LEAST_7 # host-clang
help
A collection of runtime libraries primarily used by clang and
llvm to provide builtins, sanitizer runtimes, and profiling
@@ -10,6 +10,6 @@ config BR2_PACKAGE_COMPILER_RT
https://compiler-rt.llvm.org/
-comment "compiler-rt requires llvm to be enabled, a glibc toolchain, host gcc >= 5"
+comment "compiler-rt requires llvm to be enabled, a glibc toolchain, host gcc >= 7"
depends on !BR2_PACKAGE_LLVM
- depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_HOST_GCC_AT_LEAST_5
+ depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_HOST_GCC_AT_LEAST_7
@@ -1,3 +1,3 @@
# Locally computed:
-sha256 def1fc00c764cd3abbba925c712ac38860a756a43b696b291f46fee09e453274 compiler-rt-11.1.0.src.tar.xz
+sha256 db958eee92d1571d8b7f76c1be8513817f1a888dcf6ced88aca871acfb0eeddd compiler-rt-15.0.3.src.tar.xz
sha256 1a8f1058753f1ba890de984e48f0242a3a5c29a6a8f2ed9fd813f36985387e8d LICENSE.TXT
@@ -17,7 +17,8 @@ COMPILER_RT_INSTALL_TARGET = NO
COMPILER_RT_CONF_OPTS=-DCOMPILER_RT_STANDALONE_BUILD=OFF \
-DCOMPILER_RT_STANDALONE_BUILD=ON \
-DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(GNU_TARGET_NAME) \
- -DLLVM_CONFIG_PATH=$(HOST_DIR)/bin/llvm-config
+ -DLLVM_CONFIG_PATH=$(HOST_DIR)/bin/llvm-config \
+ -DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm
# The installation of the target runtime libraries defaults to DESTDIR, however
# host-clang resources directory needs a link so Clang can find the runtime
@@ -1,7 +1,7 @@
config BR2_PACKAGE_LIBCLC
bool "libclc"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
- depends on BR2_HOST_GCC_AT_LEAST_5 # host-llvm
+ depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
help
libclc is an open source, BSD licensed implementation of
the library requirements of the OpenCL C programming language,
@@ -9,6 +9,6 @@ config BR2_PACKAGE_LIBCLC
http://libclc.llvm.org/
-comment "libclc needs host gcc >= 5"
+comment "libclc needs host gcc >= 7"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
- depends on !BR2_HOST_GCC_AT_LEAST_5
+ depends on !BR2_HOST_GCC_AT_LEAST_7
@@ -1,3 +1,3 @@
# locally calculated
-sha256 8f0213e52e2fcaca3dfcc438f05d0e15e9b3c96fd6b0994a802b267dc1047a1d libclc-13.0.1.src.tar.xz
+sha256 07e8a2b31e07a8cc8a976a6bfd87797d2543d5a9530f449755bf5119acbdbe8e libclc-15.0.3.src.tar.xz
sha256 3c536c052db9afd997809e38785c9f2a9e54e2892330fa7c5b438e18a7413479 LICENSE.TXT
@@ -4,7 +4,7 @@
#
################################################################################
-LIBCLC_VERSION = 13.0.1
+LIBCLC_VERSION = $(LLVM_PROJECT_VERSION)
LIBCLC_SITE = $(LLVM_PROJECT_SITE)
LIBCLC_SOURCE = libclc-$(LIBCLC_VERSION).src.tar.xz
LIBCLC_LICENSE = Apache-2.0 with exceptions or MIT
@@ -1,7 +1,7 @@
config BR2_PACKAGE_HOST_LLD
bool "host lld"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS # llvm
- depends on BR2_HOST_GCC_AT_LEAST_5 # host-llvm
+ depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
help
LLD is a linker from the LLVM project that is a drop-in
replacement for system linkers, and runs much faster than
@@ -10,6 +10,6 @@ config BR2_PACKAGE_HOST_LLD
https://lld.llvm.org/
-comment "host lld needs host gcc >= 5"
+comment "host lld needs host gcc >= 7"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
- depends on !BR2_HOST_GCC_AT_LEAST_5
+ depends on !BR2_HOST_GCC_AT_LEAST_7
@@ -1,3 +1,3 @@
# locally calculated
-sha256 017a788cbe1ecc4a949abf10755870519086d058a2e99f438829aef24f0c66ce lld-11.1.0.src.tar.xz
+sha256 cd5d0894a74b957ce78d62212c1df0b3876a7297593aaece6b0512285e3b8732 lld-15.0.3.src.tar.xz
sha256 f7891568956e34643eb6a0db1462db30820d40d7266e2a78063f2fe233ece5a0 LICENSE.TXT
@@ -10,13 +10,7 @@ LLD_SOURCE = lld-$(LLD_VERSION).src.tar.xz
LLD_LICENSE = Apache-2.0 with exceptions
LLD_LICENSE_FILES = LICENSE.TXT
LLD_SUPPORTS_IN_SOURCE_BUILD = NO
-HOST_LLD_DEPENDENCIES = host-llvm
-
-# LLVM > 9.0 will soon require C++14 support, building llvm <= 9.0 using a
-# toolchain using gcc < 5.1 gives an error but actually still works. Setting
-# this option makes it still build with gcc >= 4.8.
-# https://reviews.llvm.org/D57264
-HOST_LLD_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
+HOST_LLD_DEPENDENCIES = host-llvm host-llvm-libunwind
# build as static libs as is done in llvm & clang
HOST_LLD_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF
@@ -4,7 +4,7 @@
#
################################################################################
-LLVM_CMAKE_VERSION = 15.0.3
+LLVM_CMAKE_VERSION = $(LLVM_PROJECT_VERSION)
LLVM_CMAKE_SITE = $(LLVM_PROJECT_SITE)
LLVM_CMAKE_SOURCE = cmake-$(LLVM_CMAKE_VERSION).src.tar.xz
LLVM_CMAKE_LICENSE = Apache-2.0 with exceptions
@@ -4,7 +4,7 @@
#
################################################################################
-LLVM_LIBUNWIND_VERSION = 15.0.3
+LLVM_LIBUNWIND_VERSION = $(LLVM_PROJECT_VERSION)
LLVM_LIBUNWIND_SITE = $(LLVM_PROJECT_SITE)
LLVM_LIBUNWIND_SOURCE = libunwind-$(LLVM_LIBUNWIND_VERSION).src.tar.xz
LLVM_LIBUNWIND_LICENSE = Apache-2.0 with exceptions
@@ -4,8 +4,8 @@
#
################################################################################
-LLVM_PROJECT_VERSION_MAJOR = 11
-LLVM_PROJECT_VERSION = $(LLVM_PROJECT_VERSION_MAJOR).1.0
+LLVM_PROJECT_VERSION_MAJOR = 15
+LLVM_PROJECT_VERSION = $(LLVM_PROJECT_VERSION_MAJOR).0.3
LLVM_PROJECT_SITE = https://github.com/llvm/llvm-project/releases/download/llvmorg-$(LLVM_PROJECT_VERSION)
include $(sort $(wildcard package/llvm-project/*/*.mk))
deleted file mode 100644
@@ -1,24 +0,0 @@
-From b498303066a63a203d24f739b2d2e0e56dca70d1 Mon Sep 17 00:00:00 2001
-From: serge-sans-paille <sguelton@redhat.com>
-Date: Tue, 10 Nov 2020 14:55:25 +0100
-Subject: [PATCH] [nfc] Fix missing include
-
-[Retrieved (and backported) from:
-https://github.com/llvm/llvm-project/commit/b498303066a63a203d24f739b2d2e0e56dca70d1]
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
----
- llvm/utils/benchmark/src/benchmark_register.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/utils/benchmark/src/benchmark_register.h b/utils/benchmark/src/benchmark_register.h
-index 0705e219f2fa2..4caa5ad4da079 100644
---- a/utils/benchmark/src/benchmark_register.h
-+++ b/utils/benchmark/src/benchmark_register.h
-@@ -1,6 +1,7 @@
- #ifndef BENCHMARK_REGISTER_H
- #define BENCHMARK_REGISTER_H
-
-+#include <limits>
- #include <vector>
-
- #include "check.h"
@@ -17,13 +17,13 @@ config BR2_PACKAGE_LLVM_TARGET_ARCH
config BR2_PACKAGE_LLVM
bool "llvm"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future
depends on !BR2_STATIC_LIBS
depends on BR2_USE_WCHAR # std::wstring
- depends on BR2_HOST_GCC_AT_LEAST_5 # host-llvm
+ depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
help
The LLVM Project is a collection of modular and reusable
compiler and toolchain technologies.
@@ -59,12 +59,12 @@ config BR2_PACKAGE_LLVM_BPF
endif
-comment "llvm needs a toolchain w/ wchar, threads, C++, gcc >= 5, dynamic library, host gcc >= 5"
+comment "llvm needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
- !BR2_TOOLCHAIN_GCC_AT_LEAST_5 \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_7 \
|| BR2_STATIC_LIBS || !BR2_USE_WCHAR \
- || !BR2_HOST_GCC_AT_LEAST_5
+ || !BR2_HOST_GCC_AT_LEAST_7
comment "llvm needs a toolchain not affected by GCC bug 64735"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
@@ -1,3 +1,3 @@
# locally calculated
-sha256 ce8508e318a01a63d4e8b3090ab2ded3c598a50258cc49e2625b9120d4c03ea5 llvm-11.1.0.src.tar.xz
+sha256 c39aec729662416dcbf0bfe53a9786b34e7d93d02908a0779a2f6d83ad0a4a27 llvm-15.0.3.src.tar.xz
sha256 8d85c1057d742e597985c7d4e6320b015a9139385cff4cbae06ffc0ebe89afee LICENSE.TXT
@@ -13,16 +13,16 @@ LLVM_CPE_ID_VENDOR = llvm
LLVM_SUPPORTS_IN_SOURCE_BUILD = NO
LLVM_INSTALL_STAGING = YES
-# LLVM >= 9.0 can use python3 to build.
-HOST_LLVM_DEPENDENCIES = host-python3
+HOST_LLVM_DEPENDENCIES = host-python3 host-llvm-cmake
LLVM_DEPENDENCIES = host-llvm
-# LLVM >= 9.0 will soon require C++14 support, building llvm 8.x using a
-# toolchain using gcc < 5.1 gives an error but actually still works. Setting
-# this option makes it still build with gcc >= 4.8.
-# https://reviews.llvm.org/D57264
-HOST_LLVM_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
-LLVM_CONF_OPTS += -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
+# Path to cmake modules from host-llvm-cmake
+HOST_LLVM_CONF_OPTS += -DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm
+LLVM_CONF_OPTS += -DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm
+
+# Assembly files for x64 in lib/Support/BLAKE3 need to be compiled
+# by a C compiler
+HOST_LLVM_CONF_OPTS += -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)"
# Don't build clang libcxx libcxxabi lldb compiler-rt lld polly as llvm subprojects
# This flag assumes that projects are checked out side-by-side and not nested
@@ -259,7 +259,8 @@ HOST_LLVM_CONF_OPTS += \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DLLVM_INCLUDE_GO_TESTS=OFF \
- -DLLVM_INCLUDE_TESTS=OFF
+ -DLLVM_INCLUDE_TESTS=OFF \
+ -DLLVM_INCLUDE_BENCHMARKS=OFF
LLVM_CONF_OPTS += \
-DLLVM_BUILD_EXAMPLES=OFF \
-DLLVM_BUILD_DOCS=OFF \
@@ -270,7 +271,8 @@ LLVM_CONF_OPTS += \
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INCLUDE_DOCS=OFF \
-DLLVM_INCLUDE_GO_TESTS=OFF \
- -DLLVM_INCLUDE_TESTS=OFF
+ -DLLVM_INCLUDE_TESTS=OFF \
+ -DLLVM_INCLUDE_BENCHMARKS=OFF
# Copy llvm-config (host variant) to STAGING_DIR
# llvm-config (host variant) returns include and lib directories
@@ -24,21 +24,21 @@ config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
config BR2_PACKAGE_MESA3D_LLVM
bool "llvm support"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future
depends on !BR2_STATIC_LIBS
depends on BR2_USE_WCHAR # std::wstring
- depends on BR2_HOST_GCC_AT_LEAST_5 # host-llvm
+ depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
select BR2_PACKAGE_LLVM
-comment "llvm support needs a toolchain w/ wchar, threads, C++, gcc >= 5, dynamic library, host gcc >= 5"
+comment "llvm support needs a toolchain w/ wchar, threads, C++, gcc >= 7, dynamic library, host gcc >= 7"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
- !BR2_TOOLCHAIN_GCC_AT_LEAST_5 \
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_7 \
|| BR2_STATIC_LIBS || !BR2_USE_WCHAR \
- || !BR2_HOST_GCC_AT_LEAST_5
+ || !BR2_HOST_GCC_AT_LEAST_7
comment "llvm support needs a toolchain not affected by GCC bug 64735"
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS