From be91386c0aa767c346694c1d838a7f85322eef6d Mon Sep 17 00:00:00 2001 From: Gareth McMullin Date: Tue, 29 Mar 2011 20:01:15 +1300 Subject: [PATCH] Minor changes to allow a build for Windows hosts with libftdi. --- src/command.c | 1 - src/gdb_main.c | 1 - src/gdb_packet.c | 2 -- src/jtag_scan.c | 2 -- src/linux/Makefile.inc | 2 +- src/linux/gdb_if.c | 15 ++++++++++++--- src/linux/jtagtap.c | 1 - src/linux/platform.c | 14 ++++++++++++++ src/linux/platform.h | 6 ++++++ src/stm32/platform.h | 1 + 10 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/command.c b/src/command.c index 1655cfde..3eaa552f 100644 --- a/src/command.c +++ b/src/command.c @@ -26,7 +26,6 @@ #include #include -#include #include "general.h" diff --git a/src/gdb_main.c b/src/gdb_main.c index dd96822c..0ffa4eca 100644 --- a/src/gdb_main.c +++ b/src/gdb_main.c @@ -28,7 +28,6 @@ #include #include -#include #include #include "platform.h" diff --git a/src/gdb_packet.c b/src/gdb_packet.c index a0091668..1baf559b 100644 --- a/src/gdb_packet.c +++ b/src/gdb_packet.c @@ -29,8 +29,6 @@ #include -#include - #include "general.h" #include "gdb_if.h" #include "gdb_packet.h" diff --git a/src/jtag_scan.c b/src/jtag_scan.c index b0687bc6..fcf6863a 100644 --- a/src/jtag_scan.c +++ b/src/jtag_scan.c @@ -28,8 +28,6 @@ #include -#include - #include "general.h" #include "jtagtap.h" #include "jtag_scan.h" diff --git a/src/linux/Makefile.inc b/src/linux/Makefile.inc index 48793ec9..095b3a7a 100644 --- a/src/linux/Makefile.inc +++ b/src/linux/Makefile.inc @@ -1 +1 @@ -LDFLAGS += -lftdi +LDFLAGS += -lftdi -lusb diff --git a/src/linux/gdb_if.c b/src/linux/gdb_if.c index 1fb34915..7edab8fa 100644 --- a/src/linux/gdb_if.c +++ b/src/linux/gdb_if.c @@ -23,10 +23,15 @@ * uses a TCP server on port 2000. */ #include -#include -#include -#include +#ifndef WIN32 +# include +# include +# include +#else +# include +# include +#endif #include @@ -37,6 +42,10 @@ static int gdb_if_serv, gdb_if_conn; int gdb_if_init(void) { +#ifdef WIN32 + WSADATA wsaData; + WSAStartup(MAKEWORD(2, 2), &wsaData); +#endif struct sockaddr_in addr; addr.sin_family = AF_INET; diff --git a/src/linux/jtagtap.c b/src/linux/jtagtap.c index ba1ab909..fdfb0518 100644 --- a/src/linux/jtagtap.c +++ b/src/linux/jtagtap.c @@ -31,7 +31,6 @@ #include #include -#include #include diff --git a/src/linux/platform.c b/src/linux/platform.c index e5265781..80c2acd8 100644 --- a/src/linux/platform.c +++ b/src/linux/platform.c @@ -107,3 +107,17 @@ int platform_buffer_read(uint8_t *data, int size) return size; } +#ifdef WIN32 +#warning "This vasprintf() is dubious!" +int vasprintf(char **strp, const char *fmt, va_list ap) +{ + int size = 128, ret = 0; + + *strp = malloc(size); + while(*strp && ((ret = vsnprintf(*strp, size, fmt, ap)) == size)) + *strp = realloc(*strp, size <<= 1); + + return ret; +} +#endif + diff --git a/src/linux/platform.h b/src/linux/platform.h index ffe07a68..ce77a3d2 100644 --- a/src/linux/platform.h +++ b/src/linux/platform.h @@ -24,6 +24,12 @@ #include #include +#ifndef WIN32 +# include +#else +# define alloca __builtin_alloca +#endif + #define FT2232_VID 0x0403 #define FT2232_PID 0x6010 diff --git a/src/stm32/platform.h b/src/stm32/platform.h index b202ff5a..2925ae8e 100644 --- a/src/stm32/platform.h +++ b/src/stm32/platform.h @@ -27,6 +27,7 @@ #include #include +#include #include "gdb_packet.h"