summaryrefslogtreecommitdiff
path: root/toolchain/toolchain-common.in
blob: 3c70f9c77858d039c397a4db67b551cb7a5ff139 (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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
# Generic toolchain options

# we want gdb config in the middle of both source and external
# toolchains, but mconf won't let us source the same file twice,
# so put it here instead
source "toolchain/gdb/Config.in"

comment "Common Toolchain Options"

config BR2_LARGEFILE
	bool "Enable large file (files > 2 GB) support?"
	depends on !BR2_cris
	help
	  If you are building your own toolchain and you want to 
	  support files larger than 2GB then enable this option.
	  If you have an external binary toolchain that has been 
	  built with large file support (files > 2GB) then enable 
	  this option.

config BR2_INET_IPV6
	bool "Enable IPv6"
	help
	  If you are building your own toolchain and you want to 
	  enable IPV6 support then enable this option.
	  If you have an external binary toolchain that has been 
	  built with IPV6 support then enable this option.

config BR2_INET_RPC
	bool "Enable RPC"
	help
	  Enable RPC. RPC support is needed for nfs.
	  If you are building your own toolchain and you want to 
	  enable RPC support then enable this option.
	  If you have an external binary toolchain that has been 
	  built with RPC support then enable this option.

config BR2_ENABLE_LOCALE
	bool "Enable toolchain locale/i18n support?"
	select BR2_USE_WCHAR
	help
	  If you are building your own toolchain and you want to 
	  enable locale/i18n support then enable this option.
	  If you have an external binary toolchain that has been 
	  built with locale/i18n support then enable this option.

config BR2_ENABLE_LOCALE_PURGE
	bool "Purge unwanted locales"
	help
	  Explicitly specify what locales to install on target. If N
	  then all locales supported by packages are installed.

config BR2_ENABLE_LOCALE_WHITELIST
	string "Locales to keep"
	default "C en_US de fr"
	depends on BR2_ENABLE_LOCALE_PURGE
	help
	  Whitespace seperated list of locales to allow on target.
	  Locales not listed here will be removed from the target.
	  See 'locale -a' on your host for a list of locales available
	  on your build host, or have a look in /usr/share/locale in
	  the target file system for available locales.

	  Notice that listing a locale here doesn't guarantee that it
	  will be available on the target - That purely depends on the
	  support for that locale in the selected packages.

# glibc and eglibc directly include gettext, so a separatly compiled
# gettext isn't needed and shouldn't be built to avoid conflicts. Some
# packages always need gettext, other packages only need gettext when
# locale support is enabled. See the documentation for how packages
# should rely on the following two options.

config BR2_NEEDS_GETTEXT
	bool
	default y if BR2_TOOLCHAIN_BUILDROOT
	default y if BR2_TOOLCHAIN_EXTERNAL_UCLIBC

config BR2_NEEDS_GETTEXT_IF_LOCALE
	bool
	default y if (BR2_NEEDS_GETTEXT && BR2_ENABLE_LOCALE)

config BR2_USE_WCHAR
	bool "Enable WCHAR support"
	help
	  If you are building your own toolchain and you want to 
	  enable WCHAR support then enable this option.
	  If you have an external binary toolchain that has been built 
	  with WCHAR support then enable this option.

config BR2_PREFER_SOFT_FLOAT
	bool
	default y if BR2_arm || BR2_armeb || BR2_avr32 || BR2_mips || BR2_mipsel

config BR2_SOFT_FLOAT
	bool "Use software floating point by default"
	depends on BR2_arm || BR2_armeb || BR2_avr32 || BR2_mips || BR2_mipsel || BR2_powerpc
	default $(BR2_PREFER_SOFT_FLOAT)
	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).

config BR2_USE_SSP
	bool "Enable stack protection support"
	help
	  Enable stack smashing protection support using GCCs
	  -fstack-protector[-all] option.

	  See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
	  for details.

choice
	prompt "Thread library implementation"
	default BR2_PTHREADS_OLD
	help
	  If you are building your own toolchain then select the type of 
	  libpthreads you want to use.
	  Not all thread variants work with all versions of uClibc,
	  the "linuxthreads (stable/old)" may be a working fallback
	  if you need threading at all.
	  If you have an external binary toolchain then select the type 
	  of libpthreads it was built with.

	config BR2_PTHREADS_NONE
		bool "none"

	config BR2_PTHREADS
		bool "linuxthreads"

	config BR2_PTHREADS_OLD
		bool "linuxthreads (stable/old)"

	config BR2_PTHREADS_NATIVE
		bool "Native POSIX Threading (NPTL)"
		depends on BR2_UCLIBC_VERSION_SNAPSHOT
endchoice

config BR2_PROGRAM_INVOCATION
	bool "Enable 'program invocation name'"
	help
	  Support for the GNU-specific program_invocation_name and
	  program_invocation_short_name strings.  Some GNU packages
	  (like tar and coreutils) utilize these for extra useful
	  output, but in general are not required.
	  If you have an external binary toolchain that has been built
	  with program invocation support then enable this option.

config BR2_GCC_CROSS_CXX
	bool
	help
	  If you are building your own toolchain and want to build 
	  a C++ cross-compiler this needs to be enabled.
	  If you have an external binary toolchain that has a C++ compiler
	  and you want to use it then you need to enable this option.

config BR2_INSTALL_LIBSTDCPP
	bool "Build/install c++ compiler and libstdc++?"
	select BR2_GCC_CROSS_CXX
	depends on !(BR2_avr32 && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31)
	help
	  If you are building your own toolchain and want to build and install
	  the C++ compiler and library then you need to enable this option.
	  If you have an external toolchain that has been built with C++ 
	  support and you want to use the compiler / library then you need 
	  to select this option.

comment "C++ support broken in uClibc 0.9.31 with locale enabled"
	depends on BR2_avr32 && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31

config BR2_TARGET_OPTIMIZATION
	string "Target Optimizations"
	default "-pipe"
	help
	  Optimizations to use when building for the target host.
	  NOTE: gcc optimization level is defined in build options.