dnl
dnl
dnl v2.5 needed for --bindir et al
-AC_PREREQ(2.13)
+AC_PREREQ(2.57)
AC_INIT(as.h)
+dnl Autoconf 2.57 will find the aux dir without this. However, unless
+dnl we specify this explicitly, automake-1.7 will assume that ylwrap is in
+dnl gas/ instead of gas/../.
+AC_CONFIG_AUX_DIR(..)
AC_CANONICAL_SYSTEM
AC_ISC_POSIX
# If we are on a DOS filesystem, we must use gdb.ini rather than
# .gdbinit.
-GDBINIT=".gdbinit"
case "${host}" in
*-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-windows*)
GDBINIT="gdb.ini"
+ AC_CONFIG_FILES(gdb.ini:gdbinit.in)
+ ;;
+ *)
+ GDBINIT=".gdbinit"
+ AC_CONFIG_FILES(.gdbinit:gdbinit.in)
;;
esac
AC_SUBST(GDBINIT)
eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
changequote([,])dnl
- # check for architecture variants
+ # Check for architecture variants.
+ # Note: This table is alpha-sorted, please try to keep it that way.
arch=
endian=
case ${cpu} in
+ am33_2.0) cpu_type=mn10300 endian=little ;;
alpha*) cpu_type=alpha ;;
+ arm*be|xscale*be|strongarm*be | \
arm*b|xscale*b|strongarm*b) cpu_type=arm endian=big ;;
arm*|xscale*|strongarm*) cpu_type=arm endian=little ;;
+ c4x*) cpu_type=tic4x ;;
+ crisv32) cpu_type=cris arch=crisv32
+ AC_DEFINE_UNQUOTED(DEFAULT_CRIS_ARCH, $arch,
+ [Default CRIS architecture.])
+ ;;
+ crx*) cpu_type=crx endian=little ;;
hppa*) cpu_type=hppa ;;
changequote(,)dnl
- i[3456]86) cpu_type=i386 arch=i386;;
- x86_64) cpu_type=i386 arch=x86_64;;
+ i[3-7]86) cpu_type=i386 arch=i386;;
ia64) cpu_type=ia64 ;;
ip2k) cpu_type=ip2k endian=big ;;
iq2000) cpu_type=iq2000 endian=big ;;
+ m32r) cpu_type=m32r target_cpu=m32r endian=big ;;
+ m32rle) cpu_type=m32r target_cpu=m32r endian=little ;;
m6811|m6812|m68hc12) cpu_type=m68hc11 ;;
m680[012346]0) cpu_type=m68k ;;
changequote([,])dnl
m683??) cpu_type=m68k ;;
m5200) cpu_type=m68k ;;
m8*) cpu_type=m88k ;;
+ maxq) cpu_type=maxq ;;
mips*el) cpu_type=mips endian=little ;;
mips*) cpu_type=mips endian=big ;;
or32*) cpu_type=or32 endian=big ;;
sparc86x*) cpu_type=sparc arch=sparc86x ;;
sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
v850*) cpu_type=v850 ;;
+ x86_64) cpu_type=i386 arch=x86_64;;
+ xtensa*) cpu_type=xtensa arch=xtensa ;;
*) cpu_type=${cpu} ;;
esac
bfd_gas=no
em=generic
- # assign object format
+ # Assign object format.
+ # Note: This table is alpha-sorted, please try to keep it that way.
case ${generic_target} in
a29k-*-coff) fmt=coff ;;
a29k-amd-udi) fmt=coff ;;
a29k-*-vxworks*) fmt=coff ;;
alpha*-*-*vms*) fmt=evax ;;
- alpha*-*-netware*) fmt=ecoff ;;
alpha*-*-osf*) fmt=ecoff ;;
alpha*-*-linuxecoff*) fmt=ecoff ;;
alpha*-*-linux-gnu*) fmt=elf em=linux ;;
arm-*-aout) fmt=aout ;;
arm-*-coff | thumb-*-coff) fmt=coff ;;
- arm-*-rtems | thumb-*-rtems) fmt=elf ;;
+ arm-*-rtems* | thumb-*-rtems*) fmt=elf ;;
arm-*-elf | thumb-*-elf) fmt=elf ;;
+ arm*-*-eabi*) fmt=elf ;;
+ arm*-*-symbianelf*) fmt=elf em=symbian ;;
+ arm-*-kaos*) fmt=elf ;;
arm*-*-conix*) fmt=elf ;;
arm-*-linux*aout*) fmt=aout em=linux ;;
arm*-*-linux-gnu*) fmt=elf em=linux ;;
arm-*-netbsdelf*) fmt=elf em=nbsd ;;
arm-*-*n*bsd*) fmt=aout em=nbsd ;;
arm-**-nto*) fmt=elf ;;
- 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-wince-pe | arm-*-wince) fmt=coff em=wince-pe ;;
arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
arm-*-riscix*) fmt=aout em=riscix ;;
- arm-*-vxworks) fmt=coff ;;
avr-*-*) fmt=elf ;;
- cris-*-*) fmt=multi bfd_gas=yes ;;
+ cris-*-linux-gnu* | crisv32-*-linux-gnu*)
+ fmt=multi bfd_gas=yes em=linux ;;
+ cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;;
+
+ crx-*-elf*) fmt=elf ;;
d10v-*-*) fmt=elf ;;
d30v-*-*) fmt=elf ;;
dlx-*-*) fmt=elf ;;
fr30-*-*) fmt=elf ;;
+ frv-*-*linux*) fmt=elf em=linux;;
frv-*-*) fmt=elf ;;
hppa-*-linux*) case ${cpu} in
i386-*-beos*) fmt=elf ;;
i386-*-coff) fmt=coff ;;
i386-*-elf) fmt=elf ;;
+ i386-*-kaos*) fmt=elf ;;
i386-*-bsd*) fmt=aout em=386bsd ;;
i386-*-netbsd0.8) fmt=aout em=386bsd ;;
i386-*-netbsdpe*) fmt=coff em=pe ;;
+ i386-*-netbsd*-gnu* | \
+ i386-*-knetbsd*-gnu | \
i386-*-netbsdelf*) fmt=elf em=nbsd ;;
i386-*-*n*bsd*) case ${cpu} in
x86_64) fmt=elf em=nbsd ;;
i386-*-linux*coff*) fmt=coff em=linux ;;
i386-*-linux-gnu*) fmt=elf em=linux ;;
x86_64-*-linux-gnu*) fmt=elf em=linux ;;
- i386-*-lynxos*) fmt=coff em=lynx ;;
+ i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
changequote(,)dnl
i386-*-sysv[45]*) fmt=elf ;;
i386-*-solaris*) fmt=elf ;;
i386-*-freebsd[12].*) fmt=aout em=386bsd ;;
i386-*-freebsd[12]) fmt=aout em=386bsd ;;
changequote([,])dnl
+ i386-*-freebsd* | i386-*-kfreebsd*-gnu)
+ fmt=elf em=freebsd ;;
i386-*-sysv*) fmt=coff ;;
i386-*-sco3.2v5*coff) fmt=coff ;;
i386-*-isc*) fmt=coff ;;
i386-*-mingw32*) fmt=coff em=pe ;;
i386-*-nto-qnx*) fmt=elf ;;
i386-*-*nt*) fmt=coff em=pe ;;
- i386-*-vxworks*) fmt=aout ;;
i386-*-chaos) fmt=elf ;;
i860-*-*) fmt=elf endian=little
iq2000-*-elf) fmt=elf bfd_gas=yes ;;
- m32r-*-*) fmt=elf ;;
+ m32r-*-elf*) fmt=elf ;;
+ m32r-*-linux*) fmt=elf em=linux;;
m68hc11-*-* | m6811-*-*) fmt=elf ;;
m68hc12-*-* | m6812-*-*) fmt=elf ;;
m68k-*-hpux*) fmt=hp300 em=hp300 ;;
m68k-*-linux*aout*) fmt=aout em=linux ;;
m68k-*-linux-gnu*) fmt=elf em=linux ;;
+ m68k-*-uclinux*) fmt=elf ;;
m68k-*-gnu*) fmt=elf ;;
m68k-*-lynxos*) fmt=coff em=lynx ;;
m68k-*-netbsdelf*) fmt=elf em=nbsd ;;
m88k-motorola-sysv3*) fmt=coff em=delt88 ;;
m88k-*-coff*) fmt=coff ;;
+ maxq-*-coff) fmt=coff bfd_gas=yes ;;
+
mcore-*-elf) fmt=elf ;;
mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;;
# don't change em like *-*-bsd does
mips-dec-openbsd*) fmt=elf endian=little ;;
- mips-dec-bsd*) fmt=aout endian=little ;;
mips-sony-bsd*) fmt=ecoff ;;
mips-*-bsd*)
AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
mips-*-osf*) fmt=ecoff endian=little ;;
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-*-irix6*) fmt=elf em=irix ;;
+ mips-*-irix5*) fmt=elf em=irix ;;
+ mips-*-irix*) fmt=ecoff em=irix ;;
mips-*-lnews*) fmt=ecoff em=lnews ;;
mips-*-riscos*) fmt=ecoff ;;
mips*-*-linux*) fmt=elf em=tmips ;;
mips-*-sysv4*MP* | mips-*-gnu*) fmt=elf em=tmips ;;
mips-*-sysv*) fmt=ecoff ;;
mips-*-elf* | mips-*-rtems*) fmt=elf ;;
- mips-*-*n*bsd*) fmt=elf ;;
- mips-*-vxworks*) fmt=elf ;;
+ mips-*-netbsd*) fmt=elf ;;
+ mips-*-openbsd*) fmt=elf ;;
mmix-*-*) fmt=elf ;;
mn10200-*-*) fmt=elf ;;
+ # cpu_type for am33_2.0 is set to mn10300
+ mn10300-*-linux*) fmt=elf bfd_gas=yes em=linux ;;
mn10300-*-*) fmt=elf ;;
+
msp430-*-*) fmt=elf ;;
+
+ ns32k-pc532-mach*) fmt=aout em=pc532mach ;;
+ ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
+ ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
+ ns32k-*-*n*bsd*) fmt=aout em=nbsd532 ;;
+
openrisc-*-*) fmt=elf ;;
- or32-*-rtems*) fmt=coff ;;
+ or32-*-rtems*) fmt=elf ;;
or32-*-coff) fmt=coff ;;
or32-*-elf) fmt=elf ;;
+
pj*) fmt=elf ;;
ppc-*-pe | ppc-*-cygwin*) fmt=coff em=pe ;;
ppc-*-winnt*) fmt=coff em=pe ;;
- ppc-*-aix5*) fmt=coff em=aix5 ;;
+changequote(,)dnl
+ ppc-*-aix5.[01]) fmt=coff em=aix5 ;;
+changequote([,])dnl
+ ppc-*-aix5.*) fmt=coff em=aix5
+ AC_DEFINE(AIX_WEAK_SUPPORT, 1,
+ [Define if using AIX 5.2 value for C_WEAKEXT.])
+ ;;
ppc-*-aix*) fmt=coff ;;
ppc-*-beos*) fmt=coff ;;
ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
- ppc-*-linux-gnu*) fmt=elf
+ ppc-*-linux-gnu*) fmt=elf em=linux
case "$endian" in
big) ;;
*) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
AC_MSG_ERROR(Solaris must be configured little endian)
fi ;;
ppc-*-rtems*) fmt=elf ;;
- ppc-*-macos* | ppc-*-mpw*) fmt=coff em=macos ;;
- ppc-*-netware*) fmt=elf em=ppcnw ;;
- ppc-**-nto*) fmt=elf ;;
- ppc-*-vxworks*) fmt=elf ;;
- ppc-*-windiss*) fmt=elf ;;
+ ppc-*-macos*) fmt=coff em=macos ;;
+ ppc-*-nto*) fmt=elf ;;
+ ppc-*-kaos*) fmt=elf ;;
+ ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
s390x-*-linux-gnu*) fmt=elf em=linux ;;
s390-*-linux-gnu*) fmt=elf em=linux ;;
sh5*-*-netbsd*) fmt=elf em=nbsd ;;
sh64*-*-netbsd*) fmt=elf em=nbsd ;;
sh*-*-netbsdelf*) fmt=elf em=nbsd ;;
+ sh*-*-symbianelf*) fmt=elf endian=little
+ AC_DEFINE(TARGET_SYMBIAN, 1, [Define if target is Symbian OS.])
+ ;;
sh-*-elf*) fmt=elf ;;
sh-*-coff*) fmt=coff ;;
sh-*-nto*) fmt=elf ;;
sh-*-pe*) fmt=coff em=pe bfd_gas=yes endian=little ;;
- sh-*-rtemself*) fmt=elf ;;
- sh-*-rtems*) fmt=coff ;;
+ sh-*-rtemscoff*) fmt=coff ;;
+ sh-*-rtems*) fmt=elf ;;
+ sh-*-kaos*) fmt=elf ;;
+ shle*-*-kaos*) fmt=elf ;;
sh64-*-elf*) fmt=elf ;;
- ns32k-pc532-mach*) fmt=aout em=pc532mach ;;
- ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
- ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
- ns32k-*-*n*bsd*) fmt=aout em=nbsd532 ;;
-
sparc-*-rtemsaout*) fmt=aout ;;
sparc-*-rtemself*) fmt=elf ;;
sparc-*-rtems*) fmt=elf ;;
esac ;;
strongarm-*-coff) fmt=coff ;;
strongarm-*-elf) fmt=elf ;;
- xscale-*-coff) fmt=coff ;;
- xscale-*-elf) fmt=elf ;;
+ strongarm-*-kaos*) fmt=elf ;;
tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
vax-*-netbsdelf*) fmt=elf em=nbsd ;;
vax-*-netbsd*) fmt=aout em=nbsd ;;
vax-*-bsd* | vax-*-ultrix*) fmt=aout ;;
+ vax-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
vax-*-vms) fmt=vms ;;
w65-*-*) fmt=coff ;;
+ xscale-*-coff) fmt=coff ;;
+ xscale-*-elf) fmt=elf ;;
+
xstormy16-*-*) fmt=elf ;;
+ xtensa-*-*) fmt=elf ;;
+
z8k-*-coff | z8k-*-sim) fmt=coff ;;
*-*-aout | *-*-scout) fmt=aout ;;
- *-*-freebsd*) fmt=elf em=freebsd ;;
+ *-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
*-*-nindy*) fmt=bout ;;
*-*-bsd*) fmt=aout em=sun3 ;;
*-*-generic) fmt=generic ;;
*-*-xray | *-*-hms) fmt=coff ;;
*-*-sim) fmt=coff ;;
*-*-elf | *-*-sysv4* | *-*-solaris*) fmt=elf dev=yes ;;
- *-*-aros*) fmt=elf em=linux bfd_gas=yes ;;
- *-*-vxworks) fmt=aout ;;
- *-*-netware) fmt=elf ;;
+ *-*-aros*) fmt=elf em=linux bfd_gas=yes ;;
+ *-*-vxworks | *-*-windiss) fmt=elf ;;
+ *-*-netware) fmt=elf em=netware ;;
esac
if test ${this_target} = $target ; then
mipsisa64 | mipsisa64el)
mips_cpu=mips64
;;
+ mipsisa64r2 | mipsisa64r2el)
+ mips_cpu=mips64r2
+ ;;
mipstx39 | mipstx39el)
mips_cpu=r3900
;;
mips64vr | mips64vrel)
mips_cpu=vr4100
;;
- mipsisa32r2*)
+ mipsisa32r2* | mipsisa64r2*)
changequote(,)dnl
mips_cpu=`echo $target_cpu | sed -e 's/[a-z]*..r2//' -e 's/el$//'`
changequote([,])dnl
mips_default_64bit=0
;;
esac
+ # Decide which ABI to target by default.
+ case ${target} in
+ mips64*-linux* | mips-sgi-irix6*)
+ mips_default_abi=N32_ABI
+ ;;
+ mips*-linux*)
+ mips_default_abi=O32_ABI
+ ;;
+ *)
+ mips_default_abi=NO_ABI
+ ;;
+ esac
AC_DEFINE_UNQUOTED(MIPS_CPU_STRING_DEFAULT, "$mips_cpu",
[Default CPU for MIPS targets. ])
AC_DEFINE_UNQUOTED(USE_E_MIPS_ABI_O32, $use_e_mips_abi_o32,
[Allow use of E_MIPS_ABI_O32 on MIPS targets. ])
AC_DEFINE_UNQUOTED(MIPS_DEFAULT_64BIT, $mips_default_64bit,
[Generate 64-bit code by default on MIPS targets. ])
+ AC_DEFINE_UNQUOTED(MIPS_DEFAULT_ABI, $mips_default_abi,
+ [Choose a default ABI for MIPS targets. ])
;;
esac
using_cgen=yes
;;
+ xtensa)
+ echo ${extra_objects} | grep -s "xtensa-relax.o"
+ if test $? -ne 0 ; then
+ extra_objects="$extra_objects xtensa-relax.o"
+ fi
+ ;;
+
*)
;;
esac
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_CONFIG_FILES(Makefile doc/Makefile po/Makefile.in:po/Make-in)
+AC_CONFIG_COMMANDS([default],
[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
cgen_cpu_prefix=${cgen_cpu_prefix}
obj_format=${obj_format}
te_file=${te_file}])
+
+AC_OUTPUT