Android.mk: Allow building only Vulkan drivers
authorSamuel Holland <samuel.holland@sifive.com>
Tue, 20 Jun 2023 19:24:33 +0000 (12:24 -0700)
committerMarge Bot <emma+marge@anholt.net>
Fri, 15 Sep 2023 18:43:02 +0000 (18:43 +0000)
Android bundles ANGLE for implementing OpenGL ES and EGL on top of
Vulkan. When using ANGLE, mesa is only needed for its Vulkan drivers.

Cc: mesa-stable
Acked-by: Mauro Rossi <issor.oruam@gmail.com>
Reviewed-by: Roman Stratiienko <r.stratiienko@gmail.com>
Change-Id: I034a0af52f9216bc5f1322f584bc591c90222327
Signed-off-by: Samuel Holland <samuel.holland@sifive.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24007>

android/Android.mk
android/mesa3d_cross.mk

index c37e4fa..dc25d0d 100644 (file)
@@ -158,6 +158,7 @@ include $(BUILD_PREBUILT)
 endif
 endef
 
+ifneq ($(strip $(BOARD_MESA3D_GALLIUM_DRIVERS)),)
 # Module 'libgallium_dri', produces '/vendor/lib{64}/dri/libgallium_dri.so'
 # This module also trigger DRI symlinks creation process
 $(eval $(call mesa3d-lib,libgallium_dri,.so.0,dri,MESA3D_GALLIUM_DRI_BIN))
@@ -170,6 +171,7 @@ $(eval $(call mesa3d-lib,libEGL_mesa,.so.1,egl,MESA3D_LIBEGL_BIN))
 $(eval $(call mesa3d-lib,libGLESv1_CM_mesa,.so.1,egl,MESA3D_LIBGLESV1_BIN))
 # Module 'libGLESv2_mesa', produces '/vendor/lib{64}/egl/libGLESv2_mesa.so'
 $(eval $(call mesa3d-lib,libGLESv2_mesa,.so.2,egl,MESA3D_LIBGLESV2_BIN))
+endif
 
 # Modules 'vulkan.{driver_name}', produces '/vendor/lib{64}/hw/vulkan.{driver_name}.so' HAL
 $(foreach driver,$(BOARD_MESA3D_VULKAN_DRIVERS), \
index 727aaac..d74e2c4 100644 (file)
@@ -88,7 +88,7 @@ MESON_GEN_NINJA := \
        -Dgallium-drivers=$(subst $(space),$(comma),$(BOARD_MESA3D_GALLIUM_DRIVERS)) \
        -Dvulkan-drivers=$(subst $(space),$(comma),$(subst radeon,amd,$(BOARD_MESA3D_VULKAN_DRIVERS)))   \
        -Dgbm=enabled                                                                \
-       -Degl=enabled                                                                \
+       -Degl=$(if $(BOARD_MESA3D_GALLIUM_DRIVERS),enabled,disabled)                 \
        -Dcpp_rtti=false                                                             \
        -Dlmsensors=disabled                                                         \
 
@@ -288,7 +288,7 @@ $(MESON_OUT_DIR)/install/.install.timestamp: $(MESON_OUT_DIR)/.build.timestamp
        rm -rf $(dir $@)
        mkdir -p $(dir $@)
        DESTDIR=$(call relative-to-absolute,$(dir $@)) $(MESON_BUILD) install
-       $(MESON_COPY_LIBGALLIUM)
+       $(if $(BOARD_MESA3D_GALLIUM_DRIVERS),$(MESON_COPY_LIBGALLIUM))
        touch $@
 
 $($(M_TARGET_PREFIX)MESA3D_LIBGBM_BIN) $(MESA3D_GLES_BINS): $(MESON_OUT_DIR)/install/.install.timestamp