aboutsummaryrefslogtreecommitdiff
path: root/depends/patches/miniupnpc/fix_windows_build.patch
blob: 6a4467b7e3cf23befe4e279929009df7bfe8cce8 (plain)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
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