From de82658a05de0ace6f3d261dedc358d3a14f3681 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Fri, 12 Mar 2010 14:47:15 +0100 Subject: remove config knobs that belong to the nptl branch Fixes bug #1243 Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 39 --------------------------------------- 1 file changed, 39 deletions(-) (limited to 'extra/Configs') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 22d67bc42..c7f4cad65 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -401,7 +401,6 @@ config LDSO_GNU_HASH_SUPPORT 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. @@ -432,41 +431,11 @@ config LINUXTHREADS_NEW 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)" - select UCLIBC_HAS_TLS - help - If you want to compile uClibc with NPTL support, then answer Y. - - IMPORTANT NOTE! NPTL requires a Linux 2.6 kernel, binutils - at least version 2.16 and GCC with at least version 4.1.0. NPTL - will not work with older versions of any above sources. If you - ignore any of these guidelines, you do so at your own risk. Do - not ask for help on any of the development mailing lists. - - !!!! WARNING !!!! BIG FAT WARNING !!!! REALLY BIG FAT WARNING !!!! - - This is experimental code and at times it may not even build and - even if it does it might decide to do random damage. This code is - potentially hazardous to your health and sanity. It will remain - that way until further notice at which point this notice will - disappear. Thank you for your support and for not smoking. - 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 @@ -1746,14 +1715,6 @@ config UCLIBC_HAS_GNU_GETOPT Most people will answer Y. -config UCLIBC_HAS_STDIO_FUTEXES - bool "Use futexes for multithreaded I/O locking" - default n - depends on UCLIBC_HAS_THREADS_NATIVE - help - If you want to compile uClibc to use futexes for low-level - I/O locking, answer Y. Otherwise, answer N. - config UCLIBC_HAS_GETOPT_LONG bool "Support getopt_long/getopt_long_only" depends on !UCLIBC_HAS_GNU_GETOPT -- cgit v1.2.3 From 58a0daa6a5f4ef60234ad8200017d6d19be287c7 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Fri, 12 Mar 2010 17:06:35 +0100 Subject: add MULTILIB_DIR: Path component for libdirs defaults to "lib". Other prominent values include "lib32" or "lib64" Signed-off-by: Bernhard Reutner-Fischer --- Changelog | 3 ++- Makefile.help | 3 +-- Makefile.in | 52 ++++++++++++++++++++++++------------------------- Makerules | 2 +- extra/Configs/Config.in | 31 +++++++++++++---------------- test/Rules.mak | 2 +- 6 files changed, 45 insertions(+), 48 deletions(-) (limited to 'extra/Configs') diff --git a/Changelog b/Changelog index 18a4b07ac..3774fcf3c 100644 --- a/Changelog +++ b/Changelog @@ -8,7 +8,8 @@ remove this definition from wordsize.h. Otherwise you have to delete /var/run/utmp on x86_64 hosts when upgrading to 0.9.31 - + o The SHARED_LIB_LOADER_PREFIX was renamed to a single path + component called MULTILIB_DIR and defaults to 'lib'. 0.9.27 12 January 2005 diff --git a/Makefile.help b/Makefile.help index 5c14dffb1..8c7ce416a 100644 --- a/Makefile.help +++ b/Makefile.help @@ -56,7 +56,6 @@ help: @echo ' (usually "/")' @echo ' DEVEL_PREFIX= - Prefix for the libdir containing static objects' @echo ' and the include dir (usually "/usr")' - @echo ' SHARED_LIB_LOADER_PREFIX= - Directory where the shared loader resides.' - @echo ' (usually "/lib")' + @echo ' MULTILIB_DIR= - Directory component for libraries (default "lib").' @echo ' UCLIBC_EXTRA_CFLAGS - extra CFLAGS for compiling uClibc' diff --git a/Makefile.in b/Makefile.in index a4424f758..53828204d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -191,7 +191,7 @@ $(LOCAL_INSTALL_PATH): install: install_runtime install_dev -RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB=$(shell $(top_srcdir)extra/scripts/relative_path.sh $(DEVEL_PREFIX)lib $(RUNTIME_PREFIX)lib) +RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB=$(shell $(top_srcdir)extra/scripts/relative_path.sh $(DEVEL_PREFIX)$(MULTILIB_DIR) $(RUNTIME_PREFIX)$(MULTILIB_DIR)) $(top_builddir)extra/scripts/unifdef: $(top_srcdir)extra/scripts/unifdef.c|$(@D) $(hcompile.u) @@ -286,7 +286,7 @@ HEADERS_RM-$(UCLIBC_SUSV4_LEGACY) += utime.h ### ucontext.h ifneq ($(findstring install,$(MAKECMDGOALS)),) -$(PREFIX)$(RUNTIME_PREFIX)lib $(addprefix $(PREFIX)$(DEVEL_PREFIX),include lib): +$(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR) $(addprefix $(PREFIX)$(DEVEL_PREFIX),include lib): $(do_mkdir) endif @@ -301,49 +301,49 @@ else endif # Installs development library links. -install_dev: install_headers install_runtime | $(PREFIX)$(DEVEL_PREFIX)lib - -$(INSTALL) -m 644 $(top_builddir)lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/ +install_dev: install_headers install_runtime | $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR) + -$(INSTALL) -m 644 $(top_builddir)lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/ ifeq ($(HAVE_SHARED),y) for i in `find $(top_builddir)lib/ -type l -name 'lib[a-zA-Z]*.so' | \ $(SED) -e 's/lib\///'` ; do \ $(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)$$i.$(MAJOR_VERSION) \ - $(PREFIX)$(DEVEL_PREFIX)lib/$$i; \ + $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/$$i; \ done ifeq ($(HARDWIRED_ABSPATH),y) - if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME) ] ; then \ - $(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \ - $(SED) -e 's:$(NONSHARED_LIBNAME):$(DEVEL_PREFIX)lib/$(NONSHARED_LIBNAME):' \ - -e 's:$(SHARED_MAJORNAME):$(RUNTIME_PREFIX)lib/$(SHARED_MAJORNAME):' \ - -e 's:$(UCLIBC_LDSO):$(RUNTIME_PREFIX)lib/$(UCLIBC_LDSO):' \ - $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX)lib/libc.so; \ + if [ -f $(top_builddir)lib/libc.so -a -f $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR)/$(SHARED_MAJORNAME) ] ; then \ + $(RM) $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libc.so; \ + $(SED) -e 's:$(NONSHARED_LIBNAME):$(DEVEL_PREFIX)$(MULTILIB_DIR)/$(NONSHARED_LIBNAME):' \ + -e 's:$(SHARED_MAJORNAME):$(RUNTIME_PREFIX)$(MULTILIB_DIR)/$(SHARED_MAJORNAME):' \ + -e 's:$(UCLIBC_LDSO):$(RUNTIME_PREFIX)$(MULTILIB_DIR)/$(UCLIBC_LDSO):' \ + $(top_builddir)lib/libc.so > $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libc.so; \ fi else - -$(INSTALL) -m 755 $(top_builddir)lib/libc.so $(PREFIX)$(DEVEL_PREFIX)lib/ + -$(INSTALL) -m 755 $(top_builddir)lib/libc.so $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/ endif ifeq ($(UCLIBC_HAS_THREADS),y) ifneq ($(LINUXTHREADS_OLD),y) ifeq ($(HARDWIRED_ABSPATH),y) - if [ -f $(top_builddir)lib/libpthread.so -a -f $(PREFIX)$(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) ] ; then \ - $(RM) $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \ - cp $(top_srcdir)extra/scripts/format.lds $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \ - echo "GROUP ( $(RUNTIME_PREFIX)lib/libpthread.so.$(MAJOR_VERSION) $(DEVEL_PREFIX)lib/libpthread_nonshared.a )" \ - >> $(PREFIX)$(DEVEL_PREFIX)lib/libpthread.so; \ + if [ -f $(top_builddir)lib/libpthread.so -a -f $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR)/libpthread.so.$(MAJOR_VERSION) ] ; then \ + $(RM) $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libpthread.so; \ + cp $(top_srcdir)extra/scripts/format.lds $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libpthread.so; \ + echo "GROUP ( $(RUNTIME_PREFIX)$(MULTILIB_DIR)/libpthread.so.$(MAJOR_VERSION) $(DEVEL_PREFIX)$(MULTILIB_DIR)/libpthread_nonshared.a )" \ + >> $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libpthread.so; \ fi else - -$(INSTALL) -m 755 $(top_builddir)lib/libpthread.so $(PREFIX)$(DEVEL_PREFIX)lib/ + -$(INSTALL) -m 755 $(top_builddir)lib/libpthread.so $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/ endif endif endif ifeq ($(PTHREADS_DEBUG_SUPPORT),y) $(LN) -sf $(RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB)libthread_db.so.1 \ - $(PREFIX)$(DEVEL_PREFIX)lib/libthread_db.so + $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/libthread_db.so endif ifeq ($(DOPIC),y) # # If we build shared libraries then the static libs are PIC... # # Make _pic.a symlinks to make mklibs.py and similar tools happy. if [ -d $(top_builddir)lib ] ; then \ for i in `find $(top_builddir)lib/ -type f -name 'lib*.a' | $(SED) -e 's/lib\///'` ; do \ - $(LN) -sf $$i $(PREFIX)$(DEVEL_PREFIX)lib/`echo $$i \ + $(LN) -sf $$i $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR)/`echo $$i \ | $(SED) -e 's/\.a$$/_pic.a/'`; \ done ; \ fi @@ -352,24 +352,24 @@ endif ifeq ($(UCLIBC_FORMAT_SHARED_FLAT),y) for file in $(top_builddir)lib/lib*.gdb; do \ if test -f $$file; then \ - $(INSTALL) -m 755 $$file $(PREFIX)$(DEVEL_PREFIX)lib; \ + $(INSTALL) -m 755 $$file $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR); \ $(INSTALL) -m 755 `echo $$file | $(SED) 's/\.gdb$$//'` \ - $(PREFIX)$(DEVEL_PREFIX)lib; \ + $(PREFIX)$(DEVEL_PREFIX)$(MULTILIB_DIR); \ fi; \ done endif # Installs run-time libraries -install_runtime: all | $(PREFIX)$(RUNTIME_PREFIX)lib +install_runtime: all | $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR) ifeq ($(HAVE_SHARED),y) $(INSTALL) -m 755 $(top_builddir)lib/lib*-$(VERSION).so \ - $(PREFIX)$(RUNTIME_PREFIX)lib - (cd $(top_builddir)lib && $(TAR) -cf - *.so.*) | $(TAR) -xf - -C $(PREFIX)$(RUNTIME_PREFIX)lib + $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR) + (cd $(top_builddir)lib && $(TAR) -cf - *.so.*) | $(TAR) -xf - -C $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR) @if [ -x $(top_builddir)lib/$(UCLIBC_LDSO_NAME)-$(VERSION).so ] ; then \ set -e; \ $(SHELL_SET_X); \ $(INSTALL) -m 755 $(top_builddir)lib/$(UCLIBC_LDSO_NAME)-$(VERSION).so \ - $(PREFIX)$(RUNTIME_PREFIX)lib; \ + $(PREFIX)$(RUNTIME_PREFIX)$(MULTILIB_DIR); \ fi endif diff --git a/Makerules b/Makerules index 2cb03a01c..38e19d72c 100644 --- a/Makerules +++ b/Makerules @@ -326,7 +326,7 @@ $(top_builddir)lib/interp.c: | $(sub_headers) $(Q)echo "/* Force shared libraries to know about the correct library loader */" > $@ $(Q)echo "#include " >> $@ $(Q)echo "const char __dl_ldso__[] attribute_hidden __attribute__ ((weak)) __attribute__ ((section " \ - "(\".interp\"))) =\""$(SHARED_LIB_LOADER_PREFIX)/$(UCLIBC_LDSO)"\";" >> $@ + "(\".interp\"))) =\""$(RUNTIME_PREFIX)$(MULTILIB_DIR)/$(UCLIBC_LDSO)"\";" >> $@ $(interp): $(top_builddir)lib/interp.c $(compile.c) diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index c7f4cad65..6c19dec5d 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -1851,23 +1851,6 @@ endmenu menu "Library Installation Options" -config SHARED_LIB_LOADER_PREFIX - string "Shared library loader path" - depends on HAVE_SHARED - default "$(RUNTIME_PREFIX)lib" - help - When using shared libraries, this path is the location where the - shared library will be invoked. This value will be compiled into - every binary compiled with uClibc. - - For a typical target system this should be set to "/lib", such that - 'make install' will install /lib/ld-uClibc.so.0. - - BIG FAT WARNING: - If you do not have a shared library loader with the correct name - sitting in the directory this points to, your binaries will not - run. - config RUNTIME_PREFIX string "uClibc runtime library directory" default "/usr/$(TARGET_ARCH)-linux-uclibc/" @@ -1902,6 +1885,20 @@ config DEVEL_PREFIX For a typical target system this should be set to "/usr", such that 'make install' will install /usr/include/
. +config MULTILIB_DIR + string "library path component" + default "lib" + help + Path component where libraries reside. + + For a typical target system this should be set to "lib", such that + 'make install' will install libraries to "/lib" and "/usr/lib" + respectively + DEVEL_PREFIX/MULTILIB_DIR + RUNTIME_PREFIX/MULTILIB_DIR + + Other settings may include "lib32" or "lib64". + config HARDWIRED_ABSPATH bool "Hardwire absolute paths into linker scripts" default y diff --git a/test/Rules.mak b/test/Rules.mak index 6acc13ffa..a386390b0 100644 --- a/test/Rules.mak +++ b/test/Rules.mak @@ -85,7 +85,7 @@ LDFLAGS += -B$(top_builddir)lib -Wl,-rpath,$(top_builddir)lib -Wl,-rpath-link,$( UCLIBC_LDSO_ABSPATH=$(shell pwd) ifdef TEST_INSTALLED_UCLIBC LDFLAGS += -Wl,-rpath,./ -UCLIBC_LDSO_ABSPATH=$(SHARED_LIB_LOADER_PREFIX) +UCLIBC_LDSO_ABSPATH=$(RUNTIME_PREFIX)$(MULTILIB_DIR) endif ifeq ($(findstring -static,$(LDFLAGS)),) -- cgit v1.2.3 From 4efe92d75a79425d3e8f396ff85dbb58df9de711 Mon Sep 17 00:00:00 2001 From: Bernhard Reutner-Fischer Date: Sat, 13 Mar 2010 00:31:36 +0100 Subject: config: tweak text Signed-off-by: Bernhard Reutner-Fischer --- extra/Configs/Config.in | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'extra/Configs') diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in index 6c19dec5d..4ce4bb09b 100644 --- a/extra/Configs/Config.in +++ b/extra/Configs/Config.in @@ -254,7 +254,7 @@ config ARCH_HAS_NO_LDSO default n config HAVE_SHARED - bool "Enable support for shared libraries" + bool "Enable shared libraries" depends on !ARCH_HAS_NO_SHARED default y help @@ -286,7 +286,7 @@ config LDSO_LDD_SUPPORT 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 + application to function. Disabling this option will make uClibc's shared library loader a little bit smaller. Most people will answer Y. -- cgit v1.2.3