sim: options: add --version support
authorMike Frysinger <vapier@gentoo.org>
Mon, 13 Apr 2015 06:33:26 +0000 (02:33 -0400)
committerMike Frysinger <vapier@gentoo.org>
Mon, 13 Apr 2015 06:35:26 +0000 (02:35 -0400)
The old run frontend had a --version option, but the new common
sim-options file does not.  Restore support for that so we can
get version info out of `run` when using the new frontend.

sim/common/ChangeLog
sim/common/sim-options.c

index 00a952eeb33adbe9ffa6d143ee215cfd88b3b4d8..a7341f5ad35ce19c32d8aff8b148116696a87fe2 100644 (file)
@@ -1,3 +1,10 @@
+2015-04-13  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-options.c: Include version.h.
+       (OPTIONS_VERSION): New enum.
+       (standard_options): Add "version".
+       (standard_option_handler): Handle OPTIONS_VERSION.
+
 2015-04-13  Mike Frysinger  <vapier@gentoo.org>
 
        * Makefile.in (version.o): Change to using create-version.sh from gdb.
index 814edcf5f22a32a6f3f47c650e271b65721dfa05..f8231430441867e896b114e2d62b558f9fe03647 100644 (file)
@@ -33,6 +33,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #include "sim-options.h"
 #include "sim-io.h"
 #include "sim-assert.h"
+#include "version.h"
 
 #include "bfd.h"
 
@@ -105,6 +106,7 @@ typedef enum {
   OPTION_MEM_SIZE,
 #endif
   OPTION_HELP,
+  OPTION_VERSION,
 #ifdef SIM_H8300 /* FIXME: Should be movable to h8300 dir.  */
   OPTION_H8300H,
   OPTION_H8300S,
@@ -173,6 +175,9 @@ static const OPTION standard_options[] =
   { {"help", no_argument, NULL, OPTION_HELP},
       'H', NULL, "Print help information",
       standard_option_handler },
+  { {"version", no_argument, NULL, OPTION_VERSION},
+      '\0', NULL, "Print version information",
+      standard_option_handler },
 
   { {"architecture", required_argument, NULL, OPTION_ARCHITECTURE},
       '\0', "MACHINE", "Specify the architecture to use",
@@ -455,6 +460,12 @@ standard_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt,
       /* FIXME: 'twould be nice to do something similar if gdb.  */
       break;
 
+    case OPTION_VERSION:
+      sim_io_printf (sd, "GNU simulator %s%s\n", PKGVERSION, version);
+      if (STATE_OPEN_KIND (sd) == SIM_OPEN_STANDALONE)
+       exit (0);
+      break;
+
     case OPTION_SYSROOT:
       /* Don't leak memory in the odd event that there's lots of
         --sysroot=... options.  We treat "" specially since this
This page took 0.035415 seconds and 4 git commands to generate.