[Mesa-dev] [PATCH] gallium: Fix automake for Android

Tomasz Figa tfiga at chromium.org
Tue Jun 19 13:34:38 UTC 2018


Hi Chad,

On Tue, Jun 19, 2018 at 3:46 PM Chad Versace <chadversary at chromium.org> wrote:
>
> Chromium OS uses Autotools and pkg-config when building Mesa for
> Android. The gallium drivers were failing to find the headers and
> libraries for zlib and Android's libbacktrace.
> ---
>  configure.ac                      | 6 +++++-
>  src/gallium/Automake.inc          | 5 +++++
>  src/gallium/auxiliary/Makefile.am | 4 ++++
>  3 files changed, 14 insertions(+), 1 deletion(-)
>

Please see my comments inline.

> diff --git a/configure.ac b/configure.ac
> index 7a0e4754208..5f0792cd8ef 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1830,7 +1830,11 @@ for plat in $platforms; do
>          ;;
>
>      android)
> -        PKG_CHECK_MODULES([ANDROID], [cutils hardware sync])
> +        android_modules='cutils hardware sync zlib'

What's Android-specific in zlib? We already check higher for zlib,
shouldn't we just add ZLIB_CFLAGS/LIBS to the respective Makefile.in?

> +        if test -n "$with_gallium_drivers"; then
> +            android_modules+=' backtrace'

I'd also say this should have a separate PKG_CHECK_MODULES clause, say
"BACKTRACE" and BACKTRACE_CFLAGS/LIBS added to respective Makefile.in.
Especially since we only need libbacktrace in u_debug_stack*.

> +        fi
> +        PKG_CHECK_MODULES([ANDROID], ["$android_modules"])
>          DEFINES="$DEFINES -DHAVE_ANDROID_PLATFORM"
>          ;;
>
> diff --git a/src/gallium/Automake.inc b/src/gallium/Automake.inc
> index 3e21aa71b5c..8181927a396 100644
> --- a/src/gallium/Automake.inc
> +++ b/src/gallium/Automake.inc
> @@ -59,6 +59,11 @@ GALLIUM_COMMON_LIB_DEPS += \
>         $(LIBDRM_LIBS)
>  endif
>
> +if HAVE_PLATFORM_ANDROID
> +GALLIUM_COMMON_LIB_DEPS += \
> +       $(ANDROID_LIBS)
> +endif
> +
>  GALLIUM_WINSYS_CFLAGS = \
>         -I$(top_srcdir)/src \
>         -I$(top_srcdir)/include \
> diff --git a/src/gallium/auxiliary/Makefile.am b/src/gallium/auxiliary/Makefile.am
> index 6b048b8eebf..03908198772 100644
> --- a/src/gallium/auxiliary/Makefile.am
> +++ b/src/gallium/auxiliary/Makefile.am
> @@ -21,6 +21,10 @@ libgallium_la_SOURCES = \
>         $(NIR_SOURCES) \
>         $(GENERATED_SOURCES)
>
> +if HAVE_PLATFORM_ANDROID
> +libgallium_la_SOURCES += util/u_debug_stack_android.cpp

Shouldn't we add ANDROID_CFLAGS and ANDROID_LIBS here rather than in
src/gallium/Automake.inc, since this is the module that actually needs
them?

Best regards,
Tomasz


More information about the mesa-dev mailing list