aboutsummaryrefslogtreecommitdiff
path: root/depends
diff options
context:
space:
mode:
authorCory Fields <cory-nospam-@coryfields.com>2023-04-19 16:49:04 -0400
committerfanquake <fanquake@gmail.com>2024-04-30 12:53:44 +0800
commit3c2d440f1497f60bb444326f51383df244dcdfe9 (patch)
tree58bf97093a35b21915bc5d754cb2f39004f05963 /depends
parentf5618c79d9e7af05c2987044dc2da03697f8bb89 (diff)
downloadbitcoin-3c2d440f1497f60bb444326f51383df244dcdfe9.tar.xz
depends: switch miniupnpc to CMake
Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com> Co-authored-by: fanquake <fanquake@gmail.com>
Diffstat (limited to 'depends')
-rw-r--r--depends/packages/miniupnpc.mk21
-rw-r--r--depends/patches/miniupnpc/fix_windows_build.patch143
-rw-r--r--depends/patches/miniupnpc/no_libtool.patch15
3 files changed, 11 insertions, 168 deletions
diff --git a/depends/packages/miniupnpc.mk b/depends/packages/miniupnpc.mk
index 93b29fe6ba..28916729c4 100644
--- a/depends/packages/miniupnpc.mk
+++ b/depends/packages/miniupnpc.mk
@@ -3,27 +3,28 @@ $(package)_version=2.2.7
$(package)_download_path=https://miniupnp.tuxfamily.org/files/
$(package)_file_name=$(package)-$($(package)_version).tar.gz
$(package)_sha256_hash=b0c3a27056840fd0ec9328a5a9bac3dc5e0ec6d2e8733349cf577b0aa1e70ac1
-$(package)_patches=dont_leak_info.patch no_libtool.patch fix_windows_build.patch cmake_get_src_addr.patch
+$(package)_patches=dont_leak_info.patch cmake_get_src_addr.patch
+$(package)_build_subdir=build
define $(package)_set_vars
-$(package)_build_opts=CC="$($(package)_cc)"
-$(package)_build_opts_mingw32=-f Makefile.mingw CFLAGS="$($(package)_cflags)"
-$(package)_build_env+=CFLAGS="$($(package)_cflags) $($(package)_cppflags)" AR="$($(package)_ar)"
+$(package)_config_opts = -DUPNPC_BUILD_SAMPLE=OFF -DUPNPC_BUILD_SHARED=OFF
+$(package)_config_opts += -DUPNPC_BUILD_STATIC=ON -DUPNPC_BUILD_TESTS=OFF
+$(package)_config_opts_mingw32 += -DMINIUPNPC_TARGET_WINDOWS_VERSION=0x0601
endef
define $(package)_preprocess_cmds
patch -p1 < $($(package)_patch_dir)/dont_leak_info.patch && \
- patch -p1 < $($(package)_patch_dir)/no_libtool.patch && \
- patch -p1 < $($(package)_patch_dir)/fix_windows_build.patch && \
patch -p1 < $($(package)_patch_dir)/cmake_get_src_addr.patch
endef
+define $(package)_config_cmds
+ $($(package)_cmake) -S .. -B .
+endef
+
define $(package)_build_cmds
- $(MAKE) build/libminiupnpc.a $($(package)_build_opts)
+ $(MAKE)
endef
define $(package)_stage_cmds
- mkdir -p $($(package)_staging_prefix_dir)/include/miniupnpc $($(package)_staging_prefix_dir)/lib &&\
- install include/*.h $($(package)_staging_prefix_dir)/include/miniupnpc &&\
- install build/libminiupnpc.a $($(package)_staging_prefix_dir)/lib
+ cmake --install . --prefix $($(package)_staging_prefix_dir)
endef
diff --git a/depends/patches/miniupnpc/fix_windows_build.patch b/depends/patches/miniupnpc/fix_windows_build.patch
deleted file mode 100644
index 6a4467b7e3..0000000000
--- a/depends/patches/miniupnpc/fix_windows_build.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-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
-
diff --git a/depends/patches/miniupnpc/no_libtool.patch b/depends/patches/miniupnpc/no_libtool.patch
deleted file mode 100644
index bb7d4a87ef..0000000000
--- a/depends/patches/miniupnpc/no_libtool.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -ruN miniupnpc-2.2.2/Makefile miniupnpc-2.2.2.new/Makefile
---- miniupnpc-2.2.2/Makefile 2020-11-27 18:25:02.000000000 +0000
-+++ miniupnpc-2.2.2.new/Makefile 2024-01-23 20:58:08.387188527 +0000
-@@ -298,11 +298,7 @@
- makedepend -Y -- $(CFLAGS) -- $(SRCS) 2>/dev/null
-
- $(LIBRARY): $(LIBOBJS)
--ifneq (, $(findstring darwin, $(OS)))
-- $(LIBTOOL) -static -o $@ $?
--else
- $(AR) crs $@ $?
--endif
-
- $(SHAREDLIBRARY): $(LIBOBJS)
- ifneq (, $(findstring darwin, $(OS)))