aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGareth McMullin2011-03-29 20:01:15 +1300
committerGareth McMullin2011-03-29 20:01:15 +1300
commitbe91386c0aa767c346694c1d838a7f85322eef6d (patch)
tree32dbb3e255df9d799204518fedc0422aa89caac4 /src
parentc9ea16312b725c622773cdcd324ba013bcfb56d5 (diff)
Minor changes to allow a build for Windows hosts with libftdi.
Diffstat (limited to 'src')
-rw-r--r--src/command.c1
-rw-r--r--src/gdb_main.c1
-rw-r--r--src/gdb_packet.c2
-rw-r--r--src/jtag_scan.c2
-rw-r--r--src/linux/Makefile.inc2
-rw-r--r--src/linux/gdb_if.c15
-rw-r--r--src/linux/jtagtap.c1
-rw-r--r--src/linux/platform.c14
-rw-r--r--src/linux/platform.h6
-rw-r--r--src/stm32/platform.h1
10 files changed, 34 insertions, 11 deletions
diff --git a/src/command.c b/src/command.c
index 1655cfd..3eaa552 100644
--- a/src/command.c
+++ b/src/command.c
@@ -26,7 +26,6 @@
#include <stdlib.h>
#include <string.h>
-#include <alloca.h>
#include "general.h"
diff --git a/src/gdb_main.c b/src/gdb_main.c
index dd96822..0ffa4ec 100644
--- a/src/gdb_main.c
+++ b/src/gdb_main.c
@@ -28,7 +28,6 @@
#include <stdlib.h>
#include <string.h>
-#include <alloca.h>
#include <assert.h>
#include "platform.h"
diff --git a/src/gdb_packet.c b/src/gdb_packet.c
index a009166..1baf559 100644
--- a/src/gdb_packet.c
+++ b/src/gdb_packet.c
@@ -29,8 +29,6 @@
#include <stdarg.h>
-#include <alloca.h>
-
#include "general.h"
#include "gdb_if.h"
#include "gdb_packet.h"
diff --git a/src/jtag_scan.c b/src/jtag_scan.c
index b0687bc..fcf6863 100644
--- a/src/jtag_scan.c
+++ b/src/jtag_scan.c
@@ -28,8 +28,6 @@
#include <assert.h>
-#include <alloca.h>
-
#include "general.h"
#include "jtagtap.h"
#include "jtag_scan.h"
diff --git a/src/linux/Makefile.inc b/src/linux/Makefile.inc
index 48793ec..095b3a7 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 1fb3491..7edab8f 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 <stdio.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <sys/select.h>
+#ifndef WIN32
+# include <sys/socket.h>
+# include <netinet/in.h>
+# include <sys/select.h>
+#else
+# include <windows.h>
+# include <ws2tcpip.h>
+#endif
#include <assert.h>
@@ -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 ba1ab90..fdfb051 100644
--- a/src/linux/jtagtap.c
+++ b/src/linux/jtagtap.c
@@ -31,7 +31,6 @@
#include <string.h>
#include <assert.h>
-#include <alloca.h>
#include <ftdi.h>
diff --git a/src/linux/platform.c b/src/linux/platform.c
index e526578..80c2acd 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 ffe07a6..ce77a3d 100644
--- a/src/linux/platform.h
+++ b/src/linux/platform.h
@@ -24,6 +24,12 @@
#include <stdint.h>
#include <ftdi.h>
+#ifndef WIN32
+# include <alloca.h>
+#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 b202ff5..2925ae8 100644
--- a/src/stm32/platform.h
+++ b/src/stm32/platform.h
@@ -27,6 +27,7 @@
#include <libopencm3/stm32/gpio.h>
#include <setjmp.h>
+#include <alloca.h>
#include "gdb_packet.h"