summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/ChangeLog6
-rwxr-xr-xsim/configure323
-rw-r--r--sim/configure.ac116
-rw-r--r--sim/configure.tgt113
-rw-r--r--sim/testsuite/ChangeLog7
-rw-r--r--sim/testsuite/Makefile.in2
-rwxr-xr-xsim/testsuite/configure116
-rw-r--r--sim/testsuite/configure.ac8
-rw-r--r--sim/testsuite/lib/sim-defs.exp9
-rw-r--r--sim/testsuite/sim/mips/ChangeLog4
-rw-r--r--sim/testsuite/sim/mips/basic.exp5
11 files changed, 461 insertions, 248 deletions
diff --git a/sim/ChangeLog b/sim/ChangeLog
index f0a8287d749..15bcaff0b22 100644
--- a/sim/ChangeLog
+++ b/sim/ChangeLog
@@ -1,3 +1,9 @@
+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.
diff --git a/sim/configure b/sim/configure
index be5e348d00c..b6488e2623f 100755
--- a/sim/configure
+++ b/sim/configure
@@ -554,6 +554,7 @@ ac_unique_file="Makefile.in"
enable_option_checking=no
ac_subst_vars='LTLIBOBJS
LIBOBJS
+sim_arch
subdirs
CFLAGS_FOR_BUILD
CC_FOR_BUILD
@@ -3604,6 +3605,9 @@ esac
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
@@ -3611,139 +3615,212 @@ fi
# 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
diff --git a/sim/configure.ac b/sim/configure.ac
index dad245e3bd1..8c1d9145889 100644
--- a/sim/configure.ac
+++ b/sim/configure.ac
@@ -36,119 +36,19 @@ yes | no) ;;
*) 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
diff --git a/sim/configure.tgt b/sim/configure.tgt
new file mode 100644
index 00000000000..592bc3cf629
--- /dev/null
+++ b/sim/configure.tgt
@@ -0,0 +1,113 @@
+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)
diff --git a/sim/testsuite/ChangeLog b/sim/testsuite/ChangeLog
index 5142221b3e3..dac320f33b2 100644
--- a/sim/testsuite/ChangeLog
+++ b/sim/testsuite/ChangeLog
@@ -1,3 +1,10 @@
+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.
diff --git a/sim/testsuite/Makefile.in b/sim/testsuite/Makefile.in
index 6a60f959ee6..bfb721dfd30 100644
--- a/sim/testsuite/Makefile.in
+++ b/sim/testsuite/Makefile.in
@@ -30,7 +30,7 @@ target_canonical = @target@
target_alias = @target_alias@
program_transform_name = @program_transform_name@
-arch = @arch@
+arch = @sim_arch@
SHELL = /bin/sh
SUBDIRS = @subdirs@
diff --git a/sim/testsuite/configure b/sim/testsuite/configure
index 03db937f983..da7967ec2d7 100755
--- a/sim/testsuite/configure
+++ b/sim/testsuite/configure
@@ -554,7 +554,7 @@ ac_unique_file="common/bits-tst.c"
enable_option_checking=no
ac_subst_vars='LTLIBOBJS
LIBOBJS
-arch
+sim_arch
subdirs
target_os
target_vendor
@@ -1808,14 +1808,118 @@ subdirs="$subdirs frv-elf"
;;
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
diff --git a/sim/testsuite/configure.ac b/sim/testsuite/configure.ac
index ceaf4ff5660..ba17a3362ae 100644
--- a/sim/testsuite/configure.ac
+++ b/sim/testsuite/configure.ac
@@ -25,12 +25,6 @@ case ${target} in
;;
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)
diff --git a/sim/testsuite/lib/sim-defs.exp b/sim/testsuite/lib/sim-defs.exp
index 3cef3942321..1e65817a7c2 100644
--- a/sim/testsuite/lib/sim-defs.exp
+++ b/sim/testsuite/lib/sim-defs.exp
@@ -88,6 +88,15 @@ proc sim_run { prog sim_opts prog_opts redir options } {
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]
diff --git a/sim/testsuite/sim/mips/ChangeLog b/sim/testsuite/sim/mips/ChangeLog
index 4bb18b174e6..99a3121bf08 100644
--- a/sim/testsuite/sim/mips/ChangeLog
+++ b/sim/testsuite/sim/mips/ChangeLog
@@ -1,3 +1,7 @@
+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.
diff --git a/sim/testsuite/sim/mips/basic.exp b/sim/testsuite/sim/mips/basic.exp
index 14181c7ef67..15caecc0295 100644
--- a/sim/testsuite/sim/mips/basic.exp
+++ b/sim/testsuite/sim/mips/basic.exp
@@ -32,9 +32,8 @@ proc run_hilo_test {testfile models nops} {
}
-# 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 ""