clamav: remove now obsolete iconv patch

Signed-off-by: Rosen Penev <rosenp@gmail.com>
This commit is contained in:
Rosen Penev 2022-11-27 17:47:20 -08:00
parent 5a25a731c6
commit 1e0aa44ce2
1 changed files with 0 additions and 63 deletions

View File

@ -1,63 +0,0 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -448,7 +448,7 @@ endif()
# libclamav feature dependencies
if(NOT WIN32)
- find_package(Iconv REQUIRED)
+ find_package(Iconv)
# Set variable required by libclamav to use iconv
set(HAVE_ICONV 1)
endif()
--- a/libclamav/CMakeLists.txt
+++ b/libclamav/CMakeLists.txt
@@ -536,10 +536,39 @@ if(ENABLE_SHARED_LIB)
ClamAV::win32_compat
wsock32 ws2_32 )
else()
+ if(Iconv_FOUND)
+ if(NOT Iconv_IS_BUILT_IN)
+ target_link_libraries(clamav PRIVATE Iconv::Iconv)
+ set(CMAKE_REQUIRED_LIBRARIES "Iconv::Iconv")
+ endif()
+ else()
+ # Sometime the build environment is not setup
+ # in a way CMake can find Iconv on its own by default.
+ # But if we simply link against iconv (-liconv), the build may succeed
+ # due to other compiler/link flags.
+ set(CMAKE_REQUIRED_LIBRARIES "iconv")
+ check_c_source_compiles("
+ #include <stddef.h>
+ #include <iconv.h>
+ int main() {
+ char *a, *b;
+ size_t i, j;
+ iconv_t ic;
+ ic = iconv_open(\"to\", \"from\");
+ iconv(ic, &a, &i, &b, &j);
+ iconv_close(ic);
+ }
+ "
+ Iconv_EXPLICITLY_AT_ENV)
+ if(Iconv_EXPLICITLY_AT_ENV)
+ target_link_libraries(clamav PRIVATE iconv)
+ else()
+ message(FATAL_ERROR "Iconv is not found, make sure to provide it in the build environment")
+ endif()
+ endif()
target_link_libraries( clamav
PUBLIC
Threads::Threads
- Iconv::Iconv
${CMAKE_DL_LIBS}
m )
endif()
@@ -556,8 +585,6 @@ if(ENABLE_SHARED_LIB)
if(WIN32)
set_target_properties( clamav PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON )
- else()
- target_link_libraries( clamav PUBLIC Iconv::Iconv )
endif()
if(WIN32)
install( TARGETS clamav DESTINATION . COMPONENT libraries )