TERMUX_PKG_HOMEPAGE=http://www.ginac.de/CLN/
TERMUX_PKG_DESCRIPTION="CLN is a library for efficient computations with all kinds of numbers in arbitrary precision"
TERMUX_PKG_VERSION=1.3.4
+TERMUX_PKG_REVISION=1
TERMUX_PKG_SRCURL=http://www.ginac.de/CLN/cln-${TERMUX_PKG_VERSION}.tar.bz2
TERMUX_PKG_EXTRA_CONFIGURE_ARGS="--with-gnu-ld=no"
TERMUX_PKG_DEPENDS="libgmp"
-Fix error building with clang:
-
-base/low/cl_low_div.cc:210:8: error: declaration of 'divu_64_rest' in global scope conflicts with declaration with C language link
-age
-uint64 divu_64_rest;
- ^
-./base/cl_low.h:982:21: note: declared with C language linkage here
-extern "C" uint64 divu_64_rest; // -> Rest r
-
diff -u -r ../cln-1.3.4/src/base/low/cl_low_div.cc ./src/base/low/cl_low_div.cc
---- ../cln-1.3.4/src/base/low/cl_low_div.cc 2011-04-08 23:07:28.000000000 +0200
-+++ ./src/base/low/cl_low_div.cc 2017-01-15 18:37:40.666599325 +0100
+--- ../cln-1.3.4/src/base/low/cl_low_div.cc 2011-04-08 21:07:28.000000000 +0000
++++ ./src/base/low/cl_low_div.cc 2017-01-17 23:06:55.460210789 +0000
+@@ -10,11 +10,11 @@
+ // Implementation.
+
+ #ifdef NEED_VAR_divu_16_rest
+-uint16 divu_16_rest;
++extern "C" { uint16 divu_16_rest; }
+ #endif
+
+ #ifdef NEED_FUNCTION_divu_3216_1616_
+-uint16 divu_16_rest;
++extern "C" { uint16 divu_16_rest; }
+ namespace cln {
+ #if 1
+ // Most processors have a good 32 by 32 bit division, use that.
+@@ -101,11 +101,11 @@
+ #endif
+
+ #ifdef NEED_VAR_divu_32_rest
+-uint32 divu_32_rest;
++extern "C" { uint32 divu_32_rest; }
+ #endif
+
+ #ifdef NEED_FUNCTION_divu_6432_3232_
+-uint32 divu_32_rest;
++extern "C" { uint32 divu_32_rest; }
+ namespace cln {
+ uint32 divu_6432_3232_(uint32 xhi, uint32 xlo, uint32 y)
+ // Methode:
@@ -207,7 +207,7 @@
#endif
#ifdef NEED_VAR_divu_64_rest
-uint64 divu_64_rest;
-+extern "C" uint64 divu_64_rest;
++extern "C" { uint64 divu_64_rest; }
#endif
#ifdef NEED_FUNCTION_divu_6464_6464_
diff -u -r ../cln-1.3.4/src/base/low/cl_low_mul.cc ./src/base/low/cl_low_mul.cc
---- ../cln-1.3.4/src/base/low/cl_low_mul.cc 2011-04-08 23:06:30.000000000 +0200
-+++ ./src/base/low/cl_low_mul.cc 2017-01-15 18:42:11.755489083 +0100
+--- ../cln-1.3.4/src/base/low/cl_low_mul.cc 2011-04-08 21:06:30.000000000 +0000
++++ ./src/base/low/cl_low_mul.cc 2017-01-17 23:08:39.856001383 +0000
+@@ -10,11 +10,11 @@
+ // Implementation.
+
+ #ifdef NEED_VAR_mulu32_high
+-uint32 mulu32_high;
++extern "C" { uint32 mulu32_high; }
+ #endif
+
+ #ifdef NEED_FUNCTION_mulu32_
+-uint32 mulu32_high;
++extern "C" { uint32 mulu32_high; }
+ namespace cln {
+ uint32 mulu32_ (uint32 x, uint32 y)
+ {
@@ -50,11 +50,11 @@
#ifdef NEED_VAR_mulu64_high
-uint64 mulu64_high;
-+extern "C" uint64 mulu64_high;
++extern "C" { uint64 mulu64_high; }
#endif
#ifdef NEED_FUNCTION_mulu64_
-uint64 mulu64_high;
-+extern "C" uint64 mulu64_high;
++extern "C" { uint64 mulu64_high; }
namespace cln {
extern "C" uint64 mulu64_ (uint64 x, uint64 y);
uint64 mulu64_ (uint64 x, uint64 y)