android: fix the building rules for Android 5.0
authorChih-Wei Huang <cwhuang@android-x86.org>
Fri, 3 Apr 2015 21:01:22 +0000 (05:01 +0800)
committerEmil Velikov <emil.l.velikov@gmail.com>
Wed, 22 Apr 2015 14:53:35 +0000 (15:53 +0100)
Android 5.0 allows modules to generate source into $OUT/gen, which will
then be copied into $OUT/obj and $OUT/obj_$(TARGET_2ND_ARCH) as necessary.
Modules will need to change calls to local-intermediates-dir into
local-generated-sources-dir.

The patch changes local-intermediates-dir into local-generated-sources-dir.
If the Android version is less than 5.0, fallback to local-intermediates-dir.

The patch also fixes the 64-bit building issue of Android 5.0.

v2 [Emil Velikov]
 - Keep the LOCAL_UNSTRIPPED_PATH variable.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
13 files changed:
Android.mk
src/egl/drivers/dri2/Android.mk
src/egl/main/Android.mk
src/gallium/auxiliary/Android.mk
src/gallium/auxiliary/os/os_mman.h
src/glsl/Android.gen.mk
src/mapi/Android.mk
src/mesa/Android.gen.mk
src/mesa/drivers/dri/common/Android.mk
src/mesa/drivers/dri/i915/Android.mk
src/mesa/drivers/dri/i965/Android.mk
src/mesa/program/Android.mk
src/util/Android.mk

index 87ed46445e11c629320d650432cc1c88437069f3..b19419ba7c2af110eeeb72924c9be128c834914e 100644 (file)
@@ -34,6 +34,13 @@ MESA_TOP := $(call my-dir)
 MESA_ANDROID_MAJOR_VERSION := $(word 1, $(subst ., , $(PLATFORM_VERSION)))
 MESA_ANDROID_MINOR_VERSION := $(word 2, $(subst ., , $(PLATFORM_VERSION)))
 MESA_ANDROID_VERSION := $(MESA_ANDROID_MAJOR_VERSION).$(MESA_ANDROID_MINOR_VERSION)
+ifeq ($(filter 1 2 3 4,$(MESA_ANDROID_MAJOR_VERSION)),)
+MESA_LOLLIPOP_BUILD := true
+else
+define local-generated-sources-dir
+$(call local-intermediates-dir)
+endef
+endif
 
 MESA_COMMON_MK := $(MESA_TOP)/Android.common.mk
 MESA_PYTHON2 := python
index d48506a7e5a76126b76eb8cbcf5062e3d953fd8d..5931ce8f2f04fafa1682cf09a4c96af8fb116dd0 100644 (file)
@@ -32,10 +32,16 @@ LOCAL_SRC_FILES := \
        platform_android.c
 
 LOCAL_CFLAGS := \
-       -DDEFAULT_DRIVER_DIR=\"/system/lib/dri\" \
        -DHAVE_SHARED_GLAPI \
        -DHAVE_ANDROID_PLATFORM
 
+ifeq ($(MESA_LOLLIPOP_BUILD),true)
+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 \
index 4d0cc575f028f39419d33e0a93a87c919dff1f21..12b66d053fc26b502dbcdcdc758fb3a181c4f59e 100644 (file)
@@ -154,7 +154,11 @@ LOCAL_STATIC_LIBRARIES := \
        libmesa_loader
 
 LOCAL_MODULE := libGLES_mesa
+ifeq ($(MESA_LOLLIPOP_BUILD),true)
+LOCAL_MODULE_RELATIVE_PATH := egl
+else
 LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/egl
+endif
 
 include $(MESA_COMMON_MK)
 include $(BUILD_SHARED_LIBRARY)
index c7b2634b63c9746851ac4c5f5d51674390488fb3..96a2125defba90236059ee19cf1b6ba7d34d8ac5 100644 (file)
@@ -39,7 +39,7 @@ LOCAL_MODULE := libmesa_gallium
 
 # generate sources
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-intermediates := $(call local-intermediates-dir)
+intermediates := $(call local-generated-sources-dir)
 LOCAL_GENERATED_SOURCES := $(addprefix $(intermediates)/, $(GENERATED_SOURCES))
 
 $(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2)
