From 7a772424d70e512976ab806a95fbc887df7c0381 Mon Sep 17 00:00:00 2001
From: Steve Lhomme <robux4@ycbcr.xyz>
Date: Mon, 5 Sep 2022 16:25:37 +0200
Subject: [PATCH] contrib: chromaprint: use CMAKE_CXX_IMPLICIT_LINK_LIBRARIES
 to get the C++ runtime

Submitted upstream https://github.com/acoustid/chromaprint/pull/119
---
 ...C-runtime-to-the-packages-to-link-to.patch | 39 +++++++++++++++++++
 contrib/src/chromaprint/rules.mak             |  1 +
 2 files changed, 40 insertions(+)
 create mode 100644 contrib/src/chromaprint/0002-add-the-C-runtime-to-the-packages-to-link-to.patch

diff --git a/contrib/src/chromaprint/0002-add-the-C-runtime-to-the-packages-to-link-to.patch b/contrib/src/chromaprint/0002-add-the-C-runtime-to-the-packages-to-link-to.patch
new file mode 100644
index 000000000000..ea91691ecaaf
--- /dev/null
+++ b/contrib/src/chromaprint/0002-add-the-C-runtime-to-the-packages-to-link-to.patch
@@ -0,0 +1,39 @@
+From 6726ebef3eec9dcc9d08b2ad6ae352bacb215e5e Mon Sep 17 00:00:00 2001
+From: Steve Lhomme <robux4@ycbcr.xyz>
+Date: Mon, 5 Sep 2022 16:13:05 +0200
+Subject: [PATCH 2/2] add the C++ runtime to the packages to link to
+
+gcc needs libstdc++ and clang needs libc++.
+---
+ CMakeLists.txt | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0dbd9bd..67fa620 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -197,6 +197,21 @@ else()
+ endif()
+ 
+ if(NOT BUILD_FRAMEWORK)
++	foreach(LIB ${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES})
++		if (LIB MATCHES "-l.*")
++			list(APPEND PKG_CXX_LIBS "${LIB}")
++		else()
++			list(APPEND PKG_CXX_LIBS "-l${LIB}")
++		endif()
++	endforeach()
++	if(PKG_CXX_LIBS)
++		# Blacklist for MinGW-w64
++		list(REMOVE_ITEM PKG_CXX_LIBS
++			"-lmingw32" "-lgcc_s" "-lgcc" "-lmoldname" "-lmingwex" "-lmingwthrd"
++			"-lmsvcrt" "-lpthread" "-ladvapi32" "-lshell32" "-luser32" "-lkernel32")
++		string(REPLACE ";" " " PKG_LIBS "${PKG_CXX_LIBS}")
++		set(CHROMAPRINT_ADDITIONAL_LIBS "${CHROMAPRINT_ADDITIONAL_LIBS} ${PKG_LIBS}")
++	endif()
+ 	configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libchromaprint.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libchromaprint.pc)
+ 	install(
+         FILES ${CMAKE_CURRENT_BINARY_DIR}/libchromaprint.pc
+-- 
+2.27.0.windows.1
+
diff --git a/contrib/src/chromaprint/rules.mak b/contrib/src/chromaprint/rules.mak
index 307177f31212..392562e87ad1 100644
--- a/contrib/src/chromaprint/rules.mak
+++ b/contrib/src/chromaprint/rules.mak
@@ -16,6 +16,7 @@ $(TARBALLS)/chromaprint-$(CHROMAPRINT_VERSION).tar.gz:
 chromaprint: chromaprint-$(CHROMAPRINT_VERSION).tar.gz .sum-chromaprint
 	$(UNPACK)
 	$(APPLY) $(SRC)/chromaprint/linklibs.patch
+	$(APPLY) $(SRC)/chromaprint/0002-add-the-C-runtime-to-the-packages-to-link-to.patch
 	$(MOVE)
 
 DEPS_chromaprint = ffmpeg $(DEPS_ffmpeg)
-- 
GitLab