about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-11-09 18:21:06 +0000
committerUlrich Drepper <drepper@redhat.com>1998-11-09 18:21:06 +0000
commit1792d4dbdace6ebddafee6694d7919e93b0ad335 (patch)
treed5f8cc9b3d2f85a65252cad75949dccefbb0348e
parent5c9403426275d25d3482f477e79d6f00699503c3 (diff)
downloadglibc-1792d4dbdace6ebddafee6694d7919e93b0ad335.tar.gz
glibc-1792d4dbdace6ebddafee6694d7919e93b0ad335.tar.xz
glibc-1792d4dbdace6ebddafee6694d7919e93b0ad335.zip
Update.
1998-11-09 18:16  Ulrich Drepper  <drepper@cygnus.com>

	* math/complex.h: Include bits/mathdef.h to get __NO_LONG_DOUBLE_MATH
	is needed.
	Don't define long double functions if __NO_LONG_DOUBLE_MATH is defined.
	Don't define `complex' but instead `_Complex'.  The later is the
	reserved keyword.
	* math/bits/cmathcalls.c: Define _Mdouble_complex_ using _Complex,
	not complex.

1998-11-07  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* manual/libc.texinfo: Remove colon from category name.
	* manual/Makefile (dir-add.info): Likewise.

1998-11-07  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* configure.in: Avoid autoconf bug.

1998-10-28  H.J. Lu  <hjl@gnu.org>

	* posix/getopt.h: Add "__" to arguments in prototypes.

1998-11-05  H.J. Lu  <hjl@gnu.org>

	* libio/iofgets.c (_IO_fgets): Don't report error
	if something was read in and errno is set to
	EAGAIN.
	* libio/iofgets_u.c (fgets_unlocked): Likewise.

1998-11-05  Philip Blundell  <philb@gnu.org>

	* sysdeps/unix/sysv/linux/net/if_packet.h: Don't include kernel
	header; it defines too much.  Provide a local definition of struct
	sockaddr_pkt and a comment advising against its use.

1998-11-06  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* extra-lib.mk: Avoid empty include list.

1998-11-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* extra-lib.mk: Add support for $(lib)-shared-only-routines.

	* elf/Makefile (libdl-routines): Add dlopenold only if doing
	versioning.
	(libdl-shared-only-routines): New variable.

1998-11-06  Paul Eggert  <eggert@twinsun.com>

	Don't invoke localtime_r or gmtime_r unless it's the GNU C
	library's localtime_r and gmtime_r; there are too many buggy
	implementations of localtime_r and gmtime_r out there, and
	it's not worth keeping track of all the different bugs.

	* time/mktime.c (__EXTENSIONS__): Remove.
	(<unistd.h>): No need to include.
	Remove.
	(my_mktime_localtime_r): Renamed from localtime_r; all uses changed.
	Base it on localtime unless _LIBC.

	* time/strftime.c (my_strftime_gmtime_r): Renamed from gmtime_r;
	all uses changed.
	(my_strftime_localtime_r): Renamed from localtime_r; all uses changed.
	Base them on localtime/gmtime if not _LIBC.
-rw-r--r--ChangeLog111
-rw-r--r--INSTALL218
-rwxr-xr-xconfigure272
-rw-r--r--configure.in5
-rw-r--r--manual/Makefile2
-rw-r--r--manual/install.texi227
-rw-r--r--manual/libc.texinfo2
-rw-r--r--math/bits/cmathcalls.h4
-rw-r--r--math/complex.h33
9 files changed, 543 insertions, 331 deletions
diff --git a/ChangeLog b/ChangeLog
index df482b947e..e6eb62ac88 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,52 +1,71 @@
-1998-10-28  H.J. Lu  <hjl@gnu.org> 
- 
-	* posix/getopt.h: Add "__" to arguments in prototypes. 
- 
-1998-11-05  H.J. Lu  <hjl@gnu.org> 
- 
-	* libio/iofgets.c (_IO_fgets): Don't report error 
-	if something was read in and errno is set to 
-	EAGAIN. 
-	* libio/iofgets_u.c (fgets_unlocked): Likewise. 
- 
-1998-11-05  Philip Blundell  <philb@gnu.org> 
- 
-	* sysdeps/unix/sysv/linux/net/if_packet.h: Don't include kernel 
-	header; it defines too much.  Provide a local definition of struct 
-	sockaddr_pkt and a comment advising against its use. 
- 
-1998-11-06  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de> 
- 
-	* extra-lib.mk: Avoid empty include list. 
- 
-1998-11-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de> 
- 
-	* extra-lib.mk: Add support for $(lib)-shared-only-routines. 
- 
-	* elf/Makefile (libdl-routines): Add dlopenold only if doing 
-	versioning. 
-	(libdl-shared-only-routines): New variable. 
- 
-1998-11-06  Paul Eggert  <eggert@twinsun.com> 
- 
-	Don't invoke localtime_r or gmtime_r unless it's the GNU C 
-	library's localtime_r and gmtime_r; there are too many buggy 
-	implementations of localtime_r and gmtime_r out there, and 
-	it's not worth keeping track of all the different bugs. 
-
-	* time/mktime.c (__EXTENSIONS__): Remove. 
-	(<unistd.h>): No need to include. 
+1998-11-09 18:16  Ulrich Drepper  <drepper@cygnus.com>
+
+	* math/complex.h: Include bits/mathdef.h to get __NO_LONG_DOUBLE_MATH
+	is needed.
+	Don't define long double functions if __NO_LONG_DOUBLE_MATH is defined.
+	Don't define `complex' but instead `_Complex'.  The later is the
+	reserved keyword.
+	* math/bits/cmathcalls.c: Define _Mdouble_complex_ using _Complex,
+	not complex.
+
+1998-11-07  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* manual/libc.texinfo: Remove colon from category name.
+	* manual/Makefile (dir-add.info): Likewise.
+
+1998-11-07  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* configure.in: Avoid autoconf bug.
+
+1998-10-28  H.J. Lu  <hjl@gnu.org>
+
+	* posix/getopt.h: Add "__" to arguments in prototypes.
+
+1998-11-05  H.J. Lu  <hjl@gnu.org>
+
+	* libio/iofgets.c (_IO_fgets): Don't report error
+	if something was read in and errno is set to
+	EAGAIN.
+	* libio/iofgets_u.c (fgets_unlocked): Likewise.
+
+1998-11-05  Philip Blundell  <philb@gnu.org>
+
+	* sysdeps/unix/sysv/linux/net/if_packet.h: Don't include kernel
+	header; it defines too much.  Provide a local definition of struct
+	sockaddr_pkt and a comment advising against its use.
+
+1998-11-06  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* extra-lib.mk: Avoid empty include list.
+
+1998-11-04  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+	* extra-lib.mk: Add support for $(lib)-shared-only-routines.
+
+	* elf/Makefile (libdl-routines): Add dlopenold only if doing
+	versioning.
+	(libdl-shared-only-routines): New variable.
+
+1998-11-06  Paul Eggert  <eggert@twinsun.com>
+
+	Don't invoke localtime_r or gmtime_r unless it's the GNU C
+	library's localtime_r and gmtime_r; there are too many buggy
+	implementations of localtime_r and gmtime_r out there, and
+	it's not worth keeping track of all the different bugs.
+
+	* time/mktime.c (__EXTENSIONS__): Remove.
+	(<unistd.h>): No need to include.
 	* time/strftime.c: Likewise.
 
 	* time/mktime.c (_POSIX_THREAD_SAFE_FUNCTIONS, HAVE_LOCALTIME_R):
-	Remove. 
-	(my_mktime_localtime_r): Renamed from localtime_r; all uses changed. 
-	Base it on localtime unless _LIBC. 
-
-	* time/strftime.c (my_strftime_gmtime_r): Renamed from gmtime_r; 
-	all uses changed. 
-	(my_strftime_localtime_r): Renamed from localtime_r; all uses changed. 
-	Base them on localtime/gmtime if not _LIBC. 
+	Remove.
+	(my_mktime_localtime_r): Renamed from localtime_r; all uses changed.
+	Base it on localtime unless _LIBC.
+
+	* time/strftime.c (my_strftime_gmtime_r): Renamed from gmtime_r;
+	all uses changed.
+	(my_strftime_localtime_r): Renamed from localtime_r; all uses changed.
+	Base them on localtime/gmtime if not _LIBC.
 
 1998-11-07  Ulrich Drepper  <drepper@cygnus.com>
 
diff --git a/INSTALL b/INSTALL
index cb6cb51080..410c21cb68 100644
--- a/INSTALL
+++ b/INSTALL
@@ -6,19 +6,23 @@ the top level of the source tree.  This file answers common questions
 and describes problems you may experience with compilation and
 installation.  It is updated more frequently than this manual.
 
