Update buildroot to 2024.02.2, kernel to 6.6.2, GPU & DRM drivers, nwipe to v0.37 plus many others.

This commit is contained in:
PartialVolume
2024-05-17 17:38:43 +01:00
parent bb87d66c65
commit c000e2a83d
3975 changed files with 50769 additions and 113784 deletions

View File

@@ -53,6 +53,106 @@ PKG_CARGO_ENV = \
CARGO_HOST_RUSTFLAGS="$(addprefix -C link-args=,$(HOST_LDFLAGS))" \
CARGO_TARGET_$(call UPPERCASE,$(RUSTC_TARGET_NAME))_LINKER=$(notdir $(TARGET_CROSS))gcc
# We always set both CARGO_PROFILE_DEV and CARGO_PROFILE_RELEASE
# as we are unable to select a build profile using the environment.
#
# Other cargo profiles generally derive from these two profiles.
# Disable incremental compilation to match release default.
#
# Set codegen-units to release default.
#
# Set split-debuginfo to default off for ELF platforms.
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_INCREMENTAL="false" \
CARGO_PROFILE_RELEASE_INCREMENTAL="false" \
CARGO_PROFILE_DEV_CODEGEN_UNITS="16" \
CARGO_PROFILE_RELEASE_CODEGEN_UNITS="16" \
CARGO_PROFILE_DEV_SPLIT_DEBUGINFO="off" \
CARGO_PROFILE_RELEASE_SPLIT_DEBUGINFO="off"
# Set the optimization level with the release default as fallback.
ifeq ($(BR2_OPTIMIZE_0),y)
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_OPT_LEVEL="0" \
CARGO_PROFILE_RELEASE_OPT_LEVEL="0"
else ifeq ($(BR2_OPTIMIZE_1),y)
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_OPT_LEVEL="1" \
CARGO_PROFILE_RELEASE_OPT_LEVEL="1"
else ifeq ($(BR2_OPTIMIZE_2),y)
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_OPT_LEVEL="2" \
CARGO_PROFILE_RELEASE_OPT_LEVEL="2"
else ifeq ($(BR2_OPTIMIZE_3),y)
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_OPT_LEVEL="3" \
CARGO_PROFILE_RELEASE_OPT_LEVEL="3"
else ifeq ($(BR2_OPTIMIZE_G),y)
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_OPT_LEVEL="0" \
CARGO_PROFILE_RELEASE_OPT_LEVEL="0"
else ifeq ($(BR2_OPTIMIZE_S),y)
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_OPT_LEVEL="s" \
CARGO_PROFILE_RELEASE_OPT_LEVEL="s"
else ifeq ($(BR2_OPTIMIZE_FAST),y)
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_OPT_LEVEL="3" \
CARGO_PROFILE_RELEASE_OPT_LEVEL="3"
else
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_OPT_LEVEL="3" \
CARGO_PROFILE_RELEASE_OPT_LEVEL="3"
endif
ifeq ($(BR2_ENABLE_LTO),y)
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_LTO="true" \
CARGO_PROFILE_RELEASE_LTO="true"
else
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_LTO="false" \
CARGO_PROFILE_RELEASE_LTO="false"
endif
ifeq ($(BR2_ENABLE_DEBUG),y)
ifeq ($(BR2_DEBUG_3),y)
# full debug info
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_DEBUG="2" \
CARGO_PROFILE_RELEASE_DEBUG="2"
else
# line tables only
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_DEBUG="1" \
CARGO_PROFILE_RELEASE_DEBUG="1"
endif
else
# no debug info
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_DEBUG="0" \
CARGO_PROFILE_RELEASE_DEBUG="0"
endif
# Enabling debug-assertions enables the runtime debug_assert! macro.
#
# Enabling overflow-checks enables runtime panic on integer overflow.
ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),y)
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_DEBUG_ASSERTIONS="true" \
CARGO_PROFILE_RELEASE_DEBUG_ASSERTIONS="true" \
CARGO_PROFILE_DEV_OVERFLOW_CHECKS="true" \
CARGO_PROFILE_RELEASE_OVERFLOW_CHECKS="true"
else
PKG_CARGO_ENV += \
CARGO_PROFILE_DEV_DEBUG_ASSERTIONS="false" \
CARGO_PROFILE_RELEASE_DEBUG_ASSERTIONS="false" \
CARGO_PROFILE_DEV_OVERFLOW_CHECKS="false" \
CARGO_PROFILE_RELEASE_OVERFLOW_CHECKS="false"
endif
#
# This is a workaround for https://github.com/rust-lang/compiler-builtins/issues/420
# and should be removed when fixed upstream
@@ -95,9 +195,22 @@ ifneq ($$($(2)_SUBDIR),)
$(2)_DL_ENV += BR_CARGO_MANIFEST_PATH=$$($(2)_SUBDIR)/Cargo.toml
endif
# Because we append vendored info, we can't rely on the values being empty
# once we eventually get into the generic-package infra. So, we duplicate
# the heuristics here
ifndef $(2)_LICENSE
ifdef $(3)_LICENSE
$(2)_LICENSE = $$($(3)_LICENSE)
endif
endif
# Due to vendoring, it is pretty likely that not all licenses are
# listed in <pkg>_LICENSE.
# listed in <pkg>_LICENSE. If the license is unset, it is "unknown"
# so adding unknowns to some unknown is still some other unkown,
# so don't append the blurb in that case.
ifneq ($$($(2)_LICENSE),)
$(2)_LICENSE += , vendored dependencies licenses probably not listed
endif
# Note: in all the steps below, we "cd" into the build directory to
# execute the "cargo" tool instead of passing $(@D)/Cargo.toml as the