Android.mk: Make mesa3d-lib work with absolute path meson outputs
authorAlessandro Astone <ales.astone@gmail.com>
Sat, 18 Jun 2022 16:10:34 +0000 (18:10 +0200)
committerMarge Bot <emma+marge@anholt.net>
Sun, 26 Jun 2022 22:06:36 +0000 (22:06 +0000)
LOCAL_PREBUILT_MODULE_FILE is the only variable that allows
specifying the absolute path to a prebuilt.
That happens when OUT_DIR_COMMON_BASE is set.

Since it does not have multilib variants, define two separate
libraries for multilib

Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16674>

android/Android.mk

index 4acc657..1a53fbd 100644 (file)
@@ -125,19 +125,30 @@ LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 LOCAL_MODULE := $1
 LOCAL_VENDOR_MODULE := true
 LOCAL_MODULE_RELATIVE_PATH := $3
+LOCAL_PREBUILT_MODULE_FILE := $($4)
+LOCAL_MULTILIB := first
+LOCAL_CHECK_ELF_FILES := false
+LOCAL_MODULE_SUFFIX := .so
+LOCAL_MODULE_SYMLINKS := $1$2
+LOCAL_SHARED_LIBRARIES := $(__MY_SHARED_LIBRARIES)
+LOCAL_EXPORT_C_INCLUDE_DIRS := $5
+include $(BUILD_PREBUILT)
+
 ifdef TARGET_2ND_ARCH
-LOCAL_SRC_FILES_$(TARGET_ARCH) := $(call relative_top_path,$(LOCAL_PATH))$($4)
-LOCAL_SRC_FILES_$(TARGET_2ND_ARCH) := $(call relative_top_path,$(LOCAL_PATH))$(2ND_$4)
-LOCAL_MULTILIB := both
-else
-LOCAL_SRC_FILES := $(call relative_top_path,$(LOCAL_PATH))$($4)
-endif
+include $(CLEAR_VARS)
+LOCAL_MODULE_CLASS := SHARED_LIBRARIES
+LOCAL_MODULE := $1
+LOCAL_VENDOR_MODULE := true
+LOCAL_MODULE_RELATIVE_PATH := $3
+LOCAL_PREBUILT_MODULE_FILE := $(2ND_$4)
+LOCAL_MULTILIB := 32
 LOCAL_CHECK_ELF_FILES := false
 LOCAL_MODULE_SUFFIX := .so
 LOCAL_MODULE_SYMLINKS := $1$2
 LOCAL_SHARED_LIBRARIES := $(__MY_SHARED_LIBRARIES)
 LOCAL_EXPORT_C_INCLUDE_DIRS := $5
 include $(BUILD_PREBUILT)
+endif
 endef
 
 # Module 'libgallium_dri', produces '/vendor/lib{64}/dri/libgallium_dri.so'