aboutsummaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2021-06-06 20:16:48 -0400
committerMike Frysinger <vapier@gentoo.org>2021-06-12 20:07:57 -0400
commit497a20bd3b7f7bffac5cdc7ae03e768cf92a04fd (patch)
tree2cbb25fb1d009872a7c767d12ba43d73ae8eaa6a /sim
parent4b530cfa37a27624afc183350470ae261698b7f7 (diff)
downloadfsf-binutils-gdb-497a20bd3b7f7bffac5cdc7ae03e768cf92a04fd.zip
fsf-binutils-gdb-497a20bd3b7f7bffac5cdc7ae03e768cf92a04fd.tar.gz
fsf-binutils-gdb-497a20bd3b7f7bffac5cdc7ae03e768cf92a04fd.tar.bz2
sim: split debug/stdio/trace/profile options into dedicated m4 files
This follows existing organizational structure with one configure option per m4 file, and will make it easier to move to the common configure dir.
Diffstat (limited to 'sim')
-rw-r--r--sim/ChangeLog11
-rw-r--r--sim/m4/sim_ac_common.m4101
-rw-r--r--sim/m4/sim_ac_option_debug.m435
-rw-r--r--sim/m4/sim_ac_option_profile.m448
-rw-r--r--sim/m4/sim_ac_option_stdio.m432
-rw-r--r--sim/m4/sim_ac_option_trace.m446
6 files changed, 178 insertions, 95 deletions
diff --git a/sim/ChangeLog b/sim/ChangeLog
index 908b50b..07a974f 100644
--- a/sim/ChangeLog
+++ b/sim/ChangeLog
@@ -1,5 +1,16 @@
2021-06-12 Mike Frysinger <vapier@gentoo.org>
+ * m4/sim_ac_common.m4: Replace --enable-sim-debug, --enable-sim-stdio,
+ --enable-sim-trace, and --enable-sim-profile with calls to
+ SIM_AC_OPTION_DEBUG, SIM_AC_OPTION_STDIO, SIM_AC_OPTION_TRACE, and
+ SIM_AC_OPTION_PROFILE.
+ * m4/sim_ac_option_debug.m4: New file.
+ * m4/sim_ac_option_profile.m4: New file.
+ * m4/sim_ac_option_stdio.m4: New file.
+ * m4/sim_ac_option_trace.m4: New file.
+
+2021-06-12 Mike Frysinger <vapier@gentoo.org>
+
* m4/sim_ac_platform.m4: Check more headers, funcs, structs, and
types.
* config.h.in, configure: Regenerate.
diff --git a/sim/m4/sim_ac_common.m4 b/sim/m4/sim_ac_common.m4
index 7bad148..3538557 100644
--- a/sim/m4/sim_ac_common.m4
+++ b/sim/m4/sim_ac_common.m4
@@ -66,102 +66,13 @@ dnl --enable-maintainer-mode.
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="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="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. 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="-1";;
- no) sim_trace="0";;
- [[-0-9]]*)
- 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="(TRACE_$x"
- else
- sim_trace="${sim_trace}|TRACE_$x"
- fi
- done
- 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
-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) profile="1" sim_profile="-1";;
- no) profile="0" sim_profile="0";;
- [[-0-9]]*)
- 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="(PROFILE_$x"
- else
- sim_profile="${sim_profile}|PROFILE_$x"
- fi
- done
- 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_DEBUG
+SIM_AC_OPTION_STDIO
+
+SIM_AC_OPTION_TRACE
+
+SIM_AC_OPTION_PROFILE
SIM_AC_OPTION_INLINE
diff --git a/sim/m4/sim_ac_option_debug.m4 b/sim/m4/sim_ac_option_debug.m4
new file mode 100644
index 0000000..41faef9
--- /dev/null
+++ b/sim/m4/sim_ac_option_debug.m4
@@ -0,0 +1,35 @@
+dnl Copyright (C) 1997-2021 Free Software Foundation, Inc.
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
+dnl
+dnl --enable-sim-debug is for developers of the simulator
+dnl the allowable values are work-in-progress
+AC_DEFUN([SIM_AC_OPTION_DEBUG],
+[dnl
+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="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)
+])
diff --git a/sim/m4/sim_ac_option_profile.m4 b/sim/m4/sim_ac_option_profile.m4
new file mode 100644
index 0000000..07f8d95
--- /dev/null
+++ b/sim/m4/sim_ac_option_profile.m4
@@ -0,0 +1,48 @@
+dnl Copyright (C) 1997-2021 Free Software Foundation, Inc.
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
+dnl
+dnl --enable-sim-profile
+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_DEFUN([SIM_AC_OPTION_PROFILE],
+[dnl
+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) profile="1" sim_profile="-1";;
+ no) profile="0" sim_profile="0";;
+ [[-0-9]]*)
+ 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="(PROFILE_$x"
+ else
+ sim_profile="${sim_profile}|PROFILE_$x"
+ fi
+ done
+ 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)
+])
diff --git a/sim/m4/sim_ac_option_stdio.m4 b/sim/m4/sim_ac_option_stdio.m4
new file mode 100644
index 0000000..f4ae308
--- /dev/null
+++ b/sim/m4/sim_ac_option_stdio.m4
@@ -0,0 +1,32 @@
+dnl Copyright (C) 1997-2021 Free Software Foundation, Inc.
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
+dnl
+dnl --enable-sim-stdio is for users of the simulator
+dnl It determines if IO from the program is routed through STDIO (buffered)
+AC_DEFUN([SIM_AC_OPTION_STDIO],
+[dnl
+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="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)
+])
diff --git a/sim/m4/sim_ac_option_trace.m4 b/sim/m4/sim_ac_option_trace.m4
new file mode 100644
index 0000000..d7dfead
--- /dev/null
+++ b/sim/m4/sim_ac_option_trace.m4
@@ -0,0 +1,46 @@
+dnl Copyright (C) 1997-2021 Free Software Foundation, Inc.
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
+dnl
+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. Default to all tracing but internal debug.
+AC_DEFUN([SIM_AC_OPTION_TRACE],
+[dnl
+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="-1";;
+ no) sim_trace="0";;
+ [[-0-9]]*)
+ 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="(TRACE_$x"
+ else
+ sim_trace="${sim_trace}|TRACE_$x"
+ fi
+ done
+ sim_trace="$sim_trace)" ;;
+esac])dnl
+AC_DEFINE_UNQUOTED([WITH_TRACE], [$sim_trace], [Sim trace settings])
+AC_MSG_RESULT($sim_trace)
+])