-   Two components of GNU Libc are distributed as "add-on" bundles
-separate from the main distribution.  Unless you are doing an unusual
-installation, you should get them both.  Support for the `crypt'
-function is distributed separately because of US export restrictions.
-If you are outside the US or Canada, you must get `crypt' support from
-a site outside the US, such as `ftp.ifi.uio.no'.  (Most non-US mirrors
-of `ftp.gnu.org' will have it too.)  The file you need is
-`glibc-crypt-VERSION.tar.gz'.  Support for POSIX threads is maintained
-by someone else, so it's in a separate package.  At the moment it is
-only available for Linux systems; this will change in the future.  Get
-it from the same place you got the main bundle; the file is
-`glibc-linuxthreads-VERSION.tar.gz'.  Both add-on bundles should be
-unpacked into the top level of the libc source tree.
+   Features can be added to GNU Libc via "add-on" bundles.  These are
+separate tarfiles which you unpack into the top level of the source
+tree.  Then you give `configure' the `--enable-add-ons' option to
+activate them, and they will be compiled into the library.  As of the
+2.1 release, two important components of glibc are distributed as
+"official" add-ons.  Unless you are doing an unusual installation, you
+should get them both.
+
+   Support for POSIX threads is maintained by someone else, so it's in a
+separate package.  It is only available for Linux systems, but this will
+change in the future.  Get it from the same place you got the main
+bundle; the file is `glibc-linuxthreads-VERSION.tar.gz'.  Support for
+the `crypt' function is distributed separately because of United States
+export restrictions.  If you are outside the US or Canada, you must get
+`crypt' support from a site outside the US, such as `ftp.ifi.uio.no'.
+(Most non-US mirrors of `ftp.gnu.org' will have it too.)  The file you
+need is `glibc-crypt-VERSION.tar.gz'.
 
    You will need recent versions of several GNU tools: definitely GCC
 and GNU Make, and possibly others.  *Note Tools for Compilation::,
@@ -39,14 +43,12 @@ at the top level of the source tree.  In the scenario above, you'd type
      $ ../glibc-2.1.0/configure ARGS...
 
 `configure' takes many options, but you can get away with knowing only
-two: `--enable-add-ons' and `--prefix'.  The `--enable-add-ons' option
-tells configure to use all the add-on bundles it finds in the source
-directory.  Since important functionality is provided in add-ons, you
-should always give this option.  The `--prefix' option tells configure
-where you want glibc installed.  This defaults to `/usr/local'.  If you
-are installing glibc as your primary C library, give the option
-`--prefix=/usr', which will put components in `/usr' or `/' as
-appropriate.
+two: `--prefix' and `--enable-add-ons'.  The `--prefix' option tells
+configure where you want glibc installed.  This defaults to
+`/usr/local'.  The `--enable-add-ons' option tells configure to use all
+the add-on bundles it finds in the source directory.  Since important
+functionality is provided in add-ons, you should always give this
+option.
 
    It may also be useful to set the CC and CFLAGS variables in the
 environment when running `configure'.  CC selects the C compiler that
@@ -137,9 +139,16 @@ will be used, and CFLAGS sets optimization options for the compiler.
      too, and you may have to override CONFIGURE's selection of the
      compiler and/or binutils.
 
-     If you give just one of these, `configure' will get confused.  If
-     `configure' doesn't correctly guess your system type for a native
-     build, report that as a bug.
+     If you give just `--host', configure will prepare for a native
+     compile but use what you say instead of guessing what your system
+     is.  This is most useful to change the CPU submodel.  For example,
+     if configure guesses your machine as `i586-pc-linux-gnu' but you
+     want to compile a library optimized for 386es, give
+     `--host=i386-pc-linux-gnu' or just `--host=i386-linux'.  (A
+     library compiled for a Pentium (`i586') will still work on a 386,
+     but it may be slower.)
+
+     If you give just `--build', configure will get confused.
 
    To build the library and related programs, type `make'.  This will
 produce a lot of output, some of which may look like errors from `make'
@@ -170,15 +179,57 @@ the tests assume they are not being run by `root'.  We recommend you
 compile and test glibc as an unprivileged user.
 
    To format the `GNU C Library Reference Manual' for printing, type
-`make dvi'.  You need a working TeX installation to do this.
+`make dvi'.  You need a working TeX installation to do this.  The
+distribution already includes the on-line formatted version of the
+manual, as Info files.  You can regenerate those with `make info', but
+it shouldn't be necessary.
+
+Installing the C Library
+========================
 
    To install the library and its header files, and the Info files of
 the manual, type `make install'.  This will build things if necessary,
-before installing them.  If you want to install the files in a different
-place than the one specified at configuration time you can specify a
-value for the Makefile variable `install_root' on the command line.
-This is useful to create chroot'ed environment or to prepare binary
-releases.
+before installing them.  Don't rely on that; compile everything first.
+If you are installing glibc as your primary C library, we recommend you
+shut the system down to single-user mode first, and reboot afterward.
+This minimizes the risk of breaking things when the library changes out
+from underneath.
+
+   If you are upgrading from a previous installation of glibc 2.0 or
+2.1, `make install' will do the entire job.  If you're upgrading from
+Linux libc5 or some other C library, you need to rename the old
+`/usr/include' directory out of the way first, or you will end up with
+a mixture of header files from both libraries, and you won't be able to
+compile anything.  You may also need to reconfigure GCC to work with
+the new library.  The easiest way to do that is to figure out the
+compiler switches to make it work again
+(`-Wl,-dynamic-linker=/lib/ld-linux.so.2' should work on Linux systems)
+and use them to recompile gcc.  You can also edit the specs file
+(`/usr/lib/gcc-lib/TARGET/VERSION/specs'), but that is a bit of a black
+art.
+
+   You can install glibc somewhere other than where you configured it
+to go by setting the `install_root' variable on the command line for
+`make install'.  The value of this variable is prepended to all the
+paths for installation.  This is useful when setting up a chroot
+environment or preparing a binary distribution.
+
+   Glibc 2.1 includes two daemons, `nscd' and `utmpd', which you may or
+may not want to run.  `nscd' caches name service lookups; it can
+dramatically improve performance with NIS+, and may help with DNS as
+well.  `utmpd' allows programs that use the old format for the `utmp'
+file to coexist with new programs.  For more information see the files
+`nscd/README' and `login/README.utmpd'.
+
+   One auxiliary program, `/usr/libexec/pt_chown', is installed setuid
+`root'.  This program is invoked by the `grantpt' function; it sets the
+permissions on a pseudoterminal so it can be used by the calling
+process.  This means programs like `xterm' and `screen' do not have to
+be setuid to get a pty.  (There may be other reasons why they need
+privileges.)  If you are using a 2.1 Linux kernel with the `devptsfs'
+or `devfs' filesystems providing pty slaves, you don't need this
+program; otherwise you do.  The source for `pt_chown' is in
+`login/programs/pt_chown.c'.
 
 Recommended Tools for Compilation
 =================================
@@ -202,7 +253,9 @@ build the GNU C library:
      family.  We recommend EGCS 1.0.3 or higher.  GCC 2.8.1 and older
      versions of EGCS may have problems, particularly on non-Intel
      architectures.  GCC 2.7.x has catastrophic bugs and cannot be used
-     at all.
+     at all.  (You can use GCC 2.7.x to compile programs that use GNU
+     libc, but you may have problems, particularly with the math
+     functions.)
 
    * GNU `binutils' 2.8.1.0.23, 2.9.1, or 2.9.0.15
 
@@ -220,19 +273,13 @@ build the GNU C library:
      To correctly translate and install the Texinfo documentation you
      need this version of the `texinfo' package.  Earlier versions do
      not understand all the tags used in the document, and the
-     installation mechanisms for the info files is not present or works
+     installation mechanism for the info files is not present or works
      differently.
 
-     On some Debian Linux based systems the `install-info' program
-     supplied with the system works differently from the one we expect.
-     You must therefore run `make install' like this:
-
-          make INSTALL_INFO=/path/to/GNU/install-info install
-
    * GNU `awk' 3.0, or some other POSIX awk
 
      Awk is used in several places to generate files.  The scripts
-     should work with any POSIX-compliant awk implementation; GNU awk
+     should work with any POSIX-compliant awk implementation; `gawk'
      3.0 and `mawk' 1.3 are known to work.
 
    * Perl 5
@@ -302,23 +349,51 @@ maintainers by sending electronic mail to <bug-glibc@gnu.org>.
    Each case of `iX86' can be `i386', `i486', `i586', or `i686'.  All
 of those configurations produce a library that can run on any of these
 processors.  The library will be optimized for the specified processor,
-but will not use instructions not available on all of them.
-
-   While no other configurations are supported, there are handy aliases
-for these few.  (These aliases work in other GNU software as well.)
-
-     decstation
-     hp320-bsd4.3 hp300bsd
-     i486-gnu
-     i586-linux
-     i386-sco
-     i386-sco3.2v4
-     i386-sequent-dynix
-     i386-svr4
-     news
-     sun3-sunos4.N sun3
-     sun4-solaris2.N sun4-sunos5.N
-     sun4-sunos4.N sun4
+but will not use instructions not available on all of them.  If you
+want the library to use instructions only available on newer
+processors, give GCC the appropriate `-m' switches via CFLAGS.
+
+Specific advice for Linux systems
+=================================
+
+   If you are installing GNU libc on a Linux system, you need to have
+the header files from a development kernel around for reference.  You
+do not need to use the development kernel, just have its headers where
+glibc can get at them.  The easiest way to do this is to unpack a
+development kernel in a directory such as `/usr/src/linux-dev'.  In that
+directory, run `make config' and accept all the defaults.  Then
+configure glibc with the option
+`--with-headers=/usr/src/linux-dev/include'.  Use the latest
+development kernel you can get your hands on.
+
+   An alternate tactic is to unpack the development kernel and run
+`make config' as above.  Then rename or delete `/usr/include', create a
+new `/usr/include', and make the usual symbolic links of
+`/usr/include/linux' and `/usr/include/asm' into the development kernel
+sources.  You can then configure glibc with no special options.  This
+tactic is recommended if you are upgrading from libc5, since you need
+to get rid of the old header files anyway.
+
+   Note that `/usr/include/net' and `/usr/include/scsi' should *not* be
+symlinks into the kernel sources.  GNU libc provides its own versions
+of these files.
+
+   Linux expects some components of the libc installation to be in
+`/lib' and some in `/usr/lib'.  This is handled automatically if you
+configure glibc with `--prefix=/usr'.  If you set some other prefix or
+allow it to default to `/usr/local', then all the components are
+installed there.
+
+   If you are upgrading from libc5, you need to recompile every shared
+library on your system against the new library for the sake of new code,
+but keep the old libraries around for old binaries to use.  This is
+complicated and difficult.  Consult the Glibc2 HOWTO at
+`http://www.imaxx.net/~thrytis/glibc' for details.
+
+   You cannot use `nscd' with 2.0 kernels, due to bugs in the
+kernel-side thread support.  `nscd' happens to hit these bugs
+particularly hard, but you might have problems with any threaded
+program.
 
 Reporting Bugs
 ==============
@@ -333,7 +408,13 @@ hard part.  Once you've found a bug, make sure it's really a bug.  A
 good way to do this is to see if the GNU C library behaves the same way
 some other C library does.  If so, probably you are wrong and the
 libraries are right (but not necessarily).  If not, one of the libraries
-is probably wrong.
+is probably wrong.  It might not be the GNU library.  Many historical
+Unix C libraries permit things that we don't, such as closing a file
+twice.
+
+   If you think you have found some way in which the GNU C library does
+not conform to the ISO and POSIX standards (*note Standards and
+Portability::.), that is definitely a bug.  Report it!
 
    Once you're sure you've found a bug, try to narrow it down to the
 smallest test case that reproduces the problem.  In the case of a C
@@ -341,21 +422,14 @@ library, you really only need to narrow it down to one library function
 call, if possible.  This should not be too difficult.
 
    The final step when you have a simple test case is to report the bug.
-When reporting a bug, send your test case, the results you got, the
-results you expected, what you think the problem might be (if you've
-thought of anything), your system type, and the version of the GNU C
-library which you are using.  Also include the files `config.status'
-and `config.make' which are created by running `configure'; they will
-be in whatever directory was current when you ran `configure'.
-
-   If you think you have found some way in which the GNU C library does
-not conform to the ISO and POSIX standards (*note Standards and
-Portability::.), that is definitely a bug.  Report it!
-
-   Send bug reports to the Internet address <bug-glibc@gnu.org> using
-the `glibcbug' script which is installed by the GNU C library.  If you
-have other problems with installation or use, please report those as
-well.
+Do this using the `glibcbug' script.  It is installed with libc, or if
+you haven't installed it, will be in your build directory.  Send your
+test case, the results you got, the results you expected, and what you
+think the problem might be (if you've thought of anything).  `glibcbug'
+will insert the configuration information we need to see, and ship the
+report off to <bug-glibc@gnu.org>.  Don't send a message there
+directly; it is fed to a program that expects mail to be formatted in a
+particular way.  Use the script.
 
    If you are not sure how a function should behave, and this manual
 doesn't tell you, that's a bug in the manual.  Report that too!  If the
diff --git a/configure b/configure
index 6b4a765903..c2249b10ec 100755
--- a/configure
+++ b/configure
@@ -12,7 +12,7 @@
 
 
 # Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.12 
+# Generated automatically using autoconf version 2.12.2 
 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
 #
 # This configure script is free software; the Free Software Foundation
@@ -103,6 +103,7 @@ mandir='${prefix}/man'
 # Initialize some other variables.
 subdirs=
 MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
 # Maximum number of lines to put in a shell here document.
 ac_max_here_lines=12
 
@@ -386,7 +387,7 @@ EOF
     verbose=yes ;;
 
   -version | --version | --versio | --versi | --vers)
-    echo "configure generated by autoconf version 2.12"
+    echo "configure generated by autoconf version 2.12.2"
     exit 0 ;;
 
   -with-* | --with-*)
@@ -556,9 +557,11 @@ ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
 cross_compiling=$ac_cv_prog_cc_cross
 
+ac_exeext=
+ac_objext=o
 if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
   # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
   if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
@@ -801,26 +804,26 @@ fi
 
 
 # Make sure we can run config.sub.
-if $ac_config_sub sun4 >/dev/null 2>&1; then :
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
 else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
 fi
 
 echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:810: checking host system type" >&5
+echo "configure:813: checking host system type" >&5
 
 host_alias=$host
 case "$host_alias" in
 NONE)
   case $nonopt in
   NONE)
