summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/gmp
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-09-01 19:09:11 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-09-01 19:09:57 +0100
commitd62ee7eaf2ba025c3f64b2d4e10dc7cec4637612 (patch)
treef36fe3008f36ff75cbdd31b630f8f13f1f205ebb /meta/recipes-support/gmp
parentcaab7fc509bf27706ff3248689f6afd04225cfda (diff)
downloadpoky-d62ee7eaf2ba025c3f64b2d4e10dc7cec4637612.tar.gz
packages: Separate out most of the remaining packages into recipes
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-support/gmp')
-rw-r--r--meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch31
-rw-r--r--meta/recipes-support/gmp/gmp.inc16
-rw-r--r--meta/recipes-support/gmp/gmp/amd64.patch14
-rw-r--r--meta/recipes-support/gmp/gmp/configure.patch195
-rw-r--r--meta/recipes-support/gmp/gmp/sh4-asmfix.patch26
-rw-r--r--meta/recipes-support/gmp/gmp/use-includedir.patch13
-rw-r--r--meta/recipes-support/gmp/gmp_4.2.1.bb14
-rw-r--r--meta/recipes-support/gmp/gmp_5.0.1.bb7
8 files changed, 316 insertions, 0 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..83c9eae36a
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch
@@ -0,0 +1,31 @@
1# "extern inline" in traditional gcc means that the function should be
2# inlined wherever it's seen, while in C99, "extern inline" means that i
3# the function should only be inlined where the inline definition is
4# seen while in other places it's not inlined:
5# http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html
6#
7# gmp checks "--std=gnu99" to use C99 convention however it internally
8# defines some "extern inline" functions in gmp.h, which is included
9# by mainly .c files and finally lead a flood of redefinition function
10# errors when linking objects together.
11#
12# So disable C99/ANSI detection to stick to tranditional gcc behavior
13#
14# by Kevin Tian <kevin.tian@intel.com>, 2010-08-13
15#
16# (this patch is licensed under GPLv2+)
17
18diff --git a/configure.in b/configure.in
19index 450cc92..aab0b59 100644
20--- a/configure.in
21+++ b/configure.in
22@@ -1869,9 +1869,7 @@ AC_SUBST(DEFN_LONG_LONG_LIMB)
23
24 # The C compiler and preprocessor, put into ANSI mode if possible.
25 AC_PROG_CC
26-AC_PROG_CC_STDC
27 AC_PROG_CPP
28-GMP_H_ANSI
29
30
31 # The C compiler on the build system, and associated tests.
diff --git a/meta/recipes-support/gmp/gmp.inc b/meta/recipes-support/gmp/gmp.inc
new file mode 100644
index 0000000000..6b56f7e7c8
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp.inc
@@ -0,0 +1,16 @@
1SECTION = "devel"
2DESCRIPTION = "GNU multiprecision arithmetic library"
3HOMEPAGE = "http://www.swox.com/gmp/"
4LICENSE = "GPLv3 LGPLv3"
5
6SRC_URI = "ftp://ftp.gnu.org/gnu/gmp/gmp-${PV}.tar.bz2 \
7 file://configure.patch \
8 file://amd64.patch "
9
10inherit autotools
11
12ARM_INSTRUCTION_SET = "arm"
13
14acpaths = ""
15
16BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-support/gmp/gmp/amd64.patch b/meta/recipes-support/gmp/gmp/amd64.patch
new file mode 100644
index 0000000000..67be9dd350
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp/amd64.patch
@@ -0,0 +1,14 @@
1--- gmp-4.1.4/longlong.h.orig 2004-04-22 00:34:28.000000000 +0200
2+++ gmp-4.1.4/longlong.h 2005-07-18 01:13:06.000000000 +0200
3@@ -738,8 +738,10 @@
4 count is only an int. */
5 #define count_trailing_zeros(count, x) \
6 do { \
7+ UDItype __cbtmp; \
8 ASSERT ((x) != 0); \
9- __asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x))); \
10+ __asm__ ("bsfq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \
11+ (count) = __cbtmp; \
12 } while (0)
13 #endif /* x86_64 */
14
diff --git a/meta/recipes-support/gmp/gmp/configure.patch b/meta/recipes-support/gmp/gmp/configure.patch
new file mode 100644
index 0000000000..ed0c02d86c
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp/configure.patch
@@ -0,0 +1,195 @@
1 acinclude.m4 | 26 ++++++++++++++------------
2 configure.in | 24 +++++++++---------------
3 2 files changed, 23 insertions(+), 27 deletions(-)
4
5Index: gmp-5.0.1/acinclude.m4
6===================================================================
7--- gmp-5.0.1.orig/acinclude.m4
8+++ gmp-5.0.1/acinclude.m4
9@@ -30,20 +30,20 @@ dnl a_out.exe - OpenVMS DEC C called
10 dnl conftest.exe - various DOS compilers
11
12
13-define(IA64_PATTERN,
14+define([IA64_PATTERN],
15 [[ia64*-*-* | itanium-*-* | itanium2-*-*]])
16
17 dnl Need to be careful not to match m6811, m6812, m68hc11 and m68hc12, all
18 dnl of which config.sub accepts. (Though none of which are likely to work
19 dnl with GMP.)
20 dnl
21-define(M68K_PATTERN,
22+define([M68K_PATTERN],
23 [[m68k-*-* | m68[0-9][0-9][0-9]-*-*]])
24
25-define(POWERPC64_PATTERN,
26+define([POWERPC64_PATTERN],
27 [[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-* | powerpc970-*-* | power[3-9]-*-*]])
28
29-define(X86_PATTERN,
30+define([X86_PATTERN],
31 [[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | geode*-*-* | atom-*-*]])
32
33 define(X86_64_PATTERN,
34@@ -64,7 +64,7 @@ dnl x86 -> x86
35 dnl x86/k6 -> k6
36 dnl x86/k6/mmx -> k6_mmx
37
38-define(GMP_FAT_SUFFIX,
39+define([GMP_FAT_SUFFIX],
40 [[$1=`echo $2 | sed -e '/\//s:^[^/]*/::' -e 's:[\\/]:_:g'`]])
41
42
43@@ -73,7 +73,7 @@ dnl ----------------------------------
44 dnl Emit code to remove any occurrence of ITEM from $LISTVAR. ITEM can be a
45 dnl shell expression like $foo if desired.
46
47-define(GMP_REMOVE_FROM_LIST,
48+define([GMP_REMOVE_FROM_LIST],
49 [remove_from_list_tmp=
50 for remove_from_list_i in $[][$1]; do
51 if test $remove_from_list_i = [$2]; then :;
52@@ -89,12 +89,12 @@ dnl GMP_STRIP_PATH(subdir)
53 dnl ----------------------
54 dnl Strip entries */subdir from $path and $fat_path.
55
56-define(GMP_STRIP_PATH,
57+define([GMP_STRIP_PATH],
58 [GMP_STRIP_PATH_VAR(path, [$1])
59 GMP_STRIP_PATH_VAR(fat_path, [$1])
60 ])
61
62-define(GMP_STRIP_PATH_VAR,
63+define([GMP_STRIP_PATH_VAR],
64 [tmp_path=
65 for i in $[][$1]; do
66 case $i in
67@@ -115,7 +115,7 @@ dnl
68 dnl Dummy value for GMP_LIMB_BITS is enough
69 dnl for all current configure-time uses of gmp.h.
70
71-define(GMP_INCLUDE_GMP_H,
72+define([GMP_INCLUDE_GMP_H],
73 [[#define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */
74 #define GMP_NAIL_BITS $GMP_NAIL_BITS
75 #define GMP_LIMB_BITS 123
76@@ -130,7 +130,7 @@ dnl Expand at autoconf time to the valu
77 dnl FILE. The regexps here aren't very rugged, but are enough for gmp.
78 dnl /dev/null as a parameter prevents a hang if $2 is accidentally omitted.
79
80-define(GMP_HEADER_GETVAL,
81+define([GMP_HEADER_GETVAL],
82 [patsubst(patsubst(
83 esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]),
84 [^.*$1[ ]+],[]),
85@@ -144,7 +144,7 @@ dnl The gmp version number, extracted f
86 dnl autoconf time. Two digits like 3.0 if patchlevel <= 0, or three digits
87 dnl like 3.0.1 if patchlevel > 0.
88
89-define(GMP_VERSION,
90+define([GMP_VERSION],
91 [GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp-h.in)[]dnl
92 .GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp-h.in)[]dnl
93 .GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in)])
94@@ -1506,7 +1506,9 @@ esac
95 echo ["define(<CONFIG_TOP_SRCDIR>,<\`$tmp'>)"] >>$gmp_tmpconfigm4
96
97 # All CPUs use asm-defs.m4
98-echo ["include][(CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4')"] >>$gmp_tmpconfigm4i
99+echo -n ["include("] >>$gmp_tmpconfigm4i
100+echo -n ["CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4'"] >>$gmp_tmpconfigm4i
101+echo [")"] >>$gmp_tmpconfigm4i
102 ])
103
104
105Index: gmp-5.0.1/configure.in
106===================================================================
107--- gmp-5.0.1.orig/configure.in
108+++ gmp-5.0.1/configure.in
109@@ -29,12 +29,6 @@ AC_REVISION($Revision$)
110 AC_PREREQ(2.59)
111 AC_INIT(GNU MP, GMP_VERSION, gmp-bugs@gmplib.org, gmp)
112 AC_CONFIG_SRCDIR(gmp-impl.h)
113-m4_pattern_forbid([^[ \t]*GMP_])
114-m4_pattern_allow(GMP_LDFLAGS)
115-m4_pattern_allow(GMP_LIMB_BITS)
116-m4_pattern_allow(GMP_MPARAM_H_SUGGEST)
117-m4_pattern_allow(GMP_NAIL_BITS)
118-m4_pattern_allow(GMP_NUMB_BITS)
119
120 # If --target is not used then $target_alias is empty, but if say
121 # "./configure athlon-pc-freebsd3.5" is used, then all three of
122@@ -303,7 +297,7 @@ AH_VERBATIM([HAVE_HOST_CPU_1],
123 # After GMP specific searches and tests, the standard autoconf AC_PROG_CC is
124 # called. User selections of CC etc are respected.
125 #
126-# Care is taken not to use macros like AC_TRY_COMPILE during the GMP
127+# Care is taken not to use macros like AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) during the GMP
128 # pre-testing, since they of course depend on AC_PROG_CC, and also some of
129 # them cache their results, which is not wanted.
130 #
131@@ -395,7 +389,7 @@ abilist="standard"
132 # FIXME: We'd like to prefer an ANSI compiler, perhaps by preferring
133 # c89 over cc here. But note that on HP-UX c89 provides a castrated
134 # environment, and would want to be excluded somehow. Maybe
135-# AC_PROG_CC_STDC already does enough to stick cc into ANSI mode and
136+# already does enough to stick cc into ANSI mode and
137 # we don't need to worry.
138 #
139 cclist="gcc cc"
140@@ -1580,7 +1574,7 @@ esac
141 CFLAGS_or_unset=${CFLAGS-'(unset)'}
142 CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
143
144-cat >&AC_FD_CC <<EOF
145+cat >&AS_MESSAGE_LOG_FD() <<EOF
146 User:
147 ABI=$ABI
148 CC=$CC
149@@ -1987,7 +1981,6 @@ AC_SUBST(DEFN_LONG_LONG_LIMB)
150
151 # The C compiler and preprocessor, put into ANSI mode if possible.
152 AC_PROG_CC
153-AC_PROG_CC_STDC
154 AC_PROG_CPP
155 GMP_H_ANSI
156
157@@ -2010,11 +2003,11 @@ AC_SUBST(CCAS)
158
159 # The C++ compiler, if desired.
160 want_cxx=no
161+AC_PROG_CXX
162 if test $enable_cxx != no; then
163 test_CXXFLAGS=${CXXFLAGS+set}
164- AC_PROG_CXX
165
166- echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC
167+ echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD()
168 cxxflags_ac_prog_cxx=$CXXFLAGS
169 cxxflags_list=ac_prog_cxx
170
171@@ -2120,7 +2113,7 @@ case $host in
172 esac
173
174
175-cat >&AC_FD_CC <<EOF
176+cat >&AS_MESSAGE_LOG_FD() <<EOF
177 Decided:
178 ABI=$ABI
179 CC=$CC
180@@ -3376,7 +3369,7 @@ GMP_FINISH
181 # FIXME: Upcoming version of autoconf/automake may not like broken lines.
182 # Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
183
184-AC_OUTPUT(Makefile \
185+AC_CONFIG_FILES([Makefile \
186 mpbsd/Makefile mpf/Makefile mpn/Makefile mpq/Makefile \
187 mpz/Makefile printf/Makefile scanf/Makefile cxx/Makefile \
188 tests/Makefile tests/devel/Makefile tests/mpbsd/Makefile \
189@@ -3385,4 +3378,5 @@ AC_OUTPUT(Makefile \
190 tests/cxx/Makefile \
191 doc/Makefile tune/Makefile \
192 demos/Makefile demos/calc/Makefile demos/expr/Makefile \
193- gmp.h:gmp-h.in mp.h:mp-h.in)
194+ gmp.h:gmp-h.in mp.h:mp-h.in])
195+AC_OUTPUT
diff --git a/meta/recipes-support/gmp/gmp/sh4-asmfix.patch b/meta/recipes-support/gmp/gmp/sh4-asmfix.patch
new file mode 100644
index 0000000000..1a01f61533
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp/sh4-asmfix.patch
@@ -0,0 +1,26 @@
1--- gmp-4.1.4/mpn/sh/add_n.s 2005/11/17 08:44:00 1.1
2+++ gmp-4.1.4/mpn/sh/add_n.s 2005/11/17 08:18:57
3@@ -29,8 +29,8 @@
4
5 .text
6 .align 2
7- .global ___gmpn_add_n
8-___gmpn_add_n:
9+ .global __gmpn_add_n
10+__gmpn_add_n:
11 mov #0,r3 ! clear cy save reg
12
13 Loop: mov.l @r5+,r1
14--- gmp-4.1.4/mpn/sh/sub_n.s 2005/11/17 08:44:04 1.1
15+++ gmp-4.1.4/mpn/sh/sub_n.s 2005/11/17 08:18:59
16@@ -29,8 +29,8 @@
17
18 .text
19 .align 2
20- .global ___gmpn_sub_n
21-___gmpn_sub_n:
22+ .global __gmpn_sub_n
23+__gmpn_sub_n:
24 mov #0,r3 ! clear cy save reg
25
26 Loop: mov.l @r5+,r1
diff --git a/meta/recipes-support/gmp/gmp/use-includedir.patch b/meta/recipes-support/gmp/gmp/use-includedir.patch
new file mode 100644
index 0000000000..ee3891f807
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp/use-includedir.patch
@@ -0,0 +1,13 @@
1Index: gmp-4.2.4/Makefile.am
2===================================================================
3--- gmp-4.2.4.orig/Makefile.am 2008-09-10 19:31:27.000000000 +0000
4+++ gmp-4.2.4/Makefile.am 2009-07-06 20:19:19.000000000 +0000
5@@ -106,7 +106,7 @@
6 # but anyone knowledgable enough to be playing with exec_prefix will be able
7 # to address that.
8 #
9-includeexecdir = $(exec_prefix)/include
10+includeexecdir = $(includedir)
11 include_HEADERS = $(GMPXX_HEADERS_OPTION)
12 nodist_includeexec_HEADERS = gmp.h $(MPBSD_HEADERS_OPTION)
13 lib_LTLIBRARIES = libgmp.la $(GMPXX_LTLIBRARIES_OPTION) $(MPBSD_LTLIBRARIES_OPTION)
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..d70dcf2665
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp_4.2.1.bb
@@ -0,0 +1,14 @@
1DESCRIPTION = "GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers"
2HOMEPAGE = "http://gmplib.org/"
3BUGTRACKER = "http://gmplib.org/mailman/listinfo/gmp-bugs"
4# demo is licensed under GPLv2+, which however we don't package at all
5LICENSE = "LGPLv2.1+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a \
7 file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \
8 file://gmp-h.in;startline=6;endline=21;md5=5e25ffd16996faba8c1cd27b04b16099"
9PR = "r0"
10
11SRC_URI = "ftp://ftp.gnu.org/gnu/gmp/${BP}.tar.bz2 \
12 file://disable-stdc.patch"
13
14inherit autotools
diff --git a/meta/recipes-support/gmp/gmp_5.0.1.bb b/meta/recipes-support/gmp/gmp_5.0.1.bb
new file mode 100644
index 0000000000..dd908bd7ca
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp_5.0.1.bb
@@ -0,0 +1,7 @@
1require gmp.inc
2
3PR = "r0"
4
5SRC_URI_append += "file://sh4-asmfix.patch \
6 file://use-includedir.patch "
7