dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.3)dnl
+AC_PREREQ(2.13)dnl
AC_INIT(Makefile.in)
AC_PROG_CC
+AC_PROG_INSTALL
AC_CHECK_TOOL(AR, ar)
AC_CHECK_TOOL(RANLIB, ranlib, :)
AC_PROG_RANLIB
# Put a plausible default for CC_FOR_BUILD in Makefile.
-AC_C_CROSS
if test "x$cross_compiling" = "xno"; then
CC_FOR_BUILD='$(CC)'
else
fi
AC_SUBST(CC_FOR_BUILD)
-# The PowerPC simulator uses the GCC extension long long as well as
-# ANSI prototypes, so don't enable it for random host compilers
-# unless asked to.
-
-AC_ARG_ENABLE(sim-powerpc,
-[ --enable-sim-powerpc ],
+# If a cpu ever has more than one simulator to choose from, use
+# --enable-sim=... to choose.
+AC_ARG_ENABLE(sim,
+[ --enable-sim ],
[case "${enableval}" in
-yes) powerpc_sim=yes ;;
-no) powerpc_sim=no ;;
-*) AC_MSG_ERROR(bad value ${enableval} given for sim-powerpc option) ;;
-esac],[if test x"$GCC" != x""; then powerpc_sim=yes; else powerpc_sim=no; fi])
+yes | no) ;;
+*) AC_MSG_ERROR(bad value ${enableval} given for --enable-sim option) ;;
+esac])
+
+# Assume simulator can be built with cc.
+# If the user passes --enable-sim built it regardless of $(CC).
+only_if_gcc=no
+only_if_enabled=no
+extra_subdirs=common
# WHEN ADDING ENTRIES TO THIS MATRIX:
# Make sure that the left side always has two dashes. Otherwise you
# convention, else the table becomes a real mess to understand and maintain.
case "${target}" in
- arm*-*-*) sim_target=arm ;;
- h8300*-*-*) sim_target=h8300 ;;
+ arm*-*-* | thumb*-*-*)
+ sim_target=arm
+ extra_subdirs="${extra_subdirs} testsuite"
+ ;;
+ strongarm*-*-*)
+ sim_target=arm
+ extra_subdirs="${extra_subdirs} testsuite"
+ ;;
+ xscale-*-*)
+ sim_target=arm
+ extra_subdirs="${extra_subdirs} testsuite"
+ ;;
+ d10v-*-*) sim_target=d10v ;;
+# OBSOLETE d30v-*-*)
+# OBSOLETE sim_target=d30v
+# OBSOLETE only_if_gcc=yes
+# OBSOLETE extra_subdirs="${extra_subdirs} igen"
+# OBSOLETE ;;
+# OBSOLETE fr30-*-*) sim_target=fr30 ;;
+ frv-*-*) sim_target=frv
+ extra_subdirs="${extra_subdirs} testsuite"
+ ;;
+ h8300*-*-*)
+ sim_target=h8300
+ extra_subdirs="${extra_subdirs} testsuite"
+ ;;
h8500-*-*) sim_target=h8500 ;;
- mips*-*-*) sim_target=mips ;;
- sh*-*-*) sim_target=sh ;;
- powerpc*-*-eabi*) if test x"$powerpc_sim" = x"yes"; then sim_target=ppc; fi ;;
- w65-*-*) sim_target=w65 ;;
+ i960-*-*) sim_target=i960 ;;
+ m32r-*-*) sim_target=m32r ;;
+ m68hc11-*-*|m6811-*-*) sim_target=m68hc11 ;;
+ mcore-*-*) sim_target=mcore ;;
+ mips*-*-*)
+ # The MIPS simulator can only be compiled by gcc.
+ sim_target=mips
+ only_if_gcc=yes
+ extra_subdirs="${extra_subdirs} igen testsuite"
+ ;;
+ mn10300*-*-*)
+ # The mn10300 simulator can only be compiled by gcc.
+ sim_target=mn10300
+ only_if_gcc=yes
+ extra_subdirs="${extra_subdirs} igen"
+ ;;
+ mn10200*-*-*)
+ sim_target=mn10200
+ ;;
+ sh*-*-*)
+ sim_target=sh
+ extra_subdirs="${extra_subdirs} testsuite"
+ ;;
+ powerpc*-*-eabi* | powerpc*-*-solaris* | powerpc*-*-sysv4* | \
+ powerpc*-*-elf* | powerpc*-*-linux* | powerpc*-*-netbsd* )
+ # The PowerPC simulator uses the GCC extension long long as well as
+ # ANSI prototypes, so don't enable it for random host compilers
+ # unless asked to.
+ sim_target=ppc
+ only_if_gcc=yes
+ #extra_subdirs="${extra_subdirs}"
+ ;;
+ tic80-*-*)
+ sim_target=tic80
+ only_if_gcc=yes
+ extra_subdirs="${extra_subdirs} igen"
+ ;;
+ v850-*-*)
+ # The V850 simulator can only be compiled by gcc.
+ sim_target=v850
+ extra_subdirs="${extra_subdirs} igen"
+ only_if_gcc=yes
+ ;;
+ v850e-*-*)
+ # The V850 simulator can only be compiled by gcc.
+ sim_target=v850
+ extra_subdirs="${extra_subdirs} igen"
+ only_if_gcc=yes
+ ;;
+ v850ea-*-*)
+ # The V850 simulator can only be compiled by gcc.
+ sim_target=v850
+ extra_subdirs="${extra_subdirs} igen"
+ only_if_gcc=yes
+ ;;
+ w65-*-*)
+ sim_target=w65
+ # The w65 is suffering from gradual decay.
+ only_if_enabled=yes
+ ;;
z8k*-*-*) sim_target=z8k ;;
- sparc*-*-*) case "${host}" in # don't build for non Unix systems
- *-*-go32) sim_target=none ;;
- *-*-winnt) sim_target=none ;;
- *-*-cygwin32) sim_target=none ;;
- *) sim_target=erc32 ;;
- esac ;;
+ sparc64-*-*)
+ only_if_gcc=yes
+ sim_target=none # Don't build erc32 if sparc64.
+ ;;
+ sparclite*-*-* | sparc86x*-*-*)
+ # The SPARC simulator can only be compiled by gcc.
+ only_if_gcc=yes
+ sim_target=erc32
+ ;;
+ sparc*-*-*)
+ # The SPARC simulator can only be compiled by gcc.
+ only_if_gcc=yes
+ # Unfortunately erc32 won't build on many hosts, so only enable
+ # it if the user really really wants it.
+ only_if_enabled=yes
+ sim_target=erc32
+ ;;
*) sim_target=none ;;
esac
-configdirs=${sim_target}
-AC_CONFIG_SUBDIRS($configdirs)
+
+# Is there a testsuite directory for the target?
+testdir=`echo ${target} | sed -e 's/-.*-/-/'`
+if test -r ${srcdir}/testsuite/${testdir}/configure ; then
+ extra_subdirs="${extra_subdirs} testsuite"
+fi
+
+
+case "${enable_sim}" in
+no) sim_target=none ;;
+yes)
+ if test ${only_if_gcc} = yes ; then
+ if test "${GCC}" != yes ; then
+ echo "Can't enable simulator since not compiling with GCC."
+ sim_target=none
+ fi
+ fi
+ ;;
+*)
+ if test ${only_if_enabled} = yes ; then
+ sim_target=none
+ else
+ if test ${only_if_gcc} = yes ; then
+ if test "${GCC}" != yes ; then
+ sim_target=none
+ fi
+ fi
+ fi
+ ;;
+esac
+
+if test x"${sim_target}" != xnone ; then
+ configdirs="${extra_subdirs} ${sim_target}"
+ AC_CONFIG_SUBDIRS($configdirs)
+fi
AC_OUTPUT(Makefile)