From patchwork Thu Mar 11 14:29:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matt Weber X-Patchwork-Id: 1451216 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=2605:bc80:3010::133; helo=smtp2.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=rockwellcollins.com header.i=@rockwellcollins.com header.a=rsa-sha256 header.s=hrcrc2020 header.b=uf+NAPQT; dkim-atps=neutral Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DxBDq4cMVz9sWk for ; Fri, 12 Mar 2021 01:30:19 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 5BB2C431EB; Thu, 11 Mar 2021 14:30:17 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 270rmvlFf3D6; Thu, 11 Mar 2021 14:30:16 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp2.osuosl.org (Postfix) with ESMTP id 64883431E4; Thu, 11 Mar 2021 14:30:15 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 3B1101BF5DE for ; Thu, 11 Mar 2021 14:29:38 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 2B07A431DE for ; Thu, 11 Mar 2021 14:29:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id u6zfKOETc8Mq for ; Thu, 11 Mar 2021 14:29:36 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from da1vs05.rockwellcollins.com (da1vs05.rockwellcollins.com [205.175.227.130]) by smtp2.osuosl.org (Postfix) with ESMTPS id E7D9C42FC0 for ; Thu, 11 Mar 2021 14:29:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rockwellcollins.com; s=hrcrc2020; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=/hNTVFdfu6RsrooMhYS6CcOQdoFdVDAkBFndkSmFoKE=; b=uf+NAPQTJ6Tuf8ZdszDSrdkwofXbyH87qHFNwNw1yEO7hQyp60Q48b9o +wOwPVDH6dMSnuL8UWa9bBecLOvcleBLNL7JQQQopi7wf0yQ53Zjft+rd 7ChUmoR43E2v/Z2MVgtWik2KgATLGk+UfqdODon+Ajwj/NbSNFYWNsfQu FgH+mYjgtQPj4fMQ2gjhvd0qBye3bhC2fnjAxRUYYw1KUpHQLe70C0rpf a2T4UlngfhkxTtJv68TthaFfswDCEKlLwDkgH2x4SQ4c+T+2XHujANPvb BH/7hlqtuUAQCL47y0f5iukGCAaGyxZvSZP6Ijw1PkBNonIFkD+4NvzUS w==; IronPort-SDR: FCFVBCJlL/WHcj8Xi4tDI8KYmtZby6bOrh8B1CrugkMEWeCXlF4XNySlF5aH/wPesUcWwipYag Xsnn3umw13vlqbDKZ+a3cZlj+NjYWFJ9LhbC+jM/NWv34jzNyZrPXXbn4yteqxNN2zs/bXlkTu 3YC5QrFOg9b9qNNFzSLD2Hjn3CpRGE39j2YMt/pQl9twMalAr6Dcq7Sjsl+7sMM6jdToNzgQ0M Azlt6TqqBsimPKAXlUuza9uZbX7BTaHT1/S1jwOWOFgxVRpOGvDQ0c9Sc5pT5oM0NS2eSyQPWV O+E= Received: from ofwda1n02.rockwellcollins.com (HELO dtulimr01.rockwellcollins.com) ([205.175.227.14]) by da1vs05.rockwellcollins.com with ESMTP; 11 Mar 2021 08:29:35 -0600 X-Received: from biscuits.rockwellcollins.com (biscuits.rockwellcollins.lab [10.148.119.137]) by dtulimr01.rockwellcollins.com (Postfix) with ESMTP id B68636034B; Thu, 11 Mar 2021 08:29:34 -0600 (CST) From: Matt Weber To: buildroot@buildroot.org Date: Thu, 11 Mar 2021 08:29:27 -0600 Message-Id: <20210311142932.44985-4-matthew.weber@rockwellcollins.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210311142932.44985-1-matthew.weber@rockwellcollins.com> References: <20210311142932.44985-1-matthew.weber@rockwellcollins.com> Subject: [Buildroot] [PATCH v11 4/9] package/libclc: bump version to 11.1.0 X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Joseph Kogut , Matt Weber , Samuel Martin , Thomas Petazzoni , Romain Naour , Valentin Korenblit MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" * 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 --- .../0001-support-out-of-tree-build.patch | 71 +++++++++++++++++++ package/libclc/libclc.hash | 2 +- package/libclc/libclc.mk | 42 +++-------- 3 files changed, 83 insertions(+), 32 deletions(-) create mode 100644 package/libclc/0001-support-out-of-tree-build.patch diff --git a/package/libclc/0001-support-out-of-tree-build.patch b/package/libclc/0001-support-out-of-tree-build.patch new file mode 100644 index 0000000000..918474c433 --- /dev/null +++ b/package/libclc/0001-support-out-of-tree-build.patch @@ -0,0 +1,71 @@ +From 495491e9d53bfb184c15753b5187e4bb55b19511 Mon Sep 17 00:00:00 2001 +From: Matt Weber +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 +--- + 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 + diff --git a/package/libclc/libclc.hash b/package/libclc/libclc.hash index 2af64bc8e8..c670d92ed3 100644 --- a/package/libclc/libclc.hash +++ b/package/libclc/libclc.hash @@ -1,3 +1,3 @@ # locally calculated -sha256 54d7ae523aabf68d533011739d6c01546cae0c294442d0f44fd657c046cb707d libclc-d1cbc92e2ceee59963f5c3a576382e5bba31f060-br1.tar.gz +sha256 198dc45cdcc426c7968b9628a55062162ea338931157a18ddefb47188d119e1d libclc-11.1.0.src.tar.xz sha256 3c536c052db9afd997809e38785c9f2a9e54e2892330fa7c5b438e18a7413479 LICENSE.TXT diff --git a/package/libclc/libclc.mk b/package/libclc/libclc.mk index 6fe8e10a77..d460adcf41 100644 --- a/package/libclc/libclc.mk +++ b/package/libclc/libclc.mk @@ -4,43 +4,23 @@ # ################################################################################ -# 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 = 11.1.0 +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_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 # -# 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. +# CMAKE_CXX_COMPILER has to be set to the host compiler to build a host +# 'prepare_builtins' tool used during the build process 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_CLC_COMPILER_FORCED=ON \ + -DCMAKE_LLAsm_COMPILER_FORCED=ON \ + -DCMAKE_CXX_COMPILER="$(CMAKE_HOST_CXX_COMPILER)" -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))