LWN.net Logo

Android itself has serious NIH syndrome...

Android itself has serious NIH syndrome...

Posted Nov 8, 2011 6:15 UTC (Tue) by khim (subscriber, #9252)
In reply to: Hmm... by cmccabe
Parent article: libabc: a demonstration library for kernel developers

Android doesn't use autotools. They knew better than touch that mess.

I know. They create their own mess instead. As usual it makes life easier for them (albeit not by much: lots of Android developers just like lots of Chrome developers hate GYP - but since they must support Windows it stays). When you develop software for android you don't need to bother with all that and use can easily use NDK and autotools.

We already live in a world with a mix of autotools and other things.

No. We live in a world of autotools with some additional abominations here and there. Every time you hit yet another such project (be it pure Makefile-based project like libgd or CMake-based project like OpenSceneGraph) you have a problem. Often the problem is eventually solved by autoconfiscation (last version of libgd uses autotools like sane package), sometimes you must tolerate the abomintation (bzip2 is standard example), but if your project needs such a library it's always a problem.

KDE uses CMake.

Thankfully KDE is it's own "distribution in the distribution": it's hard to use KDE libraries outside of KDE for reasons other then build system thus it's not important what it uses.

MySQL is transitioning from autotools to CMake.

This one is problematic, yes, but one can always switch to MariaDB.

As I've said: non-autoconfiscated libraries are always a problem, but if you are well-established and important project you can get away with it. New library will be just rejected.

The kernel doesn't use autotools (which makes kernel hackers recommending autotools unintentionally ironic.)

This is not a recommendation of kernel hackers. This is recommendation for kernel hackers by people who develop userspace plumbing. Kernel uses it's own conventions because, in a sense, kernel is it's own universe: it can not use standard libraries at all, it must use some foul tricks to make the whole thing work on bare metal, etc.


(Log in to post comments)

Android itself has serious NIH syndrome...

Posted Nov 8, 2011 17:39 UTC (Tue) by cmccabe (guest, #60281) [Link]

> I know. They create their own mess instead. As usual it makes life easier
> for them (albeit not by much: lots of Android developers just like lots of
> Chrome developers hate GYP - but since they must support Windows it
> stays). When you develop software for android you don't need to bother
> with all that and use can easily use NDK and autotools.

I work on Android for NVidia. We do not use gyp. In fact, I am not familiar with that build system. We use the Android build system, which is simply makefiles which use GNU extensions. If you want to learn more about it, you can check it out here: http://git.android-x86.org/?p=platform/build.git;a=summary

I have developed software for Android before, including using the NDK. The NDK also relies on makefiles. There is no automake or autotools component. You have to write an Android.mk file to build whatever you're building. The Java software you develop on Android builds with ant. Again, there is no autotools.

What it boils down to is this: we both agree that autotools is mediocre at best. Are you willing to tolerate mediocrity? I'm not.

Android itself has serious NIH syndrome...

Posted Nov 8, 2011 20:26 UTC (Tue) by mpr22 (subscriber, #60784) [Link]

Unfortunately, it appears that no potential replacement for autotools is sufficiently widely regarded as having a clear and compelling edge over it - indeed, most of them appear to be Marmite.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds