diff options
Diffstat (limited to 'sim/configure.in')
-rw-r--r-- | sim/configure.in | 187 |
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 |