[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

haskell-charsetdetect-ae on arm64



The package seems too new to be recognised by bugs.debian.org.

It failed to build:

https://buildd.debian.org/status/package.php?p=haskell-charsetdetect-ae&suite=sid

A search for '"prcpucfg_linux.h" aarch64' found:

https://chromium.googlesource.com/chromium/src/+/2c03ccaa0ef2f8faa77254f93795df4a639a57ec%5E!/

I'm attaching a version of that patch that applies cleanly. It seems
to fix the build on arm64.
diff -ru haskell-charsetdetect-ae-1.0.1.orig/libcharsetdetect/nspr-emu/prcpucfg_linux.h haskell-charsetdetect-ae-1.0.1/libcharsetdetect/nspr-emu/prcpucfg_linux.h
--- haskell-charsetdetect-ae-1.0.1.orig/libcharsetdetect/nspr-emu/prcpucfg_linux.h
+++ haskell-charsetdetect-ae-1.0.1/libcharsetdetect/nspr-emu/prcpucfg_linux.h
@@ -509,6 +509,59 @@
 #define PR_BYTES_PER_WORD_LOG2   2
 #define PR_BYTES_PER_DWORD_LOG2  3
 
+#elif defined(__aarch64__)
+
+#ifdef __AARCH64EB__
+#undef  IS_LITTLE_ENDIAN
+#define IS_BIG_ENDIAN 1
+#elif defined(__AARCH64EL__)
+#define IS_LITTLE_ENDIAN 1
+#undef  IS_BIG_ENDIAN
+#else
+#error "Unknown Aarch64 endianness."
+#endif
+#define IS_64
+
+#define PR_BYTES_PER_BYTE   1
+#define PR_BYTES_PER_SHORT  2
+#define PR_BYTES_PER_INT    4
+#define PR_BYTES_PER_INT64  8
+#define PR_BYTES_PER_LONG   8
+#define PR_BYTES_PER_FLOAT  4
+#define PR_BYTES_PER_DOUBLE 8
+#define PR_BYTES_PER_WORD   8
+#define PR_BYTES_PER_DWORD  8
+
+#define PR_BITS_PER_BYTE    8
+#define PR_BITS_PER_SHORT   16
+#define PR_BITS_PER_INT     32
+#define PR_BITS_PER_INT64   64
+#define PR_BITS_PER_LONG    64
+#define PR_BITS_PER_FLOAT   32
+#define PR_BITS_PER_DOUBLE  64
+#define PR_BITS_PER_WORD    64
+
+#define PR_BITS_PER_BYTE_LOG2   3
+#define PR_BITS_PER_SHORT_LOG2  4
+#define PR_BITS_PER_INT_LOG2    5
+#define PR_BITS_PER_INT64_LOG2  6
+#define PR_BITS_PER_LONG_LOG2   6
+#define PR_BITS_PER_FLOAT_LOG2  5
+#define PR_BITS_PER_DOUBLE_LOG2 6
+#define PR_BITS_PER_WORD_LOG2   6
+
+#define PR_ALIGN_OF_SHORT   2
+#define PR_ALIGN_OF_INT     4
+#define PR_ALIGN_OF_LONG    8
+#define PR_ALIGN_OF_INT64   8
+#define PR_ALIGN_OF_FLOAT   4
+#define PR_ALIGN_OF_DOUBLE  8
+#define PR_ALIGN_OF_POINTER 8
+#define PR_ALIGN_OF_WORD    8
+
+#define PR_BYTES_PER_WORD_LOG2  3
+#define PR_BYTES_PER_DWORD_LOG2 3
+
 #elif defined(__hppa__)
 
 #undef  IS_LITTLE_ENDIAN

Reply to: