freetype-commit
[Top][All Lists]
Advanced

[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
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]