index 3fc8c432f8030170d311be164e2ed3fc77744837..e892610bdbd6480c8d9d228892c63f0373e0ce56 100644 (file)
@@ -54,7 +54,7 @@ extern "C" {
 #endif
 
 
-#if defined(PIPE_OS_ANDROID)
+#if defined(PIPE_OS_ANDROID) && !defined(__LP64__)
 
 extern void *__mmap2(void *, size_t, int, int, int, size_t);
 
index 137a97fa58a97162916dba046f304d224a1da213..0835871f9126353bf07f8e13415a4f131ebf5c53 100644 (file)
@@ -27,7 +27,7 @@ ifeq ($(LOCAL_MODULE_CLASS),)
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 endif
 
-intermediates := $(call local-intermediates-dir)
+intermediates := $(call local-generated-sources-dir)
 
 sources := \
        glsl_lexer.cpp \
@@ -43,7 +43,6 @@ sources := \
 LOCAL_SRC_FILES := $(filter-out $(sources), $(LOCAL_SRC_FILES))
 
 LOCAL_C_INCLUDES += \
-       $(intermediates) \
        $(intermediates)/glcpp \
        $(intermediates)/nir \
        $(MESA_TOP)/src/glsl/glcpp \
index f10437874dd35c1f34e86eb649cb9a99fb63d491..44452181ec46314d6b0b41c047c24fd694ac08a4 100644 (file)
@@ -53,7 +53,7 @@ LOCAL_C_INCLUDES := \
 LOCAL_MODULE := libglapi
 
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
-intermediates := $(call local-intermediates-dir)
+intermediates := $(call local-generated-sources-dir)
 abi_header := $(intermediates)/$(abi_header)
 LOCAL_GENERATED_SOURCES := $(abi_header)
 
index c7a4f6b86cecbf3302d67db1862c89eec7255945..cc979547e0a5eae45c3740d70f81ef30a440d041 100644 (file)
@@ -27,7 +27,7 @@ ifeq ($(LOCAL_MODULE_CLASS),)
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 endif
 
-intermediates := $(call local-intermediates-dir)
+intermediates := $(call local-generated-sources-dir)
 
 # This is the list of auto-generated files: sources and headers
 sources := \
index 03ea564cf34808db6b3df97d1d2a1b6a4ea727db..458e4e931fe356fb481878fa40c7dbb59bb3a4c3 100644 (file)
@@ -34,10 +34,9 @@ include $(LOCAL_PATH)/Makefile.sources
 LOCAL_MODULE := libmesa_dri_common
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 
-intermediates := $(call local-intermediates-dir)
+intermediates := $(call local-generated-sources-dir)
 
 LOCAL_C_INCLUDES := \
-    $(intermediates) \
     $(MESA_DRI_C_INCLUDES)
 
 # swrast only
index 277d59ba4bb51d6fc6bcf902939cd2abcd650ed4..741ea260e94961d004315d51d27791fc8ea2b1db 100644 (file)
@@ -26,8 +26,12 @@ LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := i915_dri
+ifeq ($(MESA_LOLLIPOP_BUILD),true)
+LOCAL_MODULE_RELATIVE_PATH := $(notdir $(MESA_DRI_MODULE_PATH))
+else
 LOCAL_MODULE_PATH := $(MESA_DRI_MODULE_PATH)
 LOCAL_UNSTRIPPED_PATH := $(MESA_DRI_MODULE_UNSTRIPPED_PATH)
+endif
 
 # Import variables i915_FILES.
 include $(LOCAL_PATH)/Makefile.sources
index d592cca3718c526f92f693d55f6a7bd30586462f..a9b963a9eca22cda1b82f88df8f26ded73defba3 100644 (file)
@@ -26,8 +26,12 @@ LOCAL_PATH := $(call my-dir)
 include $(CLEAR_VARS)
 
 LOCAL_MODULE := i965_dri
+ifeq ($(MESA_LOLLIPOP_BUILD),true)
+LOCAL_MODULE_RELATIVE_PATH := $(notdir $(MESA_DRI_MODULE_PATH))
+else
 LOCAL_MODULE_PATH := $(MESA_DRI_MODULE_PATH)
 LOCAL_UNSTRIPPED_PATH := $(MESA_DRI_MODULE_UNSTRIPPED_PATH)
+endif
 
 # Import variables i965_FILES.
 include $(LOCAL_PATH)/Makefile.sources
index af16e779db0d7d506032dae0eccc9e20e8e3e79e..9a6f9629463b816f1601458a6992806c4dc3ff4d 100644 (file)
@@ -46,7 +46,7 @@ LOCAL_MODULE := libmesa_program
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 LOCAL_STATIC_LIBRARIES := libmesa_glsl
 
-intermediates := $(call local-intermediates-dir)
+intermediates := $(call local-generated-sources-dir)
 
 # TODO(chadv): In Makefile.sources, move these vars to a different list so we can
 # remove this kludge.
@@ -72,7 +72,6 @@ $(intermediates)/program/lex.yy.c: $(LOCAL_PATH)/program_lexer.l
        $(local-l-to-c)
 
 LOCAL_C_INCLUDES := \
-       $(intermediates) \
        $(MESA_TOP)/src/mapi \
        $(MESA_TOP)/src/mesa \
        $(MESA_TOP)/src/glsl \
index e6530eaf3cb567724a00045a3c153a2d8af712f9..a39185ae49e0913c959bc6c78d729078b617ffeb 100644 (file)
@@ -45,7 +45,7 @@ LOCAL_MODULE := libmesa_util
 
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 
-intermediates := $(call local-intermediates-dir)
+intermediates := $(call local-generated-sources-dir)
 LOCAL_GENERATED_SOURCES := $(addprefix $(intermediates)/,$(MESA_UTIL_GENERATED_FILES))
 
 $(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2)
@@ -80,7 +80,7 @@ LOCAL_MODULE := libmesa_util
 
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 
-intermediates := $(call local-intermediates-dir)
+intermediates := $(call local-generated-sources-dir)
 LOCAL_GENERATED_SOURCES := $(addprefix $(intermediates)/,$(MESA_UTIL_GENERATED_FILES))
 
 $(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2)