package/libclc: bump version to 13.0.1
* Converts to the cmake pkg type * Updates download site * Adds a crosscompile fixups patch * Allow prepare_builtins utility to be directly called (it isn't installed into the path when cross compiling) * Fix file_find() for root search limitation Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: James Hilliard <james.hilliard1@gmail.com> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
parent
56a27d7d00
commit
b19126c398
71
package/libclc/0001-support-out-of-tree-build.patch
Normal file
71
package/libclc/0001-support-out-of-tree-build.patch
Normal file
@ -0,0 +1,71 @@
|
||||
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
|
||||
Subject: [PATCH] support out of tree build
|
||||
|
||||
(1) The package has a prepare_builtins tool which 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.
|
||||
|
||||
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>
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
cmake/CMakeDetermineCLCCompiler.cmake | 4 ++++
|
||||
cmake/CMakeDetermineLLAsmCompiler.cmake | 4 ++++
|
||||
3 files changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 9472f19..a784519 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)
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,3 +1,3 @@
|
||||
# locally calculated
|
||||
sha256 54d7ae523aabf68d533011739d6c01546cae0c294442d0f44fd657c046cb707d libclc-d1cbc92e2ceee59963f5c3a576382e5bba31f060-br1.tar.gz
|
||||
sha256 8f0213e52e2fcaca3dfcc438f05d0e15e9b3c96fd6b0994a802b267dc1047a1d libclc-13.0.1.src.tar.xz
|
||||
sha256 3c536c052db9afd997809e38785c9f2a9e54e2892330fa7c5b438e18a7413479 LICENSE.TXT
|
||||
|
@ -4,43 +4,39 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# Use the latest commit from release_90 branch.
|
||||
LIBCLC_VERSION = d1cbc92e2ceee59963f5c3a576382e5bba31f060
|
||||
LIBCLC_SITE = https://github.com/llvm-mirror/libclc
|
||||
LIBCLC_SITE_METHOD = git
|
||||
LIBCLC_VERSION = 13.0.1
|
||||
LIBCLC_SITE = https://github.com/llvm/llvm-project/releases/download/llvmorg-$(LIBCLC_VERSION)
|
||||
LIBCLC_SOURCE = libclc-$(LIBCLC_VERSION).src.tar.xz
|
||||
LIBCLC_LICENSE = Apache-2.0 with exceptions or MIT
|
||||
LIBCLC_LICENSE_FILES = LICENSE.TXT
|
||||
|
||||
LIBCLC_DEPENDENCIES = host-clang host-llvm
|
||||
LIBCLC_DEPENDENCIES = host-clang host-llvm host-spirv-llvm-translator
|
||||
LIBCLC_INSTALL_STAGING = YES
|
||||
|
||||
# C++ compiler is used to build a small tool (prepare-builtins) for the host.
|
||||
# It must be built with the C++ compiler from the host.
|
||||
# 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 = \
|
||||
--with-llvm-config=$(HOST_DIR)/usr/bin/llvm-config \
|
||||
--prefix=/usr \
|
||||
--includedir=/usr/share \
|
||||
--pkgconfigdir=/usr/lib/pkgconfig \
|
||||
--with-cxx-compiler=$(HOSTCXX_NOCCACHE)
|
||||
-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)" \
|
||||
-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_CONFIG="$(HOST_DIR)/bin/llvm-config"
|
||||
|
||||
define LIBCLC_CONFIGURE_CMDS
|
||||
(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure.py $(LIBCLC_CONF_OPTS))
|
||||
endef
|
||||
|
||||
define LIBCLC_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
|
||||
endef
|
||||
|
||||
define LIBCLC_INSTALL_TARGET_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) install
|
||||
endef
|
||||
|
||||
define LIBCLC_INSTALL_STAGING_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) DESTDIR=$(STAGING_DIR) install
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
$(eval $(cmake-package))
|
||||
|
Loading…
Reference in New Issue
Block a user