Commit 1023f2ca authored by Rafaël Carré's avatar Rafaël Carré

contrib: gmp: update to 6.0.0

This version is dual licensed GPLv2/LGPLv3
parent 8d6be5e2
30545b690aa49b6c3479f2811d257d2501eb72eee7968cd0190601ead37522e9565b033e751067116d3f89f2207d0d96167546a6e12153d96dcadd5cd32c0f0e gmp-4.2.1.tar.bz2 06bdd312146f77bd23d1447e60b02bfea2f1e6d00798b073879e8a50a6cf7264bdbf6f31a8347dd3a0889c7a9dee2d24051b74542fc4f9f07ba2d0f744e092ad gmp-6.0.0.tar.bz2
--- gmp-4.2.1/configure.in.orig 2013-04-02 16:26:56.000000000 +0300
+++ gmp-4.2.1/configure.in 2013-04-02 16:27:25.000000000 +0300
@@ -67,7 +67,7 @@
dnl Note that there's a copy of these options in the top-level Makefile.am,
dnl so update there too if changing anything.
dnl
-AM_INIT_AUTOMAKE([1.8 gnu no-dependencies $(top_builddir)/ansi2knr])
+AM_INIT_AUTOMAKE([1.8 gnu no-dependencies])
AM_CONFIG_HEADER(config.h:config.in)
AM_MAINTAINER_MODE
@@ -2024,9 +2024,6 @@
echo " MPN_PATH=\"$path\""
-# Automake ansi2knr support.
-AM_C_PROTOTYPES
-
GMP_PROG_AR
GMP_PROG_NM
--- gmp-4.2.1/Makefile.am.orig 2013-04-02 16:27:07.000000000 +0300
+++ gmp-4.2.1/Makefile.am 2013-04-02 16:27:13.000000000 +0300
@@ -27,7 +27,7 @@
# Makefiles in subdirectories, but here we must omit it so automake gives
# the actual ansi2knr build rule, not "cd $(top_builddir) && make ansi2knr".
#
-AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies ansi2knr
+AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies
# Libtool -version-info for libgmp.la and libmp.la. See "Versioning" in the
--- gmp-4.2.1/acinclude.m4.orig 2013-04-01 22:50:05.000000000 +0300
+++ gmp-4.2.1/acinclude.m4 2013-04-01 22:49:52.000000000 +0300
@@ -3765,7 +3765,7 @@
gmp_cv_c_for_build_ansi,
[cat >conftest.c <<EOF
int
-main (int argc, char *argv[])
+main (int argc, char **argv)
{
exit(0);
}
--- gmp/mpn/arm/udiv.asm.orig 2013-08-11 17:38:14.542690389 +0200
+++ gmp/mpn/arm/udiv.asm 2013-08-11 17:38:18.078690240 +0200
@@ -50,7 +50,7 @@
teq r12, #0
bne L(oop)
- str n1, [ rem_ptr ] C store remainder
+ str n1, [rem_ptr] C store remainder
adc r0, n0, n0 C quotient: add last carry from divstep
mov pc, lr
@@ -89,7 +89,7 @@
addcs n0, n0, #1 C adjust quotient
L(_even_divisor):
- str n1, [ rem_ptr ] C store remainder
+ str n1, [rem_ptr] C store remainder
mov r0, n0 C quotient
ldmfd sp!, { r8, pc }
EPILOGUE(mpn_udiv_qrnnd)
--- gmp-4.2.1/gmp-h.in.orig 2013-03-26 14:53:42.132617397 +0100
+++ gmp-4.2.1/gmp-h.in 2013-03-26 14:53:47.424617630 +0100
@@ -420,8 +420,7 @@
for an inline too, so as to correctly specify "dllimport" on windows, in
case the function is called rather than inlined. */
#ifdef __GNUC__
-#define __GMP_EXTERN_INLINE extern __inline__
-#define __GMP_INLINE_PROTOTYPES 1
+#define __GMP_EXTERN_INLINE static __inline__
#endif
/* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1
--- gmp/longlong.h 2006-03-14 10:57:54.000000000 -0500
+++ gmp/longlong.h 2013-08-12 12:03:50.080931954 -0400
@@ -1011,7 +1011,19 @@
#endif /* __m88000__ */
#if defined (__mips) && W_TYPE_SIZE == 32
-#if __GNUC__ > 2 || __GNUC_MINOR__ >= 7
+
+#define GCC_VERSION (__GNUC__ * 10000 \
+ + __GNUC_MINOR__ * 100 \
+ + __GNUC_PATCHLEVEL__)
+
+#if GCC_VERSION >= 40400
+#define umul_ppmm(w1, w0, u, v) \
+ do { \
+ uint64_t res = u*v; \
+ w1 = res >> 32; \
+ w0 = res; \
+ } while(0);
+#elif GCC_VERSION >= 20700
#define umul_ppmm(w1, w0, u, v) \
__asm__ ("multu %2,%3" : "=l" (w0), "=h" (w1) : "d" (u), "d" (v))
#else
# GNU Multiple Precision Arithmetic # GNU Multiple Precision Arithmetic
#GMP_VERSION := 5.0.2 GMP_VERSION := 6.0.0
#GMP_URL := ftp://ftp.gmplib.org/pub/gmp-$(GMP_VERSION)/gmp-$(GMP_VERSION).tar.bz2 GMP_URL := ftp://ftp.gmplib.org/pub/gmp-$(GMP_VERSION)/gmp-$(GMP_VERSION).tar.bz2
# last LGPLv2 version:
GMP_VERSION := 4.2.1
GMP_URL := ftp://ftp.gnu.org/pub/gnu/gmp/gmp-$(GMP_VERSION).tar.bz2
$(TARBALLS)/gmp-$(GMP_VERSION).tar.bz2: $(TARBALLS)/gmp-$(GMP_VERSION).tar.bz2:
$(call download,$(GMP_URL)) $(call download,$(GMP_URL))
...@@ -13,15 +10,9 @@ $(TARBALLS)/gmp-$(GMP_VERSION).tar.bz2: ...@@ -13,15 +10,9 @@ $(TARBALLS)/gmp-$(GMP_VERSION).tar.bz2:
gmp: gmp-$(GMP_VERSION).tar.bz2 .sum-gmp gmp: gmp-$(GMP_VERSION).tar.bz2 .sum-gmp
$(UNPACK) $(UNPACK)
$(APPLY) $(SRC)/gmp/inline.diff
$(APPLY) $(SRC)/gmp/arm.diff
$(APPLY) $(SRC)/gmp/mips.diff
$(APPLY) $(SRC)/gmp/ansitest.diff
$(APPLY) $(SRC)/gmp/ansi2knr.diff
$(MOVE) $(MOVE)
.gmp: gmp .gmp: gmp
$(RECONF)
cd $< && $(HOSTVARS) ./configure $(HOSTCONF) cd $< && $(HOSTVARS) ./configure $(HOSTCONF)
cd $< && $(MAKE) install cd $< && $(MAKE) install
touch $@ touch $@
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment