[Mesa-dev] [PATCH 2/8] android: fix building on lollipop
Mauro Rossi
issor.oruam at gmail.com
Sun Jan 8 23:07:15 UTC 2017
2017-01-06 18:35 GMT+01:00 Wu Zhen <wuzhen at jidemail.com>:
> From: WuZhen <wuzhen at jidemail.com>
>
> this commit fixes mesa building on lollipop, however,
> llvm on lollipop is too old to build amdgpu
>
> based on initial work by Mauro Rossi <issor.oruam at gmail.com>
>
> Change-Id: I98d646f9e1c61fe2754479382885718386a8bbb7
> Reviewed-by: Mauro Rossi <issor.oruam at gmail.com>
> Reviewed-by: Chih-Wei Huang <cwhuang at linux.org.tw>
> ---
> Android.common.mk | 2 +-
> Android.mk | 5 ++++-
> src/gbm/Android.mk | 1 +
> src/mesa/Android.libmesa_st_mesa.mk | 1 +
> 4 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/Android.common.mk b/Android.common.mk
> index 9f64c220f8..7ab3942ee2 100644
> --- a/Android.common.mk
> +++ b/Android.common.mk
> @@ -91,7 +91,7 @@ endif
> endif
>
> LOCAL_CPPFLAGS += \
> - $(if $(filter true,$(MESA_LOLLIPOP_BUILD)),-D_USING_LIBCXX) \
> + $(if $(filter true,$(MESA_LOLLIPOP_BUILD)),-std=c++11) \
> -Wno-error=non-virtual-dtor \
> -Wno-non-virtual-dtor
>
> diff --git a/Android.mk b/Android.mk
> index fb29105a60..b52e7f8232 100644
> --- a/Android.mk
> +++ b/Android.mk
> @@ -95,10 +95,13 @@ SUBDIRS := \
> src/mesa \
> src/util \
> src/egl \
> - src/amd \
> src/intel \
> src/mesa/drivers/dri
>
> +ifneq ($(filter r300g r600g radeonsi, $(MESA_GPU_DRIVERS)),)
> +SUBDIRS += src/amd
> +endif
> +
> INC_DIRS := $(call all-named-subdir-makefiles,$(SUBDIRS))
>
> ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
> diff --git a/src/gbm/Android.mk b/src/gbm/Android.mk
> index a3f8fbbeab..89127766e6 100644
> --- a/src/gbm/Android.mk
> +++ b/src/gbm/Android.mk
> @@ -33,6 +33,7 @@ LOCAL_C_INCLUDES := \
> $(LOCAL_PATH)/main
>
> LOCAL_STATIC_LIBRARIES := libmesa_loader
> +LOCAL_SHARED_LIBRARIES := libdl
> LOCAL_MODULE := libgbm
>
> LOCAL_SRC_FILES := \
> diff --git a/src/mesa/Android.libmesa_st_mesa.mk b/src/mesa/Android.libmesa_st_mesa.mk
> index 3905ddcf24..90e4ccd210 100644
> --- a/src/mesa/Android.libmesa_st_mesa.mk
> +++ b/src/mesa/Android.libmesa_st_mesa.mk
> @@ -67,6 +67,7 @@ LOCAL_WHOLE_STATIC_LIBRARIES += \
>
> LOCAL_STATIC_LIBRARIES += libmesa_nir libmesa_glsl
>
> +include external/libcxx/libcxx.mk
Hi, if I recall correctly, we reviewed an updated version,
because libcxx.mk is not present in Android 6 and 7 (this would stop
the android build)
and stlport is used in kitkat
Similar scenario in src/gallium/drivers/r600 and src/gallium/drivers/nouveau,
has the following if/else/endif, and it works also here:
+ifeq ($(MESA_LOLLIPOP_BUILD),true)
+LOCAL_C_INCLUDES += external/libcxx/include
+else
+include external/stlport/libstlport.mk
+endif
NOTE: MESA_LOLLIPOP_BUILD currently has the meaning of "lollipop and later",
equivalent to say "we're using c++11"
> include $(LOCAL_PATH)/Android.gen.mk
> include $(MESA_COMMON_MK)
> include $(BUILD_STATIC_LIBRARY)
> --
> 2.11.0
>
More information about the mesa-dev
mailing list