When building with MINGW, specify `__USE_MINGW_ANSI_STDIO`. This option is already present in the CMake config, but was missing from `Makefile.embed` and would cause all kinds of weird failures when compiling rugged on windows with the ruby devkit.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
diff --git a/Makefile.embed b/Makefile.embed
index 8b8970d..2f3b057 100644
--- a/Makefile.embed
+++ b/Makefile.embed
@@ -6,12 +6,12 @@ else
PREFIX=
endif
-WIN32=0
+MINGW=0
ifneq (,$(findstring MINGW32,$(PLATFORM)))
- WIN32=1
+ MINGW=1
endif
ifneq (,$(findstring mingw,$(CROSS_COMPILE)))
- WIN32=1
+ MINGW=1
endif
rm=rm -f
@@ -20,7 +20,7 @@ RANLIB=$(PREFIX)ranlib
LIBNAME=libgit2.a
-ifeq ($(WIN32),1)
+ifeq ($(MINGW),1)
CC=gcc
else
CC=cc
@@ -35,10 +35,10 @@ CFLAGS= -g $(DEFINES) -Wall -Wextra -O2 $(EXTRA_CFLAGS)
SRCS = $(wildcard src/*.c) $(wildcard src/transports/*.c) $(wildcard src/xdiff/*.c) $(wildcard deps/http-parser/*.c) $(wildcard deps/zlib/*.c) src/hash/hash_generic.c
-ifeq ($(WIN32),1)
+ifeq ($(MINGW),1)
SRCS += $(wildcard src/win32/*.c) $(wildcard src/compat/*.c) deps/regex/regex.c
INCLUDES += -Ideps/regex
- DEFINES += -DWIN32 -D_WIN32_WINNT=0x0501
+ DEFINES += -DWIN32 -D_WIN32_WINNT=0x0501 -D__USE_MINGW_ANSI_STDIO=1
else
SRCS += $(wildcard src/unix/*.c)
CFLAGS += -fPIC