1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|
acinclude.m4 | 26 ++++++++++++++------------
configure.in | 24 +++++++++---------------
2 files changed, 23 insertions(+), 27 deletions(-)
Index: gmp-4.2.2/acinclude.m4
===================================================================
--- gmp-4.2.2.orig/acinclude.m4 2008-05-01 11:07:43.000000000 +0200
+++ gmp-4.2.2/acinclude.m4 2008-05-01 11:07:48.000000000 +0200
@@ -30,20 +30,20 @@
dnl conftest.exe - various DOS compilers
-define(IA64_PATTERN,
+define([IA64_PATTERN],
[[ia64*-*-* | itanium-*-* | itanium2-*-*]])
dnl Need to be careful not to match m6811, m6812, m68hc11 and m68hc12, all
dnl of which config.sub accepts. (Though none of which are likely to work
dnl with GMP.)
dnl
-define(M68K_PATTERN,
+define([M68K_PATTERN],
[[m68k-*-* | m68[0-9][0-9][0-9]-*-*]])
-define(POWERPC64_PATTERN,
+define([POWERPC64_PATTERN],
[[powerpc64-*-* | powerpc64le-*-* | powerpc620-*-* | powerpc630-*-* | powerpc970-*-* | power[3-9]-*-*]])
-define(X86_PATTERN,
+define([X86_PATTERN],
[[i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-* | viac3*-*-*]])
@@ -62,7 +62,7 @@
dnl x86/k6 -> k6
dnl x86/k6/mmx -> k6_mmx
-define(GMP_FAT_SUFFIX,
+define([GMP_FAT_SUFFIX],
[[$1=`echo $2 | sed -e '/\//s:^[^/]*/::' -e 's:[\\/]:_:g'`]])
@@ -71,7 +71,7 @@
dnl Emit code to remove any occurance of ITEM from $LISTVAR. ITEM can be a
dnl shell expression like $foo if desired.
-define(GMP_REMOVE_FROM_LIST,
+define([GMP_REMOVE_FROM_LIST],
[remove_from_list_tmp=
for remove_from_list_i in $[][$1]; do
if test $remove_from_list_i = [$2]; then :;
@@ -87,12 +87,12 @@
dnl ----------------------
dnl Strip entries subdir from $path and $fat_path.
-define(GMP_STRIP_PATH,
+define([GMP_STRIP_PATH],
[GMP_STRIP_PATH_VAR(path, [$1])
GMP_STRIP_PATH_VAR(fat_path, [$1])
])
-define(GMP_STRIP_PATH_VAR,
+define([GMP_STRIP_PATH_VAR],
[tmp_path=
for i in $[][$1]; do
case $i in
@@ -113,7 +113,7 @@
dnl Dummy values for __GMP_BITS_PER_MP_LIMB and GMP_LIMB_BITS are enough
dnl for all current configure-time uses of gmp.h.
-define(GMP_INCLUDE_GMP_H,
+define([GMP_INCLUDE_GMP_H],
[[#define __GMP_WITHIN_CONFIGURE 1 /* ignore template stuff */
#define GMP_NAIL_BITS $GMP_NAIL_BITS
#define __GMP_BITS_PER_MP_LIMB 123 /* dummy for GMP_NUMB_BITS etc */
@@ -129,7 +129,7 @@
dnl FILE. The regexps here aren't very rugged, but are enough for gmp.
dnl /dev/null as a parameter prevents a hang if $2 is accidentally omitted.
-define(GMP_HEADER_GETVAL,
+define([GMP_HEADER_GETVAL],
[patsubst(patsubst(
esyscmd([grep "^#define $1 " $2 /dev/null 2>/dev/null]),
[^.*$1[ ]+],[]),
@@ -143,7 +143,7 @@
dnl autoconf time. Two digits like 3.0 if patchlevel <= 0, or three digits
dnl like 3.0.1 if patchlevel > 0.
-define(GMP_VERSION,
+define([GMP_VERSION],
[GMP_HEADER_GETVAL(__GNU_MP_VERSION,gmp-h.in)[]dnl
.GMP_HEADER_GETVAL(__GNU_MP_VERSION_MINOR,gmp-h.in)[]dnl
ifelse(m4_eval(GMP_HEADER_GETVAL(__GNU_MP_VERSION_PATCHLEVEL,gmp-h.in) > 0),1,
@@ -1489,7 +1489,9 @@
echo ["define(<CONFIG_TOP_SRCDIR>,<\`$tmp'>)"] >>$gmp_tmpconfigm4
# All CPUs use asm-defs.m4
-echo ["include][(CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4')"] >>$gmp_tmpconfigm4i
+echo -n ["include("] >>$gmp_tmpconfigm4i
+echo -n ["CONFIG_TOP_SRCDIR\`/mpn/asm-defs.m4'"] >>$gmp_tmpconfigm4i
+echo [")"] >>$gmp_tmpconfigm4i
])
Index: gmp-4.2.2/configure.in
===================================================================
--- gmp-4.2.2.orig/configure.in 2008-05-01 11:07:43.000000000 +0200
+++ gmp-4.2.2/configure.in 2008-05-01 11:07:48.000000000 +0200
@@ -29,12 +29,6 @@
AC_PREREQ(2.59)
AC_INIT(GNU MP, GMP_VERSION, gmp-bugs@swox.com, gmp)
AC_CONFIG_SRCDIR(gmp-impl.h)
-m4_pattern_forbid([^[ \t]*GMP_])
-m4_pattern_allow(GMP_LDFLAGS)
-m4_pattern_allow(GMP_LIMB_BITS)
-m4_pattern_allow(GMP_MPARAM_H_SUGGEST)
-m4_pattern_allow(GMP_NAIL_BITS)
-m4_pattern_allow(GMP_NUMB_BITS)
# If --target is not used then $target_alias is empty, but if say
# "./configure athlon-pc-freebsd3.5" is used, then all three of
@@ -275,7 +269,7 @@
# After GMP specific searches and tests, the standard autoconf AC_PROG_CC is
# called. User selections of CC etc are respected.
#
-# Care is taken not to use macros like AC_TRY_COMPILE during the GMP
+# Care is taken not to use macros like AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])],[],[]) during the GMP
# pre-testing, since they of course depend on AC_PROG_CC, and also some of
# them cache their results, which is not wanted.
#
@@ -367,7 +361,7 @@
# FIXME: We'd like to prefer an ANSI compiler, perhaps by preferring
# c89 over cc here. But note that on HP-UX c89 provides a castrated
# environment, and would want to be excluded somehow. Maybe
-# AC_PROG_CC_STDC already does enough to stick cc into ANSI mode and
+# already does enough to stick cc into ANSI mode and
# we don't need to worry.
#
cclist="gcc cc"
@@ -1518,7 +1512,7 @@
CFLAGS_or_unset=${CFLAGS-'(unset)'}
CPPFLAGS_or_unset=${CPPFLAGS-'(unset)'}
-cat >&AC_FD_CC <<EOF
+cat >&AS_MESSAGE_LOG_FD() <<EOF
User:
ABI=$ABI
CC=$CC
@@ -1889,7 +1883,6 @@
# The C compiler and preprocessor, put into ANSI mode if possible.
AC_PROG_CC
-AC_PROG_CC_STDC
AC_PROG_CPP
GMP_H_ANSI
@@ -1912,11 +1905,11 @@
# The C++ compiler, if desired.
want_cxx=no
+AC_PROG_CXX
if test $enable_cxx != no; then
test_CXXFLAGS=${CXXFLAGS+set}
- AC_PROG_CXX
- echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AC_FD_CC
+ echo "CXXFLAGS chosen by autoconf: $CXXFLAGS" >&AS_MESSAGE_LOG_FD()
cxxflags_ac_prog_cxx=$CXXFLAGS
cxxflags_list=ac_prog_cxx
@@ -2022,7 +2015,7 @@
esac
-cat >&AC_FD_CC <<EOF
+cat >&AS_MESSAGE_LOG_FD() <<EOF
Decided:
ABI=$ABI
CC=$CC
@@ -3199,7 +3192,7 @@
# FIXME: Upcoming version of autoconf/automake may not like broken lines.
# Right now automake isn't accepting the new AC_CONFIG_FILES scheme.
-AC_OUTPUT(Makefile \
+AC_CONFIG_FILES([Makefile \
mpbsd/Makefile mpf/Makefile mpn/Makefile mpq/Makefile \
mpz/Makefile printf/Makefile scanf/Makefile cxx/Makefile \
tests/Makefile tests/devel/Makefile tests/mpbsd/Makefile \
@@ -3208,4 +3201,5 @@
tests/cxx/Makefile \
doc/Makefile tune/Makefile \
demos/Makefile demos/calc/Makefile demos/expr/Makefile \
- gmp.h:gmp-h.in mp.h:mp-h.in)
+ gmp.h:gmp-h.in mp.h:mp-h.in])
+AC_OUTPUT
Index: gmp-4.2.2/gmp-h.in
===================================================================
--- gmp-4.2.2.orig/gmp-h.in 2007-09-03 18:05:40.000000000 +0200
+++ gmp-4.2.2/gmp-h.in 2008-05-01 11:10:42.000000000 +0200
@@ -516,6 +516,7 @@
#if defined (__cplusplus)
extern "C" {
+#include <cstdio>
#ifdef _GMP_H_HAVE_FILE
using std::FILE;
#endif
|