util-linux/misc-utils/meson.build

127 lines
1.6 KiB
Meson
Raw 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
cal_sources = files(
'cal.c',
)
logger_sources = files(
'logger.c',
) + \
strutils_c + \
strv_c
look_sources = files(
'look.c',
)
mcookie_sources = files(
'mcookie.c',
) + \
md5_c
namei_sources = files(
'namei.c',
) + \
strutils_c + \
idcache_c
whereis_sources = files(
'whereis.c',
)
lslocks_sources = files(
'lslocks.c',
)
lsblk_sources = files(
'lsblk.c',
'lsblk-mnt.c',
'lsblk-properties.c',
'lsblk-devtree.c',
'lsblk.h',
)
uuidgen_sources = files(
'uuidgen.c',
)
uuidparse_sources = files(
'uuidparse.c',
)
uuidd_sources = files(
'uuidd.c',
) + \
monotonic_c + \
timer_c
test_uuidd_sources = files(
'test_uuidd.c',
)
if build_uuidd
uuidd_service = configure_file(
input : 'uuidd.service.in',
output : 'uuidd.service',
configuration : conf)
install_data(
uuidd_service,
install_dir : systemdsystemunitdir)
uuidd_socket = configure_file(
input : 'uuidd.socket.in',
output : 'uuidd.socket',
configuration : conf)
install_data(
uuidd_socket,
install_dir : systemdsystemunitdir)
endif
blkid_sources = files(
'blkid.c',
) + \
ismounted_c
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
findfs_sources = files(
'findfs.c',
)
wipefs_sources = files(
'wipefs.c',
)
findmnt_sources = files(
'findmnt.c',
'findmnt-verify.c',
'findmnt.h',
)
kill_sources = files(
'kill.c',
)
rename_sources = files(
'rename.c',
)
getopt_sources = files(
'getopt.c',
)
install_data(
'getopt-example.bash',
'getopt-example.tcsh',
install_dir : 'doc',
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
install_mode: 'rwxr-xr-x')
fincore_sources = files(
'fincore.c',
)
hardlink_sources = files(
'hardlink.c',
) + \
monotonic_c
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
cal_sources = files(
'cal.c',
)