mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 00:20:08 +00: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
@@ -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"
|
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"
|
DESCRIPTION = "GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers"
|
||||||
HOMEPAGE = "http://gmplib.org/"
|
HOMEPAGE = "http://gmplib.org/"
|
||||||
LICENSE = "GPLv3 LGPLv3"
|
|
||||||
|
|
||||||
REVISION ?= ""
|
REVISION ?= ""
|
||||||
|
SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2"
|
||||||
SRC_URI = "https://gmplib.org/download/${BPN}/${BP}${REVISION}.tar.bz2 \
|
|
||||||
file://configure.patch \
|
|
||||||
file://amd64.patch "
|
|
||||||
|
|
||||||
inherit autotools texinfo
|
inherit autotools texinfo
|
||||||
|
|
||||||
ARM_INSTRUCTION_SET = "arm"
|
ARM_INSTRUCTION_SET = "arm"
|
||||||
|
|
||||||
acpaths = ""
|
|
||||||
|
|
||||||
BBCLASSEXTEND = "native nativesdk"
|
BBCLASSEXTEND = "native nativesdk"
|
||||||
|
|
||||||
PACKAGECONFIG ??= ""
|
PACKAGECONFIG ??= ""
|
||||||
PACKAGECONFIG[readline] = "--with-readline=yes,--with-readline=no,readline"
|
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"
|
|
||||||
|
|||||||
@@ -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
|
require gmp.inc
|
||||||
LICENSE="GPLv2 | LGPLv3"
|
|
||||||
|
LICENSE="GPLv2+ | LGPLv3+"
|
||||||
|
|
||||||
REVISION="a"
|
REVISION="a"
|
||||||
|
|
||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
|
||||||
file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
|
file://COPYING.LESSERv3;md5=6a6a8e020838b23406c81b19c1d46df6 \
|
||||||
file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||||
"
|
|
||||||
SRC_URI_append = " file://use-includedir.patch \
|
|
||||||
file://append_user_provided_flags.patch \
|
|
||||||
file://gmp-6.0.0-ppc64.patch \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
|
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[md5sum] = "b7ff2d88cae7f8085bd5006096eed470"
|
||||||
SRC_URI[sha256sum] = "7f8e9a804b9c6d07164cf754207be838ece1219425d64e28cfa3e70d5c759aaf"
|
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