diff --git a/config-mingw.mk b/config-mingw.mk index cd6e159d..eb6cc23d 100644 --- a/config-mingw.mk +++ b/config-mingw.mk @@ -24,7 +24,7 @@ CC = $(PREFIX)gcc AR = $(PREFIX)ar E=.exe -CFLAGS=-g --std=gnu89 -Wno-variadic-macros +CFLAGS=-g --std=gnu89 -Wno-variadic-macros -D_WIN32_WINNT=0x0501 LINKFLAGS=-lm RUNNER_CFLAGS=$(CFLAGS) -D_GNU_SOURCE # Need _GNU_SOURCE for strdup? @@ -32,8 +32,9 @@ RUNNER_LINKFLAGS=$(LINKFLAGS) RUNNER_LIBS=-lws2_32 RUNNER_SRC=test/runner-win.c -uv.a: uv-win.o uv-common.o +uv.a: uv-win.o uv-common.o c-ares/libcares.a $(AR) rcs uv.a uv-win.o uv-common.o + $(AR) rs uv.a $(shell $(AR) -t c-ares/libcares.a | awk '{print "c-ares/" $$1}') uv-win.o: uv-win.c uv.h uv-win.h $(CC) $(CFLAGS) -c uv-win.c -o uv-win.o @@ -41,5 +42,11 @@ 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 -distclean-platform: +c-ares/libcares.a: + $(MAKE) -C c-ares -f Makefile.m32 libcares.a + clean-platform: + $(MAKE) -C c-ares -f Makefile.m32 clean + +distclean-platform: + $(MAKE) -C c-ares -f Makefile.m32 distclean diff --git a/config-unix.mk b/config-unix.mk index 3f9bc2f8..8815a8e6 100644 --- a/config-unix.mk +++ b/config-unix.mk @@ -35,8 +35,9 @@ RUNNER_LINKFLAGS=$(LINKFLAGS) -pthread RUNNER_LIBS= RUNNER_SRC=test/runner-unix.c -uv.a: uv-unix.o uv-common.o ev/ev.o +uv.a: uv-unix.o uv-common.o ev/ev.o c-ares/libcares.a $(AR) rcs uv.a uv-unix.o uv-common.o ev/ev.o + $(AR) rs uv.a $(shell $(AR) -t c-ares/libcares.a | awk '{print "c-ares/" $$1}') uv-unix.o: uv-unix.c uv.h uv-unix.h $(CC) $(CFLAGS) -c uv-unix.c -o uv-unix.o @@ -50,6 +51,9 @@ ev/ev.o: ev/config.h ev/ev.c ev/config.h: cd ev && ./configure +c-ares/libcares.a: + # TODO! + clean-platform: $(MAKE) -C ev clean diff --git a/msvs/c-ares.vcxproj b/msvs/c-ares.vcxproj new file mode 100644 index 00000000..aa03910b --- /dev/null +++ b/msvs/c-ares.vcxproj @@ -0,0 +1,183 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + Win32Proj + + + + StaticLibrary + true + + + StaticLibrary + true + + + StaticLibrary + false + + + StaticLibrary + false + + + + + + + + + + + + + + + + + + + $(SolutionDir)..\build\$(Platform)\$(Configuration)\ + $(SolutionDir)..\build\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\build\$(Platform)\$(Configuration)\ + $(SolutionDir)..\build\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\build\$(Platform)\$(Configuration)\ + $(SolutionDir)..\build\$(Platform)\$(Configuration)\ + + + $(SolutionDir)..\build\$(Platform)\$(Configuration)\ + $(SolutionDir)..\build\$(Platform)\$(Configuration)\ + + + + WIN32;_DEBUG;_LIB;CARES_BUILDING_LIBRARY;CARES_STATICLIB;%(PreprocessorDefinitions) + MultiThreadedDebug + Level3 + ProgramDatabase + Disabled + ..\c-ares + + + + + WIN32;_DEBUG;_LIB;CARES_BUILDING_LIBRARY;CARES_STATICLIB;%(PreprocessorDefinitions) + MultiThreadedDebug + Level3 + ProgramDatabase + Disabled + ..\c-ares + + + + + MultiThreaded + ..\c-ares + WIN32;_LIB;CARES_BUILDING_LIBRARY;CARES_STATICLIB;%(PreprocessorDefinitions) + + + + + MultiThreaded + ..\c-ares + WIN32;_LIB;CARES_BUILDING_LIBRARY;CARES_STATICLIB;%(PreprocessorDefinitions) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/msvs/libuv.sln b/msvs/libuv.sln index e68d41d3..a4eca0a6 100644 --- a/msvs/libuv.sln +++ b/msvs/libuv.sln @@ -7,6 +7,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libuv-test", "libuv-test.vc EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libuv-benchmark", "libuv-benchmark.vcxproj", "{6CCBDAFD-7A11-133D-357B-E2D2F4C621E4}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "c-ares", "c-ares.vcxproj", "{2B6A4644-EBA9-DFB5-AF35-6C56EDF05C7F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -39,6 +41,14 @@ Global {6CCBDAFD-7A11-133D-357B-E2D2F4C621E4}.Release|Win32.Build.0 = Release|Win32 {6CCBDAFD-7A11-133D-357B-E2D2F4C621E4}.Release|x64.ActiveCfg = Release|x64 {6CCBDAFD-7A11-133D-357B-E2D2F4C621E4}.Release|x64.Build.0 = Release|x64 + {2B6A4644-EBA9-DFB5-AF35-6C56EDF05C7F}.Debug|Win32.ActiveCfg = Debug|Win32 + {2B6A4644-EBA9-DFB5-AF35-6C56EDF05C7F}.Debug|Win32.Build.0 = Debug|Win32 + {2B6A4644-EBA9-DFB5-AF35-6C56EDF05C7F}.Debug|x64.ActiveCfg = Debug|x64 + {2B6A4644-EBA9-DFB5-AF35-6C56EDF05C7F}.Debug|x64.Build.0 = Debug|x64 + {2B6A4644-EBA9-DFB5-AF35-6C56EDF05C7F}.Release|Win32.ActiveCfg = Release|Win32 + {2B6A4644-EBA9-DFB5-AF35-6C56EDF05C7F}.Release|Win32.Build.0 = Release|Win32 + {2B6A4644-EBA9-DFB5-AF35-6C56EDF05C7F}.Release|x64.ActiveCfg = Release|x64 + {2B6A4644-EBA9-DFB5-AF35-6C56EDF05C7F}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/msvs/libuv.vcxproj b/msvs/libuv.vcxproj index 7b11f49e..767bd5f2 100644 --- a/msvs/libuv.vcxproj +++ b/msvs/libuv.vcxproj @@ -130,6 +130,16 @@ + + + {2b6a4644-eba9-dfb5-af35-6c56edf05c7f} + true + true + false + true + false + + diff --git a/uv.h b/uv.h index ce534809..491e4676 100644 --- a/uv.h +++ b/uv.h @@ -28,9 +28,13 @@ extern "C" { #define UV_VERSION_MAJOR 0 #define UV_VERSION_MINOR 1 +#define CARES_STATICLIB 1 + #include /* int64_t */ #include /* size_t */ +#include "c-ares/ares.h" + #ifndef _SSIZE_T_ typedef intptr_t ssize_t; #endif