util-linux/meson_options.txt

204 lines
7.8 KiB
Meson
Raw Permalink Normal View History

meson: add second build system To build: meson build && ninja -C build To run tests: ninja -C build check To install for packaging: DESTDIR=/var/tmp/inst ninja -C build install To install for realz: sudo ninja -C build install v2: - Optional items are now based on the 'feature' feature in meson. Built libraries which are disabled turn into disabler() objects and also poison any executables which link to them. What is there: - building of the binaries and libs and the python module - installation of binaries, libs, python module, localization files, man pages, pkgconfig files - running of tests - most options to configure build equivalently to the ./configure settings Partially implemented: - disabling of stuff when things missing. In the C code, the defines are all used, so that should be fine. In the build system, some files should be skipped, but that is probably not always done properly. Getting this right might require some testing of various build option combinations to get the details right. Not implemented: - static builds of fdisk and other binaries - things marked with XXX or FIXME - ??? Differences: - .la files are not created. They are useless and everybody hates them. - Requires.private in pkgconfig files are not present in the autogenerated .pc file. Not sure if they should be there or not. If necessary, they can be added by hand. - man pages and systemd units are installed by the install target. Not sure why 'make install' doesn't do that. - the split between / and /usr is probably wrong. But it's all pointless anyway, so maybe we could simplify things but not implementing it at all under meson?
2020-02-23 12:42:55 -06:00
# enable various dependencies (no prefixes)
option('tinfo', type : 'feature')
option('ncursesw', type : 'feature')
option('ncurses', type : 'feature')
option('slang', type : 'feature', value : 'disabled',
description : 'compile cfdisk with slang rather than ncurses')
option('cryptsetup', type : 'feature')
option('cryptsetup-dlopen', type : 'feature')
meson: add second build system To build: meson build && ninja -C build To run tests: ninja -C build check To install for packaging: DESTDIR=/var/tmp/inst ninja -C build install To install for realz: sudo ninja -C build install v2: - Optional items are now based on the 'feature' feature in meson. Built libraries which are disabled turn into disabler() objects and also poison any executables which link to them. What is there: - building of the binaries and libs and the python module - installation of binaries, libs, python module, localization files, man pages, pkgconfig files - running of tests - most options to configure build equivalently to the ./configure settings Partially implemented: - disabling of stuff when things missing. In the C code, the defines are all used, so that should be fine. In the build system, some files should be skipped, but that is probably not always done properly. Getting this right might require some testing of various build option combinations to get the details right. Not implemented: - static builds of fdisk and other binaries - things marked with XXX or FIXME - ??? Differences: - .la files are not created. They are useless and everybody hates them. - Requires.private in pkgconfig files are not present in the autogenerated .pc file. Not sure if they should be there or not. If necessary, they can be added by hand. - man pages and systemd units are installed by the install target. Not sure why 'make install' doesn't do that. - the split between / and /usr is probably wrong. But it's all pointless anyway, so maybe we could simplify things but not implementing it at all under meson?
2020-02-23 12:42:55 -06:00
option('zlib', type : 'feature')
option('readline', type : 'feature')
option('libutil', type : 'feature')
option('libutempter', type : 'feature')
option('libpcre2-posix', type : 'feature')
meson: add second build system To build: meson build && ninja -C build To run tests: ninja -C build check To install for packaging: DESTDIR=/var/tmp/inst ninja -C build install To install for realz: sudo ninja -C build install v2: - Optional items are now based on the 'feature' feature in meson. Built libraries which are disabled turn into disabler() objects and also poison any executables which link to them. What is there: - building of the binaries and libs and the python module - installation of binaries, libs, python module, localization files, man pages, pkgconfig files - running of tests - most options to configure build equivalently to the ./configure settings Partially implemented: - disabling of stuff when things missing. In the C code, the defines are all used, so that should be fine. In the build system, some files should be skipped, but that is probably not always done properly. Getting this right might require some testing of various build option combinations to get the details right. Not implemented: - static builds of fdisk and other binaries - things marked with XXX or FIXME - ??? Differences: - .la files are not created. They are useless and everybody hates them. - Requires.private in pkgconfig files are not present in the autogenerated .pc file. Not sure if they should be there or not. If necessary, they can be added by hand. - man pages and systemd units are installed by the install target. Not sure why 'make install' doesn't do that. - the split between / and /usr is probably wrong. But it's all pointless anyway, so maybe we could simplify things but not implementing it at all under meson?
2020-02-23 12:42:55 -06:00
option('libuser', type : 'feature')
option('selinux', type : 'feature', value : 'disabled')
option('audit', type : 'feature', value : 'disabled')
option('smack', type : 'feature', value : 'disabled')
option('magic', type : 'feature')
option('econf', type : 'feature')
meson: add second build system To build: meson build && ninja -C build To run tests: ninja -C build check To install for packaging: DESTDIR=/var/tmp/inst ninja -C build install To install for realz: sudo ninja -C build install v2: - Optional items are now based on the 'feature' feature in meson. Built libraries which are disabled turn into disabler() objects and also poison any executables which link to them. What is there: - building of the binaries and libs and the python module - installation of binaries, libs, python module, localization files, man pages, pkgconfig files - running of tests - most options to configure build equivalently to the ./configure settings Partially implemented: - disabling of stuff when things missing. In the C code, the defines are all used, so that should be fine. In the build system, some files should be skipped, but that is probably not always done properly. Getting this right might require some testing of various build option combinations to get the details right. Not implemented: - static builds of fdisk and other binaries - things marked with XXX or FIXME - ??? Differences: - .la files are not created. They are useless and everybody hates them. - Requires.private in pkgconfig files are not present in the autogenerated .pc file. Not sure if they should be there or not. If necessary, they can be added by hand. - man pages and systemd units are installed by the install target. Not sure why 'make install' doesn't do that. - the split between / and /usr is probably wrong. But it's all pointless anyway, so maybe we could simplify things but not implementing it at all under meson?
2020-02-23 12:42:55 -06:00
option('systemd', type : 'feature')
option('btrfs', type : 'feature')
option('widechar', type : 'feature',
description : 'compile with wide character support')
# enable building of various programs and features ("build-" prefix)
option('build-python', type : 'feature', value : 'auto',
description : 'build python extension module')
option('python', type : 'string', value : 'python3',
description : 'build extension module for this python')
option('build-libblkid', type : 'feature',
description : 'build libblkid and many related utilities')
option('build-libuuid', type : 'feature',
description : 'build libuuid and uuid utilities')
option('build-libmount', type : 'feature',
description : 'build libmount')
option('build-libsmartcols', type : 'feature',
description : 'build libsmartcols')
option('build-libfdisk', type : 'feature',
description : 'build libfdisk')
option('build-fdisks', type : 'feature',
description : 'build fdisk(8), sfdisk(8) and cfdisk(8)')
option('build-mount', type : 'feature',
description : 'build mount(8) and umount(8)')
option('build-losetup', type : 'feature',
description : 'build losetup')
option('build-zramctl', type : 'feature',
description : 'build zramctl')
option('build-fsck', type : 'feature',
description : 'build fsck')
option('build-partx', type : 'feature',
description : 'build addpart, delpart, partx')
option('build-uuidd', type : 'feature',
description : 'build the uuid daemon')
option('build-wipefs', type : 'feature',
description : 'build wipefs')
option('build-mountpoint', type : 'feature',
description : 'build mountpoint')
option('build-fallocate', type : 'feature',
description : 'build fallocate')
option('build-unshare', type : 'feature',
description : 'build unshare')
option('build-nsenter', type : 'feature',
description : 'build nsenter')
option('build-setpriv', type : 'feature',
description : 'build setpriv')
option('build-hardlink', type : 'feature',
description : 'build hardlink')
option('build-eject', type : 'feature',
description : 'build eject')
option('build-agetty', type : 'feature',
description : 'build agetty')
option('build-cramfs', type : 'feature',
description : 'build fsck.cramfs, mkfs.cramfs')
option('build-bfs', type : 'feature',
description : 'build mkfs.bfs')
option('build-minix', type : 'feature',
description : 'build fsck.minix, mkfs.minix')
option('build-fdformat', type : 'feature', value : 'disabled',
meson: add second build system To build: meson build && ninja -C build To run tests: ninja -C build check To install for packaging: DESTDIR=/var/tmp/inst ninja -C build install To install for realz: sudo ninja -C build install v2: - Optional items are now based on the 'feature' feature in meson. Built libraries which are disabled turn into disabler() objects and also poison any executables which link to them. What is there: - building of the binaries and libs and the python module - installation of binaries, libs, python module, localization files, man pages, pkgconfig files - running of tests - most options to configure build equivalently to the ./configure settings Partially implemented: - disabling of stuff when things missing. In the C code, the defines are all used, so that should be fine. In the build system, some files should be skipped, but that is probably not always done properly. Getting this right might require some testing of various build option combinations to get the details right. Not implemented: - static builds of fdisk and other binaries - things marked with XXX or FIXME - ??? Differences: - .la files are not created. They are useless and everybody hates them. - Requires.private in pkgconfig files are not present in the autogenerated .pc file. Not sure if they should be there or not. If necessary, they can be added by hand. - man pages and systemd units are installed by the install target. Not sure why 'make install' doesn't do that. - the split between / and /usr is probably wrong. But it's all pointless anyway, so maybe we could simplify things but not implementing it at all under meson?
2020-02-23 12:42:55 -06:00
description : 'build fdformat')
option('build-hwclock', type : 'feature',
description : 'build hwclock')
option('build-lslogins', type : 'feature',
description : 'build lslogins')
option('build-wdctl', type : 'feature',
description : 'build wdctl')
option('build-cal', type : 'feature',
description : 'build cal')
option('build-logger', type : 'feature',
description : 'build logger')
option('build-switch_root', type : 'feature',
description : 'switch_root')
option('build-pivot_root', type : 'feature',
description : 'build pivot_root')
option('build-lsmem', type : 'feature',
description : 'build lsmem')
option('build-lsirq', type : 'feature',
description : 'build lsirq')
option('build-irqtop', type : 'feature',
description : 'build irqtop')
meson: add second build system To build: meson build && ninja -C build To run tests: ninja -C build check To install for packaging: DESTDIR=/var/tmp/inst ninja -C build install To install for realz: sudo ninja -C build install v2: - Optional items are now based on the 'feature' feature in meson. Built libraries which are disabled turn into disabler() objects and also poison any executables which link to them. What is there: - building of the binaries and libs and the python module - installation of binaries, libs, python module, localization files, man pages, pkgconfig files - running of tests - most options to configure build equivalently to the ./configure settings Partially implemented: - disabling of stuff when things missing. In the C code, the defines are all used, so that should be fine. In the build system, some files should be skipped, but that is probably not always done properly. Getting this right might require some testing of various build option combinations to get the details right. Not implemented: - static builds of fdisk and other binaries - things marked with XXX or FIXME - ??? Differences: - .la files are not created. They are useless and everybody hates them. - Requires.private in pkgconfig files are not present in the autogenerated .pc file. Not sure if they should be there or not. If necessary, they can be added by hand. - man pages and systemd units are installed by the install target. Not sure why 'make install' doesn't do that. - the split between / and /usr is probably wrong. But it's all pointless anyway, so maybe we could simplify things but not implementing it at all under meson?
2020-02-23 12:42:55 -06:00
option('build-chmem', type : 'feature',
description : 'build chmem')
option('build-ipcrm', type : 'feature',
description : 'build ipcrm')
option('build-ipcs', type : 'feature',
description : 'build ipcs')
option('build-rfkill', type : 'feature',
description : 'build rfkill')
option('build-tunelp', type : 'feature',
description : 'build tunelp')
option('build-kill', type : 'feature',
description : 'build kill')
option('build-last', type : 'feature',
description : 'build last')
option('build-utmpdump', type : 'feature',
description : 'build utmpdump')
option('build-line', type : 'feature',
description : 'build line')
option('build-mesg', type : 'feature',
description : 'build mesg')
option('build-raw', type : 'feature',
description : 'build raw')
option('build-rename', type : 'feature',
description : 'build rename')
option('build-vipw', type : 'feature',
description : 'build vipw')
option('build-newgrp', type : 'feature',
description : 'build newgrp')
option('build-chfn-chsh', type : 'feature',
description : 'build chfn and chsh')
option('build-login', type : 'feature',
description : 'build login')
option('build-nologin', type : 'feature',
description : 'build nologin')
option('build-sulogin', type : 'feature',
description : 'build sulogin')
option('build-su', type : 'feature',
description : 'build su')
option('build-runuser', type : 'feature',
description : 'build runuser')
option('build-ul', type : 'feature',
description : 'build ul')
option('build-more', type : 'feature',
description : 'build more')
option('build-pg', type : 'feature',
description : 'build pg')
option('build-setterm', type : 'feature',
description : 'build setterm')
option('build-schedutils', type : 'feature',
description : 'build chrt, ionice, taskset')
option('build-wall', type : 'feature',
description : 'build wall')
option('build-write', type : 'feature',
description : 'build write')
option('build-bash-completion', type : 'feature',
description : 'install bash completion files')
option('build-pylibmount', type : 'feature',
description : 'build pylibmount')
# static programs
option('static-programs', type : 'array',
value : [],
choices : ['losetup', 'mount', 'umount', 'fdisk', 'sfdisk', 'blkid', 'nsenter', 'unshare'],
description : 'list of programs to also build with static linking')
# feature selection and other configuration
meson: add second build system To build: meson build && ninja -C build To run tests: ninja -C build check To install for packaging: DESTDIR=/var/tmp/inst ninja -C build install To install for realz: sudo ninja -C build install v2: - Optional items are now based on the 'feature' feature in meson. Built libraries which are disabled turn into disabler() objects and also poison any executables which link to them. What is there: - building of the binaries and libs and the python module - installation of binaries, libs, python module, localization files, man pages, pkgconfig files - running of tests - most options to configure build equivalently to the ./configure settings Partially implemented: - disabling of stuff when things missing. In the C code, the defines are all used, so that should be fine. In the build system, some files should be skipped, but that is probably not always done properly. Getting this right might require some testing of various build option combinations to get the details right. Not implemented: - static builds of fdisk and other binaries - things marked with XXX or FIXME - ??? Differences: - .la files are not created. They are useless and everybody hates them. - Requires.private in pkgconfig files are not present in the autogenerated .pc file. Not sure if they should be there or not. If necessary, they can be added by hand. - man pages and systemd units are installed by the install target. Not sure why 'make install' doesn't do that. - the split between / and /usr is probably wrong. But it's all pointless anyway, so maybe we could simplify things but not implementing it at all under meson?
2020-02-23 12:42:55 -06:00
option('chfn-chsh-password',
type : 'boolean', value : true,
description : 'require the user to enter the password in chfn and chsh')
option('chsh-only-listed',
type : 'boolean', value : true,
description : 'chsh: only allow shells in /etc/shells')
option('use-tty-group',
type : 'boolean', value : true,
description : 'install wall and write setgid tty')
option('build-plymouth-support',
type : 'feature',
description : 'support plymouth feature in sulogin and agetty')
option('use-tls',
type : 'boolean', value : true,
description : 'use thread-local storage')
option('pg-bell',
type : 'boolean', value : true,
description : 'should pg ring the bell on invalid keys?')
option('fs-search-path',
type : 'string',
value : '/sbin:/sbin/fs.d:/sbin/fs',
description : 'default search path for fs helpers')
option('fs-search-path-extra',
type : 'string',
description : 'additional search path for fs helpers')
option('vendordir',
type: 'string',
description : 'directory for distribution provided econf files')