mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-09 07:51:59 -09:00
Subproject tarballs are not provided anymore:
https://discourse.llvm.org/t/llvm-22-1-0-released/89950
"Please note since the last release the subproject tarballs have been
removed"
https://discourse.llvm.org/t/rfc-do-something-with-the-subproject-tarballs-in-the-release-page/75024/14
Used upstream tarball llvm-project-22.1.0.src.tar.xz for all packages
and linked subproject hash files to ../llvm-project.hash.
Removed patches which fix build errors caused by subproject tarballs.
Removed handling of third-party-21.1.8.src.tar.xz which is included in
the monolithic tarball.
Added _SUBDIR variable or updated _INSTALL_CMDS when needed.
For compiler-rt:
Removed both patches, they are not needed anymore.
Added patch to fix aarch64 build.
Added dependency on gcc >= 15.x because libcxx now depends on gcc >=
15.x: https://github.com/llvm/llvm-project/pull/165684
warning "Libc++ only supports GCC 15 and later"
Building with gcc 14.x causes many build errors like
output/build/compiler-rt-22.1.0/compiler-rt/buildroot-build/lib/fuzzer/libcxx_fuzzer_x86_64/build/include/c++/v1/__type_traits/is_array.h:43:68:
error: expected primary-expression before ')' token
output/build/compiler-rt-22.1.0/compiler-rt/buildroot-build/lib/fuzzer/libcxx_fuzzer_x86_64/build/include/c++/v1/__type_traits/is_array.h:43:44:
error: there are no arguments to '__is_unbounded_array' that depend on
a template parameter, so a declaration of '__is_unbounded_array' must
be available [-fpermissive]
output/build/compiler-rt-22.1.0/compiler-rt/buildroot-build/lib/fuzzer/libcxx_fuzzer_x86_64/build/include/c++/v1/__type_traits/decay.h:22:32:
error: expected type-specifier before '__decay'
A corresponding bug report sent upstream
https://github.com/llvm/llvm-project/issues/174203
was answered:
https://github.com/llvm/llvm-project/issues/174203#issuecomment-3711113919
"Our policy is rather clear: Only the latest GCC is supported."
and an update to supported compiler versions was committed:
d1146b1ddd
Updated TestClangCompilerRT to use a gcc 15-based toolchain.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Julien Olivain <ju.o@free.fr>
49 lines
1.7 KiB
Makefile
49 lines
1.7 KiB
Makefile
################################################################################
|
|
#
|
|
# libclc
|
|
#
|
|
################################################################################
|
|
|
|
LIBCLC_VERSION = $(LLVM_PROJECT_VERSION)
|
|
LIBCLC_SITE = $(LLVM_PROJECT_SITE)
|
|
LIBCLC_SOURCE = $(LLVM_PROJECT_SOURCE)
|
|
LIBCLC_DL_SUBDIR = llvm-project
|
|
LIBCLC_LICENSE = Apache-2.0 with exceptions or MIT
|
|
LIBCLC_LICENSE_FILES = LICENSE.TXT
|
|
LIBCLC_SUBDIR= libclc
|
|
|
|
LIBCLC_DEPENDENCIES = host-clang host-llvm host-spirv-llvm-translator
|
|
HOST_LIBCLC_DEPENDENCIES = host-clang host-llvm host-spirv-llvm-translator
|
|
LIBCLC_INSTALL_STAGING = YES
|
|
|
|
# CMAKE_*_COMPILER_FORCED=ON skips testing the tools and assumes
|
|
# llvm-config provided values
|
|
#
|
|
# CMAKE_*_COMPILER has to be set to the host compiler to build a host
|
|
# 'prepare_builtins' tool used during the build process
|
|
#
|
|
# The headers are installed in /usr/share and not /usr/include,
|
|
# because they are needed at runtime on the target to build the OpenCL
|
|
# kernels.
|
|
LIBCLC_CONF_OPTS = \
|
|
-DCMAKE_SYSROOT="" \
|
|
-DCMAKE_C_COMPILER_FORCED=ON \
|
|
-DCMAKE_CXX_COMPILER_FORCED=ON \
|
|
-DCMAKE_INSTALL_DATADIR="share" \
|
|
-DCMAKE_FIND_ROOT_PATH="$(HOST_DIR)" \
|
|
-DCMAKE_C_FLAGS="$(HOST_CFLAGS)" \
|
|
-DCMAKE_CXX_FLAGS="$(HOST_CXXFLAGS)" \
|
|
-DCMAKE_EXE_LINKER_FLAGS="$(HOST_LDFLAGS)" \
|
|
-DCMAKE_SHARED_LINKER_FLAGS="$(HOST_LDFLAGS)" \
|
|
-DCMAKE_MODULE_LINKER_FLAGS="$(HOST_LDFLAGS)" \
|
|
-DCMAKE_C_COMPILER="$(CMAKE_HOST_C_COMPILER)" \
|
|
-DCMAKE_CXX_COMPILER="$(CMAKE_HOST_CXX_COMPILER)" \
|
|
-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-
|
|
|
|
$(eval $(cmake-package))
|
|
$(eval $(host-cmake-package))
|