From 9568976c52a4b9fb4af659d127bfc6f9d9e7970d Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Thu, 1 Aug 2024 14:53:13 +0200 Subject: [PATCH] android: fix build in multiple ways Includes the libgallium versioning, the megadriver hardlink -> symlink change, and some fixes for things like abusing ls output. backport-to: 24.2 Part-of: --- android/Android.mk | 5 +++-- android/mesa3d_cross.mk | 18 ++++-------------- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/android/Android.mk b/android/Android.mk index ced12e30565..51d6514b0c3 100644 --- a/android/Android.mk +++ b/android/Android.mk @@ -26,6 +26,7 @@ ifneq ($(filter true, $(BOARD_MESA3D_USES_MESON_BUILD)),) LOCAL_PATH := $(call my-dir) MESA3D_TOP := $(dir $(LOCAL_PATH)) +MESA3D_VERSION = $(shell cat $(MESA3D_TOP)/VERSION) LIBDRM_VERSION = $(shell cat external/libdrm/meson.build | grep -o "\\s*:\s*'\w*\.\w*\.\w*'" | grep -o "\w*\.\w*\.\w*" | head -1) MESA_VK_LIB_SUFFIX_amd := radeon @@ -157,9 +158,9 @@ endif endef ifneq ($(strip $(BOARD_MESA3D_GALLIUM_DRIVERS)),) -# Module 'libgallium_dri', produces '/vendor/lib{64}/dri/libgallium_dri.so' +# Module 'libgallium_dri', produces '/vendor/lib{64}/libgallium-$MESA3D_VERSION.so' # This module also trigger DRI symlinks creation process -$(eval $(call mesa3d-lib,libgallium_dri,dri,MESA3D_GALLIUM_DRI_BIN)) +$(eval $(call mesa3d-lib,libgallium_dri,,MESA3D_GALLIUM_BIN)) # Module 'libglapi', produces '/vendor/lib{64}/libglapi.so' $(eval $(call mesa3d-lib,libglapi,,MESA3D_LIBGLAPI_BIN)) diff --git a/android/mesa3d_cross.mk b/android/mesa3d_cross.mk index 68078870984..9c9b9a34a42 100644 --- a/android/mesa3d_cross.mk +++ b/android/mesa3d_cross.mk @@ -63,8 +63,8 @@ MESON_OUT_DIR := $($(M_TARGET_PREFIX)TARGET_OUT_INTER MESON_GEN_DIR := $(MESON_OUT_DIR)_GEN MESON_GEN_FILES_TARGET := $(MESON_GEN_DIR)/.timestamp -MESA3D_GALLIUM_DRI_DIR := $(MESON_OUT_DIR)/install/usr/local/lib/dri -$(M_TARGET_PREFIX)MESA3D_GALLIUM_DRI_BIN := $(MESON_OUT_DIR)/install/usr/local/lib/libgallium_dri.so +MESA3D_GALLIUM_DIR := $(MESON_OUT_DIR)/install/usr/local/lib +$(M_TARGET_PREFIX)MESA3D_GALLIUM_BIN := $(MESON_OUT_DIR)/install/usr/local/lib/libgallium-$(MESA3D_VERSION).so $(M_TARGET_PREFIX)MESA3D_LIBEGL_BIN := $(MESON_OUT_DIR)/install/usr/local/lib/libEGL.so $(M_TARGET_PREFIX)MESA3D_LIBGLESV1_BIN := $(MESON_OUT_DIR)/install/usr/local/lib/libGLESv1_CM.so $(M_TARGET_PREFIX)MESA3D_LIBGLESV2_BIN := $(MESON_OUT_DIR)/install/usr/local/lib/libGLESv2.so @@ -73,6 +73,7 @@ $(M_TARGET_PREFIX)MESA3D_LIBGBM_BIN := $(MESON_OUT_DIR)/install/usr/local/l MESA3D_GLES_BINS := \ + $($(M_TARGET_PREFIX)MESA3D_GALLIUM_BIN) \ $($(M_TARGET_PREFIX)MESA3D_LIBEGL_BIN) \ $($(M_TARGET_PREFIX)MESA3D_LIBGLESV1_BIN) \ $($(M_TARGET_PREFIX)MESA3D_LIBGLESV2_BIN) \ @@ -285,7 +286,7 @@ endif touch $@ MESON_COPY_LIBGALLIUM := \ - cp `ls -1 $(MESA3D_GALLIUM_DRI_DIR)/* | head -1` $($(M_TARGET_PREFIX)MESA3D_GALLIUM_DRI_BIN) + cp $(MESA3D_GALLIUM_DIR)/libgallium-$(MESA3D_VERSION).so $($(M_TARGET_PREFIX)TARGET_OUT_VENDOR_SHARED_LIBRARIES) $(MESON_OUT_DIR)/install/.install.timestamp: MESON_COPY_LIBGALLIUM:=$(MESON_COPY_LIBGALLIUM) $(MESON_OUT_DIR)/install/.install.timestamp: MESON_BUILD:=$(MESON_BUILD) @@ -308,14 +309,3 @@ $(MESON_OUT_DIR)/install/usr/local/lib/libvulkan_$(MESA_VK_LIB_SUFFIX_$1).so: $( endef $(foreach driver,$(BOARD_MESA3D_VULKAN_DRIVERS), $(eval $(call vulkan_target,$(driver)))) - -$($(M_TARGET_PREFIX)TARGET_OUT_VENDOR_SHARED_LIBRARIES)/dri/.symlinks.timestamp: MESA3D_GALLIUM_DRI_DIR:=$(MESA3D_GALLIUM_DRI_DIR) -$($(M_TARGET_PREFIX)TARGET_OUT_VENDOR_SHARED_LIBRARIES)/dri/.symlinks.timestamp: $(MESON_OUT_DIR)/install/.install.timestamp - # Create Symlinks - mkdir -p $(dir $@) - ls -1 $(MESA3D_GALLIUM_DRI_DIR)/ | PATH=/usr/bin:$$PATH xargs -I{} ln -s -f libgallium_dri.so $(dir $@)/{} - touch $@ - -$($(M_TARGET_PREFIX)MESA3D_GALLIUM_DRI_BIN): $(TARGET_OUT_VENDOR)/$(MESA3D_LIB_DIR)/dri/.symlinks.timestamp - echo "Build $@" - touch $@