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

[RFC] Enable meson build #955

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

AndreasFuchsTPM
Copy link
Member

This is a very first attempt at building things with meson. I have to say, the speedup on repeated compiles is very nice...

For usage examples please see .travis.yml

Please review, and tell me what we are lacking...

Known issues:

  • Missing: Creating and installing *.pc files
  • Fixing up man page installation

@AndreasFuchsTPM
Copy link
Member Author

Issue:

  • In meson-options.txt use type:combo for maxloglevel instead of type:string


before_script:
- ./bootstrap

script:
# if we are building with meson, only the next 5 lines are executed
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment does not seem to be accurate--it is more than 5 lines that are executed for Meson builds.

Copy link
Contributor

@danintel danintel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor comment.

@tstruk
Copy link
Contributor

tstruk commented Apr 10, 2018

@AndreasFuchsSIT Is this supposed to be used for travis builds only? Autotools also makes reasonable good job on repeated build in development environment, and I think we have no choice, but to use autotools for distro packaging.

@martinezjavier
Copy link
Contributor

martinezjavier commented Apr 10, 2018

@tstruk many (most?) open source projects are migrating from autootols to meson, so I think that @AndreasFuchsSIT effort makes a lot of sense.

I haven't worked with meson yet but have only heard good things about it. Can't say the same about autootols. I always struggle with it, even after being developing on Linux systems for more than 10 years...

You are correct though, that sometimes we don't have a choice for distro packaging. For fast moving distros this isn't a problem, but it is for enterprise distros where meson support isn't available.

I think that an option is to have both build systems in place for some time and eventually drop autools support. @AndreasFuchsSIT it's that your plan or the goal is to drop autootols as soon as your RFC branch is ready for merging?

@AndreasFuchsTPM
Copy link
Member Author

@tstruk It's intended as actual build system for everyone.
I've seen Gnome as well as systemd move over to meson and completely ditch autotools...

@martinezjavier Exactly, I wanted to keep introduce it as an alternative for now. That's also why I added meson as a test-matrix into travis...

Being an autotools-fanboy not wanting to migrate (at least for cmake), I can tell you that meson was highly impressive...

I guess it will be pain to have 3 systems now, autotools, VS and meson, but in the log run, meson can also create VS files if I read this correctly (still learning)...

@danintel
Copy link
Contributor

I haven't seen Meson used before but from what I see it's a lot better than Autotools/Automake. X Windows moved from imake templates to Autotools and plans to move to Meson.

@AndreasFuchsTPM AndreasFuchsTPM force-pushed the mesonbuild branch 4 times, most recently from a7bcac6 to 7c1e860 Compare April 20, 2018 13:46
This adds meson build files.

Signed-off-by: Andreas Fuchs <[email protected]>
@AndreasFuchsTPM
Copy link
Member Author

I think this is now maturing slowly...
Not contains:

  • Installation of headers
  • Documentation in INSTALL.md
  • Support for ninja dist in travis build

It would be great, if folks would test this and also point out any meson-options.txt entries I'm missing.

@flihp
Copy link
Contributor

flihp commented Apr 20, 2018

IMHO this is less about "if" and more about "when". The build system requirements I was working off when I chose autotools in the beginning:

  1. friendly to upstream packagers (adoption by distros is autotoolification of Linux build #1 success metric IMHO)
  2. flexible parallel test harness support
  3. consistency across the projects

... and that's about it.

Personally I don't want to support multiple build systems. VS solution files are a necessary evil and if we can get rid of them as we migrate to meson I'll be very happy. Autotools should go away on the same schedule.

We should also consider timing for this change. Probably something we should consider between minor releases of the 2.x code base (when that starts happening).

@tstruk
Copy link
Contributor

tstruk commented May 11, 2018

Closing this for now. We can come back to meson after 2.0 is out.

@tstruk tstruk closed this May 11, 2018
@AndreasFuchsTPM AndreasFuchsTPM deleted the mesonbuild branch August 29, 2018 12:01
@AndreasFuchsTPM AndreasFuchsTPM restored the mesonbuild branch May 23, 2023 07:26
@AndreasFuchsTPM
Copy link
Member Author

I intend to start working on this again, so re-opening

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.

5 participants