diff options
author | Jussi Kukkonen <jussi.kukkonen@intel.com> | 2015-08-27 16:05:59 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-08-31 12:25:27 +0100 |
commit | 1adec83621f36a3dd748990c307ca4ebebcdd554 (patch) | |
tree | f28d42b38adb761730c497505d62a7d853ff60b8 /meta/recipes-support/gmp/gmp-6.0.0 | |
parent | 1c2f26ed3e98d6b702c21012bb9652d16798f2b2 (diff) | |
download | openembedded-core-1adec83621f36a3dd748990c307ca4ebebcdd554.tar.gz |
gmp: Bring back version 4.2.1 (LGPL 2.1+)
gmp 4.2.1 was removed in f181c6ce8b apparently accidentally: It
was not noticed that 4.2.1 is LGPL 2.1 (and not GPL) so provides
a useful alternative to the newer "GPLv2 | LGPLv3" version.
* Reintroduce 4.2.1. The source includes files that are GPL but the
library package is LGPL 2.1+
* Also reintroduce the two patches removed in f181c6ce8b.
* Refactor gmp.inc: gmp 6.0.0 build should not be affected in any way.
* Update 6.0.0 license from "GPLv2 | LGPLv3" to "GPLv2+ | LGPLv3+".
[YOCTO #8197]
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/gmp/gmp-6.0.0')
5 files changed, 333 insertions, 0 deletions
diff --git a/meta/recipes-support/gmp/gmp-6.0.0/amd64.patch b/meta/recipes-support/gmp/gmp-6.0.0/amd64.patch new file mode 100644 index 0000000000..564d12d42b --- /dev/null +++ b/meta/recipes-support/gmp/gmp-6.0.0/amd64.patch @@ -0,0 +1,18 @@ +Upstream-Status: Pending + +Index: gmp-5.0.3/longlong.h +=================================================================== +--- gmp-5.0.3.orig/longlong.h ++++ gmp-5.0.3/longlong.h +@@ -994,8 +994,10 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO ( + count is only an int. */ + #define count_trailing_zeros(count, x) \ + do { \ ++ UDItype __cbtmp; \ + ASSERT ((x) != 0); \ +- __asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x))); \ ++ __asm__ ("bsfq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \ ++ (count) = __cbtmp; \ + } while (0) + #endif /* x86_64 */ + diff --git a/meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch b/meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch new file mode 100644 index 0000000000..ae1386c4c1 --- /dev/null +++ b/meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch @@ -0,0 +1,52 @@ +Upstream-Status: Inappropriate + +Append the user provided flags to the auto-detected ones. + +Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> + +Index: gmp-5.1.1/configure.ac +=================================================================== +--- gmp-5.1.1.orig/configure.ac 2014-02-11 15:05:44.925202403 +0200 ++++ gmp-5.1.1/configure.ac 2014-02-11 15:19:03.918511398 +0200 +@@ -1745,8 +1745,12 @@ + EOF + + +-test_CFLAGS=${CFLAGS+set} +-test_CPPFLAGS=${CPPFLAGS+set} ++test_CFLAGS= ++test_CPPFLAGS= ++ ++user_CFLAGS=$CFLAGS ++user_CPPFLAGS=$CPPFLAGS ++user_CXXFLAGS=$CXXFLAGS + + for abi in $abilist; do + abi_last="$abi" +@@ -2175,7 +2179,7 @@ + want_cxx=no + AC_PROG_CXX + if test $enable_cxx != no; then +- test_CXXFLAGS=${CXXFLAGS+set} ++ test_CXXFLAGS= + + echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD() + cxxflags_ac_prog_cxx=$CXXFLAGS +@@ -2202,7 +2206,7 @@ + # Automake includes $CPPFLAGS in a C++ compile, so we do the same here. + # + for cxxflags_choice in $cxxflags_list; do +- eval CXXFLAGS=\"\$cxxflags_$cxxflags_choice\" ++ eval CXXFLAGS=\"\$cxxflags_$cxxflags_choice $user_CXXFLAGS\" + GMP_PROG_CXX_WORKS($CXX $CPPFLAGS $CXXFLAGS, + [want_cxx=yes + break]) +@@ -2292,6 +2296,8 @@ + # done + fi + ++CFLAGS="$CFLAGS $user_CFLAGS" ++CPPFLAGS="$CPPFLAGS $user_CPPFLAGS" + + cat >&AS_MESSAGE_LOG_FD() <<EOF + Decided: diff --git a/meta/recipes-support/gmp/gmp-6.0.0/configure.patch b/meta/recipes-support/gmp/gmp-6.0.0/configure.patch new file mode 100644 index 0000000000..349da3c6b0 --- /dev/null +++ b/meta/recipes-support/gmp/gmp-6.0.0/configure.patch @@ -0,0 +1,222 @@ +Upstream-Status: Pending + +Updated to apply to gmp-5.1.0 + +Signed-off-by: Marko Lindqvist <cazfi74@gmail.com> + +--- + acinclude.m4 | 32 +++++++++++++++++--------------- + configure.ac | 26 +++++++++----------------- + 2 files changed, 26 insertions(+), 32 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index 227712a..199aa6f 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -40,29 +40,29 @@ dnl a_out.exe - OpenVMS DEC C called via GNV wrapper (gnv.sourceforge.net) + dnl conftest.exe - various DOS compilers + + +-define(IA64_PATTERN, ++define([IA64_PATTERN], + [[ia64*-*-* | itanium-*-* | itanium2-*-*]]) + + dnl Need to be careful not to match m6811, m6812, m68hc11 and m68hc12, all + dnl of which config.sub accepts. (Though none of which are likely to work + dnl with GMP.) + dnl +-define(M68K_PATTERN, ++define([M68K_PATTERN], + [[m68k-*-* | m68[0-9][0-9][0-9]-*-*]]) + +-define(POWERPC64_PATTERN, ++define([POWERPC64_PATTERN], + [[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-* | powerpc970-*-* | power[3-9]-*-*]]) + +-define(S390_PATTERN, ++define([S390_PATTERN], + [[s390-*-* | z900esa-*-* | z990esa-*-* | z9esa-*-* | z10esa-*-* | z196esa-*-*]]) + +-define(S390X_PATTERN, ++define([S390X_PATTERN], + [[s390x-*-* | z900-*-* | z990-*-* | z9-*-* | z10-*-* | z196-*-*]]) + +-define(X86_PATTERN, ++define([X86_PATTERN], + [[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | geode*-*-* | atom-*-*]]) + +-define(X86_64_PATTERN, ++define([X86_64_PATTERN], + [[athlon64-*-* | k8-*-* | k10-*-* | bobcat-*-* | jaguar-*-* | bulldozer-*-* | piledriver-*-* | steamroller-*-* | excavator-*-* | pentium4-*-* | atom-*-* | core2-*-* | corei*-*-* | x86_64-*-* | nano-*-*]]) + + dnl GMP_FAT_SUFFIX(DSTVAR, DIRECTORY) +@@ -80,7 +80,7 @@ dnl x86 -> x86 + dnl x86/k6 -> k6 + dnl x86/k6/mmx -> k6_mmx + +-define(GMP_FAT_SUFFIX, ++define([GMP_FAT_SUFFIX], + [[$1=`echo $2 | sed -e '/\//s:^[^/]*/::' -e 's:[\\/]:_:g'`]]) + + +@@ -89,7 +89,7 @@ dnl ---------------------------------- + dnl Emit code to remove any occurrence of ITEM from $LISTVAR. ITEM can be a + dnl shell expression like $foo if desired. + +-define(GMP_REMOVE_FROM_LIST, ++define([GMP_REMOVE_FROM_LIST], + [remove_from_list_tmp= + for remove_from_list_i in $[][$1]; do + if test $remove_from_list_i = [$2]; then :; +@@ -105,12 +105,12 @@ dnl GMP_STRIP_PATH(subdir) + dnl ---------------------- + dnl Strip entries */subdir from $path and $fat_path. + +-define(GMP_STRIP_PATH, ++define([GMP_STRIP_PATH], + [GMP_STRIP_PATH_VAR(path, [$1]) + GMP_STRIP_PATH_VAR(fat_path, [$1]) + ]) + +-define(GMP_STRIP_PATH_VAR, ++define([GMP_STRIP_PATH_VAR], + [tmp_path= + for i in $[][$1]; do + case $i in +@@ -131,7 +131,7 @@ dnl + dnl Dummy value for GMP_LIMB_BITS is enough + dnl for all current configure-time uses of gmp.h. + +-define(GMP_INCLUDE_GMP_H, ++define([GMP_INCLUDE_GMP_H], + [[#define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */ + #define GMP_NAIL_BITS $GMP_NAIL_BITS + #define GMP_LIMB_BITS 123 +@@ -146,7 +146,7 @@ dnl Expand at autoconf time to the value of a "#define NAME" from the given + dnl FILE. The regexps here aren't very rugged, but are enough for gmp. + dnl /dev/null as a parameter prevents a hang if $2 is accidentally omitted. + +-define(GMP_HEADER_GETVAL, ++define([GMP_HEADER_GETVAL], + [patsubst(patsubst( + esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]), + [^.*$1[ ]+],[]), +@@ -160,7 +160,7 @@ dnl The gmp version number, extracted from the #defines in gmp-h.in at + dnl autoconf time. Two digits like 3.0 if patchlevel <= 0, or three digits + dnl like 3.0.1 if patchlevel > 0. + +-define(GMP_VERSION, ++define([GMP_VERSION], + [GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp-h.in)[]dnl + .GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp-h.in)[]dnl + .GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in)]) +@@ -1524,7 +1524,9 @@ esac + echo ["define(<CONFIG_TOP_SRCDIR>,<\`$tmp'>)"] >>$gmp_tmpconfigm4 + + # All CPUs use asm-defs.m4 +-echo ["include][(CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4')"] >>$gmp_tmpconfigm4i ++echo -n ["include("] >>$gmp_tmpconfigm4i ++echo -n ["CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4'"] >>$gmp_tmpconfigm4i ++echo [")"] >>$gmp_tmpconfigm4i + ]) + + +diff --git a/configure.ac b/configure.ac +index 64b2c50..f07b821 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -39,14 +39,6 @@ AC_REVISION($Revision$) + AC_PREREQ(2.59) + AC_INIT(GNU MP, GMP_VERSION, [gmp-bugs@gmplib.org, see https://gmplib.org/manual/Reporting-Bugs.html], gmp) + AC_CONFIG_SRCDIR(gmp-impl.h) +-m4_pattern_forbid([^[ \t]*GMP_]) +-m4_pattern_allow(GMP_LDFLAGS) +-m4_pattern_allow(GMP_LIMB_BITS) +-m4_pattern_allow(GMP_MPARAM_H_SUGGEST) +-m4_pattern_allow(GMP_NAIL_BITS) +-m4_pattern_allow(GMP_NUMB_BITS) +-m4_pattern_allow(GMP_NONSTD_ABI) +-m4_pattern_allow(GMP_CPU_TYPE) + + # If --target is not used then $target_alias is empty, but if say + # "./configure athlon-pc-freebsd3.5" is used, then all three of +@@ -348,7 +340,7 @@ AH_VERBATIM([HAVE_HOST_CPU_1], + # After GMP specific searches and tests, the standard autoconf AC_PROG_CC is + # called. User selections of CC etc are respected. + # +-# Care is taken not to use macros like AC_TRY_COMPILE during the GMP ++# Care is taken not to use macros like AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) during the GMP + # pre-testing, since they of course depend on AC_PROG_CC, and also some of + # them cache their results, which is not wanted. + # +@@ -440,7 +432,7 @@ abilist="standard" + # FIXME: We'd like to prefer an ANSI compiler, perhaps by preferring + # c89 over cc here. But note that on HP-UX c89 provides a castrated + # environment, and would want to be excluded somehow. Maybe +-# AC_PROG_CC_STDC already does enough to stick cc into ANSI mode and ++# already does enough to stick cc into ANSI mode and + # we don't need to worry. + # + cclist="gcc cc" +@@ -1843,7 +1835,7 @@ esac + CFLAGS_or_unset=${CFLAGS-'(unset)'} + CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'} + +-cat >&AC_FD_CC <<EOF ++cat >&AS_MESSAGE_LOG_FD() <<EOF + User: + ABI=$ABI + CC=$CC +@@ -2264,7 +2256,6 @@ AC_SUBST(DEFN_LONG_LONG_LIMB) + + # The C compiler and preprocessor, put into ANSI mode if possible. + AC_PROG_CC +-AC_PROG_CC_STDC + AC_PROG_CPP + + +@@ -2286,11 +2277,11 @@ AC_SUBST(CCAS) + + # The C++ compiler, if desired. + want_cxx=no ++AC_PROG_CXX + if test $enable_cxx != no; then + test_CXXFLAGS=${CXXFLAGS+set} +- AC_PROG_CXX + +- echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC ++ echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD() + cxxflags_ac_prog_cxx=$CXXFLAGS + cxxflags_list=ac_prog_cxx + +@@ -2412,7 +2403,7 @@ if test "$enable_assembly" = "no"; then + fi + + +-cat >&AC_FD_CC <<EOF ++cat >&AS_MESSAGE_LOG_FD() <<EOF + Decided: + ABI=$ABI + CC=$CC +@@ -3781,7 +3772,7 @@ GMP_FINISH + # FIXME: Upcoming version of autoconf/automake may not like broken lines. + # Right now automake isn't accepting the new AC_CONFIG_FILES scheme. + +-AC_OUTPUT(Makefile \ ++AC_CONFIG_FILES([Makefile \ + mpf/Makefile mpn/Makefile mpq/Makefile \ + mpz/Makefile printf/Makefile scanf/Makefile rand/Makefile cxx/Makefile \ + tests/Makefile tests/devel/Makefile \ +@@ -3790,7 +3781,8 @@ AC_OUTPUT(Makefile \ + tests/cxx/Makefile \ + doc/Makefile tune/Makefile \ + demos/Makefile demos/calc/Makefile demos/expr/Makefile \ +- gmp.h:gmp-h.in) ++ gmp.h:gmp-h.in]) ++AC_OUTPUT + + AC_MSG_NOTICE([summary of build options: + +-- +1.9.1 + diff --git a/meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch b/meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch new file mode 100644 index 0000000000..1113b41ecd --- /dev/null +++ b/meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch @@ -0,0 +1,26 @@ + +Signed-off-by: Armin Kuster <akuster808@gmail.com> + +This patch with pulled from gmp. +https://gmplib.org/repo/gmp/rev/4a6d258b467f +Upstream-Status: Backport + +# HG changeset patch +# User Torbjorn Granlund <tege@gmplib.org> +# Date 1395835068 -3600 +# Node ID 4a6d258b467f661da0894cc60ecd060f2e3c67c7 +# Parent 301ce2788826a2d4d2725bd5cf01e998638db37a +Provide default for BMOD_1_TO_MOD_1_THRESHOLD. + +diff -r 301ce2788826 -r 4a6d258b467f mpn/powerpc64/mode64/gcd_1.asm +--- a/mpn/powerpc64/mode64/gcd_1.asm Tue Mar 25 15:34:52 2014 +0100 ++++ b/mpn/powerpc64/mode64/gcd_1.asm Wed Mar 26 12:57:48 2014 +0100 +@@ -43,6 +43,9 @@ + define(`n', `r4') + define(`v0', `r5') + ++ifdef(`BMOD_1_TO_MOD_1_THRESHOLD',, ++ `define(`BMOD_1_TO_MOD_1_THRESHOLD',30)') ++ + EXTERN_FUNC(mpn_mod_1) + EXTERN_FUNC(mpn_modexact_1c_odd) diff --git a/meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch b/meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch new file mode 100644 index 0000000000..74904a2530 --- /dev/null +++ b/meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch @@ -0,0 +1,15 @@ +Upstream-Status: Pending + +Index: gmp-4.2.4/Makefile.am +=================================================================== +--- gmp-4.2.4.orig/Makefile.am 2008-09-10 19:31:27.000000000 +0000 ++++ gmp-4.2.4/Makefile.am 2009-07-06 20:19:19.000000000 +0000 +@@ -106,7 +106,7 @@ + # but anyone knowledgable enough to be playing with exec_prefix will be able + # to address that. + # +-includeexecdir = $(exec_prefix)/include ++includeexecdir = $(includedir) + include_HEADERS = $(GMPXX_HEADERS_OPTION) + nodist_includeexec_HEADERS = gmp.h $(MPBSD_HEADERS_OPTION) + lib_LTLIBRARIES = libgmp.la $(GMPXX_LTLIBRARIES_OPTION) $(MPBSD_LTLIBRARIES_OPTION) |