package/llvm-project: bump to version 20.1.5
Release: https://github.com/llvm/llvm-project/releases/tag/llvmorg-20.1.5 Major Changes and Fixes: -- CMake 3.20 minimum required -- Issue encountered during standalone LLVM build: CMake Error at CMakeLists.txt:8 (include): include could not find requested file: This error is due to the line: include(${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake) Upstream commit [1] harmonized policy handling by introducing this shared include for all LLVM sub-projects. However, in the LLVM CMakeLists, LLVM_COMMON_CMAKE_UTILS is set unconditionally, preventing external override — which is required in Buildroot when building from separated archives. To solve this: We apply a patch to wrap the assignment of LLVM_COMMON_CMAKE_UTILS in an `if(NOT DEFINED ...)` block, allowing Buildroot to set the path externally. In the `llvm-cmake` package, we also **adjust the installation path** of the CMake modules: instead of installing directly into `lib/cmake/llvm`, we now install them under `lib/cmake/llvm/Modules` to match the expected layout. This ensures that: LLVM can include `${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake` without errors. -- Also the Clang build system has removed support for the GCC_INSTALL_PREFIX option, raising a fatal error when attempting to use it: CMake Error at CMakeLists.txt:211 (message): GCC_INSTALL_PREFIX is deprecated and will be removed. Use configuration files (https://clang.llvm.org/docs/UsersManual.html#configuration-files) to specify the default --gcc-install-dir= or --gcc-triple=. --gcc-toolchain= is discouraged. See https://github.com/llvm/llvm-project/pull/77537 for details. Remove the use of GCC_INSTALL_PREFIX and replace it with a Clang configuration file as recommended by upstream. A configuration file is now automatically generated at: $(HOST_DIR)/lib/clang/$(CLANG_VERSION_MAJOR)/$(GNU_TARGET_NAME).cfg It contains: --gcc-install-dir=<path to external toolchain's lib/gcc/...> --target=<GNU target triplet> We dynamically detect the GCC install path by scanning $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/lib/gcc/<target>/<version>/ The Clang toolchain wrapper was also updated to add --config=<file> when BR_CLANG_CONFIG_FILE is defined. -- Fix LLVM_MAIN_SRC_DIR path: set(LLVM_MAIN_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../llvm" CACHE PATH ...) This path isn't correct when using standalone archive builds. We explicitly pass LLVM_MAIN_SRC_DIR=$(BUILD_DIR)/llvm-$(LLVM_PROJECT_VERSION) to fix the path. [2] -- Add LLVM_ENABLE_RUNTIMES: Upstream added LLVM_ENABLE_RUNTIMES for runtimes [3] -- Removed LLVM_INCLUDE_GO_TESTS: Upstream dropped this option; we remove it too [4] -- Disable TensorFlow Lite integration: LLVM_HAVE_TFLITE is added to the CMakelist We now explicitly disable it to avoid unexpected TensorFlow Lite dependency. -- Clang introduced CLANG_ENABLE_LIBXML2 [5] We now explicitly disable it by setting CLANG_ENABLE_LIBXLM2=OFF since we set LLVM_ENABLE_LIBXML2 to OFF in LLVM -- Host-python3, which is now always needed by Clang’s resource bundling script. [6] -- Clang explicitly request to disable llvm tests when llvm_gtest is missing.[7] CMake Error at CMakeLists.txt:126 (message): llvm-gtest not found. Please install llvm-gtest or disable tests with -DLLVM_INCLUDE_TESTS=OFF -- Also update the installation path in COMPILER_RT_SETUP_RUNTIME_LIBS to use CLANG_VERSION_MAJOR instead of HOST_CLANG_VERSION, ensuring that the runtime files are placed correctly in the /lib/clang/<major>/ folder. [8] -- Add llvm-runtimes dependency libunwind needs runtimes [9] -- Fix for libclc out of tree patch Due to upstream changes in libclc, the old patch no longer applies. Only the fix related to invoking './prepare_builtins' directly is still relevant and preserved, as it is required to avoid a build failure when the binary is not in PATH. -- Upstream commit [10] removed the use of llvm-config in libclc and replaced it with proper use of LLVM_CMAKE_DIR. We now pass -DLLVM_CMAKE_DIR instead of DLLVM_CONFIG -- Libclc expects to invoke some LLVM tools. We explicitly set LIBCLC_CUSTOM_LLVM_TOOLS_BINARY_DIR to ensure it finds these tools. [11] -- Remove LLAsm_COMPILER and CLC_COMPILER [12] -- LIBUNWIND_INSTALL_HEADERS is On by default [13] -- Update spirv-llvm-translator to align with LLVM 20.1.5 Release: https://github.com/KhronosGroup/SPIRV-LLVM-Translator/releases/tag/v20.1.2 [1]9dd01a5241[2]d2b158e29e[3]176db3b3ab[4]6ce8727248[5]df239a6c17[6]96962d5512[7]8216910395[8]e1b88c8a09[9]0af67d167d[10]b264787453[11]0aeeff3059[12]72f9881c3f[13]f8409af354Signed-off-by: El Mehdi YOUNES <elmehdi.younes@smile.fr> Signed-off-by: Bernd Kuhls <bernd@kuhls.net> [Bernd: rebased, removed gcc-15 patches for llvm 15, bumped to 20.1.5] used 'git describe' to set the version number for spirv-llvm-translator] [Mehdi: changed llvm-runtimes version to $(LLVM_PROJECT_VERSION)] Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
committed by
Julien Olivain
parent
395568599c
commit
e29dae109a
@@ -743,8 +743,6 @@ package/lirc-tools/0002-configure-add-disable-doc-option.patch lib_patch.Upstrea
|
||||
package/lirc-tools/S25lircd lib_sysv.Indent lib_sysv.Variables
|
||||
package/live555/0001-Add-a-pkg-config-file-for-the-shared-libraries.patch lib_patch.Upstream
|
||||
package/lldpd/S60lldpd Shellcheck lib_sysv.Indent lib_sysv.Variables
|
||||
package/llvm-project/clang/0001-lib-Driver-ToolChains-Gnu-Use-GCC_INSTALL_PREFIX-in-.patch lib_patch.Upstream
|
||||
package/llvm-project/libclc/0001-support-out-of-tree-build.patch lib_patch.Upstream
|
||||
package/lm-sensors/0001-static-build.patch lib_patch.Upstream
|
||||
package/lm-sensors/0002-no-host-ldconfig.patch lib_patch.Upstream
|
||||
package/lmbench/0001-scripts-build-use-bin-bash-as-shell.patch lib_patch.Upstream
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
From fe21cede3939a435d62efbd5799547fab6af1b0a Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@smile.fr>
|
||||
Date: Mon, 5 Aug 2019 16:06:48 +0200
|
||||
Subject: [PATCH] lib/Driver/ToolChains/Gnu: Use GCC_INSTALL_PREFIX in the set
|
||||
of prefixes for searching the gcc toolchain
|
||||
|
||||
By default, the Gnu Toolchains driver is looking at the parent
|
||||
directory while looking for the gcc toolchain when clang is installed
|
||||
at "D.InstalledDir"
|
||||
|
||||
But this doesn't work with Buildroot since the external
|
||||
toolchain is installed in host/opt/ext-toolchain and the sysroot is
|
||||
moved to host/<arch>-buildroot-linux-gnu/sysroot/ directory.
|
||||
|
||||
We tried by setting GCC_INSTALL_PREFIX in clang.mk for host-clang
|
||||
but it doesn't work since we already provide a sysroot [1].
|
||||
|
||||
Help the Gnu Toolchains driver by using GCC_INSTALL_PREFIX path.
|
||||
|
||||
Since we want to be able to relocate the clang toolchain,
|
||||
allow to use a relative path with GCC_INSTALL_PREFIX.
|
||||
|
||||
Buildroot will provide such relative path by using:
|
||||
HOST_CLANG_CONF_OPTS += -DGCC_INSTALL_PREFIX:PATH=`realpath --relative-to=$(HOST_DIR)/bin/ $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)`
|
||||
|
||||
Doing so allow to use clang without providing additional search
|
||||
paths with -B option on the clang's command line.
|
||||
|
||||
[1] https://reviews.llvm.org/D49244
|
||||
[2] http://lists.busybox.net/pipermail/buildroot/2019-August/256204.html
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@smile.fr>
|
||||
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
|
||||
---
|
||||
Pending, access to llvm mailing lists to submit it is pending. They
|
||||
seem to be having issues with their listserv.
|
||||
---
|
||||
lib/Driver/ToolChains/Gnu.cpp | 17 +++++++++++++++++
|
||||
1 file changed, 17 insertions(+)
|
||||
|
||||
diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
||||
index 2ad45097dc..90d6b5b748 100644
|
||||
--- a/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -1725,6 +1725,8 @@ void Generic_GCC::GCCInstallationDetector::init(
|
||||
|
||||
Prefixes.push_back(std::string(GCCToolchainDir));
|
||||
} else {
|
||||
+ StringRef GccIinstallPrefix = GCC_INSTALL_PREFIX;
|
||||
+
|
||||
// If we have a SysRoot, try that first.
|
||||
if (!D.SysRoot.empty()) {
|
||||
Prefixes.push_back(D.SysRoot);
|
||||
@@ -1734,6 +1736,21 @@ void Generic_GCC::GCCInstallationDetector::init(
|
||||
// Then look for gcc installed alongside clang.
|
||||
Prefixes.push_back(D.InstalledDir + "/..");
|
||||
|
||||
+ // Use GCC_INSTALL_PREFIX if provided by the buildsystem.
|
||||
+ if (!GccIinstallPrefix.empty())
|
||||
+ {
|
||||
+ if (llvm::sys::path::is_relative(GccIinstallPrefix))
|
||||
+ {
|
||||
+ // Use a relative path to gcc from clang install path.
|
||||
+ Prefixes.push_back(D.InstalledDir + "/" + GccIinstallPrefix.str());
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ // Hardcode the absolute path provided by GCC_INSTALL_PREFIX.
|
||||
+ Prefixes.push_back(GCC_INSTALL_PREFIX);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
// Next, look for prefix(es) that correspond to distribution-supplied gcc
|
||||
// installations.
|
||||
if (D.SysRoot.empty()) {
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -8,6 +8,7 @@ config BR2_PACKAGE_CLANG
|
||||
depends on !BR2_STATIC_LIBS
|
||||
depends on BR2_USE_WCHAR # std::wstring
|
||||
depends on BR2_HOST_GCC_AT_LEAST_7
|
||||
select BR2_HOST_CMAKE_AT_LEAST_3_20 # cmake required version at least 3.20
|
||||
select BR2_PACKAGE_LLVM
|
||||
help
|
||||
Clang is a C/C++, Objective C/C++ and OpenCL C front-end
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# locally calculated
|
||||
sha256 a6b673ef15377fb46062d164e8ddc4d05c348ff8968f015f7f4af03f51000067 clang-15.0.7.src.tar.xz
|
||||
sha256 97025772b25c6694db049d3c4be5a72d926299aa1a9b861f490d66750e31c9dd clang-20.1.5.src.tar.xz
|
||||
sha256 ebcd9bbf783a73d05c53ba4d586b8d5813dcdf3bbec50265860ccc885e606f47 LICENSE.TXT
|
||||
|
||||
@@ -14,9 +14,12 @@ CLANG_CPE_ID_VENDOR = llvm
|
||||
CLANG_SUPPORTS_IN_SOURCE_BUILD = NO
|
||||
CLANG_INSTALL_STAGING = YES
|
||||
|
||||
HOST_CLANG_DEPENDENCIES = host-llvm host-libxml2
|
||||
HOST_CLANG_DEPENDENCIES = host-llvm host-libxml2 host-python3
|
||||
CLANG_DEPENDENCIES = llvm host-clang
|
||||
|
||||
# since we have LLVM_ENABLE_LIBXML2=OFF, set CLANG_ENABLE_LIBXML2=OFF
|
||||
CLANG_CONF_OPTS += -DCLANG_ENABLE_LIBXML2=OFF
|
||||
|
||||
# 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
|
||||
@@ -45,12 +48,14 @@ CLANG_CONF_OPTS += -DCLANG_BUILD_TOOLS=ON
|
||||
HOST_CLANG_CONF_OPTS += \
|
||||
-DCLANG_BUILD_EXAMPLES=OFF \
|
||||
-DCLANG_INCLUDE_DOCS=OFF \
|
||||
-DCLANG_INCLUDE_TESTS=OFF
|
||||
-DCLANG_INCLUDE_TESTS=OFF \
|
||||
-DLLVM_INCLUDE_TESTS=OFF
|
||||
|
||||
CLANG_CONF_OPTS += \
|
||||
-DCLANG_BUILD_EXAMPLES=OFF \
|
||||
-DCLANG_INCLUDE_DOCS=OFF \
|
||||
-DCLANG_INCLUDE_TESTS=OFF
|
||||
-DCLANG_INCLUDE_TESTS=OFF \
|
||||
-DLLVM_INCLUDE_TESTS=OFF
|
||||
|
||||
HOST_CLANG_CONF_OPTS += -DLLVM_DIR=$(HOST_DIR)/lib/cmake/llvm \
|
||||
-DCLANG_DEFAULT_LINKER=$(TARGET_LD)
|
||||
@@ -59,6 +64,12 @@ CLANG_CONF_OPTS += -DLLVM_DIR=$(STAGING_DIR)/usr/lib/cmake/llvm \
|
||||
-DCLANG_TABLEGEN:FILEPATH=$(HOST_DIR)/bin/clang-tblgen \
|
||||
-DLLVM_TABLEGEN_EXE:FILEPATH=$(HOST_DIR)/bin/llvm-tblgen
|
||||
|
||||
HOST_CLANG_CONF_OPTS += -DLLVM_COMMON_CMAKE_UTILS=$(HOST_DIR)/lib/cmake/llvm
|
||||
CLANG_CONF_OPTS += -DLLVM_COMMON_CMAKE_UTILS=$(HOST_DIR)/lib/cmake/llvm
|
||||
|
||||
+HOST_CLANG_CONF_OPTS += -DLLVM_MAIN_SRC_DIR=$(BUILD_DIR)/llvm-$(LLVM_PROJECT_VERSION)
|
||||
+CLANG_CONF_OPTS += -DLLVM_MAIN_SRC_DIR=$(BUILD_DIR)/llvm-$(LLVM_PROJECT_VERSION)
|
||||
|
||||
# Clang can't be used as compiler on the target since there are no
|
||||
# development files (headers) and other build tools. So remove clang
|
||||
# binaries and some other unnecessary files from target.
|
||||
@@ -102,7 +113,15 @@ CLANG_CONF_OPTS += -DLLVM_DYLIB_COMPONENTS=all
|
||||
# installation directory to the external toolchain installation directory in order to
|
||||
# not hardcode the toolchain absolute path.
|
||||
ifeq ($(BR2_TOOLCHAIN_EXTERNAL),y)
|
||||
HOST_CLANG_CONF_OPTS += -DGCC_INSTALL_PREFIX:PATH=`realpath --relative-to=$(HOST_DIR)/bin/ $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)`
|
||||
define HOST_CLANG_INSTALL_CONFIG_FILE
|
||||
mkdir -p $(HOST_DIR)/lib/clang/$(CLANG_VERSION_MAJOR)
|
||||
touch $(HOST_DIR)/lib/clang/$(CLANG_VERSION_MAJOR)/$(GNU_TARGET_NAME).cfg
|
||||
echo "--gcc-install-dir=$(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/lib/gcc/$$(ls $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/lib/gcc/)/$$(ls $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/lib/gcc/$$(ls $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/lib/gcc/)/)" > $(HOST_DIR)/lib/clang/$(CLANG_VERSION_MAJOR)/$(GNU_TARGET_NAME).cfg
|
||||
echo "--target=$(GNU_TARGET_NAME)" >> $(HOST_DIR)/lib/clang/$(CLANG_VERSION_MAJOR)/$(GNU_TARGET_NAME).cfg
|
||||
endef
|
||||
|
||||
HOST_CLANG_POST_INSTALL_HOOKS += HOST_CLANG_INSTALL_CONFIG_FILE
|
||||
HOST_CLANG_TOOLCHAIN_WRAPPER_ARGS += -DBR_CLANG_CONFIG_FILE="\"--config=$(HOST_DIR)/lib/clang/$(CLANG_VERSION_MAJOR)/$(GNU_TARGET_NAME).cfg\""
|
||||
endif
|
||||
|
||||
define HOST_CLANG_INSTALL_WRAPPER_AND_SIMPLE_SYMLINKS
|
||||
|
||||
@@ -4,6 +4,7 @@ config BR2_PACKAGE_COMPILER_RT
|
||||
depends on BR2_TOOLCHAIN_USES_GLIBC # asan lib requires
|
||||
depends on BR2_HOST_GCC_AT_LEAST_7 # host-clang
|
||||
select BR2_PACKAGE_LIBXCRYPT
|
||||
select BR2_HOST_CMAKE_AT_LEAST_3_20 # cmake required version at least 3.20
|
||||
help
|
||||
A collection of runtime libraries primarily used by clang and
|
||||
llvm to provide builtins, sanitizer runtimes, and profiling
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# Locally computed:
|
||||
sha256 353832c66cce60931ea0413b3c071faad59eefa70d02c97daa8978b15e4b25b7 compiler-rt-15.0.7.src.tar.xz
|
||||
sha256 bdcebca627f377ffcff5405cd5694efbddb14c89ad7d0ea481b1646a42bfeca3 compiler-rt-20.1.5.src.tar.xz
|
||||
sha256 1a8f1058753f1ba890de984e48f0242a3a5c29a6a8f2ed9fd813f36985387e8d LICENSE.TXT
|
||||
|
||||
@@ -20,7 +20,8 @@ COMPILER_RT_CONF_OPTS = \
|
||||
-DCOMPILER_RT_STANDALONE_BUILD=ON \
|
||||
-DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(GNU_TARGET_NAME) \
|
||||
-DLLVM_CONFIG_PATH=$(HOST_DIR)/bin/llvm-config \
|
||||
-DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm
|
||||
-DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm \
|
||||
-DLLVM_COMMON_CMAKE_UTILS=$(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
|
||||
@@ -29,9 +30,9 @@ COMPILER_RT_CONF_OPTS = \
|
||||
# assumed, as compiler-rt is usually build at the same time as Clang and not
|
||||
# standalone.
|
||||
define COMPILER_RT_SETUP_RUNTIME_LIBS
|
||||
mkdir -p $(HOST_DIR)/lib/clang/$(HOST_CLANG_VERSION)/lib
|
||||
ln -sf ../../../../$(GNU_TARGET_NAME)/sysroot/usr/lib/linux $(HOST_DIR)/lib/clang/$(HOST_CLANG_VERSION)/lib/linux
|
||||
ln -sf ../../../../$(GNU_TARGET_NAME)/sysroot/usr/share $(HOST_DIR)/lib/clang/$(HOST_CLANG_VERSION)/share
|
||||
mkdir -p $(HOST_DIR)/lib/clang/$(CLANG_VERSION_MAJOR)/lib
|
||||
ln -sf ../../../../$(GNU_TARGET_NAME)/sysroot/usr/lib/linux $(HOST_DIR)/lib/clang/$(CLANG_VERSION_MAJOR)/lib/linux
|
||||
ln -sf ../../../../$(GNU_TARGET_NAME)/sysroot/usr/share $(HOST_DIR)/lib/clang/$(CLANG_VERSION_MAJOR)/share
|
||||
endef
|
||||
COMPILER_RT_POST_INSTALL_STAGING_HOOKS += COMPILER_RT_SETUP_RUNTIME_LIBS
|
||||
|
||||
|
||||
@@ -1,71 +1,32 @@
|
||||
From 495491e9d53bfb184c15753b5187e4bb55b19511 Mon Sep 17 00:00:00 2001
|
||||
From: Matt Weber <matthew.weber@rockwellcollins.com>
|
||||
Date: Tue, 9 Mar 2021 15:55:17 -0600
|
||||
From a435f3c9318935ba29b04dabe7342cd6160711e0 Mon Sep 17 00:00:00 2001
|
||||
From: El Mehdi YOUNES <elmehdi.younes@smile.fr>
|
||||
Date: Thu, 15 May 2025 10:02:12 +0200
|
||||
Subject: [PATCH] support out of tree build
|
||||
|
||||
(1) The package has a prepare_builtins tool which is built
|
||||
prepare_builtins tool is built
|
||||
but not placed in the path for later use in the build. This
|
||||
fix allows the later build steps to use the binary in-place.
|
||||
|
||||
(2) With cmake, find_file() when used for non-host builds is
|
||||
limited by CMAKE_FIND_ROOT_PATH* scope.
|
||||
Upstream: Not submitted
|
||||
|
||||
In $(HOST_DIR)/share/buildroot/toolchainfile.cmake we set the
|
||||
following target settings for CMAKE_FIND_ROOT_PATH* which
|
||||
limit the scope.
|
||||
set(CMAKE_FIND_ROOT_PATH "${RELOCATED_HOST_DIR}/aarch64-buildroot-linux-gnu/sysroot")
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||
|
||||
|
||||
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
|
||||
Signed-off-by: El Mehdi YOUNES <elmehdi.younes@smile.fr>
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
cmake/CMakeDetermineCLCCompiler.cmake | 4 ++++
|
||||
cmake/CMakeDetermineLLAsmCompiler.cmake | 4 ++++
|
||||
3 files changed, 9 insertions(+), 1 deletion(-)
|
||||
libclc/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 9472f19..a784519 100644
|
||||
index d651a9bf506b..18bd7efe8217 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -279,7 +279,7 @@ foreach( t ${LIBCLC_TARGETS_TO_BUILD} )
|
||||
|
||||
# Add prepare target
|
||||
add_custom_command( OUTPUT "${obj_suffix}"
|
||||
- COMMAND prepare_builtins -o
|
||||
+ COMMAND ./prepare_builtins -o
|
||||
"${obj_suffix}"
|
||||
"builtins.opt.${obj_suffix}"
|
||||
DEPENDS "opt.${obj_suffix}"
|
||||
diff --git a/cmake/CMakeDetermineCLCCompiler.cmake b/cmake/CMakeDetermineCLCCompiler.cmake
|
||||
index 94d85d9..5de6a48 100644
|
||||
--- a/cmake/CMakeDetermineCLCCompiler.cmake
|
||||
+++ b/cmake/CMakeDetermineCLCCompiler.cmake
|
||||
@@ -12,7 +12,7 @@ mark_as_advanced(CMAKE_CLC_ARCHIVE)
|
||||
|
||||
set(CMAKE_CLC_COMPILER_ENV_VAR "CLC_COMPILER")
|
||||
set(CMAKE_CLC_ARCHIVE_ENV_VAR "CLC_LINKER")
|
||||
-find_file(clc_comp_in CMakeCLCCompiler.cmake.in PATHS ${CMAKE_ROOT}/Modules ${CMAKE_MODULE_PATH})
|
||||
+set(clc_comp_in "${CMAKE_MODULE_PATH}/CMakeCLCCompiler.cmake.in" )
|
||||
# configure all variables set in this file
|
||||
configure_file(${clc_comp_in} ${CMAKE_PLATFORM_INFO_DIR}/CMakeCLCCompiler.cmake @ONLY)
|
||||
mark_as_advanced(clc_comp_in)
|
||||
diff --git a/cmake/CMakeDetermineLLAsmCompiler.cmake b/cmake/CMakeDetermineLLAsmCompiler.cmake
|
||||
index 1c424c7..dd3bfb6 100644
|
||||
--- a/cmake/CMakeDetermineLLAsmCompiler.cmake
|
||||
+++ b/cmake/CMakeDetermineLLAsmCompiler.cmake
|
||||
@@ -18,7 +18,7 @@ mark_as_advanced(CMAKE_LLAsm_ARCHIVE)
|
||||
set(CMAKE_LLAsm_PREPROCESSOR_ENV_VAR "LL_PREPROCESSOR")
|
||||
set(CMAKE_LLAsm_COMPILER_ENV_VAR "LL_ASSEMBLER")
|
||||
set(CMAKE_LLAsm_ARCHIVE_ENV_VAR "LL_LINKER")
|
||||
-find_file(ll_comp_in CMakeLLAsmCompiler.cmake.in PATHS ${CMAKE_ROOT}/Modules ${CMAKE_MODULE_PATH})
|
||||
+set(ll_comp_in "${CMAKE_MODULE_PATH}/CMakeLLAsmCompiler.cmake.in" )
|
||||
# configure all variables set in this file
|
||||
configure_file(${ll_comp_in} ${CMAKE_PLATFORM_INFO_DIR}/CMakeLLAsmCompiler.cmake @ONLY)
|
||||
mark_as_advanced(ll_comp_in)
|
||||
@@ -180,7 +180,7 @@ set(LLVM_LINK_COMPONENTS
|
||||
)
|
||||
if( LIBCLC_STANDALONE_BUILD )
|
||||
add_llvm_executable( prepare_builtins utils/prepare-builtins.cpp )
|
||||
- set( prepare_builtins_exe prepare_builtins )
|
||||
+ set( prepare_builtins_exe ./prepare_builtins )
|
||||
set( prepare_builtins_target prepare_builtins )
|
||||
else()
|
||||
add_llvm_utility( prepare_builtins utils/prepare-builtins.cpp )
|
||||
--
|
||||
2.17.1
|
||||
2.43.0
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ config BR2_PACKAGE_LIBCLC
|
||||
bool "libclc"
|
||||
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
|
||||
depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
|
||||
select BR2_HOST_CMAKE_AT_LEAST_3_20 # cmake required version at least 3.20
|
||||
help
|
||||
libclc is an open source, BSD licensed implementation of
|
||||
the library requirements of the OpenCL C programming language,
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# locally calculated
|
||||
sha256 35731fea7be224f21acf5bf3cd9f0ed058bf4ada5eceaf7f10ee96e139bd3389 libclc-15.0.7.src.tar.xz
|
||||
sha256 7aabcc31eff12bc54778c38752192939df8d983002c961cb1ac97f57e50ccff1 libclc-20.1.5.src.tar.xz
|
||||
sha256 3c536c052db9afd997809e38785c9f2a9e54e2892330fa7c5b438e18a7413479 LICENSE.TXT
|
||||
|
||||
@@ -27,8 +27,6 @@ LIBCLC_CONF_OPTS = \
|
||||
-DCMAKE_SYSROOT="" \
|
||||
-DCMAKE_C_COMPILER_FORCED=ON \
|
||||
-DCMAKE_CXX_COMPILER_FORCED=ON \
|
||||
-DCMAKE_CLC_COMPILER_FORCED=ON \
|
||||
-DCMAKE_LLAsm_COMPILER_FORCED=ON \
|
||||
-DCMAKE_INSTALL_DATADIR="share" \
|
||||
-DCMAKE_FIND_ROOT_PATH="$(HOST_DIR)" \
|
||||
-DCMAKE_C_FLAGS="$(HOST_CFLAGS)" \
|
||||
@@ -38,7 +36,8 @@ LIBCLC_CONF_OPTS = \
|
||||
-DCMAKE_MODULE_LINKER_FLAGS="$(HOST_LDFLAGS)" \
|
||||
-DCMAKE_C_COMPILER="$(CMAKE_HOST_C_COMPILER)" \
|
||||
-DCMAKE_CXX_COMPILER="$(CMAKE_HOST_CXX_COMPILER)" \
|
||||
-DLLVM_CONFIG="$(HOST_DIR)/bin/llvm-config"
|
||||
-DLLVM_CMAKE_DIR="$(HOST_DIR)/lib/cmake/llvm" \
|
||||
-DLIBCLC_CUSTOM_LLVM_TOOLS_BINARY_DIR="$(HOST_DIR)/bin"
|
||||
|
||||
HOST_LIBCLC_CONF_OPTS = \
|
||||
-DLIBCLC_TARGETS_TO_BUILD=spirv64-mesa3d-
|
||||
|
||||
@@ -2,6 +2,7 @@ config BR2_PACKAGE_HOST_LLD
|
||||
bool "host lld"
|
||||
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS # llvm
|
||||
depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
|
||||
select BR2_HOST_CMAKE_AT_LEAST_3_20 # cmake required version at least 3.20
|
||||
help
|
||||
LLD is a linker from the LLVM project that is a drop-in
|
||||
replacement for system linkers, and runs much faster than
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# locally calculated
|
||||
sha256 dba5c70c3fe88b3a38b9180df82fbc9d1dfd55d68f41fddd6a90f9e17f8e5df9 lld-15.0.7.src.tar.xz
|
||||
sha256 4e084130cc51a8b900737cec40578eab867f7e8017121409940d96550784ff12 lld-20.1.5.src.tar.xz
|
||||
sha256 f7891568956e34643eb6a0db1462db30820d40d7266e2a78063f2fe233ece5a0 LICENSE.TXT
|
||||
|
||||
@@ -15,6 +15,8 @@ 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
|
||||
|
||||
HOST_LLD_CONF_OPTS += -DLLVM_COMMON_CMAKE_UTILS=$(HOST_DIR)/lib/cmake/llvm
|
||||
|
||||
# GCC looks for tools in a different path from LLD's default installation path
|
||||
define HOST_LLD_CREATE_SYMLINKS
|
||||
mkdir -p $(HOST_DIR)/$(GNU_TARGET_NAME)/bin
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# locally calculated
|
||||
sha256 8986f29b634fdaa9862eedda78513969fe9788301c9f2d938f4c10a3e7a3e7ea cmake-15.0.7.src.tar.xz
|
||||
sha256 1b5abaa2686c6c0e1f394113d0b2e026ff3cb9e11b6a2294c4f3883f1b02c89c cmake-20.1.5.src.tar.xz
|
||||
|
||||
@@ -10,8 +10,9 @@ LLVM_CMAKE_SOURCE = cmake-$(LLVM_CMAKE_VERSION).src.tar.xz
|
||||
LLVM_CMAKE_LICENSE = Apache-2.0 with exceptions
|
||||
|
||||
define HOST_LLVM_CMAKE_INSTALL_CMDS
|
||||
mkdir -p $(HOST_DIR)/lib/cmake/llvm
|
||||
cp -Rv $(@D)/Modules/* $(HOST_DIR)/lib/cmake/llvm
|
||||
mkdir -p $(HOST_DIR)/lib/cmake/llvm/Modules
|
||||
cp -Rv $(@D)/Modules/* $(HOST_DIR)/lib/cmake/llvm/Modules
|
||||
ln -sf $(HOST_DIR)/lib/cmake/llvm/Modules/* $(HOST_DIR)/lib/cmake/llvm/
|
||||
endef
|
||||
|
||||
$(eval $(host-generic-package))
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# locally computed
|
||||
sha256 406d199ae3a16add84017f40458a5e7c31f9412937fcb518715af0a0eeafbc0c libunwind-15.0.7.src.tar.xz
|
||||
sha256 f0555603222189d8d2ff2d02747c63a3bbeb291fa72ce042c1a6d26399150baf libunwind-20.1.5.src.tar.xz
|
||||
sha256 b5efebcaca80879234098e52d1725e6d9eb8fb96a19fce625d39184b705f7b6d LICENSE.TXT
|
||||
|
||||
@@ -11,9 +11,8 @@ LLVM_LIBUNWIND_LICENSE = Apache-2.0 with exceptions
|
||||
LLVM_LIBUNWIND_LICENSE_FILES = LICENSE.TXT
|
||||
LLVM_LIBUNWIND_SUPPORTS_IN_SOURCE_BUILD = NO
|
||||
|
||||
HOST_LLVM_LIBUNWIND_DEPENDENCIES = host-llvm-cmake
|
||||
HOST_LLVM_LIBUNWIND_DEPENDENCIES = host-llvm-cmake host-llvm-runtimes
|
||||
HOST_LLVM_LIBUNWIND_CONF_OPTS += \
|
||||
-DCMAKE_MODULE_PATH="$(HOST_DIR)/lib/cmake/llvm" \
|
||||
-DLIBUNWIND_INSTALL_HEADERS=ON
|
||||
-DCMAKE_MODULE_PATH="$(HOST_DIR)/lib/cmake/llvm"
|
||||
|
||||
$(eval $(host-cmake-package))
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LLVM_PROJECT_VERSION_MAJOR = 15
|
||||
LLVM_PROJECT_VERSION = $(LLVM_PROJECT_VERSION_MAJOR).0.7
|
||||
LLVM_PROJECT_VERSION_MAJOR = 20
|
||||
LLVM_PROJECT_VERSION = $(LLVM_PROJECT_VERSION_MAJOR).1.5
|
||||
LLVM_PROJECT_SITE = https://github.com/llvm/llvm-project/releases/download/llvmorg-$(LLVM_PROJECT_VERSION)
|
||||
|
||||
include $(sort $(wildcard package/llvm-project/*/*.mk))
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# locally calculated
|
||||
sha256 6394d8f111288c918421756037c10c4f8471325992e37c44cf8811b4e3dde00b runtimes-20.1.3.src.tar.xz
|
||||
sha256 8b3255668594ca3450ac5c041ac52c3c33300873d033cda49529e7fe1d4257e6 runtimes-20.1.5.src.tar.xz
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LLVM_RUNTIMES_VERSION = 20.1.3
|
||||
LLVM_RUNTIMES_VERSION = $(LLVM_PROJECT_VERSION)
|
||||
LLVM_RUNTIMES_SITE = $(LLVM_PROJECT_SITE)
|
||||
LLVM_RUNTIMES_SOURCE = runtimes-$(LLVM_RUNTIMES_VERSION).src.tar.xz
|
||||
LLVM_RUNTIMES_LICENSE = Apache-2.0 with exceptions
|
||||
|
||||
define HOST_LLVM_RUNTIMES_INSTALL_CMDS
|
||||
mkdir -p $(HOST_DIR)/lib/cmake/llvm/Modules
|
||||
cp -Rv $(@D)/cmake/Modules/* $(HOST_DIR)/lib/cmake/llvm
|
||||
mkdir -p $(HOST_DIR)/lib/cmake/llvm/Modules
|
||||
cp -Rv $(@D)/cmake/Modules/* $(HOST_DIR)/lib/cmake/llvm
|
||||
endef
|
||||
|
||||
$(eval $(host-generic-package))
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
From 51d88407c1ae86c3b3c7b497d049f8980f2a3510 Mon Sep 17 00:00:00 2001
|
||||
From: Sam James <sam@gentoo.org>
|
||||
Date: Fri, 2 Aug 2024 23:07:21 +0100
|
||||
Subject: [PATCH] [ADT] Add `<cstdint>` to SmallVector (#101761)
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
SmallVector uses `uint32_t`, `uint64_t` without including `<cstdint>`
|
||||
which fails to build w/ GCC 15 after a change in libstdc++ [0]
|
||||
|
||||
[0] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3a817a4a5a6d94da9127af3be9f84a74e3076ee2
|
||||
|
||||
Gentoo-Component: llvm
|
||||
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
||||
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
|
||||
Upstream: https://bugs.gentoo.org/939498
|
||||
---
|
||||
include/llvm/ADT/SmallVector.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/include/llvm/ADT/SmallVector.h b/include/llvm/ADT/SmallVector.h
|
||||
index e34702bdbb3c..1c0f3465b2a9 100644
|
||||
--- a/include/llvm/ADT/SmallVector.h
|
||||
+++ b/include/llvm/ADT/SmallVector.h
|
||||
@@ -19,6 +19,7 @@
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
#include <cstddef>
|
||||
+#include <cstdint>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <functional>
|
||||
--
|
||||
2.46.0
|
||||
@@ -0,0 +1,49 @@
|
||||
From 255068deb7f3d18837ed30e739aa92c111ab450a Mon Sep 17 00:00:00 2001
|
||||
From: El Mehdi YOUNES <elmehdi.younes@smile.fr>
|
||||
Date: Sat, 10 May 2025 12:55:07 +0200
|
||||
Subject: [PATCH] Fix standalone build for llvm
|
||||
|
||||
Upstream commit 9dd01a5241dc ("Harmonize cmake_policy() across standalone builds of all projects")
|
||||
moved the `cmake_policy()` settings from `llvm/CMakeLists.txt` into a shared
|
||||
`cmake/modules/CMakePolicy.cmake`, and included it from all relevant projects
|
||||
(Clang, LLD, LLDB, etc.) to harmonize standalone builds.
|
||||
|
||||
However, in `llvm/CMakeLists.txt`, unlike other components, the line:
|
||||
set(LLVM_COMMON_CMAKE_UTILS ...)
|
||||
was left **without** the usual:
|
||||
if(NOT DEFINED LLVM_COMMON_CMAKE_UTILS)
|
||||
|
||||
This prevents external build systems (e.g., when using separate source archives)
|
||||
from overriding the `LLVM_COMMON_CMAKE_UTILS` variable, since the value is
|
||||
always reset unconditionally.
|
||||
|
||||
This patch adds the missing `if(NOT DEFINED LLVM_COMMON_CMAKE_UTILS)` guard,
|
||||
in the same way as it is already done in Clang, LLD, etc., to make
|
||||
`LLVM_COMMON_CMAKE_UTILS` properly overridable.
|
||||
|
||||
Upstream: Not submitted
|
||||
|
||||
Signed-off-by: El Mehdi YOUNES <elmehdi.younes@smile.fr>
|
||||
---
|
||||
llvm/CMakeLists.txt | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f5293e866324..d861233f299f 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -4,7 +4,10 @@ cmake_minimum_required(VERSION 3.20.0)
|
||||
|
||||
include(CMakeDependentOption)
|
||||
|
||||
-set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
|
||||
+if(NOT DEFINED LLVM_COMMON_CMAKE_UTILS)
|
||||
+ set(LLVM_COMMON_CMAKE_UTILS ${CMAKE_CURRENT_SOURCE_DIR}/../cmake)
|
||||
+endif()
|
||||
+
|
||||
include(${LLVM_COMMON_CMAKE_UTILS}/Modules/CMakePolicy.cmake
|
||||
NO_POLICY_SCOPE)
|
||||
|
||||
--
|
||||
2.49.0
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
From 000f92beb459096534a7bfaa8c5e99d77b7594c1 Mon Sep 17 00:00:00 2001
|
||||
From: Sam James <sam@gentoo.org>
|
||||
Date: Sat, 3 Aug 2024 06:36:43 +0100
|
||||
Subject: [PATCH] [AMDGPU] Include `<cstdint>` in AMDGPUMCTargetDesc
|
||||
(#101766)
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Gentoo-Component: llvm
|
||||
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
||||
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
|
||||
Upstream: https://bugs.gentoo.org/939498
|
||||
---
|
||||
lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h
|
||||
index c2e2563c3989..53aac8934100 100644
|
||||
--- a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h
|
||||
+++ b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.h
|
||||
@@ -15,6 +15,7 @@
|
||||
#ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCTARGETDESC_H
|
||||
#define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUMCTARGETDESC_H
|
||||
|
||||
+#include <cstdint>
|
||||
#include <memory>
|
||||
|
||||
namespace llvm {
|
||||
--
|
||||
2.46.0
|
||||
@@ -1,31 +0,0 @@
|
||||
From 67fc0069c285b37f09d408aae43c37b8afdf11f7 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
|
||||
Date: Sat, 3 Aug 2024 12:01:20 +0200
|
||||
Subject: [PATCH] Another gcc-15 fix from Sam James
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Bug: https://bugs.gentoo.org/937164
|
||||
Gentoo-Component: llvm
|
||||
Signed-off-by: Michał Górny <mgorny@gentoo.org>
|
||||
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
|
||||
Upstream: https://bugs.gentoo.org/939498
|
||||
---
|
||||
lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h b/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
|
||||
index d0530bd4d650..10b59462aebe 100644
|
||||
--- a/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
|
||||
+++ b/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
|
||||
@@ -13,6 +13,7 @@
|
||||
#ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCTARGETDESC_H
|
||||
#define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86MCTARGETDESC_H
|
||||
|
||||
+#include <cstdint>
|
||||
#include <memory>
|
||||
#include <string>
|
||||
|
||||
--
|
||||
2.46.0
|
||||
@@ -24,6 +24,7 @@ config BR2_PACKAGE_LLVM
|
||||
depends on !BR2_STATIC_LIBS
|
||||
depends on BR2_USE_WCHAR # std::wstring
|
||||
depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm
|
||||
select BR2_HOST_CMAKE_AT_LEAST_3_20 # cmake required version at least 3.20
|
||||
help
|
||||
The LLVM Project is a collection of modular and reusable
|
||||
compiler and toolchain technologies.
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# locally calculated
|
||||
sha256 4ad8b2cc8003c86d0078d15d987d84e3a739f24aae9033865c027abae93ee7a4 llvm-15.0.7.src.tar.xz
|
||||
sha256 9a9a80ca4c0d902531f2b43e9e4d6c36b57cdd5702430e0b54567bf273bd32c1 llvm-20.1.5.src.tar.xz
|
||||
sha256 8d85c1057d742e597985c7d4e6320b015a9139385cff4cbae06ffc0ebe89afee LICENSE.TXT
|
||||
|
||||
@@ -20,11 +20,19 @@ LLVM_DEPENDENCIES = host-llvm
|
||||
HOST_LLVM_CONF_OPTS += -DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm
|
||||
LLVM_CONF_OPTS += -DCMAKE_MODULE_PATH=$(HOST_DIR)/lib/cmake/llvm
|
||||
|
||||
HOST_LLVM_CONF_OPTS += -DLLVM_COMMON_CMAKE_UTILS=$(HOST_DIR)/lib/cmake/llvm
|
||||
LLVM_CONF_OPTS += -DLLVM_COMMON_CMAKE_UTILS=$(HOST_DIR)/lib/cmake/llvm
|
||||
|
||||
# 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
|
||||
HOST_LLVM_CONF_OPTS += -DLLVM_ENABLE_PROJECTS=""
|
||||
LLVM_CONF_OPTS += -DLLVM_ENABLE_PROJECTS=""
|
||||
|
||||
# LLVM_ENABLE_RUNTIMES for runtime components libcxx etc
|
||||
|
||||
HOST_LLVM_CONF_OPTS += -DLLVM_ENABLE_RUNTIMES=""
|
||||
LLVM_CONF_OPTS += -DLLVM_ENABLE_RUNTIMES=""
|
||||
|
||||
HOST_LLVM_CONF_OPTS += -DLLVM_CCACHE_BUILD=$(if $(BR2_CCACHE),ON,OFF)
|
||||
LLVM_CONF_OPTS += -DLLVM_CCACHE_BUILD=$(if $(BR2_CCACHE),ON,OFF)
|
||||
|
||||
@@ -151,6 +159,10 @@ LLVM_CONF_OPTS += -DLLVM_ENABLE_Z3_SOLVER=OFF
|
||||
HOST_LLVM_CONF_OPTS += -DLLVM_ENABLE_PIC=ON
|
||||
LLVM_CONF_OPTS += -DLLVM_ENABLE_PIC=ON
|
||||
|
||||
# Disable TFTLite integration
|
||||
HOST_LLVM_CONF_OPTS += -DLLVM_HAVE_TFLITE=""
|
||||
LLVM_CONF_OPTS += -DLLVM_HAVE_TFLITE=""
|
||||
|
||||
# Default is Debug build, which requires considerably more disk space and
|
||||
# build time. Release build is selected for host and target because the linker
|
||||
# can run out of memory in Debug mode.
|
||||
@@ -261,7 +273,6 @@ HOST_LLVM_CONF_OPTS += \
|
||||
-DLLVM_ENABLE_SPHINX=OFF \
|
||||
-DLLVM_INCLUDE_EXAMPLES=OFF \
|
||||
-DLLVM_INCLUDE_DOCS=OFF \
|
||||
-DLLVM_INCLUDE_GO_TESTS=OFF \
|
||||
-DLLVM_INCLUDE_TESTS=OFF \
|
||||
-DLLVM_INCLUDE_BENCHMARKS=OFF
|
||||
LLVM_CONF_OPTS += \
|
||||
@@ -273,7 +284,6 @@ LLVM_CONF_OPTS += \
|
||||
-DLLVM_ENABLE_SPHINX=OFF \
|
||||
-DLLVM_INCLUDE_EXAMPLES=OFF \
|
||||
-DLLVM_INCLUDE_DOCS=OFF \
|
||||
-DLLVM_INCLUDE_GO_TESTS=OFF \
|
||||
-DLLVM_INCLUDE_TESTS=OFF \
|
||||
-DLLVM_INCLUDE_BENCHMARKS=OFF
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# locally calculated
|
||||
sha256 0a00a72a5b004eeb73f9c96c9c6ba2d6de232cbf3c22a7b322047604d24402ba spirv-llvm-translator-v15.0.0-46-ge82ecc2bd7295604fcf1824e47c95fa6a09c6e63.tar.gz
|
||||
sha256 ca89c35cbc55cfe69ab9fa1a2f3ee585d30cb285e01e2cae309fe0e1f1dfd79e spirv-llvm-translator-v20.1.2-7-g834db1a1985ac36d5a3e1b4b34dc1ca3f919ad5b.tar.gz
|
||||
sha256 e3bc36440fc927c62d5cc24efeefe225a14d4e34ffeb0c92e430625cce9ee444 LICENSE.TXT
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
################################################################################
|
||||
|
||||
# Generate version string using:
|
||||
# git describe --tags --match 'v15*' --abbrev=40 origin/llvm_release_150
|
||||
SPIRV_LLVM_TRANSLATOR_VERSION = v15.0.0-46-ge82ecc2bd7295604fcf1824e47c95fa6a09c6e63
|
||||
# git describe --tags --match 'v20*' --abbrev=40 origin/llvm_release_200
|
||||
SPIRV_LLVM_TRANSLATOR_VERSION = v20.1.2-7-g834db1a1985ac36d5a3e1b4b34dc1ca3f919ad5b
|
||||
SPIRV_LLVM_TRANSLATOR_SITE = $(call github,KhronosGroup,SPIRV-LLVM-Translator,$(SPIRV_LLVM_TRANSLATOR_VERSION))
|
||||
SPIRV_LLVM_TRANSLATOR_LICENSE = NCSA
|
||||
SPIRV_LLVM_TRANSLATOR_LICENSE_FILES = LICENSE.TXT
|
||||
|
||||
@@ -62,6 +62,9 @@ static char *predef_args[] = {
|
||||
#endif
|
||||
path,
|
||||
"--sysroot", sysroot,
|
||||
#ifdef BR_CLANG_CONFIG_FILE
|
||||
BR_CLANG_CONFIG_FILE,
|
||||
#endif
|
||||
#ifdef BR_ABI
|
||||
"-mabi=" BR_ABI,
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user