]> git.sur5r.net Git - openocd/commitdiff
fix a few compilation problems.
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Sun, 6 Jul 2008 19:56:15 +0000 (19:56 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Sun, 6 Jul 2008 19:56:15 +0000 (19:56 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@758 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/Makefile.am
src/helper/command.c
src/main.c [new file with mode: 0644]
src/openocd.c
src/server/server.h
src/server/tcl_server.c

index 924040e615b6fd9ea984b31310a2190990d40075..a518077e25ae08c2d527ae8c20fd6d6f0a45073b 100644 (file)
@@ -3,11 +3,11 @@ bin_PROGRAMS = openocd
 if ECOSBOARD
 MAINFILE = ecosboard.c
 else
-MAINFILE = openocd.c
+MAINFILE = main.c
 endif
 
 
-openocd_SOURCES = $(MAINFILE) jim.c
+openocd_SOURCES = $(MAINFILE) openocd.c jim.c
 
 # set the include path found by configure
 INCLUDES = -I$(top_srcdir)/src/helper \
index 386572ed94d7b5f989cf8d7405b02d5a717fca79..55f950bf49f9df5fb02319b901240507ee632ab1 100644 (file)
@@ -305,6 +305,14 @@ int parse_line(char *line, char *words[], int max_words)
        return nwords;
 }
 
+void command_output_text( command_context_t *context, const char *data )
+{
+       if( context && context->output_handler && data  ){
+               context->output_handler( context, data );
+       }
+}
+
+
 void command_print_n(command_context_t *context, char *format, ...)
 {
        char *string;
diff --git a/src/main.c b/src/main.c
new file mode 100644 (file)
index 0000000..753adcc
--- /dev/null
@@ -0,0 +1,40 @@
+/***************************************************************************\r
+ *   Copyright (C) 2005 by Dominic Rath                                    *\r
+ *   Dominic.Rath@gmx.de                                                   *\r
+ *                                                                         *\r
+ *   This program is free software; you can redistribute it and/or modify  *\r
+ *   it under the terms of the GNU General Public License as published by  *\r
+ *   the Free Software Foundation; either version 2 of the License, or     *\r
+ *   (at your option) any later version.                                   *\r
+ *                                                                         *\r
+ *   This program is distributed in the hope that it will be useful,       *\r
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *\r
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *\r
+ *   GNU General Public License for more details.                          *\r
+ *                                                                         *\r
+ *   You should have received a copy of the GNU General Public License     *\r
+ *   along with this program; if not, write to the                         *\r
+ *   Free Software Foundation, Inc.,                                       *\r
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *\r
+ ***************************************************************************/\r
+\r
+\r
+/* \r
+       This is the main entry for developer PC hosted OpenOCD.\r
+       \r
+       OpenOCD can also be used as a library that is linked with\r
+       another application(not mainstream yet, but possible), e.g.\r
+       w/as an embedded application.\r
+       \r
+       Those applications will have their own main() implementation\r
+       and use bits and pieces from openocd.c.\r
+       \r
+*/\r
+\r
+\r
+extern int openocd_main(int argc, char *argv[]);\r
+int main(int argc, char *argv[])\r
+{\r
+       return openocd_main(argc, argv);\r
+}\r
+\r
index 5439ece08c91f83fdf682566ea260355f8e97add..197c2e32f1359523255d1b1319b07ac850b7b9f5 100644 (file)
@@ -625,7 +625,12 @@ void initJim(void)
        interp->cb_fgets      = openocd_jim_fgets;
 }
 
-int main(int argc, char *argv[])
+/*
+normally this is the main() function entry, but if OpenOCD is linked
+into application, then this fn will not be invoked, but rather that
+application will have it's own implementation of main().
+*/
+int openocd_main(int argc, char *argv[])
 {
        initJim();
        
index 811e26ecdd2b80d28c47f3d54140bedbd0ad936b..2543f22f8d013eab1c465d497889982e560b2ec1 100644 (file)
@@ -30,6 +30,7 @@ enum connection_type
 {
        CONNECTION_GDB,
        CONNECTION_TELNET,
+       CONNECTION_TCL,
 };
 
 typedef struct connection_s
index b0073091e2dfb6a82ab61da65b0cdb3120d90dea..cfdb8d07e25a47a6567da211355e1145075aecf5 100644 (file)
@@ -21,6 +21,7 @@
 #include "config.h"\r
 #endif\r
 \r
+#include <stdarg.h>\r
 #include "tcl_server.h"\r
 \r
 #include "../jim.h"\r