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