aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/Config.in
blob: ab684bb578783ab5ca6911e2cbd8d8fc42e37698 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#
config NATIVE_TOOLCHAIN
	bool
	prompt "Use host's toolchain" if DEVEL && BROKEN
	default n
	help
		If enabled, OpenWrt will compile using your existing toolchain instead of compiling one

menuconfig TOOLCHAINOPTS
	bool "Toolchain Options" if DEVEL
	depends !NATIVE_TOOLCHAIN

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.

source "toolchain/binutils/Config.in"
source "toolchain/gcc/Config.in"

choice
	prompt "LIBC implementation" if TOOLCHAINOPTS
	default USE_UCLIBC
	help
	  Select the LIBC implementation.

	config USE_EGLIBC
		bool "Use eglibc"
		depends !avr32
		select NO_STRIP
	
	config USE_GLIBC
		bool "Use glibc"
		depends !avr32
		select NO_STRIP
	
	config USE_UCLIBC
		bool "Use uClibc"

endchoice

source "toolchain/eglibc/Config.in"
source "toolchain/glibc/Config.in"
source "toolchain/uClibc/Config.in"

config GDB
	bool
	prompt "Build gdb" if TOOLCHAINOPTS
	default n
	help
		Enable if you want to build the gdb

config LARGEFILE
	bool
	prompt "Enable large file (files > 2 GB) support?" if TOOLCHAINOPTS
	default y
	help
		Enable large file (files > 2 GB) support

config SHADOW_PASSWORDS
	bool
	prompt "Enable shadow password support?" if TOOLCHAINOPTS
	default y
	help
		Enable shadow password support.

config SOFT_FLOAT
	bool
	prompt "Use software floating point by default" if TOOLCHAINOPTS
	default y
	depends on (arm || armeb || powerpc) && !HAS_FPU
	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 TARGET_OPTIMIZATION
	string
	prompt "Target Optimizations" if TOOLCHAINOPTS
	default "-O2 -pipe -march=i686 -funit-at-a-time" if TARGET_x86_mediacenter
	default "-O2 -pipe -march=i486 -funit-at-a-time" if TARGET_x86
	default "-Os -pipe -march=i486 -funit-at-a-time" if TARGET_rdc
	default "-Os -pipe -march=i486 -funit-at-a-time" if TARGET_uml && i386
	default "-Os -pipe -march=athlon64 -funit-at-a-time" if TARGET_uml && x86_64
	default "-Os -pipe -mips32r2 -mtune=mips32r2 -funit-at-a-time" if TARGET_ar71xx
	default "-Os -pipe -mips32 -mtune=mips32 -funit-at-a-time" if mipsel || mips
	default "-Os -pipe -march=armv5te -mtune=xscale -funit-at-a-time" if TARGET_ixp4xx || TARGET_iop32x || TARGET_pxa || TARGET_orion
	default "-Os -pipe -march=armv4 -mtune=arm9tdmi -funit-at-a-time" if TARGET_storm
	default "-Os -pipe -funit-at-a-time"
	help
	  Optimizations to use when building for the target host.

config USE_UCLIBC
	bool
	default y if !TOOLCHAINOPTS

source "toolchain/gcc/Config.version"

source "toolchain/eglibc/Config.version"
source "toolchain/glibc/Config.version"
source "toolchain/uClibc/Config.version"

config LIBC
	string
	default "eglibc"  if USE_EGLIBC
	default "glibc"   if USE_GLIBC
	default "uClibc"  if USE_UCLIBC

config LIBC_VERSION
	string
	default EGLIBC_VERSION  if USE_EGLIBC
	default GLIBC_VERSION   if USE_GLIBC
	default UCLIBC_VERSION  if USE_UCLIBC

config TARGET_SUFFIX
	string
	default "gnueabi"         if (USE_EGLIBC || USE_GLIBC) && EABI_SUPPORT
	default "gnu"             if (USE_EGLIBC || USE_GLIBC) && !EABI_SUPPORT
	default "uclibcgnueabi"   if USE_UCLIBC && EABI_SUPPORT
	default "uclibc"          if USE_UCLIBC && !EABI_SUPPORT