[Mesa-dev] [PATCH 13/14] android: rework the EGL build

Varad Gautam varadgautam at gmail.com
Tue Jul 21 02:53:18 PDT 2015


On Tuesday, July 14, 2015 04:02:47 PM Emil Velikov wrote:
> See previous two commits for details.
> 
> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
> ---
>  Android.mk                      |  3 +-
>  src/egl/drivers/dri2/Android.mk | 63
> ----------------------------------------- src/egl/main/Android.mk         |
> 35 ++++++++++++++++-------
>  3 files changed, 25 insertions(+), 76 deletions(-)
>  delete mode 100644 src/egl/drivers/dri2/Android.mk
> 
> diff --git a/Android.mk b/Android.mk
> index 69e0d33..17fd5f5 100644
> --- a/Android.mk
> +++ b/Android.mk
> @@ -91,8 +91,7 @@ SUBDIRS := \
>  	src/glsl \
>  	src/mesa \
>  	src/util \
> -	src/egl/main \
> -	src/egl/drivers/dri2 \
> +	src/egl \
>  	src/mesa/drivers/dri
> 
>  ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
> diff --git a/src/egl/drivers/dri2/Android.mk
> b/src/egl/drivers/dri2/Android.mk deleted file mode 100644
> index 76be3b2..0000000
> --- a/src/egl/drivers/dri2/Android.mk
> +++ /dev/null
> @@ -1,63 +0,0 @@
> -# Mesa 3-D graphics library
> -#
> -# Copyright (C) 2010-2011 Chia-I Wu <olvaffe at gmail.com>
> -# Copyright (C) 2010-2011 LunarG Inc.
> -#
> -# Permission is hereby granted, free of charge, to any person obtaining a
> -# copy of this software and associated documentation files (the
> "Software"), -# to deal in the Software without restriction, including
> without limitation -# the rights to use, copy, modify, merge, publish,
> distribute, sublicense, -# and/or sell copies of the Software, and to
> permit persons to whom the -# Software is furnished to do so, subject to
> the following conditions: -#
> -# The above copyright notice and this permission notice shall be included
> -# in all copies or substantial portions of the Software.
> -#
> -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
> OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
> MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 
> IN NO EVENT SHALL -# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
> CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
> TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE
> SOFTWARE OR THE USE OR OTHER -# DEALINGS IN THE SOFTWARE.
> -
> -# Android.mk for egl_dri2
> -
> -LOCAL_PATH := $(call my-dir)
> -
> -include $(CLEAR_VARS)
> -
> -LOCAL_SRC_FILES := \
> -	egl_dri2.c \
> -	platform_android.c
> -
> -LOCAL_CFLAGS := \
> -	-DHAVE_ANDROID_PLATFORM
> -
> -ifeq ($(MESA_LOLLIPOP_BUILD),true)
> -LOCAL_CFLAGS_arm := -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
> -LOCAL_CFLAGS_x86 := -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
> -LOCAL_CFLAGS_x86_64 := -DDEFAULT_DRIVER_DIR=\"/system/lib64/dri\"
> -else
> -LOCAL_CFLAGS += -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
> -endif
> -
> -LOCAL_C_INCLUDES := \
> -	$(MESA_TOP)/src/mapi \
> -	$(MESA_TOP)/src/egl/main \
> -	$(DRM_GRALLOC_TOP)
> -
> -LOCAL_STATIC_LIBRARIES := \
> -	libmesa_loader
> -
> -LOCAL_SHARED_LIBRARIES := libdrm
> -
> -ifeq ($(shell echo "$(MESA_ANDROID_VERSION) >= 4.2" | bc),1)
> -LOCAL_SHARED_LIBRARIES += \
> -	libsync
> -endif
> -
> -LOCAL_MODULE := libmesa_egl_dri2
> -
> -include $(MESA_COMMON_MK)
> -include $(BUILD_STATIC_LIBRARY)
> diff --git a/src/egl/main/Android.mk b/src/egl/main/Android.mk
> index 270c165..ebd67af 100644
> --- a/src/egl/main/Android.mk
> +++ b/src/egl/main/Android.mk

The top level makefile looks for src/egl/Android.mk, so this must be moved 
like the others.

> @@ -27,19 +27,36 @@ LOCAL_PATH := $(call my-dir)
> 
>  include $(LOCAL_PATH)/Makefile.sources
> 
> -SOURCES := \
> -	${LIBEGL_C_FILES}
> -
>  # ---------------------------------------
>  # Build libGLES_mesa
>  # ---------------------------------------
> 
>  include $(CLEAR_VARS)
> 
> -LOCAL_SRC_FILES := $(SOURCES)
> +LOCAL_SRC_FILES := \
> +	$(LIBEGL_C_FILES) \
> +	$(dri2_backend_core_FILES) \
> +	drivers/dri2/platform_android.c
> 
>  LOCAL_CFLAGS := \
> -	-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_ANDROID
> +	-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_ANDROID \
> +	-D_EGL_BUILT_IN_DRIVER_DRI2 \
> +	-DHAVE_ANDROID_PLATFORM
> +
> +ifeq ($(MESA_LOLLIPOP_BUILD),true)
> +LOCAL_CFLAGS_arm := -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
> +LOCAL_CFLAGS_x86 := -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
> +LOCAL_CFLAGS_x86_64 := -DDEFAULT_DRIVER_DIR=\"/system/lib64/dri\"
> +else
> +LOCAL_CFLAGS += -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\"
> +endif
> +
> +LOCAL_C_INCLUDES := \
> +	$(MESA_TOP)/src/egl/main \
> +	$(MESA_TOP)/src/egl/drivers/dri2 \

This must also include $(DRM_GRALLOC_TOP) since drm_gralloc doesn't export 
gralloc_drm{_handle}.h.

> +
> +LOCAL_STATIC_LIBRARIES := \
> +	libmesa_loader
> 
>  LOCAL_SHARED_LIBRARIES := \
>  	libdl \
> @@ -53,12 +70,11 @@ LOCAL_SHARED_LIBRARIES += libsync
>  endif
> 
>  # add libdrm if there are hardware drivers
> -ifneq ($(MESA_GPU_DRIVERS),swrast)
> +ifneq ($(filter-out swrast,$(MESA_GPU_DRIVERS)),)
> +LOCAL_CFLAGS += -DHAVE_LIBDRM
>  LOCAL_SHARED_LIBRARIES += libdrm
>  endif
> 
> -LOCAL_CFLAGS += -D_EGL_BUILT_IN_DRIVER_DRI2
> -
>  ifeq ($(strip $(MESA_BUILD_CLASSIC)),true)
>  # require i915_dri and/or i965_dri
>  LOCAL_REQUIRED_MODULES += \
> @@ -69,9 +85,6 @@ ifeq ($(strip $(MESA_BUILD_GALLIUM)),true)
>  LOCAL_REQUIRED_MODULES += gallium_dri
>  endif # MESA_BUILD_GALLIUM
> 
> -LOCAL_STATIC_LIBRARIES := \
> -	libmesa_egl_dri2 \
> -	libmesa_loader
> 
>  LOCAL_MODULE := libGLES_mesa
>  ifeq ($(MESA_LOLLIPOP_BUILD),true)

Tested under Android build system with these changes.

Thanks,
Varad


More information about the mesa-dev mailing list