diff options
author | Richard Purdie <rpurdie@linux.intel.com> | 2010-09-01 19:09:11 +0100 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-09-01 19:09:57 +0100 |
commit | d62ee7eaf2ba025c3f64b2d4e10dc7cec4637612 (patch) | |
tree | f36fe3008f36ff75cbdd31b630f8f13f1f205ebb /meta/recipes-support/gmp | |
parent | caab7fc509bf27706ff3248689f6afd04225cfda (diff) | |
download | poky-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.patch | 31 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp.inc | 16 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp/amd64.patch | 14 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp/configure.patch | 195 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp/sh4-asmfix.patch | 26 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp/use-includedir.patch | 13 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp_4.2.1.bb | 14 | ||||
-rw-r--r-- | meta/recipes-support/gmp/gmp_5.0.1.bb | 7 |
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 | |||
18 | diff --git a/configure.in b/configure.in | ||
19 | index 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 @@ | |||
1 | SECTION = "devel" | ||
2 | DESCRIPTION = "GNU multiprecision arithmetic library" | ||
3 | HOMEPAGE = "http://www.swox.com/gmp/" | ||
4 | LICENSE = "GPLv3 LGPLv3" | ||
5 | |||
6 | SRC_URI = "ftp://ftp.gnu.org/gnu/gmp/gmp-${PV}.tar.bz2 \ | ||
7 | file://configure.patch \ | ||
8 | file://amd64.patch " | ||
9 | |||
10 | inherit autotools | ||
11 | |||
12 | ARM_INSTRUCTION_SET = "arm" | ||
13 | |||
14 | acpaths = "" | ||
15 | |||
16 | BBCLASSEXTEND = "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 | |||
5 | Index: 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 | |||
105 | Index: 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 @@ | |||
1 | Index: 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 @@ | |||
1 | DESCRIPTION = "GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers" | ||
2 | HOMEPAGE = "http://gmplib.org/" | ||
3 | BUGTRACKER = "http://gmplib.org/mailman/listinfo/gmp-bugs" | ||
4 | # demo is licensed under GPLv2+, which however we don't package at all | ||
5 | LICENSE = "LGPLv2.1+" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a \ | ||
7 | file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24 \ | ||
8 | file://gmp-h.in;startline=6;endline=21;md5=5e25ffd16996faba8c1cd27b04b16099" | ||
9 | PR = "r0" | ||
10 | |||
11 | SRC_URI = "ftp://ftp.gnu.org/gnu/gmp/${BP}.tar.bz2 \ | ||
12 | file://disable-stdc.patch" | ||
13 | |||
14 | inherit 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 @@ | |||
1 | require gmp.inc | ||
2 | |||
3 | PR = "r0" | ||
4 | |||
5 | SRC_URI_append += "file://sh4-asmfix.patch \ | ||
6 | file://use-includedir.patch " | ||
7 | |||