diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2011-04-26 12:50:25 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2011-04-26 12:50:25 +0200 |
commit | a8c14536161a7f62f06beb5928acfd78691bef78 (patch) | |
tree | adeaed5057b137598c625e1fc6f8054d2cd9bfa7 /target/config | |
parent | ce64829c0d165fe0f25c861117a359b05293ec51 (diff) |
make arm/mips architectures more configurable in a simpler way
Diffstat (limited to 'target/config')
-rw-r--r-- | target/config/Config.in | 87 | ||||
-rw-r--r-- | target/config/Config.in.arch.choice | 34 | ||||
-rw-r--r-- | target/config/Config.in.system.choice | 4 |
3 files changed, 92 insertions, 33 deletions
diff --git a/target/config/Config.in b/target/config/Config.in index 265e339e8..cfa53894a 100644 --- a/target/config/Config.in +++ b/target/config/Config.in @@ -1,10 +1,85 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. +config ADK_big + boolean + +config ADK_little + boolean + +config ADK_TARGET_ENDIAN + string + default "little" if ADK_little + default "big" if ADK_big source "target/config/Config.in.arch" source "target/config/Config.in.system" +choice +prompt "Target Endianess" +depends on ADK_LINUX_ARM || ADK_LINUX_MIPS && ADK_TOOLCHAIN_ONLY +config ADK_ENDIAN + boolean "Choose target endianess" + +config ADK_TARGET_LITTLE_ENDIAN + boolean "Little endian" + select ADK_little + +config ADK_TARGET_BIG_ENDIAN + boolean "Big endian" + select ADK_big + +endchoice + +choice +prompt "Target Kernel" +depends on ADK_TARGET_SYSTEM_LEMOTE_YEELONG +config ADK_TARGET_KERNEL + boolean "Choose target kernel" + +config ADK_TARGET_KERNEL32 + boolean "32 Bit Kernel" + +config ADK_TARGET_KERNEL64 + boolean "64 Bit Kernel" + +endchoice + +config ADK_o32 + boolean + +config ADK_n32 + boolean + +config ADK_n64 + boolean + +config ADK_TARGET_ABI + string + default "32" if ADK_o32 + default "n32" if ADK_n32 + default "64" if ADK_n64 + +choice +prompt "Target ABI" +depends on ADK_TARGET_KERNEL64 && ADK_LINUX_MIPS +config ADK_ABI + boolean "Choose target ABI" + +config ADK_TARGET_ABI_O32 + boolean "O32 ABI (old)" + select ADK_o32 + +config ADK_TARGET_ABI_N32 + boolean "N32 ABI (new)" + select ADK_n32 + +config ADK_TARGET_ABI_N64 + boolean "N64 ABI" + select ADK_n64 + +endchoice + if ADK_LINUX_NATIVE source "target/config/Config.in.native" endif @@ -164,6 +239,18 @@ config ADK_TARGET_CPU_ARCH default "i686" if ADK_CPU_I686 default "i586" if ADK_CPU_GEODE default "i686" if ADK_CPU_PENTIUM_M + default "mips64" if ADK_LINUX_MIPS && ADK_big && ADK_TARGET_KERNEL64 + default "mips64el" if ADK_LINUX_MIPS && ADK_little && ADK_TARGET_KERNEL64 + default "mips" if ADK_LINUX_MIPS && ADK_big + default "mipsel" if ADK_LINUX_MIPS && ADK_little + default "arm" if ADK_LINUX_ARM && ADK_little + default "armeb" if ADK_LINUX_ARM && ADK_big + +config ADK_TARGET_ABI_CFLAGS + string + default "-mabi=32" if ADK_TARGET_ABI_O32 + default "-mabi=n32 -Wl,-m -Wl,elf32ltsmipn32" if ADK_TARGET_ABI_N32 + default "-mabi=64 -Wl,-m -Wl,elf64ltsmip" if ADK_TARGET_ABI_N64 config ADK_TARGET_CFLAGS string diff --git a/target/config/Config.in.arch.choice b/target/config/Config.in.arch.choice index 607fbb4b9..092a0297d 100644 --- a/target/config/Config.in.arch.choice +++ b/target/config/Config.in.arch.choice @@ -15,46 +15,22 @@ config ADK_LINUX_NATIVE No toolchain will be created. config ADK_LINUX_ARM - bool "arm system (little endian)" + bool "arm system" select ADK_arm help - Support for arm little endian systems. - -config ADK_LINUX_ARMEB - bool "armeb system (big endian)" - select ADK_armeb - help - Support for arm big endian systems. + Support for ARM systems. config ADK_LINUX_CRIS bool "cris system" select ADK_cris help - Support for cris systems. + Support for CRIS systems. config ADK_LINUX_MIPS - bool "mips system (big endian)" + bool "mips system" select ADK_mips help - Support for mips big endian systems. - -config ADK_LINUX_MIPSEL - bool "mipsel system (little endian)" - select ADK_mipsel - help - Support for mips little endian systems. - -config ADK_LINUX_MIPS64 - bool "mips64 system (big endian)" - select ADK_mips64 - help - Support for mips64 big endian systems. - -config ADK_LINUX_MIPS64EL - bool "mips64el system (little endian)" - select ADK_mips64el - help - Support for mips64 little endian systems. + Support for MIPS systems. config ADK_LINUX_PPC bool "ppc system" diff --git a/target/config/Config.in.system.choice b/target/config/Config.in.system.choice index 59b8a7bb7..597d8054a 100644 --- a/target/config/Config.in.system.choice +++ b/target/config/Config.in.system.choice @@ -1,10 +1,6 @@ source "target/arm/Config.in" -source "target/armeb/Config.in" source "target/cris/Config.in" source "target/mips/Config.in" -source "target/mipsel/Config.in" -source "target/mips64/Config.in" -source "target/mips64el/Config.in" source "target/ppc/Config.in" source "target/ppc64/Config.in" source "target/sparc/Config.in" |