ULINK driver: Implement JTAG_STABLECLOCKS command
[fw/openocd] / src / helper / options.c
index 3db96fd713b5850bb70f8618ef2ba126a3cd6e65..f8db2cda2618ea454f315e8a01a1a77839462da0 100644 (file)
@@ -2,7 +2,7 @@
  *   Copyright (C) 2004, 2005 by Dominic Rath                              *
  *   Dominic.Rath@gmx.de                                                   *
  *                                                                         *
- *   Copyright (C) 2007,2008 Øyvind Harboe                                 *
+ *   Copyright (C) 2007-2010 Øyvind Harboe                                 *
  *   oyvind.harboe@zylin.com                                               *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
@@ -26,7 +26,7 @@
 
 #include "configuration.h"
 // @todo the inclusion of server.h here is a layering violation
-#include "server.h"
+#include <server/server.h>
 
 #include <getopt.h>
 
@@ -74,21 +74,21 @@ static void add_default_dirs(void)
                add_script_search_dir(strExePath);
        }
        /*
-        * Add support for the default (as of 20080121) layout when
-        * using autotools and cygwin to build native MinGW binary.
+        * Add support for the default (as of 20091118) layout when
+        * using autotools and cygwin/MinGW to build native binary.
         * Path separator is converted to UNIX style so that MinGW is
         * pleased.
         *
         * bin/openocd.exe
-        * lib/openocd/event/at91eb40a_reset.cfg
-        * lib/openocd/target/at91eb40a.cfg
+        * share/openocd/scripts/interface/dummy.cfg
+        * share/openocd/scripts/target/at91eb40a.cfg
         */
        {
                char strExePath [MAX_PATH];
                char *p;
                GetModuleFileName (NULL, strExePath, MAX_PATH);
                *strrchr(strExePath, '\\') = 0;
-               strcat(strExePath, "/../lib/"PACKAGE);
+               strcat(strExePath, "/../share/"PACKAGE"/scripts");
                for (p = strExePath; *p; p++) {
                        if (*p == '\\')
                                *p = '/';
@@ -104,13 +104,13 @@ static void add_default_dirs(void)
 
        const char *home = getenv("HOME");
 
-       if (home) 
+       if (home)
        {
                char *path;
 
                path = alloc_printf("%s/.openocd", home);
 
-               if (path) 
+               if (path)
                {
                        add_script_search_dir(path);
                        free(path);
@@ -177,20 +177,18 @@ int parse_cmdline_args(struct command_context *cmd_ctx, int argc, char *argv[])
                                        add_config_command(optarg);
                                }
                                break;
-                       case 'p':       /* --pipe | -p */
-#if BUILD_ECOSBOARD == 1
-                               /* pipes unsupported on hosted platforms */
-                               LOG_WARNING("pipes not supported on this platform");
-#else
-                               server_use_pipes = 1;
-#endif
+                       case 'p':
+                               /* to replicate the old syntax this needs to be synchronous
+                                * otherwise the gdb stdin will overflow with the warning message */
+                               command_run_line(cmd_ctx, "gdb_port pipe; log_output openocd.log");
+                               LOG_WARNING("deprecated option: -p/--pipe. Use '-c \"gdb_port pipe; log_output openocd.log\"' instead.");
                                break;
                }
        }
 
        if (help_flag)
        {
-               LOG_OUTPUT("Open On-Chip Debugger\n(c) 2005-2008 by Dominic Rath\n\n");
+               LOG_OUTPUT("Open On-Chip Debugger\nLicensed under GNU GPL v2\n");
                LOG_OUTPUT("--help       | -h\tdisplay this help\n");
                LOG_OUTPUT("--version    | -v\tdisplay OpenOCD version\n");
                LOG_OUTPUT("--file       | -f\tuse configuration file <name>\n");
@@ -198,7 +196,6 @@ int parse_cmdline_args(struct command_context *cmd_ctx, int argc, char *argv[])
                LOG_OUTPUT("--debug      | -d\tset debug level <0-3>\n");
                LOG_OUTPUT("--log_output | -l\tredirect log output to file <name>\n");
                LOG_OUTPUT("--command    | -c\trun <command>\n");
-               LOG_OUTPUT("--pipe       | -p\tuse pipes for gdb communication\n");
                exit(-1);
        }