summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Turner <david@freetype.org>2021-07-16 11:12:13 +0200
committerDavid Turner <david@freetype.org>2021-07-16 11:12:13 +0200
commite44330d49ae00c086d4cd2786355f915d63355cb (patch)
treecde1cce6238bfcdbf6b85c8cf9ad459d1cb06e3e
parent685acc04dbad5ece9b7261d21f4a2546d787436c (diff)
downloadfreetype2-fix-x86_32.x86-compilation.tar.gz
[smooth] Fix compilation for x86_32.x86 ABIfix-x86_32.x86-compilation
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
-rw-r--r--src/smooth/ftgrays.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c
index e5f36a054..00746c1a3 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