aboutsummaryrefslogtreecommitdiff
path: root/sim/ppc/configure.in
diff options
context:
space:
mode:
authorMichael Meissner <gnu@the-meissners.org>1995-11-10 22:49:05 +0000
committerMichael Meissner <gnu@the-meissners.org>1995-11-10 22:49:05 +0000
commita31140524a0771e27cd25af1648d32b3ceaa36ed (patch)
treefb05853d32fca4a28d9462b2b476920c7a59a363 /sim/ppc/configure.in
parentaa917e719d60206457ee4fbde8b3b070c5a119d4 (diff)
downloadgdb-a31140524a0771e27cd25af1648d32b3ceaa36ed.zip
gdb-a31140524a0771e27cd25af1648d32b3ceaa36ed.tar.gz
gdb-a31140524a0771e27cd25af1648d32b3ceaa36ed.tar.bz2
Tons of changes to allow model specific information in the instruction file.
Diffstat (limited to 'sim/ppc/configure.in')
-rw-r--r--sim/ppc/configure.in111
1 files changed, 71 insertions, 40 deletions
diff --git a/sim/ppc/configure.in b/sim/ppc/configure.in
index 470c8c4..012e040 100644
--- a/sim/ppc/configure.in
+++ b/sim/ppc/configure.in
@@ -27,30 +27,49 @@ fi],[sim_warnings=""])dnl
AC_ARG_ENABLE(sim-config,
[ --enable-sim-config=file Override default config file],
[case "${enableval}" in
- yes) sim_config="std-config.h";;
- no) sim_config="std-config.h";;
- *) sim_config="${enableval}";;
+ yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-config=file");;
+ *) if test -f "${enableval}"; then
+ sim_config="${enableval}";
+ elif test -f "${enableval}-config.h"; then
+ sim_config="${enableval}-config.h"
+ else
+ AC_MSG_ERROR("Config file $enableval was not found");
+ sim_config=std-config.h
+ fi;;
esac
if test x"$silent" != x"yes" && test x"$sim_config" != x""; then
echo "Setting config flags = $sim_config" 6>&1
-fi],[sim_config="std-config.h"; echo "Setting config flags = $sim_config" 6>&1])dnl
+fi],[sim_config="std-config.h"
+if test x"$silent" != x"yes"; then
+ echo "Setting config flags = $sim_config" 6>&1
+fi])dnl
AC_ARG_ENABLE(sim-opcode,
[ --enable-sim-opcode=which Override default opcode lookup.],
[case "${enableval}" in
- yes) sim_opcode="ppc-opcode-simple";;
- no) sim_opcode="ppc-opcode-simple";;
- *) sim_opcode="ppc-opcode-${enableval}";;
+ yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-opcode=file");;
+ *) if test -f "${enableval}"; then
+ sim_opcode="${enableval}"
+ elif test -f "ppc-opcode-${enableval}"; then
+ sim_opcode="ppc-opcode-${enableval}"
+ else
+ AC_MSG_ERROR("File $enableval is not an opcode rules file");
+ sim_opcode="ppc-opcode-complex"
+ fi;;
esac
if test x"$silent" != x"yes" && test x"$sim_opcode" != x""; then
echo "Setting opcode flags = $sim_opcode" 6>&1
-fi],[sim_opcode="ppc-opcode-simple"; echo "Setting opcode flags = $sim_opcode"])dnl
+fi],[sim_opcode="ppc-opcode-complex"
+if test x"$silent" != x"yes"; then
+ echo "Setting opcode flags = $sim_opcode"
+fi])dnl
AC_ARG_ENABLE(sim-switch,
[ --enable-sim-switch Use a switch instead of a table for instruction call.],
[case "${enableval}" in
yes) sim_switch="-s";;
- *) sim_switch="";;
+ no) sim_switch="";;
+ *) AC_MSG_ERROR("--enable-sim-switch does not take a value"); sim_switch="";;
esac
if test x"$silent" != x"yes" && test x"$sim_switch" != x""; then
echo "Setting switch flags = $sim_switch" 6>&1
@@ -62,8 +81,9 @@ fi])dnl
AC_ARG_ENABLE(sim-duplicate,
[ --enable-sim-duplicate Expand (duplicate) semantic functions.],
[case "${enableval}" in
- yes) sim_dup="-e";;
- *) sim_dup="";;
+ yes) sim_dup="-e";;
+ no) sim_dup="";;
+ *) AC_MSG_ERROR("--enable-sim-duplicate does not take a value"); sim_dup="";;
esac
if test x"$silent" != x"yes" && test x"$sim_dup" != x""; then
echo "Setting duplicate flags = $sim_dup" 6>&1
@@ -75,8 +95,9 @@ fi])dnl
AC_ARG_ENABLE(sim-filter,
[ --enable-sim-filter=rule Specify filter rules.],
[case "${enableval}" in
- yes) sim_filter="";;
- *) sim_filter="-f $enableval";;
+ yes) AC_MSG_ERROR("--enable-sim-filter must be specified with a rule to filter or no"); sim_filter="";;
+ no) sim_filter="";;
+ *) sim_filter="-f $enableval";;
esac
if test x"$silent" != x"yes" && test x"$sim_filter" != x""; then
echo "Setting filter flags = $sim_filter" 6>&1
@@ -88,9 +109,10 @@ fi])dnl
AC_ARG_ENABLE(sim-icache,
[ --enable-sim-icache=size Specify instruction cache size.],
[case "${enableval}" in
- yes) sim_icache="-r 1024";;
- *) sim_icache="";;
-esac],[sim_icache=""])dnl
+ yes) sim_icache="-r 1024";;
+ no) sim_icache="";;
+ *) sim_icache="-r ${enableval}";;
+esac],[sim_icache="-r 1024"])dnl
AC_ARG_ENABLE(sim-inline,
[ --enable-sim-inline=inlines Specify which functions should be inlined.],
@@ -131,7 +153,7 @@ AC_ARG_ENABLE(sim-bswap,
[case "${enableval}" in
yes) sim_bswap="-DWITH_BSWAP=1";;
no) sim_bswap="-DWITH_BSWAP=0";;
- *) sim_bswap="";;
+ *) AC_MSG_ERROR("--enable-sim-bswap does not take a value"); sim_bswap="";;
esac
if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then
echo "Setting bswap flags = $sim_bswap" 6>&1
@@ -148,7 +170,7 @@ AC_ARG_ENABLE(sim-endian,
no) sim_endian="-DWITH_TARGET_BYTE_ORDER=0";;
b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
- *) sim_endian="";;
+ *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-endian"); sim_endian="";;
esac
if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
echo "Setting endian flags = $sim_endian" 6>&1
@@ -160,7 +182,7 @@ AC_ARG_ENABLE(sim-hostendian,
no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
- *) sim_hostendian="";;
+ *) AC_MSG_ERROR("Unknown value $enableval for --enable-sim-hostendian"); sim_hostendian="";;
esac
if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then
echo "Setting hostendian flags = $sim_hostendian" 6>&1
@@ -183,20 +205,18 @@ fi])dnl
AC_ARG_ENABLE(sim-bitsize,
[ --enable-sim-bitsize=n Specify target bitsize (32 or 64).],
[case "${enableval}" in
- yes) sim_bitsize="";;
- no) sim_bitsize="";;
- *) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=$enableval";;
+ 32|64) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=$enableval";;
+ *) AC_MSG_ERROR("--enable-sim-bitsize was given $enableval, expected 32 or 64"); sim_bitsize="";;
esac
if test x"$silent" != x"yes" && test x"$sim_bitsize" != x""; then
echo "Setting bitsize flags = $sim_bitsize" 6>&1
fi],[sim_bitsize=""])dnl
AC_ARG_ENABLE(sim-hostbitsize,
-[ --enable-sim-hostbitsize=n Specify host bitsize (32 or 64).],
+[ --enable-sim-hostbitsize=32|64 Specify host bitsize (32 or 64).],
[case "${enableval}" in
- yes) sim_hostbitsize="";;
- no) sim_hostbitsize="";;
- *) sim_hostbitsize="-DWITH_HOST_WORD_BITSIZE=$enableval";;
+ 32|64) sim_hostbitsize="-DWITH_HOST_WORD_BITSIZE=$enableval";;
+ *) AC_MSG_ERROR("--enable-sim-hostbitsize was given $enableval, expected 32 or 64"); sim_hostbitsize="";;
esac
if test x"$silent" != x"yes" && test x"$sim_hostbitsize" != x""; then
echo "Setting hostbitsize flags = $sim_hostbitsize" 6>&1
@@ -208,7 +228,8 @@ AC_ARG_ENABLE(sim-env,
operating | os | oea) sim_env="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
virtual | vea) sim_env="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
user | uea) sim_env="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
- *) sim_env="";;
+ no) sim_env="-DWITH_ENVIRONMENT=0";;
+ *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-env"); sim_env="";;
esac
if test x"$silent" != x"yes" && test x"$sim_env" != x""; then
echo "Setting env flags = $sim_env" 6>&1
@@ -219,7 +240,7 @@ AC_ARG_ENABLE(sim-timebase,
[case "${enableval}" in
yes) sim_timebase="-DWITH_TIME_BASE=1";;
no) sim_timebase="-DWITH_TIME_BASE=0";;
- *) sim_timebase="";;
+ *) AC_MSG_ERROR("--enable-sim-timebase does not take a value"); sim_timebase="";;
esac
if test x"$silent" != x"yes" && test x"$sim_timebase" != x""; then
echo "Setting timebase flags = $sim_timebase" 6>&1
@@ -230,7 +251,7 @@ AC_ARG_ENABLE(sim-alignment,
[case "${enableval}" in
yes | strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
no | nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
- *) sim_alignment="-DWITH_ALIGNMENT=$enableval";;
+ *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-alignment"); sim_alignment="";;
esac
if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
echo "Setting alignment flags = $sim_alignment" 6>&1
@@ -241,7 +262,7 @@ AC_ARG_ENABLE(sim-trace,
[case "${enableval}" in
yes) sim_trace="-DWITH_TRACE=1";;
no) sim_trace="-DWITH_TRACE=0";;
- *) sim_trace="";;
+ *) AC_MSG_ERROR("--enable-sim-trace does not take a value"); sim_trace="";;
esac
if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
echo "Setting trace flags = $sim_trace" 6>&1
@@ -252,18 +273,29 @@ AC_ARG_ENABLE(sim-assert,
[case "${enableval}" in
yes) sim_assert="-DWITH_ASSERT=1";;
no) sim_assert="-DWITH_ASSERT=0";;
- *) sim_assert="";;
+ *) AC_MSG_ERROR("--enable-sim-assert does not take a value"); sim_assert="";;
esac
if test x"$silent" != x"yes" && test x"$sim_assert" != x""; then
echo "Setting assert flags = $sim_assert" 6>&1
fi],[sim_assert=""])dnl
+AC_ARG_ENABLE(sim-reserved-bits,
+[ --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.],
+[case "${enableval}" in
+ yes) sim_reserved="-DWITH_RESERVED_BITS=1";;
+ no) sim_reserved="-DWITH_RESERVED_BITS=0";;
+ *) AC_MSG_ERROR("--enable-sim-reserved-bits does not take a value"); sim_reserved="";;
+esac
+if test x"$silent" != x"yes" && test x"$sim_reserved" != x""; then
+ echo "Setting reserved flags = $sim_reserved" 6>&1
+fi],[sim_reserved=""])dnl
+
AC_ARG_ENABLE(sim-float,
[ --enable-sim-float Specify whether to use host floating point or simulate.],
[case "${enableval}" in
yes | hard) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";;
no | soft) sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";;
- *) sim_float="";;
+ *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-float"); sim_float="";;
esac
if test x"$silent" != x"yes" && test x"$sim_float" != x""; then
echo "Setting float flags = $sim_float" 6>&1
@@ -276,7 +308,7 @@ AC_ARG_ENABLE(sim-monitor,
no) sim_mon="-DWITH_MON=0";;
instruction) sim_mon="-DWITH_MON=MONITOR_INSTRUCTION_ISSUE";;
memory) sim_mon="-DWITH_MON=MONITOR_LOAD_STORE_UNIT";;
- *) sim_mon="-DWITH_MON='$enableval'";;
+ *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-mon"); sim_env="";;
esac
if test x"$silent" != x"yes" && test x"$sim_mon" != x""; then
echo "Setting monitor flags = $sim_mon" 6>&1
@@ -287,7 +319,7 @@ AC_ARG_ENABLE(sim-function-unit,
[case "${enableval}" in
yes) sim_func="-DWITH_FUNCTION_UNIT=1";;
no) sim_func="-DWITH_FUNCTION_UNIT=0";;
- *) sim_func="";;
+ *) AC_MSG_ERROR("--enable-sim-function-unit does not take a value"); sim_func="";;
esac
if test x"$silent" != x"yes" && test x"$sim_func" != x""; then
echo "Setting function-unit flags = $sim_func" 6>&1
@@ -296,9 +328,8 @@ fi],[sim_func=""])dnl
AC_ARG_ENABLE(sim-model,
[ --enable-sim-model=which Specify PowerPC to model.],
[case "${enableval}" in
- yes) sim_model="";;
- no) sim_model="";;
- *) sim_model="-DWITH_PPC_MODEL=${enableval}";;
+ yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-model=model");;
+ *) sim_model="-DWITH_MODEL=${enableval}";;
esac
if test x"$silent" != x"yes" && test x"$sim_model" != x""; then
echo "Setting model flags = $sim_model" 6>&1
@@ -307,9 +338,8 @@ fi],[sim_model=""])dnl
AC_ARG_ENABLE(sim-default-model,
[ --enable-sim-default-model=which Specify default PowerPC to model.],
[case "${enableval}" in
- yes) sim_default_model="";;
- no) sim_default_model="";;
- *) sim_default_model="-DWITH_DEFAULT_PPC_MODEL=${enableval}";;
+ yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-default-model=model");;
+ *) sim_default_model="-DWITH_DEFAULT_MODEL=${enableval}";;
esac
if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
echo "Setting default-model flags = $sim_default_model" 6>&1
@@ -350,6 +380,7 @@ AC_SUBST(sim_alignment)
AC_SUBST(sim_float)
AC_SUBST(sim_trace)
AC_SUBST(sim_assert)
+AC_SUBST(sim_reserved)
AC_SUBST(sim_monitor)
AC_SUBST(sim_func)
AC_SUBST(sim_model)