summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/gmp
diff options
context:
space:
mode:
authorAdrian Dudau <adrian.dudau@enea.com>2013-12-12 13:38:32 +0100
committerAdrian Dudau <adrian.dudau@enea.com>2013-12-12 13:50:20 +0100
commite2e6f6fe07049f33cb6348780fa975162752e421 (patch)
treeb1813295411235d1297a0ed642b1346b24fdfb12 /meta/recipes-support/gmp
downloadpoky-e2e6f6fe07049f33cb6348780fa975162752e421.tar.gz
initial commit of Enea Linux 3.1
Migrated from the internal git server on the dora-enea branch Signed-off-by: Adrian Dudau <adrian.dudau@enea.com>
Diffstat (limited to 'meta/recipes-support/gmp')
-rw-r--r--meta/recipes-support/gmp/gmp-4.2.1/configure.patch209
-rw-r--r--meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch33
-rw-r--r--meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch48
-rw-r--r--meta/recipes-support/gmp/gmp-5.1.1/configure.patch210
-rw-r--r--meta/recipes-support/gmp/gmp.inc25
-rw-r--r--meta/recipes-support/gmp/gmp/amd64.patch18
-rw-r--r--meta/recipes-support/gmp/gmp/use-includedir.patch15
-rw-r--r--meta/recipes-support/gmp/gmp_4.2.1.bb19
-rw-r--r--meta/recipes-support/gmp/gmp_5.1.1.bb10
9 files changed, 587 insertions, 0 deletions
diff --git a/meta/recipes-support/gmp/gmp-4.2.1/configure.patch b/meta/recipes-support/gmp/gmp-4.2.1/configure.patch
new file mode 100644
index 0000000000..7597a935a2
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp-4.2.1/configure.patch
@@ -0,0 +1,209 @@
1Upstream-Status: Pending
2
3 acinclude.m4 | 26 ++++++++++++++------------
4 configure.in | 24 +++++++++---------------
5 2 files changed, 23 insertions(+), 27 deletions(-)
6
7Index: gmp-5.0.3/acinclude.m4
8===================================================================
9--- gmp-5.0.3.orig/acinclude.m4
10+++ gmp-5.0.3/acinclude.m4
11@@ -30,29 +30,29 @@ dnl a_out.exe - OpenVMS DEC C called
12 dnl conftest.exe - various DOS compilers
13
14
15-define(IA64_PATTERN,
16+define([IA64_PATTERN],
17 [[ia64*-*-* | itanium-*-* | itanium2-*-*]])
18
19 dnl Need to be careful not to match m6811, m6812, m68hc11 and m68hc12, all
20 dnl of which config.sub accepts. (Though none of which are likely to work
21 dnl with GMP.)
22 dnl
23-define(M68K_PATTERN,
24+define([M68K_PATTERN],
25 [[m68k-*-* | m68[0-9][0-9][0-9]-*-*]])
26
27-define(POWERPC64_PATTERN,
28+define([POWERPC64_PATTERN],
29 [[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-* | powerpc970-*-* | power[3-9]-*-*]])
30
31-define(S390_PATTERN,
32+define([S390_PATTERN],
33 [[s390-*-* | z900esa-*-* | z990esa-*-* | z9esa-*-* | z10esa-*-* | z196esa-*-*]])
34
35-define(S390X_PATTERN,
36+define([S390X_PATTERN],
37 [[s390x-*-* | z900-*-* | z990-*-* | z9-*-* | z10-*-* | z196-*-*]])
38
39-define(X86_PATTERN,
40+define([X86_PATTERN],
41 [[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | geode*-*-* | atom-*-*]])
42
43-define(X86_64_PATTERN,
44+define([X86_64_PATTERN],
45 [[athlon64-*-* | k8-*-* | k10-*-* | bobcat-*-* | bulldozer-*-* | pentium4-*-* | atom-*-* | core2-*-* | corei*-*-* | x86_64-*-* | nano-*-*]])
46
47 dnl GMP_FAT_SUFFIX(DSTVAR, DIRECTORY)
48@@ -70,7 +70,7 @@ dnl x86 -> x86
49 dnl x86/k6 -> k6
50 dnl x86/k6/mmx -> k6_mmx
51
52-define(GMP_FAT_SUFFIX,
53+define([GMP_FAT_SUFFIX],
54 [[$1=`echo $2 | sed -e '/\//s:^[^/]*/::' -e 's:[\\/]:_:g'`]])
55
56
57@@ -79,7 +79,7 @@ dnl ----------------------------------
58 dnl Emit code to remove any occurrence of ITEM from $LISTVAR. ITEM can be a
59 dnl shell expression like $foo if desired.
60
61-define(GMP_REMOVE_FROM_LIST,
62+define([GMP_REMOVE_FROM_LIST],
63 [remove_from_list_tmp=
64 for remove_from_list_i in $[][$1]; do
65 if test $remove_from_list_i = [$2]; then :;
66@@ -95,12 +95,12 @@ dnl GMP_STRIP_PATH(subdir)
67 dnl ----------------------
68 dnl Strip entries */subdir from $path and $fat_path.
69
70-define(GMP_STRIP_PATH,
71+define([GMP_STRIP_PATH],
72 [GMP_STRIP_PATH_VAR(path, [$1])
73 GMP_STRIP_PATH_VAR(fat_path, [$1])
74 ])
75
76-define(GMP_STRIP_PATH_VAR,
77+define([GMP_STRIP_PATH_VAR],
78 [tmp_path=
79 for i in $[][$1]; do
80 case $i in
81@@ -121,7 +121,7 @@ dnl
82 dnl Dummy value for GMP_LIMB_BITS is enough
83 dnl for all current configure-time uses of gmp.h.
84
85-define(GMP_INCLUDE_GMP_H,
86+define([GMP_INCLUDE_GMP_H],
87 [[#define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */
88 #define GMP_NAIL_BITS $GMP_NAIL_BITS
89 #define GMP_LIMB_BITS 123
90@@ -136,7 +136,7 @@ dnl Expand at autoconf time to the valu
91 dnl FILE. The regexps here aren't very rugged, but are enough for gmp.
92 dnl /dev/null as a parameter prevents a hang if $2 is accidentally omitted.
93
94-define(GMP_HEADER_GETVAL,
95+define([GMP_HEADER_GETVAL],
96 [patsubst(patsubst(
97 esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]),
98 [^.*$1[ ]+],[]),
99@@ -150,7 +150,7 @@ dnl The gmp version number, extracted f
100 dnl autoconf time. Two digits like 3.0 if patchlevel <= 0, or three digits
101 dnl like 3.0.1 if patchlevel > 0.
102
103-define(GMP_VERSION,
104+define([GMP_VERSION],
105 [GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp-h.in)[]dnl
106 .GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp-h.in)[]dnl
107 .GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in)])
108@@ -1512,7 +1512,9 @@ esac
109 echo ["define(<CONFIG_TOP_SRCDIR>,<\`$tmp'>)"] >>$gmp_tmpconfigm4
110
111 # All CPUs use asm-defs.m4
112-echo ["include][(CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4')"] >>$gmp_tmpconfigm4i
113+echo -n ["include("] >>$gmp_tmpconfigm4i
114+echo -n ["CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4'"] >>$gmp_tmpconfigm4i
115+echo [")"] >>$gmp_tmpconfigm4i
116 ])
117
118
119Index: gmp-5.0.3/configure.in
120===================================================================
121--- gmp-5.0.3.orig/configure.in
122+++ gmp-5.0.3/configure.in
123@@ -29,12 +29,6 @@ AC_REVISION($Revision$)
124 AC_PREREQ(2.59)
125 AC_INIT(GNU MP, GMP_VERSION, [gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html], gmp)
126 AC_CONFIG_SRCDIR(gmp-impl.h)
127-m4_pattern_forbid([^[ \t]*GMP_])
128-m4_pattern_allow(GMP_LDFLAGS)
129-m4_pattern_allow(GMP_LIMB_BITS)
130-m4_pattern_allow(GMP_MPARAM_H_SUGGEST)
131-m4_pattern_allow(GMP_NAIL_BITS)
132-m4_pattern_allow(GMP_NUMB_BITS)
133
134 # If --target is not used then $target_alias is empty, but if say
135 # "./configure athlon-pc-freebsd3.5" is used, then all three of
136@@ -311,7 +305,7 @@ AH_VERBATIM([HAVE_HOST_CPU_1],
137 # After GMP specific searches and tests, the standard autoconf AC_PROG_CC is
138 # called. User selections of CC etc are respected.
139 #
140-# Care is taken not to use macros like AC_TRY_COMPILE during the GMP
141+# Care is taken not to use macros like AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) during the GMP
142 # pre-testing, since they of course depend on AC_PROG_CC, and also some of
143 # them cache their results, which is not wanted.
144 #
145@@ -403,7 +397,7 @@ abilist="standard"
146 # FIXME: We'd like to prefer an ANSI compiler, perhaps by preferring
147 # c89 over cc here. But note that on HP-UX c89 provides a castrated
148 # environment, and would want to be excluded somehow. Maybe
149-# AC_PROG_CC_STDC already does enough to stick cc into ANSI mode and
150+# already does enough to stick cc into ANSI mode and
151 # we don't need to worry.
152 #
153 cclist="gcc cc"
154@@ -1666,7 +1660,7 @@ esac
155 CFLAGS_or_unset=${CFLAGS-'(unset)'}
156 CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
157
158-cat >&AC_FD_CC <<EOF
159+cat >&AS_MESSAGE_LOG_FD() <<EOF
160 User:
161 ABI=$ABI
162 CC=$CC
163@@ -2073,7 +2067,6 @@ AC_SUBST(DEFN_LONG_LONG_LIMB)
164
165 # The C compiler and preprocessor, put into ANSI mode if possible.
166 AC_PROG_CC
167-AC_PROG_CC_STDC
168 AC_PROG_CPP
169 GMP_H_ANSI
170
171@@ -2096,11 +2089,11 @@ AC_SUBST(CCAS)
172
173 # The C++ compiler, if desired.
174 want_cxx=no
175+AC_PROG_CXX
176 if test $enable_cxx != no; then
177 test_CXXFLAGS=${CXXFLAGS+set}
178- AC_PROG_CXX
179
180- echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC
181+ echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD()
182 cxxflags_ac_prog_cxx=$CXXFLAGS
183 cxxflags_list=ac_prog_cxx
184
185@@ -2206,7 +2199,7 @@ case $host in
186 esac
187
188
189-cat >&AC_FD_CC <<EOF
190+cat >&AS_MESSAGE_LOG_FD() <<EOF
191 Decided:
192 ABI=$ABI
193 CC=$CC
194@@ -3465,7 +3458,7 @@ GMP_FINISH
195 # FIXME: Upcoming version of autoconf/automake may not like broken lines.
196 # Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
197
198-AC_OUTPUT(Makefile \
199+AC_CONFIG_FILES([Makefile \
200 mpbsd/Makefile mpf/Makefile mpn/Makefile mpq/Makefile \
201 mpz/Makefile printf/Makefile scanf/Makefile cxx/Makefile \
202 tests/Makefile tests/devel/Makefile tests/mpbsd/Makefile \
203@@ -3474,4 +3467,5 @@ AC_OUTPUT(Makefile \
204 tests/cxx/Makefile \
205 doc/Makefile tune/Makefile \
206 demos/Makefile demos/calc/Makefile demos/expr/Makefile \
207- gmp.h:gmp-h.in mp.h:mp-h.in)
208+ gmp.h:gmp-h.in mp.h:mp-h.in])
209+AC_OUTPUT
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..aaffaf14c5
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp-4.2.1/disable-stdc.patch
@@ -0,0 +1,33 @@
1Upstream-Status: Pending
2
3# "extern inline" in traditional gcc means that the function should be
4# inlined wherever it's seen, while in C99, "extern inline" means that i
5# the function should only be inlined where the inline definition is
6# seen while in other places it's not inlined:
7# http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html
8#
9# gmp checks "--std=gnu99" to use C99 convention however it internally
10# defines some "extern inline" functions in gmp.h, which is included
11# by mainly .c files and finally lead a flood of redefinition function
12# errors when linking objects together.
13#
14# So disable C99/ANSI detection to stick to tranditional gcc behavior
15#
16# by Kevin Tian <kevin.tian@intel.com>, 2010-08-13
17#
18# (this patch is licensed under GPLv2+)
19
20diff --git a/configure.in b/configure.in
21index 450cc92..aab0b59 100644
22--- a/configure.in
23+++ b/configure.in
24@@ -1869,9 +1869,7 @@ AC_SUBST(DEFN_LONG_LONG_LIMB)
25
26 # The C compiler and preprocessor, put into ANSI mode if possible.
27 AC_PROG_CC
28-AC_PROG_CC_STDC
29 AC_PROG_CPP
30-GMP_H_ANSI
31
32
33 # 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..fbd8a39d01
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp-4.2.1/gmp_fix_for_automake-1.12.patch
@@ -0,0 +1,48 @@
1Upstream-Status: Pending
2
3automake 1.12 has depricated automatic de-ANSI-fication support
4
5this patch avoids these kinds of errors:
6
7| configure.in:2240: error: automatic de-ANSI-fication support has been removed
8| Makefile.am:28: error: automatic de-ANSI-fication support has been removed
9
10Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
112012/05/02
12
13Index: gmp-4.2.1/configure.in
14===================================================================
15--- gmp-4.2.1.orig/configure.in
16+++ gmp-4.2.1/configure.in
17@@ -67,7 +67,7 @@ dnl
18 dnl Note that there's a copy of these options in the top-level Makefile.am,
19 dnl so update there too if changing anything.
20 dnl
21-AM_INIT_AUTOMAKE([1.8 gnu no-dependencies $(top_builddir)/ansi2knr])
22+AM_INIT_AUTOMAKE([1.8 gnu no-dependencies])
23 AM_CONFIG_HEADER(config.h:config.in)
24 AM_MAINTAINER_MODE
25
26@@ -2022,9 +2022,6 @@ fi
27 echo " MPN_PATH=\"$path\""
28
29
30-# Automake ansi2knr support.
31-AM_C_PROTOTYPES
32-
33 GMP_PROG_AR
34 GMP_PROG_NM
35
36Index: gmp-4.2.1/Makefile.am
37===================================================================
38--- gmp-4.2.1.orig/Makefile.am
39+++ gmp-4.2.1/Makefile.am
40@@ -27,7 +27,7 @@
41 # Makefiles in subdirectories, but here we must omit it so automake gives
42 # the actual ansi2knr build rule, not "cd $(top_builddir) && make ansi2knr".
43 #
44-AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies ansi2knr
45+AUTOMAKE_OPTIONS = 1.8 gnu no-dependencies
46
47
48 # Libtool -version-info for libgmp.la and libmp.la. See "Versioning" in the
diff --git a/meta/recipes-support/gmp/gmp-5.1.1/configure.patch b/meta/recipes-support/gmp/gmp-5.1.1/configure.patch
new file mode 100644
index 0000000000..591ea79051
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp-5.1.1/configure.patch
@@ -0,0 +1,210 @@
1Upstream-Status: Pending
2
3Updated to apply to gmp-5.1.0
4
5Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
6
7diff -Nurd gmp-5.1.0/acinclude.m4 gmp-5.1.0/acinclude.m4
8--- gmp-5.1.0/acinclude.m4 2012-12-18 21:05:09.000000000 +0200
9+++ gmp-5.1.0/acinclude.m4 2013-01-02 05:19:26.977013073 +0200
10@@ -30,29 +30,29 @@
11 dnl conftest.exe - various DOS compilers
12
13
14-define(IA64_PATTERN,
15+define([IA64_PATTERN],
16 [[ia64*-*-* | itanium-*-* | itanium2-*-*]])
17
18 dnl Need to be careful not to match m6811, m6812, m68hc11 and m68hc12, all
19 dnl of which config.sub accepts. (Though none of which are likely to work
20 dnl with GMP.)
21 dnl
22-define(M68K_PATTERN,
23+define([M68K_PATTERN],
24 [[m68k-*-* | m68[0-9][0-9][0-9]-*-*]])
25
26-define(POWERPC64_PATTERN,
27+define([POWERPC64_PATTERN],
28 [[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-* | powerpc970-*-* | power[3-9]-*-*]])
29
30-define(S390_PATTERN,
31+define([S390_PATTERN],
32 [[s390-*-* | z900esa-*-* | z990esa-*-* | z9esa-*-* | z10esa-*-* | z196esa-*-*]])
33
34-define(S390X_PATTERN,
35+define([S390X_PATTERN],
36 [[s390x-*-* | z900-*-* | z990-*-* | z9-*-* | z10-*-* | z196-*-*]])
37
38-define(X86_PATTERN,
39+define([X86_PATTERN],
40 [[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-* | geode*-*-* | atom-*-*]])
41
42-define(X86_64_PATTERN,
43+define([X86_64_PATTERN],
44 [[athlon64-*-* | k8-*-* | k10-*-* | bobcat-*-* | bulldozer-*-* | pentium4-*-* | atom-*-* | core2-*-* | corei*-*-* | x86_64-*-* | nano-*-*]])
45
46 dnl GMP_FAT_SUFFIX(DSTVAR, DIRECTORY)
47@@ -70,7 +70,7 @@
48 dnl x86/k6 -> k6
49 dnl x86/k6/mmx -> k6_mmx
50
51-define(GMP_FAT_SUFFIX,
52+define([GMP_FAT_SUFFIX],
53 [[$1=`echo $2 | sed -e '/\//s:^[^/]*/::' -e 's:[\\/]:_:g'`]])
54
55
56@@ -79,7 +79,7 @@
57 dnl Emit code to remove any occurrence of ITEM from $LISTVAR. ITEM can be a
58 dnl shell expression like $foo if desired.
59
60-define(GMP_REMOVE_FROM_LIST,
61+define([GMP_REMOVE_FROM_LIST],
62 [remove_from_list_tmp=
63 for remove_from_list_i in $[][$1]; do
64 if test $remove_from_list_i = [$2]; then :;
65@@ -95,12 +95,12 @@
66 dnl ----------------------
67 dnl Strip entries */subdir from $path and $fat_path.
68
69-define(GMP_STRIP_PATH,
70+define([GMP_STRIP_PATH],
71 [GMP_STRIP_PATH_VAR(path, [$1])
72 GMP_STRIP_PATH_VAR(fat_path, [$1])
73 ])
74
75-define(GMP_STRIP_PATH_VAR,
76+define([GMP_STRIP_PATH_VAR],
77 [tmp_path=
78 for i in $[][$1]; do
79 case $i in
80@@ -121,7 +121,7 @@
81 dnl Dummy value for GMP_LIMB_BITS is enough
82 dnl for all current configure-time uses of gmp.h.
83
84-define(GMP_INCLUDE_GMP_H,
85+define([GMP_INCLUDE_GMP_H],
86 [[#define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */
87 #define GMP_NAIL_BITS $GMP_NAIL_BITS
88 #define GMP_LIMB_BITS 123
89@@ -136,7 +136,7 @@
90 dnl FILE. The regexps here aren't very rugged, but are enough for gmp.
91 dnl /dev/null as a parameter prevents a hang if $2 is accidentally omitted.
92
93-define(GMP_HEADER_GETVAL,
94+define([GMP_HEADER_GETVAL],
95 [patsubst(patsubst(
96 esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]),
97 [^.*$1[ ]+],[]),
98@@ -150,7 +150,7 @@
99 dnl autoconf time. Two digits like 3.0 if patchlevel <= 0, or three digits
100 dnl like 3.0.1 if patchlevel > 0.
101
102-define(GMP_VERSION,
103+define([GMP_VERSION],
104 [GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp-h.in)[]dnl
105 .GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp-h.in)[]dnl
106 .GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in)])
107@@ -1512,7 +1512,9 @@
108 echo ["define(<CONFIG_TOP_SRCDIR>,<\`$tmp'>)"] >>$gmp_tmpconfigm4
109
110 # All CPUs use asm-defs.m4
111-echo ["include][(CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4')"] >>$gmp_tmpconfigm4i
112+echo -n ["include("] >>$gmp_tmpconfigm4i
113+echo -n ["CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4'"] >>$gmp_tmpconfigm4i
114+echo [")"] >>$gmp_tmpconfigm4i
115 ])
116
117
118diff -Nurd gmp-5.1.0/configure.ac gmp-5.1.0/configure.ac
119--- gmp-5.1.0/configure.ac 2012-12-18 21:05:09.000000000 +0200
120+++ gmp-5.1.0/configure.ac 2013-01-02 05:19:26.977013073 +0200
121@@ -29,13 +29,6 @@
122 AC_PREREQ(2.59)
123 AC_INIT(GNU MP, GMP_VERSION, [gmp-bugs@gmplib.org, see http://gmplib.org/manual/Reporting-Bugs.html], gmp)
124 AC_CONFIG_SRCDIR(gmp-impl.h)
125-m4_pattern_forbid([^[ \t]*GMP_])
126-m4_pattern_allow(GMP_LDFLAGS)
127-m4_pattern_allow(GMP_LIMB_BITS)
128-m4_pattern_allow(GMP_MPARAM_H_SUGGEST)
129-m4_pattern_allow(GMP_NAIL_BITS)
130-m4_pattern_allow(GMP_NUMB_BITS)
131-m4_pattern_allow(GMP_NONSTD_ABI)
132
133 # If --target is not used then $target_alias is empty, but if say
134 # "./configure athlon-pc-freebsd3.5" is used, then all three of
135@@ -314,7 +307,7 @@
136 # After GMP specific searches and tests, the standard autoconf AC_PROG_CC is
137 # called. User selections of CC etc are respected.
138 #
139-# Care is taken not to use macros like AC_TRY_COMPILE during the GMP
140+# Care is taken not to use macros like AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) during the GMP
141 # pre-testing, since they of course depend on AC_PROG_CC, and also some of
142 # them cache their results, which is not wanted.
143 #
144@@ -406,7 +399,7 @@
145 # FIXME: We'd like to prefer an ANSI compiler, perhaps by preferring
146 # c89 over cc here. But note that on HP-UX c89 provides a castrated
147 # environment, and would want to be excluded somehow. Maybe
148-# AC_PROG_CC_STDC already does enough to stick cc into ANSI mode and
149+# already does enough to stick cc into ANSI mode and
150 # we don't need to worry.
151 #
152 cclist="gcc cc"
153@@ -1727,7 +1720,7 @@
154 CFLAGS_or_unset=${CFLAGS-'(unset)'}
155 CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
156
157-cat >&AC_FD_CC <<EOF
158+cat >&AS_MESSAGE_LOG_FD() <<EOF
159 User:
160 ABI=$ABI
161 CC=$CC
162@@ -2147,7 +2140,6 @@
163
164 # The C compiler and preprocessor, put into ANSI mode if possible.
165 AC_PROG_CC
166-AC_PROG_CC_STDC
167 AC_PROG_CPP
168
169
170@@ -2169,11 +2161,11 @@
171
172 # The C++ compiler, if desired.
173 want_cxx=no
174+AC_PROG_CXX
175 if test $enable_cxx != no; then
176 test_CXXFLAGS=${CXXFLAGS+set}
177- AC_PROG_CXX
178
179- echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC
180+ echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD()
181 cxxflags_ac_prog_cxx=$CXXFLAGS
182 cxxflags_list=ac_prog_cxx
183
184@@ -2289,7 +2281,7 @@
185 fi
186
187
188-cat >&AC_FD_CC <<EOF
189+cat >&AS_MESSAGE_LOG_FD() <<EOF
190 Decided:
191 ABI=$ABI
192 CC=$CC
193@@ -3638,7 +3630,7 @@
194 # FIXME: Upcoming version of autoconf/automake may not like broken lines.
195 # Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
196
197-AC_OUTPUT(Makefile \
198+AC_CONFIG_FILES([Makefile \
199 mpf/Makefile mpn/Makefile mpq/Makefile \
200 mpz/Makefile printf/Makefile scanf/Makefile rand/Makefile cxx/Makefile \
201 tests/Makefile tests/devel/Makefile \
202@@ -3647,7 +3639,8 @@
203 tests/cxx/Makefile \
204 doc/Makefile tune/Makefile \
205 demos/Makefile demos/calc/Makefile demos/expr/Makefile \
206- gmp.h:gmp-h.in)
207+ gmp.h:gmp-h.in])
208+AC_OUTPUT
209
210 AC_MSG_NOTICE([summary of build options:
diff --git a/meta/recipes-support/gmp/gmp.inc b/meta/recipes-support/gmp/gmp.inc
new file mode 100644
index 0000000000..bec06ecd69
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp.inc
@@ -0,0 +1,25 @@
1SECTION = "devel"
2DESCRIPTION = "GNU multiprecision arithmetic library"
3HOMEPAGE = "http://gmplib.org/"
4LICENSE = "GPLv3 LGPLv3"
5
6REVISION = ""
7
8SRC_URI = "ftp://ftp.gmplib.org/pub/gmp-${PV}/gmp-${PV}${REVISION}.tar.bz2 \
9 file://configure.patch \
10 file://amd64.patch "
11
12inherit autotools
13
14ARM_INSTRUCTION_SET = "arm"
15
16acpaths = ""
17
18BBCLASSEXTEND = "native nativesdk"
19
20EXTRA_OECONF += " --enable-cxx=detect"
21
22PACKAGES =+ "libgmpxx"
23FILES_libgmpxx = "${libdir}/libgmpxx${SOLIBS}"
24
25SSTATE_SCAN_FILES += "gmp.h"
diff --git a/meta/recipes-support/gmp/gmp/amd64.patch b/meta/recipes-support/gmp/gmp/amd64.patch
new file mode 100644
index 0000000000..564d12d42b
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp/amd64.patch
@@ -0,0 +1,18 @@
1Upstream-Status: Pending
2
3Index: gmp-5.0.3/longlong.h
4===================================================================
5--- gmp-5.0.3.orig/longlong.h
6+++ gmp-5.0.3/longlong.h
7@@ -994,8 +994,10 @@ extern UWtype __MPN(udiv_qrnnd) _PROTO (
8 count is only an int. */
9 #define count_trailing_zeros(count, x) \
10 do { \
11+ UDItype __cbtmp; \
12 ASSERT ((x) != 0); \
13- __asm__ ("bsfq %1,%q0" : "=r" (count) : "rm" ((UDItype)(x))); \
14+ __asm__ ("bsfq %1,%0" : "=r" (__cbtmp) : "rm" ((UDItype)(x))); \
15+ (count) = __cbtmp; \
16 } while (0)
17 #endif /* x86_64 */
18
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..74904a2530
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp/use-includedir.patch
@@ -0,0 +1,15 @@
1Upstream-Status: Pending
2
3Index: gmp-4.2.4/Makefile.am
4===================================================================
5--- gmp-4.2.4.orig/Makefile.am 2008-09-10 19:31:27.000000000 +0000
6+++ gmp-4.2.4/Makefile.am 2009-07-06 20:19:19.000000000 +0000
7@@ -106,7 +106,7 @@
8 # but anyone knowledgable enough to be playing with exec_prefix will be able
9 # to address that.
10 #
11-includeexecdir = $(exec_prefix)/include
12+includeexecdir = $(includedir)
13 include_HEADERS = $(GMPXX_HEADERS_OPTION)
14 nodist_includeexec_HEADERS = gmp.h $(MPBSD_HEADERS_OPTION)
15 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..4da8381345
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp_4.2.1.bb
@@ -0,0 +1,19 @@
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;beginline=6;endline=21;md5=e056f74a12c3277d730dbcfb85d2ca34"
9PR = "r2"
10
11SRC_URI = "${GNU_MIRROR}/gmp/${BP}.tar.bz2 \
12 file://disable-stdc.patch \
13 file://gmp_fix_for_automake-1.12.patch \
14 "
15
16SRC_URI[md5sum] = "091c56e0e1cca6b09b17b69d47ef18e3"
17SRC_URI[sha256sum] = "d07ffcb37eecec35c5ec72516d10b35fdf6e6fef1fcf1dcd37e30b8cbf8bf941"
18
19inherit autotools
diff --git a/meta/recipes-support/gmp/gmp_5.1.1.bb b/meta/recipes-support/gmp/gmp_5.1.1.bb
new file mode 100644
index 0000000000..d6dcb97f3e
--- /dev/null
+++ b/meta/recipes-support/gmp/gmp_5.1.1.bb
@@ -0,0 +1,10 @@
1require gmp.inc
2LICENSE="LGPLv3&GPLv3"
3LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
4 file://version.c;endline=18;md5=d8c56b52b9092346b9f93b4da65ef790"
5
6SRC_URI_append = " file://use-includedir.patch \
7 "
8
9SRC_URI[md5sum] = "2fa018a7cd193c78494525f236d02dd6"
10SRC_URI[sha256sum] = "a0d4779f48b36519dfaceb5f987a7c76fcac223258bebea3bb2244310970afad"