[Intel-gfx] [PATCH] Android port of intel-gpu-tools

Chad Versace chad.versace at linux.intel.com
Mon Jan 16 10:25:32 PST 2012

Hash: SHA1

On 01/10/2012 04:47 AM, Daniel Vetter wrote:
> On Tue, Jan 10, 2012 at 10:15:01AM +0530, Sateesh Kavuri wrote:
>> Added support for Android. Changes include fixes for compilation issues
>>  related to Android using an older version of GCC compiler (ver 4.3.3)
>>  while the latest version of intel-gpu-tools confirms to GCC ver 4.5.2
>>  (C99 standard functions), using functions like getline(). Fixed such
>>  functions, header dependencies for android and added an Android.mk file.
>> signed-off-by: Sateesh Kavuri <sateesh.kavuri at intel.com>
> A few comments
> - It looks like you need a completely separate makefile for android. Is
>   there no way to let the automake tools generate that somehow? Because
>   this simply won't scale.
> - There's too much ANDRIOD #ifdef'ery in the code. Either switch to a
>   construct that works on all platforms or extract things into a little
>   helper functions (like the get_total_ram helper that has recently been
>   ported to Solaris).
> - You don't seem to touch the testsuite, and I think you want it on
>   Andriod, too.
> Added xorg-devel to cc, maybe someone else has already tried this with a
> different package, my buildsystem fu is not up to this.
> Yours, Daniel

Daniel, the Android.mk's are the curse of every project that is ported to
Android.  Android has it's own build system, and those makefiles can't be
generated with autotools.  This was a contentious issue when Chia-I Wu and
I ported Mesa to Android and led to a discussion [1] on mesa-dev. Below is
quoted my key email from that discussion (the Dan I'm speaking to is a Debian

[1] http://article.gmane.org/gmane.comp.video.mesa3d.devel/28881/match=add+toplevel+android+mk

> To address Dan's questions, the Android build cannot be fitted into autoconf or
> configs/android. I explored this option, and discovered that it was impossible.
> The Android build system is... well... interesting. Allow me to explain.
> The entirety of the Android project --- libc, webkit, the window manager,
> *everything* --- exists in a single source tree [1]. And that source tree is
> built with a single, non-recursive invocation of make. Every time I say that, I
> find it hard to believe myself, so I'll say it again: The entirety of the
> Android OS, all core libraries and apps, are built with a single, non-recursive
> invocation of make. (The kernel is the special exception to this
> all-encompassing build). The final build artifact is a bootable iso image.
> [1] http://android.git.kernel.org/
> Given this unified design of the Android source tree and build process, it
> requires system components, such as Mesa, to be integrated into its build
> system. If Mesa is going to support Android, the Android.mk's are necessary.
> To address another concern of Dan's, this will not add another way to configure
> the Mesa build. Android handles the system's build configuration in a single
> location which is outside of Mesa.
> I'm aware that the extra set of makefiles is unwelcome, but their presence will
> be innocuous. The only people that will need to touch them are those maintaining
> the Android build.

- ----
Chad Versace
chad.versace at linux.intel.com
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


More information about the xorg-devel mailing list