AC_INIT(as.h)
AC_CANONICAL_SYSTEM
+AC_ISC_POSIX
-AM_INIT_AUTOMAKE(gas, 2.9.5)
+AM_INIT_AUTOMAKE(gas, 2.10.91)
AM_PROG_LIBTOOL
using_cgen=no
+build_warnings="-W -Wall"
+AC_ARG_ENABLE(build-warnings,
+[ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
+[case "${enableval}" in
+ yes) ;;
+ no) build_warnings="-w";;
+ ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
+ build_warnings="${build_warnings} ${t}";;
+ *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
+ build_warnings="${t} ${build_warnings}";;
+ *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
+esac
+if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
+ echo "Setting warning flags = $build_warnings" 6>&1
+fi])dnl
+WARN_CFLAGS=""
+if test "x${build_warnings}" != x -a "x$GCC" = xyes ; then
+ WARN_CFLAGS="${build_warnings}"
+fi
+AC_SUBST(WARN_CFLAGS)
+
# Generate a header file
AM_CONFIG_HEADER(config.h:config.in)
+# If we are on a DOS filesystem, we must use gdb.ini rather than
+# .gdbinit.
+GDBINIT=".gdbinit"
+case "${host}" in
+ *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
+ GDBINIT="gdb.ini"
+ ;;
+esac
+AC_SUBST(GDBINIT)
+
te_file=generic
# Makefile target for installing gas in $(tooldir)/bin.
install_tooldir=install-exec-tooldir
canon_targets=""
+all_targets=no
if test -n "$enable_targets" ; then
for t in `echo $enable_targets | sed 's/,/ /g'`; do
- result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $t 2>/dev/null`
+ if test $t = "all"; then
+ all_targets=yes
+ continue
+ fi
+ result=`$ac_config_sub $t 2>/dev/null`
if test -n "$result" ; then
canon_targets="$canon_targets $result"
# else
hppa*) cpu_type=hppa ;;
changequote(,)dnl
i[456]86) cpu_type=i386 ;;
+ ia64) cpu_type=ia64 ;;
+ m6811|m6812) cpu_type=m68hc11 ;;
m680[012346]0) cpu_type=m68k ;;
changequote([,])dnl
m68008) cpu_type=m68k ;;
m8*) cpu_type=m88k ;;
mips*el) cpu_type=mips endian=little ;;
mips*) cpu_type=mips endian=big ;;
+ pjl*) cpu_type=pj endian=little ;;
+ pj*) cpu_type=pj endian=big ;;
powerpcle*) cpu_type=ppc endian=little ;;
powerpc*) cpu_type=ppc endian=big ;;
rs6000*) cpu_type=ppc ;;
arm-*-aout) fmt=aout ;;
arm-*-coff | thumb-*-coff) fmt=coff ;;
arm-*-elf | thumb-*-elf) fmt=elf ;;
+ arm*-*-conix*) fmt=elf ;;
arm-*-linux*aout*) fmt=aout em=linux ;;
- arm-*-linux* | armv*-*-linux-gnu) fmt=elf em=linux ;;
- arm-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
+ arm*-*-linux-gnu* | arm*-*-uclinux*)
+ fmt=elf em=linux ;;
+ arm-*-netbsd*) fmt=aout em=nbsd ;;
arm-*-oabi | thumb-*-oabi) fmt=elf ;;
arm-epoc-pe | thumb-epoc-pe) fmt=coff em=epoc-pe ;;
+ arm-*-wince) fmt=coff em=wince-pe ;;
arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
arm-*-riscix*) fmt=aout em=riscix ;;
+ avr-*-*) fmt=elf bfd_gas=yes ;;
+
+ cris-*-*) fmt=multi bfd_gas=yes ;;
+
d10v-*-*) fmt=elf bfd_gas=yes ;;
d30v-*-*) fmt=elf bfd_gas=yes ;;
fr30-*-*) fmt=elf bfd_gas=yes ;;
+ hppa-*-linux-gnu*) case ${cpu} in
+ hppa*64*)
+ fmt=elf em=hppalinux64;;
+ hppa*)
+ fmt=elf em=linux;;
+ esac ;;
hppa-*-*elf*) fmt=elf em=hppa ;;
- hppa-*-linux-gnu*) fmt=elf em=hppa ;;
hppa-*-lites*) fmt=elf em=hppa ;;
hppa-*-osf*) fmt=som em=hppa ;;
hppa-*-rtems*) fmt=elf em=hppa ;;
+ hppa-*-hpux11*) case ${cpu} in
+ hppa*64*)
+ fmt=elf em=hppa64 ;;
+ hppa*)
+ fmt=som em=hppa ;;
+ esac ;;
hppa-*-hpux*) fmt=som em=hppa ;;
hppa-*-mpeix*) fmt=som em=hppa ;;
hppa-*-bsd*) fmt=som em=hppa ;;
h8300-*-coff) fmt=coff ;;
+ i370-*-elf* | i370-*-linux*) fmt=elf ;;
i386-ibm-aix*) fmt=coff em=i386aix ;;
i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;;
i386-*-beospe*) fmt=coff em=pe bfd_gas=yes ;;
i386-*-linux*coff*) fmt=coff em=linux ;;
i386-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
i386-*-lynxos*) fmt=coff em=lynx ;;
- i386-*-sysv4* | i386-*-solaris* | i386-*-elf)
+changequote(,)dnl
+ i386-*-sysv[45]* | i386-*-solaris* | i386-*-elf)
fmt=elf bfd_gas=yes ;;
i386-*-freebsdaout* | i386-*-freebsd[12].* | i386-*-freebsd[12])
fmt=aout em=386bsd ;;
+changequote([,])dnl
i386-*-freebsd*) fmt=elf bfd_gas=yes ;;
i386-*-coff | i386-*-sysv* | i386-*-sco3.2v5*coff | i386-*-isc*)
fmt=coff ;;
i386-*-sco3.2*) fmt=coff ;;
i386-*-vsta) fmt=aout ;;
i386-*-msdosdjgpp* | i386-*-go32* | i386-go32-rtems*)
- fmt=coff em=go32;;
+ fmt=coff em=go32
+ AC_DEFINE(STRICTCOFF, 1, [Using strict COFF?])
+ ;;
i386-*-rtemself*) fmt=elf ;;
i386-*-rtems*) fmt=coff ;;
i386-*-gnu*) fmt=elf ;;
fmt=aout em=mach bfd_gas=yes ;;
i386-*-msdos*) fmt=aout ;;
i386-*-moss*) fmt=elf ;;
- i386-*-pe) fmt=coff em=pe ;;
+ i386-*-pe) fmt=coff em=pe bfd_gas=yes ;;
i386-*-cygwin*) fmt=coff em=pe bfd_gas=yes ;;
+ i386-*-interix*) fmt=coff em=interix bfd_gas=yes ;;
i386-*-mingw32*) fmt=coff em=pe bfd_gas=yes ;;
- i386-*-*nt*) fmt=coff em=pe ;;
+ i386-*-*nt*) fmt=coff em=pe bfd_gas=yes ;;
i386-*-vxworks*) fmt=aout ;;
+ i860-stardent-sysv4* | i860-stardent-elf*)
+ fmt=elf bfd_gas=yes endian=little
+ AC_MSG_WARN(GAS support for ${generic_target} is preliminary and a work in progress) ;;
i960-*-bout) fmt=bout ;;
i960-*-coff) fmt=coff em=ic960 ;;
i960-*-rtems*) fmt=coff em=ic960 ;;
i960-*-vxworks*) fmt=bout ;;
i960-*-elf*) fmt=elf ;;
+ ia64-*-elf*) fmt=elf ;;
+ ia64-*-linux-gnu*) fmt=elf em=linux ;;
+
m32r-*-*) fmt=elf bfd_gas=yes ;;
+ m68hc11-*-*|m6811-*-*|m68hc12-*-*|m6812-*-*)fmt=elf bfd_gas=yes ;;
+
m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
fmt=aout em=sun3 ;;
m68k-motorola-sysv*) fmt=coff em=delta ;;
mips-*-osf*) fmt=ecoff endian=little ;;
mips-*-ecoff*) fmt=ecoff ;;
mips-*-ecoff*) fmt=ecoff ;;
+ mips-*-pe*) fmt=coff endian=little em=pe ;;
mips-*-irix6*) fmt=elf ;;
mips-*-irix5*) fmt=elf ;;
mips-*-irix*) fmt=ecoff ;;
mips-*-lnews*) fmt=ecoff em=lnews ;;
mips-*-riscos*) fmt=ecoff ;;
+ mips-*-sysv4*MP*) fmt=elf em=tmips ;;
mips-*-sysv*) fmt=ecoff ;;
mips-*-elf* | mips-*-rtems* | mips-*-linux-gnu* | mips-*-gnu* | mips-*-openbsd*)
fmt=elf ;;
;;
mn10200-*-*) fmt=elf bfd_gas=yes ;;
mn10300-*-*) fmt=elf bfd_gas=yes ;;
+ pj*) fmt=elf ;;
ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*)
fmt=coff em=pe ;;
ppc-*-aix*) fmt=coff ;;
ppc-*-netware*) fmt=elf em=ppcnw ;;
ppc-*-vxworks*) fmt=elf ;;
+ sh-*-linux*) fmt=elf em=linux ;;
sh-*-elf*) fmt=elf ;;
sh-*-coff*) fmt=coff ;;
+ sh-*-pe*) fmt=coff em=pe bfd_gas=yes;;
sh-*-rtemself*) fmt=elf ;;
sh-*-rtems*) fmt=coff ;;
sparc-fujitsu-none) fmt=aout ;;
sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*)
fmt=elf ;;
- sparc-*-netbsd*) fmt=aout em=nbsd ;;
+ sparc-*-netbsd*) em=nbsd bfd_gas=yes
+ case ${cpu} in
+ sparc) case ${os} in
+ *elf*) fmt=elf ;;
+ *) fmt=aout ;;
+ esac ;;
+ sparc64) fmt=elf ;;
+ esac
+ ;;
sparc-*-openbsd*) fmt=aout em=nbsd ;;
strongarm-*-coff) fmt=coff ;;
tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
+ tic54x-*-* | c54x*-*-*)
+ fmt=coff bfd_gas=yes need_libm=yes;;
tic80-*-*) fmt=coff ;;
v850-*-*) fmt=elf bfd_gas=yes ;;
arm-*) bfd_gas=yes ;;
# not yet
# i386-aout) bfd_gas=preferred ;;
+ ia64*-*) bfd_gas=yes ;;
mips-*) bfd_gas=yes ;;
ns32k-*) bfd_gas=yes ;;
ppc-*) bfd_gas=yes ;;
*-elf) bfd_gas=yes ;;
*-ecoff) bfd_gas=yes ;;
*-som) bfd_gas=yes ;;
+ #enable bfd for coff and aout to allow testing if a bfd target is
+ #the primary target, but not for coff or aout as the primary target
+ i386-coff) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
+ i386-aout) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
*) ;;
esac
mips-*-*-elf) case "$endian" in
big) emulation="mipsbelf mipslelf mipself" ;;
*) emulation="mipslelf mipsbelf mipself" ;;
- # Uncommenting the next line will turn on support for i386 COFF
- # in any i386 ELF configuration. This probably doesn't work
- # correctly.
- # i386-*-*-elf) emulation="i386coff i386elf" ;;
esac ;;
+ mips-*-sysv4*MP*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
+ # i386-pc-pe-coff != i386-pc-coff.
+ i386-*-pe-coff) ;;
+ # Uncommenting the next line will turn on support for i386 AOUT
+ # for the default linux configuration
+ # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
+ #
+ i386-*-aout) emulation="i386aout" ;;
+ i386-*-coff) emulation="i386coff" ;;
+ i386-*-elf) emulation="i386elf" ;;
+
+ # Always all formats. Having a.out first makes it the default.
+ cris-*-*) emulation="crisaout criself" ;;
esac
emulations="$emulations $emulation"
done
+# Turn on all targets if possible
+if test ${all_targets} = "yes"; then
+ case ${target_cpu_type} in
+ i386)
+ case ${obj_format} in
+ aout)
+ emulations="$emulations i386coff i386elf"
+ ;;
+ coff)
+ emulations="$emulations i386aout i386elf"
+ ;;
+ elf)
+ emulations="$emulations i386aout i386coff"
+ ;;
+ esac
+ ;;
+ esac
+fi
+
# Assign floating point type. Most processors with FP support
# IEEE FP. On those that don't support FP at all, usually IEEE
# is emulated.
fmt=elf file=mipself ;;
mipsbecoff | mipslecoff)
fmt=ecoff file=mipsecoff ;;
- i386coff)
- fmt=coff file=i386coff ;;
- i386elf)
- fmt=elf file=i386elf ;;
+ *coff)
+ fmt=coff file=$em ;;
+ *aout)
+ fmt=aout file=$em ;;
+ *elf)
+ fmt=elf file=$em ;;
esac
formats="$formats $fmt"
emfiles="$emfiles e-$file.o"
obj_format=multi
fi
if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
- te_file=multi
- extra_objects="$extra_objects $emfiles"
DEFAULT_EMULATION=`set . $emulations ; echo $2`
- AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?])
+ # e-mips* has more than one emulation per file, e-i386* has just one at the
+ # moment. If only one emulation is specified, then don't define
+ # USE_EMULATIONS or include any of the e-files as they will only be bloat.
+ case "${obj_format}${emfiles}" in
+ multi* | *mips*)
+ extra_objects="$extra_objects $emfiles"
+ AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
+ esac
fi
AC_SUBST(extra_objects)
AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
# Some systems don't have sbrk().
AC_CHECK_FUNCS(sbrk)
+# do we need the math library?
+case "${need_libm}" in
+yes)
+ AC_CHECK_LIBM
+ AC_SUBST(LIBM)
+ ;;
+esac
+
# Some non-ANSI preprocessors botch requoting inside strings. That's bad
# enough, but on some of those systems, the assert macro relies on requoting
# working properly!
dnl the old symlinks don't exist, so that a reconfigure in an existing
dnl directory behaves reasonably.
-AC_OUTPUT(Makefile doc/Makefile .gdbinit:gdbinit.in po/Makefile.in:po/Make-in,
+AC_OUTPUT(Makefile doc/Makefile ${GDBINIT}:gdbinit.in po/Makefile.in:po/Make-in,
[rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h