0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-11 11:16:09 -05:00
bitcoin-bitcoin-core/depends/patches/miniupnpc/fix_windows_build.patch
fanquake 6866b571ab
depends: miniupnpc 2.2.7
Includes a temporary patch to fix the Windows Autotools build.

See
https://miniupnp.tuxfamily.org/files/changelog.php?file=miniupnpc-2.2.7.tar.gz.
2024-04-30 10:07:19 +08:00

143 lines
5.1 KiB
Diff

build: Temporary patch to make Windows compile
--- a/Makefile.mingw
+++ b/Makefile.mingw
@@ -9,10 +9,12 @@
#
SRCDIR = src
INCDIR = include
+BUILD = build
CC ?= gcc
SETUP_COMPILER_FLAG?=
DLLWRAP = dllwrap
+MKDIR = mkdir -p
WINDRES = windres
SH = /bin/sh
ZIP = zip
@@ -26,24 +28,25 @@ CFLAGS ?= -Os
CFLAGS += -Wall
CFLAGS += -W -Wstrict-prototypes
-CPPFLAGS += -DNDEBUG -D_WIN32_WINNT=0x501
+CPPFLAGS += -DNDEBUG -D_WIN32_WINNT=0x601
CPPFLAGS += -Iinclude
CPPFLAGS += -I.
+CPPFLAGS += -I$(BUILD)
# -liphlpapi is needed for GetBestRoute() and GetIpAddrTable()
LDLIBS = -lws2_32 -liphlpapi
PYTHON=\utils\python25\python
-OBJS=miniwget.o minixml.o igd_desc_parse.o minisoap.o \
+OBJS=$(addprefix $(BUILD)/,miniwget.o minixml.o igd_desc_parse.o minisoap.o \
minissdpc.o \
miniupnpc.o upnpreplyparse.o upnpcommands.o upnperrors.o \
connecthostport.o portlistingparse.o receivedata.o \
- upnpdev.o addr_is_reserved.o
+ upnpdev.o addr_is_reserved.o)
OBJSDLL=$(addprefix dll-, $(OBJS)) winres.o
-BINARIES=upnpc-static.exe upnpc-shared.exe \
+BINARIES=$(addprefix $(BUILD)/,upnpc-static.exe upnpc-shared.exe \
upnp-listdevices-static.exe upnp-listdevices-shared.exe \
miniupnpc.dll libminiupnpc.a \
- testminixml.exe
+ testminixml.exe)
ifneq ($(GITHUB_SHA),)
COMMITREF=$(GITHUB_SHA)
else
@@ -76,11 +79,12 @@ clean:
$(RM) miniupnpc.dll miniupnpc.lib miniupnpc.dll.def
$(RM) libminiupnpc.a
$(RM) $(DISTFILE)
+ $(RM) -r build/
$(DISTFILE): $(BINARIES)
$(ZIP) $@ *.exe *.dll *.lib *.def *.a LICENSE README Changelog.txt
-libminiupnpc.a: $(OBJS)
+$(BUILD)/libminiupnpc.a: $(OBJS)
$(AR) cr $@ $?
pythonmodule: libminiupnpc.a
@@ -97,13 +101,13 @@ miniupnpc.dll: miniupnpc.def $(OBJSDLL)
miniupnpc.lib: miniupnpc.dll
-%.o: $(SRCDIR)/%.c
+$(BUILD)/%.o: $(SRCDIR)/%.c
$(CC) $(CFLAGS) $(CPPFLAGS) -DMINIUPNP_STATICLIB -c -o $@ $<
-dll-%.o: $(SRCDIR)/%.c
+$(BUILD)/dll-%.o: $(SRCDIR)/%.c
$(CC) $(CFLAGS) $(CPPFLAGS) -DMINIUPNP_EXPORTS -c -o $@ $<
-%-shared.o: $(SRCDIR)/%.c
+$(BUILD)/%-shared.o: $(SRCDIR)/%.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
# --enable-stdcall-fixup
@@ -131,7 +135,8 @@ miniupnpcstrings.h: miniupnpcstrings.h.in wingenminiupnpcstrings.exe VERSION
rc_version.h: miniupnpcstrings.h
else
-miniupnpcstrings.h: miniupnpcstrings.h.in VERSION
+$(BUILD)/miniupnpcstrings.h: miniupnpcstrings.h.in VERSION
+ @$(MKDIR) $(@D)
sed 's|OS_STRING ".*"|OS_STRING "Windows/Mingw32"|' $< | \
sed 's|MINIUPNPC_VERSION_STRING ".*"|MINIUPNPC_VERSION_STRING "$(shell cat VERSION)"|' > $@
@@ -143,7 +148,7 @@ rc_version.h: VERSION
mv $@.tmp $@
endif
-miniupnpc.pc: VERSION
+$(BUILD)/miniupnpc.pc: VERSION
$(RM) $@
echo "prefix=$(INSTALLPREFIX)" >> $@
echo "exec_prefix=\$${prefix}" >> $@
@@ -156,32 +161,32 @@ miniupnpc.pc: VERSION
echo "Libs: -L\$${libdir} -lminiupnpc" >> $@
echo "Cflags: -I\$${includedir}" >> $@
-winres.o: miniupnpc.rc rc_version.h
+$(BUILD)/winres.o: miniupnpc.rc rc_version.h
$(WINDRES) -D INTERNAL_NAME=\\\"miniupnpc.dll\\0\\\" -i $< -o $@
testminixml.exe: testminixml.o minixml.o igd_desc_parse.o
$(CC) -static -o $@ $^
-minixml.o: $(SRCDIR)/minixml.c $(SRCDIR)/minixml.h
+$(BUILD)/minixml.o: $(SRCDIR)/minixml.c $(SRCDIR)/minixml.h
-upnpc.o: include/miniwget.h $(SRCDIR)/minisoap.h include/miniupnpc.h include/igd_desc_parse.h
-upnpc.o: include/upnpreplyparse.h include/upnpcommands.h include/upnperrors.h miniupnpcstrings.h
+$(BUILD)/upnpc.o: include/miniwget.h $(SRCDIR)/minisoap.h include/miniupnpc.h include/igd_desc_parse.h
+$(BUILD)/upnpc.o: include/upnpreplyparse.h include/upnpcommands.h include/upnperrors.h miniupnpcstrings.h
-miniwget.o: $(SRCDIR)/miniwget.c include/miniwget.h miniupnpcstrings.h $(SRCDIR)/connecthostport.h
+$(BUILD)/miniwget.o: $(SRCDIR)/miniwget.c include/miniwget.h $(BUILD)/miniupnpcstrings.h $(SRCDIR)/connecthostport.h
-minisoap.o: $(SRCDIR)/minisoap.c $(SRCDIR)/minisoap.h miniupnpcstrings.h
+$(BUILD)/minisoap.o: $(SRCDIR)/minisoap.c $(SRCDIR)/minisoap.h $(BUILD)/miniupnpcstrings.h
-miniupnpc.o: $(SRCDIR)/miniupnpc.c include/miniupnpc.h $(SRCDIR)/minisoap.h \
+$(BUILD)/miniupnpc.o: $(SRCDIR)/miniupnpc.c include/miniupnpc.h $(SRCDIR)/minisoap.h \
include/miniwget.h $(SRCDIR)/minixml.h $(SRCDIR)/addr_is_reserved.h
-igd_desc_parse.o: $(SRCDIR)/igd_desc_parse.c include/igd_desc_parse.h
+$(BUILD)/igd_desc_parse.o: $(SRCDIR)/igd_desc_parse.c include/igd_desc_parse.h
-upnpreplyparse.o: $(SRCDIR)/upnpreplyparse.c include/upnpreplyparse.h $(SRCDIR)/minixml.h
+$(BUILD)/upnpreplyparse.o: $(SRCDIR)/upnpreplyparse.c include/upnpreplyparse.h $(SRCDIR)/minixml.h
-upnpcommands.o: $(SRCDIR)/upnpcommands.c include/upnpcommands.h include/upnpreplyparse.h \
+$(BUILD)/upnpcommands.o: $(SRCDIR)/upnpcommands.c include/upnpcommands.h include/upnpreplyparse.h \
include/miniupnpc.h include/portlistingparse.h
-minissdpc.o: $(SRCDIR)/minissdpc.c $(SRCDIR)/minissdpc.h $(SRCDIR)/receivedata.h
+$(BUILD)/minissdpc.o: $(SRCDIR)/minissdpc.c $(SRCDIR)/minissdpc.h $(SRCDIR)/receivedata.h
-upnpdev.o: $(SRCDIR)/upnpdev.c include/upnpdev.h
+$(BUILD)/upnpdev.o: $(SRCDIR)/upnpdev.c include/upnpdev.h