aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/tbb-other-arches.patch
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2022-07-04 11:08:43 +0300
committerEfraim Flashner <efraim@flashner.co.il>2022-07-04 11:14:41 +0300
commitb56dad9b2cbd2396c6cbec4d9a9c9323d79906c6 (patch)
treee241889054da83bf4f8ff3756c443f17ec20f5f3 /gnu/packages/patches/tbb-other-arches.patch
parent47ed000d4df98e440a8a9a0788412b2f791b88b4 (diff)
downloadguix-b56dad9b2cbd2396c6cbec4d9a9c9323d79906c6.tar
guix-b56dad9b2cbd2396c6cbec4d9a9c9323d79906c6.tar.gz
gnu: tbb: Fix building on riscv64-linux.
* gnu/packages/tbb.scm (tbb)[source]: Add patch. * gnu/packages/patches/tbb-other-arches.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it.
Diffstat (limited to 'gnu/packages/patches/tbb-other-arches.patch')
-rw-r--r--gnu/packages/patches/tbb-other-arches.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/patches/tbb-other-arches.patch b/gnu/packages/patches/tbb-other-arches.patch
new file mode 100644
index 0000000000..b649eb3eb8
--- /dev/null
+++ b/gnu/packages/patches/tbb-other-arches.patch
@@ -0,0 +1,41 @@
+diff --git a/src/tbb/tools_api/ittnotify_config.h b/src/tbb/tools_api/ittnotify_config.h
+index 8ecc2378..0cf26f85 100644
+--- a/src/tbb/tools_api/ittnotify_config.h
++++ b/src/tbb/tools_api/ittnotify_config.h
+@@ -159,6 +159,11 @@
+ # define ITT_ARCH_ARM64 6
+ #endif /* ITT_ARCH_ARM64 */
+
++/* Fallback for other architectures */
++#ifndef ITT_ARCH_GENERIC
++# define ITT_ARCH_GENERIC 99
++#endif /* ITT_ARCH_GENERIC */
++
+ #ifndef ITT_ARCH
+ # if defined _M_IX86 || defined __i386__
+ # define ITT_ARCH ITT_ARCH_IA32
+@@ -172,6 +177,8 @@
+ # define ITT_ARCH ITT_ARCH_ARM64
+ # elif defined __powerpc64__
+ # define ITT_ARCH ITT_ARCH_PPC64
++# else
++# define ITT_ARCH ITT_ARCH_GENERIC
+ # endif
+ #endif
+
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 9534dce8..51a79331 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -387,7 +387,10 @@ if (TARGET TBB::tbb)
+ tbb_add_test(SUBDIR tbb NAME test_eh_algorithms DEPENDENCIES TBB::tbb)
+ tbb_add_test(SUBDIR tbb NAME test_blocked_range DEPENDENCIES TBB::tbb)
+ tbb_add_test(SUBDIR tbb NAME test_concurrent_vector DEPENDENCIES TBB::tbb)
+- tbb_add_test(SUBDIR tbb NAME test_task_group DEPENDENCIES TBB::tbb)
++ if (NOT "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "riscv64")
++ # TODO: This test hangs forever on riscv64.
++ tbb_add_test(SUBDIR tbb NAME test_task_group DEPENDENCIES TBB::tbb)
++ endif()
+ tbb_add_test(SUBDIR tbb NAME test_concurrent_hash_map DEPENDENCIES TBB::tbb)
+ tbb_add_test(SUBDIR tbb NAME test_task_arena DEPENDENCIES TBB::tbb)
+ tbb_add_test(SUBDIR tbb NAME test_enumerable_thread_specific DEPENDENCIES TBB::tbb)