initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,161 @@
|
||||
# All host rust packages should depend on this option
|
||||
config BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
||||
|
||||
# The pre-built Rust standard library is only available for a number
|
||||
# of architectures/C libraries combinations, with different levels of
|
||||
# support: Tier 1 platforms, Tier 2 platforms with host tools, Tier 2
|
||||
# platforms, Tier 3 platforms. Below, we support Tier 1, Tier 2 with
|
||||
# host tools and Tier 2 platforms.
|
||||
|
||||
# The below entries match Tier 1 platforms as described at
|
||||
# https://doc.rust-lang.org/nightly/rustc/platform-support.html.
|
||||
config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER1_PLATFORMS
|
||||
bool
|
||||
# aarch64-unknown-linux-gnu
|
||||
default y if BR2_aarch64 && BR2_TOOLCHAIN_USES_GLIBC
|
||||
# i686-unknown-linux-gnu
|
||||
default y if (BR2_i686 || BR2_x86_pentiumpro || BR2_X86_CPU_HAS_MMX) && BR2_TOOLCHAIN_USES_GLIBC
|
||||
# x86_64-unknown-linux-gnu
|
||||
default y if BR2_x86_64 && BR2_TOOLCHAIN_USES_GLIBC
|
||||
|
||||
# The below entries match Tier 2 platforms with host tools as
|
||||
# described at
|
||||
# https://doc.rust-lang.org/nightly/rustc/platform-support.html.
|
||||
config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_HOST_TOOLS_PLATFORMS
|
||||
bool
|
||||
# aarch64-unknown-linux-musl
|
||||
default y if BR2_aarch64 && BR2_TOOLCHAIN_USES_MUSL
|
||||
# arm-unknown-linux-gnueabi
|
||||
default y if BR2_ARM_CPU_ARMV6 && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_GLIBC
|
||||
# arm-unknown-linux-gnueabihf
|
||||
default y if BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC
|
||||
# armv7-unknown-linux-gnueabihf
|
||||
default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_GLIBC
|
||||
# mips-unknown-linux-gnu
|
||||
default y if BR2_mips && BR2_TOOLCHAIN_USES_GLIBC && !BR2_MIPS_CPU_MIPS32R6
|
||||
# mips64-unknown-linux-gnuabi64
|
||||
default y if BR2_mips64 && BR2_TOOLCHAIN_USES_GLIBC && BR2_MIPS_NABI64 && !BR2_MIPS_CPU_MIPS64R6
|
||||
# mipsel-unknown-linux-gnu
|
||||
default y if BR2_mipsel && BR2_TOOLCHAIN_USES_GLIBC && !BR2_MIPS_CPU_MIPS32R6
|
||||
# mips64el-unknown-linux-gnuabi64
|
||||
default y if BR2_mips64el && BR2_TOOLCHAIN_USES_GLIBC && BR2_MIPS_NABI64 && !BR2_MIPS_CPU_MIPS64R6
|
||||
# powerpc-unknown-linux-gnu
|
||||
default y if BR2_powerpc && BR2_TOOLCHAIN_USES_GLIBC
|
||||
# powerpc64-unknown-linux-gnu
|
||||
default y if BR2_powerpc64 && BR2_TOOLCHAIN_USES_GLIBC
|
||||
# powerpc64le-unknown-linux-gnu
|
||||
default y if BR2_powerpc64le && BR2_TOOLCHAIN_USES_GLIBC
|
||||
# riscv64gc-unknown-linux-gnu
|
||||
# "g" stands for imafd, and we also need "c".
|
||||
default y if BR2_riscv && BR2_RISCV_ISA_RVI && BR2_RISCV_ISA_RVM && \
|
||||
BR2_RISCV_ISA_RVA && BR2_RISCV_ISA_RVF && \
|
||||
BR2_RISCV_ISA_RVD && BR2_RISCV_ISA_RVC && \
|
||||
BR2_TOOLCHAIN_USES_GLIBC
|
||||
# x86_64-unknown-linux-musl
|
||||
default y if BR2_x86_64 && BR2_TOOLCHAIN_USES_MUSL
|
||||
|
||||
# The below entries match Tier 2 platforms without host tools as
|
||||
# described at
|
||||
# https://doc.rust-lang.org/nightly/rustc/platform-support.html.
|
||||
config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_PLATFORMS
|
||||
bool
|
||||
# arm-unknown-linux-musleabi
|
||||
default y if BR2_ARM_CPU_ARMV6 && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_MUSL
|
||||
# arm-unknown-linux-musleabihf
|
||||
default y if BR2_ARM_CPU_ARMV6 && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_MUSL
|
||||
# armv5te-unknown-linux-gnueabi
|
||||
default y if BR2_ARM_CPU_ARMV5 && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_GLIBC
|
||||
# armv5te-unknown-linux-musleabi
|
||||
default y if BR2_ARM_CPU_ARMV5 && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_MUSL
|
||||
# armv7-unknown-linux-gnueabi
|
||||
default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_GLIBC
|
||||
# armv7-unknown-linux-musleabi
|
||||
default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABI && BR2_TOOLCHAIN_USES_MUSL
|
||||
# armv7-unknown-linux-musleabihf
|
||||
default y if BR2_ARM_CPU_ARMV7A && BR2_ARM_EABIHF && BR2_TOOLCHAIN_USES_MUSL
|
||||
# i586-unknown-linux-gnu
|
||||
default y if BR2_i586 && BR2_TOOLCHAIN_USES_GLIBC
|
||||
# i586-unknown-linux-musl
|
||||
default y if BR2_i586 && BR2_TOOLCHAIN_USES_MUSL
|
||||
# i686-unknown-linux-musl
|
||||
default y if (BR2_i686 || BR2_x86_pentiumpro || BR2_X86_CPU_HAS_MMX) && BR2_TOOLCHAIN_USES_MUSL
|
||||
# mips-unknown-linux-musl
|
||||
default y if BR2_mips && BR2_TOOLCHAIN_USES_MUSL && !BR2_MIPS_CPU_MIPS32R6
|
||||
# mips64-unknown-linux-muslabi64
|
||||
default y if BR2_mips64 && BR2_TOOLCHAIN_USES_MUSL && BR2_MIPS_NABI64 && !BR2_MIPS_CPU_MIPS64R6
|
||||
# mips64el-unknown-linux-muslabi64
|
||||
default y if BR2_mips64el && BR2_TOOLCHAIN_USES_MUSL && BR2_MIPS_NABI64 && !BR2_MIPS_CPU_MIPS64R6
|
||||
# mipsel-unknown-linux-musl
|
||||
default y if BR2_mipsel && BR2_TOOLCHAIN_USES_MUSL && !BR2_MIPS_CPU_MIPS32R6
|
||||
# sparc64-unknown-linux-gnu
|
||||
default y if BR2_sparc64 && BR2_TOOLCHAIN_USES_GLIBC
|
||||
|
||||
# All target rust packages should depend on this option
|
||||
config BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if BR2_PACKAGE_HOST_RUSTC_TARGET_TIER1_PLATFORMS
|
||||
default y if BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_HOST_TOOLS_PLATFORMS
|
||||
default y if BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_PLATFORMS
|
||||
depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
|
||||
|
||||
config BR2_PACKAGE_HOST_RUSTC_ARCH
|
||||
string
|
||||
default "armv7" if BR2_ARM_CPU_ARMV7A
|
||||
default BR2_ARCH if !BR2_ARM_CPU_ARMV7A
|
||||
|
||||
config BR2_PACKAGE_HOST_RUSTC_ABI
|
||||
string
|
||||
default "eabi" if BR2_ARM_EABI
|
||||
default "eabihf" if BR2_ARM_EABIHF
|
||||
default "abi64" if BR2_MIPS_NABI64
|
||||
|
||||
config BR2_PACKAGE_HOST_RUSTC
|
||||
bool "host rustc"
|
||||
depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
|
||||
help
|
||||
Compiler for the Rust language
|
||||
|
||||
http://www.rust-lang.org
|
||||
|
||||
if BR2_PACKAGE_HOST_RUSTC
|
||||
|
||||
choice
|
||||
prompt "Rust compiler variant"
|
||||
default BR2_PACKAGE_HOST_RUST_BIN
|
||||
help
|
||||
Select a Rust compiler
|
||||
|
||||
config BR2_PACKAGE_HOST_RUST
|
||||
bool "host rust"
|
||||
# RUSTC_TARGET_NAME must be set for building host-rust
|
||||
# otherwise config.toml is broken.
|
||||
depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
|
||||
# triggers ICE on trunc_int_for_mode, at explow.c:56
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 || !BR2_aarch64
|
||||
help
|
||||
This package will build the compiler for the host as well as
|
||||
two flavors of the standard library: one for the host, another
|
||||
for the target. Both are installed in the host directory.
|
||||
|
||||
comment "host-rust needs a toolchain w/ gcc >= 5"
|
||||
depends on BR2_aarch64
|
||||
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
||||
|
||||
config BR2_PACKAGE_HOST_RUST_BIN
|
||||
bool "host rust (pre-built)"
|
||||
help
|
||||
This package will install pre-built versions of the compiler
|
||||
for the host and the Rust standard library for the target.
|
||||
|
||||
endchoice
|
||||
|
||||
endif
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_HOST_RUSTC
|
||||
string
|
||||
default "host-rust" if BR2_PACKAGE_HOST_RUST
|
||||
# Default to host-rust-bin as long as host arch supports it
|
||||
default "host-rust-bin" if !BR2_PACKAGE_HOST_RUST
|
||||
depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
|
||||
@@ -0,0 +1,2 @@
|
||||
[target.@RUSTC_TARGET_NAME@]
|
||||
linker = "@CROSS_PREFIX@gcc"
|
||||
@@ -0,0 +1,34 @@
|
||||
################################################################################
|
||||
#
|
||||
# rustc
|
||||
#
|
||||
################################################################################
|
||||
|
||||
RUSTC_ARCH = $(call qstrip,$(BR2_PACKAGE_HOST_RUSTC_ARCH))
|
||||
RUSTC_ABI = $(call qstrip,$(BR2_PACKAGE_HOST_RUSTC_ABI))
|
||||
|
||||
ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y)
|
||||
RUSTC_TARGET_NAME = $(RUSTC_ARCH)-unknown-linux-$(LIBC)$(RUSTC_ABI)
|
||||
endif
|
||||
|
||||
ifeq ($(HOSTARCH),x86)
|
||||
RUSTC_HOST_ARCH = i686
|
||||
else
|
||||
RUSTC_HOST_ARCH = $(HOSTARCH)
|
||||
endif
|
||||
|
||||
RUSTC_HOST_NAME = $(RUSTC_HOST_ARCH)-unknown-linux-gnu
|
||||
|
||||
$(eval $(host-virtual-package))
|
||||
|
||||
ifeq ($(BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS),y)
|
||||
define RUSTC_INSTALL_CARGO_CONFIG
|
||||
mkdir -p $(HOST_DIR)/share/cargo
|
||||
sed -e 's/@RUSTC_TARGET_NAME@/$(RUSTC_TARGET_NAME)/' \
|
||||
-e 's/@CROSS_PREFIX@/$(notdir $(TARGET_CROSS))/' \
|
||||
package/rustc/cargo-config.in \
|
||||
> $(HOST_DIR)/share/cargo/config
|
||||
endef
|
||||
# check-package disable TypoInPackageVariable - TOOLCHAIN intended
|
||||
TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += RUSTC_INSTALL_CARGO_CONFIG
|
||||
endif
|
||||
Reference in New Issue
Block a user