dir_libblkid = include_directories('.', 'src')
+if not build_libblkid
+ blkid_dep = disabler()
+ blkid_static_dep = disabler()
+ subdir_done()
+endif
defs = configuration_data()
defs.set('LIBBLKID_DATE', libblkid_date)
lib_blkid_static = lib_blkid.get_static_lib()
blkid_static_dep = declare_dependency(link_with: lib_blkid_static, include_directories: '.')
-if build_libblkid
- pkgconfig.generate(lib_blkid,
- description : 'Block device id library',
- subdirs : 'blkid',
- version : pc_version)
- if meson.version().version_compare('>=0.54.0')
- meson.override_dependency('blkid', blkid_dep)
- endif
+pkgconfig.generate(lib_blkid,
+ description : 'Block device id library',
+ subdirs : 'blkid',
+ version : pc_version)
+if meson.version().version_compare('>=0.54.0')
+ meson.override_dependency('blkid', blkid_dep)
endif
conf.set_quoted('_PATH_VENDORDIR', vendordir)
conf.set('USE_VENDORDIR', vendordir == '' ? false : 1)
-build_libblkid = not get_option('build-libblkid').disabled()
+build_libblkid = not get_option('build-libblkid').require(get_option('build-libmount').allowed()).disabled()
conf.set('HAVE_LIBBLKID', build_libblkid ? 1 : false)
summary('libblkid', build_libblkid ? 'enabled' : 'disabled', section : 'components')
have_struct_statx = cc.sizeof('struct statx', prefix : '#include <sys/stat.h>') > 0
conf.set('HAVE_STRUCT_STATX', have_struct_statx ? 1 : false)
-build_libmount = not get_option('build-libmount').disabled()
+build_libmount = get_option('build-libmount').require(get_option('build-libblkid').allowed()).allowed()
+
conf.set('HAVE_LIBMOUNT', build_libmount ? 1 : false)
conf.set('USE_LIBMOUNT_SUPPORT_NAMESPACES', 1)
conf.set('USE_LIBMOUNT_MOUNTFD_SUPPORT', have_mountfd_api ? 1 : false)
conf.set('HAVE_LIBSMARTCOLS', build_libsmartcols ? 1 : false)
summary('libsmartcols', build_libsmartcols ? 'enabled' : 'disabled', section : 'components')
-build_libfdisk = not get_option('build-libfdisk').disabled()
+build_libfdisk = not get_option('build-libfdisk').require(get_option('build-libblkid').allowed()).disabled()
conf.set('HAVE_LIBFDISK', build_libfdisk ? 1 : false)
summary('libfdisk', build_libfdisk ? 'enabled' : 'disabled', section : 'components')
output : ['@BASENAME@.tab.c', '@BASENAME@.tab.h'],
arguments : ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'])
+python_module = import('python')
+python = python_module.find_installation(
+ get_option('python'),
+ required : true,
+ disabler : true)
+
meson_make_symlink = meson.current_source_dir() + '/tools/meson-make-symlink.sh'
meson_make_manpage_stub = meson.current_source_dir() + '/tools/meson-make-manpage-stub.sh'
bashcompletions += ['tunelp']
endif
+opt = not get_option('build-fstrim').disabled()
exe = executable(
'fstrim',
fstrim_sources,
link_with : [lib_common],
dependencies : [mount_dep],
install_dir : sbindir,
- install : true)
-if not is_disabler(exe)
+ install : opt,
+ build_by_default : opt)
+if opt and not is_disabler(exe)
exes += exe
manadocs += ['sys-utils/fstrim.8.adoc']
bashcompletions += ['fstrim']
bashcompletions += ['prlimit']
endif
+opt = not get_option('build-lsns').disabled()
exe = executable(
'lsns',
lsns_sources,
lib_smartcols],
dependencies : [mount_dep],
install_dir : usrbin_exec_dir,
- install : true)
-if not is_disabler(exe)
+ install : opt,
+ build_by_default : opt)
+if opt and not is_disabler(exe)
exes += exe
manadocs += ['sys-utils/lsns.8.adoc']
bashcompletions += ['lsns']
# setuid?
+opt = not get_option('build-swapon').disabled()
exe = executable(
'swapon',
swapon_sources,
lib_smartcols],
dependencies : [blkid_dep, mount_dep],
install_dir : sbindir,
- install : true)
-if not is_disabler(exe)
+ install : opt,
+ build_by_default : opt)
+if opt and not is_disabler(exe)
exes += exe
manadocs += ['sys-utils/swapon.8.adoc']
bashcompletions += ['swapon']
endif
+opt = not get_option('build-swapoff').disabled()
exe = executable(
'swapoff',
swapoff_sources,
link_with : [lib_common],
dependencies : [blkid_dep, mount_dep],
install_dir : sbindir,
- install : true)
-if not is_disabler(exe)
+ install : opt,
+ build_by_default : opt)
+if opt and not is_disabler(exe)
exes += exe
manlinks += {'swapoff.8': 'swapon.8'}
bashcompletions += ['swapoff']
manadocs += ['misc-utils/whereis.1.adoc']
bashcompletions += ['whereis']
+opt = not get_option('build-lslocks').disabled()
exe = executable(
'lslocks',
lslocks_sources,
lib_smartcols],
dependencies : [mount_dep],
install_dir : usrbin_exec_dir,
- install : true)
-if not is_disabler(exe)
+ install : opt,
+ build_by_default : opt)
+if opt and not is_disabler(exe)
exes += exe
manadocs += ['misc-utils/lslocks.8.adoc']
bashcompletions += ['lslocks']
endif
+opt = not get_option('build-lsblk').disabled()
exe = executable(
'lsblk',
lsblk_sources,
lib_tcolors,
lib_smartcols],
dependencies : [blkid_dep, lib_udev, mount_dep],
- install : true)
-if not is_disabler(exe)
+ install : opt,
+ build_by_default : opt)
+if opt and not is_disabler(exe)
exes += exe
manadocs += ['misc-utils/lsblk.8.adoc']
bashcompletions += ['lsblk']
bashcompletions += ['wipefs']
endif
+opt = not get_option('build-findmnt').disabled()
exe = executable(
'findmnt',
findmnt_sources,
link_with : [lib_common,
lib_smartcols],
dependencies : [blkid_dep, lib_udev, mount_dep],
- install : true)
-if not is_disabler(exe)
+ install : opt,
+ build_by_default : opt)
+if opt and not is_disabler(exe)
exes += exe
manadocs += ['misc-utils/findmnt.8.adoc']
bashcompletions += ['findmnt']
description : 'build fdisk(8), sfdisk(8) and cfdisk(8)')
option('build-mount', type : 'feature',
description : 'build mount(8) and umount(8)')
+option('build-swapon', type : 'feature',
+ description : 'build swapon')
+option('build-swapoff', type : 'feature',
+ description : 'build swapoff')
option('build-losetup', type : 'feature',
description : 'build losetup')
option('build-zramctl', type : 'feature',
description : 'build zramctl')
+option('build-lsns', type : 'feature',
+ description : 'build lsns')
option('build-fsck', type : 'feature',
description : 'build fsck')
option('build-partx', type : 'feature',
description : 'build cal')
option('build-logger', type : 'feature',
description : 'build logger')
+option('build-lsblk', type : 'feature',
+ description : 'build lsblk')
+option('build-lslocks', type : 'feature',
+ description : 'build lslocks')
+option('build-findmnt', type : 'feature',
+ description : 'build findmnt')
option('build-lsfd', type : 'feature',
description : 'build lsfd')
option('build-switch_root', type : 'feature',
description : 'build rfkill')
option('build-tunelp', type : 'feature',
description : 'build tunelp')
+option('build-fstrim', type : 'feature',
+ description : 'build fstrim')
option('build-kill', type : 'feature',
description : 'build kill')
option('build-last', type : 'feature',