[Mesa-dev] [PATCH] Android: gallium_dri: add include to get "xmlpool/options.h"

Emil Velikov emil.l.velikov at gmail.com
Mon Dec 18 16:27:37 UTC 2017


On 17 December 2017 at 23:34, Mauro Rossi <issor.oruam at gmail.com> wrote:
> target.c requires "xmlpool/options.h" generated header
> or the following tricky Android building error may appear:
>
> In file included from external/mesa/src/gallium/targets/dri/target.c:1:
> In file included from external/mesa/src/gallium/auxiliary/target-helpers/drm_helper.h:185:
> out/target/product/x86_64/gen/STATIC_LIBRARIES/libmesa_pipe_radeonsi_intermediates/radeonsi/si_driinfo.h:19:7: error: expected '}'
>       DRI_CONF_RADEONSI_ENABLE_SISCHED("false")
>       ^
> external/mesa/src/gallium/auxiliary/target-helpers/drm_helper.h:182:55: note: to match this '{'
>    static const struct drm_conf_ret xml_options_ret = {
>                                                       ^
> 1 error generated.
>
> Fixes: 0f8c5de869 ("radeonsi: prepare for driver-specific driconf options")
>
> Cc: "17.3" <mesa-stable at lists.freedesktop.org>
> ---
>  src/gallium/targets/dri/Android.mk | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/gallium/targets/dri/Android.mk b/src/gallium/targets/dri/Android.mk
> index d9923043af..a5b5f92ea0 100644
> --- a/src/gallium/targets/dri/Android.mk
> +++ b/src/gallium/targets/dri/Android.mk
> @@ -26,10 +26,10 @@ LOCAL_PATH := $(call my-dir)
>  include $(CLEAR_VARS)
>
>  LOCAL_MODULE := gallium_dri
> -
> +LOCAL_MODULE_CLASS := SHARED_LIBRARIES
>  LOCAL_MODULE_RELATIVE_PATH := $(MESA_DRI_MODULE_REL_PATH)
>  LOCAL_SRC_FILES := target.c
> -
> +LOCAL_C_INCLUDES := $(call generated-sources-dir-for,STATIC_LIBRARIES,libmesa_util,,)
>  LOCAL_CFLAGS :=
>
This is slightly confusing, quick grep shows:
./src/util/Android.mk
...
LOCAL_MODULE := libmesa_util
...
LOCAL_EXPORT_C_INCLUDE_DIRS := $(intermediates)
...

src/gallium/targets/dri/Android.mk
LOCAL_WHOLE_STATIC_LIBRARIES := \
    ...
    libmesa_util \
    ...

src/gallium/targets/dri/Android.mk-     libmesa_loader

- libmesa_util already exports

AKA
 - static lib exports the includes
 - foo_dri.so already pulls the static lib

+ misc: if LOCAL_MODULE_CLASS is omitted we default to SHARED_LIBRARIES

Can you confirm the above are present in the tree you're using? Did it
work with older Android - aka, something in their system broke?


Thanks
Emil


More information about the mesa-dev mailing list