mirror of
https://github.com/PartialVolume/shredos.x86_64.git
synced 2026-02-20 17:42:10 +00:00
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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user