+ /* This isn't going to allow us to keep related options
+ together as we add more --* flags. We really need a
+ proper options parser. */
+ case '-':
+ if (strequal("install-signal-handlers=yes",
+ &rts_argv[arg][2])) {
+ RtsFlags.MiscFlags.install_signal_handlers = rtsTrue;
+ }
+ else if (strequal("install-signal-handlers=no",
+ &rts_argv[arg][2])) {
+ RtsFlags.MiscFlags.install_signal_handlers = rtsFalse;
+ }
+ else if (strequal("info",
+ &rts_argv[arg][2])) {
+ char *s;
+ printf("RTS info:\n");
+ printf("RTS from GHC " ProjectVersion "\n");
+ printf("RTS way " RtsWay "\n");
+ printf("Host platform " HostPlatform "\n");
+ printf("Build platform " BuildPlatform "\n");
+ printf("Target platform " TargetPlatform "\n");
+ s = strcmp(GhcUnregisterised, "YES") == 0 ? "un" : "";
+ printf("Compiler is %sregisterised\n", s);
+ s = strcmp(GhcEnableTablesNextToCode, "YES") == 0
+ ? "" : "not ";
+ printf("Tables are %snext to code\n", s);
+ exit(0);
+ }
+ else {
+ errorBelch("unknown RTS option: %s",rts_argv[arg]);
+ error = rtsTrue;
+ }
+ break;