Add patch to fix the build on 32-bit architectures.

This commit is contained in:
Jerry James 2017-01-28 14:45:05 -07:00
parent ff7789143d
commit ec1bcf5ea1
2 changed files with 25 additions and 0 deletions

22
clisp-32bit.patch Normal file
View File

@ -0,0 +1,22 @@
--- src/lispbibl.d.orig 2017-01-28 11:49:38.000000000 -0700
+++ src/lispbibl.d 2017-01-28 14:35:20.257552567 -0700
@@ -1421,7 +1421,6 @@ typedef SLONG sint32; /* signed 32 bi
#define intLsize 32
typedef signed_int_with_n_bits(intLsize) sintL;
typedef unsigned_int_with_n_bits(intLsize) uintL;
-#if (long_bitsize==64) || defined(DECALPHA) || defined(MIPS64) || defined(SPARC64) || defined(IA64) || defined(AMD64)
/* Machine has real 64-bit integers in hardware. */
#define intQsize 64
typedef signed_int_with_n_bits(intQsize) sintQ;
@@ -1440,11 +1439,6 @@ typedef SLONG sint32; /* signed 32 bi
#define minus_bitQm(n) (-(sintQ)2<<((n)-1))
typedef sintQ sintL2;
typedef uintQ uintL2;
-#else
- /* Emulate 64-Bit-numbers using two 32-Bit-numbers. */
- typedef struct { sintL hi; uintL lo; } sintL2; /* signed 64 Bit integer */
- typedef struct { uintL hi; uintL lo; } uintL2; /* unsigned 64 Bit integer */
-#endif
/* Use 'uintX' and 'sintX' for Integers with approximately given width
and a minumum of storage space. */
%% sprintf(buf,"sint%d",intBsize); emit_typedef(buf,"sintB");

View File

@ -25,6 +25,8 @@ Patch2: %{name}-libsvm.patch
Patch3: %{name}-db.patch
# Linux-specific fixes. Sent upstream 25 Jul 2012.
Patch4: %{name}-linux.patch
# Fix for 32-bit compilation. Sent upstream 28 Jan 2017.
Patch5: %{name}-32bit.patch
BuildRequires: compat-readline5-devel
BuildRequires: dbus-devel
@ -97,6 +99,7 @@ Files necessary for linking CLISP programs.
%patch2
%patch3
%patch4
%patch5
# Convince CLisp to build against compat-readline5 instead of readline.
# This is to avoid pulling the GPLv3 readline 6 into a GPLv2 CLisp binary.