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