From 7345b706ad95539779218fd198da8e8e76f08838 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Wed, 28 Oct 2009 20:56:34 +0100 Subject: Simplify kconfig wording of thread support Use a choice for thread support selection. Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 93 +++++++++++++++++++++++++------------------------ 1 file changed, 47 insertions(+), 46 deletions(-) (limited to 'extra') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 02a16eed3..1d3e153bb 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -383,69 +383,41 @@ config LDSO_GNU_HASH_SUPPORT If you want to use this new feature, answer Y -config HAS_NO_THREADS - bool - default n - -config UCLIBC_HAS_THREADS - bool "POSIX Threading support" - depends on !HAS_NO_THREADS - default y - # linuxthreads and linuxthreads.old need nanosleep() - select UCLIBC_HAS_REALTIME +choice + prompt "Thread support" + #default UCLIBC_HAS_THREADS_NATIVE if (TARGET_alpha || TARGET_arm || TARGET_i386 || TARGET_mips || TARGET_powerpc || TARGET_sh || TARGET_sh64) + default HAS_NO_THREADS help If you want to compile uClibc with pthread support, then answer Y. This will increase the size of uClibc by adding a bunch of locking to critical data structures, and adding extra code to ensure that functions are properly reentrant. - If your applications require pthreads, answer Y. - -config UCLIBC_HAS_TLS - bool "Thread-Local Storage" - depends on UCLIBC_HAS_THREADS_NATIVE - default n - help - If you want to enable TLS support then answer Y. - This is fast an efficient way to store per-thread local data - which is not on stack. It needs __thread support enabled in - gcc. - -config PTHREADS_DEBUG_SUPPORT - bool "Build pthreads debugging support" - default n - depends on UCLIBC_HAS_THREADS +config HAS_NO_THREADS + bool "none" help - Say Y here if you wish to be able to debug applications that use - uClibc's pthreads library. By enabling this option, a library - named libthread_db will be built. This library will be dlopen()'d - by gdb and will allow gdb to debug the threads in your application. - - IMPORTANT NOTE! Because gdb must dlopen() the libthread_db library, - you must compile gdb with uClibc in order for pthread debugging to - work properly. - - If you are doing development and want to debug applications using - uClibc's pthread library, answer Y. Otherwise, answer N. + Disable thread support. config LINUXTHREADS_OLD - bool "Use the older (stable) version of linuxthreads" - default y - depends on UCLIBC_HAS_THREADS && !UCLIBC_HAS_THREADS_NATIVE + bool "older (stable) version of linuxthreads" + # linuxthreads and linuxthreads.old need nanosleep() + select UCLIBC_HAS_REALTIME help There are two versions of linuxthreads. The older (stable) version has been in uClibc for quite a long time but hasn't seen too many updates other than bugfixes. + +config LINUXTHREADS_NEW + bool "slightly newer version of linuxthreads" + help The new version has not been tested much, and lacks ports for arches which glibc does not support (like bfin/frv/etc...), but is based on the latest code from glibc, so it may be the only choice for the newer ports (like alpha/amd64/64bit arches and hppa). config UCLIBC_HAS_THREADS_NATIVE - bool "Native POSIX Threading (NPTL) Support" - depends on UCLIBC_HAS_THREADS - default n + bool "Native POSIX Threading (NPTL)" select UCLIBC_HAS_TLS help If you want to compile uClibc with NPTL support, then answer Y. @@ -464,9 +436,38 @@ config UCLIBC_HAS_THREADS_NATIVE that way until further notice at which point this notice will disappear. Thank you for your support and for not smoking. -config LINUXTHREADS_NEW - def_bool y - depends on UCLIBC_HAS_THREADS && !LINUXTHREADS_OLD && !UCLIBC_HAS_THREADS_NATIVE +endchoice + +config UCLIBC_HAS_THREADS + def_bool y if !HAS_NO_THREADS + +config UCLIBC_HAS_TLS + bool "Thread-Local Storage" + depends on UCLIBC_HAS_THREADS_NATIVE + default n + help + If you want to enable TLS support then answer Y. + This is fast an efficient way to store per-thread local data + which is not on stack. It needs __thread support enabled in + gcc. + +config PTHREADS_DEBUG_SUPPORT + bool "Build pthreads debugging support" + default n + depends on UCLIBC_HAS_THREADS + help + Say Y here if you wish to be able to debug applications that use + uClibc's pthreads library. By enabling this option, a library + named libthread_db will be built. This library will be dlopen()'d + by gdb and will allow gdb to debug the threads in your application. + + IMPORTANT NOTE! Because gdb must dlopen() the libthread_db library, + you must compile gdb with uClibc in order for pthread debugging to + work properly. + + If you are doing development and want to debug applications using + uClibc's pthread library, answer Y. Otherwise, answer N. + config UCLIBC_HAS_SYSLOG bool "Syslog support" -- cgit v1.2.3