mirror of
https://git.yoctoproject.org/poky
synced 2026-04-08 17:02:22 +02:00
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] (From OE-Core rev: 1adec83621f36a3dd748990c307ca4ebebcdd554) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
b9ade91413
commit
6fac60da96
39
meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch
Normal file
39
meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch
Normal file
@@ -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.
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
15
meta/recipes-support/gmp/gmp_4.2.1.bb
Normal file
15
meta/recipes-support/gmp/gmp_4.2.1.bb
Normal file
@@ -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"
|
||||
@@ -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"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user