1 dnl Process this file with autoconf to produce a configure script.
3 dnl And be careful when changing it! If you must add tests with square
4 dnl brackets, be sure changequote invocations surround it.
7 dnl v2.5 needed for --bindir et al
13 AM_INIT_AUTOMAKE(gas, 2.9.5)
18 AC_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) ;;
25 AC_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')
30 no) enable_targets= ;;
31 *) enable_targets=$enableval ;;
33 AC_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]) ;;
43 build_warnings="-W -Wall"
44 AC_ARG_ENABLE(build-warnings,
45 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
46 [case "${enableval}" in
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"`;;
55 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
56 echo "Setting warning flags = $build_warnings" 6>&1
59 if test "x${build_warnings}" != x -a "x$GCC" = xyes ; then
60 WARN_CFLAGS="${build_warnings}"
64 # Generate a header file
65 AM_CONFIG_HEADER(config.h:config.in)
67 # If we are on a DOS filesystem, we must use gdb.ini rather than
71 *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
79 # Makefile target for installing gas in $(tooldir)/bin.
80 install_tooldir=install-exec-tooldir
84 if test -n "$enable_targets" ; then
85 for t in `echo $enable_targets | sed 's/,/ /g'`; do
86 if test $t = "all"; then
90 result=`$ac_config_sub $t 2>/dev/null`
91 if test -n "$result" ; then
92 canon_targets="$canon_targets $result"
94 # # Permit "all", etc. We don't support it yet though.
95 # canon_targets="$canon_targets $t"
98 GAS_UNIQ(canon_targets)
103 for this_target in $target $canon_targets ; do
106 eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
109 # check for architecture variants
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 ;;
123 i[456]86) cpu_type=i386 ;;
124 ia64) cpu_type=ia64 ;;
125 m680[012346]0) cpu_type=m68k ;;
127 m68008) cpu_type=m68k ;;
128 m683??) cpu_type=m68k ;;
129 m5200) cpu_type=m68k ;;
130 m8*) cpu_type=m88k ;;
131 mips*el) cpu_type=mips endian=little ;;
132 mips*) cpu_type=mips endian=big ;;
133 pjl*) cpu_type=pj endian=little ;;
134 pj*) cpu_type=pj endian=big ;;
135 powerpcle*) cpu_type=ppc endian=little ;;
136 powerpc*) cpu_type=ppc endian=big ;;
137 rs6000*) cpu_type=ppc ;;
138 sparclite*) cpu_type=sparc arch=sparclite ;;
139 sparclet*) cpu_type=sparc arch=sparclet ;;
140 sparc64*) cpu_type=sparc arch=v9-64 ;;
141 sparc86x*) cpu_type=sparc arch=sparc86x ;;
142 sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
143 v850*) cpu_type=v850 ;;
144 *) cpu_type=${cpu} ;;
147 if test ${this_target} = $target ; then
148 target_cpu_type=${cpu_type}
149 elif test ${target_cpu_type} != ${cpu_type} ; then
153 generic_target=${cpu_type}-$vendor-$os
158 # assign object format
159 case ${generic_target} in
160 a29k-*-coff) fmt=coff ;;
161 a29k-amd-udi) fmt=coff ;;
162 a29k-amd-ebmon) fmt=coff ;;
163 a29k-nyu-sym1) fmt=coff ;;
164 a29k-*-vxworks*) fmt=coff ;;
166 alpha*-*-*vms*) fmt=evax ;;
167 alpha*-*-netware*) fmt=ecoff ;;
168 alpha*-*-openbsd*) fmt=ecoff ;;
169 alpha*-*-osf*) fmt=ecoff ;;
170 alpha*-*-linuxecoff*) fmt=ecoff ;;
171 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
172 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
174 arc-*-elf*) fmt=elf bfd_gas=yes ;;
176 arm-*-aout) fmt=aout ;;
177 arm-*-coff | thumb-*-coff) fmt=coff ;;
178 arm-*-elf | thumb-*-elf) fmt=elf ;;
179 arm*-*-conix*) fmt=elf ;;
180 arm-*-linux*aout*) fmt=aout em=linux ;;
181 arm*-*-linux-gnu*) fmt=elf em=linux ;;
182 arm-*-netbsd*) fmt=aout em=nbsd ;;
183 arm-*-oabi | thumb-*-oabi) fmt=elf ;;
184 arm-epoc-pe | thumb-epoc-pe) fmt=coff em=epoc-pe ;;
185 arm-*-wince) fmt=coff em=wince-pe ;;
186 arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
187 arm-*-riscix*) fmt=aout em=riscix ;;
189 avr-*-*) fmt=elf bfd_gas=yes ;;
191 d10v-*-*) fmt=elf bfd_gas=yes ;;
192 d30v-*-*) fmt=elf bfd_gas=yes ;;
195 fr30-*-*) fmt=elf bfd_gas=yes ;;
197 hppa-*-linux-gnu*) fmt=elf em=linux ;;
198 hppa-*-*elf*) fmt=elf em=hppa ;;
199 hppa-*-lites*) fmt=elf em=hppa ;;
200 hppa-*-osf*) fmt=som em=hppa ;;
201 hppa-*-rtems*) fmt=elf em=hppa ;;
202 hppa-*-hpux11*) em=hppa
210 hppa-*-hpux*) fmt=som em=hppa ;;
211 hppa-*-mpeix*) fmt=som em=hppa ;;
212 hppa-*-bsd*) fmt=som em=hppa ;;
213 hppa-*-hiux*) fmt=som em=hppa ;;
215 h8300-*-coff) fmt=coff ;;
217 i370-*-elf* | i370-*-linux*) fmt=elf ;;
218 i386-ibm-aix*) fmt=coff em=i386aix ;;
219 i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;;
220 i386-*-beospe*) fmt=coff em=pe bfd_gas=yes ;;
221 i386-*-beoself* | i386-*-beos*) fmt=elf bfd_gas=yes ;;
222 i386-*-bsd*) fmt=aout em=386bsd ;;
223 i386-*-netbsd0.8) fmt=aout em=386bsd ;;
224 i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
225 i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;;
226 i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;;
227 i386-*-linux*coff*) fmt=coff em=linux ;;
228 i386-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
229 i386-*-lynxos*) fmt=coff em=lynx ;;
230 i386-*-sysv4* | i386-*-solaris* | i386-*-elf)
231 fmt=elf bfd_gas=yes ;;
232 i386-*-freebsdaout* | i386-*-freebsd[12].* | i386-*-freebsd[12])
233 fmt=aout em=386bsd ;;
234 i386-*-freebsd*) fmt=elf bfd_gas=yes ;;
235 i386-*-coff | i386-*-sysv* | i386-*-sco3.2v5*coff | i386-*-isc*)
237 i386-*-sco3.2v5*) fmt=elf
238 if test ${this_target} = $target; then
239 AC_DEFINE(SCO_ELF, 1,
240 [Define if defaulting to ELF on SCO 5.])
243 i386-*-sco3.2*) fmt=coff ;;
244 i386-*-vsta) fmt=aout ;;
245 i386-*-msdosdjgpp* | i386-*-go32* | i386-go32-rtems*)
247 i386-*-rtemself*) fmt=elf ;;
248 i386-*-rtems*) fmt=coff ;;
249 i386-*-gnu*) fmt=elf ;;
251 fmt=aout em=mach bfd_gas=yes ;;
252 i386-*-msdos*) fmt=aout ;;
253 i386-*-moss*) fmt=elf ;;
254 i386-*-pe) fmt=coff em=pe bfd_gas=yes ;;
255 i386-*-cygwin*) fmt=coff em=pe bfd_gas=yes ;;
256 i386-*-interix*) fmt=coff em=interix bfd_gas=yes ;;
257 i386-*-mingw32*) fmt=coff em=pe bfd_gas=yes ;;
258 i386-*-*nt*) fmt=coff em=pe bfd_gas=yes ;;
259 i386-*-vxworks*) fmt=aout ;;
260 i960-*-bout) fmt=bout ;;
261 i960-*-coff) fmt=coff em=ic960 ;;
262 i960-*-rtems*) fmt=coff em=ic960 ;;
263 i960-*-nindy*) fmt=bout ;;
264 i960-*-vxworks4*) fmt=bout ;;
265 i960-*-vxworks5.0) fmt=bout ;;
266 i960-*-vxworks5.*) fmt=coff em=ic960 ;;
267 i960-*-vxworks*) fmt=bout ;;
268 i960-*-elf*) fmt=elf ;;
270 ia64-*-elf*) fmt=elf ;;
271 ia64-*-linux-gnu*) fmt=elf em=linux ;;
273 m32r-*-*) fmt=elf bfd_gas=yes ;;
275 m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
277 m68k-motorola-sysv*) fmt=coff em=delta ;;
278 m68k-bull-sysv3*) fmt=coff em=dpx2 ;;
279 m68k-apollo-*) fmt=coff em=apollo ;;
280 m68k-*-sysv4*) # must be before -sysv*
282 m68k-*-elf*) fmt=elf ;;
283 m68k-*-coff | m68k-*-sysv* | m68k-*-rtems*)
285 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
286 m68k-*-linux*aout*) fmt=aout em=linux ;;
287 m68k-*-linux-gnu*) fmt=elf em=linux ;;
288 m68k-*-gnu*) fmt=elf ;;
289 m68k-*-lynxos*) fmt=coff em=lynx ;;
290 m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
291 m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
292 m68k-apple-aux*) fmt=coff em=aux ;;
293 m68k-*-psos*) fmt=elf em=psos;;
295 m88k-motorola-sysv3*) fmt=coff em=delt88 ;;
296 m88k-*-coff*) fmt=coff ;;
298 mcore-*-elf) fmt=elf bfd_gas=yes ;;
299 mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;;
301 # don't change em like *-*-bsd does
302 mips-dec-netbsd*) fmt=elf endian=little ;;
303 mips-dec-openbsd*) fmt=elf endian=little ;;
304 mips-dec-bsd*) fmt=aout endian=little ;;
305 mips-sony-bsd*) fmt=ecoff ;;
306 mips-*-bsd*) AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
307 mips-*-ultrix*) fmt=ecoff endian=little ;;
308 mips-*-osf*) fmt=ecoff endian=little ;;
309 mips-*-ecoff*) fmt=ecoff ;;
310 mips-*-ecoff*) fmt=ecoff ;;
311 mips-*-pe*) fmt=coff endian=little em=pe ;;
312 mips-*-irix6*) fmt=elf ;;
313 mips-*-irix5*) fmt=elf ;;
314 mips-*-irix*) fmt=ecoff ;;
315 mips-*-lnews*) fmt=ecoff em=lnews ;;
316 mips-*-riscos*) fmt=ecoff ;;
317 mips-*-sysv*) fmt=ecoff ;;
318 mips-*-elf* | mips-*-rtems* | mips-*-linux-gnu* | mips-*-gnu* | mips-*-openbsd*)
320 mips-*-vxworks*) fmt=elf
321 AC_DEFINE(MIPS_STABS_ELF, 1,
322 [Use ELF stabs for MIPS, not ECOFF stabs])
324 mn10200-*-*) fmt=elf bfd_gas=yes ;;
325 mn10300-*-*) fmt=elf bfd_gas=yes ;;
327 ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*)
329 ppc-*-aix*) fmt=coff ;;
330 ppc-*-beos*) fmt=coff ;;
331 ppc-*-*bsd* | ppc-*-elf* | ppc-*-eabi* | ppc-*-sysv4*)
333 ppc-*-linux-gnu*) fmt=elf
336 *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
339 ppc-*-solaris*) fmt=elf
340 if test ${this_target} = $target; then
341 AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
342 [Define if default target is PowerPC Solaris.])
344 if test x${endian} = xbig; then
345 AC_MSG_ERROR(Solaris must be configured little endian)
348 ppc-*-rtems*) fmt=elf ;;
349 ppc-*-macos* | ppc-*-mpw*)
351 ppc-*-netware*) fmt=elf em=ppcnw ;;
352 ppc-*-vxworks*) fmt=elf ;;
354 sh-*-elf*) fmt=elf ;;
355 sh-*-coff*) fmt=coff ;;
356 sh-*-pe*) fmt=coff em=pe bfd_gas=yes;;
357 sh-*-rtemself*) fmt=elf ;;
358 sh-*-rtems*) fmt=coff ;;
360 ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
361 ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
362 ns32k-pc532-openbsd*) fmt=aout em=nbsd532 ;;
364 sparc-*-rtems*) fmt=aout ;;
365 sparc-*-sunos4*) fmt=aout em=sun3 ;;
366 sparc-*-aout | sparc*-*-vxworks*)
367 fmt=aout em=sparcaout ;;
368 sparc-*-coff) fmt=coff ;;
369 sparc-*-linux*aout*) fmt=aout em=linux ;;
370 sparc-*-linux-gnu*) fmt=elf em=linux ;;
371 sparc-*-lynxos*) fmt=coff em=lynx ;;
372 sparc-fujitsu-none) fmt=aout ;;
373 sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*)
375 sparc-*-netbsd*) em=nbsd bfd_gas=yes
384 sparc-*-openbsd*) fmt=aout em=nbsd ;;
386 strongarm-*-coff) fmt=coff ;;
387 strongarm-*-elf) fmt=elf ;;
389 tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
390 tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
391 tic80-*-*) fmt=coff ;;
393 v850-*-*) fmt=elf bfd_gas=yes ;;
394 v850e-*-*) fmt=elf bfd_gas=yes ;;
395 v850ea-*-*) fmt=elf bfd_gas=yes ;;
397 vax-*-bsd* | vax-*-ultrix*)
399 vax-*-vms) fmt=vms ;;
402 z8k-*-coff | z8k-*-sim)
407 *-*-aout | *-*-scout)
413 *-*-generic) fmt=generic ;;
414 *-*-xray | *-*-hms) fmt=coff ;;
416 *-*-elf | *-*-sysv4* | *-*-solaris*)
417 AC_MSG_WARN(GAS support for ${generic_target} is incomplete.)
419 *-*-vxworks) fmt=aout ;;
420 *-*-netware) fmt=elf ;;
423 if test ${this_target} = $target ; then
425 if test x${endian} = xbig; then
427 elif test x${endian} = xlittle; then
430 if test x${endian_def} != x; then
431 AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
432 [Define as 1 if big endian.])
436 case ${cpu_type}-${fmt} in
437 alpha*-*) bfd_gas=yes ;;
438 arm-*) bfd_gas=yes ;;
440 # i386-aout) bfd_gas=preferred ;;
441 ia64*-*) bfd_gas=yes ;;
442 mips-*) bfd_gas=yes ;;
443 ns32k-*) bfd_gas=yes ;;
444 ppc-*) bfd_gas=yes ;;
445 sparc-*) bfd_gas=yes ;;
446 strongarm-*) bfd_gas=yes ;;
447 *-elf) bfd_gas=yes ;;
448 *-ecoff) bfd_gas=yes ;;
449 *-som) bfd_gas=yes ;;
450 #enable bfd for coff and aout to allow testing if a bfd target is
451 #the primary target, but not for coff or aout as the primary target
452 i386-coff) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
453 i386-aout) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
457 # Other random stuff.
459 # Do we need the opcodes library?
467 case "${enable_shared}" in
468 yes) shared_opcodes=true ;;
469 *opcodes*) shared_opcodes=true ;;
470 *) shared_opcodes=false ;;
472 if test "${shared_opcodes}" = "true"; then
473 # A shared libopcodes must be linked against libbfd.
479 # Any other special object files needed ?
486 case ${extra_objects} in
488 *) extra_objects="$extra_objects m68k-parse.o" ;;
493 echo ${extra_objects} | grep -s "itbl-parse.o"
494 if test $? -ne 0 ; then
495 extra_objects="$extra_objects itbl-parse.o"
498 echo ${extra_objects} | grep -s "itbl-lex.o"
499 if test $? -ne 0 ; then
500 extra_objects="$extra_objects itbl-lex.o"
503 echo ${extra_objects} | grep -s "itbl-ops.o"
504 if test $? -ne 0 ; then
505 extra_objects="$extra_objects itbl-ops.o"
510 if test $this_target = $target ; then
511 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
518 if test $using_cgen = yes ; then
519 case "x${extra_objects}" in
521 *) extra_objects="$extra_objects cgen.o" ;;
525 # See if we really can support this configuration with the emulation code.
527 if test $this_target = $target ; then
528 primary_bfd_gas=$bfd_gas
532 if test $bfd_gas = no ; then
533 # Can't support other configurations this way.
536 elif test $bfd_gas = no ; then
537 # Can't support this configuration.
541 # From target name and format, produce a list of supported emulations.
543 case ${generic_target}-${fmt} in
544 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
545 mips-*-linux-gnu*-*) case "$endian" in
546 big) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
547 *) emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;;
549 mips-*-lnews*-ecoff) ;;
550 mips-*-*-ecoff) case "$endian" in
551 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
552 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
554 mips-*-*-elf) case "$endian" in
555 big) emulation="mipsbelf mipslelf mipself" ;;
556 *) emulation="mipslelf mipsbelf mipself" ;;
558 # Uncommenting the next line will turn on support for i386 AOUT
559 # for the default linux configuration
560 # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
562 i386-*-aout) emulation="i386aout" ;;
563 i386-*-coff) emulation="i386coff" ;;
564 i386-*-elf) emulation="i386elf" ;;
567 emulations="$emulations $emulation"
571 # Turn on all targets if possible
572 if test ${all_targets} = "yes"; then
573 case ${target_cpu_type} in
575 case ${obj_format} in
577 emulations="$emulations i386coff i386elf"
580 emulations="$emulations i386aout i386elf"
583 emulations="$emulations i386aout i386coff"
590 # Assign floating point type. Most processors with FP support
591 # IEEE FP. On those that don't support FP at all, usually IEEE
593 case ${target_cpu} in
594 vax | tahoe ) atof=${target_cpu} ;;
598 case "${obj_format}" in
599 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
602 # Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
604 if test $using_cgen = yes ; then
605 case ${target_cpu} in
606 *) cgen_cpu_prefix=${target_cpu} ;;
608 AC_SUBST(cgen_cpu_prefix)
609 AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
613 dnl Make sure the desired support files exist.
616 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
617 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
620 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
621 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
624 case ${user_bfd_gas}-${primary_bfd_gas} in
626 # We didn't override user's choice.
629 AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
641 # User specified nothing.
645 # Some COFF configurations want these random other flags set.
646 case ${obj_format} in
648 case ${target_cpu_type} in
649 i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
650 m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
651 m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
656 # Getting this done right is going to be a bitch. Each configuration specified
657 # with --enable-targets=... should be checked for environment, format, cpu, and
660 # For each configuration, the necessary object file support code must be linked
661 # in. This might be only one, it might be up to four. The necessary emulation
662 # code needs to be provided, too.
664 # And then there's "--enable-targets=all"....
666 # For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
668 formats="${obj_format}"
672 for em in . $emulations ; do
676 fmt=elf file=mipself ;;
677 mipsbecoff | mipslecoff)
678 fmt=ecoff file=mipsecoff ;;
680 fmt=aout file=i386aout ;;
682 fmt=coff file=i386coff ;;
684 fmt=elf file=i386elf ;;
686 formats="$formats $fmt"
687 emfiles="$emfiles e-$file.o"
688 EMULATIONS="$EMULATIONS &$em,"
692 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
693 for fmt in $formats ; do
695 aout) AC_DEFINE(OBJ_MAYBE_AOUT, 1, [a.out support?]) ;;
696 bout) AC_DEFINE(OBJ_MAYBE_BOUT, 1, [b.out support?]) ;;
697 coff) AC_DEFINE(OBJ_MAYBE_COFF, 1, [COFF support?]) ;;
698 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF, 1, [ECOFF support?]) ;;
699 elf) AC_DEFINE(OBJ_MAYBE_ELF, 1, [ELF support?]) ;;
700 generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
701 hp300) AC_DEFINE(OBJ_MAYBE_HP300, 1, [HP300 support?]) ;;
702 ieee) AC_DEFINE(OBJ_MAYBE_IEEE, 1, [IEEE support?]) ;;
703 som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
704 vms) AC_DEFINE(OBJ_MAYBE_VMS, 1, [VMS support?]) ;;
706 extra_objects="$extra_objects obj-$fmt.o"
710 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
711 DEFAULT_EMULATION=`set . $emulations ; echo $2`
712 # e-mips* has more than one emulation per file, e-i386* has just one at the
713 # moment. If only one emulation is specified, then don't define
714 # USE_EMULATIONS or include any of the e-files as they will only be bloat.
715 case "${obj_format}${emfiles}" in
717 extra_objects="$extra_objects $emfiles"
718 AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
721 AC_SUBST(extra_objects)
722 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
723 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
724 [Default emulation.])
726 case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
727 yes-*-coff) need_bfd=yes ;;
728 no-*-coff) need_bfd=yes
729 AC_DEFINE(MANY_SEGMENTS, 1, [old COFF support?]) ;;
732 reject_dev_configs=yes
734 case ${reject_dev_configs}-${dev} in
736 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
740 AC_SUBST(target_cpu_type)
743 AC_SUBST(install_tooldir)
745 dnl AC_SUBST(emulation)
747 case "${primary_bfd_gas}" in
748 yes) AC_DEFINE(BFD_ASSEMBLER, 1, [Use BFD interface?])
752 # do we need the opcodes library?
753 case "${need_opcodes}" in
755 OPCODES_LIB=../opcodes/libopcodes.la
759 case "${need_bfd}" in
761 BFDLIB=../bfd/libbfd.la
762 ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
767 AC_SUBST(OPCODES_LIB)
769 AC_SUBST(ALL_OBJ_DEPS)
771 AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}", [Target alias.])
772 AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}", [Canonical target.])
773 AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}", [Target CPU.])
774 AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}", [Target vendor.])
775 AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.])
788 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
790 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
791 # people who are not cross-compiling but are compiling cross-assemblers.
792 AC_MSG_CHECKING(whether compiling a cross-assembler)
793 if test "${host}" = "${target}"; then
797 AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
799 AC_MSG_RESULT($cross_gas)
801 dnl ansidecl.h will deal with const
806 # VMS doesn't have unlink.
807 AC_CHECK_FUNCS(unlink remove, break)
809 # Some systems don't have sbrk().
812 # Some non-ANSI preprocessors botch requoting inside strings. That's bad
813 # enough, but on some of those systems, the assert macro relies on requoting
817 # On some systems, the system header files may not declare malloc, realloc,
818 # and free. There are places where gas needs these functions to have been
819 # declared -- such as when taking their addresses.
827 #ifdef HAVE_STRINGS_H
838 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
839 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
840 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
841 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
842 GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
844 # Does errno.h declare errno, or do we have to add a separate declaration
846 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
852 dnl This must come last.
854 dnl We used to make symlinks to files in the source directory, but now
855 dnl we just use the right name for .c files, and create .h files in
856 dnl the build directory which include the right .h file. Make sure
857 dnl the old symlinks don't exist, so that a reconfigure in an existing
858 dnl directory behaves reasonably.
860 AC_OUTPUT(Makefile doc/Makefile ${GDBINIT}:gdbinit.in po/Makefile.in:po/Make-in,
861 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
862 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
863 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
864 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
865 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
866 if test "x$cgen_cpu_prefix" != x ; then
867 echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
870 sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
871 [target_cpu_type=${target_cpu_type}
872 cgen_cpu_prefix=${cgen_cpu_prefix}
873 obj_format=${obj_format}