-    if host_alias=`$ac_config_guess`; then :
+    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
     else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
     fi ;;
   *) host_alias=$nonopt ;;
   esac ;;
 esac
 
-host=`$ac_config_sub $host_alias`
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
 host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
 host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
 host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
@@ -929,7 +932,7 @@ fi
 # This can take a while to compute.
 sysdep_dir=$srcdir/sysdeps
 echo $ac_n "checking sysdep dirs""... $ac_c" 1>&6
-echo "configure:933: checking sysdep dirs" >&5
+echo "configure:936: checking sysdep dirs" >&5
 # Make sco3.2v4 become sco3.2.4 and sunos4.1.1_U1 become sunos4.1.1.U1.
 os="`echo $os | sed 's/\([0-9A-Z]\)[v_]\([0-9A-Z]\)/\1.\2/g'`"
 
@@ -1126,28 +1129,30 @@ echo "$ac_t""$default_sysnames" 1>&6
 # SunOS /usr/etc/install
 # IRIX /sbin/install
 # AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
 # AFS /usr/afsws/bin/install, which mishandles nonexistent args
 # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
 # ./install, which can be erroneously created by make from ./install.sh.
 echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:1134: checking for a BSD compatible install" >&5
+echo "configure:1138: checking for a BSD compatible install" >&5
 if test -z "$INSTALL"; then
 if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
-    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS="${IFS}:"
+    IFS="${IFS= 	}"; ac_save_IFS="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     # Account for people who put trailing slashes in PATH elements.
     case "$ac_dir/" in
     /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
     *)
       # OSF1 and SCO ODT 3.0 have their own names for install.
-      for ac_prog in ginstall installbsd scoinst install; do
+      # Don't use installbsd from OSF since it installs stuff as root
+      # by default.
+      for ac_prog in ginstall scoinst install; do
         if test -f $ac_dir/$ac_prog; then
 	  if test $ac_prog = install &&
             grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
-	    # OSF/1 installbsd also uses dspmsg, but is usable.
 	    :
 	  else
 	    ac_cv_path_install="$ac_dir/$ac_prog -c"
@@ -1184,7 +1189,7 @@ if test "$INSTALL" = "${srcdir}/install-sh -c"; then
   INSTALL='\$(..)./install-sh -c'
 fi
 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
-echo "configure:1188: checking whether ln -s works" >&5
+echo "configure:1193: checking whether ln -s works" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1207,7 +1212,7 @@ fi
 
 # These programs are version sensitive.
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1211: checking build system type" >&5
+echo "configure:1216: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -1218,7 +1223,7 @@ NONE)
   esac ;;
 esac
 
-build=`$ac_config_sub $build_alias`
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
 build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
 build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
 build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
@@ -1235,14 +1240,14 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1239: checking for $ac_word" >&5
+echo "configure:1244: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -1268,7 +1273,7 @@ if test -z "$CC"; then
 else
   # Found it, now check the version.
   echo $ac_n "checking version of $CC""... $ac_c" 1>&6
