From 575c76ab8f915aa1c728f353ed9d528f0070449c Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Wed, 28 Oct 2009 20:12:54 +0100 Subject: support selecting which locales to build Introduce UCLIBC_BUILD_MINIMAL_LOCALES and if selected build only those locales. Based on a patch by Bernhard Reutner-Fischer. Signed-off-by: Marc Andre Tanner Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) (limited to 'extra/Configs/Config.in') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 8fa9a47ae..75f87feff 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -1299,6 +1299,28 @@ config UCLIBC_HAS_LOCALE Answer Y to enable locale support. Most people will answer N. +choice + +prompt "Locale data" + depends on UCLIBC_HAS_LOCALE + default UCLIBC_BUILD_ALL_LOCALE + +config UCLIBC_BUILD_ALL_LOCALE + bool "All locales" + depends on UCLIBC_HAS_LOCALE + default y + help + This builds all the locales that are available on your + host-box. + +config UCLIBC_BUILD_MINIMAL_LOCALE + bool "Only selected locales" + depends on UCLIBC_HAS_LOCALE + default n + help + If you do not need all locales that are available on your + host-box, then set this to 'Y'. + config UCLIBC_PREGENERATED_LOCALE_DATA bool "Use Pre-generated Locale Data" depends on UCLIBC_HAS_LOCALE @@ -1311,6 +1333,20 @@ config UCLIBC_PREGENERATED_LOCALE_DATA Saying N here is highly recommended. +endchoice + +config UCLIBC_BUILD_MINIMAL_LOCALES + string "locales to use" + depends on UCLIBC_BUILD_MINIMAL_LOCALE + default "en_US" + help + Space separated list of locales to use. + + E.g.: + en_US en_GB de_AT + default: + en_US + config UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA bool "Automagically Download the Pre-generated Locale Data (if necessary)" depends on UCLIBC_PREGENERATED_LOCALE_DATA @@ -1323,7 +1359,7 @@ config UCLIBC_DOWNLOAD_PREGENERATED_LOCALE_DATA and place the uClibc-locale-*.tgz tarball in the extra/locale/ directory. - Go ahead and make life easy for yourself... Answer Y. + Note that the use of pregenerated locale data is discouraged. config UCLIBC_HAS_XLOCALE bool "Extended Locale Support (experimental/incomplete)" -- cgit v1.2.3 From ce7914a16a6e1d36a68346de26d713e880765c92 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Wed, 28 Oct 2009 20:49:18 +0100 Subject: remove wrong default for choice Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 3 --- 1 file changed, 3 deletions(-) (limited to 'extra/Configs/Config.in') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 75f87feff..02a16eed3 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -1308,7 +1308,6 @@ prompt "Locale data" config UCLIBC_BUILD_ALL_LOCALE bool "All locales" depends on UCLIBC_HAS_LOCALE - default y help This builds all the locales that are available on your host-box. @@ -1316,7 +1315,6 @@ config UCLIBC_BUILD_ALL_LOCALE config UCLIBC_BUILD_MINIMAL_LOCALE bool "Only selected locales" depends on UCLIBC_HAS_LOCALE - default n help If you do not need all locales that are available on your host-box, then set this to 'Y'. @@ -1324,7 +1322,6 @@ config UCLIBC_BUILD_MINIMAL_LOCALE config UCLIBC_PREGENERATED_LOCALE_DATA bool "Use Pre-generated Locale Data" depends on UCLIBC_HAS_LOCALE - default n help Use pre-built locale data. -- cgit v1.2.3 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/Configs/Config.in') 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 From 62447c11492169462fa4b19c97413d5492ba7854 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Thu, 19 Nov 2009 17:57:37 +0100 Subject: fixup working in helptexts and spell out suggested defaults for LDSO_RUNPATH Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'extra/Configs/Config.in') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 1d3e153bb..7f14b9c3b 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -282,7 +282,7 @@ config LDSO_LDD_SUPPORT depends on HAVE_SHARED default y help - Enable this to enable all the code needed to support traditional ldd, + Enable all the code needed to support traditional ldd, which executes the shared library loader to resolve all dependencies and then provide a list of shared libraries that are required for an application to function. Disabling this option will makes uClibc's @@ -333,14 +333,15 @@ config UCLIBC_STATIC_LDCONFIG Enable this option to statically link the ldconfig binary. Making ldconfig static can be beneficial if you have a library - problem and need to use ldconfig to recover. Sometimes, it is + problem and need to use ldconfig to recover. Sometimes it is preferable to instead keep the size of the system down, in which case you should disable this option. config LDSO_RUNPATH bool "Enable ELF RUNPATH tag support" depends on HAVE_SHARED - default y + default y if LDSO_CACHE_SUPPORT + default n if !LDSO_CACHE_SUPPORT help ELF's may have dynamic RPATH/RUNPATH tags. These tags list paths which extend the library search paths. They are really only useful -- cgit v1.2.3 From a59d48422fc6073f254a1f9cb8580f23ab921568 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Thu, 19 Nov 2009 18:03:00 +0100 Subject: libnsl: add knob to disable it It's a dummy either way. Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'extra/Configs/Config.in') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 7f14b9c3b..833d180e4 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -1191,6 +1191,12 @@ config UCLIBC_HAS_RESOLV_STUB help Provide a dummy resolv library. +config UCLIBC_HAS_LIBNSL_STUB + bool "Provide libnsl stub" + default n + help + Provide a dummy nsl library. + endif -- cgit v1.2.3 From 3b547855d9745ffd59077a355995251eb06928a9 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Thu, 19 Nov 2009 18:17:06 +0100 Subject: libutil: provide knob to disable it These tty utility functions are non-standard. They usually are available on BSD and/or glibc based systems. Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'extra/Configs/Config.in') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 833d180e4..13bebd37f 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -1197,6 +1197,30 @@ config UCLIBC_HAS_LIBNSL_STUB help Provide a dummy nsl library. +config UCLIBC_HAS_LIBUTIL + bool "Provide libutil library and functions" + default n + help + Provide a libutil library. + This non-standard conforming library provides the following + utility functions: + + forkpty(): combines openpty(), fork(2), and login_tty() to + create a new process operating in a pseudo-terminal. + login(): write utmp and wtmp entries + login_tty(): prepares for a login on the tty fd by creating a + new session, making fd the controlling terminal for + the calling process, setting fd to be the standard + input, output, and error streams of the current + process, and closing fd. + logout(): write utmp and wtmp entries + logwtmp(): constructs a utmp structure and calls updwtmp() to + append the structure to the utmp file. + openpty(): finds an available pseudo-terminal and returns + file descriptors for the master and slave + + This library adds about 3k-4k to your system. + endif -- cgit v1.2.3 From 3982dd7ff251ee502ec6b5a75680a09ec60b3428 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Thu, 19 Nov 2009 18:23:41 +0100 Subject: UCLIBC_HAS_RESOLV_STUB: Rename config symbol s/UCLIBC_HAS_RESOLV_STUB/UCLIBC_HAS_LIBRESOLV_STUB/ for consistency. Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'extra/Configs/Config.in') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 13bebd37f..419a568ac 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -1185,7 +1185,7 @@ config UCLIBC_HAS_EXTRA_COMPAT_RES_STATE Answer Y if selecting UCLIBC_HAS_COMPAT_RES_STATE is not enough. As far as I can say, this should never be needed. -config UCLIBC_HAS_RESOLV_STUB +config UCLIBC_HAS_LIBRESOLV_STUB bool "Provide libresolv stub" default n help -- cgit v1.2.3 From 5530578d87079defddaeb75843ce3e44d46bd8d0 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Thu, 19 Nov 2009 18:57:32 +0100 Subject: fix misplaced HAS_LIBUTIL knob Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 49 +++++++++++++++++++++++++------------------------ 1 file changed, 25 insertions(+), 24 deletions(-) (limited to 'extra/Configs/Config.in') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 419a568ac..b7cc8f377 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -725,6 +725,31 @@ config UCLIBC_HAS_GETPT def_bool y endif +config UCLIBC_HAS_LIBUTIL + bool "Provide libutil library and functions" + depends on UCLIBC_HAS_PTY + default n + help + Provide a libutil library. + This non-standard conforming library provides the following + utility functions: + + forkpty(): combines openpty(), fork(2), and login_tty() to + create a new process operating in a pseudo-terminal. + login(): write utmp and wtmp entries + login_tty(): prepares for a login on the tty fd by creating a + new session, making fd the controlling terminal for + the calling process, setting fd to be the standard + input, output, and error streams of the current + process, and closing fd. + logout(): write utmp and wtmp entries + logwtmp(): constructs a utmp structure and calls updwtmp() to + append the structure to the utmp file. + openpty(): finds an available pseudo-terminal and returns + file descriptors for the master and slave + + This library adds about 3k-4k to your system. + config UCLIBC_HAS_TM_EXTENSIONS bool "Support 'struct tm' timezone extension fields" default y @@ -1197,30 +1222,6 @@ config UCLIBC_HAS_LIBNSL_STUB help Provide a dummy nsl library. -config UCLIBC_HAS_LIBUTIL - bool "Provide libutil library and functions" - default n - help - Provide a libutil library. - This non-standard conforming library provides the following - utility functions: - - forkpty(): combines openpty(), fork(2), and login_tty() to - create a new process operating in a pseudo-terminal. - login(): write utmp and wtmp entries - login_tty(): prepares for a login on the tty fd by creating a - new session, making fd the controlling terminal for - the calling process, setting fd to be the standard - input, output, and error streams of the current - process, and closing fd. - logout(): write utmp and wtmp entries - logwtmp(): constructs a utmp structure and calls updwtmp() to - append the structure to the utmp file. - openpty(): finds an available pseudo-terminal and returns - file descriptors for the master and slave - - This library adds about 3k-4k to your system. - endif -- cgit v1.2.3 From 558b28280768bee5e408e602b8a8ddecb2c0b80e Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Sat, 17 Oct 2009 00:41:08 +0200 Subject: FORCE_SHAREABLE_TEXT_SEGMENTS requires DOPIC Signed-off-by: Peter S. Mazinger Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 1 + 1 file changed, 1 insertion(+) (limited to 'extra/Configs/Config.in') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index b7cc8f377..d344385c6 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -265,6 +265,7 @@ config HAVE_SHARED config FORCE_SHAREABLE_TEXT_SEGMENTS bool "Only load shared libraries which can share their text segment" depends on HAVE_SHARED + select DOPIC default n help If you answer Y here, the uClibc native shared library loader will -- cgit v1.2.3 From 0265979ae16b5ab98f95bbd29dd5aaf8d0c6f84c Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 22 Nov 2009 03:17:46 -0500 Subject: remove incorrect text from abspath option Signed-off-by: Mike Frysinger --- extra/Configs/Config.in | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'extra/Configs/Config.in') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index d344385c6..5ef2b9f14 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -1937,10 +1937,9 @@ config HARDWIRED_ABSPATH This is a build time optimization. It has no impact on dynamic linking at runtime, which doesn't use linker scripts. - You must disable this to use uClibc with a relocatable toolchain, - such as the prebuilt binary cross compilers at - http://uclibc.org/downloads/binaries which may be installed at an - arbitrary location (such as in a user's home directory). + You must disable this to use uClibc with old non-sysroot toolchains, + such as the prebuilt binary cross compilers at: + http://uclibc.org/downloads/binaries The amount of time saved by this optimization is actually too small to measure. The linker just had to search the library path to find the -- cgit v1.2.3