Christoph Junghans posted on Sun, 07 Jun 2015 20:08:25 -0600 as excerpted:

> 2015-06-07 14:19 GMT-06:00 Justin Lecher (jlec) <j...@gentoo.org>:
>>
>> On 07/06/15 22:14, Johannes Huber wrote:
>> 
>>> Am Sonntag 07 Juni 2015, 17:08:57 schrieb Michał Górny:
>>>
>>>> CMake sucks a lot [but will suck less if we switch] CMake to use
>>>> Ninja instead of make. As you may know, Ninja is the fancy building
>>>> tool that is faster and much harder to use than make. However, it
>>>> integrates with CMake much better and with less hackery.
 
>>>> GNU make is part of @system, ninja would be considered an extra
>>>> package being installed. Do we consider it fine to require it
>>>> randomly?

>>> KDE herd maintains ~1000 packages and the majority relies on CMake.
>>> I am not aware of any reports about GNU make related build files. So i
>>> would vote for the reliable GNU make generator.
>>>
>> I tested ninja some while ago on some big cmake science projects and I
>> found it to be faster. So I would vote for Micheals suggestion. Though
>> I also never faced any problems with the makefiles either. It's purely
>> that I found ninja to work smooth and fast.

> Right after this feature was implemented (bug #430608), ago did some
> testing on kde-base/kdelibs, but only found a 40 sec save on a 6min
> overall build.

That's still 10-11% (depending on what side of 6 minutes the 40 seconds 
goes), a pretty sizable difference considering it's just the maker we're 
fiddling with, not the compiler.

[TL;DR summary: yes to marking packages and automating ninja where safe 
for users that want to, but please keep gnu make the default.]

And on those ~1000 kde packages, for live users with ccache cutting 
compile time and thus speeding overall builds, the figure is likely to be 
MUCH higher than 10%.  WAG of 50%?  Anyone?

That said, I'm conservative enough to lean toward gnu make as well, 
certainly by default.  But were there a standardized ebuild flag to mark 
it ninja compatible, and a documented way to change that default, I'd 
also almost certainly try ninja, particularly when I /am/ doing live-kde 
as I was for a couple years with kde4, and probably will be again with 
kde5 once I can actually get kwin5 working long enough on my hardware[1] 
and eventually find kde5 stable enough of a base to run live again.

So marking ebuilds that can use ninja successfully and automating it so 
people that want to can, great, and by all means, document it well so 
they know they can, but please, gnu make default for now.

---
[1] kwin5 working: I've tried several times over the last year, always 
getting the same kwin5 crash/respawn loop and thus being unable to get 
any further into kde5 testing. FWIW single-card radeon turks graphics, 
triple monitor, native kernel/mesa/xorg driver, works fine with kwin4 in 
OpenGL mode.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


Reply via email to