OSDN Git Service

Simplify kconfig wording of thread support
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Wed, 28 Oct 2009 19:56:34 +0000 (20:56 +0100)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Wed, 28 Oct 2009 19:56:34 +0000 (20:56 +0100)
Use a choice for thread support selection.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
extra/Configs/Config.in

index 02a16ee..1d3e153 100644 (file)
@@ -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"