From 040bd64849da37e6c35bab3726019c059c96893e Mon Sep 17 00:00:00 2001 From: Daniel Laird Date: Fri, 30 Jan 2009 16:28:26 +0000 Subject: [PATCH] Extend External Toolchain options (match buildroot built toolchain): Have added options that mean you can set the same BR2_XXXX variables for external toolchain and internal (buildroot built) toolchain. This means the same set of packages can be built now me as for you..... Signed-off-by: Daniel Laird --- toolchain/Config.in.2 | 117 +++++++++++++++++++---- toolchain/binutils/Config.in | 1 - toolchain/external-toolchain/Config.in.2 | 60 ------------ toolchain/gcc/Config.in | 13 --- toolchain/uClibc/Config.in | 37 ------- 5 files changed, 96 insertions(+), 132 deletions(-) diff --git a/toolchain/Config.in.2 b/toolchain/Config.in.2 index 9fbe60c148..6daca62d87 100644 --- a/toolchain/Config.in.2 +++ b/toolchain/Config.in.2 @@ -1,35 +1,56 @@ # - -if BR2_TOOLCHAIN_SOURCE -source "toolchain/elf2flt/Config.in" -source "toolchain/mklibs/Config.in" -source "toolchain/sstrip/Config.in" - -config BR2_ENABLE_MULTILIB - bool "Enable multilib support?" - help - Build libraries to support different ABIs. - config BR2_LARGEFILE bool "Enable large file (files > 2 GB) support?" depends on !BR2_cris help - Enable large file (files > 2 GB) support + If you are building your own toolchain and you want to + support files larger than 2GB then enable this option. + If you have an external binary toolchain that has been + built with large file support (files > 2GB) then enable + this option. config BR2_INET_IPV6 bool "Enable IPv6" help - Enable IPv6. + If you are building your own toolchain and you want to + enable IPV6 support then enable this option. + If you have an external binary toolchain that has been + built with IPV6 support then enable this option. config BR2_INET_RPC bool "Enable RPC" help - Enable RPC. RPC support is needed for nfs. + Enable RPC. RPC support is needed for nfs. + If you are building your own toolchain and you want to + enable RPC support then enable this option. + If you have an external binary toolchain that has been + built with RPC support then enable this option. + +config BR2_ENABLE_LOCALE + bool "Enable locale/gettext/i18n support?" + help + If you are building your own toolchain and you want to + enable locale/gettext/i18n support then enable this option. + If you have an external binary toolchain that has been + built with locale/gettext/i18n support then enable this option. + +config BR2_ENABLE_LOCALE_PREGENERATED + bool "Use pregenerated locale data?" + depends on BR2_ENABLE_LOCALE && BR2_TOOLCHAIN_SOURCE + help + Instead of generating the locale data locally you can optionally + download a pregenerated set of locales. + + Say N here unless your buildhost lacks locale support and you + desparately want to use internationalization on your target. config BR2_USE_WCHAR bool "Enable WCHAR support" help - Enable WCHAR. WCHAR support is needed for several packages + If you are building your own toolchain and you want to + enable WCHAR support then enable this option. + If you have an external binary toolchain that has been built + with WCHAR support then enable this option. config BR2_SOFT_FLOAT bool "Use software floating point by default" @@ -42,6 +63,66 @@ config BR2_SOFT_FLOAT Most people will answer N. +choice + prompt "Thread library implementation" + default BR2_PTHREADS_OLD + help + If you are building your own toolchain then select the type of + libpthreads you want to use. + Not all thread variants work with all versions of uClibc, + the "linuxthreads (stable/old)" may be a working fallback + if you need threading at all. + If you have an external binary toolchain then select the type + of libpthreads it was built with. + + config BR2_PTHREADS_NONE + bool "none" + + config BR2_PTHREADS + bool "linuxthreads" + + config BR2_PTHREADS_OLD + bool "linuxthreads (stable/old)" + + config BR2_PTHREADS_NATIVE + bool "Native POSIX Threading (NPTL)" +endchoice + +config BR2_GCC_CROSS_CXX + bool + help + If you are building your own toolchain and want to build + a C++ cross-compiler this needs to be enabled. + If you have an external binary toolchain that has a C++ compiler + and you want to use it then you need to enable this option. + +config BR2_INSTALL_LIBSTDCPP + bool "Build/install c++ compiler and libstdc++?" + select BR2_LARGEFILE if (!BR2_GCC_SUPPORTS_SYSROOT && BR2_TOOLCHAIN_SOURCE) + select BR2_GCC_CROSS_CXX + help + If you are building your own toolchain and want to build and install + the C++ compiler and library then you need to enable this option. + If you have an external toolchain that has been built with C++ + support and you want to use the compiler / library then you need + to select this option. + +config BR2_TARGET_OPTIMIZATION + string "Target Optimizations" + default "-Os -pipe" + help + Optimizations to use when building for the target host. + +if BR2_TOOLCHAIN_SOURCE +source "toolchain/elf2flt/Config.in" +source "toolchain/mklibs/Config.in" +source "toolchain/sstrip/Config.in" + +config BR2_ENABLE_MULTILIB + bool "Enable multilib support?" + help + Build libraries to support different ABIs. + config BR2_VFP_FLOAT bool "Use ARM Vector Floating Point unit" depends on !BR2_SOFT_FLOAT @@ -54,12 +135,6 @@ config BR2_VFP_FLOAT Most people will answer N. -config BR2_TARGET_OPTIMIZATION - string "Target Optimizations" - default "-Os -pipe" - help - Optimizations to use when building for the target host. - config BR2_CROSS_TOOLCHAIN_TARGET_UTILS bool "Include target utils in cross toolchain" default y diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in index 804725cfbf..d3678896d4 100644 --- a/toolchain/binutils/Config.in +++ b/toolchain/binutils/Config.in @@ -13,7 +13,6 @@ choice depends on BR2_DEPRECATED || (BR2_avr32 && BR2_EXT_BINUTILS_VERSION_2_17) bool "binutils 2.17" - config BR2_BINUTILS_VERSION_2_17_50_0_17 depends on !BR2_avr32 && !BR2_nios2 depends on BR2_DEPRECATED diff --git a/toolchain/external-toolchain/Config.in.2 b/toolchain/external-toolchain/Config.in.2 index 6d17455b1a..489558c0f6 100644 --- a/toolchain/external-toolchain/Config.in.2 +++ b/toolchain/external-toolchain/Config.in.2 @@ -14,64 +14,4 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX This the the external toolchain prefix. For example: armeb-unknown-linux-gnu, mipsel-unknown-linux-gnu, etc. -choice - prompt "Thread library implementation" - default BR2_EXT_PTHREADS_OLD - help - Select the version of libpthreads used in the external toolchain. - - config BR2_EXT_PTHREADS_NONE - bool - prompt "none" - - config BR2_EXT_PTHREADS - bool - prompt "linuxthreads" - - config BR2_EXT_PTHREADS_OLD - bool - prompt "linuxthreads (stable/old)" - - config BR2_EXT_PTHREADS_NATIVE - bool - prompt "Native POSIX Threading (NPTL)" -endchoice - -config BR2_LARGEFILE - bool "Toolchain supports large files (> 2 GB) ?" - depends on !BR2_cris - default y - help - Set this option if the external toolchain supports large - files (> 2 GB) - - -config BR2_INET_IPV6 - bool "Toolchain supports IPv6 ?" - help - Set this option if the external toolchain supports IPv6. - -config BR2_INET_RPC - bool "Toolchain supports RPC ?" - help - Set this option if the external toolchain supports RPC. - -config BR2_SOFT_FLOAT - bool "Toolchain supports soft float ?" - depends on BR2_arm || BR2_armeb || BR2_mips || BR2_mipsel || BR2_powerpc - help - Set this option if the external toolchain supports soft float. - -config BR2_GCC_CROSS_CXX - bool "Toolchain has C++ cross-compiler ?" - help - Set this option if the external toolchain has a C++ - cross-compiler. - -config BR2_TARGET_OPTIMIZATION - string "Target Optimizations" - default "-Os -pipe" - help - Optimizations to use when building for the target host. - endif diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index 7f19d9e1cb..2eda71c986 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -125,25 +125,12 @@ config BR2_EXTRA_GCC_CONFIG_OPTIONS help Any additional gcc configure options you may want to include.... -config BR2_GCC_CROSS_CXX - bool "C++ cross-compiler support" - help - Build a C++ cross-compiler - config BR2_GCC_CROSS_FORTRAN bool "Fortran cross-compiler support" depends on !BR2_avr32 help Build a Fortran cross-compiler -config BR2_INSTALL_LIBSTDCPP - bool "Build/install c++ compiler and libstdc++?" - # >= 4.2.0 work fine without LARGEFILE - select BR2_LARGEFILE if !BR2_GCC_SUPPORTS_SYSROOT - select BR2_GCC_CROSS_CXX - help - Build/install c++ compiler and libstdc++? - config BR2_INSTALL_LIBGCJ bool "Build/install java compiler and libgcj?" depends on !BR2_avr32 && BR2_INSTALL_LIBSTDCPP diff --git a/toolchain/uClibc/Config.in b/toolchain/uClibc/Config.in index 422c462c7c..ad1f981361 100644 --- a/toolchain/uClibc/Config.in +++ b/toolchain/uClibc/Config.in @@ -48,43 +48,6 @@ config BR2_UCLIBC_CONFIG See also docs/README in this package. If unsure, use the default. -config BR2_ENABLE_LOCALE - bool "Enable locale/gettext/i18n support?" - help - Enable locale/gettext/i18n support? - -config BR2_ENABLE_LOCALE_PREGENERATED - bool "Use pregenerated locale data?" - depends on BR2_ENABLE_LOCALE - help - Instead of generating the locale data locally you can optionally - download a pregenerated set of locales. - - Say N here unless your buildhost lacks locale support and you - desparately want to use internationalization on your target. - -choice - prompt "Thread library implementation" - default BR2_PTHREADS_OLD - help - Select the version of libpthreads you want to use. - Not all thread variants work with all versions of uClibc, - the "linuxthreads (stable/old)" may be a working fallback - if you need threading at all. - - config BR2_PTHREADS_NONE - bool "none" - - config BR2_PTHREADS - bool "linuxthreads" - - config BR2_PTHREADS_OLD - bool "linuxthreads (stable/old)" - - config BR2_PTHREADS_NATIVE - bool "Native POSIX Threading (NPTL)" -endchoice - config BR2_PTHREAD_DEBUG bool "Thread library debugging" depends on BR2_PTHREADS || BR2_PTHREADS_OLD || BR2_PTHREADS_NATIVE -- 2.30.2