public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Marek Szuba" <marecki@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/intel-graphics-compiler/
Date: Sun, 20 Sep 2020 14:12:29 +0000 (UTC)	[thread overview]
Message-ID: <1600611141.b4e684caef46329bf85ec7b683701b3f02b2535b.marecki@gentoo> (raw)

commit:     b4e684caef46329bf85ec7b683701b3f02b2535b
Author:     Marek Szuba <marecki <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 20 13:58:45 2020 +0000
Commit:     Marek Szuba <marecki <AT> gentoo <DOT> org>
CommitDate: Sun Sep 20 14:12:21 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b4e684ca

dev-util/intel-graphics-compiler: bump to 1.0.4944

The first version supporting VectorCompiler which actually builds
(as well as lets intel-neo build afterwards; tested on 20.36 a moment
ago) without patching with VC support disabled.

Nb. I am still working on enabling VC support in Gentoo, dependencies
have been taken care of but now src_compile fails due to IGC being
unable to find functions and classes declared ELSEWHERE IN ITS OWN CODE.

Signed-off-by: Marek Szuba <marecki <AT> gentoo.org>

 dev-util/intel-graphics-compiler/Manifest          |  1 +
 .../intel-graphics-compiler-1.0.4944.ebuild        | 72 ++++++++++++++++++++++
 2 files changed, 73 insertions(+)

diff --git a/dev-util/intel-graphics-compiler/Manifest b/dev-util/intel-graphics-compiler/Manifest
index bb330148e01..d7d3b0ae0c3 100644
--- a/dev-util/intel-graphics-compiler/Manifest
+++ b/dev-util/intel-graphics-compiler/Manifest
@@ -1 +1,2 @@
 DIST intel-graphics-compiler-1.0.4111.tar.gz 5781246 BLAKE2B 6fe47422b31b0c73d24c3cef1265772927a57751bf5648f862f7c73528f2174268fdb2271c30c49ab038b4dfbe530bc088fe727e66babc5db0a41759e7212733 SHA512 8f589ee83a27b7a8f5abcd008e36a73fb704c20c1ae17e1ef265c59641768b75a0a08f2d6f80355442fff7625154603db3ebe9be0a4ba702b45e85db434f8110
+DIST intel-graphics-compiler-1.0.4944.tar.gz 6632351 BLAKE2B a3d72730b8c10fd3810fdb8206d9d92da325a094627b678bb9f8d0941e29c1697994a2d98a1b49780fae62dc421e623dea4c3a7e3061347de5f5b644cfb5e105 SHA512 34fafd5387f3b86bef17511015ff1e8daef75ebdff5d1d14ff2000b58968bb502a9ec1aee988858a2992414f6cdb222e7de19c2d877f7fc8cd84a79417e9a85e

