summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--external/harfbuzz/UnpackedTarball_harfbuzz.mk6
-rw-r--r--external/harfbuzz/harfbuzz-rtti.patch13
2 files changed, 19 insertions, 0 deletions
diff --git a/external/harfbuzz/UnpackedTarball_harfbuzz.mk b/external/harfbuzz/UnpackedTarball_harfbuzz.mk
index 8101f244f4df..bfe7b2a9981d 100644
--- a/external/harfbuzz/UnpackedTarball_harfbuzz.mk
+++ b/external/harfbuzz/UnpackedTarball_harfbuzz.mk
@@ -21,4 +21,10 @@ $(eval $(call gb_UnpackedTarball_add_patches,harfbuzz, \
external/harfbuzz/msvc.patch \
))
+ifneq ($(ENABLE_RUNTIME_OPTIMIZATIONS),TRUE)
+$(eval $(call gb_UnpackedTarball_add_patches,harfbuzz, \
+ external/harfbuzz/harfbuzz-rtti.patch \
+))
+endif
+
# vim: set noet sw=4 ts=4:
diff --git a/external/harfbuzz/harfbuzz-rtti.patch b/external/harfbuzz/harfbuzz-rtti.patch
new file mode 100644
index 000000000000..545e63981982
--- /dev/null
+++ b/external/harfbuzz/harfbuzz-rtti.patch
@@ -0,0 +1,13 @@
+--- configure
++++ configure
+@@ -18959,9 +18959,7 @@
+ # No threadsafe statics in C++ as we do it ourselves.
+ # We don't use these features, so it's safe to disable them
+ # even in the cases where we DO link to libstdc++.
+- # Put -fno-rtti before $CXXFLAGS such that users can re-enable it
+- # by overriding CXXFLAGS.
+- CXXFLAGS="-fno-rtti $CXXFLAGS -fno-exceptions -fno-threadsafe-statics"
++ CXXFLAGS="$CXXFLAGS -fno-exceptions -fno-threadsafe-statics"
+
+ case "$host" in
+ *-*-mingw*)