summaryrefslogtreecommitdiff
path: root/meta/recipes-support/gmp
diff options
context:
space:
mode:
authorJussi Kukkonen <jussi.kukkonen@intel.com>2015-08-27 16:05:59 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-08-31 12:25:27 +0100
commit1adec83621f36a3dd748990c307ca4ebebcdd554 (patch)
treef28d42b38adb761730c497505d62a7d853ff60b8 /meta/recipes-support/gmp
parent1c2f26ed3e98d6b702c21012bb9652d16798f2b2 (diff)
downloadopenembedded-core-1adec83621f36a3dd748990c307ca4ebebcdd554.tar.gz
openembedded-core-1adec83621f36a3dd748990c307ca4ebebcdd554.tar.bz2
openembedded-core-1adec83621f36a3dd748990c307ca4ebebcdd554.zip
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')
-rw-r--r--meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch39
-rw-r--r--meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch56
-rw-r--r--meta/recipes-support/gmp/gmp-6.0.0/amd64.patch (renamed from meta/recipes-support/gmp/gmp/amd64.patch)0
-rw-r--r--meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch (renamed from meta/recipes-support/gmp/gmp/append_user_provided_flags.patch)0
-rw-r--r--meta/recipes-support/gmp/gmp-6.0.0/configure.patch (renamed from meta/recipes-support/gmp/gmp/configure.patch)0
-rw-r--r--meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch (renamed from meta/recipes-support/gmp/gmp/gmp-6.0.0-ppc64.patch)0
-rw-r--r--meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch (renamed from meta/recipes-support/gmp/gmp/use-includedir.patch)0
-rw-r--r--meta/recipes-support/gmp/gmp.inc19
-rw-r--r--meta/recipes-support/gmp/gmp_4.2.1.bb15
-rw-r--r--meta/recipes-support/gmp/gmp_6.0.0.bb33
10 files changed, 137 insertions, 25 deletions
diff --git a/meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch b/meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch
new file mode 100644
index 0000000000..5decb1cec5
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch
@@ -0,0 +1,39 @@
+This patch was removed in f181c6ce8b3 when gmp 4.2.1 was mistakenly
+dropped.
+
+Upstream is not interested in patches for ancient versions.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+
+# "extern inline" in traditional gcc means that the function should be
+# inlined wherever it's seen, while in C99, "extern inline" means that i
+# the function should only be inlined where the inline definition is
+# seen while in other places it's not inlined:
+# http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html
+#
+# gmp checks "--std=gnu99" to use C99 convention however it internally
+# defines some "extern inline" functions in gmp.h, which is included
+# by mainly .c files and finally lead a flood of redefinition function
+# errors when linking objects together.
+#
+# So disable C99/ANSI detection to stick to tranditional gcc behavior
+#
+# by Kevin Tian <kevin.tian@intel.com>, 2010-08-13
+#
+# (this patch is licensed under GPLv2+)
+
+diff --git a/configure.in b/configure.in
+index 450cc92..aab0b59 100644
+--- a/configure.in
++++ b/configure.in
+@@ -1869,9 +1869,7 @@ 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
+-GMP_H_ANSI
+
+
+ # The C compiler on the build system, and associated tests.
diff --git a/meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch b/meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch
new file mode 100644
index 0000000000..63aed05ece
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch
@@ -0,0 +1,56 @@
+automake 1.12 has depricated automatic de-ANSI-fication support
+
+this patch avoids these kinds of errors:
+
+| configure.in:2240: error: automatic de-ANSI-fication support has been removed
+| Makefile.am:28: error: automatic de-ANSI-fication support has been removed
+
+Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
+2012/05/02
+
+
+This patch was removed in f181c6ce8b3 when gmp 4.2.1 was mistakenly
+dropped.
+
+Upstream is not interested in patches for ancient versions.
+
+Upstream-Status: Inappropriate
+Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
+
+
+Index: gmp-4.2.1/configure.in
+===================================================================
+--- gmp-4.2.1.orig/configure.in
++++ gmp-4.2.1/configure.in
+@@ -67,7 +67,7 @@ dnl
+ 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
+
+@@ -2022,9 +2022,6 @@ fi
+ echo " MPN_PATH=\"$path\""
+
+
+-# Automake ansi2knr support.
+-AM_C_PROTOTYPES
+-
+ GMP_PROG_AR
+ GMP_PROG_NM
+
+Index: gmp-4.2.1/Makefile.am
+===================================================================
+--- gmp-4.2.1.orig/Makefile.am
++++ gmp-4.2.1/Makefile.am
+@@ -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
diff --git a/meta/recipes-support/gmp/gmp/amd64.patch b/meta/recipes-support/gmp/gmp-6.0.0/amd64.patch
index 564d12d42b..564d12d42b 100644
--- a/meta/recipes-support/gmp/gmp/amd64.patch
+++ b/meta/recipes-support/gmp/gmp-6.0.0/amd64.patch
diff --git a/meta/recipes-support/gmp/gmp/append_user_provided_flags.patch b/meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch
index ae1386c4c1..ae1386c4c1 100644
--- a/meta/recipes-support/gmp/gmp/append_user_provided_flags.patch
+++ b/meta/recipes-support/gmp/gmp-6.0.0/append_user_provided_flags.patch
diff --git a/meta/recipes-support/gmp/gmp/configure.patch b/meta/recipes-support/gmp/gmp-6.0.0/configure.patch
index 349da3c6b0..349da3c6b0 100644
--- a/meta/recipes-support/gmp/gmp/configure.patch
+++ b/meta/recipes-support/gmp/gmp-6.0.0/configure.patch
diff --git a/meta/recipes-support/gmp/gmp/gmp-6.0.0-ppc64.patch b/meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch
index 1113b41ecd..1113b41ecd 100644
--- a/meta/recipes-support/gmp/gmp/gmp-6.0.0-ppc64.patch
+++ b/meta/recipes-support/gmp/gmp-6.0.0/gmp-6.0.0-ppc64.patch
diff --git a/meta/recipes-support/gmp/gmp/use-includedir.patch b/meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch
index 74904a2530..74904a2530 100644
--- a/meta/recipes-support/gmp/gmp/use-includedir.patch
+++ b/meta/recipes-support/gmp/gmp-6.0.0/use-includedir.patch
diff --git a/meta/recipes-support/gmp/gmp.inc b/meta/recipes-support/gmp/gmp.inc
index 65cde21a7d..6752a39d13 100644
--- a/meta/recipes-support/gmp/gmp.inc
+++ b/meta/recipes-support/gmp/gmp.inc
@@ -2,32 +2,15 @@ SECTION = "devel"
SUMMARY = "GNU multiprecision arithmetic library"
DESCRIPTION = "GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers"
HOMEPAGE = "http://gmplib.org/"
-LICENSE = "GPLv3 LGPLv3"
REVISION ?= ""
-
-SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2 \
- file://configure.patch \
- file://amd64.patch "
+SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2"
inherit autotools texinfo
ARM_INSTRUCTION_SET = "arm"
-acpaths = ""
-
BBCLASSEXTEND = "native nativesdk"
PACKAGECONFIG ??= ""
PACKAGECONFIG[readline] = "--with-readline=yes,--with-readline=no,readline"
-
-EXTRA_OECONF += " --enable-cxx=detect"
-
-PACKAGES =+ "libgmpxx"
-FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}"
-
-do_install_append_class-target() {
- sed -i "s|--sysroot=${STAGING_DIR_HOST}||g" ${D}${includedir}/gmp.h
-}
-
-SSTATE_SCAN_FILES += "gmp.h"
diff --git a/meta/recipes-support/gmp/gmp_4.2.1.bb b/meta/recipes-support/gmp/gmp_4.2.1.bb
new file mode 100644
index 0000000000..928c01a5bb
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp_4.2.1.bb
@@ -0,0 +1,15 @@
+require gmp.inc
+
+LICENSE = "LGPLv2.1+ & GPLv2+"
+LICENSE_${PN} = "LGPLv2.1+"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a \
+ file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \
+ file://gmp-h.in;beginline=6;endline=21;md5=e056f74a12c3277d730dbcfb85d2ca34"
+
+SRC_URI += "file://disable-stdc.patch \
+ file://gmp_fix_for_automake-1.12.patch \
+ "
+
+SRC_URI[md5sum] = "091c56e0e1cca6b09b17b69d47ef18e3"
+SRC_URI[sha256sum] = "d07ffcb37eecec35c5ec72516d10b35fdf6e6fef1fcf1dcd37e30b8cbf8bf941"
diff --git a/meta/recipes-support/gmp/gmp_6.0.0.bb b/meta/recipes-support/gmp/gmp_6.0.0.bb
index 6218491142..19b63e5683 100644
--- a/meta/recipes-support/gmp/gmp_6.0.0.bb
+++ b/meta/recipes-support/gmp/gmp_6.0.0.bb
@@ -1,14 +1,33 @@
require gmp.inc
-LICENSE="GPLv2 | LGPLv3"
+
+LICENSE="GPLv2+ | LGPLv3+"
+
REVISION="a"
+
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
- file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
- file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-"
-SRC_URI_append = " file://use-includedir.patch \
- file://append_user_provided_flags.patch \
- file://gmp-6.0.0-ppc64.patch \
+ file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
+ file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
"
+SRC_URI += "file://configure.patch \
+ file://amd64.patch \
+ file://use-includedir.patch \
+ file://append_user_provided_flags.patch \
+ file://gmp-6.0.0-ppc64.patch \
+ "
SRC_URI[md5sum] = "b7ff2d88cae7f8085bd5006096eed470"
SRC_URI[sha256sum] = "7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf"
+
+acpaths = ""
+
+EXTRA_OECONF += " --enable-cxx=detect"
+
+PACKAGES =+ "libgmpxx"
+FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}"
+
+do_install_append_class-target() {
+ sed -i "s|--sysroot=${STAGING_DIR_HOST}||g" ${D}${includedir}/gmp.h
+}
+
+SSTATE_SCAN_FILES += "gmp.h"
+