From 7dd3b99eabd763ac540d3359a219819b9eaf78b8 Mon Sep 17 00:00:00 2001 From: Mauro Rossi Date: Tue, 30 Nov 2021 01:18:48 +0100 Subject: [PATCH] android: add support for classic dri-drivers (v2) (v1) Changelog: -Ddri-drivers option is added in MESON_GEN_NINJA $(foreach ) cycle copies *_dri.so files to /vendor/lib{64}/dri/ (v2) Changelog Remove unwanted Symlinks created for classic dri drivers Update the comments describing each step Rename .symlinks.timestamp to .targets.timestamp Squash all the changes in one commit to facilitate picking in mesa stable HowTo: BoardConfig.mk: BOARD_MESA3D_CLASSIC_DRIVERS defines the list of classic dri drivers example: BOARD_MESA3D_CLASSIC_DRIVERS := i965 Fixes: 8621bd8d ("android: Add scripts to build using meson") Cc: "21.3" "21.2" mesa-stable Reviewed-by: Roman Stratiienko Part-of: --- android/mesa3d_cross.mk | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/android/mesa3d_cross.mk b/android/mesa3d_cross.mk index e211cb8f269..9af57fe7889 100644 --- a/android/mesa3d_cross.mk +++ b/android/mesa3d_cross.mk @@ -88,7 +88,7 @@ MESON_GEN_NINJA := \ -Ddri-search-path=/vendor/$(MESA3D_LIB_DIR)/dri \ -Dplatforms=android \ -Dplatform-sdk-version=$(PLATFORM_SDK_VERSION) \ - -Ddri-drivers= \ + -Ddri-drivers=$(subst $(space),$(comma),$(BOARD_MESA3D_CLASSIC_DRIVERS)) \ -Dgallium-drivers=$(subst $(space),$(comma),$(BOARD_MESA3D_GALLIUM_DRIVERS)) \ -Dvulkan-drivers=$(subst $(space),$(comma),$(subst radeon,amd,$(BOARD_MESA3D_VULKAN_DRIVERS))) \ -Dgbm=enabled \ @@ -289,13 +289,17 @@ 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 +$($(M_TARGET_PREFIX)TARGET_OUT_VENDOR_SHARED_LIBRARIES)/dri/.targets.timestamp: MESA3D_GALLIUM_DRI_DIR:=$(MESA3D_GALLIUM_DRI_DIR) +$($(M_TARGET_PREFIX)TARGET_OUT_VENDOR_SHARED_LIBRARIES)/dri/.targets.timestamp: $(MESON_OUT_DIR)/install/.install.timestamp mkdir -p $(dir $@) + # Create Symlinks for gallium and kmsro drivers ls -1 $(MESA3D_GALLIUM_DRI_DIR)/ | PATH=/usr/bin:$$PATH xargs -I{} ln -s -f libgallium_dri.so $(dir $@)/{} + # Remove unwanted Symlinks created for classic dri drivers + $(foreach d,$(BOARD_MESA3D_CLASSIC_DRIVERS), rm $(dir $@)/$(d)_dri.so;) + # Copy classic dri drivers + $(foreach d,$(BOARD_MESA3D_CLASSIC_DRIVERS), cp $(MESA3D_GALLIUM_DRI_DIR)/$(d)_dri.so $(dir $@)/$(d)_dri.so;) touch $@ -$($(M_TARGET_PREFIX)MESA3D_GALLIUM_DRI_BIN): $(TARGET_OUT_VENDOR)/$(MESA3D_LIB_DIR)/dri/.symlinks.timestamp +$($(M_TARGET_PREFIX)MESA3D_GALLIUM_DRI_BIN): $(TARGET_OUT_VENDOR)/$(MESA3D_LIB_DIR)/dri/.targets.timestamp echo "Build $@" touch $@