etnaviv: update Android build files
[mesa.git] / src / gallium / targets / dri / Android.mk
index f16391daa4c0435e148ef62e0d64c6d57a2723e8..31d33b255d64fe0836c15bccd77a2e2c6c1ecb4c 100644 (file)
@@ -32,11 +32,42 @@ LOCAL_SRC_FILES := target.c
 
 LOCAL_CFLAGS :=
 
+# We need --undefined-version as some functions in dri.sym may be missing
+# depending on which drivers are enabled or not. Otherwise, we get the error:
+# "version script assignment of  to symbol FOO failed: symbol not defined"
+LOCAL_LDFLAGS := \
+       -Wl,--version-script=$(LOCAL_PATH)/dri.sym \
+       -Wl,--undefined-version
+
 LOCAL_SHARED_LIBRARIES := \
        libdl \
        libglapi \
-       libexpat \
-       libz
+       libz \
+       liblog
+
+# If Android version >=8 MESA should static link libexpat else should dynamic link
+ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 27; echo $$?), 0)
+LOCAL_STATIC_LIBRARIES := \
+       libexpat
+else
+LOCAL_SHARED_LIBRARIES += \
+       libexpat
+endif
+
+LOCAL_STATIC_LIBRARIES += \
+       libetnaviv_drm \
+       libfreedreno_drm \
+       libfreedreno_ir3 \
+       libmesa_gallium \
+       libpanfrost_bifrost \
+       libpanfrost_decode \
+       libpanfrost_encoder \
+       libpanfrost_midgard \
+       libpanfrost_shared
+
+ifeq ($(USE_LIBBACKTRACE),true)
+       LOCAL_SHARED_LIBRARIES += libbacktrace
+endif
 
 $(foreach d, $(MESA_BUILD_GALLIUM), $(eval LOCAL_CFLAGS += $(patsubst HAVE_%,-D%,$(d))))
 
@@ -50,7 +81,6 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \
        libmesa_nir \
        libmesa_dri_common \
        libmesa_megadriver_stub \
-       libmesa_gallium \
        libmesa_pipe_loader \
        libmesa_util \
        libmesa_loader
@@ -60,9 +90,10 @@ LOCAL_SHARED_LIBRARIES += $(sort $(GALLIUM_SHARED_LIBS))
 
 ifneq ($(filter 5 6 7, $(MESA_ANDROID_MAJOR_VERSION)),)
 LOCAL_POST_INSTALL_CMD := \
-       $(foreach l, lib lib64, \
-         mkdir -p $(TARGET_OUT_SHARED_LIBRARIES)/$(l)/$(MESA_DRI_MODULE_REL_PATH); \
-         $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so $(TARGET_OUT)/$(l)/$(MESA_DRI_MODULE_REL_PATH)/$(d)_dri.so;) \
+       $(foreach l, lib $(if $(filter true,$(TARGET_IS_64_BIT)),lib64), \
+         $(eval MESA_DRI_MODULE_PATH := $(TARGET_OUT_VENDOR)/$(l)/$(MESA_DRI_MODULE_REL_PATH)) \
+         mkdir -p $(MESA_DRI_MODULE_PATH); \
+         $(foreach d, $(GALLIUM_TARGET_DRIVERS), ln -sf gallium_dri.so $(MESA_DRI_MODULE_PATH)/$(d)_dri.so;) \
        )
 else
 LOCAL_MODULE_SYMLINKS := $(foreach d, $(GALLIUM_TARGET_DRIVERS), $(d)_dri.so)