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?
From my perspective, yes.
Hey, I can live without TDE, I'll just move on to another desktop. The
link to Google, however tenuous, is too much for me.
--
Michael Howard.