xref: /aosp_15_r20/external/libfuse/lib/meson.build (revision 9e5649576b786774a32d7b0252c9cd8c6538fa49)
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