WIP: Add support to meson build system
The following patch series:
- Add suppor to meson build system;
- Drop support to autotools build system;
If we decide to go for it, there's still work to be done in libvirt-jenkins-ci as it has to have meson support added there.
Changes since v2: https://www.redhat.com/archives/libosinfo/2019-July/msg00041.html
- Added libsoup as dependency
- Included only osinfo-db-tools.spec into the tarball, so
rpmbuild -ta $tarball.tar.xz
would still work - Rebased atop of master after the release
- Bumped the version due to the release
Changes since v1: https://www.redhat.com/archives/libosinfo/2019-June/msg00063.html
- Improve commit message in the patch dropping config.h
- Some cleanups on cfg.mk were done;
- In order to do so, a patch indentng includes/defines in util.h was needed;
- Updated maint.mk in order to avoid doing de s/$(SED)/sed hack;
- Added the .spec files to the generated tarball;
- Don't purge the git checkout, just delete the build dir when
running
./prepare-release
; - Moved GNUmakefile, cfg.mk, and maint.mk to build-aux dir;
- Introduced a new patch dropping the non-valid configure options, as it makes clear that we're not removing them just because we are switching to meson;
A few points that still have to be considered:
-
meson version in the major distros:
- Fedora 29 - 0.50.0
- Fedora 30 - 0.50.1
- Debian 9 - 0.37.1
- Debian 10 - 0.49.2
- OpenSUSE 15.1 - 0.51.0
- Ubuntu 18.04 - 0.45.1-2
- Ubuntu 18.10 - 0.47.2
- Ubuntu 19.04 - 0.49.0
- FreeBSD - 0.51.0
- This is what internet returns me as part of devel/meson
- CentOS 7 - not present
- EPEL: 0.47.2 If we do the switch, we'd stop building on:
- Debian 9 & older;
- Ubuntu 18.10 & older;
- EL 7 & older;
For osinfo-db-tools, I truly believe it's not a big deal, as it'd be for more important packages (as libvirt).
-
meson support on libvirt-jenkins-ci:
- I'll happily work on that before having these patches merged, and this is the reason why this branch is still marked as WIP. However, reviews are welcome.
-
can we have a more generic/simplified version of GNUmakefile & friends?
- That would take me some considerable amount of time to do and, although I'm not discarding this for the future, it's not something I'd like to consider for now.