summaryrefslogtreecommitdiffstats
path: root/toolchain/toolchain-common.in
blob: 2c54acdaeac56a1472d0ab1398f809768e10941d (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
# 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"

config BR2_LARGEFILE
	bool

config BR2_INET_IPV6
	bool

config BR2_INET_RPC
	bool

config BR2_USE_WCHAR
	bool

config BR2_ENABLE_LOCALE
	bool

config BR2_PROGRAM_INVOCATION
	bool

config BR2_INSTALL_LIBSTDCPP
	bool

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_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_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.