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

Yu, Qiang Qiang.Yu at amd.com
Tue Dec 19 02:45:04 UTC 2017


I met this problem when upgrade mesa 17.2 to 17.3, and build without
a make clean. A clean build won't have this problem.

Regards,
Qiang

________________________________________
From: Mauro Rossi <issor.oruam at gmail.com>
Sent: Tuesday, December 19, 2017 6:19:44 AM
To: Emil Velikov
Cc: ML mesa-dev; Haehnle, Nicolai; Yu, Qiang; 17.3
Subject: Re: [PATCH] Android: gallium_dri: add include to get "xmlpool/options.h"



Il 18/dic/2017 17:27, "Emil Velikov" <emil.l.velikov at gmail.com<mailto:emil.l.velikov at gmail.com>> ha scritto:
On 17 December 2017 at 23:34, Mauro Rossi <issor.oruam at gmail.com<mailto: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<mailto: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

All confirmed and it's strange to us too, but when checking out Mesa 17.3 and 17.4 branches we, i.e. me and Quiang Yu, get the error.

Maybe Qiang could explain, I just added the only possibile dependency.


+ misc: if LOCAL_MODULE_CLASS is omitted we default to SHARED_LIBRARIES

LOCAL_MODULE_CLASS is required to be able to use generated-sources-dir-for macro


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?

Same issue happening with Nougat, when checking out 17.3 or 17.4
Cheers



Thanks
Emil



More information about the mesa-dev mailing list