summaryrefslogtreecommitdiff
path: root/sim/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'sim/configure.in')
-rw-r--r--sim/configure.in187
1 files changed, 187 insertions, 0 deletions
diff --git a/sim/configure.in b/sim/configure.in
new file mode 100644
index 00000000000..5e316da9ece
--- /dev/null
+++ b/sim/configure.in
@@ -0,0 +1,187 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_PREREQ(2.12.1)dnl
+AC_INIT(Makefile.in)
+
+AC_PROG_CC
+AC_PROG_INSTALL
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
+AC_CANONICAL_SYSTEM
+AC_ARG_PROGRAM
+AC_PROG_CC
+AC_SUBST(CFLAGS)
+AC_SUBST(HDEFINES)
+AR=${AR-ar}
+AC_SUBST(AR)
+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
+ CC_FOR_BUILD=gcc
+fi
+AC_SUBST(CC_FOR_BUILD)
+
+# 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 | 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
+# can get spurious matches. Even for unambiguous cases, do this as a
+# convention, else the table becomes a real mess to understand and maintain.
+
+case "${target}" in
+ arm*-*-*) sim_target=arm ;;
+ strongarm*-*-*) sim_target=arm ;;
+ thumb*-*-*) sim_target=arm ;;
+ d10v-*-*) sim_target=d10v ;;
+ d30v-*-*)
+ sim_target=d30v
+ only_if_gcc=yes
+ extra_subdirs="${extra_subdirs} igen"
+ ;;
+ fr30-*-*) sim_target=fr30 ;;
+ h8300*-*-*) sim_target=h8300 ;;
+ h8500-*-*) sim_target=h8500 ;;
+ i960-*-*) sim_target=i960 ;;
+ m32r-*-*) sim_target=m32r ;;
+ mips*-*-*)
+ # The MIPS simulator can only be compiled by gcc.
+ sim_target=mips
+ only_if_gcc=yes
+ extra_subdirs="${extra_subdirs} igen"
+ ;;
+ 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 ;;
+ powerpc*-*-eabi* | powerpc*-*-solaris* | powerpc*-*-sysv4* | powerpc*-*-elf* | powerpc*-*-linux* )
+ # 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}"
+ ;;
+ 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 ;;
+ sparc64-*-*)
+ only_if_gcc=yes
+ if test "x${with_cgen}" = xyes -o "x${with_cgen_sim}" = xyes ; then
+ sim_target=sparc
+ extra_subdirs="${extra_subdirs} testsuite"
+ else
+ sim_target=none # Don't build erc32 if sparc64.
+ fi
+ ;;
+ sparclite*-*-* | sparc86x*-*-*)
+ # The SPARC simulator can only be compiled by gcc.
+ only_if_gcc=yes
+ if test "x${with_cgen}" = xyes -o "x${with_cgen_sim}" = xyes ; then
+ sim_target=sparc
+ extra_subdirs="${extra_subdirs} testsuite"
+ else
+ sim_target=erc32
+ fi
+ ;;
+ sparc*-*-*)
+ # The SPARC simulator can only be compiled by gcc.
+ only_if_gcc=yes
+ if test "x${with_cgen}" = xyes -o "x${with_cgen_sim}" = xyes ; then
+ sim_target=sparc
+ extra_subdirs="${extra_subdirs} testsuite"
+ else
+ # 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
+ fi
+ ;;
+ *) sim_target=none ;;
+esac
+
+
+
+
+# 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)
+
+exit 0