summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2015-03-07 14:35:17 -0600
committerWaldemar Brodkorb <wbx@openadk.org>2015-03-07 14:35:17 -0600
commitfd5e1bfc81aa5ea3e3893fc61f8c50509a3487c7 (patch)
tree637040d125ab37845d8c23cd06322d85db6d7de3
parentbce292b92f50fcec23696d658072b2c55829ca9c (diff)
reorder libc and toolchain options
After a short discussion with Phil, I put Libc stuff into Toolchain menu, as it does not belong to Target configuration. Add a Advanced Option menu for specific toolchain related options. I think this change make building OpenADK for beginners simpler. A starter doesn't know anything about different libc, floating settings, ...
-rw-r--r--Config.in29
-rw-r--r--target/config/Config.in.arm.default4
-rw-r--r--target/config/Config.in.binutils5
-rw-r--r--target/config/Config.in.binutils.choice42
-rw-r--r--target/config/Config.in.binutils.default2
-rw-r--r--target/config/Config.in.gcc5
-rw-r--r--target/config/Config.in.gcc.choice51
-rw-r--r--target/config/Config.in.gcc.default2
-rw-r--r--target/config/Config.in.gdb5
-rw-r--r--target/config/Config.in.gdb.choice17
-rw-r--r--target/config/Config.in.gdb.default2
-rw-r--r--target/config/Config.in.qemuopts19
-rw-r--r--target/config/Config.in.toolchain122
-rw-r--r--target/linux/Config.in3
14 files changed, 175 insertions, 133 deletions
diff --git a/Config.in b/Config.in
index 210c68dab..587f723cc 100644
--- a/Config.in
+++ b/Config.in
@@ -24,7 +24,6 @@ source "target/config/Config.in.boards"
source "target/config/Config.in.kernel"
source "target/config/Config.in.arch"
source "target/config/Config.in.system"
-source "target/config/Config.in.endian"
source "target/config/Config.in.arm"
source "target/config/Config.in.cris"
source "target/config/Config.in.mips"
@@ -32,12 +31,6 @@ source "target/config/Config.in.x86"
source "target/config/Config.in.xtensa"
source "target/config/Config.in.qemu"
source "target/config/Config.in.qemuopts"
-source "target/config/Config.in.kernelversion"
-source "target/config/Config.in.libc"
-source "target/config/Config.in.abi"
-source "target/config/Config.in.fpu"
-source "target/config/Config.in.float"
-source "target/config/Config.in.binfmt"
source "target/config/Config.in.target"
endmenu
@@ -103,8 +96,30 @@ endmenu
menu "Kernel configuration"
visible if !ADK_CHOOSE_APPLIANCE && ADK_TARGET_KERNEL_CUSTOMISING
+
+source "target/config/Config.in.kernelversion"
source "target/linux/Config.in"
endmenu
+menu "Toolchain settings"
+ visible if !ADK_CHOOSE_APPLIANCE
+
+config ADK_VENDOR
+ string "Vendor name"
+ default "openadk"
+ help
+ Vendor string is used for toolchain.
+
+source "target/config/Config.in.endian"
+source "target/config/Config.in.abi"
+source "target/config/Config.in.fpu"
+source "target/config/Config.in.float"
+source "target/config/Config.in.binfmt"
+source "target/config/Config.in.libc"
+source "target/config/Config.in.binutils"
+source "target/config/Config.in.gcc"
+source "target/config/Config.in.gdb"
source "target/config/Config.in.toolchain"
+endmenu
+
source "target/config/Config.in.adk"
diff --git a/target/config/Config.in.arm.default b/target/config/Config.in.arm.default
index 43df6220c..bc233a2ad 100644
--- a/target/config/Config.in.arm.default
+++ b/target/config/Config.in.arm.default
@@ -1,3 +1,7 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
+config ADK_TARGET_ARCH_ARM_WITH_THUMB
+ bool
+ select ADK_KERNEL_THUMB2_KERNEL
+ depends on ADK_TARGET_ARCH_ARM
diff --git a/target/config/Config.in.binutils b/target/config/Config.in.binutils
new file mode 100644
index 000000000..ac91aff4d
--- /dev/null
+++ b/target/config/Config.in.binutils
@@ -0,0 +1,5 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+source target/config/Config.in.binutils.choice
+source target/config/Config.in.binutils.default
diff --git a/target/config/Config.in.binutils.choice b/target/config/Config.in.binutils.choice
new file mode 100644
index 000000000..85caea36c
--- /dev/null
+++ b/target/config/Config.in.binutils.choice
@@ -0,0 +1,42 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+choice
+prompt "Binutils version"
+default ADK_TOOLCHAIN_BINUTILS_2_25
+
+config ADK_TOOLCHAIN_BINUTILS_GIT
+ bool "git"
+ depends on !ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_ARCH_ARC
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_CRIS
+
+config ADK_TOOLCHAIN_BINUTILS_2_25
+ bool "2.25"
+ depends on !ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_ARCH_ARC
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_CRIS
+
+config ADK_TOOLCHAIN_BINUTILS_2_24
+ bool "2.24"
+ depends on !ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_ARCH_ARC
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_CRIS
+
+config ADK_TOOLCHAIN_BINUTILS_2_23_ARC
+ bool "2.23-arc"
+ depends on ADK_TARGET_ARCH_ARC
+
+config ADK_TOOLCHAIN_BINUTILS_2_22
+ bool "2.22"
+ depends on ADK_TARGET_ARCH_BFIN \
+ || ADK_TARGET_ARCH_CRIS
+
+config ADK_TOOLCHAIN_BINUTILS_2_20_1
+ bool "2.20.1"
+ depends on ADK_TARGET_ARCH_AVR32
+
+endchoice
diff --git a/target/config/Config.in.binutils.default b/target/config/Config.in.binutils.default
new file mode 100644
index 000000000..3748dec66
--- /dev/null
+++ b/target/config/Config.in.binutils.default
@@ -0,0 +1,2 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
diff --git a/target/config/Config.in.gcc b/target/config/Config.in.gcc
new file mode 100644
index 000000000..6e38d9361
--- /dev/null
+++ b/target/config/Config.in.gcc
@@ -0,0 +1,5 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+source target/config/Config.in.gcc.choice
+source target/config/Config.in.gcc.default
diff --git a/target/config/Config.in.gcc.choice b/target/config/Config.in.gcc.choice
new file mode 100644
index 000000000..3e7a7affb
--- /dev/null
+++ b/target/config/Config.in.gcc.choice
@@ -0,0 +1,51 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+choice
+prompt "GCC version"
+default ADK_TOOLCHAIN_GCC_4_9_2
+
+config ADK_TOOLCHAIN_GCC_GIT
+ bool "git"
+ depends on !ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_ARCH_ARC
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_CRIS
+
+config ADK_TOOLCHAIN_GCC_4_9_2
+ bool "4.9.2"
+ depends on !ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_ARCH_ARC
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_CRIS
+ depends on !ADK_TARGET_ARCH_C6X
+
+config ADK_TOOLCHAIN_GCC_4_8_4
+ bool "4.8.4"
+ depends on !ADK_TARGET_ARCH_BFIN
+ depends on !ADK_TARGET_ARCH_AARCH64
+ depends on !ADK_TARGET_ARCH_ARC
+ depends on !ADK_TARGET_ARCH_AVR32
+ depends on !ADK_TARGET_ARCH_CRIS
+ depends on !ADK_TARGET_ARCH_TILE
+ depends on !ADK_TARGET_ARCH_C6X
+
+config ADK_TOOLCHAIN_GCC_4_8_0_ARC
+ bool "4.8.0-arc"
+ depends on ADK_TARGET_ARCH_ARC
+
+config ADK_TOOLCHAIN_GCC_4_7_4
+ bool "4.7.4"
+ depends on ADK_TARGET_ARCH_CRIS \
+ || ADK_TARGET_ARCH_C6X \
+ || ADK_TARGET_ARCH_SPARC
+
+config ADK_TOOLCHAIN_GCC_4_5_4
+ bool "4.5.4"
+ depends on ADK_TARGET_ARCH_BFIN
+
+config ADK_TOOLCHAIN_GCC_4_4_7
+ bool "4.4.7"
+ depends on ADK_TARGET_ARCH_AVR32
+
+endchoice
diff --git a/target/config/Config.in.gcc.default b/target/config/Config.in.gcc.default
new file mode 100644
index 000000000..3748dec66
--- /dev/null
+++ b/target/config/Config.in.gcc.default
@@ -0,0 +1,2 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
diff --git a/target/config/Config.in.gdb b/target/config/Config.in.gdb
new file mode 100644
index 000000000..5c08273e5
--- /dev/null
+++ b/target/config/Config.in.gdb
@@ -0,0 +1,5 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+source target/config/Config.in.gdb.choice
+source target/config/Config.in.gdb.default
diff --git a/target/config/Config.in.gdb.choice b/target/config/Config.in.gdb.choice
new file mode 100644
index 000000000..363aede46
--- /dev/null
+++ b/target/config/Config.in.gdb.choice
@@ -0,0 +1,17 @@
+choice
+prompt "GNU debugger version"
+default ADK_TOOLCHAIN_GDB_7_8_2
+
+config ADK_TOOLCHAIN_GDB_GIT
+ bool "git"
+ depends on !ADK_TARGET_ARCH_AVR32
+
+config ADK_TOOLCHAIN_GDB_7_8_2
+ bool "7.8.2"
+ depends on !ADK_TARGET_ARCH_AVR32
+
+config ADK_TOOLCHAIN_GDB_6_7_1
+ bool "6.7.1"
+ depends on ADK_TARGET_ARCH_AVR32
+
+endchoice
diff --git a/target/config/Config.in.gdb.default b/target/config/Config.in.gdb.default
new file mode 100644
index 000000000..3748dec66
--- /dev/null
+++ b/target/config/Config.in.gdb.default
@@ -0,0 +1,2 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
diff --git a/target/config/Config.in.qemuopts b/target/config/Config.in.qemuopts
index b869202e2..40d129b12 100644
--- a/target/config/Config.in.qemuopts
+++ b/target/config/Config.in.qemuopts
@@ -1,9 +1,6 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
-menu "Qemu configuration"
-depends on ADK_TARGET_QEMU && !ADK_TARGET_SYSTEM_QEMU_M68K
-
config ADK_QEMU_ARGS
string
default "" if ADK_TARGET_QEMU_WITH_GRAPHIC
@@ -30,7 +27,20 @@ endchoice
choice
prompt "Qemu Emulation with storage device"
-depends on ADK_TARGET_QEMU && !ADK_TARGET_SYSTEM_QEMU_XTENSA && !ADK_TARGET_SYSTEM_QEMU_AARCH64 && !ADK_TARGET_SYSTEM_QEMU_M68K
+depends on ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB \
+ || ADK_TARGET_QEMU_ARM_MODEL_TERRIER \
+ || ADK_TARGET_QEMU_ARM_MODEL_SPITZ \
+ || ADK_TARGET_QEMU_MICROBLAZE_MODEL_ML605 \
+ || ADK_TARGET_QEMU_MICROBLAZE_MODEL_S3ADSP1800 \
+ || ADK_TARGET_SYSTEM_QEMU_MIPS \
+ || ADK_TARGET_SYSTEM_QEMU_MIPS64 \
+ || ADK_TARGET_SYSTEM_QEMU_PPC \
+ || ADK_TARGET_SYSTEM_QEMU_PPC64 \
+ || ADK_TARGET_SYSTEM_QEMU_SH \
+ || ADK_TARGET_SYSTEM_QEMU_SPARC \
+ || ADK_TARGET_SYSTEM_QEMU_SPARC64 \
+ || ADK_TARGET_SYSTEM_QEMU_X86 \
+ || ADK_TARGET_SYSTEM_QEMU_X86_64
default ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_ROOTFS_ARCHIVE
default ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_ROOTFS_SQUASHFS
default ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_ROOTFS_JFFS2
@@ -113,4 +123,3 @@ config ADK_TARGET_QEMU_WITH_AUDIO
bool "enabled"
endchoice
-endmenu
diff --git a/target/config/Config.in.toolchain b/target/config/Config.in.toolchain
index 5c50c7a9b..557b12708 100644
--- a/target/config/Config.in.toolchain
+++ b/target/config/Config.in.toolchain
@@ -1,119 +1,6 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
-menu "Toolchain settings"
- visible if !ADK_CHOOSE_APPLIANCE
-
-config ADK_VENDOR
- string "Vendor name"
- default "openadk"
- help
- Vendor string is used for toolchain.
-
-choice
-prompt "GCC version"
-
-config ADK_TOOLCHAIN_GCC_4_9_2
- bool "4.9.2"
- depends on !ADK_TARGET_ARCH_BFIN
- depends on !ADK_TARGET_ARCH_ARC
- depends on !ADK_TARGET_ARCH_AVR32
- depends on !ADK_TARGET_ARCH_CRIS
- depends on !ADK_TARGET_ARCH_C6X
-
-config ADK_TOOLCHAIN_GCC_4_8_4
- bool "4.8.4"
- depends on !ADK_TARGET_ARCH_BFIN
- depends on !ADK_TARGET_ARCH_AARCH64
- depends on !ADK_TARGET_ARCH_ARC
- depends on !ADK_TARGET_ARCH_AVR32
- depends on !ADK_TARGET_ARCH_CRIS
- depends on !ADK_TARGET_ARCH_TILE
- depends on !ADK_TARGET_ARCH_C6X
-
-config ADK_TOOLCHAIN_GCC_4_7_4
- bool "4.7.4"
- depends on ADK_TARGET_ARCH_CRIS \
- || ADK_TARGET_ARCH_C6X \
- || ADK_TARGET_ARCH_SPARC
-
-config ADK_TOOLCHAIN_GCC_4_8_0_ARC
- bool "4.8.0-arc"
- depends on ADK_TARGET_ARCH_ARC
-
-config ADK_TOOLCHAIN_GCC_4_5_4
- bool "4.5.4"
- depends on ADK_TARGET_ARCH_BFIN
-
-config ADK_TOOLCHAIN_GCC_4_4_7
- bool "4.4.7"
- depends on ADK_TARGET_ARCH_AVR32
-
-config ADK_TOOLCHAIN_GCC_GIT
- bool "git"
- depends on !ADK_TARGET_ARCH_BFIN
- depends on !ADK_TARGET_ARCH_ARC
- depends on !ADK_TARGET_ARCH_AVR32
- depends on !ADK_TARGET_ARCH_CRIS
-
-endchoice
-
-choice
-prompt "Binutils version"
-
-config ADK_TOOLCHAIN_BINUTILS_2_20_1
- bool "2.20.1"
- depends on ADK_TARGET_ARCH_AVR32
-
-config ADK_TOOLCHAIN_BINUTILS_2_22
- bool "2.22"
- depends on ADK_TARGET_ARCH_BFIN \
- || ADK_TARGET_ARCH_CRIS
-
-config ADK_TOOLCHAIN_BINUTILS_2_23_ARC
- bool "2.23-arc"
- depends on ADK_TARGET_ARCH_ARC
-
-config ADK_TOOLCHAIN_BINUTILS_2_25
- bool "2.25"
- depends on !ADK_TARGET_ARCH_BFIN
- depends on !ADK_TARGET_ARCH_ARC
- depends on !ADK_TARGET_ARCH_AVR32
- depends on !ADK_TARGET_ARCH_CRIS
-
-config ADK_TOOLCHAIN_BINUTILS_2_24
- bool "2.24"
- depends on !ADK_TARGET_ARCH_BFIN
- depends on !ADK_TARGET_ARCH_ARC
- depends on !ADK_TARGET_ARCH_AVR32
- depends on !ADK_TARGET_ARCH_CRIS
-
-config ADK_TOOLCHAIN_BINUTILS_GIT
- bool "git"
- depends on !ADK_TARGET_ARCH_BFIN
- depends on !ADK_TARGET_ARCH_ARC
- depends on !ADK_TARGET_ARCH_AVR32
- depends on !ADK_TARGET_ARCH_CRIS
-
-endchoice
-
-choice
-prompt "GNU debugger version"
-
-config ADK_TOOLCHAIN_GDB_7_8_2
- bool "7.8.2"
- depends on !ADK_TARGET_ARCH_AVR32
-
-config ADK_TOOLCHAIN_GDB_6_7_1
- bool "6.7.1"
- depends on ADK_TARGET_ARCH_AVR32
-
-config ADK_TOOLCHAIN_GDB_GIT
- bool "git"
- depends on !ADK_TARGET_ARCH_AVR32
-
-endchoice
-
config ADK_TARGET_CFLAGS_OPT
string
default "-Os -pipe" if ADK_TARGET_CFLAGS_OPT_OS
@@ -139,13 +26,7 @@ config ADK_TARGET_CFLAGS_OPT_O0
endchoice
-config ADK_TARGET_ARCH_ARM_WITH_THUMB
- bool "Use THUMB2 only mode"
- select ADK_KERNEL_THUMB2_KERNEL
- depends on ADK_TARGET_ARCH_ARM
- help
- Experimental option. Use with care.
-
+menu "Advanced Toolchain options"
config ADK_TOOLCHAIN_WITH_SSP
bool
@@ -224,5 +105,4 @@ config ADK_UCLIBC_TEST
depends on ADK_TARGET_LIB_UCLIBC_NG || ADK_TARGET_LIB_UCLIBC
help
Build uClibc/uClibc-ng test suite.
-
endmenu
diff --git a/target/linux/Config.in b/target/linux/Config.in
index b4606ead8..03d184ab1 100644
--- a/target/linux/Config.in
+++ b/target/linux/Config.in
@@ -1,3 +1,6 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
source target/linux/config/Config.in.kernel
source target/linux/config/Config.in.cpu
source target/linux/config/Config.in.block