mirror of
https://github.com/mhx/dwarfs.git
synced 2025-09-11 05:23:29 -04:00
Allow FUSE2 with static builds
This commit is contained in:
parent
72a172b3c0
commit
c29c40a271
@ -85,7 +85,12 @@ endif()
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
|
||||
pkg_check_modules(FUSE3 REQUIRED IMPORTED_TARGET fuse3>=3.4.1)
|
||||
if(STATIC_BUILD_DO_NOT_USE)
|
||||
pkg_check_modules(FUSE REQUIRED IMPORTED_TARGET fuse>=2.9.9)
|
||||
else()
|
||||
pkg_check_modules(FUSE3 REQUIRED IMPORTED_TARGET fuse3>=3.4.1)
|
||||
endif()
|
||||
|
||||
pkg_check_modules(LIBLZ4 IMPORTED_TARGET liblz4>=1.8.3)
|
||||
pkg_check_modules(LIBLZMA IMPORTED_TARGET liblzma>=5.2.4)
|
||||
|
||||
@ -350,8 +355,13 @@ foreach(tgt dwarfs ${BINARY_TARGETS})
|
||||
add_dependencies(${tgt} metadata_thrift)
|
||||
endforeach()
|
||||
|
||||
target_compile_definitions(dwarfs-bin PRIVATE FUSE_USE_VERSION=35
|
||||
_FILE_OFFSET_BITS=64)
|
||||
target_compile_definitions(dwarfs-bin PRIVATE _FILE_OFFSET_BITS=64)
|
||||
|
||||
if(STATIC_BUILD_DO_NOT_USE)
|
||||
target_compile_definitions(dwarfs-bin PRIVATE FUSE_USE_VERSION=29)
|
||||
else()
|
||||
target_compile_definitions(dwarfs-bin PRIVATE FUSE_USE_VERSION=35)
|
||||
endif()
|
||||
|
||||
target_link_libraries(
|
||||
dwarfs
|
||||
@ -390,7 +400,7 @@ add_custom_target(mount.dwarfs ALL COMMAND ${CMAKE_COMMAND} -E create_symlink
|
||||
if(STATIC_BUILD_DO_NOT_USE)
|
||||
# This is a proper mess, but it does work somehow...
|
||||
set(CMAKE_CXX_LINK_EXECUTABLE
|
||||
"g++ -static -static-libgcc -static-libstdc++ <OBJECTS> -o <TARGET> -Wl,-allow-multiple-definition libdwarfs.a -Wl,-Bstatic /usr/lib/x86_64-linux-gnu/libfuse3.a libmetadata_thrift.a libthrift_light.a folly/libfolly.a /usr/lib/x86_64-linux-gnu/libfmt.a /usr/lib/x86_64-linux-gnu/libboost_context.a /usr/lib/x86_64-linux-gnu/libboost_regex.a /usr/lib/x86_64-linux-gnu/libboost_thread.a /usr/lib/x86_64-linux-gnu/libboost_atomic.a /usr/lib/x86_64-linux-gnu/libdouble-conversion.a /usr/lib/x86_64-linux-gnu/libgflags.a /usr/lib/x86_64-linux-gnu/libglog.a /usr/lib/x86_64-linux-gnu/libevent.a /usr/lib/x86_64-linux-gnu/libz.a /usr/lib/x86_64-linux-gnu/libssl.a /usr/lib/x86_64-linux-gnu/libcrypto.a /usr/lib/x86_64-linux-gnu/libiberty.a /usr/lib/x86_64-linux-gnu/libiberty.a /usr/lib/x86_64-linux-gnu/libunwind.a /usr/lib/gcc/x86_64-linux-gnu/10/libatomic.a /usr/lib/x86_64-linux-gnu/libboost_date_time.a /usr/lib/x86_64-linux-gnu/libboost_filesystem.a /usr/lib/x86_64-linux-gnu/libboost_program_options.a /usr/lib/x86_64-linux-gnu/libboost_system.a zstd/build/cmake/lib/libzstd.a /usr/lib/x86_64-linux-gnu/liblz4.a /usr/lib/x86_64-linux-gnu/liblzma.a /usr/lib/x86_64-linux-gnu/libz.a /usr/lib/x86_64-linux-gnu/libpthread.a /usr/lib/x86_64-linux-gnu/libdl.a /usr/lib/x86_64-linux-gnu/libc.a /usr/lib/x86_64-linux-gnu/libm.a /usr/lib/x86_64-linux-gnu/librt.a"
|
||||
"g++ -static -static-libgcc -static-libstdc++ <OBJECTS> -o <TARGET> -Wl,-allow-multiple-definition libdwarfs.a -Wl,-Bstatic /usr/lib/x86_64-linux-gnu/libfuse.a libmetadata_thrift.a libthrift_light.a folly/libfolly.a /usr/lib/x86_64-linux-gnu/libfmt.a /usr/lib/x86_64-linux-gnu/libboost_context.a /usr/lib/x86_64-linux-gnu/libboost_regex.a /usr/lib/x86_64-linux-gnu/libboost_thread.a /usr/lib/x86_64-linux-gnu/libboost_atomic.a /usr/lib/x86_64-linux-gnu/libdouble-conversion.a /usr/lib/x86_64-linux-gnu/libgflags.a /usr/lib/x86_64-linux-gnu/libglog.a /usr/lib/x86_64-linux-gnu/libevent.a /usr/lib/x86_64-linux-gnu/libz.a /usr/lib/x86_64-linux-gnu/libssl.a /usr/lib/x86_64-linux-gnu/libcrypto.a /usr/lib/x86_64-linux-gnu/libiberty.a /usr/lib/x86_64-linux-gnu/libiberty.a /usr/lib/x86_64-linux-gnu/libunwind.a /usr/lib/gcc/x86_64-linux-gnu/10/libatomic.a /usr/lib/x86_64-linux-gnu/libboost_date_time.a /usr/lib/x86_64-linux-gnu/libboost_filesystem.a /usr/lib/x86_64-linux-gnu/libboost_program_options.a /usr/lib/x86_64-linux-gnu/libboost_system.a zstd/build/cmake/lib/libzstd.a /usr/lib/x86_64-linux-gnu/liblz4.a /usr/lib/x86_64-linux-gnu/liblzma.a /usr/lib/x86_64-linux-gnu/libz.a /usr/lib/x86_64-linux-gnu/libpthread.a /usr/lib/x86_64-linux-gnu/libdl.a /usr/lib/x86_64-linux-gnu/libc.a /usr/lib/x86_64-linux-gnu/libm.a /usr/lib/x86_64-linux-gnu/librt.a"
|
||||
)
|
||||
else()
|
||||
target_link_libraries(dwarfs-bin PkgConfig::FUSE3)
|
||||
|
@ -30,7 +30,11 @@
|
||||
#include <folly/Conv.h>
|
||||
#include <folly/experimental/symbolizer/SignalHandler.h>
|
||||
|
||||
#if DWARFS_STATIC_BUILD
|
||||
#include <fuse/fuse_lowlevel.h>
|
||||
#else
|
||||
#include <fuse3/fuse_lowlevel.h>
|
||||
#endif
|
||||
|
||||
#include "dwarfs/error.h"
|
||||
#include "dwarfs/filesystem_v2.h"
|
||||
@ -569,7 +573,8 @@ int main(int argc, char* argv[]) {
|
||||
? folly::to<double>(s_opts.decompress_ratio_str)
|
||||
: 0.8;
|
||||
|
||||
LOG_INFO << "dwarfs (" << DWARFS_VERSION << ")";
|
||||
LOG_INFO << "dwarfs (" << DWARFS_VERSION << ", fuse version "
|
||||
<< FUSE_USE_VERSION << ")";
|
||||
|
||||
if (!s_opts.seen_mountpoint) {
|
||||
usage(s_opts.progname);
|
||||
|
Loading…
x
Reference in New Issue
Block a user