Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a meson build system for bees #211

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open

Conversation

kepstin
Copy link

@kepstin kepstin commented Dec 22, 2021

To assist in packaging and make the installation process a bit more predictable (I can read Makefiles, but I don't like to read Makefiles…) I've created a build system for bees using meson.

As best I can tell, it correctly builds the applications, documentation, and runs tests. If you use meson configure --sysconfdir=/etc --prefix=/usr then it will match the install locations of the current make install.

Some options are provided (see meson_options.txt) to allow enabling/disabling some optional features - generating html documentation, installing systemd unit files, and installing the extra fiemap and fiewalk tools.

Some of the file generation that was previously done with sed and shell in the makefiles is done with python scripts in the meson build. Since meson is present, we're guaranteed to have a python, and it is a bit easier to work with external scripts in the meson build system then attempt to do inline shell.

meson.build Outdated Show resolved Hide resolved
docs/meson.build Outdated Show resolved Hide resolved
* Use the find_program function to find python rather than load the
  whole python module.
* Adjust python scripts to write directly to an output file rather than
  requiring the meson wrapper for capture.
* Move the python scripts to the custom_target command array rather than
  input files.

Changes thanks to review by Eli Schwartz.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants