On Thu, 2017-07-13 at 18:32 -0500, Bruce Dubbs wrote:
systemd-234 has been released. In the NEWS file they now want to go to a
meson build and eliminate autotools. I took a look at meson.build file on
the new systemd. The file is 2528 lines long. This is supposed to be
simplier??? WTF ???
2528 lines compared to.....?
A minimum Autotools files would be configure.ac (1863 lines) and Makefile.am
(6915).
That is a total of 8778 lines. So that would be a factor of 3 saving.
If you were to release a tarball with a configure script, that would be 25819
lines!
Looking at some meson documentation, it appears that if you want to set
some options, you have to create a file.
http://mesonbuild.com/Build-options.html. Seems like a regression to me.
That's on the dev side.
Here is my current build for gom-0.3.3.
mkdir build
cd build
meson --prefix=/usr \
-Denable-gtk-doc=true \
..
ninja
ninja test
ninja install
or you could do something like this.
meson --prefix=/usr \
-Denable-gtk-doc=true \
build
cd build
ninja
ninja test
ninja install
AFAICT, meson/ninja want to use all available cores. I have not figured
out how to limit that. For instance I want to limit the number of cores on
my laptop on long builds to prevent overheating.
In any case these developments will require a major change to LFS. Add
meson and python3 and ninja (anything else?).
Let's see.
ninja needs asciidoc for man pages. We specify python2.
meson needs python3.
python2 and 3 have libffi recommended. We will probably need to rebuild
both pythons in BLFS anyway for several optional dependencies. I don't
know if there will be any specific python modules needed.
How do rustc and cargo fit in? Right now they only seem to be needed for
firefox, but other packages may want to use them in the future.
Let's discuss.
-- Bruce
Anyway,
I'm already building two packages for Gnome that are meson only builds.
gom-0.3.3 and libgepub-0.5 (both are not in BLFS)
Epiphany 3.26 will be a meson only build.
I haven't gone through the Gnome packages so I don't know what else will be
effected,
but it looks like the Gnome devs are pushing this.
The following link shows what Arch is currently building with Meson.
https://www.archlinux.org/packages/extra/any/meson/
So either way, Meson will need to be included at least in BLFS for the next
Gnome release.
On a personal note, I've gone through the Meson tutorial on how to set up
a project with Meson, and I must say, I'm impressed.
It seems so simple compared to Autotools. Up till now, I've been using
Autotools for all my projects. I've never taken a liking to Cmake. Don't know
why.
Not that I had a look at meson.build and meson_options.txt file in detail, but
it does look simple to determine dependencies and optional parameters.
I've found that for LFS, you would only need Python3, libffi, meson, and ninja.
I don't think you need openssl as mentioned by DJ.
Regards,
Wayne.