Browse Source

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,
...
Waldemar Brodkorb 9 years ago
parent
commit
fd5e1bfc81

+ 22 - 7
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"

+ 4 - 0
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

+ 5 - 0
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

+ 42 - 0
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

+ 2 - 0
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.

+ 5 - 0
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

+ 51 - 0
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

+ 2 - 0
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.

+ 5 - 0
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

+ 17 - 0
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

+ 2 - 0
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.

+ 14 - 5
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

+ 1 - 121
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

+ 3 - 0
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