bump version for 1.0.49 release
[uclibc-ng.git] / extra / Configs / Config.in.arch
blobc13497893414f986207f6c52e1be3e8f48f95cd2
2 # For a description of the syntax of this configuration file,
3 # see extra/config/Kconfig-language.txt
8 # Binary format
10 if !ARCH_USE_MMU
11 choice
12         prompt "Target File Format"
13 config UCLIBC_FORMAT_ELF
14         bool "ELF (using ELF_FDPIC loader)"
15         depends on !ARCH_USE_MMU && (TARGET_arm || TARGET_m68k || \
16                                      TARGET_riscv32 || TARGET_riscv64)
17         select DOPIC
18         select STATIC_PIE
19         select ARCH_HAS_NO_SHARED
20         select HAVE_LDSO
21 config UCLIBC_FORMAT_FDPIC_ELF
22         bool "FDPIC ELF"
23         depends on !ARCH_USE_MMU && (TARGET_bfin || TARGET_frv || TARGET_arm || TARGET_xtensa)
24         select DOPIC
25 config UCLIBC_FORMAT_DSBT_ELF
26         bool "DBST ELF"
27         depends on !ARCH_USE_MMU && TARGET_c6x
28         select DOPIC
29 config UCLIBC_FORMAT_FLAT
30         bool "STATIC FLAT"
31         depends on !ARCH_USE_MMU && !TARGET_frv
32         select ARCH_HAS_NO_LDSO
33 config UCLIBC_FORMAT_FLAT_SEP_DATA
34         bool "STATIC FLAT (sep-data)"
35         depends on !ARCH_USE_MMU && !TARGET_frv
36         select ARCH_HAS_NO_LDSO
37 endchoice
38 endif
39 if ARCH_USE_MMU
40 comment "Using ELF file format"
41 endif
43 config ARCH_HAS_DEPRECATED_SYSCALLS
44         bool
45         help
46           New architectures do not support deprecated system calls. However,
47           these system calls are needed to build linuxthreads so
48           this symbol controls whether there is support for these threading libraries
49           or not.
52 # Endian Format
54 config ARCH_ANY_ENDIAN
55         bool
56 config ARCH_BIG_ENDIAN
57         bool
58 config ARCH_LITTLE_ENDIAN
59         bool
60 if ARCH_ANY_ENDIAN
61 choice
62         prompt "Target Processor Endianness"
63         help
64           This is the endianness you wish to use.  Choose either Big
65           Endian, or Little Endian.
66 config ARCH_WANTS_BIG_ENDIAN
67         bool "Big Endian"
68         select ARCH_BIG_ENDIAN
69 config ARCH_WANTS_LITTLE_ENDIAN
70         bool "Little Endian"
71         select ARCH_LITTLE_ENDIAN
72 endchoice
73 endif
74 # if the arch only supports one endian, just display the setting
75 if !ARCH_ANY_ENDIAN && ARCH_LITTLE_ENDIAN
76 comment "Using Little Endian"
77 endif
78 if !ARCH_ANY_ENDIAN && ARCH_BIG_ENDIAN
79 comment "Using Big Endian"
80 endif
82 config ARCH_HAS_NO_MMU
83         bool
84 if ARCH_HAS_NO_MMU
85 comment "Target CPU lacks a memory management unit (MMU)"
86 endif
88 config ARCH_HAS_MMU
89         bool "Target CPU has a memory management unit (MMU)"
90         depends on !ARCH_HAS_NO_MMU
91         default y
92         help
93           If your target CPU does not have a memory management unit (MMU), 
94           then answer N here.  Normally, Linux runs on systems with an MMU.  
95           If you are building a uClinux system, answer N.
97           Most people will answer Y.
99 config ARCH_USE_MMU
100         bool "Do you want to utilize the MMU?"
101         depends on ARCH_HAS_MMU
102         default y
103         help
104           If your target CPU has a MMU, and you wish to actually utilize it,
105           then answer Y here.  Normal Linux requires an MMU.
107           If you're unsure, answer Y.
109 config UCLIBC_HAS_FLOATS
110         bool "Enable floating point number support"
111         default y
112         help
113           This option allows you to entirely omit all floating point number
114           support from uClibc.  This will cause floating point functions like
115           strtod() to be omitted from uClibc.  Other floating point functions, 
116           such as printf() and scanf() will still be included in the library, 
117           but will not contain support for floating point numbers.
119           Answering N to this option can reduce the size of uClibc.
120           Most people will answer Y.
122 config UCLIBC_HAS_FPU
123         bool "Target CPU has a floating point unit (FPU)"
124         default y
125         help
126           If your target CPU does not have a Floating Point Unit (FPU) or a
127           kernel FPU emulator, but you still wish to support floating point
128           functions, then uClibc will need to be compiled with soft floating
129           point support (-msoft-float).  If your target CPU does not have an
130           FPU or an FPU emulator within the Linux kernel, then you should
131           answer N.
133           Most people will answer Y.
135 config UCLIBC_HAS_SOFT_FLOAT
136         bool
137         depends on UCLIBC_HAS_FLOATS && !UCLIBC_HAS_FPU
138         default y
140 config DO_C99_MATH
141         bool "Enable full C99 math library support"
142         depends on UCLIBC_HAS_FLOATS
143         help
144           If you want the uClibc math library to contain the full set C99
145           math library features, then answer Y.  If you leave this set to
146           N the math library will contain only the math functions that were
147           listed as part of the traditional POSIX/IEEE 1003.1b-1993 standard.
148           Leaving this option set to N will save around 35k on an x86 system.
150           If your applications require the newer C99 math library functions, 
151           then answer Y.
153 config DO_XSI_MATH
154         bool "Enable XSI math extensions to the ISO C standard (bessel)"
155         depends on UCLIBC_HAS_FLOATS
156         help
157           X/Open System Interfaces extensions to ISO C math functions
158           (differential equation functions):
160           j0, j1, jn - Bessel functions of the first kind
161           y0, y1, yn - Bessel functions of the second kind
163 config UCLIBC_HAS_FENV
164         bool "Enable C99 Floating-point environment"
165         depends on UCLIBC_HAS_FLOATS
166         depends on TARGET_i386 || \
167                    TARGET_metag || \
168                    TARGET_nds32 || \
169                    (TARGET_powerpc && CONFIG_E500) || \
170                    TARGET_x86_64
171         help
172           If you want the uClibc math library to contain the C99 floating
173           point environment, rounding and exception handling functions then
174           say Y here.
176 config UCLIBC_HAS_LONG_DOUBLE_MATH
177         bool "Enable long double support"
178         depends on DO_C99_MATH
179         default y
180         help
181           If you want the uClibc math library to contain the full set of C99
182           long double math library features, then answer Y.
183           Danger: These are only wrappers to the double library functions!
185 config KERNEL_HEADERS
186         string "Linux kernel header location"
187         default ""
188         help
189           The kernel source you use to compile with should be the same
190           as the Linux kernel you run your apps on.  uClibc doesn't even
191           try to achieve binary compatibility across kernel versions.
192           So don't expect, for example, uClibc compiled with Linux kernel
193           2.0.x to implement lchown properly, since 2.0.x can't do that.
194           Similarly, if you compile uClibc vs Linux 2.4.x kernel headers,
195           but then run on Linux 2.0.x, lchown will be compiled into uClibc,
196           but won't work at all.  You have been warned.
198           If you don't set this, we'll assume the toolchain can find them.
200 config UCLIBC_UCLINUX_BROKEN_MUNMAP
201         bool
202         depends on !ARCH_USE_MMU
203         default y
205 config HAVE_DOT_CONFIG
206         bool
207         default y