diff options
author | Mike Frysinger <vapier@gentoo.org> | 2016-01-09 04:09:35 -0500 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2016-01-10 18:54:41 -0500 |
commit | ce39bd389039d99458950b072550ab52f0a07a34 (patch) | |
tree | 2bd4218fe7cc847322b73d613065a6825e49bcda /sim/common/acinclude.m4 | |
parent | e19418e02e25ae4c62eb95547220897fa6aaf2e0 (diff) | |
download | gdb-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.m4 | 155 |
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. |