1*9e564957SAndroid Build Coastguard Workerlibfuse_sources = ['fuse.c', 'fuse_i.h', 'fuse_loop.c', 'fuse_loop_mt.c', 2*9e564957SAndroid Build Coastguard Worker 'fuse_lowlevel.c', 'fuse_misc.h', 'fuse_opt.c', 3*9e564957SAndroid Build Coastguard Worker 'fuse_signals.c', 'buffer.c', 'cuse_lowlevel.c', 4*9e564957SAndroid Build Coastguard Worker 'helper.c', 'modules/subdir.c', 'mount_util.c', 5*9e564957SAndroid Build Coastguard Worker 'fuse_log.c', 'compat.c' ] 6*9e564957SAndroid Build Coastguard Worker 7*9e564957SAndroid Build Coastguard Workerif host_machine.system().startswith('linux') 8*9e564957SAndroid Build Coastguard Worker libfuse_sources += [ 'mount.c' ] 9*9e564957SAndroid Build Coastguard Workerelse 10*9e564957SAndroid Build Coastguard Worker libfuse_sources += [ 'mount_bsd.c' ] 11*9e564957SAndroid Build Coastguard Workerendif 12*9e564957SAndroid Build Coastguard Worker 13*9e564957SAndroid Build Coastguard Workerdeps = [ thread_dep ] 14*9e564957SAndroid Build Coastguard Workerif private_cfg.get('HAVE_ICONV') 15*9e564957SAndroid Build Coastguard Worker libfuse_sources += [ 'modules/iconv.c' ] 16*9e564957SAndroid Build Coastguard Worker libiconv = cc.find_library('iconv', required: false) 17*9e564957SAndroid Build Coastguard Worker if libiconv.found() 18*9e564957SAndroid Build Coastguard Worker deps += [ libiconv ] 19*9e564957SAndroid Build Coastguard Worker endif 20*9e564957SAndroid Build Coastguard Workerendif 21*9e564957SAndroid Build Coastguard Worker 22*9e564957SAndroid Build Coastguard Workerlibdl = cc.find_library('dl', required: false) 23*9e564957SAndroid Build Coastguard Workerif libdl.found() 24*9e564957SAndroid Build Coastguard Worker deps += [ libdl ] 25*9e564957SAndroid Build Coastguard Workerendif 26*9e564957SAndroid Build Coastguard Worker 27*9e564957SAndroid Build Coastguard Workerif host_machine.system().startswith('netbsd') 28*9e564957SAndroid Build Coastguard Worker deps += [ cc.find_library('perfuse'), 29*9e564957SAndroid Build Coastguard Worker cc.find_library('puffs') ] 30*9e564957SAndroid Build Coastguard Workerelse 31*9e564957SAndroid Build Coastguard Worker # Required for clock_gettime before glibc 2.17 32*9e564957SAndroid Build Coastguard Worker deps += cc.find_library('rt') 33*9e564957SAndroid Build Coastguard Workerendif 34*9e564957SAndroid Build Coastguard Worker 35*9e564957SAndroid Build Coastguard Workerfusermount_path = join_paths(get_option('prefix'), get_option('bindir')) 36*9e564957SAndroid Build Coastguard Workerlibfuse = library('fuse3', libfuse_sources, version: meson.project_version(), 37*9e564957SAndroid Build Coastguard Worker soversion: '3', include_directories: include_dirs, 38*9e564957SAndroid Build Coastguard Worker dependencies: deps, install: true, 39*9e564957SAndroid Build Coastguard Worker link_depends: 'fuse_versionscript', 40*9e564957SAndroid Build Coastguard Worker c_args: [ '-DFUSE_USE_VERSION=312', 41*9e564957SAndroid Build Coastguard Worker '-DFUSERMOUNT_DIR="@0@"'.format(fusermount_path) ], 42*9e564957SAndroid Build Coastguard Worker link_args: ['-Wl,--version-script,' + meson.current_source_dir() 43*9e564957SAndroid Build Coastguard Worker + '/fuse_versionscript' ]) 44*9e564957SAndroid Build Coastguard Worker 45*9e564957SAndroid Build Coastguard Workerpkg = import('pkgconfig') 46*9e564957SAndroid Build Coastguard Workerpkg.generate(libraries: [ libfuse, '-lpthread' ], 47*9e564957SAndroid Build Coastguard Worker libraries_private: '-ldl', 48*9e564957SAndroid Build Coastguard Worker version: meson.project_version(), 49*9e564957SAndroid Build Coastguard Worker name: 'fuse3', 50*9e564957SAndroid Build Coastguard Worker description: 'Filesystem in Userspace', 51*9e564957SAndroid Build Coastguard Worker subdirs: 'fuse3') 52*9e564957SAndroid Build Coastguard Worker 53*9e564957SAndroid Build Coastguard Workerlibfuse_dep = declare_dependency(include_directories: include_dirs, 54*9e564957SAndroid Build Coastguard Worker link_with: libfuse, dependencies: deps) 55