diff --git a/.gitignore b/.gitignore index 66c45524e9..080e7055f2 100644 --- a/.gitignore +++ b/.gitignore @@ -30,7 +30,6 @@ __pycache__/ # C Linker output *.ilk -*.map *.exp # C Precompiled Headers diff --git a/libclamav/CMakeLists.txt b/libclamav/CMakeLists.txt index bb2cabf130..7defedcbdd 100644 --- a/libclamav/CMakeLists.txt +++ b/libclamav/CMakeLists.txt @@ -568,6 +568,9 @@ if(ENABLE_SHARED_LIB) else() target_link_libraries( clamav PUBLIC Iconv::Iconv ) endif() + if(UNIX AND NOT APPLE) + target_link_options( clamav PRIVATE "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libclamav.map") + endif() if(WIN32) install( TARGETS clamav DESTINATION . COMPONENT libraries ) install( FILES $ DESTINATION . OPTIONAL COMPONENT libraries ) diff --git a/libclamav/libclamav.map b/libclamav/libclamav.map index 05519b240a..2a36220cca 100644 --- a/libclamav/libclamav.map +++ b/libclamav/libclamav.map @@ -15,7 +15,6 @@ CLAMAV_PUBLIC { cl_engine_set_clcb_meta; cl_engine_set_clcb_file_props; cl_set_clcb_msg; - cl_engine_set_clcb_file_inspection; cl_engine_set_clcb_pre_scan; cl_engine_set_clcb_post_scan; cl_engine_set_clcb_virus_found; @@ -61,6 +60,17 @@ CLAMAV_PUBLIC { cl_engine_stats_enable; lsig_sub_matched; }; +CLAMAV_0.104.0 { + global: + cl_engine_set_clcb_engine_compile_progress; + cl_engine_set_clcb_engine_free_progress; + cl_engine_set_clcb_sigload_progress; +} CLAMAV_PUBLIC; +CLAMAV_1.0.0 { + global: + cl_cvdunpack; + cl_engine_set_clcb_file_inspection; +} CLAMAV_0.104.0; CLAMAV_PRIVATE { global: cli_sigperf_print; @@ -267,6 +277,19 @@ CLAMAV_PRIVATE { cli_get_filepath_from_filedesc; fmap_duplicate; free_duplicate_fmap; + cli_add_content_match_pattern; + cli_dbgmsg; + cli_dbgmsg_no_inline; + cli_get_debug_flag; + cli_get_last_virus_str; + cli_getdsig; + cli_infomsg_simple; + cli_set_debug_flag; + fmap_dump_to_file; + init_allow_list; + init_domain_list; + lsig_increment_subsig_match; + readdb_parse_ldb_subsignature; __cli_strcasestr; __cli_strndup; diff --git a/libclamunrar/CMakeLists.txt b/libclamunrar/CMakeLists.txt index 70b26ba9b6..1cc741b089 100644 --- a/libclamunrar/CMakeLists.txt +++ b/libclamunrar/CMakeLists.txt @@ -95,6 +95,8 @@ if(ENABLE_SHARED_LIB) if(WIN32) set_target_properties(clamunrar PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) + elseif(UNIX AND NOT APPLE) + target_link_options(clamunrar PRIVATE "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libclamunrar.map") endif() if(WIN32) diff --git a/libclamunrar_iface/CMakeLists.txt b/libclamunrar_iface/CMakeLists.txt index c21e500e9b..6d9795db12 100644 --- a/libclamunrar_iface/CMakeLists.txt +++ b/libclamunrar_iface/CMakeLists.txt @@ -62,6 +62,8 @@ if(ENABLE_UNRAR) if(WIN32) set_target_properties(clamunrar_iface PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) + elseif(UNIX AND NOT APPLE) + target_link_options(clamunrar_iface PRIVATE "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libclamunrar_iface.map") endif() # Private (internal-only) dependencies. diff --git a/libfreshclam/CMakeLists.txt b/libfreshclam/CMakeLists.txt index 7cf1ded9a0..01b456c30b 100644 --- a/libfreshclam/CMakeLists.txt +++ b/libfreshclam/CMakeLists.txt @@ -58,6 +58,8 @@ if(ENABLE_SHARED_LIB) if(WIN32) set_target_properties(freshclam PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) + elseif(UNIX AND NOT APPLE) + target_link_options(freshclam PRIVATE "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libfreshclam.map") endif() set_target_properties(freshclam PROPERTIES COMPILE_FLAGS "${WARNCFLAGS}" diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt index 62d1a052b4..dd24de4b54 100644 --- a/unit_tests/CMakeLists.txt +++ b/unit_tests/CMakeLists.txt @@ -48,16 +48,7 @@ if(ENABLE_APP) target_link_libraries(check_fpu_endian PRIVATE ClamAV::libclamav - libcheck::check - tomsfastmath - JSONC::jsonc - ${LIBMSPACK} - OpenSSL::SSL - OpenSSL::Crypto - ZLIB::ZLIB - BZip2::BZip2 - PCRE2::pcre2 - LibXml2::LibXml2) + libcheck::check) if(ENABLE_SHARED_LIB) target_link_libraries(check_fpu_endian PRIVATE @@ -84,16 +75,7 @@ if(ENABLE_APP) PRIVATE ClamAV::libclamav ClamAV::common - libcheck::check - tomsfastmath - JSONC::jsonc - ${LIBMSPACK} - OpenSSL::SSL - OpenSSL::Crypto - ZLIB::ZLIB - BZip2::BZip2 - PCRE2::pcre2 - LibXml2::LibXml2) + libcheck::check) if(ENABLE_SHARED_LIB) target_link_libraries(check_clamd PRIVATE @@ -132,16 +114,8 @@ target_sources(check_clamav target_link_libraries(check_clamav PRIVATE ClamAV::libclamav - libcheck::check - tomsfastmath - JSONC::jsonc - ${LIBMSPACK} - OpenSSL::SSL - OpenSSL::Crypto - ZLIB::ZLIB - BZip2::BZip2 - PCRE2::pcre2 - LibXml2::LibXml2) + ClamAV::common + libcheck::check) if (ENABLE_UNRAR) if(ENABLE_SHARED_LIB) target_link_libraries(check_clamav