Skip to content

Commit f59d3bf

Browse files
committed
Add diff/patch file for TBB changes
1 parent 07e23e9 commit f59d3bf

File tree

2 files changed

+48
-0
lines changed

2 files changed

+48
-0
lines changed

.Rbuildignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,4 @@
1717
^tests/testthat/pkg/RcppParallelTest/src/.*\.s?o$
1818
^tools/tbb$
1919
^\.github$
20+
^patches

patches/windows_arm64.diff

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
diff --git a/src/tbb/build/Makefile.tbb b/src/tbb/build/Makefile.tbb
2+
index 8d155f80..c58f4fb1 100644
3+
--- a/src/tbb/build/Makefile.tbb
4+
+++ b/src/tbb/build/Makefile.tbb
5+
@@ -91,7 +91,11 @@ ifneq (,$(TBB.DEF))
6+
tbb.def: $(TBB.DEF) $(TBB.LST)
7+
$(CPLUS) $(PREPROC_ONLY) $< $(CPLUS_FLAGS) $(INCLUDES) > $@
8+
9+
-LIB_LINK_FLAGS += $(EXPORT_KEY)tbb.def
10+
+# LLVM on Windows doesn't need --version-script export
11+
+# https://reviews.llvm.org/D63743
12+
+ifeq (, $(WINARM64_CLANG))
13+
+ LIB_LINK_FLAGS += $(EXPORT_KEY)tbb.def
14+
+endif
15+
$(TBB.DLL): tbb.def
16+
endif
17+
18+
diff --git a/src/tbb/build/Makefile.tbbmalloc b/src/tbb/build/Makefile.tbbmalloc
19+
index 421e95c5..e7c38fa4 100644
20+
--- a/src/tbb/build/Makefile.tbbmalloc
21+
+++ b/src/tbb/build/Makefile.tbbmalloc
22+
@@ -74,7 +74,11 @@ ifneq (,$(MALLOC.DEF))
23+
tbbmalloc.def: $(MALLOC.DEF)
24+
$(CPLUS) $(PREPROC_ONLY) $< $(M_CPLUS_FLAGS) $(WARNING_SUPPRESS) $(INCLUDES) > $@
25+
26+
-MALLOC_LINK_FLAGS += $(EXPORT_KEY)tbbmalloc.def
27+
+# LLVM on Windows doesn't need --version-script export
28+
+# https://reviews.llvm.org/D63743
29+
+ifeq (, $(WINARM64_CLANG))
30+
+ MALLOC_LINK_FLAGS += $(EXPORT_KEY)tbbmalloc.def
31+
+endif
32+
$(MALLOC.DLL): tbbmalloc.def
33+
endif
34+
35+
diff --git a/src/tbb/src/tbbmalloc/TypeDefinitions.h b/src/tbb/src/tbbmalloc/TypeDefinitions.h
36+
index 3178442e..fd4b7956 100644
37+
--- a/src/tbb/src/tbbmalloc/TypeDefinitions.h
38+
+++ b/src/tbb/src/tbbmalloc/TypeDefinitions.h
39+
@@ -25,7 +25,7 @@
40+
# define __ARCH_ipf 1
41+
# elif defined(_M_IX86)||defined(__i386__) // the latter for MinGW support
42+
# define __ARCH_x86_32 1
43+
-# elif defined(_M_ARM)
44+
+# elif defined(_M_ARM) || defined(__aarch64__)
45+
# define __ARCH_other 1
46+
# else
47+
# error Unknown processor architecture for Windows

0 commit comments

Comments
 (0)