aboutsummaryrefslogtreecommitdiff
path: root/sim/common/acinclude.m4
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-01-09 04:09:35 -0500
committerMike Frysinger <vapier@gentoo.org>2016-01-10 18:54:41 -0500
commitce39bd389039d99458950b072550ab52f0a07a34 (patch)
tree2bd4218fe7cc847322b73d613065a6825e49bcda /sim/common/acinclude.m4
parente19418e02e25ae4c62eb95547220897fa6aaf2e0 (diff)
downloadgdb-ce39bd389039d99458950b072550ab52f0a07a34.zip
gdb-ce39bd389039d99458950b072550ab52f0a07a34.tar.gz
gdb-ce39bd389039d99458950b072550ab52f0a07a34.tar.bz2
sim: move many common settings from CPPFLAGS to config.h
Rather than stuffing the command line with a bunch of -D flags, start moving things to config.h which is managed by autoheader. This makes the makefile a bit simpler and the build output tighter, and it makes the migration to automake easier as there are fewer vars to juggle. We'll want to move the other options out too, but it'll take more work.
Diffstat (limited to 'sim/common/acinclude.m4')
-rw-r--r--sim/common/acinclude.m4155
1 files changed, 79 insertions, 76 deletions
diff --git a/sim/common/acinclude.m4 b/sim/common/acinclude.m4
index 16e6d5c..5ebf584 100644
--- a/sim/common/acinclude.m4
+++ b/sim/common/acinclude.m4
@@ -135,64 +135,67 @@ AM_MAINTAINER_MODE
dnl --enable-sim-debug is for developers of the simulator
dnl the allowable values are work-in-progress
+AC_MSG_CHECKING([for sim debug setting])
+sim_debug="0"
AC_ARG_ENABLE(sim-debug,
[AS_HELP_STRING([--enable-sim-debug=opts],
[Enable debugging flags (for developers of the sim itself)])],
[case "${enableval}" in
- yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";;
- no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";;
- *) sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then
- echo "Setting sim debug = $sim_debug" 6>&1
-fi],[sim_debug=""])dnl
-AC_SUBST(sim_debug)
+ yes) sim_debug="7";;
+ no) sim_debug="0";;
+ *) sim_debug="($enableval)";;
+esac])dnl
+if test "$sim_debug" != "0"; then
+ AC_DEFINE_UNQUOTED([DEBUG], [$sim_debug], [Sim debug setting])
+fi
+AC_DEFINE_UNQUOTED([WITH_DEBUG], [$sim_debug], [Sim debug setting])
+AC_MSG_RESULT($sim_debug)
dnl --enable-sim-stdio is for users of the simulator
dnl It determines if IO from the program is routed through STDIO (buffered)
+AC_MSG_CHECKING([for sim stdio debug behavior])
+sim_stdio="0"
AC_ARG_ENABLE(sim-stdio,
[AS_HELP_STRING([--enable-sim-stdio],
[Specify whether to use stdio for console input/output])],
[case "${enableval}" in
- yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
- no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
- *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-stdio"); sim_stdio="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then
- echo "Setting stdio flags = $sim_stdio" 6>&1
-fi],[sim_stdio=""])dnl
-AC_SUBST(sim_stdio)
+ yes) sim_stdio="DO_USE_STDIO";;
+ no) sim_stdio="DONT_USE_STDIO";;
+ *) AC_MSG_ERROR([Unknown value $enableval passed to --enable-sim-stdio]);;
+esac])dnl
+AC_DEFINE_UNQUOTED([WITH_STDIO], [$sim_stdio], [How to route I/O])
+AC_MSG_RESULT($sim_stdio)
dnl --enable-sim-trace is for users of the simulator
dnl The argument is either a bitmask of things to enable [exactly what is
dnl up to the simulator], or is a comma separated list of names of tracing
dnl elements to enable. The latter is only supported on simulators that
-dnl use WITH_TRACE.
+dnl use WITH_TRACE. Default to all tracing but internal debug.
+AC_MSG_CHECKING([for sim trace settings])
+sim_trace="~TRACE_debug"
AC_ARG_ENABLE(sim-trace,
[AS_HELP_STRING([--enable-sim-trace=opts],
[Enable tracing of simulated programs])],
[case "${enableval}" in
- yes) sim_trace="-DWITH_TRACE=-1";;
- no) sim_trace="-DWITH_TRACE=0";;
+ yes) sim_trace="-1";;
+ no) sim_trace="0";;
[[-0-9]]*)
- sim_trace="-DWITH_TRACE='(${enableval})'";;
+ sim_trace="'(${enableval})'";;
[[[:lower:]]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
if test x"$sim_trace" = x; then
- sim_trace="-DWITH_TRACE='(TRACE_$x"
+ sim_trace="(TRACE_$x"
else
sim_trace="${sim_trace}|TRACE_$x"
fi
done
- sim_trace="$sim_trace)'" ;;
-esac
-if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
- echo "Setting sim trace = $sim_trace" 6>&1
-fi],[sim_trace=""])dnl
-AC_SUBST(sim_trace)
+ sim_trace="$sim_trace)" ;;
+esac])dnl
+AC_DEFINE_UNQUOTED([WITH_TRACE], [$sim_trace], [Sim trace settings])
+AC_MSG_RESULT($sim_trace)
dnl --enable-sim-profile
@@ -200,28 +203,32 @@ dnl The argument is either a bitmask of things to enable [exactly what is
dnl up to the simulator], or is a comma separated list of names of profiling
dnl elements to enable. The latter is only supported on simulators that
dnl use WITH_PROFILE.
+AC_MSG_CHECKING([for sim profile settings])
+profile="1"
+sim_profile="-1"
AC_ARG_ENABLE(sim-profile,
[AS_HELP_STRING([--enable-sim-profile=opts], [Enable profiling flags])],
[case "${enableval}" in
- yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";;
- no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";;
+ yes) profile="1" sim_profile="-1";;
+ no) profile="0" sim_profile="0";;
[[-0-9]]*)
- sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";;
+ profile="(${enableval})" sim_profile="(${enableval})";;
[[a-z]]*)
+ profile="1"
sim_profile=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
if test x"$sim_profile" = x; then
- sim_profile="-DWITH_PROFILE='(PROFILE_$x"
+ sim_profile="(PROFILE_$x"
else
sim_profile="${sim_profile}|PROFILE_$x"
fi
done
- sim_profile="$sim_profile)'" ;;
-esac
-if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then
- echo "Setting sim profile = $sim_profile" 6>&1
-fi],[sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1"])dnl
-AC_SUBST(sim_profile)
+ sim_profile="$sim_profile)" ;;
+esac])dnl
+AC_DEFINE_UNQUOTED([PROFILE], [$profile], [Sim profile settings])
+AC_DEFINE_UNQUOTED([WITH_PROFILE], [$sim_profile], [Sim profile settings])
+AC_MSG_RESULT($sim_profile)
+
SIM_AC_OPTION_ASSERT
SIM_AC_OPTION_ENVIRONMENT
@@ -257,23 +264,21 @@ dnl ??? Until there is demonstrable value in doing something more complicated,
dnl let's not.
AC_DEFUN([SIM_AC_OPTION_ENVIRONMENT],
[
+AC_MSG_CHECKING([default sim environment setting])
+sim_environment="ALL_ENVIRONMENT"
AC_ARG_ENABLE(sim-environment,
[AS_HELP_STRING([--enable-sim-environment=environment],
[Specify mixed, user, virtual or operating environment])],
[case "${enableval}" in
- all | ALL) sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT";;
- user | USER) sim_environment="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
- virtual | VIRTUAL) sim_environment="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
- operating | OPERATING) sim_environment="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
- *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-environment");
- sim_environment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_environment" != x""; then
- echo "Setting sim environment = $sim_environment" 6>&1
-fi],
-[sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT"])dnl
+ all | ALL) sim_environment="ALL_ENVIRONMENT";;
+ user | USER) sim_environment="USER_ENVIRONMENT";;
+ virtual | VIRTUAL) sim_environment="VIRTUAL_ENVIRONMENT";;
+ operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
+ *) AC_MSG_ERROR([Unknown value $enableval passed to --enable-sim-environment]);;
+esac])dnl
+AC_DEFINE_UNQUOTED([WITH_ENVIRONMENT], [$sim_environment], [Sim default environment])
+AC_MSG_RESULT($sim_environment)
])
-AC_SUBST(sim_environment)
dnl Specify the alignment restrictions of the target architecture.
@@ -332,19 +337,19 @@ AC_SUBST(sim_alignment)
dnl Conditionally compile in assertion statements.
AC_DEFUN([SIM_AC_OPTION_ASSERT],
[
+AC_MSG_CHECKING([whether to enable sim asserts])
+sim_assert="1"
AC_ARG_ENABLE(sim-assert,
[AS_HELP_STRING([--enable-sim-assert],
[Specify whether to perform random assertions])],
[case "${enableval}" in
- yes) sim_assert="-DWITH_ASSERT=1";;
- no) sim_assert="-DWITH_ASSERT=0";;
- *) 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
+ yes) sim_assert="1";;
+ no) sim_assert="0";;
+ *) AC_MSG_ERROR([--enable-sim-assert does not take a value]);;
+esac])dnl
+AC_DEFINE_UNQUOTED([WITH_ASSERT], [$sim_assert], [Sim assert settings])
+AC_MSG_RESULT($sim_assert)
])
-AC_SUBST(sim_assert)
@@ -667,41 +672,39 @@ AC_SUBST(sim_reserved_bits)
AC_DEFUN([SIM_AC_OPTION_SMP],
[
+AC_MSG_CHECKING([number of sim cpus to support])
default_sim_smp="ifelse([$1],,5,[$1])"
+sim_smp="$default_sim_smp""
AC_ARG_ENABLE(sim-smp,
[AS_HELP_STRING([--enable-sim-smp=n],
[Specify number of processors to configure for (default ${default_sim_smp})])],
[case "${enableval}" in
- yes) sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5";;
- no) sim_smp="-DWITH_SMP=0" ; sim_igen_smp="-N 0";;
- *) sim_smp="-DWITH_SMP=$enableval" ; sim_igen_smp="-N $enableval";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_smp" != x""; then
- echo "Setting smp flags = $sim_smp" 6>&1
-fi],[sim_smp="-DWITH_SMP=${default_sim_smp}" ; sim_igen_smp="-N ${default_sim_smp}"
-if test x"$silent" != x"yes"; then
- echo "Setting smp flags = $sim_smp" 6>&1
-fi])dnl
+ yes) sim_smp="5";;
+ no) sim_smp="0";;
+ *) sim_smp="$enableval";;
+esac])dnl
+sim_igen_smp="-N ${sim_smp}"
+AC_DEFINE_UNQUOTED([WITH_SMP], [$sim_smp], [Sim SMP settings])
+AC_MSG_RESULT($sim_smp)
])
-AC_SUBST(sim_smp)
AC_DEFUN([SIM_AC_OPTION_XOR_ENDIAN],
[
+AC_MSG_CHECKING([for xor endian support])
default_sim_xor_endian="ifelse([$1],,8,[$1])"
+sim_xor_endian="$default_sim_xor_endian"
AC_ARG_ENABLE(sim-xor-endian,
[AS_HELP_STRING([--enable-sim-xor-endian=n],
[Specify number bytes involved in XOR bi-endian mode (default ${default_sim_xor_endian})])],
[case "${enableval}" in
- yes) sim_xor_endian="-DWITH_XOR_ENDIAN=8";;
- no) sim_xor_endian="-DWITH_XOR_ENDIAN=0";;
- *) sim_xor_endian="-DWITH_XOR_ENDIAN=$enableval";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_xor_endian" != x""; then
- echo "Setting xor-endian flag = $sim_xor_endian" 6>&1
-fi],[sim_xor_endian="-DWITH_XOR_ENDIAN=${default_sim_xor_endian}"])dnl
+ yes) sim_xor_endian="8";;
+ no) sim_xor_endian="0";;
+ *) sim_xor_endian="$enableval";;
+esac])dnl
+AC_DEFINE_UNQUOTED([WITH_XOR_ENDIAN], [$sim_xor_endian], [Sim XOR endian settings])
+AC_MSG_RESULT($sim_smp)
])
-AC_SUBST(sim_xor_endian)
dnl --enable-build-warnings is for developers of the simulator.