+2010-04-26 Mike Frysinger <vapier@gentoo.org>
+
+ * configure.ac: Target logic moved out to and included from ...
+ * configure.tgt: ... this new file.
+ * configure: Regenerated.
+
2010-04-12 Mike Frysinger <vapier@gentoo.org>
* README-HACKING: Add more sections.
enable_option_checking=no
ac_subst_vars='LTLIBOBJS
LIBOBJS
+sim_arch
subdirs
CFLAGS_FOR_BUILD
CC_FOR_BUILD
fi
+
+if test "${enable_sim}" != no; then
+
# 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.
-if test "${enable_sim}" != no; then
- testsuite=no
- common=yes
- igen=no
- case "${target}" in
- arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*)
+
+
+sim_testsuite=no
+sim_common=yes
+sim_igen=no
+sim_arch=
+case "${target}" in
+ arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*)
+
+ sim_arch=arm
subdirs="$subdirs arm"
- testsuite=yes
- ;;
- avr*-*-*)
- subdirs="$subdirs avr"
-
- ;;
- cr16*-*-*)
- subdirs="$subdirs cr16"
-
- testsuite=yes
- ;;
- cris-*-* | crisv32-*-*)
- subdirs="$subdirs cris"
-
- testsuite=yes
- ;;
- d10v-*-*)
- subdirs="$subdirs d10v"
-
- ;;
- frv-*-*)
- subdirs="$subdirs frv"
-
- testsuite=yes
- ;;
- h8300*-*-*)
- subdirs="$subdirs h8300"
-
- testsuite=yes
- ;;
- iq2000-*-*)
- subdirs="$subdirs iq2000"
-
- testsuite=yes
- ;;
- lm32-*-*)
- subdirs="$subdirs lm32"
-
- testsuite=yes
- ;;
- m32c-*-*)
- subdirs="$subdirs m32c"
-
- ;;
- m32r-*-*)
- subdirs="$subdirs m32r"
-
- testsuite=yes
- ;;
- m68hc11-*-*|m6811-*-*)
- subdirs="$subdirs m68hc11"
-
- testsuite=yes
- ;;
- mcore-*-*)
- subdirs="$subdirs mcore"
-
- testsuite=yes
- ;;
- microblaze-*-*)
- subdirs="$subdirs microblaze"
-
- testsuite=yes
- ;;
- mips*-*-*)
- subdirs="$subdirs mips"
-
- testsuite=yes
- igen=yes
- ;;
- mn10300*-*-*)
- subdirs="$subdirs mn10300"
-
- igen=yes
- ;;
- moxie-*-*)
- subdirs="$subdirs moxie"
-
- testsuite=yes
- ;;
- rx-*-*)
- subdirs="$subdirs rx"
-
- ;;
- sh64*-*-*)
- subdirs="$subdirs sh64"
-
- testsuite=yes
- ;;
- sh*-*-*)
- subdirs="$subdirs sh"
-
- testsuite=yes
- ;;
- sparc-*-rtems*|sparc-*-elf*)
- subdirs="$subdirs erc32"
-
- testsuite=yes
- ;;
- powerpc*-*-* )
- subdirs="$subdirs ppc"
-
- ;;
- v850*-*-* )
- subdirs="$subdirs v850"
-
- igen=yes
- testsuite=yes
- ;;
- *)
- # No simulator subdir, so the subdir "common" isn't needed.
- common=no
- ;;
- esac
- if test "$testsuite" = yes; then
+
+ sim_testsuite=yes
+ ;;
+ avr*-*-*)
+
+ sim_arch=avr
+ subdirs="$subdirs avr"
+
+
+ ;;
+ cr16*-*-*)
+
+ sim_arch=cr16
+ subdirs="$subdirs cr16"
+
+
+ sim_testsuite=yes
+ ;;
+ cris-*-* | crisv32-*-*)
+
+ sim_arch=cris
+ subdirs="$subdirs cris"
+
+
+ sim_testsuite=yes
+ ;;
+ d10v-*-*)
+
+ sim_arch=d10v
+ subdirs="$subdirs d10v"
+
+
+ ;;
+ frv-*-*)
+
+ sim_arch=frv
+ subdirs="$subdirs frv"
+
+
+ sim_testsuite=yes
+ ;;
+ h8300*-*-*)
+
+ sim_arch=h8300
+ subdirs="$subdirs h8300"
+
+
+ sim_testsuite=yes
+ ;;
+ iq2000-*-*)
+
+ sim_arch=iq2000
+ subdirs="$subdirs iq2000"
+
+
+ sim_testsuite=yes
+ ;;
+ lm32-*-*)
+
+ sim_arch=lm32
+ subdirs="$subdirs lm32"
+
+
+ sim_testsuite=yes
+ ;;
+ m32c-*-*)
+
+ sim_arch=m32c
+ subdirs="$subdirs m32c"
+
+
+ ;;
+ m32r-*-*)
+
+ sim_arch=m32r
+ subdirs="$subdirs m32r"
+
+
+ sim_testsuite=yes
+ ;;
+ m68hc11-*-*|m6811-*-*)
+
+ sim_arch=m68hc11
+ subdirs="$subdirs m68hc11"
+
+
+ sim_testsuite=yes
+ ;;
+ mcore-*-*)
+
+ sim_arch=mcore
+ subdirs="$subdirs mcore"
+
+
+ sim_testsuite=yes
+ ;;
+ microblaze-*-*)
+
+ sim_arch=microblaze
+ subdirs="$subdirs microblaze"
+
+
+ sim_testsuite=yes
+ ;;
+ mips*-*-*)
+
+ sim_arch=mips
+ subdirs="$subdirs mips"
+
+
+ sim_testsuite=yes
+ sim_igen=yes
+ ;;
+ mn10300*-*-*)
+
+ sim_arch=mn10300
+ subdirs="$subdirs mn10300"
+
+
+ sim_igen=yes
+ ;;
+ moxie-*-*)
+
+ sim_arch=moxie
+ subdirs="$subdirs moxie"
+
+
+ sim_testsuite=yes
+ ;;
+ rx-*-*)
+
+ sim_arch=rx
+ subdirs="$subdirs rx"
+
+
+ ;;
+ sh64*-*-*)
+
+ sim_arch=sh64
+ subdirs="$subdirs sh64"
+
+
+ sim_testsuite=yes
+ ;;
+ sh*-*-*)
+
+ sim_arch=sh
+ subdirs="$subdirs sh"
+
+
+ sim_testsuite=yes
+ ;;
+ sparc-*-rtems*|sparc-*-elf*)
+
+ sim_arch=erc32
+ subdirs="$subdirs erc32"
+
+
+ sim_testsuite=yes
+ ;;
+ powerpc*-*-*)
+
+ sim_arch=ppc
+ subdirs="$subdirs ppc"
+
+
+ ;;
+ v850*-*-*)
+
+ sim_arch=v850
+ subdirs="$subdirs v850"
+
+
+ sim_igen=yes
+ sim_testsuite=yes
+ ;;
+ *)
+ # No simulator subdir, so the subdir "common" isn't needed.
+ sim_common=no
+ ;;
+esac
+
+
+ if test "$sim_testsuite" = yes; then
subdirs="$subdirs testsuite"
fi
- if test "$common" = yes; then
+ if test "$sim_common" = yes; then
subdirs="$subdirs common"
fi
- if test "$igen" = yes; then
+ if test "$sim_igen" = yes; then
subdirs="$subdirs igen"
fi
*) AC_MSG_ERROR(bad value ${enableval} given for --enable-sim option) ;;
esac])
-# 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.
-
+m4_define([SIM_ARCH], [
+ sim_arch=$1
+ AC_CONFIG_SUBDIRS($1)
+])
if test "${enable_sim}" != no; then
- testsuite=no
- common=yes
- igen=no
- case "${target}" in
- arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*)
- AC_CONFIG_SUBDIRS(arm)
- testsuite=yes
- ;;
- avr*-*-*)
- AC_CONFIG_SUBDIRS(avr)
- ;;
- cr16*-*-*)
- AC_CONFIG_SUBDIRS(cr16)
- testsuite=yes
- ;;
- cris-*-* | crisv32-*-*)
- AC_CONFIG_SUBDIRS(cris)
- testsuite=yes
- ;;
- d10v-*-*)
- AC_CONFIG_SUBDIRS(d10v)
- ;;
- frv-*-*)
- AC_CONFIG_SUBDIRS(frv)
- testsuite=yes
- ;;
- h8300*-*-*)
- AC_CONFIG_SUBDIRS(h8300)
- testsuite=yes
- ;;
- iq2000-*-*)
- AC_CONFIG_SUBDIRS(iq2000)
- testsuite=yes
- ;;
- lm32-*-*)
- AC_CONFIG_SUBDIRS(lm32)
- testsuite=yes
- ;;
- m32c-*-*)
- AC_CONFIG_SUBDIRS(m32c)
- ;;
- m32r-*-*)
- AC_CONFIG_SUBDIRS(m32r)
- testsuite=yes
- ;;
- m68hc11-*-*|m6811-*-*)
- AC_CONFIG_SUBDIRS(m68hc11)
- testsuite=yes
- ;;
- mcore-*-*)
- AC_CONFIG_SUBDIRS(mcore)
- testsuite=yes
- ;;
- microblaze-*-*)
- AC_CONFIG_SUBDIRS(microblaze)
- testsuite=yes
- ;;
- mips*-*-*)
- AC_CONFIG_SUBDIRS(mips)
- testsuite=yes
- igen=yes
- ;;
- mn10300*-*-*)
- AC_CONFIG_SUBDIRS(mn10300)
- igen=yes
- ;;
- moxie-*-*)
- AC_CONFIG_SUBDIRS(moxie)
- testsuite=yes
- ;;
- rx-*-*)
- AC_CONFIG_SUBDIRS(rx)
- ;;
- sh64*-*-*)
- AC_CONFIG_SUBDIRS(sh64)
- testsuite=yes
- ;;
- sh*-*-*)
- AC_CONFIG_SUBDIRS(sh)
- testsuite=yes
- ;;
- sparc-*-rtems*|sparc-*-elf*)
- AC_CONFIG_SUBDIRS(erc32)
- testsuite=yes
- ;;
- powerpc*-*-* )
- AC_CONFIG_SUBDIRS(ppc)
- ;;
- v850*-*-* )
- AC_CONFIG_SUBDIRS(v850)
- igen=yes
- testsuite=yes
- ;;
- *)
- # No simulator subdir, so the subdir "common" isn't needed.
- common=no
- ;;
- esac
- if test "$testsuite" = yes; then
+ sinclude(configure.tgt)
+ if test "$sim_testsuite" = yes; then
AC_CONFIG_SUBDIRS(testsuite)
fi
- if test "$common" = yes; then
+ if test "$sim_common" = yes; then
AC_CONFIG_SUBDIRS(common)
fi
- if test "$igen" = yes; then
+ if test "$sim_igen" = yes; then
AC_CONFIG_SUBDIRS(igen)
fi
fi
--- /dev/null
+dnl Note that this file is intended to be included at the m4 level and not
+dnl the shell level, so use sinclude(...) to pull it in.
+
+# 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.
+
+dnl glue to avoid code duplication at top level
+m4_ifndef([SIM_ARCH], [AC_DEFUN([SIM_ARCH],[sim_arch=$1])])
+
+sim_testsuite=no
+sim_common=yes
+sim_igen=no
+sim_arch=
+case "${target}" in
+ arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*)
+ SIM_ARCH(arm)
+ sim_testsuite=yes
+ ;;
+ avr*-*-*)
+ SIM_ARCH(avr)
+ ;;
+ cr16*-*-*)
+ SIM_ARCH(cr16)
+ sim_testsuite=yes
+ ;;
+ cris-*-* | crisv32-*-*)
+ SIM_ARCH(cris)
+ sim_testsuite=yes
+ ;;
+ d10v-*-*)
+ SIM_ARCH(d10v)
+ ;;
+ frv-*-*)
+ SIM_ARCH(frv)
+ sim_testsuite=yes
+ ;;
+ h8300*-*-*)
+ SIM_ARCH(h8300)
+ sim_testsuite=yes
+ ;;
+ iq2000-*-*)
+ SIM_ARCH(iq2000)
+ sim_testsuite=yes
+ ;;
+ lm32-*-*)
+ SIM_ARCH(lm32)
+ sim_testsuite=yes
+ ;;
+ m32c-*-*)
+ SIM_ARCH(m32c)
+ ;;
+ m32r-*-*)
+ SIM_ARCH(m32r)
+ sim_testsuite=yes
+ ;;
+ m68hc11-*-*|m6811-*-*)
+ SIM_ARCH(m68hc11)
+ sim_testsuite=yes
+ ;;
+ mcore-*-*)
+ SIM_ARCH(mcore)
+ sim_testsuite=yes
+ ;;
+ microblaze-*-*)
+ SIM_ARCH(microblaze)
+ sim_testsuite=yes
+ ;;
+ mips*-*-*)
+ SIM_ARCH(mips)
+ sim_testsuite=yes
+ sim_igen=yes
+ ;;
+ mn10300*-*-*)
+ SIM_ARCH(mn10300)
+ sim_igen=yes
+ ;;
+ moxie-*-*)
+ SIM_ARCH(moxie)
+ sim_testsuite=yes
+ ;;
+ rx-*-*)
+ SIM_ARCH(rx)
+ ;;
+ sh64*-*-*)
+ SIM_ARCH(sh64)
+ sim_testsuite=yes
+ ;;
+ sh*-*-*)
+ SIM_ARCH(sh)
+ sim_testsuite=yes
+ ;;
+ sparc-*-rtems*|sparc-*-elf*)
+ SIM_ARCH(erc32)
+ sim_testsuite=yes
+ ;;
+ powerpc*-*-*)
+ SIM_ARCH(ppc)
+ ;;
+ v850*-*-*)
+ SIM_ARCH(v850)
+ sim_igen=yes
+ sim_testsuite=yes
+ ;;
+ *)
+ # No simulator subdir, so the subdir "common" isn't needed.
+ sim_common=no
+ ;;
+esac
+AC_SUBST(sim_arch)
+2010-04-26 Mike Frysinger <vapier@gentoo.org>
+
+ * Makefile.in (arch): Set to @sim_arch@.
+ * configure.ac: Delete arch logic and include ../configure.tgt.
+ * configure: Regenerated.
+ * lib/sim-defs.exp (sim_run): Default sim to ../arch/run.
+
2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* configure: Regenerate.
target_alias = @target_alias@
program_transform_name = @program_transform_name@
-arch = @arch@
+arch = @sim_arch@
SHELL = /bin/sh
SUBDIRS = @subdirs@
enable_option_checking=no
ac_subst_vars='LTLIBOBJS
LIBOBJS
-arch
+sim_arch
subdirs
target_os
target_vendor
;;
esac
-# Compute the target architecture.
-# FIXME: Will need to canonicalize some values.
-# FIXME: Should be in generally accessable place.
-case $target in
- *) arch=${target_cpu} ;;
+
+# 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.
+
+
+
+sim_testsuite=no
+sim_common=yes
+sim_igen=no
+sim_arch=
+case "${target}" in
+ arm*-*-* | thumb*-*-* | strongarm*-*-* | xscale-*-*)
+ sim_arch=arm
+ sim_testsuite=yes
+ ;;
+ avr*-*-*)
+ sim_arch=avr
+ ;;
+ cr16*-*-*)
+ sim_arch=cr16
+ sim_testsuite=yes
+ ;;
+ cris-*-* | crisv32-*-*)
+ sim_arch=cris
+ sim_testsuite=yes
+ ;;
+ d10v-*-*)
+ sim_arch=d10v
+ ;;
+ frv-*-*)
+ sim_arch=frv
+ sim_testsuite=yes
+ ;;
+ h8300*-*-*)
+ sim_arch=h8300
+ sim_testsuite=yes
+ ;;
+ iq2000-*-*)
+ sim_arch=iq2000
+ sim_testsuite=yes
+ ;;
+ lm32-*-*)
+ sim_arch=lm32
+ sim_testsuite=yes
+ ;;
+ m32c-*-*)
+ sim_arch=m32c
+ ;;
+ m32r-*-*)
+ sim_arch=m32r
+ sim_testsuite=yes
+ ;;
+ m68hc11-*-*|m6811-*-*)
+ sim_arch=m68hc11
+ sim_testsuite=yes
+ ;;
+ mcore-*-*)
+ sim_arch=mcore
+ sim_testsuite=yes
+ ;;
+ microblaze-*-*)
+ sim_arch=microblaze
+ sim_testsuite=yes
+ ;;
+ mips*-*-*)
+ sim_arch=mips
+ sim_testsuite=yes
+ sim_igen=yes
+ ;;
+ mn10300*-*-*)
+ sim_arch=mn10300
+ sim_igen=yes
+ ;;
+ moxie-*-*)
+ sim_arch=moxie
+ sim_testsuite=yes
+ ;;
+ rx-*-*)
+ sim_arch=rx
+ ;;
+ sh64*-*-*)
+ sim_arch=sh64
+ sim_testsuite=yes
+ ;;
+ sh*-*-*)
+ sim_arch=sh
+ sim_testsuite=yes
+ ;;
+ sparc-*-rtems*|sparc-*-elf*)
+ sim_arch=erc32
+ sim_testsuite=yes
+ ;;
+ powerpc*-*-*)
+ sim_arch=ppc
+ ;;
+ v850*-*-*)
+ sim_arch=v850
+ sim_igen=yes
+ sim_testsuite=yes
+ ;;
+ *)
+ # No simulator subdir, so the subdir "common" isn't needed.
+ sim_common=no
+ ;;
esac
+
ac_config_files="$ac_config_files Makefile"
cat >confcache <<\_ACEOF
;;
esac
-# Compute the target architecture.
-# FIXME: Will need to canonicalize some values.
-# FIXME: Should be in generally accessable place.
-case $target in
- *) arch=${target_cpu} ;;
-esac
-AC_SUBST(arch)
+sinclude(../configure.tgt)
AC_OUTPUT(Makefile)
verbose "testcase timeout is set to $testcase_timeout" 1
set sim [board_info target sim]
+ if [string equal "" $sim] {
+ # Special case the simulator. These tests are designed to
+ # be run inside of the simulator, not on the native host.
+ # So if the sim target isn't set, default to the target run.
+ # These global variables come from generated site.exp.
+ global objdir
+ global arch
+ set sim "$objdir/../$arch/run"
+ }
if [is_remote host] {
set prog [remote_download host $prog]
+2010-04-26 Mike Frysinger <vapier@gentoo.org>
+
+ * basic.exp: Delete sim target check.
+
2007-08-27 Joel Brobecker <brobecker@adacore.com>
* testutils.inc: Change license to GPL version 3.
}
-# Only test mips*-*-elf (e.g., no mips*-*-linux), and only test if the target
-# board really is a simulator (sim tests don't work on real HW).
-if {[istarget mips*-*-elf] && [board_info target exists is_simulator]} {
+# Only test mips*-*-elf (e.g., no mips*-*-linux)
+if {[istarget mips*-*-elf]} {
set dspmodels ""
set mdmxmodels ""