util-linux/tools
Zbigniew Jędrzejewski-Szmek d4c880d5a4 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?
2021-03-17 15:07:27 +01:00
..
config-gen.d tools: use libcryptsetup in config-gen.d/all.conf 2021-03-17 12:45:40 +01:00
smatch-data tools: add hexdump badconv() to noreturn smatch list 2015-08-05 13:18:40 +02:00
Makemodule.am build-sys: fix chown mistake, add checkusage.sh to the dist 2017-06-26 21:00:09 +02:00
checkcompletion.sh tools: add missing checkcompletion.sh 2016-03-17 14:34:29 +01:00
checkconfig.sh tools: add usage information to checkconfig.sh 2014-02-17 14:04:35 +01:00
checkdecl.sh cleanup: Remove some spurious spaces 2019-10-01 13:01:43 +02:00
checkincludes.pl cleanup: Remove some spurious spaces 2019-10-01 13:01:43 +02:00
checklibdocs.sh build-sys: add 'make checklibdoc' 2019-04-24 18:02:39 +02:00
checkmans.sh tools: improve checkmans 2018-03-01 13:52:07 +01:00
checkusage.sh tools: add segfault detection for checkusage.sh 2017-06-29 14:04:29 +02:00
checkxalloc.sh checkxalloc: nudge regex, fix newfound instances 2012-03-20 09:44:40 +01:00
config-gen tools: make it possible to set all the fuzzing flags with config-gen 2020-08-06 12:33:11 +00:00
config-gen-functions.sh cleanup: Remove some spurious spaces 2019-10-01 13:01:43 +02:00
git-tp-sync tools: add script to load .po from translationproject.org 2016-05-25 15:28:42 +02:00
git-version-gen build-sys: use sed to substitute 2016-11-29 14:25:23 +01:00
ko-release-gen cleanup: Remove some spurious spaces 2019-10-01 13:01:43 +02:00
ko-release-push cleanup: Remove some spurious spaces 2019-10-01 13:01:43 +02:00
meson-make-symlink.sh meson: add second build system 2021-03-17 15:07:27 +01:00
oss-fuzz.sh tests: add a fuzz target calling fdisk_script_read_file 2020-08-10 23:30:50 +00:00