* elf.c (elfcore_grok_nto_gregs): Change name to elfcore_grok_nto_regs.
[deliverable/binutils-gdb.git] / gas / configure.in
CommitLineData
252b5132
RH
1dnl Process this file with autoconf to produce a configure script.
2dnl
3dnl And be careful when changing it! If you must add tests with square
4dnl brackets, be sure changequote invocations surround it.
5dnl
6dnl
7dnl v2.5 needed for --bindir et al
13b2be9c 8AC_PREREQ(2.57)
252b5132
RH
9AC_INIT(as.h)
10
13b2be9c
DJ
11dnl Autoconf 2.57 will find the aux dir without this. However, unless
12dnl we specify this explicitly, automake-1.7 will assume that ylwrap is in
13dnl gas/ instead of gas/../.
14AC_CONFIG_AUX_DIR(..)
252b5132 15AC_CANONICAL_SYSTEM
5d64ca4e 16AC_ISC_POSIX
252b5132 17
27b7e12d
AM
18changequote(,)dnl
19BFD_VERSION=`sed -n -e 's/^.._INIT_AUTOMAKE.*,[ ]*\([^ ]*\)[ ]*).*/\1/p' < ${srcdir}/../bfd/configure.in`
20changequote([,])dnl
21AM_INIT_AUTOMAKE(gas, ${BFD_VERSION})
252b5132
RH
22
23AM_PROG_LIBTOOL
24
25user_bfd_gas=
26AC_ARG_ENABLE(bfd-assembler,
27[ --enable-bfd-assembler use BFD back end for writing object files],
28[case "${enableval}" in
29 yes) need_bfd=yes user_bfd_gas=yes ;;
30 no) user_bfd_gas=no ;;
31 *) AC_MSG_ERROR(bad value ${enableval} given for bfd-assembler option) ;;
32esac])dnl
33AC_ARG_ENABLE(targets,
34[ targets alternative target configurations besides the primary],
35[case "${enableval}" in
36 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
37 ;;
38 no) enable_targets= ;;
39 *) enable_targets=$enableval ;;
40esac])dnl
41AC_ARG_ENABLE(commonbfdlib,
42[ --enable-commonbfdlib build shared BFD/opcodes/libiberty library],
43[case "${enableval}" in
44 yes) commonbfdlib=true ;;
45 no) commonbfdlib=false ;;
46 *) AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
47esac])dnl
48
49using_cgen=no
50
0218d1e4 51build_warnings="-W -Wall -Wstrict-prototypes -Wmissing-prototypes"
a2d91340
AC
52AC_ARG_ENABLE(build-warnings,
53[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
54[case "${enableval}" in
55 yes) ;;
56 no) build_warnings="-w";;
57 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
58 build_warnings="${build_warnings} ${t}";;
59 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
60 build_warnings="${t} ${build_warnings}";;
61 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
62esac
63if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
64 echo "Setting warning flags = $build_warnings" 6>&1
65fi])dnl
66WARN_CFLAGS=""
67if test "x${build_warnings}" != x -a "x$GCC" = xyes ; then
68 WARN_CFLAGS="${build_warnings}"
69fi
70AC_SUBST(WARN_CFLAGS)
71
252b5132
RH
72# Generate a header file
73AM_CONFIG_HEADER(config.h:config.in)
74
76a27922
ILT
75# If we are on a DOS filesystem, we must use gdb.ini rather than
76# .gdbinit.
76a27922 77case "${host}" in
591d4689 78 *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-windows*)
76a27922 79 GDBINIT="gdb.ini"
13b2be9c
DJ
80 AC_CONFIG_FILES(gdb.ini:gdbinit.in)
81 ;;
82 *)
83 GDBINIT=".gdbinit"
84 AC_CONFIG_FILES(.gdbinit:gdbinit.in)
76a27922
ILT
85 ;;
86esac
87AC_SUBST(GDBINIT)
88
252b5132
RH
89te_file=generic
90
91# Makefile target for installing gas in $(tooldir)/bin.
92install_tooldir=install-exec-tooldir
93
94canon_targets=""
15886821 95all_targets=no
252b5132
RH
96if test -n "$enable_targets" ; then
97 for t in `echo $enable_targets | sed 's/,/ /g'`; do
15886821
L
98 if test $t = "all"; then
99 all_targets=yes
100 continue
101 fi
6d83c84b 102 result=`$ac_config_sub $t 2>/dev/null`
252b5132
RH
103 if test -n "$result" ; then
104 canon_targets="$canon_targets $result"
105# else
106# # Permit "all", etc. We don't support it yet though.
107# canon_targets="$canon_targets $t"
108 fi
109 done
110 GAS_UNIQ(canon_targets)
111fi
112
113emulations=""
114
115for this_target in $target $canon_targets ; do
116
117changequote(,)dnl
118 eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
119changequote([,])dnl
120
4101eec8
NC
121 # Check for architecture variants.
122 # Note: This table is alpha-sorted, please try to keep it that way.
252b5132
RH
123 arch=
124 endian=
125 case ${cpu} in
2ce28d43 126 am33_2.0) cpu_type=mn10300 endian=little ;;
252b5132 127 alpha*) cpu_type=alpha ;;
152c65b9 128 arm*be|xscale*be|strongarm*be | \
54847c76
DJ
129 arm*b|xscale*b|strongarm*b) cpu_type=arm endian=big ;;
130 arm*|xscale*|strongarm*) cpu_type=arm endian=little ;;
2fe04c57 131 c4x*) cpu_type=tic4x ;;
ae57792d
HPN
132 crisv32) cpu_type=cris arch=crisv32
133 AC_DEFINE_UNQUOTED(DEFAULT_CRIS_ARCH, $arch,
134 [Default CRIS architecture.])
135 ;;
4101eec8 136 crx*) cpu_type=crx endian=little ;;
252b5132
RH
137 hppa*) cpu_type=hppa ;;
138changequote(,)dnl
80c7c40a 139 i[3-7]86) cpu_type=i386 arch=i386;;
800eeca4 140 ia64) cpu_type=ia64 ;;
a40cbfa3 141 ip2k) cpu_type=ip2k endian=big ;;
1c53c80d 142 iq2000) cpu_type=iq2000 endian=big ;;
4101eec8
NC
143 m32r) cpu_type=m32r target_cpu=m32r endian=big ;;
144 m32rle) cpu_type=m32r target_cpu=m32r endian=little ;;
6f6ef0fa 145 m6811|m6812|m68hc12) cpu_type=m68hc11 ;;
252b5132
RH
146 m680[012346]0) cpu_type=m68k ;;
147changequote([,])dnl
148 m68008) cpu_type=m68k ;;
149 m683??) cpu_type=m68k ;;
150 m5200) cpu_type=m68k ;;
151 m8*) cpu_type=m88k ;;
7499d566 152 maxq) cpu_type=maxq ;;
252b5132
RH
153 mips*el) cpu_type=mips endian=little ;;
154 mips*) cpu_type=mips endian=big ;;
3b16e843 155 or32*) cpu_type=or32 endian=big ;;
041dd5a9
ILT
156 pjl*) cpu_type=pj endian=little ;;
157 pj*) cpu_type=pj endian=big ;;
0baf16f2 158 powerpc*le*) cpu_type=ppc endian=little ;;
252b5132
RH
159 powerpc*) cpu_type=ppc endian=big ;;
160 rs6000*) cpu_type=ppc ;;
a85d7ed0
NC
161 s390x*) cpu_type=s390 arch=s390x ;;
162 s390*) cpu_type=s390 arch=s390 ;;
5b0e55b6
JT
163 sh5*) cpu_type=sh64 endian=big ;;
164 sh5le*) cpu_type=sh64 endian=little ;;
165 sh64*) cpu_type=sh64 endian=big ;;
166 sh64le*) cpu_type=sh64 endian=little ;;
8d05742f 167 sh*le) cpu_type=sh endian=little ;;
05982cac 168 sh*) cpu_type=sh endian=big ;;
252b5132
RH
169 sparclite*) cpu_type=sparc arch=sparclite ;;
170 sparclet*) cpu_type=sparc arch=sparclet ;;
171 sparc64*) cpu_type=sparc arch=v9-64 ;;
172 sparc86x*) cpu_type=sparc arch=sparc86x ;;
173 sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
174 v850*) cpu_type=v850 ;;
4101eec8 175 x86_64) cpu_type=i386 arch=x86_64;;
e0001a05 176 xtensa*) cpu_type=xtensa arch=xtensa ;;
252b5132
RH
177 *) cpu_type=${cpu} ;;
178 esac
179
180 if test ${this_target} = $target ; then
181 target_cpu_type=${cpu_type}
182 elif test ${target_cpu_type} != ${cpu_type} ; then
183 continue
184 fi
185
186 generic_target=${cpu_type}-$vendor-$os
187 dev=no
188 bfd_gas=no
189 em=generic
190
4101eec8
NC
191 # Assign object format.
192 # Note: This table is alpha-sorted, please try to keep it that way.
252b5132 193 case ${generic_target} in
79500683
AM
194 a29k-*-coff) fmt=coff ;;
195 a29k-amd-udi) fmt=coff ;;
196 a29k-amd-ebmon) fmt=coff ;;
197 a29k-nyu-sym1) fmt=coff ;;
198 a29k-*-rtems*) fmt=coff ;;
199 a29k-*-vxworks*) fmt=coff ;;
200
201 alpha*-*-*vms*) fmt=evax ;;
79500683
AM
202 alpha*-*-osf*) fmt=ecoff ;;
203 alpha*-*-linuxecoff*) fmt=ecoff ;;
204 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
205 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
206 alpha*-*-openbsd*) fmt=elf em=obsd ;;
207
208 arc-*-elf*) fmt=elf ;;
209
210 arm-*-aout) fmt=aout ;;
211 arm-*-coff | thumb-*-coff) fmt=coff ;;
28d297de 212 arm-*-rtems* | thumb-*-rtems*) fmt=elf ;;
79500683 213 arm-*-elf | thumb-*-elf) fmt=elf ;;
e5a52504
MM
214 arm*-*-eabi*) fmt=elf ;;
215 arm*-*-symbianelf*) fmt=elf em=symbian ;;
42b5d0ea 216 arm-*-kaos*) fmt=elf ;;
0decc840 217 arm*-*-conix*) fmt=elf ;;
79500683 218 arm-*-linux*aout*) fmt=aout em=linux ;;
c820d418 219 arm*-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;;
79500683
AM
220 arm*-*-linux-gnu*) fmt=elf em=linux ;;
221 arm*-*-uclinux*) fmt=elf em=linux ;;
8bdcf8ca 222 arm-*-netbsdelf*) fmt=elf em=nbsd ;;
79500683
AM
223 arm-*-*n*bsd*) fmt=aout em=nbsd ;;
224 arm-**-nto*) fmt=elf ;;
79500683 225 arm-epoc-pe | thumb-epoc-pe) fmt=coff em=epoc-pe ;;
08e3ab90 226 arm-wince-pe | arm-*-wince) fmt=coff em=wince-pe ;;
79500683
AM
227 arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
228 arm-*-riscix*) fmt=aout em=riscix ;;
79500683
AM
229
230 avr-*-*) fmt=elf ;;
231
ae57792d
HPN
232 cris-*-linux-gnu* | crisv32-*-linux-gnu*)
233 fmt=multi bfd_gas=yes em=linux ;;
234 cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;;
79500683 235
1fe1f39c
NC
236 crx-*-elf*) fmt=elf ;;
237
79500683
AM
238 d10v-*-*) fmt=elf ;;
239 d30v-*-*) fmt=elf ;;
240 dlx-*-*) fmt=elf ;;
241
242 fr30-*-*) fmt=elf ;;
996991aa 243 frv-*-*linux*) fmt=elf em=linux;;
79500683
AM
244 frv-*-*) fmt=elf ;;
245
246 hppa-*-linux*) case ${cpu} in
247 hppa*64*) fmt=elf em=hppalinux64;;
248 hppa*) fmt=elf em=linux;;
249 esac ;;
250 hppa-*-*elf*) fmt=elf em=hppa ;;
251 hppa-*-lites*) fmt=elf em=hppa ;;
252 hppa-*-netbsd*) fmt=elf em=nbsd ;;
253 hppa-*-openbsd*) fmt=elf em=hppa ;;
254 hppa-*-osf*) fmt=som em=hppa ;;
255 hppa-*-rtems*) fmt=elf em=hppa ;;
256 hppa-*-hpux11*) case ${cpu} in
257 hppa*64*) fmt=elf em=hppa64 ;;
258 hppa*) fmt=som em=hppa ;;
259 esac ;;
260 hppa-*-hpux*) fmt=som em=hppa ;;
261 hppa-*-mpeix*) fmt=som em=hppa ;;
262 hppa-*-bsd*) fmt=som em=hppa ;;
263 hppa-*-hiux*) fmt=som em=hppa ;;
264
265 h8300-*-rtems*) fmt=coff ;;
266 h8300-*-coff) fmt=coff ;;
267 h8300-*-elf) fmt=elf ;;
268 h8500-*-rtems*) fmt=coff ;;
269 h8500-*-coff) fmt=coff ;;
270
271 i370-*-elf* | i370-*-linux*) fmt=elf ;;
272 i386-ibm-aix*) fmt=coff em=i386aix ;;
273 i386-sequent-bsd*) fmt=aout em=dynix ;;
274 i386-*-beospe*) fmt=coff em=pe ;;
275 i386-*-beos*) fmt=elf ;;
276 i386-*-coff) fmt=coff ;;
277 i386-*-elf) fmt=elf ;;
42b5d0ea 278 i386-*-kaos*) fmt=elf ;;
79500683
AM
279 i386-*-bsd*) fmt=aout em=386bsd ;;
280 i386-*-netbsd0.8) fmt=aout em=386bsd ;;
281 i386-*-netbsdpe*) fmt=coff em=pe ;;
4615568e
NC
282 i386-*-netbsd*-gnu* | \
283 i386-*-knetbsd*-gnu | \
79500683
AM
284 i386-*-netbsdelf*) fmt=elf em=nbsd ;;
285 i386-*-*n*bsd*) case ${cpu} in
286 x86_64) fmt=elf em=nbsd ;;
287 *) fmt=aout em=nbsd ;;
288 esac ;;
289 i386-*-linux*aout*) fmt=aout em=linux ;;
290 i386-*-linux*oldld) fmt=aout em=linux ;;
291 i386-*-linux*coff*) fmt=coff em=linux ;;
292 i386-*-linux-gnu*) fmt=elf em=linux ;;
293 x86_64-*-linux-gnu*) fmt=elf em=linux ;;
b2d65c0b 294 i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
f98fd99f 295changequote(,)dnl
79500683
AM
296 i386-*-sysv[45]*) fmt=elf ;;
297 i386-*-solaris*) fmt=elf ;;
298 i386-*-freebsdaout*) fmt=aout em=386bsd ;;
299 i386-*-freebsd[12].*) fmt=aout em=386bsd ;;
300 i386-*-freebsd[12]) fmt=aout em=386bsd ;;
f98fd99f 301changequote([,])dnl
13dfd2d0
NC
302 i386-*-freebsd* | i386-*-kfreebsd*-gnu)
303 fmt=elf em=freebsd ;;
79500683
AM
304 i386-*-sysv*) fmt=coff ;;
305 i386-*-sco3.2v5*coff) fmt=coff ;;
306 i386-*-isc*) fmt=coff ;;
307 i386-*-sco3.2v5*) fmt=elf
308 if test ${this_target} = $target; then
309 AC_DEFINE(SCO_ELF, 1, [Define if defaulting to ELF on SCO 5.])
310 fi ;;
311 i386-*-sco3.2*) fmt=coff ;;
312 i386-*-vsta) fmt=aout ;;
313 i386-*-msdosdjgpp* \
314 | i386-*-go32* \
315 | i386-go32-rtems*) fmt=coff em=go32
316 AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?]) ;;
317 i386-*-rtemself*) fmt=elf ;;
318 i386-*-rtemscoff*) fmt=coff ;;
319 i386-*-rtems*) fmt=elf ;;
320 i386-*-gnu*) fmt=elf ;;
321 i386-*-mach*) fmt=aout em=mach ;;
322 i386-*-msdos*) fmt=aout ;;
323 i386-*-moss*) fmt=elf ;;
324 i386-*-pe) fmt=coff em=pe ;;
325 i386-*-cygwin*) fmt=coff em=pe ;;
326 i386-*-interix*) fmt=coff em=interix ;;
327 i386-*-mingw32*) fmt=coff em=pe ;;
328 i386-*-nto-qnx*) fmt=elf ;;
329 i386-*-*nt*) fmt=coff em=pe ;;
79500683
AM
330 i386-*-chaos) fmt=elf ;;
331
332 i860-*-*) fmt=elf endian=little
333 AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress) ;;
334 i960-*-bout) fmt=bout ;;
335 i960-*-coff) fmt=coff em=ic960 ;;
336 i960-*-rtems*) fmt=coff em=ic960 ;;
337 i960-*-nindy*) fmt=bout ;;
338 i960-*-vxworks5.0) fmt=bout ;;
339 i960-*-vxworks5.*) fmt=coff em=ic960 ;;
340 i960-*-vxworks*) fmt=bout ;;
341 i960-*-elf*) fmt=elf ;;
342
343 ia64-*-elf*) fmt=elf ;;
344 ia64-*-aix*) fmt=elf em=ia64aix ;;
345 ia64-*-linux-gnu*) fmt=elf em=linux ;;
346 ia64-*-hpux*) fmt=elf em=hpux ;;
347 ia64-*-netbsd*) fmt=elf em=nbsd ;;
348
349 ip2k-*-*) fmt=elf ;;
350
1c53c80d
SC
351 iq2000-*-elf) fmt=elf bfd_gas=yes ;;
352
6edf0760
NC
353 m32r-*-elf*) fmt=elf ;;
354 m32r-*-linux*) fmt=elf em=linux;;
79500683
AM
355
356 m68hc11-*-* | m6811-*-*) fmt=elf ;;
357 m68hc12-*-* | m6812-*-*) fmt=elf ;;
358
359 m68k-*-vxworks*) fmt=aout em=sun3 ;;
360 m68k-ericsson-ose) fmt=aout em=sun3 ;;
361 m68k-*-sunos*) fmt=aout em=sun3 ;;
362 m68k-motorola-sysv*) fmt=coff em=delta ;;
363 m68k-bull-sysv3*) fmt=coff em=dpx2 ;;
364 m68k-apollo-*) fmt=coff em=apollo ;;
365 m68k-*-elf*) fmt=elf ;;
366 m68k-*-sysv4*) fmt=elf em=svr4 ;;
367 m68k-*-sysv*) fmt=coff ;;
368 m68k-*-coff | m68k-*-rtemscoff*) fmt=coff ;;
369 m68k-*-rtems*) fmt=elf ;;
370 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
371 m68k-*-linux*aout*) fmt=aout em=linux ;;
372 m68k-*-linux-gnu*) fmt=elf em=linux ;;
b50c15dc 373 m68k-*-uclinux*) fmt=elf ;;
79500683
AM
374 m68k-*-gnu*) fmt=elf ;;
375 m68k-*-lynxos*) fmt=coff em=lynx ;;
376 m68k-*-netbsdelf*) fmt=elf em=nbsd ;;
377 m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
378 m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
379 m68k-apple-aux*) fmt=coff em=aux ;;
380 m68k-*-psos*) fmt=elf em=psos;;
381
382 m88k-motorola-sysv3*) fmt=coff em=delt88 ;;
383 m88k-*-coff*) fmt=coff ;;
384
444bf5f3 385 maxq-*-coff) fmt=coff bfd_gas=yes ;;
7499d566 386
79500683
AM
387 mcore-*-elf) fmt=elf ;;
388 mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;;
252b5132
RH
389
390 # don't change em like *-*-bsd does
79500683 391 mips-dec-openbsd*) fmt=elf endian=little ;;
79500683
AM
392 mips-sony-bsd*) fmt=ecoff ;;
393 mips-*-bsd*)
394 AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
395 mips-*-ultrix*) fmt=ecoff endian=little ;;
396 mips-*-osf*) fmt=ecoff endian=little ;;
397 mips-*-ecoff*) fmt=ecoff ;;
398 mips-*-pe*) fmt=coff endian=little em=pe ;;
1de5b6a1
AO
399 mips-*-irix6*) fmt=elf em=irix ;;
400 mips-*-irix5*) fmt=elf em=irix ;;
401 mips-*-irix*) fmt=ecoff em=irix ;;
79500683
AM
402 mips-*-lnews*) fmt=ecoff em=lnews ;;
403 mips-*-riscos*) fmt=ecoff ;;
404 mips*-*-linux*) fmt=elf em=tmips ;;
405 mips-*-sysv4*MP* | mips-*-gnu*) fmt=elf em=tmips ;;
406 mips-*-sysv*) fmt=ecoff ;;
407 mips-*-elf* | mips-*-rtems*) fmt=elf ;;
dbeba5e5
CD
408 mips-*-netbsd*) fmt=elf ;;
409 mips-*-openbsd*) fmt=elf ;;
79500683
AM
410
411 mmix-*-*) fmt=elf ;;
412 mn10200-*-*) fmt=elf ;;
4101eec8
NC
413 # cpu_type for am33_2.0 is set to mn10300
414 mn10300-*-linux*) fmt=elf bfd_gas=yes em=linux ;;
79500683 415 mn10300-*-*) fmt=elf ;;
4101eec8 416
2469cfa2 417 msp430-*-*) fmt=elf ;;
4101eec8
NC
418
419 ns32k-pc532-mach*) fmt=aout em=pc532mach ;;
420 ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
421 ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
422 ns32k-*-*n*bsd*) fmt=aout em=nbsd532 ;;
423
79500683 424 openrisc-*-*) fmt=elf ;;
4b363073 425 or32-*-rtems*) fmt=elf ;;
79500683
AM
426 or32-*-coff) fmt=coff ;;
427 or32-*-elf) fmt=elf ;;
4101eec8 428
79500683
AM
429 pj*) fmt=elf ;;
430
431 ppc-*-pe | ppc-*-cygwin*) fmt=coff em=pe ;;
432 ppc-*-winnt*) fmt=coff em=pe ;;
f8fc3443
NC
433changequote(,)dnl
434 ppc-*-aix5.[01]) fmt=coff em=aix5 ;;
435changequote([,])dnl
436 ppc-*-aix5.*) fmt=coff em=aix5
437 AC_DEFINE(AIX_WEAK_SUPPORT, 1,
438 [Define if using AIX 5.2 value for C_WEAKEXT.])
439 ;;
79500683
AM
440 ppc-*-aix*) fmt=coff ;;
441 ppc-*-beos*) fmt=coff ;;
442 ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
443 ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
fda712ee 444 ppc-*-linux-gnu*) fmt=elf em=linux
79500683
AM
445 case "$endian" in
446 big) ;;
447 *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
448 esac ;;
449 ppc-*-solaris*) fmt=elf
450 if test ${this_target} = $target; then
451 AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
452 [Define if default target is PowerPC Solaris.])
453 fi
454 if test x${endian} = xbig; then
455 AC_MSG_ERROR(Solaris must be configured little endian)
456 fi ;;
457 ppc-*-rtems*) fmt=elf ;;
6c71dbc4 458 ppc-*-macos*) fmt=coff em=macos ;;
b2d65c0b 459 ppc-*-nto*) fmt=elf ;;
42b5d0ea 460 ppc-*-kaos*) fmt=elf ;;
b2d65c0b 461 ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
79500683
AM
462
463 s390x-*-linux-gnu*) fmt=elf em=linux ;;
464 s390-*-linux-gnu*) fmt=elf em=linux ;;
2fbd2a87 465 s390-*-tpf*) fmt=elf ;;
79500683
AM
466
467 sh*-*-linux*) fmt=elf em=linux
468 case ${cpu} in
469 sh*eb) endian=big ;;
470 *) endian=little ;;
471 esac ;;
472 sh5*-*-netbsd*) fmt=elf em=nbsd ;;
473 sh64*-*-netbsd*) fmt=elf em=nbsd ;;
474 sh*-*-netbsdelf*) fmt=elf em=nbsd ;;
1a320fbb 475 sh*-*-symbianelf*) fmt=elf endian=little
85fbca6a
NC
476 AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.])
477 ;;
79500683
AM
478 sh-*-elf*) fmt=elf ;;
479 sh-*-coff*) fmt=coff ;;
ed71e111
NC
480 sh-*-nto*) fmt=elf ;;
481 sh-*-pe*) fmt=coff em=pe bfd_gas=yes endian=little ;;
9183ed4b
AM
482 sh-*-rtemscoff*) fmt=coff ;;
483 sh-*-rtems*) fmt=elf ;;
42b5d0ea
NC
484 sh-*-kaos*) fmt=elf ;;
485 shle*-*-kaos*) fmt=elf ;;
79500683
AM
486 sh64-*-elf*) fmt=elf ;;
487
79500683
AM
488 sparc-*-rtemsaout*) fmt=aout ;;
489 sparc-*-rtemself*) fmt=elf ;;
490 sparc-*-rtems*) fmt=elf ;;
491 sparc-*-sunos4*) fmt=aout em=sun3 ;;
492 sparc-*-aout | sparc*-*-vxworks*) fmt=aout em=sparcaout ;;
493 sparc-*-coff) fmt=coff ;;
494 sparc-*-linux*aout*) fmt=aout em=linux ;;
495 sparc-*-linux-gnu*) fmt=elf em=linux ;;
496 sparc-*-lynxos*) fmt=coff em=lynx ;;
497 sparc-fujitsu-none) fmt=aout ;;
498 sparc-*-elf) fmt=elf ;;
499 sparc-*-sysv4*) fmt=elf ;;
500 sparc-*-solaris*) fmt=elf ;;
501 sparc-*-netbsdelf*) fmt=elf em=nbsd ;;
502 sparc-*-*n*bsd*) case ${cpu} in
503 sparc64) fmt=elf em=nbsd ;;
504 *) fmt=aout em=nbsd ;;
505 esac ;;
506 strongarm-*-coff) fmt=coff ;;
507 strongarm-*-elf) fmt=elf ;;
42b5d0ea 508 strongarm-*-kaos*) fmt=elf ;;
79500683
AM
509
510 tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
511 tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
026df7c5 512 tic4x-*-* | c4x-*-*) fmt=coff bfd_gas=yes ;;
79500683
AM
513 tic54x-*-* | c54x*-*-*) fmt=coff bfd_gas=yes need_libm=yes;;
514 tic80-*-*) fmt=coff ;;
515
516 v850-*-*) fmt=elf ;;
517 v850e-*-*) fmt=elf ;;
518 v850ea-*-*) fmt=elf ;;
519
520 vax-*-netbsdelf*) fmt=elf em=nbsd ;;
521 vax-*-netbsd*) fmt=aout em=nbsd ;;
522 vax-*-bsd* | vax-*-ultrix*) fmt=aout ;;
f8fc3443 523 vax-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
79500683
AM
524 vax-*-vms) fmt=vms ;;
525
526 w65-*-*) fmt=coff ;;
527
4101eec8
NC
528 xscale-*-coff) fmt=coff ;;
529 xscale-*-elf) fmt=elf ;;
530
79500683
AM
531 xstormy16-*-*) fmt=elf ;;
532
e0001a05
NC
533 xtensa-*-*) fmt=elf ;;
534
79500683
AM
535 z8k-*-coff | z8k-*-sim) fmt=coff ;;
536
537 *-*-aout | *-*-scout) fmt=aout ;;
13dfd2d0 538 *-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
79500683
AM
539 *-*-nindy*) fmt=bout ;;
540 *-*-bsd*) fmt=aout em=sun3 ;;
541 *-*-generic) fmt=generic ;;
542 *-*-xray | *-*-hms) fmt=coff ;;
543 *-*-sim) fmt=coff ;;
544 *-*-elf | *-*-sysv4* | *-*-solaris*) fmt=elf dev=yes ;;
0379c688
NC
545 *-*-aros*) fmt=elf em=linux bfd_gas=yes ;;
546 *-*-vxworks | *-*-windiss) fmt=elf ;;
32137342 547 *-*-netware) fmt=elf em=netware ;;
252b5132
RH
548 esac
549
550 if test ${this_target} = $target ; then
551 endian_def=
552 if test x${endian} = xbig; then
553 endian_def=1
554 elif test x${endian} = xlittle; then
555 endian_def=0
556 fi
557 if test x${endian_def} != x; then
558 AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
559 [Define as 1 if big endian.])
560 fi
561 fi
562
563 case ${cpu_type}-${fmt} in
79500683
AM
564 alpha*-* | arm-* | i386-* | ia64*-* | mips-* | ns32k-* \
565 | pdp11-* | ppc-* | sparc-* | strongarm-* | xscale-* \
566 | *-elf | *-ecoff | *-som)
567 bfd_gas=yes ;;
252b5132
RH
568 esac
569
570# Other random stuff.
571
316f5878
RS
572 case ${cpu_type} in
573 mips)
574 # Set mips_cpu to the name of the default CPU.
575 case ${target_cpu} in
576 mips | mipsbe | mipseb | mipsle | mipsel | mips64 | mips64el)
577 mips_cpu=from-abi
578 ;;
579 mipsisa32 | mipsisa32el)
580 mips_cpu=mips32
581 ;;
af7ee8bf
CD
582 mipsisa32r2 | mipsisa32r2el)
583 mips_cpu=mips32r2
584 ;;
316f5878
RS
585 mipsisa64 | mipsisa64el)
586 mips_cpu=mips64
587 ;;
5f74bc13
CD
588 mipsisa64r2 | mipsisa64r2el)
589 mips_cpu=mips64r2
590 ;;
316f5878
RS
591 mipstx39 | mipstx39el)
592 mips_cpu=r3900
593 ;;
8f6847cb
RS
594 mips64vr | mips64vrel)
595 mips_cpu=vr4100
596 ;;
5f74bc13 597 mipsisa32r2* | mipsisa64r2*)
af7ee8bf
CD
598changequote(,)dnl
599 mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'`
600changequote([,])dnl
601 ;;
316f5878
RS
602 mips64* | mipsisa64* | mipsisa32*)
603changequote(,)dnl
604 mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..//' -e 's/el$//'`
605changequote([,])dnl
606 ;;
607 *)
608 AC_ERROR($target_cpu isn't a supported MIPS CPU name)
609 ;;
610 esac
611 # See whether it's appropriate to set E_MIPS_ABI_O32 for o32
612 # binaries. It's a GNU extension that some OSes don't understand.
613 # The value only matters on ELF targets.
614 case ${target} in
615 *-*-irix*)
616 use_e_mips_abi_o32=0
617 ;;
618 *)
619 use_e_mips_abi_o32=1
620 ;;
621 esac
622 # Decide whether to generate 32-bit or 64-bit code by default.
623 # Used to resolve -march=from-abi when an embedded ABI is selected.
624 case ${target} in
625 mips64*-*-* | mipsisa64*-*-*)
626 mips_default_64bit=1
627 ;;
628 *)
629 mips_default_64bit=0
630 ;;
631 esac
cac012d6
AO
632 # Decide which ABI to target by default.
633 case ${target} in
634 mips64*-linux* | mips-sgi-irix6*)
635 mips_default_abi=N32_ABI
636 ;;
637 mips*-linux*)
638 mips_default_abi=O32_ABI
639 ;;
640 *)
641 mips_default_abi=NO_ABI
642 ;;
643 esac
316f5878
RS
644 AC_DEFINE_UNQUOTED(MIPS_CPU_STRING_DEFAULT, "$mips_cpu",
645 [Default CPU for MIPS targets. ])
646 AC_DEFINE_UNQUOTED(USE_E_MIPS_ABI_O32, $use_e_mips_abi_o32,
647 [Allow use of E_MIPS_ABI_O32 on MIPS targets. ])
648 AC_DEFINE_UNQUOTED(MIPS_DEFAULT_64BIT, $mips_default_64bit,
649 [Generate 64-bit code by default on MIPS targets. ])
cac012d6
AO
650 AC_DEFINE_UNQUOTED(MIPS_DEFAULT_ABI, $mips_default_abi,
651 [Choose a default ABI for MIPS targets. ])
316f5878
RS
652 ;;
653 esac
654
252b5132
RH
655 # Do we need the opcodes library?
656 case ${cpu_type} in
657 vax | i386 | tic30)
658 ;;
659
660 *)
661 need_opcodes=yes
662
663 case "${enable_shared}" in
664 yes) shared_opcodes=true ;;
665 *opcodes*) shared_opcodes=true ;;
666 *) shared_opcodes=false ;;
667 esac
668 if test "${shared_opcodes}" = "true"; then
669 # A shared libopcodes must be linked against libbfd.
670 need_bfd=yes
671 fi
672 ;;
673 esac
674
675 # Any other special object files needed ?
676 case ${cpu_type} in
1c53c80d 677 fr30 | ip2k | iq2000 | m32r | openrisc)
252b5132
RH
678 using_cgen=yes
679 ;;
680
0ebb9a87
DB
681 frv)
682 using_cgen=yes
683 ;;
252b5132
RH
684 m68k)
685 case ${extra_objects} in
686 *m68k-parse.o*) ;;
687 *) extra_objects="$extra_objects m68k-parse.o" ;;
688 esac
689 ;;
690
691 mips)
692 echo ${extra_objects} | grep -s "itbl-parse.o"
693 if test $? -ne 0 ; then
694 extra_objects="$extra_objects itbl-parse.o"
695 fi
696
697 echo ${extra_objects} | grep -s "itbl-lex.o"
698 if test $? -ne 0 ; then
699 extra_objects="$extra_objects itbl-lex.o"
700 fi
701
702 echo ${extra_objects} | grep -s "itbl-ops.o"
703 if test $? -ne 0 ; then
704 extra_objects="$extra_objects itbl-ops.o"
705 fi
706 ;;
707
c1e4eef7 708 i386 | s390 | sparc)
252b5132
RH
709 if test $this_target = $target ; then
710 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
711 fi
712 ;;
93fbbb04
GK
713
714 xstormy16)
715 using_cgen=yes
716 ;;
717
e0001a05
NC
718 xtensa)
719 echo ${extra_objects} | grep -s "xtensa-relax.o"
720 if test $? -ne 0 ; then
721 extra_objects="$extra_objects xtensa-relax.o"
722 fi
723 ;;
724
252b5132
RH
725 *)
726 ;;
727 esac
728
729 if test $using_cgen = yes ; then
730 case "x${extra_objects}" in
731 *cgen.o*) ;;
732 *) extra_objects="$extra_objects cgen.o" ;;
733 esac
734 fi
735
736# See if we really can support this configuration with the emulation code.
737
738 if test $this_target = $target ; then
739 primary_bfd_gas=$bfd_gas
740 obj_format=$fmt
741 te_file=$em
742
743 if test $bfd_gas = no ; then
744 # Can't support other configurations this way.
745 break
746 fi
747 elif test $bfd_gas = no ; then
748 # Can't support this configuration.
749 break
750 fi
751
752# From target name and format, produce a list of supported emulations.
753
754 case ${generic_target}-${fmt} in
755 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
4008bd9b 756 mips*-*-linux*-*) case "$endian" in
df3bcd6f
L
757 big) emulation="mipsbelf mipslelf mipself" ;;
758 *) emulation="mipslelf mipsbelf mipself" ;;
252b5132
RH
759 esac ;;
760 mips-*-lnews*-ecoff) ;;
761 mips-*-*-ecoff) case "$endian" in
762 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
763 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
764 esac ;;
765 mips-*-*-elf) case "$endian" in
766 big) emulation="mipsbelf mipslelf mipself" ;;
767 *) emulation="mipslelf mipsbelf mipself" ;;
252b5132 768 esac ;;
906fac54 769 mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
119caedd
L
770 # i386-pc-pe-coff != i386-pc-coff.
771 i386-*-pe-coff) ;;
4c63da97
AM
772 # Uncommenting the next line will turn on support for i386 AOUT
773 # for the default linux configuration
774 # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
775 #
776 i386-*-aout) emulation="i386aout" ;;
4ca72d38 777 i386-*-coff) emulation="i386coff" ;;
4c63da97 778 i386-*-elf) emulation="i386elf" ;;
3bcbcc3d 779
f9c19112
HPN
780 # Always all formats. The first stated emulation becomes the default.
781 cris-*-*aout*) emulation="crisaout criself" ;;
782 cris-*-*) emulation="criself crisaout" ;;
252b5132
RH
783 esac
784
785 emulations="$emulations $emulation"
786
787done
788
15886821
L
789# Turn on all targets if possible
790if test ${all_targets} = "yes"; then
791 case ${target_cpu_type} in
792 i386)
793 case ${obj_format} in
794 aout)
795 emulations="$emulations i386coff i386elf"
796 ;;
797 coff)
798 emulations="$emulations i386aout i386elf"
799 ;;
800 elf)
801 emulations="$emulations i386aout i386coff"
802 ;;
803 esac
804 ;;
805 esac
806fi
807
252b5132
RH
808# Assign floating point type. Most processors with FP support
809# IEEE FP. On those that don't support FP at all, usually IEEE
810# is emulated.
811case ${target_cpu} in
812 vax | tahoe ) atof=${target_cpu} ;;
e135f41b 813 pdp11) atof=vax ;;
252b5132
RH
814 *) atof=ieee ;;
815esac
816
817case "${obj_format}" in
818 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
819esac
820
821# Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
822cgen_cpu_prefix=""
823if test $using_cgen = yes ; then
824 case ${target_cpu} in
825 *) cgen_cpu_prefix=${target_cpu} ;;
826 esac
827 AC_SUBST(cgen_cpu_prefix)
828 AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
829fi
830
831dnl
832dnl Make sure the desired support files exist.
833dnl
834
835if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
836 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
837fi
838
839if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
840 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
841fi
842
843case ${user_bfd_gas}-${primary_bfd_gas} in
844 yes-yes | no-no)
845 # We didn't override user's choice.
846 ;;
847 no-yes)
848 AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
849 ;;
850 no-preferred)
851 primary_bfd_gas=no
852 ;;
853 *-preferred)
854 primary_bfd_gas=yes
855 ;;
856 yes-*)
857 primary_bfd_gas=yes
858 ;;
859 -*)
860 # User specified nothing.
861 ;;
862esac
863
864# Some COFF configurations want these random other flags set.
865case ${obj_format} in
866 coff)
867 case ${target_cpu_type} in
868 i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
869 m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
870 m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
871 esac
872 ;;
873esac
874
875# Getting this done right is going to be a bitch. Each configuration specified
876# with --enable-targets=... should be checked for environment, format, cpu, and
877# bfd_gas setting.
878#
879# For each configuration, the necessary object file support code must be linked
880# in. This might be only one, it might be up to four. The necessary emulation
881# code needs to be provided, too.
882#
883# And then there's "--enable-targets=all"....
884#
885# For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
886
887formats="${obj_format}"
888emfiles=""
889EMULATIONS=""
890GAS_UNIQ(emulations)
891for em in . $emulations ; do
892 case $em in
893 .) continue ;;
97238fbd 894 mipsbelf | mipslelf | mipself)
252b5132 895 fmt=elf file=mipself ;;
97238fbd 896 mipsbecoff | mipslecoff | mipsecoff)
252b5132 897 fmt=ecoff file=mipsecoff ;;
0aa5d426
HPN
898 *coff)
899 fmt=coff file=$em ;;
900 *aout)
901 fmt=aout file=$em ;;
902 *elf)
903 fmt=elf file=$em ;;
252b5132
RH
904 esac
905 formats="$formats $fmt"
906 emfiles="$emfiles e-$file.o"
907 EMULATIONS="$EMULATIONS &$em,"
908done
909GAS_UNIQ(formats)
910GAS_UNIQ(emfiles)
911if test `set . $formats ; shift ; echo $#` -gt 1 ; then
912 for fmt in $formats ; do
913 case $fmt in
914 aout) AC_DEFINE(OBJ_MAYBE_AOUT, 1, [a.out support?]) ;;
915 bout) AC_DEFINE(OBJ_MAYBE_BOUT, 1, [b.out support?]) ;;
916 coff) AC_DEFINE(OBJ_MAYBE_COFF, 1, [COFF support?]) ;;
917 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF, 1, [ECOFF support?]) ;;
918 elf) AC_DEFINE(OBJ_MAYBE_ELF, 1, [ELF support?]) ;;
919 generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
920 hp300) AC_DEFINE(OBJ_MAYBE_HP300, 1, [HP300 support?]) ;;
921 ieee) AC_DEFINE(OBJ_MAYBE_IEEE, 1, [IEEE support?]) ;;
922 som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
923 vms) AC_DEFINE(OBJ_MAYBE_VMS, 1, [VMS support?]) ;;
924 esac
925 extra_objects="$extra_objects obj-$fmt.o"
926 done
927 obj_format=multi
928fi
929if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
252b5132 930 DEFAULT_EMULATION=`set . $emulations ; echo $2`
4ca72d38
AM
931 # e-mips* has more than one emulation per file, e-i386* has just one at the
932 # moment. If only one emulation is specified, then don't define
933 # USE_EMULATIONS or include any of the e-files as they will only be bloat.
934 case "${obj_format}${emfiles}" in
935 multi* | *mips*)
4ca72d38
AM
936 extra_objects="$extra_objects $emfiles"
937 AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
938 esac
252b5132
RH
939fi
940AC_SUBST(extra_objects)
941AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
942AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
943 [Default emulation.])
944
945case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
946 yes-*-coff) need_bfd=yes ;;
947 no-*-coff) need_bfd=yes
948 AC_DEFINE(MANY_SEGMENTS, 1, [old COFF support?]) ;;
949esac
950
951reject_dev_configs=yes
952
953case ${reject_dev_configs}-${dev} in
954 yes-yes) # Oops.
955 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
956 ;;
957esac
958
959AC_SUBST(target_cpu_type)
960AC_SUBST(obj_format)
961AC_SUBST(te_file)
962AC_SUBST(install_tooldir)
963AC_SUBST(atof)
964dnl AC_SUBST(emulation)
965
966case "${primary_bfd_gas}" in
967 yes) AC_DEFINE(BFD_ASSEMBLER, 1, [Use BFD interface?])
968 need_bfd=yes ;;
969esac
970
971# do we need the opcodes library?
972case "${need_opcodes}" in
973yes)
974 OPCODES_LIB=../opcodes/libopcodes.la
975 ;;
976esac
977
978case "${need_bfd}" in
979yes)
980 BFDLIB=../bfd/libbfd.la
4001ad8c 981 BFDVER_H=../bfd/bfdver.h
29589b0c 982 ALL_OBJ_DEPS="$ALL_OBJ_DEPS"' ../bfd/bfd.h $(INCDIR)/symcat.h'
252b5132
RH
983 ;;
984esac
985
986AC_SUBST(BFDLIB)
987AC_SUBST(OPCODES_LIB)
988
4001ad8c 989AC_SUBST(BFDVER_H)
252b5132
RH
990AC_SUBST(ALL_OBJ_DEPS)
991
992AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}", [Target alias.])
993AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}", [Canonical target.])
994AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}", [Target CPU.])
995AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}", [Target vendor.])
996AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.])
997
998AC_PROG_CC
999
1000AC_PROG_YACC
1001AM_PROG_LEX
1002
fe41178f 1003ALL_LINGUAS="fr tr es"
252b5132
RH
1004CY_GNU_GETTEXT
1005
1006AM_MAINTAINER_MODE
1007AC_EXEEXT
1008
1009AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
1010
1011# Put this here so that autoconf's "cross-compiling" message doesn't confuse
1012# people who are not cross-compiling but are compiling cross-assemblers.
1013AC_MSG_CHECKING(whether compiling a cross-assembler)
1014if test "${host}" = "${target}"; then
1015 cross_gas=no
1016else
1017 cross_gas=yes
1018 AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
1019fi
1020AC_MSG_RESULT($cross_gas)
1021
1022dnl ansidecl.h will deal with const
1023dnl AC_CONST
1024AC_FUNC_ALLOCA
1025AC_C_INLINE
1026
1027# VMS doesn't have unlink.
1028AC_CHECK_FUNCS(unlink remove, break)
1029
1030# Some systems don't have sbrk().
1031AC_CHECK_FUNCS(sbrk)
1032
39bec121
TW
1033# do we need the math library?
1034case "${need_libm}" in
1035yes)
1036 AC_CHECK_LIBM
1037 AC_SUBST(LIBM)
1038 ;;
1039esac
1040
252b5132
RH
1041# Some non-ANSI preprocessors botch requoting inside strings. That's bad
1042# enough, but on some of those systems, the assert macro relies on requoting
1043# working properly!
1044GAS_WORKING_ASSERT
1045
1046# On some systems, the system header files may not declare malloc, realloc,
1047# and free. There are places where gas needs these functions to have been
1048# declared -- such as when taking their addresses.
1049gas_test_headers="
1050#ifdef HAVE_MEMORY_H
1051#include <memory.h>
1052#endif
1053#ifdef HAVE_STRING_H
1054#include <string.h>
1055#else
1056#ifdef HAVE_STRINGS_H
1057#include <strings.h>
1058#endif
1059#endif
1060#ifdef HAVE_STDLIB_H
1061#include <stdlib.h>
1062#endif
1063#ifdef HAVE_UNISTD_H
1064#include <unistd.h>
1065#endif
1066"
1067GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
1068GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
1069GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
1070GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
1071GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
1072
1073# Does errno.h declare errno, or do we have to add a separate declaration
1074# for it?
1075GAS_CHECK_DECL_NEEDED(errno, f, int f, [
1076#ifdef HAVE_ERRNO_H
1077#include <errno.h>
1078#endif
1079])
1080
1081dnl This must come last.
1082
1083dnl We used to make symlinks to files in the source directory, but now
1084dnl we just use the right name for .c files, and create .h files in
1085dnl the build directory which include the right .h file. Make sure
1086dnl the old symlinks don't exist, so that a reconfigure in an existing
1087dnl directory behaves reasonably.
1088
13b2be9c
DJ
1089AC_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in)
1090AC_CONFIG_COMMANDS([default],
252b5132
RH
1091[rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
1092 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
1093 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
1094 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
1095 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
1096 if test "x$cgen_cpu_prefix" != x ; then
1097 echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
1098 fi
1099
1100 sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
1101[target_cpu_type=${target_cpu_type}
1102 cgen_cpu_prefix=${cgen_cpu_prefix}
1103 obj_format=${obj_format}
1104 te_file=${te_file}])
13b2be9c
DJ
1105
1106AC_OUTPUT
This page took 0.305018 seconds and 4 git commands to generate.