2013-09-04 23:35:55 +02:00
|
|
|
menu "Target options"
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
config BR2_ARCH_IS_64
|
2013-07-16 10:03:25 +02:00
|
|
|
bool
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
|
2013-10-25 15:10:22 +02:00
|
|
|
config BR2_KERNEL_64_USERLAND_32
|
|
|
|
bool
|
|
|
|
|
2013-07-16 10:03:13 +02:00
|
|
|
config BR2_SOFT_FLOAT
|
|
|
|
bool
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
choice
|
|
|
|
prompt "Target Architecture"
|
|
|
|
default BR2_i386
|
|
|
|
help
|
|
|
|
Select the target architecture family to build for.
|
|
|
|
|
2013-05-02 11:51:23 +02:00
|
|
|
config BR2_arcle
|
|
|
|
bool "ARC (little endian)"
|
|
|
|
help
|
|
|
|
Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
|
|
|
|
that can be used from deeply embedded to high performance host
|
|
|
|
applications. Little endian.
|
|
|
|
|
|
|
|
config BR2_arceb
|
|
|
|
bool "ARC (big endian)"
|
|
|
|
help
|
|
|
|
Synopsys' DesignWare ARC Processor Cores are a family of 32-bit CPUs
|
|
|
|
that can be used from deeply embedded to high performance host
|
|
|
|
applications. Big endian.
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
config BR2_arm
|
|
|
|
bool "ARM (little endian)"
|
|
|
|
help
|
|
|
|
ARM is a 32-bit reduced instruction set computer (RISC) instruction
|
|
|
|
set architecture (ISA) developed by ARM Holdings. Little endian.
|
|
|
|
http://www.arm.com/
|
|
|
|
http://en.wikipedia.org/wiki/ARM
|
|
|
|
|
|
|
|
config BR2_armeb
|
|
|
|
bool "ARM (big endian)"
|
|
|
|
help
|
|
|
|
ARM is a 32-bit reduced instruction set computer (RISC) instruction
|
|
|
|
set architecture (ISA) developed by ARM Holdings. Big endian.
|
|
|
|
http://www.arm.com/
|
|
|
|
http://en.wikipedia.org/wiki/ARM
|
|
|
|
|
|
|
|
config BR2_aarch64
|
|
|
|
bool "AArch64"
|
2013-03-18 06:18:09 +01:00
|
|
|
select BR2_ARCH_IS_64
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
help
|
|
|
|
Aarch64 is a 64-bit architecture developed by ARM Holdings.
|
|
|
|
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
|
|
|
http://en.wikipedia.org/wiki/ARM
|
|
|
|
|
|
|
|
config BR2_bfin
|
|
|
|
bool "Blackfin"
|
|
|
|
help
|
|
|
|
The Blackfin is a family of 16 or 32-bit microprocessors developed,
|
|
|
|
manufactured and marketed by Analog Devices.
|
|
|
|
http://www.analog.com/
|
|
|
|
http://en.wikipedia.org/wiki/Blackfin
|
|
|
|
|
|
|
|
config BR2_i386
|
|
|
|
bool "i386"
|
|
|
|
help
|
|
|
|
Intel i386 architecture compatible microprocessor
|
|
|
|
http://en.wikipedia.org/wiki/I386
|
|
|
|
|
|
|
|
config BR2_m68k
|
|
|
|
bool "m68k"
|
|
|
|
depends on BROKEN # ice in uclibc / inet_ntoa_r
|
|
|
|
help
|
|
|
|
Motorola 68000 family microprocessor
|
|
|
|
http://en.wikipedia.org/wiki/M68k
|
|
|
|
|
|
|
|
config BR2_microblazeel
|
|
|
|
bool "Microblaze AXI (little endian)"
|
|
|
|
help
|
|
|
|
Soft processor core designed for Xilinx FPGAs from Xilinx. AXI bus
|
|
|
|
based architecture (little endian)
|
|
|
|
http://www.xilinx.com
|
|
|
|
http://en.wikipedia.org/wiki/Microblaze
|
|
|
|
|
|
|
|
config BR2_microblazebe
|
|
|
|
bool "Microblaze non-AXI (big endian)"
|
|
|
|
help
|
|
|
|
Soft processor core designed for Xilinx FPGAs from Xilinx. PLB bus
|
|
|
|
based architecture (non-AXI, big endian)
|
|
|
|
http://www.xilinx.com
|
|
|
|
http://en.wikipedia.org/wiki/Microblaze
|
|
|
|
|
|
|
|
config BR2_mips
|
|
|
|
bool "MIPS (big endian)"
|
|
|
|
help
|
|
|
|
MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
|
|
|
|
http://www.mips.com/
|
|
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
|
|
|
|
config BR2_mipsel
|
|
|
|
bool "MIPS (little endian)"
|
|
|
|
help
|
|
|
|
MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
|
|
|
|
http://www.mips.com/
|
|
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
|
|
|
|
config BR2_mips64
|
|
|
|
bool "MIPS64 (big endian)"
|
|
|
|
select BR2_ARCH_IS_64
|
|
|
|
help
|
|
|
|
MIPS is a RISC microprocessor from MIPS Technologies. Big endian.
|
|
|
|
http://www.mips.com/
|
|
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
|
|
|
|
config BR2_mips64el
|
|
|
|
bool "MIPS64 (little endian)"
|
|
|
|
select BR2_ARCH_IS_64
|
|
|
|
help
|
|
|
|
MIPS is a RISC microprocessor from MIPS Technologies. Little endian.
|
|
|
|
http://www.mips.com/
|
|
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
|
2013-08-30 00:10:40 +02:00
|
|
|
config BR2_nios2
|
|
|
|
bool "Nios II"
|
|
|
|
help
|
|
|
|
Nios II is a soft core processor from Altera Corporation.
|
|
|
|
http://www.altera.com/
|
|
|
|
http://en.wikipedia.org/wiki/Nios_II
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
config BR2_powerpc
|
|
|
|
bool "PowerPC"
|
|
|
|
help
|
|
|
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
2014-05-13 07:28:21 +02:00
|
|
|
Big endian.
|
|
|
|
http://www.power.org/
|
|
|
|
http://en.wikipedia.org/wiki/Powerpc
|
|
|
|
|
|
|
|
config BR2_powerpc64
|
|
|
|
bool "PowerPC64 (big endian)"
|
|
|
|
select BR2_ARCH_IS_64
|
|
|
|
help
|
|
|
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
|
|
|
Big endian.
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
http://www.power.org/
|
|
|
|
http://en.wikipedia.org/wiki/Powerpc
|
|
|
|
|
2014-05-25 08:59:22 +02:00
|
|
|
config BR2_powerpc64le
|
|
|
|
bool "PowerPC64 (little endian)"
|
|
|
|
select BR2_ARCH_IS_64
|
|
|
|
help
|
|
|
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
2014-05-13 07:28:21 +02:00
|
|
|
Little endian.
|
2014-05-25 08:59:22 +02:00
|
|
|
http://www.power.org/
|
|
|
|
http://en.wikipedia.org/wiki/Powerpc
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
config BR2_sh
|
|
|
|
bool "SuperH"
|
|
|
|
help
|
|
|
|
SuperH (or SH) is a 32-bit reduced instruction set computer (RISC)
|
|
|
|
instruction set architecture (ISA) developed by Hitachi.
|
|
|
|
http://www.hitachi.com/
|
|
|
|
http://en.wikipedia.org/wiki/SuperH
|
|
|
|
|
|
|
|
config BR2_sh64
|
|
|
|
bool "SuperH64"
|
2015-04-25 03:23:14 +02:00
|
|
|
depends on BR2_DEPRECATED_SINCE_2015_05
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
help
|
|
|
|
SuperH64 (or SH) is a 64-bit reduced instruction set computer (RISC)
|
|
|
|
instruction set architecture (ISA) developed by Hitachi.
|
|
|
|
http://www.hitachi.com/
|
|
|
|
http://en.wikipedia.org/wiki/SuperH
|
|
|
|
|
|
|
|
config BR2_sparc
|
|
|
|
bool "SPARC"
|
|
|
|
help
|
|
|
|
SPARC (from Scalable Processor Architecture) is a RISC instruction
|
|
|
|
set architecture (ISA) developed by Sun Microsystems.
|
|
|
|
http://www.oracle.com/sun
|
|
|
|
http://en.wikipedia.org/wiki/Sparc
|
|
|
|
|
|
|
|
config BR2_x86_64
|
|
|
|
bool "x86_64"
|
|
|
|
select BR2_ARCH_IS_64
|
|
|
|
help
|
|
|
|
x86-64 is an extension of the x86 instruction set (Intel i386
|
|
|
|
architecture compatible microprocessor).
|
|
|
|
http://en.wikipedia.org/wiki/X86_64
|
|
|
|
|
2012-11-15 04:53:51 +01:00
|
|
|
config BR2_xtensa
|
|
|
|
bool "Xtensa"
|
|
|
|
help
|
|
|
|
Xtensa is a Tensilica processor IP architecture.
|
|
|
|
http://en.wikipedia.org/wiki/Xtensa
|
|
|
|
http://www.tensilica.com/
|
|
|
|
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
endchoice
|
|
|
|
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
# The following string values are defined by the individual
|
|
|
|
# Config.in.$ARCH files
|
|
|
|
config BR2_ARCH
|
|
|
|
string
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
config BR2_ENDIAN
|
|
|
|
string
|
|
|
|
|
|
|
|
config BR2_GCC_TARGET_ARCH
|
|
|
|
string
|
|
|
|
|
|
|
|
config BR2_GCC_TARGET_ABI
|
|
|
|
string
|
|
|
|
|
|
|
|
config BR2_GCC_TARGET_CPU
|
|
|
|
string
|
|
|
|
|
2013-05-03 02:39:36 +02:00
|
|
|
config BR2_GCC_TARGET_CPU_REVISION
|
|
|
|
string
|
|
|
|
|
arch: introduce BR2_GCC_TARGET_{FPU, FLOAT_ABI}
Buildroot already has the BR2_GCC_TARGET_{TUNE,ARCH,ABI,CPU} hidden
kconfig strings that allow per-architecture Config.in files to feed
the appropriate values of --with-{tune,arch,abi-cpu} when building
gcc, or the appropriate flags for the external toolchain wrapper.
This commit has two additional options:
BR2_GCC_TARGET_{FPU,FLOAT_ABI}, that allows to define the
--with-{fpu,float} gcc configure options for the internal backend, or
the -m{fpu,float-abi} options for the flags of the external toolchain
wrapper.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-16 10:03:12 +02:00
|
|
|
# The value of this option will be passed as --with-fpu=<value> when
|
|
|
|
# building gcc (internal backend) or -mfpu=<value> in the toolchain
|
|
|
|
# wrapper (external toolchain)
|
|
|
|
config BR2_GCC_TARGET_FPU
|
|
|
|
string
|
|
|
|
|
|
|
|
# The value of this option will be passed as --with-float=<value> when
|
|
|
|
# building gcc (internal backend) or -mfloat-abi=<value> in the toolchain
|
|
|
|
# wrapper (external toolchain)
|
|
|
|
config BR2_GCC_TARGET_FLOAT_ABI
|
|
|
|
string
|
|
|
|
|
2013-07-16 10:03:22 +02:00
|
|
|
# The value of this option will be passed as --with-mode=<value> when
|
|
|
|
# building gcc (internal backend) or -m<value> in the toolchain
|
|
|
|
# wrapper (external toolchain)
|
|
|
|
config BR2_GCC_TARGET_MODE
|
|
|
|
string
|
|
|
|
|
2014-08-17 21:29:40 +02:00
|
|
|
# If the architecture has atomic operations, select this:
|
|
|
|
config BR2_ARCH_HAS_ATOMICS
|
|
|
|
bool
|
|
|
|
|
2014-12-03 22:41:32 +01:00
|
|
|
# Must be selected by binary formats that support shared libraries.
|
|
|
|
config BR2_BINFMT_SUPPORTS_SHARED
|
|
|
|
bool
|
|
|
|
|
2013-05-03 02:39:34 +02:00
|
|
|
# Set up target binary format
|
|
|
|
choice
|
|
|
|
prompt "Target Binary Format"
|
2014-12-03 22:41:31 +01:00
|
|
|
default BR2_BINFMT_ELF if !(BR2_bfin || BR2_m68k)
|
2014-12-03 22:41:30 +01:00
|
|
|
default BR2_BINFMT_FDPIC if BR2_bfin
|
|
|
|
default BR2_BINFMT_FLAT if BR2_m68k
|
2013-05-03 02:39:34 +02:00
|
|
|
|
|
|
|
config BR2_BINFMT_ELF
|
|
|
|
bool "ELF"
|
|
|
|
depends on !BR2_bfin && !BR2_m68k
|
2014-12-03 22:41:32 +01:00
|
|
|
select BR2_BINFMT_SUPPORTS_SHARED
|
2013-05-03 02:39:34 +02:00
|
|
|
help
|
|
|
|
ELF (Executable and Linkable Format) is a format for libraries and
|
|
|
|
executables used across different architectures and operating
|
|
|
|
systems.
|
|
|
|
|
|
|
|
config BR2_BINFMT_FDPIC
|
|
|
|
bool "FDPIC"
|
2014-12-03 22:41:30 +01:00
|
|
|
depends on BR2_bfin
|
2014-12-03 22:41:32 +01:00
|
|
|
select BR2_BINFMT_SUPPORTS_SHARED
|
2013-05-03 02:39:34 +02:00
|
|
|
help
|
|
|
|
ELF FDPIC binaries are based on ELF, but allow the individual load
|
|
|
|
segments of a binary to be located in memory independently of each
|
|
|
|
other. This makes this format ideal for use in environments where no
|
|
|
|
MMU is available.
|
|
|
|
|
|
|
|
config BR2_BINFMT_FLAT
|
|
|
|
bool "FLAT"
|
|
|
|
depends on BR2_bfin || BR2_m68k
|
|
|
|
help
|
|
|
|
FLAT binary is a relatively simple and lightweight executable format
|
|
|
|
based on the original a.out format. It is widely used in environment
|
|
|
|
where no MMU is available.
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2013-05-03 12:39:37 +02:00
|
|
|
# Set up flat binary type
|
|
|
|
choice
|
|
|
|
prompt "FLAT Binary type"
|
|
|
|
depends on BR2_BINFMT_FLAT
|
|
|
|
default BR2_BINFMT_FLAT_ONE
|
|
|
|
|
|
|
|
config BR2_BINFMT_FLAT_ONE
|
|
|
|
bool "One memory region"
|
|
|
|
help
|
|
|
|
All segments are linked into one memory region.
|
|
|
|
|
|
|
|
config BR2_BINFMT_FLAT_SEP_DATA
|
|
|
|
bool "Separate data and code region"
|
|
|
|
help
|
|
|
|
Allow for the data and text segments to be separated and placed in
|
|
|
|
different regions of memory.
|
|
|
|
|
|
|
|
config BR2_BINFMT_FLAT_SHARED
|
|
|
|
bool "Shared binary"
|
2015-03-27 22:10:23 +01:00
|
|
|
# Even though this really generates shared binaries, there is no libdl
|
|
|
|
# and dlopen() cannot be used. So packages that require shared
|
|
|
|
# libraries cannot be built. Therefore, we don't select
|
|
|
|
# BR2_BINFMT_SUPPORTS_SHARED and therefore force BR2_STATIC_LIBS.
|
|
|
|
# Although this adds -static to the compilation, that's not a problem
|
|
|
|
# because the -mid-shared-library option overrides it.
|
2013-05-03 12:39:37 +02:00
|
|
|
help
|
|
|
|
Allow to load and link indiviual FLAT binaries at run time.
|
|
|
|
|
|
|
|
endchoice
|
|
|
|
|
2013-05-02 11:51:23 +02:00
|
|
|
if BR2_arcle || BR2_arceb
|
|
|
|
source "arch/Config.in.arc"
|
|
|
|
endif
|
|
|
|
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
if BR2_arm || BR2_armeb
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.arm"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_aarch64
|
|
|
|
source "arch/Config.in.aarch64"
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_bfin
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.bfin"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_m68k
|
|
|
|
source "arch/Config.in.m68k"
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_microblazeel || BR2_microblazebe
|
|
|
|
source "arch/Config.in.microblaze"
|
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.mips"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
|
|
|
|
2013-08-30 00:10:40 +02:00
|
|
|
if BR2_nios2
|
|
|
|
source "arch/Config.in.nios2"
|
|
|
|
endif
|
|
|
|
|
2014-05-13 07:28:21 +02:00
|
|
|
if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.powerpc"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_sh || BR2_sh64
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.sh"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_sparc
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.sparc"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
if BR2_i386 || BR2_x86_64
|
Split target/Config.in.arch into multiple Config.in.* in arch/
target/Config.in.arch had become too long, and we want to remove the
target/ directory. So let's move it to arch/ and split it this way:
* An initial Config.in that lists the top-level architecture, and
sources the arch-specific Config.in.<arch> files, as well as
Config.in.common (see below)
* One Config.in.<arch> per architecture, listing the CPU families,
ABI choices, etc.
* One Config.in.common that defines the gcc mtune, march, mcpu values
and other hidden options.
[Peter: space->tab fix, mipsel64 little endian, mips3 as noted by Arnout]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 09:27:59 +01:00
|
|
|
source "arch/Config.in.x86"
|
arch: improve definition of gcc mtune, mcpu, etc.
As suggested by Yann E. Morin, there is a better way than our current
big Config.in.common to define the gcc mtune, mcpu, march,
etc. values. We can split the setting of those values in each
architecture file, which makes a lot more sense.
Therefore, the Config.in file now creates empty kconfig variables
BR2_ARCH, BR2_ENDIAN, BR2_GCC_TARGET_TUNE, BR2_GCC_TARGET_ARCH,
BR2_GCC_TARGET_ABI and BR2_GCC_TARGET_CPU. The values of those
variables are set by the individual Config.in.<arch> files. This is
possible because such files are now only conditionally included
depending on the top-level architecture that has been selected.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 04:53:48 +01:00
|
|
|
endif
|
2012-11-15 04:53:51 +01:00
|
|
|
|
|
|
|
if BR2_xtensa
|
|
|
|
source "arch/Config.in.xtensa"
|
|
|
|
endif
|
2013-09-04 23:35:55 +02:00
|
|
|
|
|
|
|
endmenu # Target options
|