about summary refs log tree commit diff
path: root/configure.in
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1996-09-05 02:49:18 +0000
committerUlrich Drepper <drepper@redhat.com>1996-09-05 02:49:18 +0000
commit57ba7bb47152ed3e50805db2bca137cb866a9a71 (patch)
tree66b02aa8c8f8a4a015316a3c3c6e984a2e2e1a94 /configure.in
parentdb813f25f26d17ba0b5e52411575ff930db7fac3 (diff)
downloadglibc-57ba7bb47152ed3e50805db2bca137cb866a9a71.tar.gz
glibc-57ba7bb47152ed3e50805db2bca137cb866a9a71.tar.xz
glibc-57ba7bb47152ed3e50805db2bca137cb866a9a71.zip
update from main archive 960904 cvs/libc-960905
Thu Sep  5 03:20:42 1996  Ulrich Drepper  <drepper@cygnus.com>

	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  <schwab@issan.informatik.uni-dortmund.de>

	* 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  <rth@tamu.edu>

	* 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  <rth@tamu.edu>

	* 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  <rth@tamu.edu>

	* 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  <rth@tamu.edu>

	* 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  <rth@tamu.edu>

	* 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  <schwab@issan.informatik.uni-dortmund.de>

	* 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  <drepper@cygnus.com>

	* 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  <drepper@cygnus.com>

	* stdio-common/vfscanf.c (__vfscanf): Don't count EOF char
	in %c format.

Sat Aug 31 18:10:51 1996  Ulrich Drepper  <drepper@cygnus.com>

	* wcsmbs/wchar.h: Define prototypes for wcstoq and wcstouq only
	#ifdef __USE_GNU.

Sat Aug 31 12:34:29 1996  Ulrich Drepper  <drepper@cygnus.com>

	* 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  <drepper@cygnus.com>

	* intl/l10nflist.c (_nl_normalize_codeset): We convert to lower
 	case, so don't prepend uppercase `ISO' for only numeric arg.
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in97
1 files changed, 68 insertions, 29 deletions
diff --git a/configure.in b/configure.in
index 8939236641..d5370f897e 100644
--- a/configure.in
+++ b/configure.in
@@ -77,6 +77,12 @@ AC_ARG_ENABLE(add-ons, dnl
    	      [add_ons=`echo "$enableval" | sed 's/,/ /g'`],
 	      [add_ons=])
 AC_CONFIG_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
 
 AC_CANONICAL_HOST
 # We keep the original values in `$config_*' and never modify them, so we
@@ -189,23 +195,34 @@ changequote([,])dnl
 
 # 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
   AC_MSG_ERROR(Operating system $os is not supported.)
@@ -224,12 +241,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
 
 
@@ -253,13 +276,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" >&AC_FD_MSG
 
-  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 || {
-        AC_MSG_WARN(sysdeps/$name/Implies specifies nonexistent $x)
-      }
+    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
+        AC_MSG_WARN($name/Implies specifies nonexistent $x)
+      fi
     done
   else
     implied=
@@ -270,7 +305,7 @@ while test $# -gt 0; do
 
   # Find the parent of NAME, using the empty string if it has none.
 changequote(,)dnl
-  parent="`echo $name | sed -n -e '/\//!q' -e 's=/[^/]*$==p'`"
+  parent="`echo $name | sed -n -e 's=/[^/]*$==' -e '/sysdeps$/q' -e p`"
 changequote([,])dnl
 
   # Add the names implied by NAME, and NAME's parent (if it has one), to
@@ -285,10 +320,10 @@ changequote([,])dnl
 done
 
 # Add the default directories.
-sysnames="$names generic stub"
+sysnames="$names sysdeps/generic sysdeps/stub"
 AC_SUBST(sysnames)
 # The other names were emitted during the scan.
-AC_MSG_RESULT(generic stub)
+AC_MSG_RESULT(sysdeps/generic sysdeps/stub)
 
 
 ### Locate tools.
@@ -525,9 +560,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
-    AC_MSG_RESULT(running configure fragment for $dir)
-    . $sysdep_dir/$dir/configure
+  case $dir in
+    /*) dest=$dir ;;
+    *)  dest=$srcdir/$dir ;;
+  esac
+  if test -r $dest/configure; then
+    AC_MSG_RESULT(running configure fragment for $dest)
+    . $dest/configure
   fi
 [
   if test -z "$uname"; then