From 57ba7bb47152ed3e50805db2bca137cb866a9a71 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 5 Sep 1996 02:49:18 +0000 Subject: update from main archive 960904 Thu Sep 5 03:20:42 1996 Ulrich Drepper Change configuration and Makefiles to allow add-ons to have a sysdeps/ directory hierachy. * configure.in: Test for sysdeps/ directory in add-ons. Before all test and searches in these hierachies, too. * Makeconfig (full-config-subdirs): Define based on $(config-sysdirs). Extend with $(..) if not absolute path. Use $(full-config-subdirs) where $(config-sysdirs) was used. * Makefile ($(objpfx)sysd-dirs): Use config-sysdirs. * MakeTAGS: Use $(full-config-subdirs). * Makerules: Change comment to libc.so link script. (sysdirs): Define based on $(full-config-subdirs). (sysd-Makefile): Define using config-sysdirs. (sysd-rules): Likewise. * sysdeps/unix/Makefile (sysd-syscalls): Define based on +sysdep-dirs. * sysdeps/unix/make-syscalls.sh: Remove basedir argument. Wed Sep 4 01:32:21 1996 Andreas Schwab * sysdeps/m68k/fpu/k_cos.c: Rewritten for better accuracy. * sysdeps/m68k/fpu/k_sin.c: Likewise. * sysdeps/m68k/fpu/k_tan.c: Likewise. Thu Sep 5 01:06:09 1996 Richard Henderson * malloc/free.c (free): Protect by using __libc_malloc_lock. * malloc/malloc-find.c (malloc_find_object_address): Likewise. * malloc/malloc-size.c (malloc_usable_size): Likewise. * malloc/malloc-walk.c (malloc_walk): Likewise. * malloc/memalign.c (memalign): Likewise. * malloc/realloc.c (realloc): Likewise. * malloc/malloc.c: Define __libc_malloc_lock. (_malloc_internal): Don't use `malloc'. Instead look for `__malloc_hook' or call `_malloc_internal'. (malloc): Protect by using `__libc_malloc_lock'. * malloc/malloc.h: Declare `__libc_malloc_lock'. Mon Sep 2 22:42:59 1996 Richard Henderson * sysdeps/alpha/elf/start.S: Use weak_alias for __start instead of the hard definition. * sysdeps/alpha/dl-machine.h (RTLD_START): Add type info for _start and _dl_start_user. * sysdeps/unix/sysv/linux/alpha/init-first.h (SYSDEP_CALL_INIT): Make _dl_starting_up weak. Add type info for NAME. Mon Sep 2 22:15:14 1996 Richard Henderson * Makefile (all): Add extra_solibs pass. (+subdir_targets): Same. * Rules (extra_solibs): New phony empty target for subdirs without extra libs. * extra-lib.mk: Build lib*.so* in extra_solibs not lib-noranlib. * manual/Makefile: Add dummy extra_solibs target. Sun Sep 1 15:41:22 1996 Richard Henderson * Makeconfig (+link): Add $(link-extra-libs). (link-extra-libs): New variable which expands to the full paths of the other libraries needed by a program, as controled by LDLIBS-$(@F). * db/Makefile: Use LDLIBS-makedb to link libdb not a dependency, as the later attempts to install the library before linking it. * sysdeps/unix/alpha/sysdep.S: Align errno. * sysdeps/unix/sysv/linux/alpha/ioperm.c (struct platform): Add hae_shift entry. (io): Move bus_memory_base and sparse_bus_memory_base into struct. (_hae_shift): New function. * sysdeps/unix/sysv/linux/alpha/sys/io.h: New file. Prototypes for the bus query functions. Sat Aug 31 18:14:54 1996 Richard Henderson * elf/dl-close.c (_dl_close): In static executables, map->l_prev can be NULL when unloading a library. * elf/dl-open.c (_dl_open): Pass __environ instead of __libc_envp to the library .init function. * sysdeps/alpha/dl-machine.h (elf_machine_rela): Since we omitted part of the COPY reloc processing earlier, omit the rest now -- we'll get into less trouble later when some fool does use a COPY. * sysdeps/unix/sysv/linux/init-first.c (init): Accept argc et al as parameters. Move all argc and __libc_multiple_libcs calculation out to init-first.h. Use __environ not __libc_envp. * sysdeps/unix/sysv/linux/alpha/init-first.h: Rewrite. * sysdeps/unix/sysv/linux/i386/init-first.h: Rewrite. Thu Aug 29 20:26:40 1996 Andreas Schwab * sysdeps/posix/profil.c (profil): Don't clobber saved timer and signal settings when profiling was already turned on. * csu/gmon-start.c (__gmon_start__) [HAVE_INITFINI]: Protect from being called twice. Wed Sep 4 01:31:50 1996 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/mmap.S: Test for 0 < return value < -4096 and not < 0 to decide about failure. Reported by Andreas Jaeger. Tue Sep 3 19:04:05 1996 Ulrich Drepper * stdio-common/vfscanf.c (__vfscanf): Don't count EOF char in %c format. Sat Aug 31 18:10:51 1996 Ulrich Drepper * wcsmbs/wchar.h: Define prototypes for wcstoq and wcstouq only #ifdef __USE_GNU. Sat Aug 31 12:34:29 1996 Ulrich Drepper * version.c: Add missing newline character in banner. * sysdeps/unix/sysv/linux/alpha/Dist: Correct typo. * sysdeps/unix/sysv/linux/i386/Dist: Likewise. Sat Aug 31 03:07:39 1996 Ulrich Drepper * intl/l10nflist.c (_nl_normalize_codeset): We convert to lower case, so don't prepend uppercase `ISO' for only numeric arg. --- configure | 121 +++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 80 insertions(+), 41 deletions(-) (limited to 'configure') diff --git a/configure b/configure index 522d64fbf4..68aa0d7053 100755 --- a/configure +++ b/configure @@ -689,6 +689,12 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. subdirs="$add_ons" +add_ons_pfx= +if test x$add_ons != x; then + for f in $add_ons; do + add_ons_pfx="$add_ons_pfx $f/" + done +fi # Make sure we can run config.sub. @@ -819,23 +825,34 @@ done # Find what sysdep directories exist. sysnames= -for b in $base ''; do - for m0 in $mach ''; do - for v in /$vendor ''; do - for o in /$ostry ''; do - for m in $mach ''; do - try="$m0$b$v$o$m" - test -n "$enable_debug_configure" && echo "$0 DEBUG: try $try" >&2 - if test -d $sysdep_dir$try; then - sysnames="$sysnames $try" - { test -n "$o" || test -n "$b"; } && os_used=t - { test -n "$m" || test -n "$m0"; } && machine_used=t - fi +IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" +for d in $add_ons_pfx ''; do + for b in $base ''; do + for m0 in $mach ''; do + for v in /$vendor ''; do + for o in /$ostry ''; do + for m in $mach ''; do + if test "$m0$b$v$o$m"; then + try="${d}sysdeps$m0$b$v$o$m" + test -n "$enable_debug_configure" && + echo "$0 DEBUG: try $try" >&2 + case $try in + /*) dest=$try ;; + *) dest=$srcdir/$try ;; + esac + if test -d $dest; then + sysnames="$sysnames $try" + { test -n "$o" || test -n "$b"; } && os_used=t + { test -n "$m" || test -n "$m0"; } && machine_used=t + fi + fi + done done done done done done +IFS="$ac_save_ifs" if test -z "$os_used" && test "$os" != none; then { echo "configure: error: Operating system $os is not supported." 1>&2; exit 1; } @@ -854,12 +871,18 @@ fi # machine (otherwise what's the point of an ABI?). if test "$elf" = yes; then elf_dirs= - for m in $mach; do - if test -d $sysdep_dir$m/elf; then - elf_dirs="$elf_dirs $m/elf" - fi + for d in $add_ons_pfx ''; do + case $d in + /*) xsrcdir= ;; + *) xsrcdir=$srcdir/ ;; + esac + for m in $mach; do + if test -d $xsrcdir${d}sysdeps$m/elf; then + elf_dirs="$elf_dirs $d$m/elf" + fi + done done - sysnames="`echo $elf_dirs | sed -e 's,^/,,' -e 's, /,,g'` $sysnames" + sysnames="`echo $elf_dirs | sed -e 's,//,/,g'` $sysnames" fi @@ -883,13 +906,25 @@ while test $# -gt 0; do # Report each name as we discover it, so there is no long pause in output. echo $ac_n "$name $ac_c" >&6 - if test -f $sysdep_dir/$name/Implies; then + name_base=`echo $name | sed -e 's@\(.*sysdeps\)/.*@\1@'` + + case $name in + /*) xsrcdir= ;; + *) xsrcdir=$srcdir/ ;; + esac + test -n "$enable_debug_configure" && + echo "DEBUG: name/Implies $xsrcdir$name/Implies" >&2 + + if test -f $xsrcdir$name/Implies; then # Collect more names from the `Implies' file (removing comments). - implied="`sed 's/#.*$//' < $sysdep_dir/$name/Implies`" - for x in $implied; do - test -d $sysdep_dir/$x || { - echo "configure: warning: sysdeps/$name/Implies specifies nonexistent $x" 1>&2 - } + implied_candidate="`sed 's/#.*$//' < $xsrcdir$name/Implies`" + implied= + for x in $implied_candidate; do + if test -d $xsrcdir$name_base/$x; then + implied="$implied $name_base/$x"; + else + echo "configure: warning: $name/Implies specifies nonexistent $x" 1>&2 + fi done else implied= @@ -899,7 +934,7 @@ while test $# -gt 0; do names="$names $name" # Find the parent of NAME, using the empty string if it has none. - parent="`echo $name | sed -n -e '/\//!q' -e 's=/[^/]*$==p'`" + parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`" # Add the names implied by NAME, and NAME's parent (if it has one), to # the list of names to be processed (the argument list). We prepend the @@ -913,10 +948,10 @@ while test $# -gt 0; do done # Add the default directories. -sysnames="$names generic stub" +sysnames="$names sysdeps/generic sysdeps/stub" # The other names were emitted during the scan. -echo "$ac_t""generic stub" 1>&6 +echo "$ac_t""sysdeps/generic sysdeps/stub" 1>&6 ### Locate tools. @@ -1139,13 +1174,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1149: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1184: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1154,13 +1189,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1164: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1199: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out` if test -z "$ac_err"; then : @@ -1302,7 +1337,7 @@ if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1357: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_friendly_stddef=yes else @@ -1425,7 +1460,7 @@ if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1474: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* libc_cv_have_initfini=yes else @@ -1463,7 +1498,7 @@ if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; }; then +if { (eval echo configure:1510: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then rm -rf conftest* libc_cv_asm_underscores=yes else @@ -1565,7 +1600,7 @@ __throw () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles -Wl,--no-whole-archive - -o conftest conftest.c'; { (eval echo configure:1569: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c'; { (eval echo configure:1604: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_ld_no_whole_archive=yes else libc_cv_ld_no_whole_archive=no @@ -1586,7 +1621,7 @@ __throw () {} EOF if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles -fno-exceptions - -o conftest conftest.c'; { (eval echo configure:1590: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then + -o conftest conftest.c'; { (eval echo configure:1625: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then libc_cv_gcc_no_exceptions=yes else libc_cv_gcc_no_exceptions=no @@ -1607,9 +1642,13 @@ libc_link_sources= # configure fragments, and looking for a uname implementation. uname= for dir in $sysnames; do - if test -r $sysdep_dir/$dir/configure; then - echo "$ac_t""running configure fragment for $dir" 1>&6 - . $sysdep_dir/$dir/configure + case $dir in + /*) dest=$dir ;; + *) dest=$srcdir/$dir ;; + esac + if test -r $dest/configure; then + echo "$ac_t""running configure fragment for $dest" 1>&6 + . $dest/configure fi if test -z "$uname"; then -- cgit v1.2.3