Skip to content
Snippets Groups Projects
Config.in 8.98 KiB
Newer Older
  • Learn to ignore specific revisions
  • # Copyright (C) 2006-2013 OpenWrt.org
    
    Mike Baker's avatar
    Mike Baker committed
    #
    
    # 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.
    
    
    	prompt "Use external toolchain"  if DEVEL
    
    	  If enabled, LEDE will compile using an existing toolchain instead of
    
    
    	config NATIVE_TOOLCHAIN
    		bool
    		prompt "Use host's toolchain"  if DEVEL
    
    		depends on EXTERNAL_TOOLCHAIN
    
    		  If enabled, LEDE will compile using the native toolchain for your
    
    		  host instead of compiling one.
    
    
    	config TARGET_NAME
    		string
    		prompt "Target name"  if DEVEL
    
    		depends on EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
    
    		default "aarch64-unknown-linux-gnu"  if aarch64
    		default "aarch64_be-unknown-linux-gnu"  if aarch64_be
    
    		default "arm-unknown-linux-gnu"      if arm
    		default "armeb-unknown-linux-gnu"    if armeb
    		default "i486-unknown-linux-gnu"     if i386
    		default "mips-unknown-linux-gnu"     if mips
    		default "mipsel-unknown-linux-gnu"   if mipsel
    		default "powerpc-unknown-linux-gnu"  if powerpc
    		default "x86_64-unknown-linux-gnu"   if x86_64
    
    	config TOOLCHAIN_PREFIX
    		string
    		prompt "Toolchain prefix"  if DEVEL
    
    		depends on EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
    
    		default "aarch64-unknown-linux-gnu"  if aarch64
    		default "aarch64_be-unknown-linux-gnu"  if aarch64_be
    
    		default "arm-unknown-linux-gnu-"      if arm
    		default "armeb-unknown-linux-gnu-"    if armeb
    		default "i486-unknown-linux-gnu-"     if i386
    		default "mips-unknown-linux-gnu-"     if mips
    		default "mipsel-unknown-linux-gnu-"   if mipsel
    		default "powerpc-unknown-linux-gnu-"  if powerpc
    		default "x86_64-unknown-linux-gnu-"   if x86_64
    
    	config TOOLCHAIN_ROOT
    		string
    		prompt "Toolchain root"  if DEVEL
    
    		depends on EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
    
    		default "/opt/cross/aarch64-unknown-linux-gnu"  if aarch64
    		default "/opt/cross/aarch64_be-unknown-linux-gnu"  if aarch64_be
    
    		default "/opt/cross/arm-unknown-linux-gnu"      if arm
    		default "/opt/cross/armeb-unknown-linux-gnu"    if armeb
    		default "/opt/cross/i486-unknown-linux-gnu"     if i386
    		default "/opt/cross/mips-unknown-linux-gnu"     if mips
    		default "/opt/cross/mipsel-unknown-linux-gnu"   if mipsel
    		default "/opt/cross/powerpc-unknown-linux-gnu"  if powerpc
    		default "/opt/cross/x86_64-unknown-linux-gnu"   if x86_64
    
    
    	choice TOOLCHAIN_LIBC_TYPE
    
    		depends on EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
    
    		default EXTERNAL_TOOLCHAIN_LIBC_USE_MUSL
    
    		  Specify the libc type used by the external toolchain. The given value
    		  is passed as -m flag to all gcc and g++ invocations. This is mainly
    		  intended for multilib toolchains which support glibc and uclibc at
    		  the same time. If no value is specified, no -m flag is passed.
    
    		config EXTERNAL_TOOLCHAIN_LIBC_USE_GLIBC
    			bool "glibc"
    			select USE_GLIBC
    
    		config EXTERNAL_TOOLCHAIN_LIBC_USE_UCLIBC
    			bool "uClibc"
    			select USE_UCLIBC
    			depends on !(aarch64 || aarch64_be)
    
    		config EXTERNAL_TOOLCHAIN_LIBC_USE_MUSL
    			bool "musl"
    			select USE_MUSL
    
    	endchoice
    
    	config TOOLCHAIN_LIBC
    		string
    		depends on EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
    		default "glibc" if EXTERNAL_TOOLCHAIN_LIBC_USE_GLIBC
    		default "uclibc" if EXTERNAL_TOOLCHAIN_LIBC_USE_UCLIBC
    		default "musl" if EXTERNAL_TOOLCHAIN_LIBC_USE_MUSL
    
    
    	config TOOLCHAIN_BIN_PATH
    		string
    		prompt "Toolchain program path"  if DEVEL
    
    		depends on EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
    
    		  Specify additional directories searched for toolchain binaries
    		  (override PATH). Use ./DIR for directories relative to the root above.
    
    
    	config TOOLCHAIN_INC_PATH
    		string
    		prompt "Toolchain include path"  if DEVEL
    
    		depends on EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
    
    		  Specify additional directories searched for header files (override
    		  CPPFLAGS). Use ./DIR for directories relative to the root above.
    
    
    	config TOOLCHAIN_LIB_PATH
    		string
    		prompt "Toolchain library path"  if DEVEL
    
    		depends on EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN
    
    		  Specify additional directories searched for libraries (override LDFLAGS).
    		  Use ./DIR for directories relative to the root above.
    
    Mike Baker's avatar
    Mike Baker committed
    
    
    Felix Fietkau's avatar
    Felix Fietkau committed
    menuconfig TOOLCHAINOPTS
    
    	depends on NEED_TOOLCHAIN
    
    Felix Fietkau's avatar
    Felix Fietkau committed
    
    
    menuconfig EXTRA_TARGET_ARCH
    	bool
    	prompt "Enable an extra toolchain target architecture" if TOOLCHAINOPTS
    
    	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
    		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
    		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
    
    
    Mike Baker's avatar
    Mike Baker committed
    source "toolchain/binutils/Config.in"
    
    Mike Baker's avatar
    Mike Baker committed
    source "toolchain/gcc/Config.in"
    
    config YASM
    	bool
    	depends on ( i386 || x86_64 )
    	prompt "Build yasm" if TOOLCHAINOPTS
    	default y
    	help
    	  Enable if you want to build yasm
    
    
    	prompt "C Library implementation" if TOOLCHAINOPTS
    
    	default LIBC_USE_UCLIBC if arc
    
    	default LIBC_USE_GLIBC if powerpc64
    
    	  Select the C library implementation.
    
    	config LIBC_USE_GLIBC
    
    Dirk Neukirchen's avatar
    Dirk Neukirchen committed
    		bool "Use glibc"
    
    
    	config LIBC_USE_UCLIBC
    		select USE_UCLIBC
    
    		depends on !(aarch64 || aarch64_be || powerpc64)
    
    		depends on BROKEN || !(arm || armeb || i386 || x86_64 || mips || mipsel || mips64 || mips64el || powerpc)
    
    	config LIBC_USE_MUSL
    		select USE_MUSL
    
    		bool "Use musl"
    
    		depends on !(arc || powerpc64)
    
    Mike Baker's avatar
    Mike Baker committed
    
    
    	depends on !(aarch64 || aarch64_be)
    
    	prompt "Build gdb" if TOOLCHAINOPTS
    
    	default y if !EXTERNAL_TOOLCHAIN
    
    	  Enable if you want to build the gdb.
    
    	default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && (powerpc64)
    
    	default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && (arc)
    
    	default y if !TOOLCHAINOPTS && !EXTERNAL_TOOLCHAIN && !NATIVE_TOOLCHAIN && !(arc || powerpc64)
    
    config USE_EXTERNAL_LIBC
    	bool
    	default y if EXTERNAL_TOOLCHAIN || NATIVE_TOOLCHAIN
    
    source "toolchain/binutils/Config.version"
    
    source "toolchain/gcc/Config.version"
    
    	default "glibc"   if USE_GLIBC
    
    	default "musl"	  if USE_MUSL
    
    	default "gnueabi"         if USE_GLIBC && (arm || armeb)
    	default "gnu"             if USE_GLIBC && !(arm || armeb)
    
    Imre Kaloz's avatar
    Imre Kaloz committed
    	default "uclibcgnueabi"   if USE_UCLIBC && (arm || armeb)
    	default "uclibc"          if USE_UCLIBC && !(arm || armeb)
    
    	default "muslgnueabi"     if USE_MUSL && (arm || armeb)
    	default "musl"            if USE_MUSL && !(arm || armeb)
    
    	depends on mips64 || mips64el
    
    	string
    	default "64" if MIPS64_ABI_N64
    	default "n32" if MIPS64_ABI_N32
    	default "32" if MIPS64_ABI_O32
    	default "64"