mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
Merge from bittboy/buildroot@db180c0
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
config BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
|
||||
bool "Codescape MTI GNU Linux Toolchain 2018.09"
|
||||
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
||||
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_7
|
||||
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
||||
depends on BR2_MIPS_CPU_MIPS32R2 || (BR2_MIPS_CPU_MIPS64R2 && !BR2_MIPS_SOFT_FLOAT) || \
|
||||
BR2_MIPS_CPU_MIPS32R5 || (BR2_MIPS_CPU_MIPS64R5 && !BR2_MIPS_SOFT_FLOAT)
|
||||
select BR2_TOOLCHAIN_EXTERNAL_GLIBC
|
||||
select BR2_INSTALL_LIBSTDCPP
|
||||
select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7
|
||||
select BR2_TOOLCHAIN_GCC_AT_LEAST_6
|
||||
select BR2_TOOLCHAIN_HAS_FORTRAN
|
||||
select BR2_TOOLCHAIN_HAS_OPENMP
|
||||
help
|
||||
Codescape MTI GNU Linux Toolchain 2018.09 for the MIPS
|
||||
architecture, from MIPS Tech LLC. It uses gcc 6.3.0,
|
||||
binutils 2.28.51, glibc 2.20, gdb 7.9.1 and kernel headers
|
||||
4.7. It has support for the following variants:
|
||||
- MIPS32r2 - Big-Endian, Hard-Float, Legacy NaN, o32 ABI
|
||||
Select 'MIPS (big endian)' Target Architecture
|
||||
Select 'mips 32r2' Target Architecture Variant
|
||||
Disable 'Use soft-float'
|
||||
- MIPS32r2 - Big-Endian, Hard-Float, 2008 NaN, o32 ABI
|
||||
Select 'MIPS (big endian)' Target Architecture
|
||||
Select 'mips 32r2' Target Architecture Variant
|
||||
Disable 'Use soft-float'
|
||||
Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
|
||||
- MIPS32r2 - Big-Endian, Soft-Float, Legacy NaN, o32 ABI
|
||||
Select 'MIPS (big endian)' Target Architecture
|
||||
Select 'mips 32r2' Target Architecture Variant
|
||||
Enable 'Use soft-float'
|
||||
- MIPS32r2 - Little-Endian, Hard-Float, Legacy NaN, o32 ABI
|
||||
Select 'MIPS (little endian)' Target Architecture
|
||||
Select 'mips 32r2' Target Architecture Variant
|
||||
Disable 'Use soft-float'
|
||||
- MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI
|
||||
Select 'MIPS (little endian)' Target Architecture
|
||||
Select 'mips 32r2' Target Architecture Variant
|
||||
Disable 'Use soft-float'
|
||||
Set BR2_TARGET_OPTIMIZATION to '-mnan=2008'
|
||||
- MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI
|
||||
Select 'MIPS (little endian)' Target Architecture
|
||||
Select 'mips 32r2' Target Architecture Variant
|
||||
Enable 'Use soft-float'
|
||||
- MIPS32r2 - Little-Endian, Hard-Float, 2008 NaN, o32 ABI,
|
||||
microMIPS
|
||||
Select 'MIPS (little endian)' Target Architecture
|
||||
Select 'mips 32r2' Target Architecture Variant
|
||||
Enable 'Use soft-float'
|
||||
Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
|
||||
- MIPS32r2 - Little-Endian, Soft-Float, Legacy NaN, o32 ABI,
|
||||
microMIPS
|
||||
Select 'MIPS (little endian)' Target Architecture
|
||||
Select 'mips 32r2' Target Architecture Variant
|
||||
Disable 'Use soft-float'
|
||||
Set BR2_TARGET_OPTIMIZATION to '-mmicromips'
|
||||
- MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n32 ABI
|
||||
Select 'MIPS64 (big endian)' Target Architecture
|
||||
Select 'mips 64r2' Target Architecture Variant
|
||||
Select 'n32' Target ABI
|
||||
Disable 'Use soft-float'
|
||||
- MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n32 ABI
|
||||
Select 'MIPS64 (little endian)' Target Architecture
|
||||
Select 'mips 64r2' Target Architecture Variant
|
||||
Select 'n32' Target ABI
|
||||
Disable 'Use soft-float'
|
||||
- MIPS64r2 - Big-Endian, Hard-Float, Legacy NaN, n64 ABI
|
||||
Select 'MIPS64 (big endian)' Target Architecture
|
||||
Select 'mips 64r2' Target Architecture Variant
|
||||
Select 'n64' Target ABI
|
||||
Disable 'Use soft-float'
|
||||
- MIPS64r2 - Little-Endian, Hard-Float, Legacy NaN, n64 ABI
|
||||
Select 'MIPS64 (little endian)' Target Architecture
|
||||
Select 'mips 64r2' Target Architecture Variant
|
||||
Select 'n64' Target ABI
|
||||
Disable 'Use soft-float'
|
||||
@@ -0,0 +1,9 @@
|
||||
if BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
|
||||
|
||||
config BR2_TOOLCHAIN_EXTERNAL_PREFIX
|
||||
default "mips-mti-linux-gnu"
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL
|
||||
default "toolchain-external-codescape-mti-mips"
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,4 @@
|
||||
# Codescape toolchains from MIPS Tech LLC
|
||||
# From: https://codescape.mips.com/components/toolchain/nanomips/2018.09-02/downloads.html
|
||||
sha256 c883a404fd7ea5718e2249a530802e223381f2be52265f88e9b1ce7035c232f3 Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.MTI.Linux.CentOS-6.x86.tar.gz
|
||||
sha256 d6310a970b0a8a19ad8e0a2b3ead8c38ee90d0e284a9b2511200ce447f460d2c Codescape.GNU.Tools.Package.2018.09-02.for.MIPS.MTI.Linux.CentOS-6.x86_64.tar.gz
|
||||
@@ -0,0 +1,51 @@
|
||||
################################################################################
|
||||
#
|
||||
# toolchain-external-codescape-mti-mips
|
||||
#
|
||||
################################################################################
|
||||
|
||||
TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION = 2018.09-02
|
||||
TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SITE = https://codescape.mips.com/components/toolchain/$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION)
|
||||
TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STRIP_COMPONENTS = 2
|
||||
|
||||
ifeq ($(HOSTARCH),x86)
|
||||
TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-6.x86.tar.gz
|
||||
else
|
||||
TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SOURCE = Codescape.GNU.Tools.Package.$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_VERSION).for.MIPS.MTI.Linux.CentOS-6.x86_64.tar.gz
|
||||
endif
|
||||
|
||||
# Special fixup for Codescape MIPS toolchains, that have bin-<abi> and
|
||||
# sbin-<abi> directories. We create symlinks bin -> bin-<abi> and sbin
|
||||
# -> sbin-<abi> so that the rest of Buildroot can find the toolchain
|
||||
# tools in the appropriate location.
|
||||
ifeq ($(BR2_MIPS_OABI32),y)
|
||||
TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX = o32
|
||||
else ifeq ($(BR2_MIPS_NABI32),y)
|
||||
TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX = n32
|
||||
else ifeq ($(BR2_MIPS_NABI64),y)
|
||||
TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX = n64
|
||||
endif
|
||||
|
||||
define TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STAGING_FIXUPS
|
||||
rmdir $(STAGING_DIR)/usr/bin $(STAGING_DIR)/usr/sbin
|
||||
ln -sf bin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/bin
|
||||
ln -sf sbin-$(TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_BIN_DIR_SUFFIX) $(STAGING_DIR)/usr/sbin
|
||||
endef
|
||||
|
||||
# The Codescape toolchain uses a sysroot layout that places them
|
||||
# side-by-side instead of nested like multilibs. A symlink is needed
|
||||
# much like for the nested sysroots which are handled in
|
||||
# copy_toolchain_sysroot but there is not enough information in there
|
||||
# to determine whether the sysroot layout was nested or side-by-side.
|
||||
# Add the symlink here for now.
|
||||
define TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SYMLINK
|
||||
$(Q)ARCH_SYSROOT_DIR="$(call toolchain_find_sysroot,$(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS))"; \
|
||||
ARCH_SUBDIR=`basename $${ARCH_SYSROOT_DIR}`; \
|
||||
ln -snf . $(STAGING_DIR)/$${ARCH_SUBDIR}
|
||||
endef
|
||||
|
||||
TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_POST_INSTALL_STAGING_HOOKS += \
|
||||
TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_STAGING_FIXUPS \
|
||||
TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS_SYMLINK
|
||||
|
||||
$(eval $(toolchain-external-package))
|
||||
Reference in New Issue
Block a user