Create <tuple>/lib -> <sysroot>/lib symlink before installing cross gcc
This commit solves bug #1051. The problem in this bug in that WebKit
compiles a sample C program, which uses WebKit. As WebKit is written
in C++, even though the program it built with CROSS-gcc, it must be
linked with libstdc++. However, CROSS-gcc can't find the libstdc++ has
it's hidden inside <sysroot>/<tuple>/lib.
Therefore, this commit creates a symbolic link <sysroot>/<tuple>/lib
-> <sysroot>/lib before running the CROSS-gcc installation. While this
may look like a hack, this is the solution used by both Crosstool-NG
and OpenWRT.
Moreover, with this symbolic link in place, I think bug #1741 may also
be solved. The problem in this bug is that the linker tries to link
against /lib/libc.so.0. This is due to the fact that the linker finds
a libc.so script file in the original toolchain location and not
inside the copy of the toolchain sysroot in $(STAGING_DIR). As the
script file is found outside of the current toolchain sysroot, ld
considers the script has non-sysrooted, and therefore doesn't prefix
all paths found in the script file (such as /lib/libc.so.0) with the
sysroot path, leading to the failure.
So, in details, this commit :
* Adds a BR2_ARCH_IS_64 invisible config knob that is used to know if
the arch is a 64 bits architecture or not.
* Creates the <sysroot>/<tuple>/lib -> <sysroot>/lib symbolic link,
and the <sysroot>/<tuple>/lib64 -> <sysroot>/lib64 symbolic link if
needed.
* Fixes the external toolchain sysroot detection code so that the
'sed' replacement is done *after* the readlink -f evaluation.
I have tested this by building ARM, x86 and x86_64 toolchains with
Buildroot, and then use these toolchains as external toolchains to
build a full X.org/Gtk/WebKit/Midori stack. I have also done a
complete ARM Buildroot internal toolchain build with the same full
X.org/Gtk/WebKit/Midori stack.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 16:25:15 +02:00
|
|
|
config BR2_ARCH_IS_64
|
|
|
|
bool
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
choice
|
|
|
|
prompt "Target Architecture"
|
|
|
|
default BR2_i386
|
|
|
|
help
|
|
|
|
Select the target architecture family to build for.
|
|
|
|
|
|
|
|
config BR2_arm
|
2012-03-19 22:56:06 +01:00
|
|
|
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
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_armeb
|
2012-03-19 22:56:06 +01:00
|
|
|
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
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_avr32
|
2012-03-19 22:56:06 +01:00
|
|
|
bool "AVR32"
|
2007-10-23 11:49:56 +02:00
|
|
|
select BR2_SOFT_FLOAT
|
2012-03-19 22:56:06 +01:00
|
|
|
help
|
|
|
|
The AVR32 is a 32-bit RISC microprocessor architecture designed by
|
|
|
|
Atmel.
|
|
|
|
http://www.atmel.com/
|
|
|
|
http://en.wikipedia.org/wiki/Avr32
|
|
|
|
|
2011-02-07 06:49:11 +01:00
|
|
|
config BR2_bfin
|
2012-03-19 22:56:06 +01:00
|
|
|
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
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_i386
|
|
|
|
bool "i386"
|
2012-03-19 22:56:06 +01:00
|
|
|
help
|
|
|
|
Intel i386 architecture compatible microprocessor
|
|
|
|
http://en.wikipedia.org/wiki/I386
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_m68k
|
|
|
|
bool "m68k"
|
2009-01-12 21:58:54 +01:00
|
|
|
depends on BROKEN # ice in uclibc / inet_ntoa_r
|
2012-03-19 22:56:06 +01:00
|
|
|
help
|
|
|
|
Motorola 68000 family microprocessor
|
|
|
|
http://en.wikipedia.org/wiki/M68k
|
|
|
|
|
2012-03-16 14:42:54 +01:00
|
|
|
config BR2_microblazeel
|
2012-03-19 22:56:06 +01:00
|
|
|
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
|
|
|
|
|
2012-03-16 14:42:54 +01:00
|
|
|
config BR2_microblazebe
|
2012-03-19 22:56:06 +01:00
|
|
|
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
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_mips
|
2012-03-19 22:56:06 +01:00
|
|
|
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
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_mipsel
|
2012-03-19 22:56:06 +01:00
|
|
|
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
|
|
|
|
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
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. Big endian.
|
|
|
|
http://www.mips.com/
|
|
|
|
http://en.wikipedia.org/wiki/MIPS_Technologies
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_powerpc
|
2012-03-19 22:56:06 +01:00
|
|
|
bool "PowerPC"
|
|
|
|
help
|
|
|
|
PowerPC is a RISC architecture created by Apple-IBM-Motorola alliance.
|
|
|
|
http://www.power.org/
|
|
|
|
http://en.wikipedia.org/wiki/Powerpc
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_sh
|
2012-03-19 22:56:06 +01:00
|
|
|
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
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_sh64
|
2012-03-19 22:56:06 +01:00
|
|
|
bool "SuperH64"
|
|
|
|
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
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_sparc
|
2012-03-19 22:56:06 +01:00
|
|
|
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
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_64
|
|
|
|
bool "x86_64"
|
Create <tuple>/lib -> <sysroot>/lib symlink before installing cross gcc
This commit solves bug #1051. The problem in this bug in that WebKit
compiles a sample C program, which uses WebKit. As WebKit is written
in C++, even though the program it built with CROSS-gcc, it must be
linked with libstdc++. However, CROSS-gcc can't find the libstdc++ has
it's hidden inside <sysroot>/<tuple>/lib.
Therefore, this commit creates a symbolic link <sysroot>/<tuple>/lib
-> <sysroot>/lib before running the CROSS-gcc installation. While this
may look like a hack, this is the solution used by both Crosstool-NG
and OpenWRT.
Moreover, with this symbolic link in place, I think bug #1741 may also
be solved. The problem in this bug is that the linker tries to link
against /lib/libc.so.0. This is due to the fact that the linker finds
a libc.so script file in the original toolchain location and not
inside the copy of the toolchain sysroot in $(STAGING_DIR). As the
script file is found outside of the current toolchain sysroot, ld
considers the script has non-sysrooted, and therefore doesn't prefix
all paths found in the script file (such as /lib/libc.so.0) with the
sysroot path, leading to the failure.
So, in details, this commit :
* Adds a BR2_ARCH_IS_64 invisible config knob that is used to know if
the arch is a 64 bits architecture or not.
* Creates the <sysroot>/<tuple>/lib -> <sysroot>/lib symbolic link,
and the <sysroot>/<tuple>/lib64 -> <sysroot>/lib64 symbolic link if
needed.
* Fixes the external toolchain sysroot detection code so that the
'sed' replacement is done *after* the readlink -f evaluation.
I have tested this by building ARM, x86 and x86_64 toolchains with
Buildroot, and then use these toolchains as external toolchains to
build a full X.org/Gtk/WebKit/Midori stack. I have also done a
complete ARM Buildroot internal toolchain build with the same full
X.org/Gtk/WebKit/Midori stack.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-27 16:25:15 +02:00
|
|
|
select BR2_ARCH_IS_64
|
2012-03-19 22:56:06 +01:00
|
|
|
help
|
|
|
|
x86-64 is an extension of the x86 instruction set (Intel i386
|
|
|
|
architecture compatible microprocessor).
|
|
|
|
http://en.wikipedia.org/wiki/X86_64
|
|
|
|
|
2009-07-24 02:17:22 +02:00
|
|
|
config BR2_xtensa
|
2012-03-19 22:56:06 +01:00
|
|
|
bool "Xtensa"
|
2012-04-25 10:45:30 +02:00
|
|
|
depends on BR2_DEPRECATED
|
2012-03-19 22:56:06 +01:00
|
|
|
help
|
|
|
|
Xtensa is a Tensilica processor IP architecture.
|
|
|
|
http://en.wikipedia.org/wiki/Xtensa
|
|
|
|
http://www.tensilica.com/
|
2007-09-25 10:01:15 +02:00
|
|
|
endchoice
|
|
|
|
|
2012-03-16 14:42:54 +01:00
|
|
|
config BR2_microblaze
|
|
|
|
bool
|
|
|
|
default y if BR2_microblazeel || BR2_microblazebe
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
#
|
|
|
|
# Keep the variants separate, there's no need to clutter everything else.
|
|
|
|
# sh is fairly "special" in this regard, as virtually everyone else has
|
|
|
|
# things kept down to a _sensible_ number of target variants. No such
|
|
|
|
# luck for sh..
|
|
|
|
#
|
|
|
|
choice
|
|
|
|
prompt "Target Architecture Variant"
|
2008-06-19 21:06:25 +02:00
|
|
|
depends on BR2_arm || BR2_armeb
|
2007-09-25 10:01:15 +02:00
|
|
|
default BR2_generic_arm
|
|
|
|
help
|
|
|
|
Specific CPU variant to use
|
|
|
|
|
|
|
|
config BR2_generic_arm
|
|
|
|
bool "generic_arm"
|
|
|
|
config BR2_arm7tdmi
|
|
|
|
bool "arm7tdmi"
|
|
|
|
config BR2_arm610
|
|
|
|
bool "arm610"
|
|
|
|
config BR2_arm710
|
|
|
|
bool "arm710"
|
|
|
|
config BR2_arm720t
|
|
|
|
bool "arm720t"
|
|
|
|
config BR2_arm920t
|
|
|
|
bool "arm920t"
|
|
|
|
config BR2_arm922t
|
|
|
|
bool "arm922t"
|
|
|
|
config BR2_arm926t
|
|
|
|
bool "arm926t"
|
|
|
|
config BR2_arm10t
|
|
|
|
bool "arm10t"
|
|
|
|
config BR2_arm1136jf_s
|
|
|
|
bool "arm1136jf_s"
|
|
|
|
config BR2_arm1176jz_s
|
|
|
|
bool "arm1176jz-s"
|
|
|
|
config BR2_arm1176jzf_s
|
|
|
|
bool "arm1176jzf-s"
|
2009-10-29 18:30:50 +01:00
|
|
|
config BR2_cortex_a8
|
|
|
|
bool "cortex-A8"
|
2010-09-12 19:36:57 +02:00
|
|
|
config BR2_cortex_a9
|
|
|
|
bool "cortex-A9"
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_sa110
|
|
|
|
bool "sa110"
|
|
|
|
config BR2_sa1100
|
|
|
|
bool "sa1100"
|
|
|
|
config BR2_xscale
|
|
|
|
bool "xscale"
|
|
|
|
config BR2_iwmmxt
|
|
|
|
bool "iwmmxt"
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config BR2_ARM_TYPE
|
|
|
|
string
|
|
|
|
default GENERIC_ARM if BR2_generic_arm
|
|
|
|
default ARM610 if BR2_arm610
|
|
|
|
default ARM710 if BR2_arm710
|
|
|
|
default ARM7TDMI if BR2_arm7tdmi
|
|
|
|
default ARM720T if BR2_arm720t
|
|
|
|
default ARM920T if BR2_arm920t
|
|
|
|
default ARM922T if BR2_arm922t
|
|
|
|
default ARM926T if BR2_arm926t
|
|
|
|
default ARM10T if BR2_arm10t
|
|
|
|
default ARM1136JF_S if BR2_arm1136jf_s
|
|
|
|
default ARM1176JZ_S if BR2_arm1176jz_s
|
|
|
|
default ARM1176JZF_S if BR2_arm1176jzf_s
|
|
|
|
default ARM_SA110 if BR2_sa110
|
|
|
|
default ARM_SA1100 if BR2_sa1100
|
|
|
|
default ARM_XSCALE if BR2_xscale
|
|
|
|
default ARM_IWMMXT if BR2_iwmmxt
|
2009-10-29 18:30:50 +01:00
|
|
|
default ARM_CORTEXA8 if BR2_cortex_a8
|
2010-09-12 19:36:57 +02:00
|
|
|
default ARM_CORTEXA9 if BR2_cortex_a9
|
2007-09-25 10:01:15 +02:00
|
|
|
|
2007-09-26 23:12:38 +02:00
|
|
|
choice
|
|
|
|
prompt "Target ABI"
|
2008-06-19 21:06:25 +02:00
|
|
|
depends on BR2_arm || BR2_armeb
|
2009-10-06 20:26:05 +02:00
|
|
|
default BR2_ARM_EABI
|
2007-09-26 23:12:38 +02:00
|
|
|
help
|
|
|
|
Application Binary Interface to use
|
|
|
|
|
2009-10-06 20:26:05 +02:00
|
|
|
Note:
|
|
|
|
Using OABI is discouraged.
|
|
|
|
|
2007-09-29 23:22:23 +02:00
|
|
|
config BR2_ARM_EABI
|
2007-09-26 23:12:38 +02:00
|
|
|
bool "EABI"
|
2009-10-06 20:26:05 +02:00
|
|
|
config BR2_ARM_OABI
|
|
|
|
bool "OABI"
|
2012-04-13 14:44:45 +02:00
|
|
|
depends on !BR2_GCC_VERSION_4_7_X
|
2007-09-26 23:12:38 +02:00
|
|
|
endchoice
|
2007-09-25 10:01:15 +02:00
|
|
|
|
2011-02-07 06:49:11 +01:00
|
|
|
choice
|
|
|
|
prompt "Target ABI"
|
|
|
|
depends on BR2_bfin
|
blackfin: adjust available ABIs
The FLAT (Separate Data) and FLAT Shared ABIs are rarely used, and the
FLAT Shared ABI requires the user to manually assign an unique ID to
each shared library, which we will never support in
Buildroot. Therefore, restrict ourselves to FLAT and FDPIC.
In addition to this, ensure that when FLAT is selected, only static
libraries are produced, because this is what FLAT supports. It will
fix problems such as
http://autobuild.buildroot.org/results/2d756d75162e8737e99df8189bde93ed1a09feef/build-end.log.
Moreover, we make FDPIC the default ABI, since if someone is using
Buildroot, it's most likely to generate a fairly elaborate embedded
Linux system, on which shared libraries are probably useful.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-08 01:27:19 +02:00
|
|
|
default BR2_BFIN_FDPIC
|
2011-02-07 06:49:11 +01:00
|
|
|
config BR2_BFIN_FDPIC
|
|
|
|
bool "FDPIC"
|
|
|
|
config BR2_BFIN_FLAT
|
|
|
|
bool "FLAT"
|
blackfin: adjust available ABIs
The FLAT (Separate Data) and FLAT Shared ABIs are rarely used, and the
FLAT Shared ABI requires the user to manually assign an unique ID to
each shared library, which we will never support in
Buildroot. Therefore, restrict ourselves to FLAT and FDPIC.
In addition to this, ensure that when FLAT is selected, only static
libraries are produced, because this is what FLAT supports. It will
fix problems such as
http://autobuild.buildroot.org/results/2d756d75162e8737e99df8189bde93ed1a09feef/build-end.log.
Moreover, we make FDPIC the default ABI, since if someone is using
Buildroot, it's most likely to generate a fairly elaborate embedded
Linux system, on which shared libraries are probably useful.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-08 01:27:19 +02:00
|
|
|
select BR2_PREFER_STATIC_LIB
|
2011-02-07 06:49:11 +01:00
|
|
|
endchoice
|
|
|
|
|
2007-09-29 21:17:39 +02:00
|
|
|
choice
|
|
|
|
prompt "Target Architecture Variant"
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
2007-10-02 23:36:49 +02:00
|
|
|
default BR2_mips_3 if BR2_mips
|
|
|
|
default BR2_mips_1 if BR2_mipsel
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
default BR2_mips_64 if BR2_mips64 || BR2_mips64el
|
2007-09-29 21:17:39 +02:00
|
|
|
help
|
|
|
|
Specific CPU variant to use
|
2012-07-22 15:28:31 +02:00
|
|
|
|
2007-10-02 23:36:49 +02:00
|
|
|
64bit cabable: 3, 4, 64, 64r2
|
|
|
|
non-64bit capable: 1, 2, 32, 32r2
|
2007-09-29 21:17:39 +02:00
|
|
|
|
|
|
|
config BR2_mips_1
|
2007-09-29 21:47:04 +02:00
|
|
|
bool "mips I (generic)"
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
depends on !BR2_ARCH_IS_64
|
2007-09-29 21:17:39 +02:00
|
|
|
config BR2_mips_2
|
2007-09-29 21:47:04 +02:00
|
|
|
bool "mips II"
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
depends on !BR2_ARCH_IS_64
|
2007-09-29 21:17:39 +02:00
|
|
|
config BR2_mips_3
|
2007-09-29 21:47:04 +02:00
|
|
|
bool "mips III"
|
2007-09-29 21:17:39 +02:00
|
|
|
config BR2_mips_4
|
2007-09-29 21:47:04 +02:00
|
|
|
bool "mips IV"
|
2007-09-29 21:17:39 +02:00
|
|
|
config BR2_mips_32
|
|
|
|
bool "mips 32"
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
depends on !BR2_ARCH_IS_64
|
2007-09-29 21:17:39 +02:00
|
|
|
config BR2_mips_32r2
|
|
|
|
bool "mips 32r2"
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
depends on !BR2_ARCH_IS_64
|
2007-09-29 21:17:39 +02:00
|
|
|
config BR2_mips_64
|
|
|
|
bool "mips 64"
|
2008-05-12 14:43:57 +02:00
|
|
|
config BR2_mips_64r2
|
|
|
|
bool "mips 64r2"
|
2007-09-29 21:17:39 +02:00
|
|
|
endchoice
|
|
|
|
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Target ABI"
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
|
|
|
|
default BR2_MIPS_OABI32 if !BR2_ARCH_IS_64
|
|
|
|
default BR2_MIPS_NABI32 if BR2_ARCH_IS_64
|
2007-09-29 21:17:39 +02:00
|
|
|
help
|
|
|
|
Application Binary Interface to use
|
|
|
|
|
2008-05-12 14:43:57 +02:00
|
|
|
config BR2_MIPS_OABI32
|
|
|
|
bool "o32"
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
config BR2_MIPS_NABI32
|
2008-05-12 14:43:57 +02:00
|
|
|
bool "n32"
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
depends on BR2_ARCH_IS_64
|
|
|
|
config BR2_MIPS_NABI64
|
2008-05-12 14:43:57 +02:00
|
|
|
bool "n64"
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
depends on BR2_ARCH_IS_64
|
2007-09-29 21:17:39 +02:00
|
|
|
endchoice
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
choice
|
|
|
|
prompt "Target Architecture Variant"
|
2008-06-19 21:06:25 +02:00
|
|
|
depends on BR2_sh
|
2007-09-25 10:01:15 +02:00
|
|
|
default BR2_sh4
|
|
|
|
help
|
|
|
|
Specific CPU variant to use
|
|
|
|
|
2011-05-09 15:12:53 +02:00
|
|
|
config BR2_sh2
|
|
|
|
bool "sh2 (SH2 big endian)"
|
|
|
|
config BR2_sh2a
|
|
|
|
bool "sh2a (SH2A big endian)"
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_sh3
|
2011-05-09 15:12:53 +02:00
|
|
|
bool "sh3 (SH3 little endian)"
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_sh3eb
|
2011-05-09 15:12:53 +02:00
|
|
|
bool "sh3eb (SH3 big endian)"
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_sh4
|
2011-05-09 15:12:53 +02:00
|
|
|
bool "sh4 (SH4 little endian)"
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_sh4eb
|
2011-05-09 15:12:53 +02:00
|
|
|
bool "sh4eb (SH4 big endian)"
|
|
|
|
config BR2_sh4a
|
|
|
|
bool "sh4a (SH4A little endian)"
|
|
|
|
config BR2_sh4aeb
|
|
|
|
bool "sh4aeb (SH4A big endian)"
|
2007-09-25 10:01:15 +02:00
|
|
|
endchoice
|
|
|
|
|
|
|
|
#
|
|
|
|
# gcc builds libstdc++ differently depending on the
|
|
|
|
# host tuplet given to it, so let people choose
|
|
|
|
#
|
2012-07-16 23:37:26 +02:00
|
|
|
|
|
|
|
# i386/x86_64 cpu features
|
|
|
|
config BR2_X86_CPU_HAS_MMX
|
|
|
|
bool
|
|
|
|
config BR2_X86_CPU_HAS_SSE
|
|
|
|
bool
|
|
|
|
config BR2_X86_CPU_HAS_SSE2
|
|
|
|
bool
|
|
|
|
config BR2_X86_CPU_HAS_SSE3
|
|
|
|
bool
|
|
|
|
config BR2_X86_CPU_HAS_SSSE3
|
|
|
|
bool
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
choice
|
|
|
|
prompt "Target Architecture Variant"
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on BR2_i386 || BR2_x86_64
|
|
|
|
default BR2_x86_i586 if BR2_i386
|
|
|
|
default BR2_x86_generic if BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
help
|
|
|
|
Specific CPU variant to use
|
|
|
|
|
2012-07-25 21:12:59 +02:00
|
|
|
config BR2_x86_generic
|
|
|
|
bool "generic"
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_i386
|
|
|
|
bool "i386"
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_i486
|
|
|
|
bool "i486"
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_i586
|
|
|
|
bool "i586"
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_i686
|
|
|
|
bool "i686"
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_pentiumpro
|
|
|
|
bool "pentium pro"
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_pentium_mmx
|
|
|
|
bool "pentium MMX"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_pentium_m
|
|
|
|
bool "pentium mobile"
|
2012-07-25 21:12:59 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
|
|
|
select BR2_X86_CPU_HAS_SSE
|
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_pentium2
|
|
|
|
bool "pentium2"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_pentium3
|
|
|
|
bool "pentium3"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
|
|
|
select BR2_X86_CPU_HAS_SSE
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_pentium4
|
|
|
|
bool "pentium4"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
|
|
|
select BR2_X86_CPU_HAS_SSE
|
|
|
|
select BR2_X86_CPU_HAS_SSE2
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_prescott
|
|
|
|
bool "prescott"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
|
|
|
select BR2_X86_CPU_HAS_SSE
|
|
|
|
select BR2_X86_CPU_HAS_SSE2
|
|
|
|
select BR2_X86_CPU_HAS_SSE3
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_nocona
|
|
|
|
bool "nocona"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
|
|
|
select BR2_X86_CPU_HAS_SSE
|
|
|
|
select BR2_X86_CPU_HAS_SSE2
|
|
|
|
select BR2_X86_CPU_HAS_SSE3
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_core2
|
|
|
|
bool "core2"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
|
|
|
select BR2_X86_CPU_HAS_SSE
|
|
|
|
select BR2_X86_CPU_HAS_SSE2
|
|
|
|
select BR2_X86_CPU_HAS_SSE3
|
|
|
|
select BR2_X86_CPU_HAS_SSSE3
|
2011-12-31 11:43:53 +01:00
|
|
|
config BR2_x86_atom
|
|
|
|
bool "atom"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
|
|
|
select BR2_X86_CPU_HAS_SSE
|
|
|
|
select BR2_X86_CPU_HAS_SSE2
|
|
|
|
select BR2_X86_CPU_HAS_SSE3
|
|
|
|
select BR2_X86_CPU_HAS_SSSE3
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_k6
|
|
|
|
bool "k6"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_k6_2
|
|
|
|
bool "k6-2"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_athlon
|
|
|
|
bool "athlon"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_athlon_4
|
|
|
|
bool "athlon-4"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
|
|
|
select BR2_X86_CPU_HAS_SSE
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_opteron
|
|
|
|
bool "opteron"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
|
|
|
select BR2_X86_CPU_HAS_SSE
|
|
|
|
select BR2_X86_CPU_HAS_SSE2
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_opteron_sse3
|
|
|
|
bool "opteron w/ SSE3"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
|
|
|
select BR2_X86_CPU_HAS_SSE
|
|
|
|
select BR2_X86_CPU_HAS_SSE2
|
|
|
|
select BR2_X86_CPU_HAS_SSE3
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_barcelona
|
|
|
|
bool "barcelona"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
|
|
|
select BR2_X86_CPU_HAS_SSE
|
|
|
|
select BR2_X86_CPU_HAS_SSE2
|
|
|
|
select BR2_X86_CPU_HAS_SSE3
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_geode
|
|
|
|
bool "geode"
|
2012-07-16 23:37:26 +02:00
|
|
|
# Don't include MMX support because there several variant of geode
|
|
|
|
# processor, some with MMX support, some without.
|
|
|
|
# See: http://en.wikipedia.org/wiki/Geode_%28processor%29
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_c3
|
2010-11-29 16:42:20 +01:00
|
|
|
bool "Via/Cyrix C3 (Samuel/Ezra cores)"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2010-11-29 16:42:20 +01:00
|
|
|
config BR2_x86_c32
|
|
|
|
bool "Via C3-2 (Nehemiah cores)"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
|
|
|
select BR2_X86_CPU_HAS_SSE
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_winchip_c6
|
2010-11-29 16:42:20 +01:00
|
|
|
bool "IDT Winchip C6"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_x86_winchip2
|
2010-11-29 16:42:20 +01:00
|
|
|
bool "IDT Winchip 2"
|
2012-07-16 23:37:26 +02:00
|
|
|
select BR2_X86_CPU_HAS_MMX
|
2012-07-25 21:12:59 +02:00
|
|
|
depends on !BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
endchoice
|
|
|
|
|
|
|
|
choice
|
|
|
|
prompt "Target Architecture Variant"
|
2008-06-19 21:06:25 +02:00
|
|
|
depends on BR2_sparc
|
2007-09-25 10:01:15 +02:00
|
|
|
default BR2_sparc_v7
|
|
|
|
help
|
|
|
|
Specific CPU variant to use
|
|
|
|
|
|
|
|
config BR2_sparc_v7
|
|
|
|
bool "v7"
|
|
|
|
config BR2_sparc_cypress
|
|
|
|
bool "cypress"
|
|
|
|
config BR2_sparc_v8
|
|
|
|
bool "v8"
|
2010-11-09 17:27:34 +01:00
|
|
|
config BR2_sparc_sparchfleon
|
|
|
|
bool "hfleon"
|
|
|
|
config BR2_sparc_sparchfleonv8
|
|
|
|
bool "hfleonv8"
|
|
|
|
config BR2_sparc_sparcsfleon
|
|
|
|
bool "sfleon"
|
|
|
|
config BR2_sparc_sparcsfleonv8
|
|
|
|
bool "sfleonv8"
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_sparc_supersparc
|
|
|
|
bool "supersparc"
|
|
|
|
config BR2_sparc_sparclite
|
|
|
|
bool "sparclite"
|
|
|
|
config BR2_sparc_f930
|
|
|
|
bool "f930"
|
|
|
|
config BR2_sparc_f934
|
|
|
|
bool "f934"
|
|
|
|
config BR2_sparc_hypersparc
|
|
|
|
bool "hypersparc"
|
|
|
|
config BR2_sparc_sparclite86x
|
|
|
|
bool "sparclite86x"
|
|
|
|
config BR2_sparc_sparclet
|
|
|
|
bool "sparclet"
|
|
|
|
config BR2_sparc_tsc701
|
|
|
|
bool "tsc701"
|
|
|
|
endchoice
|
|
|
|
|
2010-11-09 17:27:34 +01:00
|
|
|
config BR2_SPARC_TYPE
|
|
|
|
string
|
|
|
|
default V7 if BR2_sparc_v7 || BR2_sparc_cypress || BR2_sparc_sparclite || BR2_sparc_f930 || BR2_sparc_f934 || BR2_sparc_sparclite86x || BR2_sparc_sparclet || BR2_sparc_tsc701 || BR2_sparc_sparchfleon || BR2_sparc_sparcsfleon
|
|
|
|
default V8 if BR2_sparc_v8 || BR2_sparc_supersparc || BR2_sparc_hypersparc || BR2_sparc_sparchfleonv8 || BR2_sparc_sparcsfleonv8
|
|
|
|
|
2009-07-24 02:17:22 +02:00
|
|
|
choice
|
|
|
|
prompt "Target Architecture Variant"
|
|
|
|
depends on BR2_xtensa
|
|
|
|
default BR2_xtensa_dc232b
|
|
|
|
help
|
|
|
|
Specific CPU variant to use
|
|
|
|
|
|
|
|
config BR2_xtensa_custom
|
|
|
|
bool "Custom Xtensa processor configuration"
|
|
|
|
config BR2_xtensa_dc232a
|
|
|
|
bool "dc232a - Diamond 232L Standard Core Rev.A (LE)"
|
|
|
|
config BR2_xtensa_dc232b
|
|
|
|
bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
|
|
|
|
#config BR2_xtensa_s5000
|
|
|
|
# bool "s5000 - Stretch S5000"
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config BR2_xtensa_custom_name
|
|
|
|
string "Custom Xtensa processor configuration name"
|
|
|
|
depends on BR2_xtensa_custom
|
|
|
|
default ""
|
|
|
|
help
|
|
|
|
Name given to a custom Xtensa processor configuration.
|
|
|
|
This is used to select the correct overlay.
|
|
|
|
|
|
|
|
config BR2_xtensa_core_name
|
|
|
|
string
|
|
|
|
default BR2_xtensa_custom_name if BR2_xtensa_custom
|
|
|
|
default "dc232a" if BR2_xtensa_dc232a
|
|
|
|
default "dc232b" if BR2_xtensa_dc232b
|
|
|
|
# default "s5000" if BR2_xtensa_s5000
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
choice
|
|
|
|
prompt "Target Architecture Variant"
|
2008-06-19 21:06:25 +02:00
|
|
|
depends on BR2_powerpc
|
2007-09-25 10:01:15 +02:00
|
|
|
default BR2_generic_powerpc
|
|
|
|
help
|
|
|
|
Specific CPU variant to use
|
|
|
|
config BR2_generic_powerpc
|
|
|
|
bool "generic"
|
|
|
|
config BR2_powerpc_401
|
|
|
|
bool "401"
|
|
|
|
config BR2_powerpc_403
|
|
|
|
bool "403"
|
|
|
|
config BR2_powerpc_405
|
|
|
|
bool "405"
|
|
|
|
config BR2_powerpc_405fp
|
|
|
|
bool "405 with FPU"
|
|
|
|
config BR2_powerpc_440
|
|
|
|
bool "440"
|
|
|
|
config BR2_powerpc_440fp
|
|
|
|
bool "440 with FPU"
|
|
|
|
config BR2_powerpc_505
|
|
|
|
bool "505"
|
|
|
|
config BR2_powerpc_601
|
|
|
|
bool "601"
|
|
|
|
config BR2_powerpc_602
|
|
|
|
bool "602"
|
|
|
|
config BR2_powerpc_603
|
|
|
|
bool "603"
|
|
|
|
config BR2_powerpc_603e
|
|
|
|
bool "603e"
|
|
|
|
config BR2_powerpc_604
|
|
|
|
bool "604"
|
|
|
|
config BR2_powerpc_604e
|
|
|
|
bool "604e"
|
|
|
|
config BR2_powerpc_620
|
|
|
|
bool "620"
|
|
|
|
config BR2_powerpc_630
|
|
|
|
bool "630"
|
|
|
|
config BR2_powerpc_740
|
|
|
|
bool "740"
|
|
|
|
config BR2_powerpc_7400
|
|
|
|
bool "7400"
|
|
|
|
config BR2_powerpc_7450
|
|
|
|
bool "7450"
|
|
|
|
config BR2_powerpc_750
|
|
|
|
bool "750"
|
|
|
|
config BR2_powerpc_801
|
|
|
|
bool "801"
|
|
|
|
config BR2_powerpc_821
|
|
|
|
bool "821"
|
|
|
|
config BR2_powerpc_823
|
|
|
|
bool "823"
|
|
|
|
config BR2_powerpc_860
|
|
|
|
bool "860"
|
|
|
|
config BR2_powerpc_970
|
|
|
|
bool "970"
|
|
|
|
config BR2_powerpc_8540
|
2012-01-05 20:31:43 +01:00
|
|
|
bool "8540 / e500v1"
|
|
|
|
config BR2_powerpc_8548
|
|
|
|
bool "8548 / e500v2"
|
2010-04-08 04:00:28 +02:00
|
|
|
config BR2_powerpc_e300c2
|
|
|
|
bool "e300c2"
|
|
|
|
config BR2_powerpc_e300c3
|
|
|
|
bool "e300c3"
|
|
|
|
config BR2_powerpc_e500mc
|
|
|
|
bool "e500mc"
|
2007-09-25 10:01:15 +02:00
|
|
|
endchoice
|
|
|
|
|
2012-01-05 20:31:43 +01:00
|
|
|
choice
|
|
|
|
prompt "Target ABI"
|
|
|
|
depends on BR2_powerpc
|
|
|
|
default BR2_powerpc_SPE if BR2_powerpc_8540 || BR2_powerpc_8548
|
2012-07-04 04:35:51 +02:00
|
|
|
default BR2_powerpc_CLASSIC
|
2012-01-05 20:31:43 +01:00
|
|
|
help
|
|
|
|
Application Binary Interface to use
|
|
|
|
|
|
|
|
config BR2_powerpc_CLASSIC
|
|
|
|
bool "Classic"
|
|
|
|
depends on !(BR2_powerpc_8540 || BR2_powerpc_8548)
|
|
|
|
config BR2_powerpc_SPE
|
|
|
|
bool "SPE"
|
2012-07-04 04:35:51 +02:00
|
|
|
depends on BR2_powerpc_8540 || BR2_powerpc_8548
|
2012-01-05 20:31:43 +01:00
|
|
|
endchoice
|
|
|
|
|
2007-09-25 10:01:15 +02:00
|
|
|
config BR2_ARCH
|
|
|
|
string
|
|
|
|
default "arm" if BR2_arm
|
|
|
|
default "armeb" if BR2_armeb
|
|
|
|
default "avr32" if BR2_avr32
|
2011-02-07 06:49:11 +01:00
|
|
|
default "bfin" if BR2_bfin
|
2007-09-25 10:01:15 +02:00
|
|
|
default "i386" if BR2_x86_i386
|
|
|
|
default "i486" if BR2_x86_i486
|
|
|
|
default "i586" if BR2_x86_i586
|
2008-03-11 09:49:45 +01:00
|
|
|
default "i586" if BR2_x86_pentium_mmx
|
2009-06-15 20:33:11 +02:00
|
|
|
default "i586" if BR2_x86_geode
|
2010-11-29 16:42:20 +01:00
|
|
|
default "i586" if BR2_x86_c3
|
|
|
|
default "i686" if BR2_x86_c32
|
|
|
|
default "i586" if BR2_x86_winchip_c6
|
|
|
|
default "i586" if BR2_x86_winchip2
|
2007-09-25 10:01:15 +02:00
|
|
|
default "i686" if BR2_x86_i686
|
2008-03-11 09:49:45 +01:00
|
|
|
default "i686" if BR2_x86_pentium2
|
|
|
|
default "i686" if BR2_x86_pentium3
|
2007-09-25 10:01:15 +02:00
|
|
|
default "i686" if BR2_x86_pentium4
|
2008-03-11 09:49:45 +01:00
|
|
|
default "i686" if BR2_x86_pentium_m
|
|
|
|
default "i686" if BR2_x86_pentiumpro
|
2012-05-09 08:19:04 +02:00
|
|
|
default "i686" if BR2_x86_prescott
|
2012-07-25 21:12:59 +02:00
|
|
|
default "i686" if BR2_x86_nocona && BR2_i386
|
|
|
|
default "i686" if BR2_x86_core2 && BR2_i386
|
|
|
|
default "i686" if BR2_x86_atom && BR2_i386
|
|
|
|
default "i686" if BR2_x86_opteron && BR2_i386
|
|
|
|
default "i686" if BR2_x86_opteron_sse3 && BR2_i386
|
|
|
|
default "i686" if BR2_x86_barcelona && BR2_i386
|
2011-07-04 16:37:20 +02:00
|
|
|
default "i686" if BR2_x86_k6
|
|
|
|
default "i686" if BR2_x86_k6_2
|
|
|
|
default "i686" if BR2_x86_athlon
|
|
|
|
default "i686" if BR2_x86_athlon_4
|
2012-07-25 21:12:59 +02:00
|
|
|
default "x86_64" if BR2_x86_64
|
2007-09-25 10:01:15 +02:00
|
|
|
default "m68k" if BR2_m68k
|
2012-03-16 14:42:54 +01:00
|
|
|
default "microblaze" if BR2_microblaze
|
2007-09-25 10:01:15 +02:00
|
|
|
default "mips" if BR2_mips
|
|
|
|
default "mipsel" if BR2_mipsel
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
default "mips64" if BR2_mips64
|
|
|
|
default "mips64el" if BR2_mips64el
|
2007-09-25 10:01:15 +02:00
|
|
|
default "powerpc" if BR2_powerpc
|
2011-05-09 15:12:53 +02:00
|
|
|
default "sh2" if BR2_sh2
|
|
|
|
default "sh2a" if BR2_sh2a
|
2007-09-25 10:01:15 +02:00
|
|
|
default "sh3" if BR2_sh3
|
|
|
|
default "sh3eb" if BR2_sh3eb
|
|
|
|
default "sh4" if BR2_sh4
|
|
|
|
default "sh4eb" if BR2_sh4eb
|
2011-05-09 15:12:53 +02:00
|
|
|
default "sh4a" if BR2_sh4a
|
|
|
|
default "sh4aeb" if BR2_sh4aeb
|
2007-09-25 10:01:15 +02:00
|
|
|
default "sh64" if BR2_sh64
|
|
|
|
default "sparc" if BR2_sparc
|
2009-07-24 02:17:22 +02:00
|
|
|
default "xtensa" if BR2_xtensa
|
2007-09-25 10:01:15 +02:00
|
|
|
|
|
|
|
|
|
|
|
config BR2_ENDIAN
|
|
|
|
string
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
default "LITTLE" if BR2_arm || BR2_bfin || BR2_i386 || BR2_mipsel || BR2_mips64el || \
|
2012-03-16 14:42:54 +01:00
|
|
|
BR2_sh3 || BR2_sh4 || BR2_sh4a || BR2_x86_64 || BR2_sh64 || \
|
|
|
|
BR2_microblazeel
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
default "BIG" if BR2_armeb || BR2_avr32 || BR2_m68k || BR2_mips || BR2_mips64 || \
|
2011-05-09 15:12:53 +02:00
|
|
|
BR2_powerpc || BR2_sh2 || BR2_sh2a || \
|
2012-03-16 14:42:54 +01:00
|
|
|
BR2_sh3eb || BR2_sh4eb || BR2_sh4aeb || BR2_sparc || \
|
|
|
|
BR2_microblazebe
|
2007-09-25 10:01:15 +02:00
|
|
|
|
|
|
|
config BR2_GCC_TARGET_TUNE
|
|
|
|
string
|
|
|
|
default i386 if BR2_x86_i386
|
|
|
|
default i486 if BR2_x86_i486
|
|
|
|
default i586 if BR2_x86_i586
|
|
|
|
default pentium-mmx if BR2_x86_pentium_mmx
|
|
|
|
default i686 if BR2_x86_i686
|
|
|
|
default pentiumpro if BR2_x86_pentiumpro
|
|
|
|
default pentium-m if BR2_x86_pentium_m
|
|
|
|
default pentium2 if BR2_x86_pentium2
|
|
|
|
default pentium3 if BR2_x86_pentium3
|
|
|
|
default pentium4 if BR2_x86_pentium4
|
|
|
|
default prescott if BR2_x86_prescott
|
|
|
|
default nocona if BR2_x86_nocona
|
|
|
|
default core2 if BR2_x86_core2
|
2011-12-31 11:43:53 +01:00
|
|
|
default atom if BR2_x86_atom
|
2007-09-25 10:01:15 +02:00
|
|
|
default k8 if BR2_x86_opteron
|
|
|
|
default k8-sse3 if BR2_x86_opteron_sse3
|
|
|
|
default barcelona if BR2_x86_barcelona
|
|
|
|
default k6 if BR2_x86_k6
|
|
|
|
default k6-2 if BR2_x86_k6_2
|
|
|
|
default athlon if BR2_x86_athlon
|
|
|
|
default athlon-4 if BR2_x86_athlon_4
|
|
|
|
default winchip-c6 if BR2_x86_winchip_c6
|
|
|
|
default winchip2 if BR2_x86_winchip2
|
|
|
|
default c3 if BR2_x86_c3
|
2010-11-29 16:42:20 +01:00
|
|
|
default c3-2 if BR2_x86_c32
|
2007-09-25 10:01:15 +02:00
|
|
|
default geode if BR2_x86_geode
|
2012-07-25 21:12:59 +02:00
|
|
|
default generic if BR2_x86_generic
|
2007-09-25 10:01:15 +02:00
|
|
|
default arm600 if BR2_arm600
|
|
|
|
default arm610 if BR2_arm610
|
|
|
|
default arm620 if BR2_arm620
|
|
|
|
default arm7tdmi if BR2_arm7tdmi
|
|
|
|
default arm7tdmi if BR2_arm720t
|
|
|
|
default arm7tdmi if BR2_arm740t
|
|
|
|
default arm920 if BR2_arm920
|
|
|
|
default arm920t if BR2_arm920t
|
|
|
|
default arm922t if BR2_arm922t
|
2010-06-04 17:21:04 +02:00
|
|
|
default arm926ej-s if BR2_arm926t
|
2007-09-25 10:01:15 +02:00
|
|
|
default arm1136j-s if BR2_arm1136j_s
|
|
|
|
default arm1136jf-s if BR2_arm1136jf_s
|
|
|
|
default arm1176jz-s if BR2_arm1176jz_s
|
|
|
|
default arm1176jzf-s if BR2_arm1176jzf_s
|
2009-10-29 18:30:50 +01:00
|
|
|
default cortex-a8 if BR2_cortex_a8
|
2010-09-12 19:36:57 +02:00
|
|
|
default cortex-a9 if BR2_cortex_a9
|
2007-09-25 10:01:15 +02:00
|
|
|
default strongarm110 if BR2_sa110
|
|
|
|
default strongarm1100 if BR2_sa1100
|
|
|
|
default xscale if BR2_xscale
|
|
|
|
default iwmmxt if BR2_iwmmxt
|
|
|
|
default 68000 if BR2_m68k_68000
|
|
|
|
default 68010 if BR2_m68k_68010
|
|
|
|
default 68020 if BR2_m68k_68020
|
|
|
|
default 68030 if BR2_m68k_68030
|
|
|
|
default 68040 if BR2_m68k_68040
|
|
|
|
default 68060 if BR2_m68k_68060
|
|
|
|
default mips1 if BR2_mips_1
|
|
|
|
default mips2 if BR2_mips_2
|
|
|
|
default mips3 if BR2_mips_3
|
|
|
|
default mips4 if BR2_mips_4
|
|
|
|
default mips32 if BR2_mips_32
|
|
|
|
default mips32r2 if BR2_mips_32r2
|
|
|
|
default mips64 if BR2_mips_64
|
2008-05-12 14:43:57 +02:00
|
|
|
default mips64r2 if BR2_mips_64r2
|
2007-09-25 10:01:15 +02:00
|
|
|
default 401 if BR2_powerpc_401
|
|
|
|
default 403 if BR2_powerpc_403
|
|
|
|
default 405 if BR2_powerpc_405
|
|
|
|
default 405fp if BR2_powerpc_405fp
|
|
|
|
default 440 if BR2_powerpc_440
|
|
|
|
default 440fp if BR2_powerpc_440fp
|
|
|
|
default 505 if BR2_powerpc_505
|
|
|
|
default 601 if BR2_powerpc_601
|
|
|
|
default 602 if BR2_powerpc_602
|
|
|
|
default 603 if BR2_powerpc_603
|
|
|
|
default 603e if BR2_powerpc_603e
|
|
|
|
default 604 if BR2_powerpc_604
|
|
|
|
default 604e if BR2_powerpc_604e
|
|
|
|
default 620 if BR2_powerpc_620
|
|
|
|
default 630 if BR2_powerpc_630
|
|
|
|
default 740 if BR2_powerpc_740
|
|
|
|
default 7400 if BR2_powerpc_7400
|
|
|
|
default 7450 if BR2_powerpc_7450
|
|
|
|
default 750 if BR2_powerpc_750
|
|
|
|
default 801 if BR2_powerpc_801
|
|
|
|
default 821 if BR2_powerpc_821
|
|
|
|
default 823 if BR2_powerpc_823
|
|
|
|
default 860 if BR2_powerpc_860
|
|
|
|
default 970 if BR2_powerpc_970
|
|
|
|
default 8540 if BR2_powerpc_8540
|
2012-01-05 20:31:43 +01:00
|
|
|
default 8548 if BR2_powerpc_8548
|
2010-04-08 04:00:28 +02:00
|
|
|
default e300c2 if BR2_powerpc_e300c2
|
|
|
|
default e300c3 if BR2_powerpc_e300c3
|
|
|
|
default e500mc if BR2_powerpc_e500mc
|
2007-09-25 10:01:15 +02:00
|
|
|
default v7 if BR2_sparc_v7
|
|
|
|
default cypress if BR2_sparc_cypress
|
|
|
|
default v8 if BR2_sparc_v8
|
|
|
|
default supersparc if BR2_sparc_supersparc
|
|
|
|
default hypersparc if BR2_sparc_hypersparc
|
|
|
|
default sparclite if BR2_sparc_sparclite
|
|
|
|
default f930 if BR2_sparc_f930
|
|
|
|
default f934 if BR2_sparc_f934
|
|
|
|
default sparclite86x if BR2_sparc_sparclite86x
|
|
|
|
default sparclet if BR2_sparc_sparclet
|
|
|
|
default tsc701 if BR2_sparc_tsc701
|
2010-08-11 15:43:19 +02:00
|
|
|
default v9 if BR2_sparc_v9
|
|
|
|
default v9 if BR2_sparc_v9a
|
|
|
|
default v9 if BR2_sparc_v9b
|
|
|
|
default ultrasparc if BR2_sparc_ultrasparc
|
|
|
|
default ultrasparc3 if BR2_sparc_ultrasparc3
|
|
|
|
default niagara if BR2_sparc_niagara
|
2007-09-25 10:01:15 +02:00
|
|
|
|
|
|
|
config BR2_GCC_TARGET_ARCH
|
|
|
|
string
|
|
|
|
default i386 if BR2_x86_i386
|
|
|
|
default i486 if BR2_x86_i486
|
|
|
|
default i586 if BR2_x86_i586
|
|
|
|
default pentium-mmx if BR2_x86_pentium_mmx
|
|
|
|
default i686 if BR2_x86_i686
|
|
|
|
default pentiumpro if BR2_x86_pentiumpro
|
|
|
|
default pentium-m if BR2_x86_pentium_m
|
|
|
|
default pentium2 if BR2_x86_pentium2
|
|
|
|
default pentium3 if BR2_x86_pentium3
|
|
|
|
default pentium4 if BR2_x86_pentium4
|
|
|
|
default prescott if BR2_x86_prescott
|
|
|
|
default nocona if BR2_x86_nocona
|
|
|
|
default core2 if BR2_x86_core2
|
2011-12-31 11:43:53 +01:00
|
|
|
default atom if BR2_x86_atom
|
2007-09-25 10:01:15 +02:00
|
|
|
default k8 if BR2_x86_opteron
|
|
|
|
default k8-sse3 if BR2_x86_opteron_sse3
|
|
|
|
default barcelona if BR2_x86_barcelona
|
|
|
|
default k6 if BR2_x86_k6
|
|
|
|
default k6-2 if BR2_x86_k6_2
|
|
|
|
default athlon if BR2_x86_athlon
|
|
|
|
default athlon-4 if BR2_x86_athlon_4
|
|
|
|
default winchip-c6 if BR2_x86_winchip_c6
|
|
|
|
default winchip2 if BR2_x86_winchip2
|
|
|
|
default c3 if BR2_x86_c3
|
2010-11-29 16:42:20 +01:00
|
|
|
default c3-2 if BR2_x86_c32
|
2007-09-25 10:01:15 +02:00
|
|
|
default geode if BR2_x86_geode
|
2009-03-30 10:42:08 +02:00
|
|
|
default armv4t if BR2_arm7tdmi
|
2009-03-30 12:00:48 +02:00
|
|
|
default armv3 if BR2_arm610
|
|
|
|
default armv3 if BR2_arm710
|
|
|
|
default armv4t if BR2_arm720t
|
|
|
|
default armv4t if BR2_arm920t
|
|
|
|
default armv4t if BR2_arm922t
|
2009-06-01 10:45:02 +02:00
|
|
|
default armv5te if BR2_arm926t
|
2009-03-30 12:00:48 +02:00
|
|
|
default armv5t if BR2_arm10t
|
|
|
|
default armv6j if BR2_arm1136jf_s
|
|
|
|
default armv6zk if BR2_arm1176jz_s
|
|
|
|
default armv6zk if BR2_arm1176jzf_s
|
2009-10-29 18:30:50 +01:00
|
|
|
default armv7-a if BR2_cortex_a8
|
2010-09-12 19:36:57 +02:00
|
|
|
default armv7-a if BR2_cortex_a9
|
2009-03-30 12:00:48 +02:00
|
|
|
default armv4 if BR2_sa110
|
|
|
|
default armv4 if BR2_sa1100
|
|
|
|
default armv5te if BR2_xscale
|
2007-09-25 10:01:15 +02:00
|
|
|
default iwmmxt if BR2_iwmmxt
|
|
|
|
default 68000 if BR2_m68k_68000
|
|
|
|
default 68010 if BR2_m68k_68010
|
|
|
|
default 68020 if BR2_m68k_68020
|
|
|
|
default 68030 if BR2_m68k_68030
|
|
|
|
default 68040 if BR2_m68k_68040
|
|
|
|
default 68060 if BR2_m68k_68060
|
|
|
|
|
2007-09-26 23:12:38 +02:00
|
|
|
config BR2_GCC_TARGET_ABI
|
|
|
|
string
|
2009-01-30 12:35:04 +01:00
|
|
|
default apcs-gnu if BR2_ARM_OABI
|
|
|
|
default aapcs-linux if BR2_ARM_EABI
|
2008-05-12 14:43:57 +02:00
|
|
|
default 32 if BR2_MIPS_OABI32
|
Clarify MIPS ABIs support
Practically speaking, MIPS has three useful ABIs:
* o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset
of the instruction set.
* n32 is for 64-bits CPUs only. It has 32-bits pointers and long
integers.
* n64 is for 64-bits CPUs only. It has 64-bits pointers and long
integers.
See http://www.linux-mips.org/wiki/MIPS_ABI_History and
http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more
details.
So, this commit reworks the Buildroot MIPS support by:
* Add separate mips64/mips64el top-level architectures.
* Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency
with BR2_MIPS_OABI32.
* Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency
with BR2_MIPS_OABI32.
* Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64,
since those ABIs are valid on 64-bits CPUs only.
* Removing the o64 ABI, which is practicaly never used.
* Removing the "none" ABI, which really doesn't make sense.
* Introduce the mips64 and mips64el architecture names when a 64-bits
MIPS ABI is choosen. This will fix build issue like
http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log
where gmp was confused by the fact of having a 32 bits architecture
(detected by the mips- architecture part of the tuple) but 64 bits
integer size when compiling.
* Adjust the uclibc.mk logic to support the new mips64/mips64el
architecture names, and take into account the renaming of the ABI
options.
This has been build tested by generating Buildroot toolchains and
compiling a few packages for MIPS o32, MIPS n32 and MIPS n64.
This work is originally based on prior work done by Gustavo Zacarias.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 06:09:54 +02:00
|
|
|
default n32 if BR2_MIPS_NABI32
|
|
|
|
default 64 if BR2_MIPS_NABI64
|
2007-09-29 23:22:23 +02:00
|
|
|
default altivec if BR2_powerpc && BR2_PPC_ABI_altivec
|
|
|
|
default no-altivec if BR2_powerpc && BR2_PPC_ABI_no-altivec
|
|
|
|
default spe if BR2_powerpc && BR2_PPC_ABI_spe
|
|
|
|
default no-spe if BR2_powerpc && BR2_PPC_ABI_no-spe
|
|
|
|
default ibmlongdouble if BR2_powerpc && BR2_PPC_ABI_ibmlongdouble
|
|
|
|
default ieeelongdouble if BR2_powerpc && BR2_PPC_ABI_ieeelongdouble
|
2007-09-26 23:12:38 +02:00
|
|
|
|
2010-11-09 17:27:34 +01:00
|
|
|
config BR2_GCC_TARGET_CPU
|
|
|
|
string
|
|
|
|
default sparchfleon if BR2_sparc_sparchfleon
|
|
|
|
default sparchfleonv8 if BR2_sparc_sparchfleonv8
|
|
|
|
default sparcsfleon if BR2_sparc_sparcsfleon
|
|
|
|
default sparcsfleonv8 if BR2_sparc_sparcsfleonv8
|