Update elf64 aix5 comments.
[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
8AC_PREREQ(2.13)
9AC_INIT(as.h)
10
11AC_CANONICAL_SYSTEM
5d64ca4e 12AC_ISC_POSIX
252b5132 13
18e03609 14AM_INIT_AUTOMAKE(gas, 2.10.91)
252b5132
RH
15
16AM_PROG_LIBTOOL
17
18user_bfd_gas=
19AC_ARG_ENABLE(bfd-assembler,
20[ --enable-bfd-assembler use BFD back end for writing object files],
21[case "${enableval}" in
22 yes) need_bfd=yes user_bfd_gas=yes ;;
23 no) user_bfd_gas=no ;;
24 *) AC_MSG_ERROR(bad value ${enableval} given for bfd-assembler option) ;;
25esac])dnl
26AC_ARG_ENABLE(targets,
27[ targets alternative target configurations besides the primary],
28[case "${enableval}" in
29 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
30 ;;
31 no) enable_targets= ;;
32 *) enable_targets=$enableval ;;
33esac])dnl
34AC_ARG_ENABLE(commonbfdlib,
35[ --enable-commonbfdlib build shared BFD/opcodes/libiberty library],
36[case "${enableval}" in
37 yes) commonbfdlib=true ;;
38 no) commonbfdlib=false ;;
39 *) AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
40esac])dnl
41
42using_cgen=no
43
a2d91340
AC
44build_warnings="-W -Wall"
45AC_ARG_ENABLE(build-warnings,
46[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
47[case "${enableval}" in
48 yes) ;;
49 no) build_warnings="-w";;
50 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
51 build_warnings="${build_warnings} ${t}";;
52 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
53 build_warnings="${t} ${build_warnings}";;
54 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
55esac
56if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
57 echo "Setting warning flags = $build_warnings" 6>&1
58fi])dnl
59WARN_CFLAGS=""
60if test "x${build_warnings}" != x -a "x$GCC" = xyes ; then
61 WARN_CFLAGS="${build_warnings}"
62fi
63AC_SUBST(WARN_CFLAGS)
64
252b5132
RH
65# Generate a header file
66AM_CONFIG_HEADER(config.h:config.in)
67
76a27922
ILT
68# If we are on a DOS filesystem, we must use gdb.ini rather than
69# .gdbinit.
70GDBINIT=".gdbinit"
71case "${host}" in
72 *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
73 GDBINIT="gdb.ini"
74 ;;
75esac
76AC_SUBST(GDBINIT)
77
252b5132
RH
78te_file=generic
79
80# Makefile target for installing gas in $(tooldir)/bin.
81install_tooldir=install-exec-tooldir
82
83canon_targets=""
15886821 84all_targets=no
252b5132
RH
85if test -n "$enable_targets" ; then
86 for t in `echo $enable_targets | sed 's/,/ /g'`; do
15886821
L
87 if test $t = "all"; then
88 all_targets=yes
89 continue
90 fi
6d83c84b 91 result=`$ac_config_sub $t 2>/dev/null`
252b5132
RH
92 if test -n "$result" ; then
93 canon_targets="$canon_targets $result"
94# else
95# # Permit "all", etc. We don't support it yet though.
96# canon_targets="$canon_targets $t"
97 fi
98 done
99 GAS_UNIQ(canon_targets)
100fi
101
102emulations=""
103
104for this_target in $target $canon_targets ; do
105
106changequote(,)dnl
107 eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
108changequote([,])dnl
109
110 # check for architecture variants
111 arch=
112 endian=
113 case ${cpu} in
114 alpha*) cpu_type=alpha ;;
115 armeb) cpu_type=arm endian=big ;;
116 arm*) cpu_type=arm endian=little ;;
117 armb*) cpu_type=arm endian=little ;;
118 armv*l) cpu_type=arm endian=little ;;
119 armv*b) cpu_type=arm endian=big ;;
a1059aed 120 xscale*) cpu_type=arm endian=little ;;
252b5132
RH
121 strongarm*) cpu_type=arm endian=little ;;
122 thumb*) cpu_type=arm endian=little ;;
123 hppa*) cpu_type=hppa ;;
124changequote(,)dnl
81c425d1 125 i[3456]86) cpu_type=i386 arch=i386;;
c0d8940f 126 x86_64) cpu_type=i386 arch=x86_64;;
800eeca4 127 ia64) cpu_type=ia64 ;;
6f6ef0fa 128 m6811|m6812|m68hc12) cpu_type=m68hc11 ;;
252b5132
RH
129 m680[012346]0) cpu_type=m68k ;;
130changequote([,])dnl
131 m68008) cpu_type=m68k ;;
132 m683??) cpu_type=m68k ;;
133 m5200) cpu_type=m68k ;;
134 m8*) cpu_type=m88k ;;
135 mips*el) cpu_type=mips endian=little ;;
136 mips*) cpu_type=mips endian=big ;;
041dd5a9
ILT
137 pjl*) cpu_type=pj endian=little ;;
138 pj*) cpu_type=pj endian=big ;;
252b5132
RH
139 powerpcle*) cpu_type=ppc endian=little ;;
140 powerpc*) cpu_type=ppc endian=big ;;
141 rs6000*) cpu_type=ppc ;;
a85d7ed0
NC
142 s390x*) cpu_type=s390 arch=s390x ;;
143 s390*) cpu_type=s390 arch=s390 ;;
252b5132
RH
144 sparclite*) cpu_type=sparc arch=sparclite ;;
145 sparclet*) cpu_type=sparc arch=sparclet ;;
146 sparc64*) cpu_type=sparc arch=v9-64 ;;
147 sparc86x*) cpu_type=sparc arch=sparc86x ;;
148 sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
149 v850*) cpu_type=v850 ;;
150 *) cpu_type=${cpu} ;;
151 esac
152
153 if test ${this_target} = $target ; then
154 target_cpu_type=${cpu_type}
155 elif test ${target_cpu_type} != ${cpu_type} ; then
156 continue
157 fi
158
159 generic_target=${cpu_type}-$vendor-$os
160 dev=no
161 bfd_gas=no
162 em=generic
163
164 # assign object format
165 case ${generic_target} in
166 a29k-*-coff) fmt=coff ;;
167 a29k-amd-udi) fmt=coff ;;
168 a29k-amd-ebmon) fmt=coff ;;
169 a29k-nyu-sym1) fmt=coff ;;
5f68c319 170 a29k-*-rtems*) fmt=coff ;;
252b5132
RH
171 a29k-*-vxworks*) fmt=coff ;;
172
173 alpha*-*-*vms*) fmt=evax ;;
174 alpha*-*-netware*) fmt=ecoff ;;
175 alpha*-*-openbsd*) fmt=ecoff ;;
176 alpha*-*-osf*) fmt=ecoff ;;
177 alpha*-*-linuxecoff*) fmt=ecoff ;;
178 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
179 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
180
181 arc-*-elf*) fmt=elf bfd_gas=yes ;;
182
183 arm-*-aout) fmt=aout ;;
184 arm-*-coff | thumb-*-coff) fmt=coff ;;
5f68c319 185 arm-*-rtems | thumb-*-rtems) fmt=elf ;;
252b5132 186 arm-*-elf | thumb-*-elf) fmt=elf ;;
0decc840 187 arm*-*-conix*) fmt=elf ;;
252b5132 188 arm-*-linux*aout*) fmt=aout em=linux ;;
222f8079
PB
189 arm*-*-linux-gnu* | arm*-*-uclinux*)
190 fmt=elf em=linux ;;
c1e73230 191 arm-*-netbsd*) fmt=aout em=nbsd ;;
252b5132
RH
192 arm-*-oabi | thumb-*-oabi) fmt=elf ;;
193 arm-epoc-pe | thumb-epoc-pe) fmt=coff em=epoc-pe ;;
c1e73230 194 arm-*-wince) fmt=coff em=wince-pe ;;
252b5132
RH
195 arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
196 arm-*-riscix*) fmt=aout em=riscix ;;
197
adde6300
AM
198 avr-*-*) fmt=elf bfd_gas=yes ;;
199
3bcbcc3d
HPN
200 cris-*-*) fmt=multi bfd_gas=yes ;;
201
252b5132
RH
202 d10v-*-*) fmt=elf bfd_gas=yes ;;
203 d30v-*-*) fmt=elf bfd_gas=yes ;;
204
205
206 fr30-*-*) fmt=elf bfd_gas=yes ;;
207
ad1079af
AM
208 hppa-*-linux-gnu*) case ${cpu} in
209 hppa*64*)
210 fmt=elf em=hppalinux64;;
211 hppa*)
212 fmt=elf em=linux;;
213 esac ;;
252b5132
RH
214 hppa-*-*elf*) fmt=elf em=hppa ;;
215 hppa-*-lites*) fmt=elf em=hppa ;;
216 hppa-*-osf*) fmt=som em=hppa ;;
217 hppa-*-rtems*) fmt=elf em=hppa ;;
ad1079af 218 hppa-*-hpux11*) case ${cpu} in
c9e10a08 219 hppa*64*)
ad1079af 220 fmt=elf em=hppa64 ;;
c9e10a08 221 hppa*)
ad1079af
AM
222 fmt=som em=hppa ;;
223 esac ;;
252b5132
RH
224 hppa-*-hpux*) fmt=som em=hppa ;;
225 hppa-*-mpeix*) fmt=som em=hppa ;;
226 hppa-*-bsd*) fmt=som em=hppa ;;
227 hppa-*-hiux*) fmt=som em=hppa ;;
228
5f68c319 229 h8300-*-rtems*) fmt=coff ;;
252b5132
RH
230 h8300-*-coff) fmt=coff ;;
231
5b93d8bb 232 i370-*-elf* | i370-*-linux*) fmt=elf ;;
252b5132
RH
233 i386-ibm-aix*) fmt=coff em=i386aix ;;
234 i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;;
235 i386-*-beospe*) fmt=coff em=pe bfd_gas=yes ;;
236 i386-*-beoself* | i386-*-beos*) fmt=elf bfd_gas=yes ;;
237 i386-*-bsd*) fmt=aout em=386bsd ;;
238 i386-*-netbsd0.8) fmt=aout em=386bsd ;;
239 i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
240 i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;;
241 i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;;
242 i386-*-linux*coff*) fmt=coff em=linux ;;
243 i386-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
c0d8940f 244 x86_64-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
252b5132 245 i386-*-lynxos*) fmt=coff em=lynx ;;
f98fd99f 246changequote(,)dnl
fc997f4b
AM
247 i386-*-sysv[45]* | i386-*-solaris* | i386-*-elf)
248 fmt=elf bfd_gas=yes ;;
008960a5
ILT
249 i386-*-freebsdaout* | i386-*-freebsd[12].* | i386-*-freebsd[12])
250 fmt=aout em=386bsd ;;
f98fd99f 251changequote([,])dnl
252b5132
RH
252 i386-*-coff | i386-*-sysv* | i386-*-sco3.2v5*coff | i386-*-isc*)
253 fmt=coff ;;
254 i386-*-sco3.2v5*) fmt=elf
255 if test ${this_target} = $target; then
256 AC_DEFINE(SCO_ELF, 1,
257 [Define if defaulting to ELF on SCO 5.])
258 fi
259 ;;
260 i386-*-sco3.2*) fmt=coff ;;
261 i386-*-vsta) fmt=aout ;;
262 i386-*-msdosdjgpp* | i386-*-go32* | i386-go32-rtems*)
349a994c 263 fmt=coff em=go32 bfd_gas=yes
56385375
L
264 AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?])
265 ;;
53f3de98 266 i386-*-rtemself*) fmt=elf ;;
252b5132
RH
267 i386-*-rtems*) fmt=coff ;;
268 i386-*-gnu*) fmt=elf ;;
269 i386-*-mach*)
270 fmt=aout em=mach bfd_gas=yes ;;
271 i386-*-msdos*) fmt=aout ;;
272 i386-*-moss*) fmt=elf ;;
c1e73230 273 i386-*-pe) fmt=coff em=pe bfd_gas=yes ;;
252b5132 274 i386-*-cygwin*) fmt=coff em=pe bfd_gas=yes ;;
9750fcc5 275 i386-*-interix*) fmt=coff em=interix bfd_gas=yes ;;
252b5132 276 i386-*-mingw32*) fmt=coff em=pe bfd_gas=yes ;;
c1e73230 277 i386-*-*nt*) fmt=coff em=pe bfd_gas=yes ;;
29fe79d3 278 i386-*-vxworks*) fmt=aout ;;
59ff2774 279 i386-*-chaos) fmt=elf ;;
aa8c34c3
JE
280 i860-stardent-sysv4* | i860-stardent-elf*)
281 fmt=elf bfd_gas=yes endian=little
282 AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress) ;;
252b5132
RH
283 i960-*-bout) fmt=bout ;;
284 i960-*-coff) fmt=coff em=ic960 ;;
285 i960-*-rtems*) fmt=coff em=ic960 ;;
286 i960-*-nindy*) fmt=bout ;;
287 i960-*-vxworks4*) fmt=bout ;;
288 i960-*-vxworks5.0) fmt=bout ;;
289 i960-*-vxworks5.*) fmt=coff em=ic960 ;;
290 i960-*-vxworks*) fmt=bout ;;
bedf545c 291 i960-*-elf*) fmt=elf ;;
252b5132 292
800eeca4 293 ia64-*-elf*) fmt=elf ;;
7463c317 294 ia64-*-aix*) fmt=elf em=ia64aix ;;
800eeca4 295 ia64-*-linux-gnu*) fmt=elf em=linux ;;
44f5c83a 296 ia64-*-hpux*) fmt=elf em=hpux ;;
800eeca4 297
252b5132
RH
298 m32r-*-*) fmt=elf bfd_gas=yes ;;
299
60bcf0fa
NC
300 m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)fmt=elf bfd_gas=yes ;;
301
252b5132
RH
302 m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
303 fmt=aout em=sun3 ;;
304 m68k-motorola-sysv*) fmt=coff em=delta ;;
305 m68k-bull-sysv3*) fmt=coff em=dpx2 ;;
306 m68k-apollo-*) fmt=coff em=apollo ;;
307 m68k-*-sysv4*) # must be before -sysv*
308 fmt=elf em=svr4 ;;
309 m68k-*-elf*) fmt=elf ;;
310 m68k-*-coff | m68k-*-sysv* | m68k-*-rtems*)
311 fmt=coff ;;
312 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
313 m68k-*-linux*aout*) fmt=aout em=linux ;;
314 m68k-*-linux-gnu*) fmt=elf em=linux ;;
315 m68k-*-gnu*) fmt=elf ;;
316 m68k-*-lynxos*) fmt=coff em=lynx ;;
317 m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
318 m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
319 m68k-apple-aux*) fmt=coff em=aux ;;
320 m68k-*-psos*) fmt=elf em=psos;;
321
322 m88k-motorola-sysv3*) fmt=coff em=delt88 ;;
323 m88k-*-coff*) fmt=coff ;;
324
325 mcore-*-elf) fmt=elf bfd_gas=yes ;;
326 mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;;
327
328 # don't change em like *-*-bsd does
329 mips-dec-netbsd*) fmt=elf endian=little ;;
330 mips-dec-openbsd*) fmt=elf endian=little ;;
331 mips-dec-bsd*) fmt=aout endian=little ;;
332 mips-sony-bsd*) fmt=ecoff ;;
333 mips-*-bsd*) AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
334 mips-*-ultrix*) fmt=ecoff endian=little ;;
335 mips-*-osf*) fmt=ecoff endian=little ;;
336 mips-*-ecoff*) fmt=ecoff ;;
337 mips-*-ecoff*) fmt=ecoff ;;
056350c6 338 mips-*-pe*) fmt=coff endian=little em=pe ;;
252b5132
RH
339 mips-*-irix6*) fmt=elf ;;
340 mips-*-irix5*) fmt=elf ;;
341 mips-*-irix*) fmt=ecoff ;;
342 mips-*-lnews*) fmt=ecoff em=lnews ;;
343 mips-*-riscos*) fmt=ecoff ;;
906fac54 344 mips-*-sysv4*MP*) fmt=elf em=tmips ;;
252b5132
RH
345 mips-*-sysv*) fmt=ecoff ;;
346 mips-*-elf* | mips-*-rtems* | mips-*-linux-gnu* | mips-*-gnu* | mips-*-openbsd*)
347 fmt=elf ;;
348 mips-*-vxworks*) fmt=elf
349 AC_DEFINE(MIPS_STABS_ELF, 1,
350 [Use ELF stabs for MIPS, not ECOFF stabs])
351 ;;
352 mn10200-*-*) fmt=elf bfd_gas=yes ;;
353 mn10300-*-*) fmt=elf bfd_gas=yes ;;
041dd5a9 354 pj*) fmt=elf ;;
252b5132
RH
355 ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*)
356 fmt=coff em=pe ;;
357 ppc-*-aix*) fmt=coff ;;
358 ppc-*-beos*) fmt=coff ;;
359 ppc-*-*bsd* | ppc-*-elf* | ppc-*-eabi* | ppc-*-sysv4*)
360 fmt=elf ;;
361 ppc-*-linux-gnu*) fmt=elf
362 case "$endian" in
363 big) ;;
364 *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
365 esac
366 ;;
367 ppc-*-solaris*) fmt=elf
368 if test ${this_target} = $target; then
369 AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
370 [Define if default target is PowerPC Solaris.])
371 fi
372 if test x${endian} = xbig; then
373 AC_MSG_ERROR(Solaris must be configured little endian)
374 fi
375 ;;
376 ppc-*-rtems*) fmt=elf ;;
377 ppc-*-macos* | ppc-*-mpw*)
378 fmt=coff em=macos ;;
379 ppc-*-netware*) fmt=elf em=ppcnw ;;
e4a86f6f 380 ppc-*-vxworks*) fmt=elf ;;
252b5132 381
a85d7ed0
NC
382 s390x-*-linux-gnu*) fmt=elf em=linux ;;
383 s390-*-linux-gnu*) fmt=elf em=linux ;;
384
d07ed2cd 385 sh-*-linux*) fmt=elf em=linux ;;
252b5132 386 sh-*-elf*) fmt=elf ;;
e135f41b 387 sh-*-coff*) fmt=coff bfd_gas=yes;;
056350c6 388 sh-*-pe*) fmt=coff em=pe bfd_gas=yes;;
53f3de98 389 sh-*-rtemself*) fmt=elf ;;
e135f41b 390 sh-*-rtems*) fmt=coff bfd_gas=yes;;
252b5132
RH
391
392 ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
393 ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
394 ns32k-pc532-openbsd*) fmt=aout em=nbsd532 ;;
395
5f68c319
NC
396 sparc-*-rtemsaout*) fmt=aout ;;
397 sparc-*-rtemself*) fmt=elf ;;
398 sparc-*-rtems*) fmt=elf ;;
252b5132
RH
399 sparc-*-sunos4*) fmt=aout em=sun3 ;;
400 sparc-*-aout | sparc*-*-vxworks*)
401 fmt=aout em=sparcaout ;;
402 sparc-*-coff) fmt=coff ;;
403 sparc-*-linux*aout*) fmt=aout em=linux ;;
404 sparc-*-linux-gnu*) fmt=elf em=linux ;;
405 sparc-*-lynxos*) fmt=coff em=lynx ;;
406 sparc-fujitsu-none) fmt=aout ;;
407 sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*)
408 fmt=elf ;;
98e5953c
JL
409 sparc-*-netbsd*) em=nbsd bfd_gas=yes
410 case ${cpu} in
411 sparc) case ${os} in
412 *elf*) fmt=elf ;;
413 *) fmt=aout ;;
414 esac ;;
415 sparc64) fmt=elf ;;
416 esac
417 ;;
252b5132
RH
418 sparc-*-openbsd*) fmt=aout em=nbsd ;;
419
420 strongarm-*-coff) fmt=coff ;;
421 strongarm-*-elf) fmt=elf ;;
077b8428
NC
422 xscale-*-coff) fmt=coff ;;
423 xscale-*-elf) fmt=elf ;;
252b5132
RH
424
425 tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
426 tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
39bec121
TW
427 tic54x-*-* | c54x*-*-*)
428 fmt=coff bfd_gas=yes need_libm=yes;;
252b5132
RH
429 tic80-*-*) fmt=coff ;;
430
431 v850-*-*) fmt=elf bfd_gas=yes ;;
432 v850e-*-*) fmt=elf bfd_gas=yes ;;
433 v850ea-*-*) fmt=elf bfd_gas=yes ;;
434
435 vax-*-bsd* | vax-*-ultrix*)
436 fmt=aout ;;
437 vax-*-vms) fmt=vms ;;
438
439
440 z8k-*-coff | z8k-*-sim)
441 fmt=coff ;;
442
443 w65-*-*) fmt=coff ;;
444
445 *-*-aout | *-*-scout)
446 fmt=aout ;;
cac5b87b 447 *-*-freebsd*) fmt=elf bfd_gas=yes ;;
252b5132
RH
448 *-*-nindy*)
449 fmt=bout ;;
450 *-*-bsd*)
451 fmt=aout em=sun3 ;;
452 *-*-generic) fmt=generic ;;
453 *-*-xray | *-*-hms) fmt=coff ;;
454 *-*-sim) fmt=coff ;;
455 *-*-elf | *-*-sysv4* | *-*-solaris*)
456 AC_MSG_WARN(GAS support for ${generic_target} is incomplete.)
457 fmt=elf dev=yes ;;
458 *-*-vxworks) fmt=aout ;;
459 *-*-netware) fmt=elf ;;
460 esac
461
462 if test ${this_target} = $target ; then
463 endian_def=
464 if test x${endian} = xbig; then
465 endian_def=1
466 elif test x${endian} = xlittle; then
467 endian_def=0
468 fi
469 if test x${endian_def} != x; then
470 AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
471 [Define as 1 if big endian.])
472 fi
473 fi
474
475 case ${cpu_type}-${fmt} in
476 alpha*-*) bfd_gas=yes ;;
477 arm-*) bfd_gas=yes ;;
478 # not yet
479 # i386-aout) bfd_gas=preferred ;;
800eeca4 480 ia64*-*) bfd_gas=yes ;;
252b5132
RH
481 mips-*) bfd_gas=yes ;;
482 ns32k-*) bfd_gas=yes ;;
e135f41b 483 pdp11-*) bfd_gas=yes ;;
252b5132
RH
484 ppc-*) bfd_gas=yes ;;
485 sparc-*) bfd_gas=yes ;;
486 strongarm-*) bfd_gas=yes ;;
e972090a 487 xscale-*) bfd_gas=yes ;;
252b5132
RH
488 *-elf) bfd_gas=yes ;;
489 *-ecoff) bfd_gas=yes ;;
490 *-som) bfd_gas=yes ;;
4c63da97
AM
491 #enable bfd for coff and aout to allow testing if a bfd target is
492 #the primary target, but not for coff or aout as the primary target
4ca72d38 493 i386-coff) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
4c63da97 494 i386-aout) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
252b5132
RH
495 *) ;;
496 esac
497
498# Other random stuff.
499
500 # Do we need the opcodes library?
501 case ${cpu_type} in
502 vax | i386 | tic30)
503 ;;
504
505 *)
506 need_opcodes=yes
507
508 case "${enable_shared}" in
509 yes) shared_opcodes=true ;;
510 *opcodes*) shared_opcodes=true ;;
511 *) shared_opcodes=false ;;
512 esac
513 if test "${shared_opcodes}" = "true"; then
514 # A shared libopcodes must be linked against libbfd.
515 need_bfd=yes
516 fi
517 ;;
518 esac
519
520 # Any other special object files needed ?
521 case ${cpu_type} in
522 fr30 | m32r)
523 using_cgen=yes
524 ;;
525
526 m68k)
527 case ${extra_objects} in
528 *m68k-parse.o*) ;;
529 *) extra_objects="$extra_objects m68k-parse.o" ;;
530 esac
531 ;;
532
a85d7ed0
NC
533 s390)
534 if test $this_target = $target ; then
535 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
536 fi
537 ;;
538
252b5132
RH
539 mips)
540 echo ${extra_objects} | grep -s "itbl-parse.o"
541 if test $? -ne 0 ; then
542 extra_objects="$extra_objects itbl-parse.o"
543 fi
544
545 echo ${extra_objects} | grep -s "itbl-lex.o"
546 if test $? -ne 0 ; then
547 extra_objects="$extra_objects itbl-lex.o"
548 fi
549
550 echo ${extra_objects} | grep -s "itbl-ops.o"
551 if test $? -ne 0 ; then
552 extra_objects="$extra_objects itbl-ops.o"
553 fi
554 ;;
555
b96d3a20
JH
556 i386)
557 if test $this_target = $target ; then
558 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
559 fi
560 ;;
252b5132
RH
561 sparc)
562 if test $this_target = $target ; then
563 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
564 fi
565 ;;
566 *)
567 ;;
568 esac
569
570 if test $using_cgen = yes ; then
571 case "x${extra_objects}" in
572 *cgen.o*) ;;
573 *) extra_objects="$extra_objects cgen.o" ;;
574 esac
575 fi
576
577# See if we really can support this configuration with the emulation code.
578
579 if test $this_target = $target ; then
580 primary_bfd_gas=$bfd_gas
581 obj_format=$fmt
582 te_file=$em
583
584 if test $bfd_gas = no ; then
585 # Can't support other configurations this way.
586 break
587 fi
588 elif test $bfd_gas = no ; then
589 # Can't support this configuration.
590 break
591 fi
592
593# From target name and format, produce a list of supported emulations.
594
595 case ${generic_target}-${fmt} in
596 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
597 mips-*-linux-gnu*-*) case "$endian" in
598 big) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
599 *) emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;;
600 esac ;;
601 mips-*-lnews*-ecoff) ;;
602 mips-*-*-ecoff) case "$endian" in
603 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
604 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
605 esac ;;
606 mips-*-*-elf) case "$endian" in
607 big) emulation="mipsbelf mipslelf mipself" ;;
608 *) emulation="mipslelf mipsbelf mipself" ;;
252b5132 609 esac ;;
906fac54 610 mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
119caedd
L
611 # i386-pc-pe-coff != i386-pc-coff.
612 i386-*-pe-coff) ;;
4c63da97
AM
613 # Uncommenting the next line will turn on support for i386 AOUT
614 # for the default linux configuration
615 # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
616 #
617 i386-*-aout) emulation="i386aout" ;;
4ca72d38 618 i386-*-coff) emulation="i386coff" ;;
4c63da97 619 i386-*-elf) emulation="i386elf" ;;
3bcbcc3d
HPN
620
621 # Always all formats. Having a.out first makes it the default.
622 cris-*-*) emulation="crisaout criself" ;;
252b5132
RH
623 esac
624
625 emulations="$emulations $emulation"
626
627done
628
15886821
L
629# Turn on all targets if possible
630if test ${all_targets} = "yes"; then
631 case ${target_cpu_type} in
632 i386)
633 case ${obj_format} in
634 aout)
635 emulations="$emulations i386coff i386elf"
636 ;;
637 coff)
638 emulations="$emulations i386aout i386elf"
639 ;;
640 elf)
641 emulations="$emulations i386aout i386coff"
642 ;;
643 esac
644 ;;
645 esac
646fi
647
252b5132
RH
648# Assign floating point type. Most processors with FP support
649# IEEE FP. On those that don't support FP at all, usually IEEE
650# is emulated.
651case ${target_cpu} in
652 vax | tahoe ) atof=${target_cpu} ;;
e135f41b 653 pdp11) atof=vax ;;
252b5132
RH
654 *) atof=ieee ;;
655esac
656
657case "${obj_format}" in
658 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
659esac
660
661# Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
662cgen_cpu_prefix=""
663if test $using_cgen = yes ; then
664 case ${target_cpu} in
665 *) cgen_cpu_prefix=${target_cpu} ;;
666 esac
667 AC_SUBST(cgen_cpu_prefix)
668 AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
669fi
670
671dnl
672dnl Make sure the desired support files exist.
673dnl
674
675if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
676 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
677fi
678
679if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
680 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
681fi
682
683case ${user_bfd_gas}-${primary_bfd_gas} in
684 yes-yes | no-no)
685 # We didn't override user's choice.
686 ;;
687 no-yes)
688 AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
689 ;;
690 no-preferred)
691 primary_bfd_gas=no
692 ;;
693 *-preferred)
694 primary_bfd_gas=yes
695 ;;
696 yes-*)
697 primary_bfd_gas=yes
698 ;;
699 -*)
700 # User specified nothing.
701 ;;
702esac
703
704# Some COFF configurations want these random other flags set.
705case ${obj_format} in
706 coff)
707 case ${target_cpu_type} in
708 i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
709 m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
710 m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
711 esac
712 ;;
713esac
714
715# Getting this done right is going to be a bitch. Each configuration specified
716# with --enable-targets=... should be checked for environment, format, cpu, and
717# bfd_gas setting.
718#
719# For each configuration, the necessary object file support code must be linked
720# in. This might be only one, it might be up to four. The necessary emulation
721# code needs to be provided, too.
722#
723# And then there's "--enable-targets=all"....
724#
725# For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
726
727formats="${obj_format}"
728emfiles=""
729EMULATIONS=""
730GAS_UNIQ(emulations)
731for em in . $emulations ; do
732 case $em in
733 .) continue ;;
97238fbd 734 mipsbelf | mipslelf | mipself)
252b5132 735 fmt=elf file=mipself ;;
97238fbd 736 mipsbecoff | mipslecoff | mipsecoff)
252b5132 737 fmt=ecoff file=mipsecoff ;;
0aa5d426
HPN
738 *coff)
739 fmt=coff file=$em ;;
740 *aout)
741 fmt=aout file=$em ;;
742 *elf)
743 fmt=elf file=$em ;;
252b5132
RH
744 esac
745 formats="$formats $fmt"
746 emfiles="$emfiles e-$file.o"
747 EMULATIONS="$EMULATIONS &$em,"
748done
749GAS_UNIQ(formats)
750GAS_UNIQ(emfiles)
751if test `set . $formats ; shift ; echo $#` -gt 1 ; then
752 for fmt in $formats ; do
753 case $fmt in
754 aout) AC_DEFINE(OBJ_MAYBE_AOUT, 1, [a.out support?]) ;;
755 bout) AC_DEFINE(OBJ_MAYBE_BOUT, 1, [b.out support?]) ;;
756 coff) AC_DEFINE(OBJ_MAYBE_COFF, 1, [COFF support?]) ;;
757 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF, 1, [ECOFF support?]) ;;
758 elf) AC_DEFINE(OBJ_MAYBE_ELF, 1, [ELF support?]) ;;
759 generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
760 hp300) AC_DEFINE(OBJ_MAYBE_HP300, 1, [HP300 support?]) ;;
761 ieee) AC_DEFINE(OBJ_MAYBE_IEEE, 1, [IEEE support?]) ;;
762 som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
763 vms) AC_DEFINE(OBJ_MAYBE_VMS, 1, [VMS support?]) ;;
764 esac
765 extra_objects="$extra_objects obj-$fmt.o"
766 done
767 obj_format=multi
768fi
769if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
252b5132 770 DEFAULT_EMULATION=`set . $emulations ; echo $2`
4ca72d38
AM
771 # e-mips* has more than one emulation per file, e-i386* has just one at the
772 # moment. If only one emulation is specified, then don't define
773 # USE_EMULATIONS or include any of the e-files as they will only be bloat.
774 case "${obj_format}${emfiles}" in
775 multi* | *mips*)
4ca72d38
AM
776 extra_objects="$extra_objects $emfiles"
777 AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
778 esac
252b5132
RH
779fi
780AC_SUBST(extra_objects)
781AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
782AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
783 [Default emulation.])
784
785case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
786 yes-*-coff) need_bfd=yes ;;
787 no-*-coff) need_bfd=yes
788 AC_DEFINE(MANY_SEGMENTS, 1, [old COFF support?]) ;;
789esac
790
791reject_dev_configs=yes
792
793case ${reject_dev_configs}-${dev} in
794 yes-yes) # Oops.
795 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
796 ;;
797esac
798
799AC_SUBST(target_cpu_type)
800AC_SUBST(obj_format)
801AC_SUBST(te_file)
802AC_SUBST(install_tooldir)
803AC_SUBST(atof)
804dnl AC_SUBST(emulation)
805
806case "${primary_bfd_gas}" in
807 yes) AC_DEFINE(BFD_ASSEMBLER, 1, [Use BFD interface?])
808 need_bfd=yes ;;
809esac
810
811# do we need the opcodes library?
812case "${need_opcodes}" in
813yes)
814 OPCODES_LIB=../opcodes/libopcodes.la
815 ;;
816esac
817
818case "${need_bfd}" in
819yes)
820 BFDLIB=../bfd/libbfd.la
821 ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
822 ;;
823esac
824
825AC_SUBST(BFDLIB)
826AC_SUBST(OPCODES_LIB)
827
828AC_SUBST(ALL_OBJ_DEPS)
829
830AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}", [Target alias.])
831AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}", [Canonical target.])
832AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}", [Target CPU.])
833AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}", [Target vendor.])
834AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.])
835
836AC_PROG_CC
837
838AC_PROG_YACC
839AM_PROG_LEX
840
841ALL_LINGUAS=
842CY_GNU_GETTEXT
843
844AM_MAINTAINER_MODE
845AC_EXEEXT
846
847AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
848
849# Put this here so that autoconf's "cross-compiling" message doesn't confuse
850# people who are not cross-compiling but are compiling cross-assemblers.
851AC_MSG_CHECKING(whether compiling a cross-assembler)
852if test "${host}" = "${target}"; then
853 cross_gas=no
854else
855 cross_gas=yes
856 AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
857fi
858AC_MSG_RESULT($cross_gas)
859
860dnl ansidecl.h will deal with const
861dnl AC_CONST
862AC_FUNC_ALLOCA
863AC_C_INLINE
864
865# VMS doesn't have unlink.
866AC_CHECK_FUNCS(unlink remove, break)
867
868# Some systems don't have sbrk().
869AC_CHECK_FUNCS(sbrk)
870
39bec121
TW
871# do we need the math library?
872case "${need_libm}" in
873yes)
874 AC_CHECK_LIBM
875 AC_SUBST(LIBM)
876 ;;
877esac
878
252b5132
RH
879# Some non-ANSI preprocessors botch requoting inside strings. That's bad
880# enough, but on some of those systems, the assert macro relies on requoting
881# working properly!
882GAS_WORKING_ASSERT
883
884# On some systems, the system header files may not declare malloc, realloc,
885# and free. There are places where gas needs these functions to have been
886# declared -- such as when taking their addresses.
887gas_test_headers="
888#ifdef HAVE_MEMORY_H
889#include <memory.h>
890#endif
891#ifdef HAVE_STRING_H
892#include <string.h>
893#else
894#ifdef HAVE_STRINGS_H
895#include <strings.h>
896#endif
897#endif
898#ifdef HAVE_STDLIB_H
899#include <stdlib.h>
900#endif
901#ifdef HAVE_UNISTD_H
902#include <unistd.h>
903#endif
904"
905GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
906GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
907GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
908GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
909GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
910
911# Does errno.h declare errno, or do we have to add a separate declaration
912# for it?
913GAS_CHECK_DECL_NEEDED(errno, f, int f, [
914#ifdef HAVE_ERRNO_H
915#include <errno.h>
916#endif
917])
918
919dnl This must come last.
920
921dnl We used to make symlinks to files in the source directory, but now
922dnl we just use the right name for .c files, and create .h files in
923dnl the build directory which include the right .h file. Make sure
924dnl the old symlinks don't exist, so that a reconfigure in an existing
925dnl directory behaves reasonably.
926
76a27922 927AC_OUTPUT(Makefile doc/Makefile ${GDBINIT}:gdbinit.in po/Makefile.in:po/Make-in,
252b5132
RH
928[rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
929 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
930 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
931 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
932 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
933 if test "x$cgen_cpu_prefix" != x ; then
934 echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
935 fi
936
937 sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
938[target_cpu_type=${target_cpu_type}
939 cgen_cpu_prefix=${cgen_cpu_prefix}
940 obj_format=${obj_format}
941 te_file=${te_file}])
This page took 0.106622 seconds and 4 git commands to generate.