source "package/qemu/Config.in.host"
source "package/raspberrypi-usbboot/Config.in.host"
source "package/rauc/Config.in.host"
+ source "package/rustc/Config.in.host"
source "package/s6-rc/Config.in.host"
source "package/sam-ba/Config.in.host"
source "package/squashfs/Config.in.host"
--- /dev/null
+config BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
+ bool
+ depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+ # The pre-built Rust standard library is only available for the
+ # following architectures/ABIs, and is built against glibc.
+ default y if BR2_i386
+ default y if BR2_x86_64
+ default y if BR2_aarch64
+ default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
+ default y if BR2_powerpc || BR2_powerpc64
+ default y if (BR2_mips || BR2_mipsel) && !BR2_MIPS_CPU_MIPS32R6
+ default y if (BR2_mips64 || BR2_mips64el) && !BR2_MIPS_CPU_MIPS64R6 \
+ && BR2_MIPS_NABI64
+ depends on BR2_TOOLCHAIN_USES_GLIBC
+
+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_HAS_HOST_RUSTC
+ bool
+
+config BR2_PACKAGE_PROVIDES_HOST_RUSTC
+ string
--- /dev/null
+################################################################################
+#
+# rustc
+#
+################################################################################
+
+RUSTC_ARCH = $(call qstrip,$(BR2_PACKAGE_HOST_RUSTC_ARCH))
+RUSTC_ABI = $(call qstrip,$(BR2_PACKAGE_HOST_RUSTC_ABI))
+
+RUST_TARGET_NAME = $(RUSTC_ARCH)-unknown-linux-gnu$(RUSTC_ABI)
+
+ifeq ($(HOSTARCH),x86)
+RUSTC_HOST_ARCH = i686
+else
+RUSTC_HOST_ARCH = $(HOSTARCH)
+endif
+
+RUST_HOST_NAME = $(RUSTC_HOST_ARCH)-unknown-linux-gnu
+
+$(eval $(host-virtual-package))