package/dhcp/S80dhcp-server: allow empty INTERFACES
[buildroot-gz.git] / arch / Config.in
blob4cdd54e251f7bcfee0a41209eb3cf5e542c70243
1 menu "Target options"
3 config BR2_ARCH_IS_64
4         bool
6 config BR2_KERNEL_64_USERLAND_32
7         bool
9 config BR2_SOFT_FLOAT
10         bool
12 config BR2_ARCH_HAS_MMU_MANDATORY
13         bool
15 config BR2_ARCH_HAS_MMU_OPTIONAL
16         bool
18 config BR2_ARCH_HAS_FDPIC_SUPPORT
19         bool
21 choice
22         prompt "Target Architecture"
23         default BR2_i386
24         help
25           Select the target architecture family to build for.
27 config BR2_arcle
28         bool "ARC (little endian)"
29         select BR2_ARCH_HAS_MMU_MANDATORY
30         help
31           Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
32           that can be used from deeply embedded to high performance host
33           applications. Little endian.
35 config BR2_arceb
36         bool "ARC (big endian)"
37         select BR2_ARCH_HAS_MMU_MANDATORY
38         help
39           Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
40           that can be used from deeply embedded to high performance host
41           applications. Big endian.
43 config BR2_arm
44         bool "ARM (little endian)"
45         # MMU support is set by the subarchitecture file, arch/Config.in.arm
46         help
47           ARM is a 32-bit reduced instruction set computer (RISC) instruction
48           set architecture (ISA) developed by ARM Holdings. Little endian.
49           http://www.arm.com/
50           http://en.wikipedia.org/wiki/ARM
52 config BR2_armeb
53         bool "ARM (big endian)"
54         # MMU support is set by the subarchitecture file, arch/Config.in.arm
55         help
56           ARM is a 32-bit reduced instruction set computer (RISC) instruction
57           set architecture (ISA) developed by ARM Holdings. Big endian.
58           http://www.arm.com/
59           http://en.wikipedia.org/wiki/ARM
61 config BR2_aarch64
62         bool "AArch64 (little endian)"
63         select BR2_ARCH_IS_64
64         select BR2_ARCH_HAS_MMU_MANDATORY
65         help
66           Aarch64 is a 64-bit architecture developed by ARM Holdings.
67           http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
68           http://en.wikipedia.org/wiki/ARM
70 config BR2_aarch64_be
71         bool "AArch64 (big endian)"
72         select BR2_ARCH_IS_64
73         select BR2_ARCH_HAS_MMU_MANDATORY
74         help
75           Aarch64 is a 64-bit architecture developed by ARM Holdings.
76           http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
77           http://en.wikipedia.org/wiki/ARM
79 config BR2_bfin
80         bool "Blackfin"
81         select BR2_ARCH_HAS_FDPIC_SUPPORT
82         help
83           The Blackfin is a family of 16 or 32-bit microprocessors developed,
84           manufactured and marketed by Analog Devices.
85           http://www.analog.com/
86           http://en.wikipedia.org/wiki/Blackfin
88 config BR2_i386
89         bool "i386"
90         select BR2_ARCH_HAS_MMU_MANDATORY
91         help
92           Intel i386 architecture compatible microprocessor
93           http://en.wikipedia.org/wiki/I386
95 config BR2_m68k
96         bool "m68k"
97         select BR2_ARCH_HAS_MMU_MANDATORY
98         depends on BROKEN # ice in uclibc / inet_ntoa_r
99         help
100           Motorola 68000 family microprocessor
101           http://en.wikipedia.org/wiki/M68k
103 config BR2_microblazeel
104         bool "Microblaze AXI (little endian)"
105         select BR2_ARCH_HAS_MMU_MANDATORY
106         help
107           Soft processor core designed for Xilinx FPGAs from Xilinx. AXI bus
108           based architecture (little endian)
109           http://www.xilinx.com
110           http://en.wikipedia.org/wiki/Microblaze
112 config BR2_microblazebe
113         bool "Microblaze non-AXI (big endian)"
114         select BR2_ARCH_HAS_MMU_MANDATORY
115         help
116           Soft processor core designed for Xilinx FPGAs from Xilinx. PLB bus
117           based architecture (non-AXI, big endian)
118           http://www.xilinx.com
119           http://en.wikipedia.org/wiki/Microblaze
121 config BR2_mips
122         bool "MIPS (big endian)"
123         select BR2_ARCH_HAS_MMU_MANDATORY
124         help
125           MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
126           http://www.mips.com/
127           http://en.wikipedia.org/wiki/MIPS_Technologies
129 config BR2_mipsel
130         bool "MIPS (little endian)"
131         select BR2_ARCH_HAS_MMU_MANDATORY
132         help
133           MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
134           http://www.mips.com/
135           http://en.wikipedia.org/wiki/MIPS_Technologies
137 config BR2_mips64
138         bool "MIPS64 (big endian)"
139         select BR2_ARCH_IS_64
140         select BR2_ARCH_HAS_MMU_MANDATORY
141         help
142           MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
143           http://www.mips.com/
144           http://en.wikipedia.org/wiki/MIPS_Technologies
146 config BR2_mips64el
147         bool "MIPS64 (little endian)"
148         select BR2_ARCH_IS_64
149         select BR2_ARCH_HAS_MMU_MANDATORY
150         help
151           MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
152           http://www.mips.com/
153           http://en.wikipedia.org/wiki/MIPS_Technologies
155 config BR2_nios2
156         bool "Nios II"
157         select BR2_ARCH_HAS_MMU_MANDATORY
158         help
159           Nios II is a soft core processor from Altera Corporation.
160           http://www.altera.com/
161           http://en.wikipedia.org/wiki/Nios_II
163 config BR2_powerpc
164         bool "PowerPC"
165         select BR2_ARCH_HAS_MMU_MANDATORY
166         help
167           PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
168           Big endian.
169           http://www.power.org/
170           http://en.wikipedia.org/wiki/Powerpc
172 config BR2_powerpc64
173         bool "PowerPC64 (big endian)"
174         select BR2_ARCH_IS_64
175         select BR2_ARCH_HAS_MMU_MANDATORY
176         help
177           PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
178           Big endian.
179           http://www.power.org/
180           http://en.wikipedia.org/wiki/Powerpc
182 config BR2_powerpc64le
183         bool "PowerPC64 (little endian)"
184         select BR2_ARCH_IS_64
185         select BR2_ARCH_HAS_MMU_MANDATORY
186         help
187           PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
188           Little endian.
189           http://www.power.org/
190           http://en.wikipedia.org/wiki/Powerpc
192 config BR2_sh
193         bool "SuperH"
194         select BR2_ARCH_HAS_MMU_OPTIONAL
195         help
196           SuperH (or SH) is a 32-bit reduced instruction set computer (RISC)
197           instruction set architecture (ISA) developed by Hitachi.
198           http://www.hitachi.com/
199           http://en.wikipedia.org/wiki/SuperH
201 config BR2_sh64
202         bool "SuperH64"
203         depends on BR2_DEPRECATED_SINCE_2015_05
204         select BR2_ARCH_HAS_MMU_MANDATORY
205         help
206           SuperH64 (or SH) is a 64-bit reduced instruction set computer (RISC)
207           instruction set architecture (ISA) developed by Hitachi.
208           http://www.hitachi.com/
209           http://en.wikipedia.org/wiki/SuperH
211 config BR2_sparc
212         bool "SPARC"
213         select BR2_ARCH_HAS_MMU_MANDATORY
214         help
215           SPARC (from Scalable Processor Architecture) is a RISC instruction
216           set architecture (ISA) developed by Sun Microsystems.
217           http://www.oracle.com/sun
218           http://en.wikipedia.org/wiki/Sparc
220 config BR2_sparc64
221         bool "SPARC64"
222         select BR2_ARCH_IS_64
223         select BR2_ARCH_HAS_MMU_MANDATORY
224         help
225           SPARC (from Scalable Processor Architecture) is a RISC instruction
226           set architecture (ISA) developed by Sun Microsystems.
227           http://www.oracle.com/sun
228           http://en.wikipedia.org/wiki/Sparc
230 config BR2_x86_64
231         bool "x86_64"
232         select BR2_ARCH_IS_64
233         select BR2_ARCH_HAS_MMU_MANDATORY
234         help
235           x86-64 is an extension of the x86 instruction set (Intel i386
236           architecture compatible microprocessor).
237           http://en.wikipedia.org/wiki/X86_64
239 config BR2_xtensa
240         bool "Xtensa"
241         # MMU support is set by the subarchitecture file, arch/Config.in.xtensa
242         help
243           Xtensa is a Tensilica processor IP architecture.
244           http://en.wikipedia.org/wiki/Xtensa
245           http://www.tensilica.com/
247 endchoice
249 # The following string values are defined by the individual
250 # Config.in.$ARCH files
251 config BR2_ARCH
252         string
254 config BR2_ENDIAN
255         string
257 config BR2_GCC_TARGET_ARCH
258         string
260 config BR2_GCC_TARGET_ABI
261         string
263 config BR2_GCC_TARGET_CPU
264         string
266 config BR2_GCC_TARGET_CPU_REVISION
267         string
269 # The value of this option will be passed as --with-fpu=<value> when
270 # building gcc (internal backend) or -mfpu=<value> in the toolchain
271 # wrapper (external toolchain)
272 config BR2_GCC_TARGET_FPU
273         string
275 # The value of this option will be passed as --with-float=<value> when
276 # building gcc (internal backend) or -mfloat-abi=<value> in the toolchain
277 # wrapper (external toolchain)
278 config BR2_GCC_TARGET_FLOAT_ABI
279         string
281 # The value of this option will be passed as --with-mode=<value> when
282 # building gcc (internal backend) or -m<value> in the toolchain
283 # wrapper (external toolchain)
284 config BR2_GCC_TARGET_MODE
285         string
287 # If the architecture has atomic operations, select this:
288 config BR2_ARCH_HAS_ATOMICS
289         bool
291 # Must be selected by binary formats that support shared libraries.
292 config BR2_BINFMT_SUPPORTS_SHARED
293         bool
295 # Set up target binary format
296 choice
297         prompt "Target Binary Format"
298         default BR2_BINFMT_ELF if BR2_USE_MMU
299         default BR2_BINFMT_FDPIC if BR2_ARCH_HAS_FDPIC_SUPPORT
300         default BR2_BINFMT_FLAT
302 config BR2_BINFMT_ELF
303         bool "ELF"
304         depends on BR2_USE_MMU
305         select BR2_BINFMT_SUPPORTS_SHARED
306         help
307           ELF (Executable and Linkable Format) is a format for libraries and
308           executables used across different architectures and operating
309           systems.
311 config BR2_BINFMT_FDPIC
312         bool "FDPIC"
313         depends on BR2_ARCH_HAS_FDPIC_SUPPORT
314         select BR2_BINFMT_SUPPORTS_SHARED
315         help
316           ELF FDPIC binaries are based on ELF, but allow the individual load
317           segments of a binary to be located in memory independently of each
318           other. This makes this format ideal for use in environments where no
319           MMU is available.
321 config BR2_BINFMT_FLAT
322         bool "FLAT"
323         depends on !BR2_USE_MMU
324         help
325           FLAT binary is a relatively simple and lightweight executable format
326           based on the original a.out format. It is widely used in environment
327           where no MMU is available.
329 endchoice
331 # Set up flat binary type
332 choice
333         prompt "FLAT Binary type"
334         depends on BR2_BINFMT_FLAT
335         default BR2_BINFMT_FLAT_ONE
337 config BR2_BINFMT_FLAT_ONE
338         bool "One memory region"
339         help
340           All segments are linked into one memory region.
342 config BR2_BINFMT_FLAT_SEP_DATA
343         bool "Separate data and code region"
344         help
345           Allow for the data and text segments to be separated and placed in
346           different regions of memory.
348 config BR2_BINFMT_FLAT_SHARED
349         bool "Shared binary"
350         # Even though this really generates shared binaries, there is no libdl
351         # and dlopen() cannot be used. So packages that require shared
352         # libraries cannot be built. Therefore, we don't select
353         # BR2_BINFMT_SUPPORTS_SHARED and therefore force BR2_STATIC_LIBS.
354         # Although this adds -static to the compilation, that's not a problem
355         # because the -mid-shared-library option overrides it.
356         help
357           Allow to load and link indiviual FLAT binaries at run time.
359 endchoice
361 if BR2_arcle || BR2_arceb
362 source "arch/Config.in.arc"
363 endif
365 if BR2_arm || BR2_armeb
366 source "arch/Config.in.arm"
367 endif
369 if BR2_aarch64 || BR2_aarch64_be
370 source "arch/Config.in.aarch64"
371 endif
373 if BR2_bfin
374 source "arch/Config.in.bfin"
375 endif
377 if BR2_m68k
378 source "arch/Config.in.m68k"
379 endif
381 if BR2_microblazeel || BR2_microblazebe
382 source "arch/Config.in.microblaze"
383 endif
385 if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
386 source "arch/Config.in.mips"
387 endif
389 if BR2_nios2
390 source "arch/Config.in.nios2"
391 endif
393 if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
394 source "arch/Config.in.powerpc"
395 endif
397 if BR2_sh || BR2_sh64
398 source "arch/Config.in.sh"
399 endif
401 if BR2_sparc || BR2_sparc64
402 source "arch/Config.in.sparc"
403 endif
405 if BR2_i386 || BR2_x86_64
406 source "arch/Config.in.x86"
407 endif
409 if BR2_xtensa
410 source "arch/Config.in.xtensa"
411 endif
413 endmenu # Target options