libcln: Fix clang build - hopefully for real
This commit is contained in:
parent
49037c2b1f
commit
c31bc082ab
@ -1,6 +1,7 @@
|
||||
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"
|
||||
|
@ -1,21 +1,40 @@
|
||||
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_
|
||||
|
@ -1,17 +1,31 @@
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user