238 lines
5.6 KiB
Plaintext
238 lines
5.6 KiB
Plaintext
|
# Copyright (C) 2006-2013 OpenWrt.org
|
||
|
#
|
||
|
# This is free software, licensed under the GNU General Public License v2.
|
||
|
# See /LICENSE for more information.
|
||
|
#
|
||
|
|
||
|
menuconfig TARGET_OPTIONS
|
||
|
bool "Target Options" if DEVEL
|
||
|
|
||
|
config TARGET_OPTIMIZATION
|
||
|
string "Target Optimizations" if TARGET_OPTIONS
|
||
|
default DEFAULT_TARGET_OPTIMIZATION
|
||
|
help
|
||
|
Optimizations to use when building for the target host.
|
||
|
|
||
|
config SOFT_FLOAT
|
||
|
bool "Use software floating point by default" if TARGET_OPTIONS
|
||
|
default y if !HAS_FPU
|
||
|
depends on arm || armeb || powerpc || mipsel || mips || mips64el || mips64
|
||
|
help
|
||
|
If your target CPU does not have a Floating Point Unit (FPU) or a
|
||
|
kernel FPU emulator, but you still wish to support floating point
|
||
|
functions, then everything will need to be compiled with soft floating
|
||
|
point support (-msoft-float).
|
||
|
|
||
|
Most people will answer N.
|
||
|
|
||
|
config USE_MIPS16
|
||
|
bool "Build packages with MIPS16 instructions" if TARGET_OPTIONS
|
||
|
depends on HAS_MIPS16
|
||
|
default y
|
||
|
help
|
||
|
If your target CPU does support the MIPS16 instruction set
|
||
|
and you want to use it for packages, enable this option.
|
||
|
MIPS16 produces smaller binaries thus reducing pressure on
|
||
|
caches and TLB.
|
||
|
|
||
|
Most people will answer N.
|
||
|
|
||
|
config UPDATE_TOOLCHAIN
|
||
|
bool "Update Toolchain" if DEVEL
|
||
|
default n
|
||
|
help
|
||
|
Compile toolchain and update into prebuilt dir.
|
||
|
|
||
|
config MUSL_OPTIMIZATION
|
||
|
bool "MUSL_OPTIMIZATION" if UPDATE_TOOLCHAIN && USE_MUSL
|
||
|
depends on UPDATE_TOOLCHAIN
|
||
|
depends on arm
|
||
|
default y
|
||
|
help
|
||
|
MUSL C library optimization.
|
||
|
|
||
|
config NEED_TOOLCHAIN
|
||
|
bool
|
||
|
depends on DEVEL
|
||
|
default y if !EXTERNAL_TOOLCHAIN
|
||
|
|
||
|
choice
|
||
|
prompt "Select external toolchain C library" if DEVEL
|
||
|
depends on EXTERNAL_TOOLCHAIN
|
||
|
default EXT_TOOLCHAIN_LIBC_USE_MUSL
|
||
|
help
|
||
|
Select the C library implementation.
|
||
|
config EXT_TOOLCHAIN_LIBC_USE_GLIBC
|
||
|
bool "Use glibc"
|
||
|
select USE_GLIBC
|
||
|
depends on !arc
|
||
|
|
||
|
config EXT_TOOLCHAIN_LIBC_USE_MUSL
|
||
|
bool "Use musl"
|
||
|
select USE_MUSL
|
||
|
depends on !(arc || mips64 || mips64el)
|
||
|
endchoice
|
||
|
|
||
|
menuconfig TOOLCHAINOPTS
|
||
|
bool "Toolchain Options" if DEVEL
|
||
|
depends on NEED_TOOLCHAIN
|
||
|
|
||
|
menuconfig EXTRA_TARGET_ARCH
|
||
|
bool
|
||
|
prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS
|
||
|
depends on !sparc
|
||
|
default y if powerpc64
|
||
|
default n
|
||
|
help
|
||
|
Some builds may require a 'biarch' toolchain. This option
|
||
|
allows you to specify an additional target arch.
|
||
|
|
||
|
Most people will answer N here.
|
||
|
|
||
|
config EXTRA_TARGET_ARCH_NAME
|
||
|
string
|
||
|
default "powerpc64" if powerpc64
|
||
|
prompt "Extra architecture name" if EXTRA_TARGET_ARCH
|
||
|
help
|
||
|
Specify the cpu name (eg powerpc64 or x86_64) of the
|
||
|
additional target architecture.
|
||
|
|
||
|
config EXTRA_TARGET_ARCH_OPTS
|
||
|
string
|
||
|
default "-m64" if powerpc64
|
||
|
prompt "Extra architecture compiler options" if EXTRA_TARGET_ARCH
|
||
|
help
|
||
|
If you're specifying an addition target architecture,
|
||
|
you'll probably need to also provide options to make
|
||
|
the compiler use this alternate arch.
|
||
|
|
||
|
For example, if you're building a compiler that can build
|
||
|
both powerpc and powerpc64 binaries, you'll need to
|
||
|
specify -m64 here.
|
||
|
|
||
|
|
||
|
choice
|
||
|
prompt "MIPS64 user-land ABI" if TOOLCHAINOPTS && (mips64 || mips64el)
|
||
|
default MIPS64_ABI_N64
|
||
|
help
|
||
|
MIPS64 supports 3 different user-land ABIs: o32 (legacy),
|
||
|
n32 and n64.
|
||
|
|
||
|
config MIPS64_ABI_N64
|
||
|
bool "n64"
|
||
|
|
||
|
config MIPS64_ABI_N32
|
||
|
bool "n32"
|
||
|
|
||
|
config MIPS64_ABI_O32
|
||
|
bool "o32"
|
||
|
|
||
|
endchoice
|
||
|
|
||
|
comment "Binary tools"
|
||
|
depends on TOOLCHAINOPTS
|
||
|
|
||
|
source "toolchain/binutils/Config.in"
|
||
|
|
||
|
comment "Compiler"
|
||
|
depends on TOOLCHAINOPTS
|
||
|
|
||
|
source "toolchain/gcc/Config.in"
|
||
|
|
||
|
comment "C Library"
|
||
|
depends on TOOLCHAINOPTS
|
||
|
|
||
|
choice
|
||
|
prompt "C Library implementation" if TOOLCHAINOPTS
|
||
|
depends on UPDATE_TOOLCHAIN
|
||
|
default LIBC_USE_GLIBC if mips64 || mips64el
|
||
|
default LIBC_USE_UCLIBC if arc
|
||
|
default LIBC_USE_MUSL
|
||
|
help
|
||
|
Select the C library implementation.
|
||
|
|
||
|
config LIBC_USE_GLIBC
|
||
|
bool "Use glibc"
|
||
|
select USE_GLIBC
|
||
|
depends on !arc
|
||
|
|
||
|
config LIBC_USE_MUSL
|
||
|
select USE_MUSL
|
||
|
bool "Use musl"
|
||
|
depends on !(arc || mips64 || mips64el)
|
||
|
|
||
|
endchoice
|
||
|
|
||
|
source "toolchain/glibc/Config.in"
|
||
|
|
||
|
comment "Debuggers"
|
||
|
depends on TOOLCHAINOPTS
|
||
|
|
||
|
config GDB
|
||
|
bool
|
||
|
prompt "Build gdb" if TOOLCHAINOPTS
|
||
|
default y if !EXTERNAL_TOOLCHAIN
|
||
|
help
|
||
|
Enable if you want to build the gdb.
|
||
|
|
||
|
config INSIGHT
|
||
|
bool
|
||
|
prompt "Build insight-gdb" if TOOLCHAINOPTS
|
||
|
select GDB
|
||
|
default n
|
||
|
help
|
||
|
Enable if you want to build insight-gdb.
|
||
|
|
||
|
|
||
|
config TOOLCHAIN_LIBC
|
||
|
string
|
||
|
depends on !UPDATE_TOOLCHAIN
|
||
|
default "glibc" if EXT_TOOLCHAIN_LIBC_USE_GLIBC
|
||
|
default "musl" if !EXT_TOOLCHAIN_LIBC_USE_GLIBC
|
||
|
|
||
|
config USE_GLIBC
|
||
|
default y if USE_EXTERNAL_LIBC && EXT_TOOLCHAIN_LIBC_USE_GLIBC
|
||
|
default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && (mips64 || mips64el)
|
||
|
bool
|
||
|
|
||
|
config USE_UCLIBC
|
||
|
default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && (arc)
|
||
|
bool
|
||
|
|
||
|
config USE_MUSL
|
||
|
default y if USE_EXTERNAL_LIBC && !EXT_TOOLCHAIN_LIBC_USE_GLIBC
|
||
|
default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !(arc || mips64 || mips64el)
|
||
|
bool
|
||
|
|
||
|
config USE_EXTERNAL_LIBC
|
||
|
bool
|
||
|
default y if EXTERNAL_TOOLCHAIN
|
||
|
|
||
|
source "toolchain/binutils/Config.version"
|
||
|
source "toolchain/gcc/Config.version"
|
||
|
|
||
|
source "toolchain/glibc/Config.version"
|
||
|
source "toolchain/musl/Config.version"
|
||
|
|
||
|
config LIBC
|
||
|
string
|
||
|
default "glibc" if USE_GLIBC
|
||
|
default "musl" if USE_MUSL
|
||
|
|
||
|
config LIBC_VERSION
|
||
|
string
|
||
|
default GLIBC_VERSION if USE_GLIBC
|
||
|
default MUSL_VERSION if USE_MUSL
|
||
|
|
||
|
config TARGET_SUFFIX
|
||
|
string
|
||
|
default "gnueabi" if USE_GLIBC && (arm || armeb)
|
||
|
default "gnu" if USE_GLIBC && !(arm || armeb)
|
||
|
default "muslgnueabi" if USE_MUSL && (arm || armeb)
|
||
|
default "musl" if USE_MUSL && !(arm || armeb)
|
||
|
|
||
|
config EXTERNAL_TOOLCHAIN
|
||
|
bool
|
||
|
default y if !UPDATE_TOOLCHAIN
|
||
|
|