]>
Commit | Line | Data |
---|---|---|
43d2ebde JB |
1 | --- gmp-6.3.0/configure.ac.orig 2023-07-29 15:42:16.000000000 +0200 |
2 | +++ gmp-6.3.0/configure.ac 2023-09-03 19:25:28.172771749 +0200 | |
3 | @@ -277,8 +277,12 @@ if test $enable_fake_cpuid = yes && test | |
1c099774 | 4 | AC_MSG_ERROR([--enable-fake-cpuid requires --enable-fat]) |
cc591e0e | 5 | fi |
79bf06f6 | 6 | |
cc591e0e JB |
7 | - |
8 | -tmp_host=`echo $host_cpu | sed 's/\./_/'` | |
79bf06f6 JB |
9 | +AC_ARG_WITH(cpu, |
10 | +AC_HELP_STRING([--with-cpu], | |
1c099774 | 11 | + [specify CPU type [[default=host_cpu]]]), |
79bf06f6 | 12 | +[gmp_cpu=$withval], [gmp_cpu=$host_cpu]) |
cc591e0e | 13 | + |
79bf06f6 JB |
14 | +tmp_host=`echo $gmp_cpu | sed 's/\./_/'` |
15 | AC_DEFINE_UNQUOTED(HAVE_HOST_CPU_$tmp_host) | |
16 | GMP_DEFINE_RAW("define_not_for_expansion(\`HAVE_HOST_CPU_$tmp_host')", POST) | |
17 | ||
43d2ebde | 18 | @@ -480,7 +484,7 @@ case $host in |
79bf06f6 JB |
19 | |
20 | alpha*-*-*) | |
21 | AC_DEFINE(HAVE_HOST_CPU_FAMILY_alpha) | |
22 | - case $host_cpu in | |
23 | + case $gmp_cpu in | |
ddf782b3 | 24 | alphaev5* | alphapca5*) |
5e0f15ef | 25 | path="alpha/ev5 alpha" ;; |
79bf06f6 | 26 | alphaev67 | alphaev68 | alphaev7*) |
43d2ebde | 27 | @@ -507,7 +511,7 @@ case $host in |
79bf06f6 JB |
28 | # compiler errors too easily and is rejected by GMP_PROG_CC_WORKS. Each |
29 | # -mcpu=ev6 below has a fallback to -mcpu=ev56 for this reason. | |
30 | # | |
31 | - case $host_cpu in | |
32 | + case $gmp_cpu in | |
33 | alpha) gcc_cflags_cpu="-mcpu=ev4" ;; | |
34 | alphaev5) gcc_cflags_cpu="-mcpu=ev5" ;; | |
35 | alphaev56) gcc_cflags_cpu="-mcpu=ev56" ;; | |
43d2ebde | 36 | @@ -540,7 +544,7 @@ case $host in |
79bf06f6 JB |
37 | # Insns like ctlz which were never available as macros are always |
38 | # accepted and always generate their plain code. | |
39 | # | |
40 | - case $host_cpu in | |
41 | + case $gmp_cpu in | |
42 | alpha) gcc_cflags_asm="-Wa,-arch,ev4 -Wa,-mev4" ;; | |
43 | alphaev5) gcc_cflags_asm="-Wa,-arch,ev5 -Wa,-mev5" ;; | |
44 | alphaev56) gcc_cflags_asm="-Wa,-arch,ev56 -Wa,-mev56" ;; | |
43d2ebde | 45 | @@ -575,7 +579,7 @@ case $host in |
79bf06f6 JB |
46 | # DEC C V5.9-005 knows ev4, ev5, ev56, pca56, ev6. |
47 | # Compaq C V6.3-029 adds ev67. | |
48 | # | |
49 | - case $host_cpu in | |
50 | + case $gmp_cpu in | |
51 | alpha) cc_cflags_cpu="-arch~ev4~-tune~ev4" ;; | |
52 | alphaev5) cc_cflags_cpu="-arch~ev5~-tune~ev5" ;; | |
53 | alphaev56) cc_cflags_cpu="-arch~ev56~-tune~ev56" ;; | |
43d2ebde | 54 | @@ -643,7 +647,7 @@ case $host in |
1c099774 AM |
55 | # FIXME: We make mandatory compiler options optional here. We should |
56 | # either enforce them, or organise to strip paths as the corresponding | |
57 | # options fail. | |
58 | - case $host_cpu in | |
59 | + case $gmp_cpu in | |
74e20a69 JB |
60 | armxscale | arm7ej | arm9te | arm9e* | arm10* | armv5*) |
61 | path="arm/v5 arm" | |
62 | gcc_cflags_arch="-march=armv5" | |
43d2ebde | 63 | @@ -828,7 +832,7 @@ case $host in |
79bf06f6 JB |
64 | # (Can't remember why this isn't done already, have to check what .asm |
65 | # files are available in each and how they run on a typical 2.0 cpu.) | |
66 | # | |
67 | - case $host_cpu in | |
68 | + case $gmp_cpu in | |
69 | hppa1.0*) path="pa32" ;; | |
70 | hppa7000*) path="pa32/hppa1_1 pa32" ;; | |
71 | hppa2.0* | hppa64) | |
43d2ebde | 72 | @@ -846,13 +850,13 @@ case $host in |
79bf06f6 JB |
73 | # probably be safe, but let's not take the chance. In any case, a |
74 | # configuration like --host=hppa2.0 ABI=1.0 is far from optimal. | |
75 | # | |
76 | - case $host_cpu in | |
77 | + case $gmp_cpu in | |
78 | hppa1.0*) gcc_cflags_arch="-mpa-risc-1-0" ;; | |
79 | *) # default to 7100 | |
80 | gcc_cflags_arch="-mpa-risc-1-1" ;; | |
81 | esac | |
82 | ||
83 | - case $host_cpu in | |
84 | + case $gmp_cpu in | |
85 | hppa1.0*) cc_cflags="+O2" ;; | |
86 | *) # default to 7100 | |
87 | cc_cflags="+DA1.1 +O2" ;; | |
43d2ebde | 88 | @@ -913,7 +917,7 @@ case $host in |
79bf06f6 | 89 | SPEED_CYCLECOUNTER_OBJ=ia64.lo |
cc591e0e | 90 | any_32_testlist="sizeof-long-4" |
79bf06f6 JB |
91 | |
92 | - case $host_cpu in | |
93 | + case $gmp_cpu in | |
94 | itanium) path="ia64/itanium ia64" ;; | |
95 | itanium2) path="ia64/itanium2 ia64" ;; | |
96 | *) path="ia64" ;; | |
43d2ebde | 97 | @@ -923,7 +927,7 @@ case $host in |
79bf06f6 JB |
98 | gcc_32_cflags_optlist=$gcc_64_cflags_optlist |
99 | ||
100 | # gcc pre-release 3.4 adds -mtune itanium and itanium2 | |
101 | - case $host_cpu in | |
102 | + case $gmp_cpu in | |
103 | itanium) gcc_cflags_tune="-mtune=itanium" ;; | |
104 | itanium2) gcc_cflags_tune="-mtune=itanium2" ;; | |
105 | esac | |
43d2ebde | 106 | @@ -986,7 +990,7 @@ case $host in |
79bf06f6 JB |
107 | # gcc 2.95 adds -mcpu32, -m68060. |
108 | # FIXME: Maybe "-m68020 -mnobitfield" would suit cpu32 on 2.7.2. | |
109 | # | |
110 | - case $host_cpu in | |
111 | + case $gmp_cpu in | |
112 | m68020) gcc_cflags_arch="-m68020" ;; | |
113 | m68030) gcc_cflags_arch="-m68030" ;; | |
114 | m68040) gcc_cflags_arch="-m68040" ;; | |
43d2ebde | 115 | @@ -998,7 +1002,7 @@ case $host in |
79bf06f6 JB |
116 | # FIXME: m68k/mc68020 looks like it's ok for cpu32, but this wants to be |
117 | # tested. Will need to introduce an m68k/cpu32 if m68k/mc68020 ever uses | |
118 | # the bitfield instructions. | |
119 | - case $host_cpu in | |
120 | + case $gmp_cpu in | |
121 | [m680[234]0 | m68360]) path="m68k/mc68020 m68k" ;; | |
122 | *) path="m68k" ;; | |
123 | esac | |
43d2ebde | 124 | @@ -1118,7 +1122,7 @@ case $host in |
79bf06f6 JB |
125 | SPEED_CYCLECOUNTER_OBJ=powerpc.lo |
126 | cyclecounter_size=0 | |
127 | ||
128 | - case $host_cpu in | |
129 | + case $gmp_cpu in | |
130 | powerpc740 | powerpc750) | |
131 | path="powerpc32/750 powerpc32" ;; | |
132 | powerpc7400 | powerpc7410) | |
43d2ebde | 133 | @@ -1129,7 +1133,7 @@ case $host in |
5e0f15ef JB |
134 | path="powerpc32" ;; |
135 | esac | |
136 | ||
79bf06f6 JB |
137 | - case $host_cpu in |
138 | + case $gmp_cpu in | |
139 | powerpc401) gcc_cflags_cpu="-mcpu=401" ;; | |
5e0f15ef JB |
140 | powerpc403) gcc_cflags_cpu="-mcpu=403" |
141 | xlc_cflags_arch="-qarch=403 -qarch=ppc" ;; | |
43d2ebde | 142 | @@ -1381,7 +1385,7 @@ case $host in |
1c099774 AM |
143 | gcc_32_cflags_maybe="-m31" |
144 | ||
43d2ebde | 145 | unset cpu |
1c099774 AM |
146 | - case $host_cpu in |
147 | + case $gmp_cpu in | |
148 | s390) | |
149 | ;; | |
150 | z900 | z900esa) | |
43d2ebde | 151 | @@ -1471,7 +1475,7 @@ case $host in |
79bf06f6 JB |
152 | any_testlist="sizeof-long-4" |
153 | GMP_INCLUDE_MPN(sparc32/sparc-defs.m4) | |
154 | ||
155 | - case $host_cpu in | |
156 | + case $gmp_cpu in | |
157 | sparcv8 | microsparc | turbosparc) | |
158 | path="sparc32/v8 sparc32" ;; | |
159 | supersparc) | |
43d2ebde | 160 | @@ -1507,7 +1511,7 @@ case $host in |
1c099774 | 161 | # plain -m forms will disappear. |
79bf06f6 JB |
162 | # gcc 3.3 adds ultrasparc3. |
163 | # | |
164 | - case $host_cpu in | |
165 | + case $gmp_cpu in | |
1c099774 AM |
166 | supersparc*) |
167 | gcc_cflags_cpu="-mcpu=supersparc -msupersparc" | |
168 | gcc_cflags_asm="-Wa,-Av8 -Wa,-xarch=v8";; | |
43d2ebde | 169 | @@ -1555,7 +1559,7 @@ case $host in |
79bf06f6 JB |
170 | |
171 | # SunOS cc doesn't know -xarch, apparently always generating v7 | |
172 | # code, so make this optional | |
173 | - case $host_cpu in | |
174 | + case $gmp_cpu in | |
1c099774 AM |
175 | sparcv8 | microsparc* | supersparc* | turbosparc | hypersparc*) |
176 | cc_cflags_arch="-xarch=v8";; | |
177 | [ultrasparct[345]]) | |
43d2ebde | 178 | @@ -1571,7 +1575,7 @@ case $host in |
1c099774 AM |
179 | # micro2, hyper, hyper2, powerup, ultra, ultra2, ultra2i. |
180 | # SunPRO cc 6 adds -xchip=ultra2e, ultra3cu. | |
181 | # | |
79bf06f6 JB |
182 | - case $host_cpu in |
183 | + case $gmp_cpu in | |
1c099774 AM |
184 | supersparc*) cc_cflags_cpu="-xchip=super" ;; |
185 | microsparc*) cc_cflags_cpu="-xchip=micro" ;; | |
79bf06f6 | 186 | turbosparc) cc_cflags_cpu="-xchip=micro2" ;; |
43d2ebde | 187 | @@ -1590,7 +1594,7 @@ case $host in |
79bf06f6 JB |
188 | esac |
189 | esac | |
190 | ||
191 | - case $host_cpu in | |
192 | + case $gmp_cpu in | |
193 | sparc64 | sparcv9* | ultrasparc*) | |
194 | case $host in | |
195 | # Solaris 6 and earlier cannot run ABI=64 since it doesn't save | |
43d2ebde | 196 | @@ -1617,7 +1621,7 @@ case $host in |
ddf782b3 JB |
197 | *) abilist="64 32" ;; |
198 | esac | |
199 | ||
200 | - case $host_cpu in | |
201 | + case $gmp_cpu in | |
202 | ultrasparc | ultrasparc2 | ultrasparc2i) | |
cc591e0e | 203 | path_64="sparc64/ultrasparc1234 sparc64" ;; |
5e0f15ef | 204 | [ultrasparc[34]]) |
43d2ebde | 205 | @@ -1661,7 +1665,7 @@ case $host in |
1c099774 AM |
206 | # |
207 | cclist_64="$cclist_64 cc" | |
208 | cc_64_cflags_optlist="cpu" | |
209 | - case $host_cpu in | |
210 | + case $gmp_cpu in | |
211 | [ultrasparct[345]]) | |
212 | cc_64_cflags="$cc_64_cflags -xO3 -xarch=v9d" ;; | |
213 | *) | |
43d2ebde | 214 | @@ -1709,7 +1713,7 @@ case $host in |
1c099774 AM |
215 | # |
216 | # -m32 forces 32-bit mode on a bi-arch 32/64 amd64 build of gcc. -m64 is | |
217 | # the default in such a build (we think), so -m32 is essential for ABI=32. | |
218 | - # This is, of course, done for any $host_cpu, not just x86_64, so we can | |
219 | + # This is, of course, done for any $gmp_cpu, not just x86_64, so we can | |
220 | # get such a gcc into the right mode to cross-compile to say i486-*-*. | |
221 | # | |
222 | # -m32 is not available in gcc 2.95 and earlier, hence cflags_maybe to use | |
43d2ebde | 223 | @@ -1772,7 +1776,7 @@ case $host in |
296845a1 | 224 | # like k8 for x86_64, then it can be the -mtune at the start, no need to |
79bf06f6 JB |
225 | # duplicate anything. |
226 | # | |
79bf06f6 JB |
227 | - case $host_cpu in |
228 | + case $gmp_cpu in | |
229 | i386*) | |
5e0f15ef JB |
230 | gcc_cflags_cpu="-mtune=i386 -mcpu=i386 -m386" |
231 | gcc_cflags_arch="-march=i386" |