From d1db6f668fb056fc50b0ec69ec521657e966ecb7 Mon Sep 17 00:00:00 2001 From: Abdoulaye Walsimou Gaye Date: Tue, 19 May 2009 23:38:25 +0200 Subject: MIPS: give ability to choose ABI to build and a multilib toolchain or not This patch gives the ability to choose the mips ABI to build and the choice to build multilib toolchain or not. It also remanes arch_variant.kconfig to arch-variant.kconfig. Signed-off-by: Abdoulaye Walsimou Gaye --- kconfig/arch-variant.kconfig | 118 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 kconfig/arch-variant.kconfig (limited to 'kconfig/arch-variant.kconfig') diff --git a/kconfig/arch-variant.kconfig b/kconfig/arch-variant.kconfig new file mode 100644 index 0000000..5c60d42 --- /dev/null +++ b/kconfig/arch-variant.kconfig @@ -0,0 +1,118 @@ +######################################################################################### +# GAYE Abdoulaye Walsimou, +# Copyright(C) 2009 GAYE Abdoulaye Walsimou. All rights reserved. +# +# This program is free software; you can distribute it and/or modify it +# under the terms of the GNU General Public License +# (Version 2 or later) published by the Free Software Foundation. +# +# This program is distributed in the hope it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. +######################################################################################### +# +# \file arch-variant.kconfig +# \brief arch-variant.kconfig of EmbToolkit, here we give users the ability to +# \brief choose which variant of CPU to use. +# \author GAYE Abdoulaye Walsimou, +# \date May 2009 +######################################################################################### + +################################## MIPS ARCH ############################################ +choice + prompt "Architecture variant" + depends on EMBTK_ARCH_MIPS + default EMBTK_ARCH_MIPS_MIPS32_LITTLE + help + Select architecture variant. + config EMBTK_ARCH_MIPS_MIPS1_LITTLE + bool "MIPS I little endian" + config EMBTK_ARCH_MIPS_MIPS1_BIG + bool "MIPS I big endian" + config EMBTK_ARCH_MIPS_MIPS2_LITTLE + bool "MIPS II little endian" + config EMBTK_ARCH_MIPS_MIPS2_BIG + bool "MIPS II big endian" + config EMBTK_ARCH_MIPS_MIPS3_LITTLE + bool "MIPS III little endian" + config EMBTK_ARCH_MIPS_MIPS3_BIG + bool "MIPS III big endian" + config EMBTK_ARCH_MIPS_MIPS4_LITTLE + bool "MIPS IV little endian" + config EMBTK_ARCH_MIPS_MIPS4_BIG + bool "MIPS IV big endian" + config EMBTK_ARCH_MIPS_MIPS32_LITTLE + bool "MIPS32 little endian" + config EMBTK_ARCH_MIPS_MIPS32_BIG + bool "MIPS32 big endian" + config EMBTK_ARCH_MIPS_MIPS32R2_LITTLE + bool "MIPS32 release 2 little endian" + config EMBTK_ARCH_MIPS_MIPS32R2_BIG + bool "MIPS32 release 2 big endian" + + config EMBTK_ARCH_MIPS_MIPS64_LITTLE + bool "MIPS64 little endian" + config EMBTK_ARCH_MIPS_MIPS64_BIG + bool "MIPS64 big endian" + config EMBTK_ARCH_MIPS_MIPS64R2_LITTLE + bool "MIPS64 release 2 little endian" + config EMBTK_ARCH_MIPS_MIPS64R2_BIG + bool "MIPS64 release 2 big endian" + +endchoice + +choice + prompt "ABI" + depends on EMBTK_ARCH_MIPS + default EMBTK_ARCH_MIPS_ABI_O32 + help + Here you can select which abi you want to use. + config EMBTK_ARCH_MIPS_ABI_O32 + bool "o32" + config EMBTK_ARCH_MIPS_ABI_N32 + bool "n32" if EMBTK_ARCH_MIPS_MIPS3_LITTLE || EMBTK_ARCH_MIPS_MIPS3_BIG \ + || EMBTK_ARCH_MIPS_MIPS4_LITTLE || EMBTK_ARCH_MIPS_MIPS4_BIG || \ + EMBTK_ARCH_MIPS_MIPS64_LITTLE || EMBTK_ARCH_MIPS_MIPS64_BIG || \ + EMBTK_ARCH_MIPS_MIPS64R2_LITTLE || EMBTK_ARCH_MIPS_MIPS64R2_BIG + + config EMBTK_ARCH_MIPS_ABI_EABI + bool "eabi" if EMBTK_ARCH_MIPS_MIPS3_LITTLE || EMBTK_ARCH_MIPS_MIPS3_BIG \ + || EMBTK_ARCH_MIPS_MIPS4_LITTLE || EMBTK_ARCH_MIPS_MIPS4_BIG || \ + EMBTK_ARCH_MIPS_MIPS64_LITTLE || EMBTK_ARCH_MIPS_MIPS64_BIG || \ + EMBTK_ARCH_MIPS_MIPS64R2_LITTLE || EMBTK_ARCH_MIPS_MIPS64R2_BIG + + config EMBTK_ARCH_MIPS_ABI_O64 + bool "o64" if EMBTK_ARCH_MIPS_MIPS3_LITTLE || EMBTK_ARCH_MIPS_MIPS3_BIG \ + || EMBTK_ARCH_MIPS_MIPS4_LITTLE || EMBTK_ARCH_MIPS_MIPS4_BIG || \ + EMBTK_ARCH_MIPS_MIPS64_LITTLE || EMBTK_ARCH_MIPS_MIPS64_BIG || \ + EMBTK_ARCH_MIPS_MIPS64R2_LITTLE || EMBTK_ARCH_MIPS_MIPS64R2_BIG + + config EMBTK_ARCH_MIPS_ABI_N64 + bool "n64" if EMBTK_ARCH_MIPS_MIPS3_LITTLE || EMBTK_ARCH_MIPS_MIPS3_BIG \ + || EMBTK_ARCH_MIPS_MIPS4_LITTLE || EMBTK_ARCH_MIPS_MIPS4_BIG || \ + EMBTK_ARCH_MIPS_MIPS64_LITTLE || EMBTK_ARCH_MIPS_MIPS64_BIG || \ + EMBTK_ARCH_MIPS_MIPS64R2_LITTLE || EMBTK_ARCH_MIPS_MIPS64R2_BIG +endchoice + +################################## End MIPS ARCH ######################################## + +config EMBTK_TOOLCHAIN_MULTILIB + default n + bool "Build multilib toolchain" + help + Say yes here, to specify that multiple target libraries to support + different target variants, calling conventions, etc. should be built. + +config EMBTK_SOFTFLOAT + default y + bool "Soft floating point" + help + Select if your CPU has a hardware floating point unit. + If you say no here, your toolchain will be built without + software floating point. + -- cgit v1.2.3