summaryrefslogtreecommitdiff
path: root/extra/Configs/Config.in.arch
blob: c13497893414f986207f6c52e1be3e8f48f95cd2 (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
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
#
# For a description of the syntax of this configuration file,
# see extra/config/Kconfig-language.txt
#


#
# Binary format
#
if !ARCH_USE_MMU
choice
	prompt "Target File Format"
config UCLIBC_FORMAT_ELF
	bool "ELF (using ELF_FDPIC loader)"
	depends on !ARCH_USE_MMU && (TARGET_arm || TARGET_m68k || \
				     TARGET_riscv32 || TARGET_riscv64)
	select DOPIC
	select STATIC_PIE
	select ARCH_HAS_NO_SHARED
	select HAVE_LDSO
config UCLIBC_FORMAT_FDPIC_ELF
	bool "FDPIC ELF"
	depends on !ARCH_USE_MMU && (TARGET_bfin || TARGET_frv || TARGET_arm || TARGET_xtensa)
	select DOPIC
config UCLIBC_FORMAT_DSBT_ELF
	bool "DBST ELF"
	depends on !ARCH_USE_MMU && TARGET_c6x
	select DOPIC
config UCLIBC_FORMAT_FLAT
	bool "STATIC FLAT"
	depends on !ARCH_USE_MMU && !TARGET_frv
	select ARCH_HAS_NO_LDSO
config UCLIBC_FORMAT_FLAT_SEP_DATA
	bool "STATIC FLAT (sep-data)"
	depends on !ARCH_USE_MMU && !TARGET_frv
	select ARCH_HAS_NO_LDSO
endchoice
endif
if ARCH_USE_MMU
comment "Using ELF file format"
endif

config ARCH_HAS_DEPRECATED_SYSCALLS
	bool
	help
	  New architectures do not support deprecated system calls. However,
	  these system calls are needed to build linuxthreads so
	  this symbol controls whether there is support for these threading libraries
	  or not.

#
# Endian Format
#
config ARCH_ANY_ENDIAN
	bool
config ARCH_BIG_ENDIAN
	bool
config ARCH_LITTLE_ENDIAN
	bool
if ARCH_ANY_ENDIAN
choice
	prompt "Target Processor Endianness"
	help
	  This is the endianness you wish to use.  Choose either Big
	  Endian, or Little Endian.
config ARCH_WANTS_BIG_ENDIAN
	bool "Big Endian"
	select ARCH_BIG_ENDIAN
config ARCH_WANTS_LITTLE_ENDIAN
	bool "Little Endian"
	select ARCH_LITTLE_ENDIAN
endchoice
endif
# if the arch only supports one endian, just display the setting
if !ARCH_ANY_ENDIAN && ARCH_LITTLE_ENDIAN
comment "Using Little Endian"
endif
if !ARCH_ANY_ENDIAN && ARCH_BIG_ENDIAN
comment "Using Big Endian"
endif

config ARCH_HAS_NO_MMU
	bool
if ARCH_HAS_NO_MMU
comment "Target CPU lacks a memory management unit (MMU)"
endif

config ARCH_HAS_MMU
	bool "Target CPU has a memory management unit (MMU)"
	depends on !ARCH_HAS_NO_MMU
	default y
	help
	  If your target CPU does not have a memory management unit (MMU), 
	  then answer N here.  Normally, Linux runs on systems with an MMU.  
	  If you are building a uClinux system, answer N.

	  Most people will answer Y.

config ARCH_USE_MMU
	bool "Do you want to utilize the MMU?"
	depends on ARCH_HAS_MMU
	default y
	help
	  If your target CPU has a MMU, and you wish to actually utilize it,
	  then answer Y here.  Normal Linux requires an MMU.

	  If you're unsure, answer Y.

config UCLIBC_HAS_FLOATS
	bool "Enable floating point number support"
	default y
	help
	  This option allows you to entirely omit all floating point number
	  support from uClibc.  This will cause floating point functions like
	  strtod() to be omitted from uClibc.  Other floating point functions, 
	  such as printf() and scanf() will still be included in the library, 
	  but will not contain support for floating point numbers.

	  Answering N to this option can reduce the size of uClibc.
	  Most people will answer Y.

config UCLIBC_HAS_FPU
	bool "Target CPU has a floating point unit (FPU)"
	default y
	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 uClibc will need to be compiled with soft floating
	  point support (-msoft-float).  If your target CPU does not have an
	  FPU or an FPU emulator within the Linux kernel, then you should
	  answer N.

	  Most people will answer Y.

config UCLIBC_HAS_SOFT_FLOAT
	bool
	depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU
	default y

config DO_C99_MATH
	bool "Enable full C99 math library support"
	depends on UCLIBC_HAS_FLOATS
	help
	  If you want the uClibc math library to contain the full set C99
	  math library features, then answer Y.  If you leave this set to
	  N the math library will contain only the math functions that were
	  listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard.
	  Leaving this option set to N will save around 35k on an x86 system.

	  If your applications require the newer C99 math library functions, 
	  then answer Y.

config DO_XSI_MATH
	bool "Enable XSI math extensions to the ISO C standard (bessel)"
	depends on UCLIBC_HAS_FLOATS
	help
	  X/Open System Interfaces extensions to ISO C math functions
	  (differential equation functions):

	  j0, j1, jn - Bessel functions of the first kind
	  y0, y1, yn - Bessel functions of the second kind

config UCLIBC_HAS_FENV
	bool "Enable C99 Floating-point environment"
	depends on UCLIBC_HAS_FLOATS
	depends on TARGET_i386 || \
		   TARGET_metag || \
		   TARGET_nds32 || \
		   (TARGET_powerpc && CONFIG_E500) || \
		   TARGET_x86_64
	help
	  If you want the uClibc math library to contain the C99 floating
	  point environment, rounding and exception handling functions then
	  say Y here.

config UCLIBC_HAS_LONG_DOUBLE_MATH
	bool "Enable long double support"
	depends on DO_C99_MATH
	default y
	help
	  If you want the uClibc math library to contain the full set of C99
	  long double math library features, then answer Y.
	  Danger: These are only wrappers to the double library functions!

config KERNEL_HEADERS
	string "Linux kernel header location"
	default ""
	help
	  The kernel source you use to compile with should be the same
	  as the Linux kernel you run your apps on.  uClibc doesn't even
	  try to achieve binary compatibility across kernel versions.
	  So don't expect, for example, uClibc compiled with Linux kernel
	  2.0.x to implement lchown properly, since 2.0.x can't do that.
	  Similarly, if you compile uClibc vs Linux 2.4.x kernel headers,
	  but then run on Linux 2.0.x, lchown will be compiled into uClibc,
	  but won't work at all.  You have been warned.

	  If you don't set this, we'll assume the toolchain can find them.

config UCLIBC_UCLINUX_BROKEN_MUNMAP
	bool
	depends on !ARCH_USE_MMU
	default y

config HAVE_DOT_CONFIG
	bool
	default y