Hi to all, Emanoil, Michael,
the question of change from classic make to ninja-build we discussed with
Michele in jabber room during pull requests TDE/tde-packaging#79 and
TDE/tde-packaging#81. See:
https://mirror.git.trinitydesktop.org/gitea/TDE/tde-packaging/pulls/79
https://mirror.git.trinitydesktop.org/gitea/TDE/tde-packaging/pulls/81
Ninja-build has been successfully used for a long time as the default for
our CMake builds on FreeBSD. During testing on deb packages, I observed,
for example, the acceleration of tde-i18n building from 20 to 10 minutes,
tdelibs for armhf from 25 to 19 minutes. It is obvious that ninja-build
can better deal with a large number of build targets and parallel building
compared to classic make.
BTW, before a long time I tested the creation of central CMakeLists.txt in
tde-i18n - to allow all languages to be built by one CMake and make call.
But with classic make it became completely unthinkable because every
launch of classic make requested approximately 20 minutes before anything
started. That is why I had to leave this idea at that time. Now I look
forward to the same task I can test with ninja-build.
Don't forget that I have to build many packages for many distributions and
architectures on my builders. Therefore, every acceleration is useful. The
ninja-build package is already part of Debian from Jessie. Therefore, we
did not expect any complications to prevent change. In any case, classic
make support is not canceled. If you remove ninja-build from Build-Depends
in "control" file, the classic make will be used automatically.
Hi all,
on top of Slavek's comment, ninja-build is just another tool that is available out
there.
We looked at pros/cons and in the end it provide a decent improvement on build times.
So if a tool is good to make TDE better, it is definitely worth considering it. The same
was for gitea, weblate, cmake
and so on.
To be honest, I was a bit surprised to see such strong response on the mailing list for a
relatively small change. End
users won't see much of a different, packages are the same. And the build logic is
done by cmake in the same way.
ninja-build is just a worker doing what cmake tell it to do, just it does the job faster
than make and with better
progress feedback. And even at 20%, it is a considerable time gain when you have to build
for 40-60 distro/arch pais (I
don't even know the exact number now, Slavek can confirm that is needed - but it is a
lot of building for sure :-) ).
In the end, we want to do what we believe is best for TDE while maintaining the TDE spirit
and philosophy. I don't see
"moving to ninja-build" breaking either of them. Am I wrong?
Cheers
Michele