refactor: clean up libarchive dependency

This commit is contained in:
Marcus Holland-Moritz 2024-08-01 15:30:04 +02:00
parent 7b0791b94f
commit 60ce3b15ec
4 changed files with 12 additions and 8 deletions

View File

@ -1224,10 +1224,7 @@ if(LIBBROTLIDEC_FOUND AND LIBBROTLIENC_FOUND)
target_link_libraries(dwarfs_common PRIVATE PkgConfig::LIBBROTLIDEC PkgConfig::LIBBROTLIENC) target_link_libraries(dwarfs_common PRIVATE PkgConfig::LIBBROTLIDEC PkgConfig::LIBBROTLIENC)
endif() endif()
if(NOT STATIC_BUILD_DO_NOT_USE) target_link_libraries(dwarfs_extractor PRIVATE PkgConfig::LIBARCHIVE)
target_link_libraries(dwarfs_extractor PUBLIC PkgConfig::LIBARCHIVE)
# target_link_libraries(dwarfs_writer PkgConfig::LIBMAGIC)
endif(NOT STATIC_BUILD_DO_NOT_USE)
if(DWARFS_USE_EXCEPTION_TRACER) if(DWARFS_USE_EXCEPTION_TRACER)
add_library( add_library(
@ -1257,7 +1254,7 @@ endforeach()
target_link_libraries(mkdwarfs_main PRIVATE dwarfs_reader dwarfs_writer) target_link_libraries(mkdwarfs_main PRIVATE dwarfs_reader dwarfs_writer)
target_link_libraries(dwarfsck_main PRIVATE dwarfs_reader) target_link_libraries(dwarfsck_main PRIVATE dwarfs_reader)
target_link_libraries(dwarfsextract_main PRIVATE dwarfs_extractor PkgConfig::LIBARCHIVE) target_link_libraries(dwarfsextract_main PRIVATE dwarfs_extractor)
target_link_libraries(dwarfsbench_main PRIVATE dwarfs_extractor) target_link_libraries(dwarfsbench_main PRIVATE dwarfs_extractor)
target_link_libraries(mkdwarfs PRIVATE mkdwarfs_main) target_link_libraries(mkdwarfs PRIVATE mkdwarfs_main)

View File

@ -31,6 +31,7 @@
namespace dwarfs { namespace dwarfs {
class filesystem_v2; class filesystem_v2;
class library_dependencies;
class logger; class logger;
class os_access; class os_access;
@ -44,6 +45,8 @@ class filesystem_extractor {
public: public:
filesystem_extractor(logger& lgr, os_access const& os); filesystem_extractor(logger& lgr, os_access const& os);
static void add_library_dependencies(library_dependencies& deps);
void void
open_archive(std::filesystem::path const& output, std::string const& format) { open_archive(std::filesystem::path const& output, std::string const& format) {
return impl_->open_archive(output, format); return impl_->open_archive(output, format);

View File

@ -44,6 +44,7 @@
#include <dwarfs/filesystem_extractor.h> #include <dwarfs/filesystem_extractor.h>
#include <dwarfs/filesystem_v2.h> #include <dwarfs/filesystem_v2.h>
#include <dwarfs/fstypes.h> #include <dwarfs/fstypes.h>
#include <dwarfs/library_dependencies.h>
#include <dwarfs/logger.h> #include <dwarfs/logger.h>
#include <dwarfs/options.h> #include <dwarfs/options.h>
#include <dwarfs/os_access.h> #include <dwarfs/os_access.h>
@ -430,4 +431,9 @@ filesystem_extractor::filesystem_extractor(logger& lgr, os_access const& os)
internal::filesystem_extractor_, internal::filesystem_extractor_,
logger_policies>(lgr, os)) {} logger_policies>(lgr, os)) {}
void filesystem_extractor::add_library_dependencies(
library_dependencies& deps) {
deps.add_library(::archive_version_string());
}
} // namespace dwarfs } // namespace dwarfs

View File

@ -26,8 +26,6 @@
#include <boost/program_options.hpp> #include <boost/program_options.hpp>
#include <archive.h>
#include <folly/String.h> #include <folly/String.h>
#include <dwarfs/filesystem_extractor.h> #include <dwarfs/filesystem_extractor.h>
@ -134,7 +132,7 @@ int dwarfsextract_main(int argc, sys_char** argv, iolayer const& iol) {
if (vm.count("help") or !vm.count("input")) { if (vm.count("help") or !vm.count("input")) {
library_dependencies deps; library_dependencies deps;
deps.add_common_libraries(); deps.add_common_libraries();
deps.add_library(::archive_version_string()); filesystem_extractor::add_library_dependencies(deps);
iol.out << tool_header("dwarfsextract") << deps.as_string() << "\n\n" iol.out << tool_header("dwarfsextract") << deps.as_string() << "\n\n"
<< usage << "\n" << usage << "\n"