Experiment to build with Meson #119

Merged
jpakkane merged 2 commits from meson into master 2017-06-20 00:03:01 +00:00
jpakkane commented 2017-06-19 08:23:15 +00:00 (Migrated from github.com)

Hi

I was asked to submit this for consideration. This MR adds Meson build definitions to pgkconf. Some features:

  • tested to build and install on Linux
  • should work on Windows as well (including MSVC)
  • shared library versioning is missing
  • test suite is not run

Meson is being adopted by other low level Linux userland packages such as systemd, so it should be available in most scenarios.

Hi I was asked to submit this for consideration. This MR adds Meson build definitions to pgkconf. Some features: - tested to build and install on Linux - should work on Windows as well (including MSVC) - shared library versioning is missing - test suite is not run Meson is being adopted by other low level Linux userland packages such as systemd, so it should be available in most scenarios.
ignatenkobrain commented 2017-06-19 08:29:32 +00:00 (Migrated from github.com)

That was me who asked this, so I think it makes sense to replace cmake with meson part (and probably even autotools with meson).

That was me who asked this, so I think it makes sense to replace cmake with meson part (and probably even autotools with meson).

@dankegel what do you think of this instead?

@jpakkane @ignatenkobrain because meson requires python, how does this change the bootstrap situation? pkgconf is built quite early, much like systemd would be.

@dankegel what do you think of this instead? @jpakkane @ignatenkobrain because meson requires python, how does this change the bootstrap situation? pkgconf is built quite early, much like systemd would be.
jpakkane commented 2017-06-19 18:02:55 +00:00 (Migrated from github.com)

how does this change the bootstrap situation

For cross building not in any way as the build machine is going to have Python 3 (or it is simple to install). For native building the only requirement is that Python 3 and Ninja are invokable. FWICT systemd uses pkgconf so this might require building Python a bit earlier than currently (I'm not aware how early Python is built currently). I've been told that recent Python 3 versions are a lot easier to cross build than old versions were so this should be a fairly low effort change.

> how does this change the bootstrap situation For cross building not in any way as the build machine is going to have Python 3 (or it is simple to install). For native building the only requirement is that Python 3 and Ninja are invokable. FWICT systemd uses pkgconf so this might require building Python a bit earlier than currently (I'm not aware how early Python is built currently). I've been told that recent Python 3 versions are a lot easier to cross build than old versions were so this should be a fairly low effort change.

okay, so it seems like we can just cross-build pkgconf using meson, and that solves building a bootstrap image without having to worry about python (as python can be rebuilt on the host at a later point).

that makes sense, and it seems fine to me.

lets rip out cmake & autotools build systems and just use meson then.

okay, so it seems like we can just cross-build pkgconf using meson, and that solves building a bootstrap image without having to worry about python (as python can be rebuilt on the host at a later point). that makes sense, and it seems fine to me. lets rip out cmake & autotools build systems and just use meson then.
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: ariadne/pkgconf#119
There is no content yet.