[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] fix-x86_32.x86-compilation e44330d: [smooth] Fix compilation
From: |
Werner Lemberg |
Subject: |
[freetype2] fix-x86_32.x86-compilation e44330d: [smooth] Fix compilation for x86_32.x86 ABI |
Date: |
Fri, 16 Jul 2021 05:16:42 -0400 (EDT) |
branch: fix-x86_32.x86-compilation
commit e44330d49ae00c086d4cd2786355f915d63355cb
Author: David Turner <david@freetype.org>
Commit: David Turner <david@freetype.org>
[smooth] Fix compilation for x86_32.x86 ABI
The code assumed that if __SSE2__ is defined, then 64-bit
integer types are available. This is not the case apparently
for certain multilib compiler targets like x86_32.x86 used
by Gentoo.
This patch fixes the issue by disabling the special code
path when 64-bit integer types are not available.
https://gitlab.freedesktop.org/freetype/freetype/-/issues/1071
---
src/smooth/ftgrays.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c
index e5f36a0..00746c1 100644
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -1018,6 +1018,16 @@ typedef ptrdiff_t FT_PtrDist;
# define BEZIER_USE_DDA 0
#endif
+/* For now, the code that depends on BEZIER_USE_DDA requires
+ * FT_Int64 to be defined. If FT_LONG64 is not defined, meaning
+ * there is no 64-bit type available, disable it to avoid
+ * compilation errors. See for example
+ * https://gitlab.freedesktop.org/freetype/freetype/-/issues/1071
+ */
+#if !defined(FT_LONG64)
+# undef BEZIER_USE_DDA
+# define BEZIER_USE_DDA 0
+#endif
#if BEZIER_USE_DDA
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] fix-x86_32.x86-compilation e44330d: [smooth] Fix compilation for x86_32.x86 ABI,
Werner Lemberg <=