From fd5e1bfc81aa5ea3e3893fc61f8c50509a3487c7 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Sat, 7 Mar 2015 14:35:17 -0600 Subject: 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, ... --- Config.in | 29 ++++++-- target/config/Config.in.arm.default | 4 + target/config/Config.in.binutils | 5 ++ target/config/Config.in.binutils.choice | 42 +++++++++++ target/config/Config.in.binutils.default | 2 + target/config/Config.in.gcc | 5 ++ target/config/Config.in.gcc.choice | 51 +++++++++++++ target/config/Config.in.gcc.default | 2 + target/config/Config.in.gdb | 5 ++ target/config/Config.in.gdb.choice | 17 +++++ target/config/Config.in.gdb.default | 2 + target/config/Config.in.qemuopts | 19 +++-- target/config/Config.in.toolchain | 122 +------------------------------ target/linux/Config.in | 3 + 14 files changed, 175 insertions(+), 133 deletions(-) create mode 100644 target/config/Config.in.binutils create mode 100644 target/config/Config.in.binutils.choice create mode 100644 target/config/Config.in.binutils.default create mode 100644 target/config/Config.in.gcc create mode 100644 target/config/Config.in.gcc.choice create mode 100644 target/config/Config.in.gcc.default create mode 100644 target/config/Config.in.gdb create mode 100644 target/config/Config.in.gdb.choice create mode 100644 target/config/Config.in.gdb.default 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 -- cgit v1.2.3