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

Emil Velikov emil.l.velikov at gmail.com
Tue Jul 21 06:01:05 PDT 2015


On 21 July 2015 at 10:53, Varad Gautam <varadgautam at gmail.com> wrote:
> 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.
>
True. Seems like I forgot the git mv.

>> @@ -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.
>
I was thinking that we've got that one sorted already. Namely add the
path(s) to the exported includes for drm_gralloc. Will send some
patches for that in a second.

>> +
>> +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.
>
Greatly appreciated. I'll send v2 in a second addressing the issues.

-Emil


More information about the mesa-dev mailing list