From patchwork Sun Sep 22 19:37:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bernd Kuhls X-Patchwork-Id: 1988362 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org (client-ip=140.211.166.136; helo=smtp3.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org) Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4XBbyT2lR0z1xsM for ; Mon, 23 Sep 2024 05:38:25 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id CD6DF605D2; Sun, 22 Sep 2024 19:38:23 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id Pk0YlP4gvwMq; Sun, 22 Sep 2024 19:38:23 +0000 (UTC) X-Comment: SPF check N/A for local connections - client-ip=140.211.166.34; helo=ash.osuosl.org; envelope-from=buildroot-bounces@buildroot.org; receiver= DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org CC39560682 Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp3.osuosl.org (Postfix) with ESMTP id CC39560682; Sun, 22 Sep 2024 19:38:22 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id C75141BF3D4 for ; Sun, 22 Sep 2024 19:38:21 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id B63D260682 for ; Sun, 22 Sep 2024 19:38:21 +0000 (UTC) X-Virus-Scanned: amavis at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP id cVEFim45h9JC for ; Sun, 22 Sep 2024 19:38:20 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=85.13.140.57; helo=dd20012.kasserver.com; envelope-from=bernd@kuhls.net; receiver= DMARC-Filter: OpenDMARC Filter v1.4.2 smtp3.osuosl.org A901660657 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp3.osuosl.org A901660657 Received: from dd20012.kasserver.com (dd20012.kasserver.com [85.13.140.57]) by smtp3.osuosl.org (Postfix) with ESMTPS id A901660657 for ; Sun, 22 Sep 2024 19:38:20 +0000 (UTC) Received: from fli4l.lan.fli4l (p5b3a0835.dip0.t-ipconnect.de [91.58.8.53]) by dd20012.kasserver.com (Postfix) with ESMTPSA id 00E58A4C2C32; Sun, 22 Sep 2024 21:37:54 +0200 (CEST) Received: from bruckner.lan.fli4l ([192.168.1.1]:60994) by fli4l.lan.fli4l with esmtp (Exim 4.98) (envelope-from ) id 1ssSP3-0000000065g-2JWw; Sun, 22 Sep 2024 19:37:53 +0000 From: Bernd Kuhls To: buildroot@buildroot.org Date: Sun, 22 Sep 2024 21:37:48 +0200 Message-Id: <20240922193751.862053-3-bernd@kuhls.net> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20240922193751.862053-1-bernd@kuhls.net> References: <20240922193751.862053-1-bernd@kuhls.net> MIME-Version: 1.0 X-Spamd-Bar: + X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kuhls.net; s=kas202406071026; t=1727033874; bh=SmW2/k9MDfHuAkOjS+BJvETuMBV/hd2wphUZfjYLcYk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AVJ7KddiONHg0o7qBFp2x0Anu+QGc959DPD3ahI3JDlGwbDx8Ca7egdgwB03cyjAl tNEpdIHHafxn4O/JbvNHZsT/85zRd/iGSRJwR6fR6tZDCozxc/BDHSjAvZl7QFB93y cG3wdLe/XeCXCGvzhRhoNtQ0cU4kwCFjanXqXLfSUHqf78knJkiRcBZkxT5atnaGet 7g2YrOvIqjJQztbISFPKqKruYdXz39EMmdbwLmKfFS+rKW2Hc5Ysvdz43nOFIRBlfj zm7dXW0HVCxfOVYwOxnz9XBlC0WR2fsu097asQBos1BTKDHtYZceif65Ma16Bl1y7V ZGaRM5Vo/GYMA== X-Mailman-Original-Authentication-Results: smtp3.osuosl.org; dmarc=pass (p=none dis=none) header.from=kuhls.net X-Mailman-Original-Authentication-Results: smtp3.osuosl.org; dkim=pass (2048-bit key) header.d=kuhls.net header.i=@kuhls.net header.a=rsa-sha256 header.s=kas202406071026 header.b=AVJ7Kddi Subject: [Buildroot] [PATCH 3/6] package/spirv-llvm-translator: add target variant to provide LLVMSPIRVLib X-BeenThere: buildroot@buildroot.org 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: Eric Le Bihan , Sebastian Weyer , Daniel Lang , Romain Naour , Antoine Coutant , Romain Naour , "Yann E . MORIN" , Valentin Korenblit Errors-To: buildroot-bounces@buildroot.org Sender: "buildroot" From: Romain Naour This target version is needed for Rusticl which is an LLVM based OpenCL framework[1]. Rusticl allow programs to compile OpenCL C/C++ code at runtime with Clang. Clang generates LLVM IR which is translated into SPIR-V by spirv-llvm-translator. Finally, mesa can use its internal tools to manage SPIR-V. [1]: https://docs.mesa3d.org/rusticl.html Signed-off-by: Romain Naour Signed-off-by: Sebastian Weyer Signed-off-by: Antoine Coutant Signed-off-by: Bernd Kuhls --- package/Config.in | 1 + package/spirv-llvm-translator/Config.in | 22 +++++++++++++++++++ .../spirv-llvm-translator.mk | 10 +++++++++ 3 files changed, 33 insertions(+) create mode 100644 package/spirv-llvm-translator/Config.in diff --git a/package/Config.in b/package/Config.in index 2200f16520..10f7d4dced 100644 --- a/package/Config.in +++ b/package/Config.in @@ -336,6 +336,7 @@ comment "Graphic applications" source "package/pngquant/Config.in" source "package/qt5cinex/Config.in" source "package/rrdtool/Config.in" + source "package/spirv-llvm-translator/Config.in" source "package/spirv-tools/Config.in" source "package/stellarium/Config.in" source "package/sway/Config.in" diff --git a/package/spirv-llvm-translator/Config.in b/package/spirv-llvm-translator/Config.in new file mode 100644 index 0000000000..73ca787d8a --- /dev/null +++ b/package/spirv-llvm-translator/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_SPIRV_LLVM_TRANSLATOR + bool "spirv-translator" + depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS + depends on BR2_HOST_GCC_AT_LEAST_7 # host-llvm + select BR2_PACKAGE_LLVM + select BR2_PACKAGE_SPIRV_HEADERS + select BR2_PACKAGE_ZLIB + help + LLVM/SPIR-V Bi-Directional Translator is a library and tool + for translation between LLVM IR and SPIR-V. + + https://github.com/khronosGroup/SPIRV-LLVM-Translator + +comment "spirv-translator needs a toolchain w/ 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_7 \ + || BR2_STATIC_LIBS || !BR2_HOST_GCC_AT_LEAST_7 diff --git a/package/spirv-llvm-translator/spirv-llvm-translator.mk b/package/spirv-llvm-translator/spirv-llvm-translator.mk index 523890a986..ffc8a63b89 100644 --- a/package/spirv-llvm-translator/spirv-llvm-translator.mk +++ b/package/spirv-llvm-translator/spirv-llvm-translator.mk @@ -19,4 +19,14 @@ HOST_SPIRV_LLVM_TRANSLATOR_CONF_OPTS = \ -DLLVM_EXTERNAL_PROJECTS="SPIRV-Headers" \ -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=$(HOST_DIR)/include +SPIRV_LLVM_TRANSLATOR_INSTALL_STAGING = YES +SPIRV_LLVM_TRANSLATOR_DEPENDENCIES = host-clang host-llvm llvm spirv-headers +SPIRV_LLVM_TRANSLATOR_CONF_OPTS = \ + -DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=$(STAGING_DIR)/usr \ + -DLLVM_BUILD_TOOLS=ON \ + -DLLVM_DIR=$(STAGING_DIR)/lib/cmake/llvm \ + -DLLVM_SPIRV_BUILD_EXTERNAL=YES \ + -DLLVM_SPIRV_INCLUDE_TESTS=OFF + +$(eval $(cmake-package)) $(eval $(host-cmake-package))