diff --git a/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4944.ebuild b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4944.ebuild
new file mode 100644
index 00000000000..7651df693d6
--- /dev/null
+++ b/dev-util/intel-graphics-compiler/intel-graphics-compiler-1.0.4944.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+
+inherit cmake-multilib flag-o-matic llvm
+
+DESCRIPTION="LLVM-based OpenCL compiler targetting Intel Gen graphics hardware"
+HOMEPAGE="https://github.com/intel/intel-graphics-compiler"
+SRC_URI="https://github.com/intel/${PN}/archive/igc-${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="debug"
+
+LLVM_MAX_SLOT=10
+
+# Yes, the last dependency does effectively force the use of llvm-10
+# - there are currently no SLOT=9 ebuilds of opencl-clang with mem2reg
+# support. Of course with there being no SLOT=9 ebuilds of vc-intrinsics
+# (which we'll need soon as well) at all either we are limited to llvm-10 anyway.
+COMMON="<=sys-devel/llvm-${LLVM_MAX_SLOT}.9999:=[${MULTILIB_USEDEP}]
+	<=dev-libs/opencl-clang-${LLVM_MAX_SLOT}.9999:=[${MULTILIB_USEDEP}]
+	>=dev-libs/opencl-clang-10.0.0.2:=[${MULTILIB_USEDEP}]"
+DEPEND="${COMMON}"
+RDEPEND="${COMMON}"
+
+PATCHES=(
+	"${FILESDIR}"/${PN}-1.0.9-no_Werror.patch
+	"${FILESDIR}"/${PN}-1.0.4111-opencl-clang_version.patch
+)
+#	"${FILESDIR}"/${PN}-1.0.4427-noVC_TranslateBuild_retval.patch
+
+S="${WORKDIR}"/${PN}-igc-${PV}
+
+find_best_llvm_slot() {
+	local candidate_slot
+
+	# Select the same slot as the best opencl-clang
+	local ocl_clang_ver="$(best_version -d dev-libs/opencl-clang:=)"
+	einfo "Selecting ${ocl_clang_ver}"
+	candidate_slot=$(ver_cut 5 ${ocl_clang_ver})
+
+	# Sanity check - opencl-clang brings the right LLVM slot as its
+	# dependency so if this is missing, something is very wrong.
+	has_version -d sys-devel/llvm:${candidate_slot} || die "LLVM slot matching ${ocl_clang_ver} not found (${candidate_slot})"
+
+	echo ${candidate_slot}
+}
+
+multilib_src_configure() {
+	local llvm_slot=$(find_best_llvm_slot)
+	einfo "Selecting LLVM slot ${llvm_slot}: $(best_version -d sys-devel/llvm:${llvm_slot})"
+	local llvm_prefix=$(get_llvm_prefix ${llvm_slot})
+
+	# Since late March 2020 cmake.eclass does not set -DNDEBUG any more, and the way
+	# IGC uses this definition causes problems for some users (see Bug #718824).
+	use debug || append-cppflags -DNDEBUG
+
+	# VectorCompiler needs work, at the moment upstream only supports building vc-intrinsics in place.
+	local mycmakeargs=(
+		-DCCLANG_SONAME_VERSION=${llvm_slot}
+		-DCMAKE_LIBRARY_PATH="${llvm_prefix}"/$(get_libdir)
+		-DIGC_OPTION__FORCE_SYSTEM_LLVM=ON
+		-DIGC_PREFERRED_LLVM_VERSION=${llvm_slot}
+		-DIGC_BUILD__VC_ENABLED=no
+	)
+	cmake_src_configure
+}


             reply	other threads:[~2020-09-20 14:12 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-20 14:12 Marek Szuba [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-29 14:57 [gentoo-commits] repo/gentoo:master commit in: dev-util/intel-graphics-compiler/ Conrad Kostecki
2024-09-29 14:57 Conrad Kostecki
2024-09-29 14:57 Conrad Kostecki
2024-09-15 14:52 Conrad Kostecki
2024-07-27 17:54 Conrad Kostecki
2024-07-27 17:54 Conrad Kostecki
2024-06-27 15:40 Conrad Kostecki
2024-06-22 20:01 Conrad Kostecki
2024-06-22 20:01 Conrad Kostecki
2024-05-24 23:35 Conrad Kostecki
2024-04-17 14:13 Conrad Kostecki
2024-04-17 11:39 Conrad Kostecki
2024-04-17 11:39 Conrad Kostecki
2024-03-10 13:25 Conrad Kostecki
2024-03-10 13:25 Conrad Kostecki
2024-03-09 13:57 Conrad Kostecki
2024-02-08 21:51 Conrad Kostecki
2024-02-08 21:49 Conrad Kostecki
2023-12-28 18:32 Conrad Kostecki
2023-11-11 23:37 Conrad Kostecki
2023-11-11 23:37 Conrad Kostecki
2023-10-10 23:35 Conrad Kostecki
2023-10-04 14:42 Conrad Kostecki
2023-10-02 19:32 Conrad Kostecki
2023-08-15 22:40 Conrad Kostecki
2023-08-15 22:40 Conrad Kostecki
2023-07-15 20:37 Conrad Kostecki
2023-05-18 17:37 Conrad Kostecki
2023-05-18 17:37 Conrad Kostecki
2023-04-23 15:48 Conrad Kostecki
2023-04-23 15:48 Conrad Kostecki
2023-04-18 20:38 Conrad Kostecki
2023-04-09 19:35 Conrad Kostecki
2023-03-25  0:11 Conrad Kostecki
2023-03-25  0:11 Conrad Kostecki
2023-03-08 14:57 Conrad Kostecki
2023-03-08 14:57 Conrad Kostecki
2023-03-07 16:43 Conrad Kostecki
2023-03-07 16:43 Conrad Kostecki
2023-02-23 23:00 Sam James
2023-02-02  0:53 Conrad Kostecki
2023-01-31 15:17 Conrad Kostecki
2022-12-30 23:39 Conrad Kostecki
2022-12-10 13:27 Conrad Kostecki
2022-12-06 23:43 Conrad Kostecki
2022-11-15 22:41 Conrad Kostecki
2022-11-15 22:41 Conrad Kostecki
2022-10-26 19:43 Conrad Kostecki
2022-10-26 19:43 Conrad Kostecki
2022-10-16 19:35 Conrad Kostecki
2022-10-10 21:00 Conrad Kostecki
2022-09-25 23:12 Conrad Kostecki
2022-09-25 23:12 Conrad Kostecki
2022-08-20 23:29 Conrad Kostecki
2022-08-02 21:20 Conrad Kostecki
2022-08-02 19:18 Conrad Kostecki
2022-07-31 13:56 Conrad Kostecki
2022-07-31 13:56 Conrad Kostecki
2022-07-20  8:18 Conrad Kostecki
2022-07-19 19:38 Conrad Kostecki
2022-06-11 17:17 Conrad Kostecki
2022-06-07 20:14 Conrad Kostecki
2022-06-07 20:14 Conrad Kostecki
2022-05-27 22:34 Conrad Kostecki
2022-05-21 13:52 Conrad Kostecki
2022-05-18 21:02 Conrad Kostecki
2022-05-08 11:35 Conrad Kostecki
2022-05-01 19:53 Sam James
2022-04-29 21:08 Conrad Kostecki
2022-04-27 20:08 Conrad Kostecki
2022-04-23 15:27 Sam James
2022-04-22 22:32 Conrad Kostecki
2022-04-10 21:33 Conrad Kostecki
2022-04-07 17:28 Conrad Kostecki
2022-04-01 16:57 Conrad Kostecki
2022-03-27 22:23 Conrad Kostecki
2021-12-05 21:45 Conrad Kostecki
2021-12-05 21:45 Conrad Kostecki
2021-11-27 13:41 Conrad Kostecki
2021-10-29 22:01 Conrad Kostecki
2021-10-29 22:01 Conrad Kostecki
2021-10-21 22:36 Conrad Kostecki
2021-10-08 21:46 Conrad Kostecki
2021-10-08 18:48 Agostino Sarubbo
2021-09-29  9:35 Conrad Kostecki
2021-09-21 18:48 Conrad Kostecki
2021-09-21  6:35 Agostino Sarubbo
2021-09-11 11:10 Conrad Kostecki
2021-09-01 20:28 Conrad Kostecki
2021-08-28 12:25 Conrad Kostecki
2021-08-19 11:59 Conrad Kostecki
2021-08-17 19:05 Conrad Kostecki
2021-04-04 12:56 Conrad Kostecki
2021-02-02 13:46 Joonas Niilola
2020-11-03 11:49 Marek Szuba
2020-11-03 11:40 Marek Szuba
2020-09-20 14:34 Marek Szuba
2020-08-25 14:10 Marek Szuba
2020-06-26 10:47 Marek Szuba
2020-06-19 14:31 Marek Szuba
2020-04-26 21:27 Marek Szuba
2020-03-12 11:33 Marek Szuba
2020-01-27 11:50 Marek Szuba
2020-01-25 22:12 Marek Szuba
2019-12-10 12:49 Marek Szuba
2019-12-10 12:49 Marek Szuba
2019-11-28 10:08 Marek Szuba
2019-10-07 12:23 Marek Szuba
2019-10-01 21:54 Marek Szuba
2019-07-03 13:46 Marek Szuba
2019-07-03 13:46 Marek Szuba
2019-06-11 10:05 Marek Szuba
2019-05-24 10:33 Marek Szuba
2019-05-01 16:52 Marek Szuba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1600611141.b4e684caef46329bf85ec7b683701b3f02b2535b.marecki@gentoo \
    --to=marecki@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox