X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=sim%2Fconfigure.in;h=41cec7777ed54af74918454ebfb0086757545c34;hb=e0709f5044a0e824475defef03f86346ed9a292e;hp=3885b239d675a42597ab5f22adade86e70b14413;hpb=1ffd292be6d378b2c764e921dc89d94602baef39;p=deliverable%2Fbinutils-gdb.git diff --git a/sim/configure.in b/sim/configure.in index 3885b239d6..41cec7777e 100644 --- a/sim/configure.in +++ b/sim/configure.in @@ -1,10 +1,44 @@ 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_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. +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 @@ -12,29 +46,135 @@ AC_ARG_PROGRAM # convention, else the table becomes a real mess to understand and maintain. case "${target}" in - arm*-*-*) sim_target=arm ;; + arm*-*-* | thumb*-*-*) + sim_target=arm + extra_subdirs="${extra_subdirs} testsuite" + ;; + strongarm*-*-*) + sim_target=arm + extra_subdirs="${extra_subdirs} testsuite" + ;; + 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 ;; - sh*-*-*) sim_target=sh ;; - w65-*-*) sim_target=w65 ;; + i960-*-*) sim_target=i960 ;; + m32r-*-*) sim_target=m32r ;; + 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" + ;; + 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}" + ;; + 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 ;; + 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) -if test ! -f ${srcdir}/${sim_target}/${sim_target}.mt ; then - target_makefile_frag=/dev/null -else - target_makefile_frag=${srcdir}/${sim_target}/${sim_target}.mt +# 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 -frags= -if test $target_makefile_frag != /dev/null; then - frags="$frags $target_makefile_frag" + +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_SUBST_FILE(target_makefile_frag) -AC_SUBST(frags) AC_OUTPUT(Makefile) + +exit 0