Package: cln
Version: 1.3.2-1
Severity: serious
Tags: patch
Justification: fails to build from source
User: debian-sp...@lists.debian.org
Usertags: sparc64

cln fails to build on s390x and sparc64 as it detects them as 32-bit
architectures, due to __s390__ and __sparc__ matching respectively both
s390 and s390x, and both sparc and sparc64. The patch below fixes the
issue. Would it be possible to include it in the next upload? Thanks in
advance.

--- cln-1.3.2.orig/include/cln/host_cpu.h.in
+++ cln-1.3.2/include/cln/host_cpu.h.in
@@ -75,5 +75,9 @@
 #undef __s390__
 #endif
 
+#ifndef __s390x__
+#undef __s390x__
+#endif
+
 #endif /* _CL_HOST_CPU_CONFIG_H */
 
--- cln-1.3.2.orig/include/cln/object.h
+++ cln-1.3.2/include/cln/object.h
@@ -22,10 +22,10 @@
 #if defined(__m68k__)
   #define cl_word_alignment  2
 #endif
-#if defined(__i386__) || defined(__mips__) || defined(__mipsel__) || 
(defined(__sparc__) && !defined(__sparc64__)) || defined(__hppa__) || 
defined(__arm__) || defined(__rs6000__) || defined(__m88k__) || 
defined(__convex__) || defined(__s390__) || defined(__sh__)
+#if defined(__i386__) || defined(__mips__) || defined(__mipsel__) || 
(defined(__sparc__) && !defined(__arch64__)) || defined(__hppa__) || 
defined(__arm__) || defined(__rs6000__) || defined(__m88k__) || 
defined(__convex__) || (defined(__s390__) && !defined(__s390x__)) || 
defined(__sh__)
   #define cl_word_alignment  4
 #endif
-#if defined(__alpha__) || defined(__ia64__) || defined(__mips64__) || 
defined(__powerpc64__) || defined(__sparc__) || defined(__x86_64__)
+#if defined(__alpha__) || defined(__ia64__) || defined(__mips64__) || 
defined(__powerpc64__) || (defined(__sparc__) && defined(__arch64__)) || 
defined(__x86_64__) || defined(__s390x__)
   #define cl_word_alignment  8
 #endif
 #if !defined(cl_word_alignment)
only in patch2:
unchanged:
--- cln-1.3.2.orig/include/cln/types.h
+++ cln-1.3.2/include/cln/types.h
@@ -48,7 +48,7 @@
     #undef HAVE_LONGLONG
    #endif
   #endif
-  #if defined(HAVE_LONGLONG) && (defined(__alpha__) || defined(__ia64__) || 
defined(__mips64__) || defined(__powerpc64__) || defined(__sparc64__) || 
defined(__x86_64__))
+  #if defined(HAVE_LONGLONG) && (defined(__alpha__) || defined(__ia64__) || 
defined(__mips64__) || defined(__powerpc64__) || defined(__s390x__) || 
(defined(__sparc__) && defined(__arch64__)) || defined(__x86_64__))
     // 64 bit registers in hardware
     #define HAVE_FAST_LONGLONG
   #endif
@@ -76,7 +76,7 @@
 
 // Integer type used for counters.
 // Constraint: sizeof(uintC) >= sizeof(uintL)
-  #if (defined(HAVE_FAST_LONGLONG) && (defined(__alpha__) || defined(__ia64__) 
|| defined(__powerpc64__) || defined(__x86_64__)))
+  #if (defined(HAVE_FAST_LONGLONG) && (defined(__alpha__) || defined(__ia64__) 
|| defined(__powerpc64__) || defined(__s390x__) || (defined(__sparc__) && 
defined(__arch64__)) || defined(__x86_64__)))
     #define intCsize long_bitsize
     typedef long           sintC;
     typedef unsigned long  uintC;
@@ -88,7 +88,7 @@
 
 // Integer type used for lfloat exponents.
 // Constraint: sizeof(uintE) >= sizeof(uintC)
-#if (defined(HAVE_LONGLONG) && (defined(__alpha__) || defined(__ia64__) || 
defined(__powerpc64__) || defined(__x86_64__) || defined(__i386__) || 
defined(__mips__) || defined(__rs6000__)))
+#if (defined(HAVE_LONGLONG) && (defined(__alpha__) || defined(__ia64__) || 
defined(__powerpc64__) || defined(__s390x__) || (defined(__sparc__) && 
defined(__arch64__)) || defined(__x86_64__) || defined(__i386__) || 
defined(__mips__) || defined(__rs6000__)))
     #define intEsize 64
     typedef sint64  sintE;
     typedef uint64  uintE;
@@ -127,7 +127,7 @@
     typedef int sintD;
     typedef unsigned int uintD;
   #else  // we are not using GMP, so just guess something reasonable
-    #if (defined(HAVE_FAST_LONGLONG) && (defined(__alpha__) || 
defined(__ia64__) || defined(__powerpc64__) || defined(__x86_64__)))
+    #if (defined(HAVE_FAST_LONGLONG) && (defined(__alpha__) || 
defined(__ia64__) || defined(__powerpc64__) || (defined(__sparc__) && 
defined(__arch64__)) || defined(__s390x__) || defined(__x86_64__)))
       #define intDsize 64
       typedef sint64  sintD;
       typedef uint64  uintD;


-- System Information:
Debian Release: wheezy/sid
  APT prefers unreleased
  APT policy: (500, 'unreleased'), (500, 'unstable')
Architecture: s390x
  
Kernel: Linux 3.0.0-1-s390x (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash



-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to