X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Ftargets%2Fdri%2FAndroid.mk;h=a5a779176fdcab144e0a2f7eb6d98df769079602;hb=HEAD;hp=f72551c51cbf897501bad9cc01d6983998de5299;hpb=bec1c13be2154dfb20baa4fbb33b1560a4ef1910;p=mesa.git diff --git a/src/gallium/targets/dri/Android.mk b/src/gallium/targets/dri/Android.mk index f72551c51cb..a5a779176fd 100644 --- a/src/gallium/targets/dri/Android.mk +++ b/src/gallium/targets/dri/Android.mk @@ -32,10 +32,46 @@ 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 \ + 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_ir2 \ + libfreedreno_ir3 \ + libfreedreno_perfcntrs \ + libmesa_gallium \ + libpanfrost_bifrost \ + libpanfrost_bifrost_disasm \ + libpanfrost_lib \ + libpanfrost_midgard \ + libpanfrost_midgard_disasm \ + libpanfrost_shared \ + libpanfrost_util \ + +ifeq ($(USE_LIBBACKTRACE),true) + LOCAL_SHARED_LIBRARIES += libbacktrace +endif $(foreach d, $(MESA_BUILD_GALLIUM), $(eval LOCAL_CFLAGS += $(patsubst HAVE_%,-D%,$(d)))) @@ -49,7 +85,6 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \ libmesa_nir \ libmesa_dri_common \ libmesa_megadriver_stub \ - libmesa_gallium \ libmesa_pipe_loader \ libmesa_util \ libmesa_loader @@ -57,5 +92,16 @@ LOCAL_WHOLE_STATIC_LIBRARIES := \ # sort GALLIUM_SHARED_LIBS to remove any duplicates LOCAL_SHARED_LIBRARIES += $(sort $(GALLIUM_SHARED_LIBS)) +ifneq ($(filter 5 6 7, $(MESA_ANDROID_MAJOR_VERSION)),) +LOCAL_POST_INSTALL_CMD := \ + $(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) +endif + include $(GALLIUM_COMMON_MK) include $(BUILD_SHARED_LIBRARY)