initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
comment "gcnano-binaries needs a Linux kernel to be built"
|
||||
depends on BR2_arm
|
||||
depends on !BR2_LINUX_KERNEL
|
||||
|
||||
comment "gcnano-binaries needs a glibc toolchain w/ threads, dynamic library"
|
||||
depends on BR2_arm
|
||||
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_TOOLCHAIN_HAS_THREADS \
|
||||
|| BR2_STATIC_LIBS
|
||||
|
||||
config BR2_PACKAGE_GCNANO_BINARIES
|
||||
bool "gcnano-binaries"
|
||||
depends on BR2_arm
|
||||
depends on BR2_LINUX_KERNEL
|
||||
depends on BR2_TOOLCHAIN_USES_GLIBC
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm, wayland
|
||||
depends on !BR2_STATIC_LIBS
|
||||
select BR2_PACKAGE_HAS_LIBEGL
|
||||
select BR2_PACKAGE_HAS_LIBGBM
|
||||
select BR2_PACKAGE_LIBGBM_HAS_FEATURE_FORMAT_MODIFIER_PLANE_COUNT
|
||||
select BR2_PACKAGE_LIBGBM_HAS_FEATURE_DMA_BUF
|
||||
select BR2_PACKAGE_HAS_LIBGLES
|
||||
select BR2_PACKAGE_LIBDRM
|
||||
select BR2_PACKAGE_WAYLAND
|
||||
help
|
||||
Driver and libaries for stm vivante gcnano gpu.
|
||||
https://github.com/STMicroelectronics/gcnano-binaries/
|
||||
|
||||
if BR2_PACKAGE_GCNANO_BINARIES
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_LIBEGL
|
||||
default "gcnano-binaries"
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_LIBGBM
|
||||
default "gcnano-binaries"
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_LIBGLES
|
||||
default "gcnano-binaries"
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 afec2ba2f524821452d561b56afd2fc241293ea4a6e8598d1663f58e5d16800f gcnano-binaries-1534c3eaabb5ae545a8f97e95f853531365a13fc.tar.gz
|
||||
sha256 7d209718473d18f69f75adb7caf9cb5d4b0a31da068756aa011bea617de3dc57 EULA
|
||||
@@ -0,0 +1,78 @@
|
||||
################################################################################
|
||||
#
|
||||
# gcnano-binaries
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GCNANO_BINARIES_LIB_VERSION = 6.4
|
||||
GCNANO_BINARIES_LIB_REVISION = 3
|
||||
GCNANO_BINARIES_LIB_FULL_VERSION = $(GCNANO_BINARIES_LIB_VERSION).$(GCNANO_BINARIES_LIB_REVISION)
|
||||
GCNANO_BINARIES_DRIVER_VERSION = $(GCNANO_BINARIES_LIB_FULL_VERSION)
|
||||
GCNANO_BINARIES_USERLAND_VERSION = $(GCNANO_BINARIES_LIB_FULL_VERSION)-20200902
|
||||
GCNANO_BINARIES_VERSION = 1534c3eaabb5ae545a8f97e95f853531365a13fc
|
||||
GCNANO_BINARIES_SITE = $(call github,STMicroelectronics,gcnano-binaries,$(GCNANO_BINARIES_VERSION))
|
||||
|
||||
GCNANO_BINARIES_LICENSE = MIT, Vivante End User Software License Terms
|
||||
GCNANO_BINARIES_LICENSE_FILES = EULA
|
||||
GCNANO_BINARIES_REDISTRIBUTE = NO
|
||||
|
||||
GCNANO_BINARIES_DEPENDENCIES = linux wayland libdrm
|
||||
|
||||
GCNANO_BINARIES_INSTALL_STAGING = YES
|
||||
|
||||
GCNANO_BINARIES_PROVIDES = libegl libgles libgbm
|
||||
|
||||
# The Github repository doesn't contain the source code as-is: it
|
||||
# contains a tarball with the kernel driver source code, and a
|
||||
# self-extractible binary for the user-space parts. So we extract both
|
||||
# below, and also extract the EULA text from the self-extractible binary
|
||||
define GCNANO_BINARIES_EXTRACT_HELPER
|
||||
tar --strip-components=1 -xJf $(@D)/gcnano-driver-$(GCNANO_BINARIES_DRIVER_VERSION).tar.xz -C $(@D)
|
||||
awk 'BEGIN { start = 0; } \
|
||||
/^EOEULA/ { start = 0; } \
|
||||
{ if (start) print; } \
|
||||
/<<EOEULA/ { start = 1; }' \
|
||||
$(@D)/gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION).bin > $(@D)/EULA
|
||||
cd $(@D) && sh gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION).bin --auto-accept
|
||||
endef
|
||||
|
||||
GCNANO_BINARIES_POST_EXTRACT_HOOKS += GCNANO_BINARIES_EXTRACT_HELPER
|
||||
|
||||
GCNANO_BINARIES_MODULE_MAKE_OPTS = \
|
||||
KERNEL_DIR=$(LINUX_DIR) \
|
||||
SOC_PLATFORM=st-st \
|
||||
AQROOT=$(@D) \
|
||||
DEBUG=0
|
||||
|
||||
GCNANO_BINARIES_LIBRARIES = \
|
||||
libgbm_viv libEGL libGAL libgbm libGLESv1_CM \
|
||||
libGLESv2 libGLSLC libOpenVG libVSC
|
||||
|
||||
GCNANO_BINARIES_USERLAND_SUBDIR = gcnano-userland-multi-$(GCNANO_BINARIES_USERLAND_VERSION)
|
||||
|
||||
GCNANO_BINARIES_PKG_CONFIGS = egl gbm glesv1_cm glesv2 vg
|
||||
|
||||
define GCNANO_BINARIES_INSTALL
|
||||
$(foreach lib,$(GCNANO_BINARIES_LIBRARIES), \
|
||||
$(INSTALL) -D -m 0755 $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/lib/$(lib).$(GCNANO_BINARIES_LIB_VERSION).multi.release.so \
|
||||
$(1)/usr/lib/$(lib).$(GCNANO_BINARIES_LIB_VERSION).multi.release.so ; \
|
||||
cp -a $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/lib/$(lib).so* $(1)/usr/lib
|
||||
)
|
||||
mkdir -p $(1)/usr/include
|
||||
cp -a $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/include/* $(1)/usr/include/
|
||||
$(foreach pkgconfig,$(GCNANO_BINARIES_PKG_CONFIGS), \
|
||||
$(INSTALL) -D -m 0644 $(@D)/$(GCNANO_BINARIES_USERLAND_SUBDIR)/usr/lib/pkgconfig/$(pkgconfig).pc \
|
||||
$(1)/usr/lib/pkgconfig/$(pkgconfig).pc
|
||||
)
|
||||
endef
|
||||
|
||||
define GCNANO_BINARIES_INSTALL_TARGET_CMDS
|
||||
$(call GCNANO_BINARIES_INSTALL,$(TARGET_DIR))
|
||||
endef
|
||||
|
||||
define GCNANO_BINARIES_INSTALL_STAGING_CMDS
|
||||
$(call GCNANO_BINARIES_INSTALL,$(STAGING_DIR))
|
||||
endef
|
||||
|
||||
$(eval $(kernel-module))
|
||||
$(eval $(generic-package))
|
||||
Reference in New Issue
Block a user