Hi,

I've spent some time over the past couple days investigating ways to
improve efficiency during development. I came across the meson build system
(http://mesonbuild.com/), and the time comparisons to autotools made meson
seem staggeringly fast. Additionally, it seems to be quite flexible and
have cross-compilation support.

A fully functional meson build system for enlightenment can now be found in
my "meson" branch. My current benchmarks with it:

meson:
meson . build  2.05s user 0.64s system 103% cpu 2.607 total
ninja  379.02s user 60.36s system 347% cpu 2:06.31 total
sudo ninja install  2.36s user 0.35s system 98% cpu 2.746 total

autotools:
( autoreconf -fi && ./configure --prefix=/usr --libdir=/usr/lib64 )  16.46s
user 2.74s system 96% cpu 19.830 total
make -j16  536.93s user 145.03s system 349% cpu 3:15.22 total
sudo make -j16 install  11.75s user 2.16s system 165% cpu 8.427 total


As seen above, this saves me over a minute for each rebuild, and I will
likely merge it into the main tree soon if no major issues are reported.


Known (unfixable) issue:
* If you have a configured source directory (ie. you have run ./configure),
the build may error due to inclusion of conflicting headers generated from
autotools and headers generated from meson. make clean will not delete
these headers; they require manual deletion or maintainer-clean.


To use after pulling meson branch:
1. <Install meson+ninja>
2. cd enlightenment
3. meson . build && cd build
3.5. [optional] mesonconf -D[option]=[value] (most options are now, instead
of --enable-option, -Doption=true; all options listed when running
mesonconf with no params)
4. ninja
5. sudo ninja install
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to