diff --git a/config-mingw.mk b/config-mingw.mk
index d4483b24..2881d312 100644
--- a/config-mingw.mk
+++ b/config-mingw.mk
@@ -24,19 +24,18 @@ CC = $(PREFIX)gcc
AR = $(PREFIX)ar
E=.exe
-CFLAGS=-g --std=gnu89 -Wno-variadic-macros -D_WIN32_WINNT=0x0501
+CFLAGS=-g --std=gnu89 -Wno-variadic-macros -D_WIN32_WINNT=0x0501 -Ic-ares/config_win32
LINKFLAGS=-lm
-CARES_OBJS += windows_port.c
+CARES_OBJS += c-ares/windows_port.o
RUNNER_CFLAGS=$(CFLAGS) -D_GNU_SOURCE # Need _GNU_SOURCE for strdup?
RUNNER_LINKFLAGS=$(LINKFLAGS)
RUNNER_LIBS=-lws2_32
RUNNER_SRC=test/runner-win.c
-uv.a: uv-win.o uv-common.o c-ares/*.o
- $(AR) rcs uv.a uv-win.o uv-common.o *.o
- $(AR) rs uv.a $(shell $(AR) -t c-ares/libcares.a | awk '{print "c-ares/" $$1}')
+uv.a: uv-win.o uv-common.o $(CARES_OBJS)
+ $(AR) rcs uv.a uv-win.o uv-common.o $(CARES_OBJS)
uv-win.o: uv-win.c uv.h uv-win.h
$(CC) $(CFLAGS) -c uv-win.c -o uv-win.o
@@ -44,11 +43,8 @@ uv-win.o: uv-win.c uv.h uv-win.h
uv-common.o: uv-common.c uv.h uv-win.h
$(CC) $(CFLAGS) -c uv-common.c -o uv-common.o
-c-ares/libcares.a:
- $(MAKE) -C c-ares -f Makefile.m32 libcares.a
-
clean-platform:
- $(MAKE) -C c-ares -f Makefile.m32 clean
+ -rm -f c-ares/*.o
distclean-platform:
- $(MAKE) -C c-ares -f Makefile.m32 distclean
+ -rm -f c-ares/*.o
diff --git a/msvs/c-ares.vcxproj b/msvs/c-ares.vcxproj
index 046271f3..7fad58dc 100644
--- a/msvs/c-ares.vcxproj
+++ b/msvs/c-ares.vcxproj
@@ -77,7 +77,7 @@
Level3
ProgramDatabase
Disabled
- ..\c-ares
+ ..\c-ares;..\c-ares\config_win32
@@ -87,20 +87,20 @@
Level3
ProgramDatabase
Disabled
- ..\c-ares
+ ..\c-ares;..\c-ares\config_win32
MultiThreaded
- ..\c-ares
+ ..\c-ares;..\c-ares\config_win32
WIN32;_LIB;CARES_BUILDING_LIBRARY;CARES_STATICLIB;%(PreprocessorDefinitions)
MultiThreaded
- ..\c-ares
+ ..\c-ares;..\c-ares\config_win32
WIN32;_LIB;CARES_BUILDING_LIBRARY;CARES_STATICLIB;%(PreprocessorDefinitions)
@@ -151,7 +151,6 @@
-
@@ -168,6 +167,8 @@
+
+
diff --git a/msvs/libuv-benchmark.vcxproj b/msvs/libuv-benchmark.vcxproj
index af788128..12bf99d6 100644
--- a/msvs/libuv-benchmark.vcxproj
+++ b/msvs/libuv-benchmark.vcxproj
@@ -81,6 +81,7 @@
Level3
ProgramDatabase
Disabled
+ ..\c-ares\config_win32
MachineX86
@@ -96,6 +97,7 @@
Level3
ProgramDatabase
Disabled
+ ..\c-ares\config_win32
true
@@ -109,6 +111,7 @@
MultiThreaded
Level3
ProgramDatabase
+ ..\c-ares\config_win32
MachineX86
@@ -125,6 +128,7 @@
MultiThreaded
Level3
ProgramDatabase
+ ..\c-ares\config_win32
true
diff --git a/msvs/libuv-test.vcxproj b/msvs/libuv-test.vcxproj
index d1c80c90..49538f69 100644
--- a/msvs/libuv-test.vcxproj
+++ b/msvs/libuv-test.vcxproj
@@ -82,6 +82,7 @@
Level3
ProgramDatabase
Disabled
+ ..\c-ares\config_win32
MachineX86
@@ -97,6 +98,7 @@
Level3
ProgramDatabase
Disabled
+ ..\c-ares\config_win32
true
@@ -110,6 +112,7 @@
MultiThreaded
Level3
ProgramDatabase
+ ..\c-ares\config_win32
MachineX86
@@ -126,6 +129,7 @@
MultiThreaded
Level3
ProgramDatabase
+ ..\c-ares\config_win32
true
diff --git a/msvs/libuv.vcxproj b/msvs/libuv.vcxproj
index 767bd5f2..1909d8b2 100644
--- a/msvs/libuv.vcxproj
+++ b/msvs/libuv.vcxproj
@@ -78,6 +78,7 @@
Level3
ProgramDatabase
Disabled
+ ..\c-ares\config_win32
@@ -87,16 +88,19 @@
Level3
ProgramDatabase
Disabled
+ ..\c-ares\config_win32
MultiThreaded
+ ..\c-ares\config_win32
MultiThreaded
+ ..\c-ares\config_win32