[Mesa-dev] [PATCH 1/2] configure.ac: Add support for Android builds
drinkcat at chromium.org
Mon May 23 02:15:42 UTC 2016
Apologies for the delay, it's easier to answer your questions now that
the project has launched
Basically we are running Android in a Linux container, on top of
existing Chrome OS.
On Thu, Apr 28, 2016 at 10:36 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> Hi Nicolas,
> On 28 April 2016 at 11:41, Nicolas Boichat <drinkcat at chromium.org> wrote:
>> Add support for EGL android platform.
>> Also, detect when --host finishes with -android. In that case, we
>> do not set _GNU_SOURCE, and define autoconf symbol HAVE_ANDROID, so
>> that Android-specific workarounds can be applied.
> I'm quite happy to see patches from Android/CrOS people although I'm a
> bit confused here.
> Are these are based for CrOS or Android ? I thought Android had it's
> own build system.
In our context, we need 2 copies of Mesa libraries: one for Chrome OS
(surfaceless), and another one for Android.
We considered using Android build system for the Android side, but
that means having 2 separate repos (which we'd need to keep in sync),
and 2 different build systems (I've heard Android.mk tends to get out
of sync over time...).
Instead, we are building both libraries using the same sources, and
same automake-based build system, from Chrome OS chroot (we have a
minimalist Android toolchain in the Chrome OS chroot that allows us to
build the Android version).
> Is there any documentation on how one can get things going on your platform ?
No quite, yet, but the ebuild should be available very soon.
>> Signed-off-by: Nicolas Boichat <drinkcat at google.com>
>> configure.ac | 10 ++++++++++
>> src/egl/Makefile.am | 5 +++++
>> 2 files changed, 15 insertions(+)
>> diff --git a/configure.ac b/configure.ac
>> index 5f75c60..6ee978c 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -248,7 +248,11 @@ _SAVE_CPPFLAGS="$CPPFLAGS"
>> dnl Compiler macros
>> DEFINES="-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS"
>> case "$host_os" in
>> + android=yes
>> + ;;
>> DEFINES="$DEFINES -D_GNU_SOURCE"
>> @@ -260,6 +264,8 @@ cygwin*)
>> +AM_CONDITIONAL(HAVE_ANDROID, test "x$android" = xyes)
>> dnl Add flags for gcc and g++
>> if test "x$GCC" = xyes; then
>> CFLAGS="$CFLAGS -Wall"
>> @@ -1959,6 +1965,9 @@ for plat in $egl_platforms; do
>> AC_MSG_ERROR([EGL platform surfaceless requires libdrm >= $LIBDRM_REQUIRED])
>> + android)
> Can you update the documentation in docs/egl.html as well please. Feel
> free to do that as follow-up patch.
> Do you guys have X related libraries on the host_os ? Or you
> explicitly disable those mesa features that depend on it ?
AFAIK, no X libraries, neither on Chrome OS or Android side.
More information about the mesa-dev