Skip to content

Conversation

@pobrn
Copy link
Contributor

@pobrn pobrn commented Jun 7, 2025

I would like to propose adding meson build system support to isolate. Many projects use it, it has a python-like syntax, and in my opinion much easier to grasp than makefiles. It also has a lot of convenience functions related to dependency lookups, etc.

Thoughts? This is not entirely completely, but I have been using this without issues.

@gollux
Copy link
Member

gollux commented Jun 7, 2025

I don't think it helps: the meson build does not look easier to use/maintain than the rather simple Makefile we have.

I also appreciate that the current Makefile makes it clear with what flags we run gcc.

In general, I don't think we should maintain configuration for two build systems as it's an unnecessary burden to keep them synchronized. I don't object to switching to another build system altogether, but only if it brings some benefits.

@pobrn
Copy link
Contributor Author

pobrn commented Jun 7, 2025

I don't think it helps: the meson build does not look easier to use/maintain than the rather simple Makefile we have.

That's definitely subjective, yes. I would personally take a meson build file almost every day over a Makefile.

I also appreciate that the current Makefile makes it clear with what flags we run gcc.

Running ninja -C build -v or meson compile -C build --ninja-args=-v lists all commands. But admittedly you have to make more effort.

I don't object to switching to another build system altogether, but only if it brings some benefits.

The motivation was that the current Makefile does not install the systemd files. So I took that opportunity to try meson. In any case, that is missing from the Makefile.

I feel that meson provides a more "familiar" interface, while every makefile tends to have its quirks and differences. For example, it provides a buildtype option to set debug/release/etc. build types; it also makes it easy to use sanitizers. And should tests ever be added, they can also be integrated easily. What I like apart from the more uniform interface is that it generates "compile_commands.json", which works nicely with clangd, clang-tidy, etc.

Naturally I understand this ultimately comes down to personal preference, so I am awaiting your questions or decision.

@gollux
Copy link
Member

gollux commented Jun 7, 2025

I know that I can ask meson to list the commands. But it lists them for the current machine, while I want to understand what is used in general.

I prefer to keep using make for the time being.

@pobrn
Copy link
Contributor Author

pobrn commented Jun 11, 2025

Okay, I will keep this working for the foreseeable future, but feel free to close the PR.

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