1################################################################################ 2# 3# gcnano-binaries 4# 5################################################################################ 6 7GCNANO_BINARIES_LIB_VERSION = 6.4 8GCNANO_BINARIES_LIB_REVISION = 3 9GCNANO_BINARIES_LIB_FULL_VERSION = $(GCNANO_BINARIES_LIB_VERSION).$(GCNANO_BINARIES_LIB_REVISION) 10GCNANO_BINARIES_DRIVER_VERSION = $(GCNANO_BINARIES_LIB_FULL_VERSION) 11GCNANO_BINARIES_USERLAND_VERSION = $(GCNANO_BINARIES_LIB_FULL_VERSION)-20200902 12GCNANO_BINARIES_VERSION = 1534c3eaabb5ae545a8f97e95f853531365a13fc 13GCNANO_BINARIES_SITE = $(call github,STMicroelectronics,gcnano-binaries,$(GCNANO_BINARIES_VERSION)) 14 15GCNANO_BINARIES_LICENSE = MIT, Vivante End User Software License Terms 16GCNANO_BINARIES_LICENSE_FILES = EULA 17GCNANO_BINARIES_REDISTRIBUTE = NO 18 19GCNANO_BINARIES_DEPENDENCIES = linux wayland libdrm 20 21GCNANO_BINARIES_INSTALL_STAGING = YES 22 23GCNANO_BINARIES_PROVIDES = libegl libgles libgbm 24 25# The Github repository doesn't contain the source code as-is: it 26# contains a tarball with the kernel driver source code, and a 27# self-extractible binary for the user-space parts. So we extract both 28# below, and also extract the EULA text from the self-extractible binary 29define GCNANO_BINARIES_EXTRACT_HELPER 30 tar --strip-components=1 -xJf $(@D)/gcnano-driver-$(GCNANO_BINARIES_DRIVER_VERSION).tar.xz -C $(@D) 31 awk 'BEGIN { start = 0; } \ 32 /^EOEULA/ { start = 0; } \ 33 { if (start) print; } \ 34 /<<EOEULA/ { start = 1; }' \ 35 $(@D)/gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION).bin > $(@D)/EULA 36 cd $(@D) && sh gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION).bin --auto-accept 37endef 38 39GCNANO_BINARIES_POST_EXTRACT_HOOKS += GCNANO_BINARIES_EXTRACT_HELPER 40 41GCNANO_BINARIES_MODULE_MAKE_OPTS = \ 42 KERNEL_DIR=$(LINUX_DIR) \ 43 SOC_PLATFORM=st-st \ 44 AQROOT=$(@D) \ 45 DEBUG=0 46 47GCNANO_BINARIES_LIBRARIES = \ 48 libgbm_viv libEGL libGAL libgbm libGLESv1_CM \ 49 libGLESv2 libGLSLC libOpenVG libVSC 50 51GCNANO_BINARIES_USERLAND_SUBDIR = gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION) 52 53GCNANO_BINARIES_PKG_CONFIGS = egl gbm glesv1_cm glesv2 vg 54 55define GCNANO_BINARIES_INSTALL 56 $(foreach lib,$(GCNANO_BINARIES_LIBRARIES), \ 57 $(INSTALL) -D -m 0755 $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/lib/$(lib).$(GCNANO_BINARIES_LIB_VERSION).multi.release.so \ 58 $(1)/usr/lib/$(lib).$(GCNANO_BINARIES_LIB_VERSION).multi.release.so ; \ 59 cp -a $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/lib/$(lib).so* $(1)/usr/lib 60 ) 61 mkdir -p $(1)/usr/include 62 cp -a $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/include/* $(1)/usr/include/ 63 $(foreach pkgconfig,$(GCNANO_BINARIES_PKG_CONFIGS), \ 64 $(INSTALL) -D -m 0644 $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/lib/pkgconfig/$(pkgconfig).pc \ 65 $(1)/usr/lib/pkgconfig/$(pkgconfig).pc 66 ) 67endef 68 69define GCNANO_BINARIES_INSTALL_TARGET_CMDS 70 $(call GCNANO_BINARIES_INSTALL,$(TARGET_DIR)) 71endef 72 73define GCNANO_BINARIES_INSTALL_STAGING_CMDS 74 $(call GCNANO_BINARIES_INSTALL,$(STAGING_DIR)) 75endef 76 77$(eval $(kernel-module)) 78$(eval $(generic-package)) 79