-echo "configure:1272: checking version of $CC" >&5
+echo "configure:1277: checking version of $CC" >&5
   ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustp-]*[0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -1288,14 +1293,14 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1292: checking for $ac_word" >&5
+echo "configure:1297: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test -n "$MAKE"; then
   ac_cv_prog_MAKE="$MAKE" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -1321,7 +1326,7 @@ if test -z "$MAKE"; then
 else
   # Found it, now check the version.
   echo $ac_n "checking version of $MAKE""... $ac_c" 1>&6
-echo "configure:1325: checking version of $MAKE" >&5
+echo "configure:1330: checking version of $MAKE" >&5
   ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*version \([0-9][0-9.]*\), by.*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -1342,14 +1347,14 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1346: checking for $ac_word" >&5
+echo "configure:1351: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test -n "$MSGFMT"; then
   ac_cv_prog_MSGFMT="$MSGFMT" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -1375,7 +1380,7 @@ if test -z "$MSGFMT"; then
 else
   # Found it, now check the version.
   echo $ac_n "checking version of $MSGFMT""... $ac_c" 1>&6
-echo "configure:1379: checking version of $MSGFMT" >&5
+echo "configure:1384: checking version of $MSGFMT" >&5
   ac_prog_version=`$MSGFMT --version 2>&1 | sed -n 's/^.*GNU gettext.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -1395,14 +1400,14 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1399: checking for $ac_word" >&5
+echo "configure:1404: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test -n "$MAKEINFO"; then
   ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -1428,7 +1433,7 @@ if test -z "$MAKEINFO"; then
 else
   # Found it, now check the version.
   echo $ac_n "checking version of $MAKEINFO""... $ac_c" 1>&6
-echo "configure:1432: checking version of $MAKEINFO" >&5
+echo "configure:1437: checking version of $MAKEINFO" >&5
   ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo \([0-9][0-9.]*\).*$/\1/p'`
   case $ac_prog_version in
     '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
@@ -1457,7 +1462,7 @@ test -n "$aux_missing" && echo "configure: warning:
 
 
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1461: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
+echo "configure:1466: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_works'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1466,15 +1471,15 @@ ac_ext=c
 # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
 cross_compiling=$ac_cv_prog_cc_cross
 
 cat > conftest.$ac_ext <<EOF
-#line 1474 "configure"
+#line 1479 "configure"
 #include "confdefs.h"
 main(){return(0);}
 EOF
-if { (eval echo configure:1478: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1483: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   ac_cv_prog_cc_works=yes
   # If we can't run a trivial program, we are probably using a cross compiler.
   if (./conftest; exit) 2>/dev/null; then
@@ -1499,7 +1504,7 @@ else
  cross_linkable=yes
 fi
 echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1503: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
+echo "configure:1508: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_cc_cross'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1511,7 +1516,7 @@ echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
 cross_compiling=$ac_cv_prog_cc_cross
 
 echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1515: checking whether we are using GNU C" >&5
+echo "configure:1520: checking whether we are using GNU C" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1520,7 +1525,7 @@ else
   yes;
 #endif
 EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1524: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1529: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
   ac_cv_prog_gcc=yes
 else
   ac_cv_prog_gcc=no
@@ -1533,7 +1538,7 @@ if test $ac_cv_prog_gcc != yes; then
 fi
 
 echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1537: checking build system type" >&5
+echo "configure:1542: checking build system type" >&5
 
 build_alias=$build
 case "$build_alias" in
@@ -1544,7 +1549,7 @@ NONE)
   esac ;;
 esac
 
-build=`$ac_config_sub $build_alias`
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
 build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
 build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
 build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
@@ -1556,14 +1561,14 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1560: checking for $ac_word" >&5
+echo "configure:1565: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test -n "$BUILD_CC"; then
   ac_cv_prog_BUILD_CC="$BUILD_CC" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -1587,7 +1592,7 @@ done
 fi
 
 echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:1591: checking how to run the C preprocessor" >&5
+echo "configure:1596: checking how to run the C preprocessor" >&5
 # On Suns, sometimes $CPP names a directory.
 if test -n "$CPP" && test -d "$CPP"; then
   CPP=
@@ -1602,14 +1607,14 @@ else
   # On the NeXT, cc -E runs the code through the compiler's parser,
   # not just through cpp.
   cat > conftest.$ac_ext <<EOF
-#line 1606 "configure"
+#line 1611 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1612: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1617: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
 else
@@ -1619,14 +1624,31 @@ else
   rm -rf conftest*
   CPP="${CC-cc} -E -traditional-cpp"
   cat > conftest.$ac_ext <<EOF
-#line 1623 "configure"
+#line 1628 "configure"
 #include "confdefs.h"
 #include <assert.h>
 Syntax Error
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1629: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
+{ (eval echo configure:1634: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  CPP="${CC-cc} -nologo -E"
+  cat > conftest.$ac_ext <<EOF
+#line 1645 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1651: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
 if test -z "$ac_err"; then
   :
 else
@@ -1639,6 +1661,8 @@ fi
 rm -f conftest*
 fi
 rm -f conftest*
+fi
+rm -f conftest*
   ac_cv_prog_CPP="$CPP"
 fi
   CPP="$ac_cv_prog_CPP"
@@ -1658,7 +1682,7 @@ LD=`$CC -print-prog-name=ld`
 
 # Determine whether we are using GNU binutils.
 echo $ac_n "checking whether $AS is GNU as""... $ac_c" 1>&6
-echo "configure:1662: checking whether $AS is GNU as" >&5
+echo "configure:1686: checking whether $AS is GNU as" >&5
 if eval "test \"`echo '$''{'libc_cv_prog_as_gnu'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1677,7 +1701,7 @@ rm -f a.out
 gnu_as=$libc_cv_prog_as_gnu
 
 echo $ac_n "checking whether $LD is GNU ld""... $ac_c" 1>&6
-echo "configure:1681: checking whether $LD is GNU ld" >&5
+echo "configure:1705: checking whether $LD is GNU ld" >&5
 if eval "test \"`echo '$''{'libc_cv_prog_ld_gnu'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1697,14 +1721,14 @@ gnu_ld=$libc_cv_prog_ld_gnu
 # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ar; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1701: checking for $ac_word" >&5
+echo "configure:1725: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test -n "$AR"; then
   ac_cv_prog_AR="$AR" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -1728,14 +1752,14 @@ fi
 # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1732: checking for $ac_word" >&5
+echo "configure:1756: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test -n "$RANLIB"; then
   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -1759,14 +1783,14 @@ if test -n "$ac_tool_prefix"; then
   # Extract the first word of "ranlib", so it can be a program name with args.
 set dummy ranlib; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1763: checking for $ac_word" >&5
+echo "configure:1787: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test -n "$RANLIB"; then
   ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -1793,14 +1817,14 @@ fi
 # Extract the first word of "${ac_tool_prefix}mig", so it can be a program name with args.
 set dummy ${ac_tool_prefix}mig; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1797: checking for $ac_word" >&5
+echo "configure:1821: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_MIG'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test -n "$MIG"; then
   ac_cv_prog_MIG="$MIG" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -1833,7 +1857,7 @@ fi
 
 # check if ranlib is necessary
 echo $ac_n "checking whether ranlib is necessary""... $ac_c" 1>&6
-echo "configure:1837: checking whether ranlib is necessary" >&5
+echo "configure:1861: checking whether ranlib is necessary" >&5
 if eval "test \"`echo '$''{'libc_cv_ranlib_necessary'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1867,7 +1891,7 @@ fi
 # - two terminals occur directly after each other
 # - the path contains an element with a dot in it
 echo $ac_n "checking LD_LIBRARY_PATH variable""... $ac_c" 1>&6
-echo "configure:1871: checking LD_LIBRARY_PATH variable" >&5
+echo "configure:1895: checking LD_LIBRARY_PATH variable" >&5
 case ${LD_LIBRARY_PATH} in
   [:\;]* | *[:\;] | *[:\;][:\;]* |  *[:\;]. | .[:\;]*| . | *[:\;].[:\;]* )
     ld_library_path_setting="contains current directory"
@@ -1887,7 +1911,7 @@ fi
 # Extract the first word of "bash", so it can be a program name with args.
 set dummy bash; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1891: checking for $ac_word" >&5
+echo "configure:1915: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1895,8 +1919,11 @@ else
   /*)
   ac_cv_path_BASH="$BASH" # Let the user override the test with a path.
   ;;
+  ?:/*)			 
+  ac_cv_path_BASH="$BASH" # Let the user override the test with a dos path.
+  ;;
   *)
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -1929,7 +1956,7 @@ if test "$BASH" = no; then
   # Extract the first word of "ksh", so it can be a program name with args.
 set dummy ksh; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1933: checking for $ac_word" >&5
+echo "configure:1960: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_KSH'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -1937,8 +1964,11 @@ else
   /*)
   ac_cv_path_KSH="$KSH" # Let the user override the test with a path.
   ;;
+  ?:/*)			 
+  ac_cv_path_KSH="$KSH" # Let the user override the test with a dos path.
+  ;;
   *)
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -1975,14 +2005,14 @@ do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1979: checking for $ac_word" >&5
+echo "configure:2009: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_AWK'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   if test -n "$AWK"; then
   ac_cv_prog_AWK="$AWK" # Let the user override the test.
 else
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -2006,7 +2036,7 @@ done
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2010: checking for $ac_word" >&5
+echo "configure:2040: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2014,8 +2044,11 @@ else
   /*)
   ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
   ;;
+  ?:/*)			 
+  ac_cv_path_PERL="$PERL" # Let the user override the test with a dos path.
+  ;;
   *)
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
   for ac_dir in $PATH; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
@@ -2036,10 +2069,11 @@ else
 fi
 
 
+install_info_path=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
 # Extract the first word of "install-info", so it can be a program name with args.
 set dummy install-info; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2043: checking for $ac_word" >&5
+echo "configure:2077: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_path_INSTALL_INFO'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2047,9 +2081,12 @@ else
   /*)
   ac_cv_path_INSTALL_INFO="$INSTALL_INFO" # Let the user override the test with a path.
   ;;
+  ?:/*)			 
+  ac_cv_path_INSTALL_INFO="$INSTALL_INFO" # Let the user override the test with a dos path.
+  ;;
   *)
-  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin$ac_dummy; do
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS=":"
+  for ac_dir in $install_info_path$ac_dummy; do
     test -z "$ac_dir" && ac_dir=.
     if test -f $ac_dir/$ac_word; then
       ac_cv_path_INSTALL_INFO="$ac_dir/$ac_word"
@@ -2071,7 +2108,7 @@ fi
 
 if test "$INSTALL_INFO" != "no"; then
 echo $ac_n "checking for old Debian install-info""... $ac_c" 1>&6
-echo "configure:2075: checking for old Debian install-info" >&5
+echo "configure:2112: checking for old Debian install-info" >&5
 if eval "test \"`echo '$''{'libc_cv_old_debian_install_info'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2104,7 +2141,7 @@ fi
 
 
 echo $ac_n "checking for signed size_t type""... $ac_c" 1>&6
-echo "configure:2108: checking for signed size_t type" >&5
+echo "configure:2145: checking for signed size_t type" >&5
 if eval "test \"`echo '$''{'libc_cv_signed_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2128,12 +2165,12 @@ EOF
 fi
 
 echo $ac_n "checking for libc-friendly stddef.h""... $ac_c" 1>&6
-echo "configure:2132: checking for libc-friendly stddef.h" >&5
+echo "configure:2169: checking for libc-friendly stddef.h" >&5
 if eval "test \"`echo '$''{'libc_cv_friendly_stddef'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2137 "configure"
+#line 2174 "configure"
 #include "confdefs.h"
 #define __need_size_t
 #define __need_wchar_t
@@ -2148,7 +2185,7 @@ size_t size; wchar_t wchar;
 if (&size == NULL || &wchar == NULL) abort ();
 ; return 0; }
 EOF
-if { (eval echo configure:2152: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2189: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   libc_cv_friendly_stddef=yes
 else
@@ -2167,7 +2204,7 @@ override stddef.h = # The installed <stddef.h> seems to be libc-friendly."
 fi
 
 echo $ac_n "checking whether we need to use -P to assemble .S files""... $ac_c" 1>&6
-echo "configure:2171: checking whether we need to use -P to assemble .S files" >&5
+echo "configure:2208: checking whether we need to use -P to assemble .S files" >&5
 if eval "test \"`echo '$''{'libc_cv_need_minus_P'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2190,7 +2227,7 @@ asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
 fi
 
 echo $ac_n "checking for assembler global-symbol directive""... $ac_c" 1>&6
-echo "configure:2194: checking for assembler global-symbol directive" >&5
+echo "configure:2231: checking for assembler global-symbol directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_global_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2220,7 +2257,7 @@ EOF
 fi
 
 echo $ac_n "checking for .set assembler directive""... $ac_c" 1>&6
-echo "configure:2224: checking for .set assembler directive" >&5
+echo "configure:2261: checking for .set assembler directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_set_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2254,7 +2291,7 @@ EOF
 fi
 
 echo $ac_n "checking for .symver assembler directive""... $ac_c" 1>&6
-echo "configure:2258: checking for .symver assembler directive" >&5
+echo "configure:2295: checking for .symver assembler directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_symver_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2273,7 +2310,7 @@ fi
 
 echo "$ac_t""$libc_cv_asm_symver_directive" 1>&6
 echo $ac_n "checking for ld --version-script""... $ac_c" 1>&6
-echo "configure:2277: checking for ld --version-script" >&5
+echo "configure:2314: checking for ld --version-script" >&5
 if eval "test \"`echo '$''{'libc_cv_ld_version_script_option'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2296,7 +2333,7 @@ EOF
     if { ac_try='${CC-cc} $CFLAGS -shared -o conftest.so conftest.o
 					-nostartfiles -nostdlib
 					-Wl,--version-script,conftest.map
-		       1>&5'; { (eval echo configure:2300: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
+		       1>&5'; { (eval echo configure:2337: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
     then
       libc_cv_ld_version_script_option=yes
     else
@@ -2334,7 +2371,7 @@ if test $VERSIONING = no; then
 fi
 if test $elf = yes; then
   echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6
-echo "configure:2338: checking for .previous assembler directive" >&5
+echo "configure:2375: checking for .previous assembler directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2342,7 +2379,7 @@ else
 .section foo_section
 .previous
 EOF
-  if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2346: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+  if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2383: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
     libc_cv_asm_previous_directive=yes
   else
     libc_cv_asm_previous_directive=no
@@ -2358,7 +2395,7 @@ EOF
 
   else
     echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6
-echo "configure:2362: checking for .popsection assembler directive" >&5
+echo "configure:2399: checking for .popsection assembler directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2366,7 +2403,7 @@ else
 .pushsection foo_section
 .popsection
 EOF
-    if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2370: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+    if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:2407: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
       libc_cv_asm_popsection_directive=yes
     else
       libc_cv_asm_popsection_directive=no
@@ -2386,12 +2423,12 @@ fi
 
 if test $elf != yes; then
   echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
-echo "configure:2390: checking for .init and .fini sections" >&5
+echo "configure:2427: checking for .init and .fini sections" >&5
 if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2395 "configure"
+#line 2432 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -2400,7 +2437,7 @@ asm (".section .init");
 				    asm (".text");
 ; return 0; }
 EOF
-if { (eval echo configure:2404: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2441: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   libc_cv_have_initfini=yes
 else
@@ -2428,19 +2465,19 @@ if test $elf = yes; then
 else
   if test $ac_cv_prog_cc_works = yes; then
     echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
-echo "configure:2432: checking for _ prefix on C symbol names" >&5
+echo "configure:2469: checking for _ prefix on C symbol names" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2437 "configure"
+#line 2474 "configure"
 #include "confdefs.h"
 asm ("_glibc_foobar:");
 int main() {
 glibc_foobar ();
 ; return 0; }
 EOF
-if { (eval echo configure:2444: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:2481: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
   rm -rf conftest*
   libc_cv_asm_underscores=yes
 else
@@ -2455,17 +2492,17 @@ fi
 echo "$ac_t""$libc_cv_asm_underscores" 1>&6
   else
     echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
-echo "configure:2459: checking for _ prefix on C symbol names" >&5
+echo "configure:2496: checking for _ prefix on C symbol names" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2464 "configure"
+#line 2501 "configure"
 #include "confdefs.h"
 void underscore_test(void) {
 return; }
 EOF
-if { (eval echo configure:2469: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2506: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   if grep _underscore_test conftest* >/dev/null; then
     rm -f conftest*
     libc_cv_asm_underscores=yes
@@ -2497,7 +2534,7 @@ if test $elf = yes; then
 fi
 
 echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
-echo "configure:2501: checking for assembler .weak directive" >&5
+echo "configure:2538: checking for assembler .weak directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2520,7 +2557,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6
 
 if test $libc_cv_asm_weak_directive = no; then
   echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6
-echo "configure:2524: checking for assembler .weakext directive" >&5
+echo "configure:2561: checking for assembler .weakext directive" >&5
 if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2558,7 +2595,7 @@ EOF
 fi
 
 echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6
-echo "configure:2562: checking for ld --no-whole-archive" >&5
+echo "configure:2599: checking for ld --no-whole-archive" >&5
 if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2569,7 +2606,7 @@ __throw () {}
 EOF
 if { ac_try='${CC-cc} $CFLAGS
 			    -nostdlib -nostartfiles -Wl,--no-whole-archive
-			    -o conftest conftest.c 1>&5'; { (eval echo configure:2573: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+			    -o conftest conftest.c 1>&5'; { (eval echo configure:2610: \"$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
@@ -2583,7 +2620,7 @@ if test $libc_cv_ld_no_whole_archive = yes; then
 fi
 
 echo $ac_n "checking for gcc -fexceptions""... $ac_c" 1>&6
-echo "configure:2587: checking for gcc -fexceptions" >&5
+echo "configure:2624: checking for gcc -fexceptions" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_exceptions'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2594,7 +2631,7 @@ __throw () {}
 EOF
 if { ac_try='${CC-cc} $CFLAGS
 			    -nostdlib -nostartfiles -fexceptions
-			    -o conftest conftest.c 1>&5'; { (eval echo configure:2598: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+			    -o conftest conftest.c 1>&5'; { (eval echo configure:2635: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   libc_cv_gcc_exceptions=yes
 else
   libc_cv_gcc_exceptions=no
@@ -2609,14 +2646,14 @@ fi
 
 if test "$base_machine" = alpha ; then
 echo $ac_n "checking for function ..ng prefix""... $ac_c" 1>&6
-echo "configure:2613: checking for function ..ng prefix" >&5
+echo "configure:2650: checking for function ..ng prefix" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_alpha_ng_prefix'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.c <<\EOF
 foo () { }
 EOF
-if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:2620: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
+if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo..ng" > /dev/null'; { (eval echo configure:2657: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; };
 then
   libc_cv_gcc_alpha_ng_prefix=yes
 else
@@ -2643,19 +2680,19 @@ if test "$host_cpu" = powerpc ; then
 # Check for a bug present in at least versions 2.8.x of GCC
 # and versions 1.0.x of EGCS.
 echo $ac_n "checking whether clobbering cr0 causes problems""... $ac_c" 1>&6
-echo "configure:2647: checking whether clobbering cr0 causes problems" >&5
+echo "configure:2684: checking whether clobbering cr0 causes problems" >&5
 if eval "test \"`echo '$''{'libc_cv_c_asmcr0_bug'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 2652 "configure"
+#line 2689 "configure"
 #include "confdefs.h"
 int tester(int x) { asm ("" : : : "cc"); return x & 123; }
 int main() {
 
 ; return 0; }
 EOF
-if { (eval echo configure:2659: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2696: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   libc_cv_c_asmcr0_bug='no'
 else
@@ -2677,12 +2714,12 @@ fi
 fi
 
 echo $ac_n "checking for DWARF2 unwind info support""... $ac_c" 1>&6
-echo "configure:2681: checking for DWARF2 unwind info support" >&5
+echo "configure:2718: checking for DWARF2 unwind info support" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_dwarf2_unwind_info'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.c <<EOF
-#line 2686 "configure"
+#line 2723 "configure"
 static char __EH_FRAME_BEGIN__;
 _start ()
 {
@@ -2709,7 +2746,7 @@ __bzero () {}
 EOF
 if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame_info
 			    -nostdlib -nostartfiles
-			    -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2713: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+			    -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   libc_cv_gcc_dwarf2_unwind_info=static
 else
   libc_cv_gcc_dwarf2_unwind_info=no
@@ -2717,7 +2754,7 @@ fi
 if test $libc_cv_gcc_dwarf2_unwind_info = no; then
   if { ac_try='${CC-cc} $CFLAGS -DCHECK__register_frame
 			      -nostdlib -nostartfiles
-			      -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2721: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+			      -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2758: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
     libc_cv_gcc_dwarf2_unwind_info=yes
   else
     libc_cv_gcc_dwarf2_unwind_info=no
@@ -2747,12 +2784,12 @@ EOF
 esac
 
 echo $ac_n "checking for __builtin_expect""... $ac_c" 1>&6
-echo "configure:2751: checking for __builtin_expect" >&5
+echo "configure:2788: checking for __builtin_expect" >&5
 if eval "test \"`echo '$''{'libc_cv_gcc_builtin_expect'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.c <<EOF
-#line 2756 "configure"
+#line 2793 "configure"
 int foo (int a)
 {
   a = __builtin_expect (a, 10);
@@ -2760,7 +2797,7 @@ int foo (int a)
 }
 EOF
 if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles
-			    -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2764: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+			    -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2801: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
   libc_cv_gcc_builtin_expect=yes
 else
   libc_cv_gcc_builtin_expect=no
@@ -2821,7 +2858,7 @@ if test "$uname" = "sysdeps/generic"; then
   fi
 
   echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
-echo "configure:2825: checking OS release for uname" >&5
+echo "configure:2862: checking OS release for uname" >&5
 if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2843,7 +2880,7 @@ echo "$ac_t""$libc_cv_uname_release" 1>&6
   uname_release="$libc_cv_uname_release"
 
   echo $ac_n "checking OS version for uname""... $ac_c" 1>&6
-echo "configure:2847: checking OS version for uname" >&5
+echo "configure:2884: checking OS version for uname" >&5
 if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -2865,7 +2902,7 @@ else
 fi
 
 echo $ac_n "checking stdio selection""... $ac_c" 1>&6
-echo "configure:2869: checking stdio selection" >&5
+echo "configure:2906: checking stdio selection" >&5
 
 case $stdio in
 libio) cat >> confdefs.h <<\EOF
@@ -2879,7 +2916,7 @@ echo "$ac_t""$stdio" 1>&6
 # Test for old glibc 2.0.x headers so that they can be removed properly
 # Search only in includedir.
 echo $ac_n "checking for old glibc 2.0.x headers""... $ac_c" 1>&6
-echo "configure:2883: checking for old glibc 2.0.x headers" >&5
+echo "configure:2920: checking for old glibc 2.0.x headers" >&5
 if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
 then
   old_glibc_headers=yes
@@ -2933,7 +2970,7 @@ if test $shared = default; then
 fi
 
 echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6
-echo "configure:2937: checking whether -fPIC is default" >&5
+echo "configure:2974: checking whether -fPIC is default" >&5
 if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -3000,7 +3037,7 @@ EOF
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
 (set) 2>&1 |
-  case `(ac_space=' '; set) 2>&1` in
+  case `(ac_space=' '; set) 2>&1 | grep ac_space` in
   *ac_space=\ *)
     # `set' does not quote correctly, so add quotes (double-quote substitution
     # turns \\\\ into \\, and sed turns \\ into \).
@@ -3067,7 +3104,7 @@ do
     echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
     exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
   -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-    echo "$CONFIG_STATUS generated by autoconf version 2.12"
+    echo "$CONFIG_STATUS generated by autoconf version 2.12.2"
     exit 0 ;;
   -help | --help | --hel | --he | --h)
     echo "\$ac_cs_usage"; exit 0 ;;
@@ -3087,6 +3124,7 @@ sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
  s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
 $ac_vpsub
 $extrasub
+s%@SHELL@%$SHELL%g
 s%@CFLAGS@%$CFLAGS%g
 s%@CPPFLAGS@%$CPPFLAGS%g
 s%@CXXFLAGS@%$CXXFLAGS%g
diff --git a/configure.in b/configure.in
index 0ec4424358..81d6a32cd3 100644
--- a/configure.in
+++ b/configure.in
@@ -560,8 +560,9 @@ AC_SUBST(libc_cv_have_ksh)
 AC_PROG_AWK
 AC_PATH_PROG(PERL, perl, no)
 AC_SUBST(PERL)
-AC_PATH_PROG(INSTALL_INFO, install-info, no, dnl
-/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin)
+dnl This works around a bug in autoconf.
+install_info_path=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
+AC_PATH_PROG(INSTALL_INFO, install-info, no, $install_info_path)
 AC_SUBST(INSTALL_INFO)
 if test "$INSTALL_INFO" != "no"; then
 AC_CACHE_CHECK(for old Debian install-info, libc_cv_old_debian_install_info,
diff --git a/manual/Makefile b/manual/Makefile
index 5db6a31f23..0652d4dea0 100644
--- a/manual/Makefile
+++ b/manual/Makefile
@@ -82,7 +82,7 @@ stamp-summary: summary.awk $(filter-out summary.texi, $(texis))
 # access to the documentation of the function, variables, and other
 # definitions.
 dir-add.info: xtract-typefun.awk $(texis)
-	(echo "INFO-DIR-SECTION GNU C library functions:";		\
+	(echo "INFO-DIR-SECTION GNU C library functions";		\
 	 echo "START-INFO-DIR-ENTRY";					\
 	 $(AWK) -f $^ | sort;						\
 	 echo "END-INFO-DIR-ENTRY") > $@.new
diff --git a/manual/install.texi b/manual/install.texi
index 3712643989..a68151852e 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -11,33 +11,42 @@ at the top level of the source tree.  This file answers common questions
 and describes problems you may experience with compilation and
 installation.  It is updated more frequently than this manual.
 
-Two components of GNU Libc are distributed as @dfn{add-on} bundles
-separate from the main distribution.  Unless you are doing an unusual
-installation, you should get them both.  Support for the @code{crypt}
-function is distributed separately because of US export restrictions.
-If you are outside the US or Canada, you must get @code{crypt} support
-from a site outside the US, such as @samp{ftp.ifi.uio.no}.
+Features can be added to GNU Libc via @dfn{add-on} bundles.  These are
+separate tarfiles which you unpack into the top level of the source
+tree.  Then you give @code{configure} the @samp{--enable-add-ons} option
+to activate them, and they will be compiled into the library.  As of the
+2.1 release, two important components of glibc are distributed as
+``official'' add-ons.  Unless you are doing an unusual installation, you
+should get them both.
+
+Support for POSIX threads is maintained by someone else, so it's in a
+separate package.  It is only available for Linux systems, but this will
+change in the future.  Get it from the same place you got the main
+bundle; the file is @file{glibc-linuxthreads-@var{VERSION}.tar.gz}.
+Support for the @code{crypt} function is distributed separately because
+of United States export restrictions.  If you are outside the US or
+Canada, you must get @code{crypt} support from a site outside the US,
+such as @samp{ftp.ifi.uio.no}.
 @c Check this please someone:
 (Most non-US mirrors of @samp{ftp.gnu.org} will have it too.)  The file
-you need is @file{glibc-crypt-@var{VERSION}.tar.gz}.  Support for POSIX
-threads is maintained by someone else, so it's in a separate package.
-At the moment it is only available for Linux systems; this will change
-in the future.  Get it from the same place you got the main bundle; the
-file is @file{glibc-linuxthreads-@var{VERSION}.tar.gz}.  Both add-on
-bundles should be unpacked into the top level of the libc source tree.
+you need is @file{glibc-crypt-@var{VERSION}.tar.gz}.  
 
 You will need recent versions of several GNU tools: definitely GCC and
 GNU Make, and possibly others.  @xref{Tools for Compilation}, below.
 
 @menu
 * Configuring and compiling::   How to compile and test GNU libc.
+* Installation::                How to install it once you've got it compiled.
 * Tools for Compilation::       You'll need these first.
 * Supported Configurations::    What it runs on, what it doesn't.
+* Linux::                       Specific advice for Linux systems.
 * Reporting Bugs::              So they'll get fixed.
 @end menu
 
 @node Configuring and compiling
 @appendixsec Configuring and compiling GNU Libc
+@cindex configuring
+@cindex compiling
 
 GNU Libc cannot be compiled in the source directory.  You must create a
 separate directory for the object files.  This directory should be
@@ -54,14 +63,12 @@ $ ../glibc-2.1.0/configure @var{args...}
 
 @noindent
 @code{configure} takes many options, but you can get away with knowing
-only two: @samp{--enable-add-ons} and @samp{--prefix}.  The
-@samp{--enable-add-ons} option tells configure to use all the add-on
-bundles it finds in the source directory.  Since important functionality
-is provided in add-ons, you should always give this option.  The
+only two: @samp{--prefix} and @samp{--enable-add-ons}.  The
 @code{--prefix} option tells configure where you want glibc installed.
-This defaults to @file{/usr/local}.  If you are installing glibc as your
-primary C library, give the option @samp{--prefix=/usr}, which will put
-components in @file{/usr} or @file{/} as appropriate.
+This defaults to @file{/usr/local}.  The @samp{--enable-add-ons} option
+tells configure to use all the add-on bundles it finds in the source
+directory.  Since important functionality is provided in add-ons, you
+should always give this option.
 
 It may also be useful to set the @var{CC} and @var{CFLAGS} variables in
 the environment when running @code{configure}.  @var{CC} selects the C
@@ -109,7 +116,6 @@ suppress these constructs, so the library will still be usable, but
 functionality may be lost---for example, you can not build a shared libc
 with old binutils.)
 
-@c extra blank line makes it look better
 @item --without-fp
 Use this option if your computer lacks hardware floating-point support
 and your operating system does not emulate an FPU.
@@ -144,7 +150,6 @@ This is not recommended because it defeats the purpose of NSS; a program
 linked statically with the NSS libraries cannot be dynamically
 reconfigured to use a different name database.
 
-@c another extra blank line
 @item --build=@var{build-system}
 @itemx --host=@var{host-system}
 These options are for cross-compiling.  If you give them both and
@@ -154,9 +159,16 @@ on @var{host-system}.  You'll probably need the @samp{--with-headers}
 option too, and you may have to override @var{configure}'s selection of
 the compiler and/or binutils.
 
-If you give just one of these, @code{configure} will get confused.  If
-@code{configure} doesn't correctly guess your system type for a native
-build, report that as a bug.
+If you give just @samp{--host}, configure will prepare for a native
+compile but use what you say instead of guessing what your system is.
+This is most useful to change the CPU submodel.  For example, if
+configure guesses your machine as @code{i586-pc-linux-gnu} but you want
+to compile a library optimized for 386es, give
+@samp{--host=i386-pc-linux-gnu} or just @samp{--host=i386-linux}.  (A
+library compiled for a Pentium (@code{i586}) will still work on a 386,
+but it may be slower.)
+
+If you give just @samp{--build}, configure will get confused.
 @end table
 
 To build the library and related programs, type @code{make}.  This will
@@ -192,14 +204,57 @@ and test glibc as an unprivileged user.
 
 To format the @cite{GNU C Library Reference Manual} for printing, type
 @w{@code{make dvi}}.  You need a working @TeX{} installation to do this.
+The distribution already includes the on-line formatted version of the
+manual, as Info files.  You can regenerate those with @w{@code{make
+info}}, but it shouldn't be necessary.
+
+@node Installation
+@appendixsec Installing the C Library
+@cindex installing
 
 To install the library and its header files, and the Info files of the
 manual, type @code{make install}.  This will build things if necessary,
-before installing them.  If you want to install the files in a different
-place than the one specified at configuration time you can specify a
-value for the Makefile variable @code{install_root} on the command line.
-This is useful to create chroot'ed environment or to prepare binary
-releases.@refill
+before installing them.  Don't rely on that; compile everything first.
+If you are installing glibc as your primary C library, we recommend you
+shut the system down to single-user mode first, and reboot afterward.
+This minimizes the risk of breaking things when the library changes out
+from underneath.
+
+If you are upgrading from a previous installation of glibc 2.0 or 2.1,
+@samp{make install} will do the entire job.  If you're upgrading from
+Linux libc5 or some other C library, you need to rename the old
+@file{/usr/include} directory out of the way first, or you will end up
+with a mixture of header files from both libraries, and you won't be
+able to compile anything.  You may also need to reconfigure GCC to work
+with the new library.  The easiest way to do that is to figure out the
+compiler switches to make it work again
+(@samp{-Wl,-dynamic-linker=/lib/ld-linux.so.2} should work on Linux
+systems) and use them to recompile gcc.  You can also edit the specs
+file (@file{/usr/lib/gcc-lib/@var{TARGET}/@var{VERSION}/specs}), but
+that is a bit of a black art.
+
+You can install glibc somewhere other than where you configured it to go
+by setting the @code{install_root} variable on the command line for
+@samp{make install}.  The value of this variable is prepended to all the
+paths for installation.  This is useful when setting up a chroot
+environment or preparing a binary distribution.
+
+Glibc 2.1 includes two daemons, @code{nscd} and @code{utmpd}, which you
+may or may not want to run.  @code{nscd} caches name service lookups; it
+can dramatically improve performance with NIS+, and may help with DNS as
+well.  @code{utmpd} allows programs that use the old format for the
+@file{utmp} file to coexist with new programs.  For more information see
+the files @file{nscd/README} and @file{login/README.utmpd}.
+
+One auxiliary program, @file{/usr/libexec/pt_chown}, is installed setuid
+@code{root}.  This program is invoked by the @code{grantpt} function; it
+sets the permissions on a pseudoterminal so it can be used by the
+calling process.  This means programs like @code{xterm} and
+@code{screen} do not have to be setuid to get a pty.  (There may be
+other reasons why they need privileges.)  If you are using a 2.1 Linux
+kernel with the @code{devptsfs} or @code{devfs} filesystems providing
+pty slaves, you don't need this program; otherwise you do.  The source
+for @file{pt_chown} is in @file{login/programs/pt_chown.c}.
 
 @node Tools for Compilation
 @appendixsec Recommended Tools for Compilation
@@ -227,7 +282,9 @@ EGCS 1.1 or 1.0.3
 The GNU C library can only be compiled with the GNU C compiler family.
 We recommend EGCS 1.0.3 or higher.  GCC 2.8.1 and older versions of EGCS
 may have problems, particularly on non-Intel architectures.  GCC 2.7.x
-has catastrophic bugs and cannot be used at all.
+has catastrophic bugs and cannot be used at all.  (You can use GCC 2.7.x
+to compile programs that use GNU libc, but you may have problems,
+particularly with the math functions.)
 
 @item
 GNU @code{binutils} 2.8.1.0.23, 2.9.1, or 2.9.0.15
@@ -247,21 +304,13 @@ GNU @code{texinfo} 3.11
 To correctly translate and install the Texinfo documentation you need
 this version of the @code{texinfo} package.  Earlier versions do not
 understand all the tags used in the document, and the installation
-mechanisms for the info files is not present or works differently.
-
-On some Debian Linux based systems the @code{install-info} program
-supplied with the system works differently from the one we expect.  You
-must therefore run @code{make install} like this:
-
-@smallexample
-make INSTALL_INFO=/path/to/GNU/install-info install
-@end smallexample
+mechanism for the info files is not present or works differently.
 
 @item
 GNU @code{awk} 3.0, or some other POSIX awk
 
 Awk is used in several places to generate files.  The scripts should
-work with any POSIX-compliant awk implementation; GNU awk 3.0 and
+work with any POSIX-compliant awk implementation; @code{gawk} 3.0 and
 @code{mawk} 1.3 are known to work.
 
 @item
@@ -350,25 +399,53 @@ Each case of @samp{i@var{x}86} can be @samp{i386}, @samp{i486},
 @samp{i586}, or @samp{i686}.  All of those configurations produce a
 library that can run on any of these processors.  The library will be
 optimized for the specified processor, but will not use instructions not
-available on all of them.
-
-While no other configurations are supported, there are handy aliases for
-these few.  (These aliases work in other GNU software as well.)
-
-@smallexample
-decstation
-hp320-bsd4.3 hp300bsd
-i486-gnu
-i586-linux
-i386-sco
-i386-sco3.2v4
-i386-sequent-dynix
-i386-svr4
-news
-sun3-sunos4.@var{n} sun3
-sun4-solaris2.@var{n} sun4-sunos5.@var{n}
-sun4-sunos4.@var{n} sun4
-@end smallexample
+available on all of them.  If you want the library to use instructions
+only available on newer processors, give GCC the appropriate @samp{-m}
+switches via @var{CFLAGS}.
+
+@node Linux
+@appendixsec Specific advice for Linux systems
+@cindex upgrading from libc5
+@cindex kernel header files
+
+If you are installing GNU libc on a Linux system, you need to have the
+header files from a development kernel around for reference.  You do not
+need to use the development kernel, just have its headers where glibc
+can get at them.  The easiest way to do this is to unpack a development
+kernel in a directory such as @file{/usr/src/linux-dev}.  In that
+directory, run @samp{make config} and accept all the defaults.  Then
+configure glibc with the option
+@samp{--with-headers=/usr/src/linux-dev/include}.  Use the latest
+development kernel you can get your hands on.
+
+An alternate tactic is to unpack the development kernel and run
+@samp{make config} as above.  Then rename or delete @file{/usr/include},
+create a new @file{/usr/include}, and make the usual symbolic links of
+@file{/usr/include/linux} and @file{/usr/include/asm} into the
+development kernel sources.  You can then configure glibc with no
+special options.  This tactic is recommended if you are upgrading from
+libc5, since you need to get rid of the old header files anyway.
+
+Note that @file{/usr/include/net} and @file{/usr/include/scsi} should
+@strong{not} be symlinks into the kernel sources.  GNU libc provides its
+own versions of these files.
+
+Linux expects some components of the libc installation to be in
+@file{/lib} and some in @file{/usr/lib}.  This is handled automatically
+if you configure glibc with @samp{--prefix=/usr}.  If you set some other
+prefix or allow it to default to @file{/usr/local}, then all the
+components are installed there.
+
+If you are upgrading from libc5, you need to recompile every shared
+library on your system against the new library for the sake of new code,
+but keep the old libraries around for old binaries to use.  This is
+complicated and difficult.  Consult the Glibc2 HOWTO at
+@url{http://www.imaxx.net/~thrytis/glibc} for details.
+
+You cannot use @code{nscd} with 2.0 kernels, due to bugs in the
+kernel-side thread support.  @code{nscd} happens to hit these bugs
+particularly hard, but you might have problems with any threaded
+program.
 
 @node Reporting Bugs
 @appendixsec Reporting Bugs
@@ -385,7 +462,13 @@ hard part.  Once you've found a bug, make sure it's really a bug.  A
 good way to do this is to see if the GNU C library behaves the same way
 some other C library does.  If so, probably you are wrong and the
 libraries are right (but not necessarily).  If not, one of the libraries
-is probably wrong.
+is probably wrong.  It might not be the GNU library.  Many historical
+Unix C libraries permit things that we don't, such as closing a file
+twice.
+
+If you think you have found some way in which the GNU C library does not
+conform to the ISO and POSIX standards (@pxref{Standards and
+Portability}), that is definitely a bug.  Report it!
 
 Once you're sure you've found a bug, try to narrow it down to the
 smallest test case that reproduces the problem.  In the case of a C
@@ -393,22 +476,14 @@ library, you really only need to narrow it down to one library
 function call, if possible.  This should not be too difficult.
 
 The final step when you have a simple test case is to report the bug.
-When reporting a bug, send your test case, the results you got, the
-results you expected, what you think the problem might be (if you've
-thought of anything), your system type, and the version of the GNU C
-library which you are using.  Also include the files
-@file{config.status} and @file{config.make} which are created by running
-@file{configure}; they will be in whatever directory was current when
-you ran @file{configure}.
-
-If you think you have found some way in which the GNU C library does not
-conform to the ISO and POSIX standards (@pxref{Standards and
-Portability}), that is definitely a bug.  Report it!@refill
-
-Send bug reports to the Internet address @email{bug-glibc@@gnu.org}
-using the @code{glibcbug} script which is installed by the GNU C
-library.  If you have other problems with installation or use, please
-report those as well.@refill
+Do this using the @code{glibcbug} script.  It is installed with libc, or
+if you haven't installed it, will be in your build directory.  Send your
+test case, the results you got, the results you expected, and what you
+think the problem might be (if you've thought of anything).
+@code{glibcbug} will insert the configuration information we need to
+see, and ship the report off to @email{bug-glibc@@gnu.org}.  Don't send
+a message there directly; it is fed to a program that expects mail to be
+formatted in a particular way.  Use the script.
 
 If you are not sure how a function should behave, and this manual
 doesn't tell you, that's a bug in the manual.  Report that too!  If the
diff --git a/manual/libc.texinfo b/manual/libc.texinfo
index b9d3d7a6d9..0beec66fd6 100644
--- a/manual/libc.texinfo
+++ b/manual/libc.texinfo
@@ -5,7 +5,7 @@
 @setchapternewpage odd
 
 @comment Tell install-info what to do.
-@dircategory GNU libraries:
+@dircategory GNU libraries
 @direntry
 * Libc: (libc).                 C library.
 @end direntry
diff --git a/math/bits/cmathcalls.h b/math/bits/cmathcalls.h
index ca0dfe1b9c..f063042b09 100644
--- a/math/bits/cmathcalls.h
+++ b/math/bits/cmathcalls.h
@@ -1,6 +1,6 @@
 /* Prototype declarations for complex math functions;
    helper file for <complex.h>.
-   Copyright (C) 1997 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -45,7 +45,7 @@
 #error "Never use <bits/cmathcalls.h> directly; include <complex.h> instead."
 #endif
 
-#define _Mdouble_complex_ _Mdouble_ complex
+#define _Mdouble_complex_ _Mdouble_ _Complex
 
 
 /* Trigonometric functions.  */
diff --git a/math/complex.h b/math/complex.h
index 72b1e597fc..7ed9890e12 100644
--- a/math/complex.h
+++ b/math/complex.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,13 +25,16 @@
 
 #include <features.h>
 
+/* Get general and ISO C 9X specific information.  */
+#include <bits/mathdef.h>
+
 __BEGIN_DECLS
 
 /* We might need to add support for more compilers here.  But once ISO
    C 9X is out hopefully all maintained compilers will provide the data
    types `float complex' and `double complex'.  */
 #if (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) || __GNUC__ > 2
-# define complex __complex__
+# define _Complex __complex__
 #endif
 
 
@@ -74,13 +77,13 @@ __BEGIN_DECLS
 
 /* Now the float versions.  */
 #ifndef _Mfloat_
-#define _Mfloat_		float
+# define _Mfloat_		float
 #endif
 #define _Mdouble_ 		_Mfloat_
 #ifdef __STDC__
-#define __MATH_PRECNAME(name)	name##f
+# define __MATH_PRECNAME(name)	name##f
 #else
-#define __MATH_PRECNAME(name)	name/**/f
+# define __MATH_PRECNAME(name)	name/**/f
 #endif
 #include <bits/cmathcalls.h>
 #undef	_Mdouble_
@@ -88,16 +91,18 @@ __BEGIN_DECLS
 
 /* And the long double versions.  It is non-critical to define them
    here unconditionally since `long double' is required in ISO C 9X.  */
-#ifndef _Mlong_double_
-#define _Mlong_double_		long double
+#if __STDC__ - 0 || __GNUC__ - 0 && !defined __NO_LONG_DOUBLE_MATH
+# ifndef _Mlong_double_
+#  define _Mlong_double_	long double
+# endif
+# define _Mdouble_ 		_Mlong_double_
+# ifdef __STDC__
+#  define __MATH_PRECNAME(name)	name##l
+# else
+#  define __MATH_PRECNAME(name)	name/**/l
+# endif
+# include <bits/cmathcalls.h>
 #endif
-#define _Mdouble_ 		_Mlong_double_
-#ifdef __STDC__
-#define __MATH_PRECNAME(name)	name##l
-#else
-#define __MATH_PRECNAME(name)	name/**/l
-#endif
-#include <bits/cmathcalls.h>
 #undef	_Mdouble_
 #undef	__MATH_PRECNAME
 #undef	__MATHDECL_1