summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorDom Heinzeller <dom.heinzeller@icloud.com>2024-07-12 15:35:01 -0600
committerGitHub <noreply@github.com>2024-07-12 15:35:01 -0600
commite2b6eca42000e8091f63edd5fd93324568ef6be9 (patch)
tree9fbf477c6c35696a63ac59843992d688725341b0 /var
parent67cb19614e3f5bf8212c2feb2f61170799850f0e (diff)
downloadspack-e2b6eca42000e8091f63edd5fd93324568ef6be9.tar.gz
spack-e2b6eca42000e8091f63edd5fd93324568ef6be9.tar.bz2
spack-e2b6eca42000e8091f63edd5fd93324568ef6be9.tar.xz
spack-e2b6eca42000e8091f63edd5fd93324568ef6be9.zip
qt: Add support for compiling @5.15.14 with Intel oneAPI compilers (icx, icpx) (#45195)
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/qt/package.py9
-rw-r--r--var/spack/repos/builtin/packages/qt/qt51514-oneapi.patch31
2 files changed, 40 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/qt/package.py b/var/spack/repos/builtin/packages/qt/package.py
index 7a96b9c492..12db6df605 100644
--- a/var/spack/repos/builtin/packages/qt/package.py
+++ b/var/spack/repos/builtin/packages/qt/package.py
@@ -253,6 +253,11 @@ class Qt(Package):
# https://doc.qt.io/qt-5.14/supported-platforms.html
conflicts("%gcc@:4", when="@5.14:")
+ # Compiling with oneAPI compilers icx, icpx requires patching
+ # This has only been tested for 5.15.14 so far
+ conflicts("%oneapi", when="@:5.15.13")
+ patch("qt51514-oneapi.patch", when="@5.15.14: %oneapi")
+
# Non-macOS dependencies and special macOS constraints
if MACOS_VERSION is None:
with when("+gui"):
@@ -282,6 +287,10 @@ class Qt(Package):
# Mapping for compilers/systems in the QT 'mkspecs'
compiler_mapping = {
"intel": ("icc",),
+ # This only works because we apply patch "qt51514-oneapi.patch"
+ # above that replaces calls to "icc" with calls to "icx" in
+ # qtbase/mkspecs/*
+ "oneapi": ("icc",),
"apple-clang": ("clang-libc++", "clang"),
"clang": ("clang-libc++", "clang"),
"aocc": ("clang-libc++", "clang"),
diff --git a/var/spack/repos/builtin/packages/qt/qt51514-oneapi.patch b/var/spack/repos/builtin/packages/qt/qt51514-oneapi.patch
new file mode 100644
index 0000000000..e4335ec25b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/qt/qt51514-oneapi.patch
@@ -0,0 +1,31 @@
+--- a/qtbase/mkspecs/common/icc-base-unix.conf 2024-05-07 23:17:16.000000000 -0600
++++ b/qtbase/mkspecs/common/icc-base-unix.conf 2024-07-10 21:32:47.808327220 -0600
+@@ -16,7 +16,7 @@
+ QMAKE_CFLAGS_OPTIMIZE = -O2
+ QMAKE_CFLAGS_OPTIMIZE_SIZE = -Os
+
+-QMAKE_CC = icc
++QMAKE_CC = icx
+ QMAKE_LEX = flex
+ QMAKE_LEXFLAGS =
+ QMAKE_YACC = yacc
+@@ -61,7 +61,7 @@
+ QMAKE_CFLAGS_SHANI += -msha
+ QMAKE_CFLAGS_VAES += -mvaes
+
+-QMAKE_CXX = icpc
++QMAKE_CXX = icpx
+ QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+ QMAKE_CXXFLAGS_APP = $$QMAKE_CFLAGS_APP
+ QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
+@@ -92,8 +92,8 @@
+ QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
+ QMAKE_CXXFLAGS_HIDESYMS += $$QMAKE_CFLAGS_HIDESYMS -fvisibility-inlines-hidden
+
+-QMAKE_LINK = icpc
+-QMAKE_LINK_SHLIB = icpc
++QMAKE_LINK = icpx
++QMAKE_LINK_SHLIB = icpx
+ QMAKE_LFLAGS =
+ QMAKE_LFLAGS_RELEASE =
+ QMAKE_LFLAGS_DEBUG =