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