From 977e8337baecb3a0174e5694d1840fce21798d78 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Thu, 25 Jul 2013 02:07:17 +0200 Subject: [PATCH] build: add mingw makefile * add a very simple Makefile.mingw that builds libuv.a * apply a couple of fixes to src/win so it actually builds with mingw (mostly missing includes) Fixes #847. --- Makefile.mingw | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/win/fs.c | 1 + src/win/pipe.c | 1 + src/win/tcp.c | 1 + src/win/util.c | 1 + 5 files changed, 79 insertions(+) create mode 100644 Makefile.mingw diff --git a/Makefile.mingw b/Makefile.mingw new file mode 100644 index 00000000..189104a3 --- /dev/null +++ b/Makefile.mingw @@ -0,0 +1,75 @@ +# Copyright (c) 2013, Ben Noordhuis +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +CFLAGS = -Wall \ + -Wextra \ + -Wno-unused-parameter \ + -Iinclude \ + -Isrc \ + -Isrc/win \ + -DWIN32_LEAN_AND_MEAN \ + -D_WIN32_WINNT=0x0600 + +INCLUDES = include/stdint-msvc2008.h \ + include/tree.h \ + include/uv-errno.h \ + include/uv-win.h \ + include/uv.h \ + src/queue.h \ + src/uv-common.h \ + src/win/atomicops-inl.h \ + src/win/handle-inl.h \ + src/win/internal.h \ + src/win/req-inl.h \ + src/win/stream-inl.h \ + src/win/winapi.h \ + src/win/winsock.h + +OBJS = src/fs-poll.o \ + src/inet.o \ + src/uv-common.o \ + src/version.o \ + src/win/async.o \ + src/win/core.o \ + src/win/dl.o \ + src/win/error.o \ + src/win/fs-event.o \ + src/win/fs.o \ + src/win/getaddrinfo.o \ + src/win/handle.o \ + src/win/loop-watcher.o \ + src/win/pipe.o \ + src/win/poll.o \ + src/win/process-stdio.o \ + src/win/process.o \ + src/win/req.o \ + src/win/signal.o \ + src/win/stream.o \ + src/win/tcp.o \ + src/win/thread.o \ + src/win/threadpool.o \ + src/win/timer.o \ + src/win/tty.o \ + src/win/udp.o \ + src/win/util.o \ + src/win/winapi.o \ + src/win/winsock.o + +all: libuv.a + +libuv.a: $(OBJS) + $(AR) crs $@ $^ + +# FIXME(bnoordhuis) Don't rebuild everything when a source file changes. +$(OBJS): $(OBJS:.o=.c) $(INCLUDES) diff --git a/src/win/fs.c b/src/win/fs.c index 1de5ae03..4b54a4fe 100644 --- a/src/win/fs.c +++ b/src/win/fs.c @@ -20,6 +20,7 @@ */ #include +#include #include #include #include diff --git a/src/win/pipe.c b/src/win/pipe.c index 03b786ce..23d32864 100644 --- a/src/win/pipe.c +++ b/src/win/pipe.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "uv.h" #include "internal.h" diff --git a/src/win/tcp.c b/src/win/tcp.c index 0c7a521b..87787149 100644 --- a/src/win/tcp.c +++ b/src/win/tcp.c @@ -20,6 +20,7 @@ */ #include +#include #include "uv.h" #include "internal.h" diff --git a/src/win/util.c b/src/win/util.c index f19d30a0..fe373ff0 100644 --- a/src/win/util.c +++ b/src/win/util.c @@ -32,6 +32,7 @@ #include "internal.h" #include +#include #include #include #include