Previously uncontrolled files put into CVS.
authorroland <roland>
Sat, 18 Feb 1995 00:00:46 +0000 (00:00 +0000)
committerroland <roland>
Sat, 18 Feb 1995 00:00:46 +0000 (00:00 +0000)
INSTALL [new file with mode: 0644]
NEWS [new file with mode: 0644]
NOTES [new file with mode: 0644]
README [new file with mode: 0644]
configure [new file with mode: 0755]

diff --git a/INSTALL b/INSTALL
new file mode 100644 (file)
index 0000000..1476bd8
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,832 @@
+Library Maintenance
+*******************
+
+How to Install the GNU C Library
+================================
+
+   Installation of the GNU C library is relatively simple.
+
+   You need the latest version of GNU `make'.  Modifying the GNU C
+Library to work with other `make' programs would be so hard that we
+recommend you port GNU `make' instead.  *Really.*
+
+   To configure the GNU C library for your system, run the shell script
+`configure' with `sh'.  Use an argument which is the conventional GNU
+name for your system configuration--for example, `sparc-sun-sunos4.1',
+for a Sun 4 running Sunos 4.1.  *Note Installation:
+(gcc.info)Installation, for a full description of standard GNU
+configuration names.  If you omit the configuration name, `configure'
+will try to guess one for you by inspecting the system it is running
+on.  It may or may not be able to come up with a guess, and the its
+guess might be wrong.  `configure' will tell you the canonical name of
+the chosen configuration before proceeding.
+
+   The GNU C Library currently supports configurations that match the
+following patterns:
+
+     alpha-dec-osf1
+     i386-ANYTHING-bsd4.3
+     i386-ANYTHING-gnu
+     i386-ANYTHING-isc2.2
+     i386-ANYTHING-isc3.N
+     i386-ANYTHING-sco3.2
+     i386-ANYTHING-sco3.2v4
+     i386-ANYTHING-sysv
+     i386-ANYTHING-sysv4
+     i386-force_cpu386-none
+     i386-sequent-bsd
+     i960-nindy960-none
+     m68k-hp-bsd4.3
+     m68k-mvme135-none
+     m68k-mvme136-none
+     m68k-sony-newsos3
+     m68k-sony-newsos4
+     m68k-sun-sunos4.N
+     mips-dec-ultrix4.N
+     mips-sgi-irix4.N
+     sparc-sun-solaris2.N
+     sparc-sun-sunos4.N
+
+   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
+     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
+
+   Here are some options that you should specify (if appropriate) when
+you run `configure':
+
+`--with-gnu-ld'
+     Use this option if you plan to use GNU `ld' to link programs with
+     the GNU C Library.  (We strongly recommend that you do.)  This
+     option enables use of features that exist only in GNU `ld'; so if
+     you configure for GNU `ld' you must use GNU `ld' *every time* you
+     link with the GNU C Library, and when building it.
+
+`--with-gnu-as'
+     Use this option if you plan to use the GNU assembler, `gas', when
+     building the GNU C Library.  On some systems, the library may not
+     build properly if you do *not* use `gas'.
+
+`--nfp'
+     Use this option if your computer lacks hardware floating point
+     support.
+
+`--prefix=DIRECTORY'
+     Install machine-independent data files in subdirectories of
+     `DIRECTORY'.  (You can also set this in `configparms'; see below.)
+
+`--exec-prefix=DIRECTORY'
+     Install the library and other machine-dependent files in
+     subdirectories of `DIRECTORY'.  (You can also set this in
+     `configparms'; see below.)
+
+   The simplest way to run `configure' is to do it in the directory
+that contains the library sources.  This prepares to build the library
+in that very directory.
+
+   You can prepare to build the library in some other directory by going
+to that other directory to run `configure'.  In order to run configure,
+you will have to specify a directory for it, like this:
+
+     mkdir sun4
+     cd sun4
+     ../configure sparc-sun-sunos4.1
+
+`configure' looks for the sources in whatever directory you specified
+for finding `configure' itself.  It does not matter where in the file
+system the source and build directories are--as long as you specify the
+source directory when you run `configure', you will get the proper
+results.
+
+   This feature lets you keep sources and binaries in different
+directories, and that makes it easy to build the library for several
+different machines from the same set of sources.  Simply create a build
+directory for each target machine, and run `configure' in that
+directory specifying the target machine's configuration name.
+
+   The library has a number of special-purpose configuration parameters.
+These are defined in the file `Makeconfig'; see the comments in that
+file for the details.
+
+   But don't edit the file `Makeconfig' yourself--instead, create a
+file `configparms' in the directory where you are building the library,
+and define in that file the parameters you want to specify.
+`configparms' should *not* be an edited copy of `Makeconfig'; specify
+only the parameters that you want to override.  To see how to set these
+parameters, find the section of `Makeconfig' that says "These are the
+configuration variables." Then for each parameter that you want to
+change, copy the definition from `Makeconfig' to your new `configparms'
+file, and change the value as appropriate for your system.
+
+   It is easy to configure the GNU C library for cross-compilation by
+setting a few variables in `configparms'.  Set `CC' to the
+cross-compiler for the target you configured the library for; it is
+important to use this same `CC' value when running `configure', like
+this: `CC=TARGET-gcc configure TARGET'.  Set `BUILD_CC' to the compiler
+to use for for programs run on the build system as part of compiling
+the library.  You may need to set `AR' and `RANLIB' to cross-compiling
+versions of `ar' and `ranlib' if the native tools are not configured to
+work with object files for the target you configured for.
+
+   Some of the machine-dependent code for some machines uses extensions
+in the GNU C compiler, so you may need to compile the library with GCC.
+(In fact, all of the existing complete ports require GCC.)
+
+   The current release of the C library contains some header files that
+the compiler normally provides: `stddef.h', `stdarg.h', and several
+files with names of the form `va-MACHINE.h'.  The versions of these
+files that came with older releases of GCC do not work properly with
+the GNU C library.  The `stddef.h' file in release 2.2 and later of GCC
+is correct.  If you have release 2.2 or later of GCC, use its version
+of `stddef.h' instead of the C library's.  To do this, put the line
+`override stddef.h =' in `configparms'.  The other files are corrected
+in release 2.3 and later of GCC.  `configure' will automatically detect
+whether the installed `stdarg.h' and `va-MACHINE.h' files are
+compatible with the C library, and use its own if not.
+
+   There is a potential problem with the `size_t' type and versions of
+GCC prior to release 2.4.  ANSI C requires that `size_t' always be an
+unsigned type.  For compatibility with existing systems' header files,
+GCC defines `size_t' in `stddef.h' to be whatever type the system's
+`sys/types.h' defines it to be.  Most Unix systems that define `size_t'
+in `sys/types.h', define it to be a signed type.  Some code in the
+library depends on `size_t' being an unsigned type, and will not work
+correctly if it is signed.
+
+   The GNU C library code which expects `size_t' to be unsigned is
+correct.  The definition of `size_t' as a signed type is incorrect.
+Versions 2.4 and later of GCC always define `size_t' as an unsigned
+type, and GCC's `fixincludes' script massages the system's
+`sys/types.h' so as not to conflict with this.
+
+   In the meantime, we work around this problem by telling GCC
+explicitly to use an unsigned type for `size_t' when compiling the GNU C
+library.  `configure' will automatically detect what type GCC uses for
+`size_t' arrange to override it if necessary.
+
+   To build the library, type `make lib'.  This will produce a lot of
+output, some of which looks like errors from `make' (but isn't).  Look
+for error messages from `make' containing `***'.  Those indicate that
+something is really wrong.
+
+   To build and run some test programs which exercise some of the
+library facilities, type `make tests'.  This will produce several files
+with names like `PROGRAM.out'.
+
+   To format the `GNU C Library Reference Manual' for printing, type
+`make dvi'.  To format the Info version of the manual for on line
+reading with `C-h i' in Emacs or with the `info' program, type
+`make info'.
+
+   To install the library and its header files, and the Info files of
+the manual, type `make install', after setting the installation
+directories in `configparms'.  This will build things if necessary,
+before installing them.
+
+Reporting Bugs
+==============
+
+   There are probably bugs in the GNU C library.  There are certainly
+errors and omissions in this manual.  If you report them, they will get
+fixed.  If you don't, no one will ever know about them and they will
+remain unfixed for all eternity, if not longer.
+
+   To report a bug, first you must find it.  Hopefully, this will be the
+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.
+
+   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
+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 ANSI and POSIX standards (*note Standards and
+Portability::.), that is definitely a bug.  Report it!
+
+   Send bug reports to the Internet address `bug-glibc@prep.ai.mit.edu'
+or the UUCP path `mit-eddie!prep.ai.mit.edu!bug-glibc'.  If you have
+other problems with installation or use, please report those as well.
+
+   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
+function's behavior disagrees with the manual, then either the library
+or the manual has a bug, so report the disagreement.  If you find any
+errors or omissions in this manual, please report them to the Internet
+address `bug-glibc-manual@prep.ai.mit.edu' or the UUCP path
+`mit-eddie!prep.ai.mit.edu!bug-glibc-manual'.
+
+Adding New Functions
+====================
+
+   The process of building the library is driven by the makefiles, which
+make heavy use of special features of GNU `make'.  The makefiles are
+very complex, and you probably don't want to try to understand them.
+But what they do is fairly straightforward, and only requires that you
+define a few variables in the right places.
+
+   The library sources are divided into subdirectories, grouped by
+topic.  The `string' subdirectory has all the string-manipulation
+functions, `stdio' has all the standard I/O functions, etc.
+
+   Each subdirectory contains a simple makefile, called `Makefile',
+which defines a few `make' variables and then includes the global
+makefile `Rules' with a line like:
+
+     include ../Rules
+
+The basic variables that a subdirectory makefile defines are:
+
+`subdir'
+     The name of the subdirectory, for example `stdio'.  This variable
+     *must* be defined.
+
+`headers'
+     The names of the header files in this section of the library, such
+     as `stdio.h'.
+
+`routines'
+`aux'
+     The names of the modules (source files) in this section of the
+     library.  These should be simple names, such as `strlen' (rather
+     than complete file names, such as `strlen.c').  Use `routines' for
+     modules that define functions in the library, and `aux' for
+     auxiliary modules containing things like data definitions.  But the
+     values of `routines' and `aux' are just concatenated, so there
+     really is no practical difference.
+
+`tests'
+     The names of test programs for this section of the library.  These
+     should be simple names, such as `tester' (rather than complete file
+     names, such as `tester.c').  `make tests' will build and run all
+     the test programs.  If a test program needs input, put the test
+     data in a file called `TEST-PROGRAM.input'; it will be given to
+     the test program on its standard input.  If a test program wants
+     to be run with arguments, put the arguments (all on a single line)
+     in a file called `TEST-PROGRAM.args'.
+
+`others'
+     The names of "other" programs associated with this section of the
+     library.  These are programs which are not tests per se, but are
+     other small programs included with the library.  They are built by
+     `make others'.
+
+`install-lib'
+`install-data'
+`install'
+     Files to be installed by `make install'.  Files listed in
+     `install-lib' are installed in the directory specified by `libdir'
+     in `configparms' or `Makeconfig' (*note Installation::.).  Files
+     listed in `install-data' are installed in the directory specified
+     by `datadir' in `configparms' or `Makeconfig'.  Files listed in
+     `install' are installed in the directory specified by `bindir' in
+     `configparms' or `Makeconfig'.
+
+`distribute'
+     Other files from this subdirectory which should be put into a
+     distribution tar file.  You need not list here the makefile itself
+     or the source and header files listed in the other standard
+     variables.  Only define `distribute' if there are files used in an
+     unusual way that should go into the distribution.
+
+`generated'
+     Files which are generated by `Makefile' in this subdirectory.
+     These files will be removed by `make clean', and they will never
+     go into a distribution.
+
+`extra-objs'
+     Extra object files which are built by `Makefile' in this
+     subdirectory.  This should be a list of file names like `foo.o';
+     the files will actually be found in whatever directory object
+     files are being built in.  These files will be removed by
+     `make clean'.  This variable is used for secondary object files
+     needed to build `others' or `tests'.
+
+Porting the GNU C Library
+=========================
+
+   The GNU C library is written to be easily portable to a variety of
+machines and operating systems.  Machine- and operating system-dependent
+functions are well separated to make it easy to add implementations for
+new machines or operating systems.  This section describes the layout of
+the library source tree and explains the mechanisms used to select
+machine-dependent code to use.
+
+   All the machine-dependent and operating system-dependent files in the
+library are in the subdirectory `sysdeps' under the top-level library
+source directory.  This directory contains a hierarchy of
+subdirectories (*note Hierarchy Conventions::.).
+
+   Each subdirectory of `sysdeps' contains source files for a
+particular machine or operating system, or for a class of machine or
+operating system (for example, systems by a particular vendor, or all
+machines that use IEEE 754 floating-point format).  A configuration
+specifies an ordered list of these subdirectories.  Each subdirectory
+implicitly appends its parent directory to the list.  For example,
+specifying the list `unix/bsd/vax' is equivalent to specifying the list
+`unix/bsd/vax unix/bsd unix'.  A subdirectory can also specify that it
+implies other subdirectories which are not directly above it in the
+directory hierarchy.  If the file `Implies' exists in a subdirectory,
+it lists other subdirectories of `sysdeps' which are appended to the
+list, appearing after the subdirectory containing the `Implies' file.
+Lines in an `Implies' file that begin with a `#' character are ignored
+as comments.  For example, `unix/bsd/Implies' contains:
+     # BSD has Internet-related things.
+     unix/inet
+
+and `unix/Implies' contains:
+     posix
+
+So the final list is `unix/bsd/vax unix/bsd unix/inet unix posix'.
+
+   `sysdeps' has two "special" subdirectories, called `generic' and
+`stub'.  These two are always implicitly appended to the list of
+subdirectories (in that order), so you needn't put them in an `Implies'
+file, and you should not create any subdirectories under them.
+`generic' is for things that can be implemented in machine-independent
+C, using only other machine-independent functions in the C library.
+`stub' is for "stub" versions of functions which cannot be implemented
+on a particular machine or operating system.  The stub functions always
+return an error, and set `errno' to `ENOSYS' (Function not
+implemented).  *Note Error Reporting::.
+
+   A source file is known to be system-dependent by its having a
+version in `generic' or `stub'; every system-dependent function should
+have either a generic or stub implementation (there is no point in
+having both).
+
+   If you come across a file that is in one of the main source
+directories (`string', `stdio', etc.), and you want to write a machine-
+or operating system-dependent version of it, move the file into
+`sysdeps/generic' and write your new implementation in the appropriate
+system-specific subdirectory.  Note that if a file is to be
+system-dependent, it *must not* appear in one of the main source
+directories.
+
+   There are a few special files that may exist in each subdirectory of
+`sysdeps':
+
+`Makefile'
+     A makefile for this machine or operating system, or class of
+     machine or operating system.  This file is included by the library
+     makefile `Makerules', which is used by the top-level makefile and
+     the subdirectory makefiles.  It can change the variables set in the
+     including makefile or add new rules.  It can use GNU `make'
+     conditional directives based on the variable `subdir' (see above)
+     to select different sets of variables and rules for different
+     sections of the library.  It can also set the `make' variable
+     `sysdep-routines', to specify extra modules to be included in the
+     library.  You should use `sysdep-routines' rather than adding
+     modules to `routines' because the latter is used in determining
+     what to distribute for each subdirectory of the main source tree.
+
+     Each makefile in a subdirectory in the ordered list of
+     subdirectories to be searched is included in order.  Since several
+     system-dependent makefiles may be included, each should append to
+     `sysdep-routines' rather than simply setting it:
+
+          sysdep-routines := $(sysdep-routines) foo bar
+
+`Subdirs'
+     This file contains the names of new whole subdirectories under the
+     top-level library source tree that should be included for this
+     system.  These subdirectories are treated just like the
+     system-independent subdirectories in the library source tree, such
+     as `stdio' and `math'.
+
+     Use this when there are completely new sets of functions and header
+     files that should go into the library for the system this
+     subdirectory of `sysdeps' implements.  For example,
+     `sysdeps/unix/inet/Subdirs' contains `inet'; the `inet' directory
+     contains various network-oriented operations which only make sense
+     to put in the library on systems that support the Internet.
+
+`Dist'
+     This file contains the names of files (relative to the
+     subdirectory of `sysdeps' in which it appears) which should be
+     included in the distribution.  List any new files used by rules in
+     the `Makefile' in the same directory, or header files used by the
+     source files in that directory.  You don't need to list files that
+     are implementations (either C or assembly source) of routines
+     whose names are given in the machine-independent makefiles in the
+     main source tree.
+
+`configure'
+     This file is a shell script fragment to be run at configuration
+     time.  The top-level `configure' script uses the shell `.' command
+     to read the `configure' file in each system-dependent directory
+     chosen, in order.  The `configure' files are often generated from
+     `configure.in' files using Autoconf.
+
+     A system-dependent `configure' script will usually add things to
+     the shell variables `DEFS' and `config_vars'; see the top-level
+     `configure' script for details.  The script can check for
+     `--with-PACKAGE' options that were passed to the top-level
+     `configure'.  For an option `--with-PACKAGE=VALUE' `configure'
+     sets the shell variable `with_PACKAGE' (with any dashes in PACKAGE
+     converted to underscores) to VALUE; if the option is just
+     `--with-PACKAGE' (no argument), then it sets `with_PACKAGE' to
+     `yes'.
+
+`configure.in'
+     This file is an Autoconf input fragment to be processed into the
+     file `configure' in this subdirectory.  *Note Introduction:
+     (autoconf.info)Introduction, for a description of Autoconf.  You
+     should write either `configure' or `configure.in', but not both.
+     The first line of `configure.in' should invoke the `m4' macro
+     `GLIBC_PROVIDES'.  This macro does several `AC_PROVIDE' calls for
+     Autoconf macros which are used by the top-level `configure'
+     script; without this, those macros might be invoked again
+     unnecessarily by Autoconf.
+
+   That is the general system for how system-dependencies are isolated.
+
+Layout of the `sysdeps' Directory Hierarchy
+-------------------------------------------
+
+   A GNU configuration name has three parts: the CPU type, the
+manufacturer's name, and the operating system.  `configure' uses these
+to pick the list of system-dependent directories to look for.  If the
+`--nfp' option is *not* passed to `configure', the directory
+`MACHINE/fpu' is also used.  The operating system often has a "base
+operating system"; for example, if the operating system is `sunos4.1',
+the base operating system is `unix/bsd'.  The algorithm used to pick
+the list of directories is simple: `configure' makes a list of the base
+operating system, manufacturer, CPU type, and operating system, in that
+order.  It then concatenates all these together with slashes in
+between, to produce a directory name; for example, the configuration
+`sparc-sun-sunos4.1' results in `unix/bsd/sun/sparc/sunos4.1'.
+`configure' then tries removing each element of the list in turn, so
+`unix/bsd/sparc' and `sun/sparc' are also tried, among others.  Since
+the precise version number of the operating system is often not
+important, and it would be very inconvenient, for example, to have
+identical `sunos4.1.1' and `sunos4.1.2' directories, `configure' tries
+successively less specific operating system names by removing trailing
+suffixes starting with a period.
+
+   As an example, here is the complete list of directories that would be
+tried for the configuration `sparc-sun-sunos4.1' (without the `--nfp'
+option):
+
+     sparc/fpu
+     unix/bsd/sun/sunos4.1/sparc
+     unix/bsd/sun/sunos4.1
+     unix/bsd/sun/sunos4/sparc
+     unix/bsd/sun/sunos4
+     unix/bsd/sun/sunos/sparc
+     unix/bsd/sun/sunos
+     unix/bsd/sun/sparc
+     unix/bsd/sun
+     unix/bsd/sunos4.1/sparc
+     unix/bsd/sunos4.1
+     unix/bsd/sunos4/sparc
+     unix/bsd/sunos4
+     unix/bsd/sunos/sparc
+     unix/bsd/sunos
+     unix/bsd/sparc
+     unix/bsd
+     unix/sun/sunos4.1/sparc
+     unix/sun/sunos4.1
+     unix/sun/sunos4/sparc
+     unix/sun/sunos4
+     unix/sun/sunos/sparc
+     unix/sun/sunos
+     unix/sun/sparc
+     unix/sun
+     unix/sunos4.1/sparc
+     unix/sunos4.1
+     unix/sunos4/sparc
+     unix/sunos4
+     unix/sunos/sparc
+     unix/sunos
+     unix/sparc
+     unix
+     sun/sunos4.1/sparc
+     sun/sunos4.1
+     sun/sunos4/sparc
+     sun/sunos4
+     sun/sunos/sparc
+     sun/sunos
+     sun/sparc
+     sun
+     sunos4.1/sparc
+     sunos4.1
+     sunos4/sparc
+     sunos4
+     sunos/sparc
+     sunos
+     sparc
+
+   Different machine architectures are conventionally subdirectories at
+the top level of the `sysdeps' directory tree.  For example,
+`sysdeps/sparc' and `sysdeps/m68k'.  These contain files specific to
+those machine architectures, but not specific to any particular
+operating system.  There might be subdirectories for specializations of
+those architectures, such as `sysdeps/m68k/68020'. Code which is
+specific to the floating-point coprocessor used with a particular
+machine should go in `sysdeps/MACHINE/fpu'.
+
+   There are a few directories at the top level of the `sysdeps'
+hierarchy that are not for particular machine architectures.
+
+`generic'
+`stub'
+     As described above (*note Porting::.), these are the two
+     subdirectories that every configuration implicitly uses after all
+     others.
+
+`ieee754'
+     This directory is for code using the IEEE 754 floating-point
+     format, where the C type `float' is IEEE 754 single-precision
+     format, and `double' is IEEE 754 double-precision format.  Usually
+     this directory is referred to in the `Implies' file in a machine
+     architecture-specific directory, such as `m68k/Implies'.
+
+`posix'
+     This directory contains implementations of things in the library in
+     terms of POSIX.1 functions.  This includes some of the POSIX.1
+     functions themselves.  Of course, POSIX.1 cannot be completely
+     implemented in terms of itself, so a configuration using just
+     `posix' cannot be complete.
+
+`unix'
+     This is the directory for Unix-like things.  *Note Porting to
+     Unix::.  `unix' implies `posix'.  There are some special-purpose
+     subdirectories of `unix':
+
+    `unix/common'
+          This directory is for things common to both BSD and System V
+          release 4.  Both `unix/bsd' and `unix/sysv/sysv4' imply
+          `unix/common'.
+
+    `unix/inet'
+          This directory is for `socket' and related functions on Unix
+          systems.  The `inet' top-level subdirectory is enabled by
+          `unix/inet/Subdirs'.  `unix/common' implies `unix/inet'.
+
+`mach'
+     This is the directory for things based on the Mach microkernel
+     from CMU (including the GNU operating system).  Other basic
+     operating systems (VMS, for example) would have their own
+     directories at the top level of the `sysdeps' hierarchy, parallel
+     to `unix' and `mach'.
+
+Porting the GNU C Library to Unix Systems
+-----------------------------------------
+
+   Most Unix systems are fundamentally very similar.  There are
+variations between different machines, and variations in what
+facilities are provided by the kernel.  But the interface to the
+operating system facilities is, for the most part, pretty uniform and
+simple.
+
+   The code for Unix systems is in the directory `unix', at the top
+level of the `sysdeps' hierarchy.  This directory contains
+subdirectories (and subdirectory trees) for various Unix variants.
+
+   The functions which are system calls in most Unix systems are
+implemented in assembly code in files in `sysdeps/unix'.  These files
+are named with a suffix of `.S'; for example, `__open.S'.  Files ending
+in `.S' are run through the C preprocessor before being fed to the
+assembler.
+
+   These files all use a set of macros that should be defined in
+`sysdep.h'.  The `sysdep.h' file in `sysdeps/unix' partially defines
+them; a `sysdep.h' file in another directory must finish defining them
+for the particular machine and operating system variant.  See
+`sysdeps/unix/sysdep.h' and the machine-specific `sysdep.h'
+implementations to see what these macros are and what they should do.
+
+   The system-specific makefile for the `unix' directory (that is, the
+file `sysdeps/unix/Makefile') gives rules to generate several files
+from the Unix system you are building the library on (which is assumed
+to be the target system you are building the library *for*).  All the
+generated files are put in the directory where the object files are
+kept; they should not affect the source tree itself.  The files
+generated are `ioctls.h', `errnos.h', `sys/param.h', and `errlist.c'
+(for the `stdio' section of the library).
+
+Contributors to the GNU C Library
+=================================
+
+   The GNU C library was written almost entirely by Roland McGrath, who
+now maintains it.  Some parts of the library were contributed or worked
+on by other people.
+
+   * The `getopt' function and related code were written by Richard
+     Stallman, David J. MacKenzie, and Roland McGrath.
+
+   * Most of the math functions are taken from 4.4 BSD; they have been
+     modified only slightly to work with the GNU C library.  The
+     Internet-related code (most of the `inet' subdirectory) and several
+     other miscellaneous functions and header files have been included
+     with little or no modification.
+
+     All code incorporated from 4.4 BSD is under the following
+     copyright:
+
+               Copyright (C) 1991 Regents of the University of California.
+               All rights reserved.
+
+          Redistribution and use in source and binary forms, with or
+          without modification, are permitted provided that the
+          following conditions are met:
+
+            1. Redistributions of source code must retain the above
+               copyright notice, this list of conditions and the
+               following disclaimer.
+
+            2. Redistributions in binary form must reproduce the above
+               copyright notice, this list of conditions and the
+               following disclaimer in the documentation and/or other
+               materials provided with the distribution.
+
+            3. All advertising materials mentioning features or use of
+               this software must display the following acknowledgement:
+                    This product includes software developed by the
+                    University of California, Berkeley and its
+                    contributors.
+
+            4. Neither the name of the University nor the names of its
+               contributors may be used to endorse or promote products
+               derived from this software without specific prior
+               written permission.
+
+          THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS
+          IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+          LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+          FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT
+          SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+          INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+          DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+          SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+          OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+          LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+          (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
+          THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
+          OF SUCH DAMAGE.
+
+   * The random number generation functions `random', `srandom',
+     `setstate' and `initstate', which are also the basis for the
+     `rand' and `srand' functions, were written by Earl T. Cohen for
+     the University of California at Berkeley and are copyrighted by the
+     Regents of the University of California.  They have undergone minor
+     changes to fit into the GNU C library and to fit the ANSI C
+     standard, but the functional code is Berkeley's.
+
+   * The merge sort function `qsort' was written by Michael J. Haertel.
+
+   * The quick sort function used as a fallback by `qsort' was written
+     by Douglas C. Schmidt.
+
+   * The memory allocation functions `malloc', `realloc' and `free' and
+     related code were written by Michael J. Haertel.
+
+   * Fast implementations of many of the string functions (`memcpy',
+     `strlen', etc.) were written by Torbjorn Granlund.
+
+   * Some of the support code for Mach is taken from Mach 3.0 by CMU,
+     and is under the following copyright terms:
+
+               Mach Operating System
+               Copyright (C) 1991,1990,1989 Carnegie Mellon University
+               All Rights Reserved.
+
+          Permission to use, copy, modify and distribute this software
+          and its documentation is hereby granted, provided that both
+          the copyright notice and this permission notice appear in all
+          copies of the software, derivative works or modified
+          versions, and any portions thereof, and that both notices
+          appear in supporting documentation.
+
+          CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS
+          IS" CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF
+          ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF
+          THIS SOFTWARE.
+
+          Carnegie Mellon requests users of this software to return to
+
+                Software Distribution Coordinator
+                School of Computer Science
+                Carnegie Mellon University
+                Pittsburgh PA 15213-3890
+
+          or `Software.Distribution@CS.CMU.EDU' any improvements or
+          extensions that they make and grant Carnegie Mellon the
+          rights to redistribute these changes.
+
+   * The `tar.h' header file was written by David J. MacKenzie.
+
+   * The port to the MIPS DECStation running Ultrix 4
+     (`mips-dec-ultrix4') was contributed by Brendan Kehoe and Ian
+     Lance Taylor.
+
+   * The DES encryption function `crypt' and related functions were
+     contributed by Michael Glad.
+
+   * The `ftw' function was contributed by Ian Lance Taylor.
+
+   * The code to support SunOS shared libraries was contributed by Tom
+     Quinn.
+
+   * The `mktime' function was contributed by Noel Cragg.
+
+   * The port to the Sequent Symmetry running Dynix version 3
+     (`i386-sequent-bsd') was contributed by Jason Merrill.
+
+   * The timezone support code is derived from the public-domain
+     timezone package by Arthur David Olson.
+
+   * The Internet resolver code is taken directly from BIND 4.9.1,
+     which is under both the Berkeley copyright above and also:
+
+          Portions Copyright (C) 1993 by Digital Equipment Corporation.
+
+          Permission to use, copy, modify, and distribute this software
+          for any purpose with or without fee is hereby granted,
+          provided that the above copyright notice and this permission
+          notice appear in all copies, and that the name of Digital
+          Equipment Corporation not be used in advertising or publicity
+          pertaining to distribution of the document or software
+          without specific, written prior permission.
+
+          THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP.
+          DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+          INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+          FITNESS.  IN NO EVENT SHALL DIGITAL EQUIPMENT CORPORATION BE
+          LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+          DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+          DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+          OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
+          WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
+   * The port to the DEC Alpha running OSF/1 (`alpha-dec-osf1') was
+     contributed by Brendan Kehoe, using some code written by Roland
+     McGrath.
+
+   * The floating-point printing function used by `printf' and friends
+     was written by Roland McGrath and Torbjorn Granlund.  The
+     multi-precision integer functions used in that function are taken
+     from GNU MP, which was contributed by Torbjorn Granlund.
+
+   * The code to support Sun RPC is taken verbatim from Sun's
+     RPCSRC-4.0 distribution, and is covered by this copyright:
+
+               Copyright (C) 1984, Sun Microsystems, Inc.
+
+          Sun RPC is a product of Sun Microsystems, Inc. and is
+          provided for unrestricted use provided that this legend is
+          included on all tape media and as a part of the software
+          program in whole or part.  Users may copy or modify Sun RPC
+          without charge, but are not authorized to license or
+          distribute it to anyone else except as part of a product or
+          program developed by the user.
+
+          SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND
+          INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND
+          FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF
+          DEALING, USAGE OR TRADE PRACTICE.
+
+          Sun RPC is provided with no support and without any
+          obligation on the part of Sun Microsystems, Inc. to assist in
+          its use, correction, modification or enhancement.
+
+          SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT
+          TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY
+          PATENTS BY SUN RPC OR ANY PART THEREOF.
+
+          In no event will Sun Microsystems, Inc. be liable for any
+          lost revenue or profits or other special, indirect and
+          consequential damages, even if Sun has been advised of the
+          possibility of such damages.
+
+               Sun Microsystems, Inc.
+               2550 Garcia Avenue
+               Mountain View, California  94043
+
+   * The port to SGI machines running Irix 4 (`mips-sgi-irix4') was
+     contributed by Tom Quinn.
+
+   * The port of the Mach and Hurd code to the MIPS architecture
+     (`mips-ANYTHING-gnu') was contribued by Kazumoto Kojima.
+
diff --git a/NEWS b/NEWS
new file mode 100644 (file)
index 0000000..21f0db5
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,323 @@
+GNU C Library NEWS -- history of user-visible changes.  26 January 1995
+
+Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+See the end for copying conditions.
+
+Please send GNU C library bug reports to bug-glibc@prep.ai.mit.edu.
+\f
+Version 1.10
+
+* The library has changed from using GNU ld symbol aliases to using weak
+  symbols where available.  The ELF object file format supports weak
+  symbols; GNU ld also supports weak symbols in the a.out format.  (There
+  is also now support for other GNU ld extensions in ELF.  Use the
+  `--with-elf' option to configure to indicate you have elf, and
+  `--with-gnu-ld' if using GNU ld.)  This changed resulted in the deletion
+  of many files which contained only symbol aliases, reducing the size of
+  the source and the compiled library; many other files were renamed to
+  less cryptic names previously occupied by the symbol alias files.
+
+* The pgrp functions have been regularized, slightly incompatibly but much
+  less confusingly.  The core functions are now `getpgid' and `setpgid',
+  which take arguments for the PID to operate on; the POSIX.1 `getpgrp' (no
+  argument) and BSD `setpgrp' (identical to `setpgid') functions are
+  provided for compatibility.  There is no longer an incompatible `getpgrp'
+  with an argument declared under _BSD_SOURCE; no BSD code uses it.
+
+* The new header file <fts.h> and suite of functions simplify programs that
+  operate on directory trees.  This code comes from 4.4 BSD.
+
+* Converted to Autoconf version 2, so `configure' has more options.
+  Run `configure --help' to see the details.
+
+* The resolver code has been updated from the BIND-4.9.3-BETA14 release.
+
+* The new function `malloc_find_object_address' finds the starting address
+  of a malloc'd block, given any address within the block.  This can be
+  useful for debugging.
+
+* The new functions `strtoq' and `strtouq' parse integer values from
+  strings, like `strtol' and `strtoul', but they return `long long int' and
+  `unsigned long long int' values, respectively (64-bit quantities).
+
+* There is a new malloc debugging hook `__memalign_hook'.
+
+* There are new typedefs `ushort' for `unsigned short int' and `uint' for
+  `unsigned int' in <sys/types.h>.  These are for compatibility only and
+  their use is discouraged.
+
+* The `-lmcheck' library to enable standard malloc debugging hooks is now
+  done differently, so that it works even without GNU ld.
+\f
+Version 1.09
+
+* For cross-compilation you should now set `BUILD_CC' instead of `HOST_CC'.
+
+* New header file <fstab.h> and new functions `getfsspec', `getfsent' and
+  friends, for parsing /etc/fstab.  This code comes from 4.4 BSD.
+
+* The new function `daemon' from 4.4 BSD is useful for server programs that
+  want to put themselves in the background.
+
+* Joel Sherrill has contributed support for several standalone boards that
+  run without an operating system.
+
+* `printf', `scanf' and friends now accept a `q' type modifier for long
+  long int as well as `ll'.  Formats using these might be `%qu' or `%lld'.
+
+* All of the code taken from BSD (notably most of the math and networking
+  routines) has been updated from the BSD 4.4-Lite release.
+
+* The resolver code has been updated from the BIND-4.9.3-BETA9 release.
+
+* The new functions `getdomainname' and `setdomainname' fetch or change the
+  YP/NIS domain name.  These are system calls which exist on systems which
+  have YP (aka NIS).
+
+* The time zone data files have been updated for the latest international
+  conventions.
+
+* The SunRPC programs `portmap' and `rpcinfo' are now installed in
+  $(sbindir) (usually /usr/local/sbin) instead of $(bindir).
+\f
+Version 1.08
+
+* The C library now includes support for Sun RPC, from Sun's free
+  RPCSRC-4.0 distribution.  The `portmap', `rpcinfo', and `rpcgen' programs
+  are included.  (There is still no support for YP.)
+
+* Tom Quinn has contributed a port of the C library to SGI machines running
+  Irix 4 (mips-sgi-irix4).
+
+* The new `lockf' function is a simplified interface to the locking
+  facilities of `fcntl', included for compatibility.
+
+* New time functions `timegm', `timelocal', and `dysize' for compatibility.
+
+* New header file <sys/timeb.h> and new function `ftime' for compatibility.
+
+* New header files <poll.h> and <sys/poll.h> and new function `poll' for
+  compatibility.
+
+* The error message printed by `assert' for a failed assertion now includes
+  the name of the program (if using GNU ld) and the name of the calling
+  function (with versions of GCC that support this).
+
+* The `psignal' function is now declared in <signal.h>, not <stdio.h>.
+
+* The library now includes the <sys/mman.h> header file and memory
+  management functions `mmap', `munmap', `mprotect', `msync', and
+  `madvise', on systems that support those facilities.
+
+* The interface for `mcheck' has changed slightly: the function called to
+  abort the program when an allocation inconsistency is detected now takes
+  an argument that indicates the type of failure.  The new function
+  `mprobe' lets you request a consistency check for a particular block at
+  any time (checks are normally done only when you call `free' or `realloc'
+  on a block).
+
+* It is now possible to easily cross-compile the C library, building on one
+  system a library to run on another machine and/or operating system.  All
+  you need to do is set the variable `HOST_CC' in `configparms' to the
+  native compiler for programs to run on the machine you are building on (a
+  few generator programs are used on Unix systems); set `CC' to the
+  cross-compiler.
+
+* The new function `fexecve' (only implemented on the GNU system) executes
+  a program file given a file descriptor already open on the file.
+\f
+Version 1.07
+
+* Brendan Kehoe has contributed most of a port to the DEC Alpha
+  running OSF/1 (alpha-dec-osf1).  He says it is 75% complete.
+
+* You can set the variable `libprefix' in `configparms' to specify a prefix
+  to be prepended to installed library files; this makes it easy to install
+  the GNU C library to be linked as `-lgnuc' or whatever.
+
+* The new `stpncpy' is a cross between `stpcpy' and `strncpy': It
+  copies a limited number of characters from a string, and returns the
+  address of the last character written.
+
+* You no longer need to check for whether the installed `stddef.h' is
+  compatible with the GNU C library.  configure now checks for you.
+
+* You can now define a per-stream `fileno' function to convert the
+  stream's cookie into an integral file descriptor.
+
+* ``malloc (0)'' no longer returns a null pointer.  Instead, it
+  allocates zero bytes of storage, and returns a unique pointer which
+  you can pass to `realloc' or `free'.  The behavior is undefined if
+  you dereference this pointer.
+
+* The C library now runs on Sony NEWS m68k machines running either
+  NewsOS 3 or NewsOS 4.
+
+* The new `syscall' function is a system-dependent primitive function
+  for invoking system calls.  It has the canonical behavior on Unix
+  systems, including unreliable return values for some calls (such as
+  `pipe', `fork' and `getppid').
+
+* The error code `EWOULDBLOCK' is now obsolete; it is always defined
+  to `EAGAIN', which is the preferred name.  On systems whose kernels
+  use two distinct codes, the C library now translates EWOULDBLOCK to
+  EAGAIN in every system call function.
+\f
+Version 1.06
+
+* The GNU C Library Reference Manual is now distributed with the library.
+  `make dvi' will produce a DVI file of the printed manual.
+  `make info' will produce Info files that you can read on line using C-h i
+  in Emacs or the `info' program.
+  Please send comments on the manual to bug-glibc-manual@prep.ai.mit.edu.
+
+* The library now supports SVR4 on i386s (i386-unknown-sysv4).
+
+* Brendan Kehoe has contributed a port to Sun SPARCs running Solaris 2.
+
+* Jason Merrill has contributed a port to the Sequent Symmetry running
+  Dynix version 3 (i386-sequent-dynix).
+
+* The library has been ported to i386s running SCO 3.2.4 (also known as SCO
+  ODT 2.0; i386-unknown-sco3.2.4) or SCO 3.2 (i386-unknown-sco3.2).
+
+* New function `memory_warnings' lets you arrange to get warnings when
+  malloc is running out of memory to allocate, like Emacs gives you.
+
+* The C library now contains the relocating allocator used in Emacs 19 for
+  its editing buffers.  This allocator (ralloc) minimizes allocation
+  overhead and fragmentation by moving allocated regions around whenever it
+  needs to.  You always refer to a ralloc'd region with a "handle" (a
+  pointer to a pointer--an object of type `void **').
+
+* There is a new `printf' format: `%m' gives you the string corresponding
+  to the error code in `errno'.
+
+* In `scanf' formats, you can now use `%as' or `%a[' to do the normal `%s'
+  or `%[' conversion, but instead of filling in a fixed-sized buffer you
+  pass, the `a' modifier says to fill in a `char **' you pass with a
+  malloc'd string.
+
+* The `fnmatch' function supports the new flag bits `FNM_LEADING_DIR' and
+  `FNM_CASEFOLD'.  `FNM_LEADING_DIR' lets a pattern like `foo*' match a
+  name like `foo/bar'.  `FNM_CASEFOLD' says to ignore case in matching.
+
+* `mkstemp' is a traditional Unix function to atomically create and open a
+  uniquely-named temporary file.
+\f
+Version 1.05
+
+* The standard location for the file that says what the local timezone is
+  has changed again.  It is now `/usr/local/etc/localtime' (or more
+  precisely, `${prefix}/etc/localtime') rather than `/etc/localtime'.
+
+* The distribution no longer contains any files with names longer than 14
+  characters.
+
+* `struct ttyent' has two new flag bits: TTY_TRUSTED and TTY_CONSOLE.
+  These are set by the new `trusted' and `console' keywords in `/etc/ttys'.
+
+* New functions `ttyslot' and `syslog' from 4.4 BSD.
+\f
+Version 1.04
+
+* The configuration process has changed quite a bit.  The `configure'
+  script is now used just like the configuration scripts for other GNU
+  packages.  The `sysdeps' directory hierarchy is much rearranged.
+  The file `INSTALL' explains the new scheme in detail.
+
+* The header files no longer need to be processed into ANSI C and
+  traditional C versions.  There is just one set of files to install, and
+  it will work with ANSI or old C compilers (including `gcc -traditional').
+
+* Brendan Kehoe and Ian Lance Taylor have ported the library to the
+  MIPS DECStation running Ultrix 4.
+
+* The Sun 4 startup code (crt0) can now properly load SunOS 4 shared libraries.
+  Tom Quinn contributed the initial code.  The GNU C library can NOT yet be
+  made itself into a shared library.
+
+* Yet further improved support for the i386, running 4.3 BSD-like systems
+  (such as Mach 3 with the Unix single-server), or System V.
+
+* New function `strncasecmp' to do case-insensitive string comparison
+  with limited length.
+
+* New function `strsep' is a reentrant alternative to `strtok'.
+
+* New functions `scandir' and `alphasort' for searching directories.
+
+* New function `setenv' is a better interface to `putenv'.
+
+* Ian Lance Taylor has contributed an implementation of the SVID `ftw'
+  function for traversing a directory tree.
+
+* The GNU obstack package is now also part of the C library.
+  The new function `open_obstack_stream' creates a stdio stream that
+  writes onto an obstack; `obstack_printf' and `obstack_vprintf' do
+  formatted output directly to an obstack.
+
+* Miscellaneous new functions: reboot, nice, sigaltstack (4.4 BSD only),
+  cfmakeraw, getusershell, getpass, swab, getttyent, seteuid, setegid.
+
+* `FNM_FILE_NAME' is another name for `FNM_PATHNAME', used with `fnmatch'.
+
+* The new functions `strfry' and `memfrob' do mysterious and wonderful
+  things to your strings.
+
+* There are some new test programs: test-fseek, testmb, and testrand.
+
+* Some work has been done to begin porting the library to 4.4 BSD and Linux.
+  These ports are not finished, but are a good starting place for really
+  supporting those systems.
+
+* `/etc/localtime' is now the standard location for the file that says what
+  the local timezone is, rather than `/usr/local/lib/zoneinfo/localtime'.
+  This follows the general principle that `/etc' is the place for all local
+  configuration files.
+
+* The C library header files now use `extern "C"' when used by the C++
+  compiler, so the C library should now work with C++ code.
+
+* The header file <bstring.h> is gone.  <string.h> now declares bcopy,
+  bcmp, bzero, and ffs.  
+
+* Mike Haertel (of GNU e?grep and malloc fame) has written a new sorting
+  function which uses the `merge sort' algorithm, and is said to be
+  significantly faster than the old GNU `qsort' function.  Merge sort is
+  now the standard `qsort' function.  The new algorithm can require a lot
+  of temporary storage; so, the old sorting function is called when the
+  required storage is not available.
+
+* The C library now includes Michael Glad's Ultra Fast Crypt, which
+  provides the Unix `crypt' function, plus some other entry points.
+  Because of the United States export restriction on DES implementations,
+  we are distributing this code separately from the rest of the C library.
+  There is an extra distribution tar file just for crypt; it is called
+  `glibc-VERSION-crypt.tar.Z', e.g. `glibc-1.04-crypt.tar.Z'.  You can just
+  unpack the crypt distribution along with the rest of the C library and
+  build; you can also build the library without getting crypt.  Users
+  outside the USA can get the crypt distribution via anonymous FTP from
+  ftp.uni-c.dk [129.142.6.74], or another archive site outside the U.S.
+
+* The code and header files taken from 4.4 BSD have been updated with the
+  latest files released from Berkeley.
+\f
+----------------------------------------------------------------------
+Copyright information:
+
+Copyright (C) 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+
+   Permission is granted to anyone to make or distribute verbatim copies
+   of this document as received, in any medium, provided that the
+   copyright notice and this permission notice are preserved,
+   thus giving the recipient permission to redistribute in turn.
+
+   Permission is granted to distribute modified versions
+   of this document, or of portions of it,
+   under the above conditions, provided also that they
+   carry prominent notices stating who last changed them.
+\f
+Local variables:
+version-control: never
+end:
diff --git a/NOTES b/NOTES
new file mode 100644 (file)
index 0000000..2af653c
--- /dev/null
+++ b/NOTES
@@ -0,0 +1,95 @@
+Feature Test Macros
+-------------------
+
+   The exact set of features available when you compile a source file
+is controlled by which "feature test macros" you define.
+
+   If you compile your programs using `gcc -ansi', you get only the
+ANSI C library features, unless you explicitly request additional
+features by defining one or more of the feature macros.  *Note GNU CC
+Command Options: (gcc.info)Invoking GCC, for more information about GCC
+options.
+
+   You should define these macros by using `#define' preprocessor
+directives at the top of your source code files.  These directives
+*must* come before any `#include' of a system header file.  It is best
+to make them the very first thing in the file, preceded only by
+comments.  You could also use the `-D' option to GCC, but it's better
+if you make the source files indicate their own meaning in a
+self-contained way.
+
+ - Macro: _POSIX_SOURCE
+     If you define this macro, then the functionality from the POSIX.1
+     standard (IEEE Standard 1003.1) is available, as well as all of the
+     ANSI C facilities.
+
+ - Macro: _POSIX_C_SOURCE
+     If you define this macro with a value of `1', then the
+     functionality from the POSIX.1 standard (IEEE Standard 1003.1) is
+     made available.  If you define this macro with a value of `2',
+     then both the functionality from the POSIX.1 standard and the
+     functionality from the POSIX.2 standard (IEEE Standard 1003.2) are
+     made available.  This is in addition to the ANSI C facilities.
+
+ - Macro: _BSD_SOURCE
+     If you define this macro, functionality derived from 4.3 BSD Unix
+     is included as well as the ANSI C, POSIX.1, and POSIX.2 material.
+
+     Some of the features derived from 4.3 BSD Unix conflict with the
+     corresponding features specified by the POSIX.1 standard.  If this
+     macro is defined, the 4.3 BSD definitions take precedence over the
+     POSIX definitions.
+
+     Due to the nature of some of the conflicts between 4.3 BSD and
+     POSIX.1, you need to use a special "BSD compatibility library"
+     when linking programs compiled for BSD compatibility.  This is
+     because some functions must be defined in two different ways, one
+     of them in the normal C library, and one of them in the
+     compatibility library.  If your program defines `_BSD_SOURCE', you
+     must give the option `-lbsd-compat' to the compiler or linker when
+     linking the program, to tell it to find functions in this special
+     compatibility library before looking for them in the normal C
+     library.
+
+ - Macro: _SVID_SOURCE
+     If you define this macro, functionality derived from SVID is
+     included as well as the ANSI C, POSIX.1, and POSIX.2 material.
+
+ - Macro: _GNU_SOURCE
+     If you define this macro, everything is included: ANSI C, POSIX.1,
+     POSIX.2, BSD, SVID, and GNU extensions.  In the cases where POSIX.1
+     conflicts with BSD, the POSIX definitions take precedence.
+
+     If you want to get the full effect of `_GNU_SOURCE' but make the
+     BSD definitions take precedence over the POSIX definitions, use
+     this sequence of definitions:
+
+          #define _GNU_SOURCE
+          #define _BSD_SOURCE
+          #define _SVID_SOURCE
+
+     Note that if you do this, you must link your program with the BSD
+     compatibility library by passing the `-lbsd-compat' option to the
+     compiler or linker.  *Note:* If you forget to do this, you may get
+     very strange errors at run time.
+
+   We recommend you use `_GNU_SOURCE' in new programs.  If you don't
+specify the `-ansi' option to GCC and don't define any of these macros
+explicitly, the effect is the same as defining `_GNU_SOURCE'.
+
+   When you define a feature test macro to request a larger class of
+features, it is harmless to define in addition a feature test macro for
+a subset of those features.  For example, if you define
+`_POSIX_C_SOURCE', then defining `_POSIX_SOURCE' as well has no effect.
+Likewise, if you define `_GNU_SOURCE', then defining either
+`_POSIX_SOURCE' or `_POSIX_C_SOURCE' or `_SVID_SOURCE' as well has no
+effect.
+
+   Note, however, that the features of `_BSD_SOURCE' are not a subset of
+any of the other feature test macros supported.  This is because it
+defines BSD features that take precedence over the POSIX features that
+are requested by the other macros.  For this reason, defining
+`_BSD_SOURCE' in addition to the other feature test macros does have an
+effect: it causes the BSD features to take priority over the conflicting
+POSIX features.
+
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..b9b43e3
--- /dev/null
+++ b/README
@@ -0,0 +1,67 @@
+This directory contains the version 1.09.5 test release of the GNU C Library.
+Many bugs have been fixed since the last release.
+Some bugs surely remain.
+
+As of this release, the GNU C library has been ported to the following
+configurations:
+
+               alpha-dec-osf1
+               i386-bsd4.3
+               i386-force_cpu386-none
+               i386-gnu (for Hurd development only)
+               i386-isc2.2
+               i386-isc3
+               i386-sco3.2
+               i386-sco3.2v4
+               i386-sequent-bsd
+               i386-sysv
+               i386-sysv4
+               i960-nindy960-none
+               m68k-hp-bsd4.3
+               m68k-mvme135-none
+               m68k-mvme136-none
+               m68k-sony-newsos3
+               m68k-sony-newsos4
+               m68k-sun-sunos4
+               mips-dec-ultrix4
+               mips-sgi-irix4
+               sparc-sun-solaris2
+               sparc-sun-sunos4
+
+Porting the library is not hard.  If you are interested in doing a port,
+please get on the mailing list by sending electronic mail to
+bug-glibc-request@prep.ai.mit.edu.
+
+The GNU C library now includes Michael Glad's Ultra Fast Crypt, which
+provides the Unix `crypt' function, plus some other entry points.
+Because of the United States export restriction on DES implementations,
+we are distributing this code separately from the rest of the C
+library.  There is an extra distribution tar file just for crypt; it is
+called `glibc-1.09.5-crypt.tar.gz'.  You can just unpack the crypt
+distribution along with the rest of the C library and build; you can
+also build the library without getting crypt.  Users outside the USA
+can get the crypt distribution via anonymous FTP from ftp.uni-c.dk
+[129.142.6.74], or another archive site outside the USA.  Archive
+maintainers are encouraged to copy this distribution to their archives
+outside the USA.  Please get it from ftp.uni-c.dk; transferring this
+distribution from prep.ai.mit.edu (or any other site in the USA) to a
+site outside the USA is in violation of US export laws.
+
+See the file INSTALL to find out how to configure, build, install, and port
+the GNU C library.
+
+The GNU C Library is completely documented by the Texinfo manual found
+in the `manual/' subdirectory.  The manual is still being updated and
+contains some known errors and omissions; we regret that we do not have
+the resources to work on the manual as much as we would like.  Please
+send comments on the manual to bug-glibc-manual@prep.ai.mit.edu, and
+not to the library bug-reporting address.
+
+The file NOTES contains a description of the feature-test macros used
+in the GNU C library, explaining how you can tell the library what
+facilities you want it to make available.
+
+Send bug reports to bug-glibc@prep.ai.mit.edu.
+
+The GNU C Library is free software.  See the file COPYING.LIB for copying
+conditions.
diff --git a/configure b/configure
new file mode 100755 (executable)
index 0000000..9a36433
--- /dev/null
+++ b/configure
@@ -0,0 +1,1503 @@
+#! /bin/sh
+
+# From configure.in Id: configure.in,v 1.72 1995/01/30 07:26:57 roland Exp roland 
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.1.1 
+# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+  --with-gmp=DIRECTORY   find GMP source code in DIRECTORY (not needed)"
+ac_help="$ac_help
+  --with-gnu-binutils    if using GNU binutils (as and ld)"
+ac_help="$ac_help
+  --with-gnu-ld                  if using GNU ld (in the binutils package)"
+ac_help="$ac_help
+  --with-gnu-as                  if using GNU as (in the binutils package)"
+ac_help="$ac_help
+  --with-elf             if using the ELF object format"
+ac_help="$ac_help
+  --with-weak-symbols    if weak symbols are available in as and ld"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Initialize some other variables.
+subdirs=
+
+ac_prev=
+for ac_option
+do
+
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval "$ac_prev=\$ac_option"
+    ac_prev=
+    continue
+  fi
+
+  case "$ac_option" in
+  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+  *) ac_optarg= ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case "$ac_option" in
+
+  -build | --build | --buil | --bui | --bu | --b)
+    ac_prev=build ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=* | --b=*)
+    build="$ac_optarg" ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file="$ac_optarg" ;;
+
+  -disable-* | --disable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    eval "enable_${ac_feature}=no" ;;
+
+  -enable-* | --enable-*)
+    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+    fi
+    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix="$ac_optarg" ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he)
+    # Omit some internal or obsolete options to make the list less imposing.
+    # This message is too long to be a string in the A/UX 3.1 sh.
+    cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+  --cache-file=FILE       cache test results in FILE
+  --help                  print this message
+  --no-create             do not create output files
+  --quiet, --silent       do not print \`checking...' messages
+  --version               print the version of autoconf that created configure
+Directory and file names:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=PREFIX    install architecture-dependent files in PREFIX
+                          [same as prefix]
+  --srcdir=DIR            find the sources in DIR [configure dir or ..]
+  --program-prefix=PREFIX prepend PREFIX to installed program names
+  --program-suffix=SUFFIX append SUFFIX to installed program names
+  --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+Host type:
+  --build=BUILD           configure for building on BUILD [BUILD=HOST]
+  --host=HOST             configure for HOST [guessed]
+  --target=TARGET         configure for TARGET [TARGET=HOST]
+Features and packages:
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --x-includes=DIR        X include files are in DIR
+  --x-libraries=DIR       X library files are in DIR
+--enable and --with options recognized:$ac_help
+EOF
+    exit 0 ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host="$ac_optarg" ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix="$ac_optarg" ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix="$ac_optarg" ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix="$ac_optarg" ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name="$ac_optarg" ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site="$ac_optarg" ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir="$ac_optarg" ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target="$ac_optarg" ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers)
+    echo "configure generated by autoconf version 2.1.1"
+    exit 0 ;;
+
+  -with-* | --with-*)
+    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    case "$ac_option" in
+      *=*) ;;
+      *) ac_optarg=yes ;;
+    esac
+    eval "with_${ac_package}='$ac_optarg'" ;;
+
+  -without-* | --without-*)
+    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+    # Reject names that are not valid shell variable names.
+    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+    fi
+    ac_package=`echo $ac_package| sed 's/-/_/g'`
+    eval "with_${ac_package}=no" ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes="$ac_optarg" ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries="$ac_optarg" ;;
+
+  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+    ;;
+
+  *) 
+    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+      echo "configure: warning: $ac_option: invalid host type" 1>&2
+    fi
+    if test "x$nonopt" != xNONE; then
+      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+    fi
+    nonopt="$ac_option"
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 4 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+  exec 4>/dev/null
+else
+  exec 4>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+  case "$ac_arg" in
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c) ;;
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+  esac
+done
+
+# NLS nuisances.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=features.h
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then its parent.
+  ac_prog=$0
+  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+  srcdir=$ac_confdir
+  if test ! -r $srcdir/$ac_unique_file; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+  if test "$ac_srcdir_defaulted" = yes; then
+    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+  else
+    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+  fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+  if test "x$prefix" != xNONE; then
+    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+  else
+    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+  fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+  if test -r "$ac_site_file"; then
+    echo "loading site script $ac_site_file"
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  echo "loading cache $cache_file"
+  . $cache_file
+else
+  echo "creating cache $cache_file"
+  > $cache_file
+fi
+
+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} conftest.$ac_ext $CFLAGS $CPPFLAGS -c 1>&5 2>&5'
+ac_link='${CC-cc} conftest.$ac_ext $CFLAGS $CPPFLAGS $LDFLAGS -o conftest $LIBS 1>&5 2>&5'
+
+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
+    ac_n= ac_c='
+' ac_t='       '
+  else
+    ac_n=-n ac_c= ac_t=
+  fi
+else
+  ac_n= ac_c='\c' ac_t=
+fi
+
+    if test -r /vmunix; then
+      kernel_id=`strings /vmunix | grep UNIX`
+    elif test -r /dynix; then
+      kernel_id=`strings /dynix | grep DYNIX`
+    else
+      kernel_id=
+    fi
+
+
+
+
+# This will get text that should go into config.make.
+config_vars=
+
+# Check for a --with-gmp argument and set gmp-srcdir in config.make.
+# Check whether --with-gmp or --without-gmp was given.
+withval="$with_gmp"
+if test -n "$withval"; then
+  case "$with_gmp" in
+yes) { echo "configure: error: --with-gmp requires an argument; use --with-gmp=DIRECTORY" 1>&2; exit 1; } ;;
+''|no) ;;
+*) config_vars="$config_vars
+gmp-srcdir = $withval" ;;
+esac
+
+fi
+
+
+# Check whether --with-gnu-binutils or --without-gnu-binutils was given.
+withval="$with_gnu_binutils"
+if test -n "$withval"; then
+  gnu_binutils=yes
+else
+  gnu_binutils=no
+fi
+
+# Check whether --with-gnu-ld or --without-gnu-ld was given.
+withval="$with_gnu_ld"
+if test -n "$withval"; then
+  gnu_ld=yes
+else
+  gnu_ld=no
+fi
+
+# Check whether --with-gnu-as or --without-gnu-as was given.
+withval="$with_gnu_as"
+if test -n "$withval"; then
+  gnu_as=yes
+else
+  gnu_as=no
+fi
+
+test $gnu_binutils = yes && gnu_as=yes gnu_ld=yes
+# Check whether --with-elf or --without-elf was given.
+withval="$with_elf"
+if test -n "$withval"; then
+  elf=yes
+else
+  elf=no
+fi
+
+# Check whether --with-weak-symbols or --without-weak-symbols was given.
+withval="$with_weak_symbols"
+if test -n "$withval"; then
+  weak=yes
+else
+  weak=no
+fi
+
+
+ac_aux_dir=
+for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
+  if test -f $ac_dir/install-sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f $ac_dir/install.sh; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+# Make sure we can run config.sub.
+if $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>&4
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+  case $nonopt in
+  NONE)
+    if host_alias=`$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_cpu=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&4
+
+# We keep the original values in `$config_*' and never modify them, so we
+# can write them unchanged into config.make.  Everything else uses
+# $machine, $vendor, and $os, and changes them whenever convenient.
+config_machine=$host_cpu config_vendor=$host_vendor config_os=$host_os
+
+sysdep_dir=$srcdir/sysdeps
+echo $ac_n "checking sysdep dirs""... $ac_c" 1>&4
+if eval "test \"`echo '${'libc_cv_sysdirs'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&4
+else
+  machine=$config_machine
+vendor=$config_vendor
+os=$config_os
+
+# Expand the configuration machine name into a subdirectory by architecture
+# type and particular chip.
+case "$machine" in
+i[345]86)
+  machine=i386/$machine ;;
+sparc[6789])
+  machine=sparc/$machine ;;
+m68k)
+  machine=m68k/m68020 ;;
+m680?0)
+  machine=m68k/$machine ;;
+m88k)
+  machine=m88k/m88100 ;;
+m88???)
+  machine=m88k/$machine ;;
+mips64*)
+  machine=mips/mips64/$machine ;;
+mips*)
+  machine=mips/$machine ;;
+esac
+
+# 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'`"
+
+case "$os" in
+gnu*)
+  base_os=mach/hurd ;;
+netbsd* | 386bsd*)
+  base_os=unix/bsd/bsd4.4 ;;
+osf1* | sunos* | ultrix* | newsos* | dynix* | *bsd*)
+  base_os=unix/bsd ;;
+linux* | sysv* | isc* | esix* | sco* | minix* | irix4*)
+  base_os=unix/sysv ;;
+solaris[2-9]*)
+  base_os=unix/sysv/sysv4 ;;
+none)
+  base_os=standalone ;;
+*)
+  base_os='' ;;
+esac
+
+# For sunos4.1.1, try sunos4.1.1, then sunos4.1, then sunos4, then sunos.
+tail=$os
+ostry=$os
+while o=`echo $tail | sed 's/\.[^.]*$//'`; test $o != $tail; do
+  ostry="$ostry /$o"
+  tail=$o
+done  
+o=`echo $tail | sed 's/[0-9]*$//'`
+if test $o != $tail; then
+  ostry="$ostry /$o"
+fi
+
+# For unix/sysv/sysv4, try unix/sysv/sysv4, then unix/sysv, then unix.
+base=
+tail=$base_os
+while b=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$b"; do
+  set $b
+  base="$base /$1"
+  tail="$2"
+done
+
+# For sparc/sparc9, try sparc/sparc9 and then sparc.
+mach=
+tail=$machine
+while m=`echo $tail | sed 's@^\(.*\)/\([^/]*\)$@& \1@'`; test -n "$m"; do
+  set $m
+  mach="$mach /$1"
+  tail="$2"
+done
+
+
+# Find what sysdep directories exist.
+sysnames=
+for b in $base ''; do
+  for m0 in $mach ''; do
+    for v in /$vendor ''; do
+      for o in /$ostry ''; do
+       for m in $mach ''; do
+         try="$m0$b$v$o$m"
+         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
+       done
+      done
+    done
+  done
+done
+
+if test -z "$os_used" && test "$os" != none; then
+  { echo "configure: error: Operating system $os is not supported." 1>&2; exit 1; }
+fi
+if test -z "$machine_used" && test "$machine" != none; then
+  { echo "configure: error: The $machine is not supported." 1>&2; exit 1; }
+fi
+
+# We have now validated the configuration.
+
+# Remove the leading slashes.
+sysnames="`echo $sysnames | sed -e 's@^/@@' -e 's@ /@ @g'`"
+
+# Prepend the machine's FPU directory unless --without-fp.
+if test "$with_fp" = no; then
+  fpu_dirs=
+  for m in $mach; do
+    if test -d $sysdep_dir$m/fpu; then
+      fpu_dirs="$fpu_dirs $m/fpu"
+    fi
+  done
+  sysnames="`echo $fpu_dirs | sed -e 's,^/,,' -e 's, /,,g'` $sysnames"
+fi
+
+# Expand the list of system names into a full list of directories
+# from each element's parent name and Implies file (if present).
+set $sysnames
+while test $# -gt 0; do
+  name=$1
+  shift
+
+  if test -f $sysdep_dir/$name/Implies; then
+    # Collect more names from the `Implies' file (removing comments).
+    implied="`sed 's/#.*$//' < $sysdep_dir/$name/Implies`"
+    for x in $implied; do
+      test -d $sysdep_dir/$x || echo "Warning: $name implies nonexistent $x">&2
+    done
+  else
+    implied=
+  fi
+
+  # Add NAME to the list of names.
+  names="$names $name"
+
+  # Find the parent of NAME, using the empty string if it has none.
+  parent="`echo $name | sed -n -e '/\//!q' -e 's=/[^/]*$==p'`"
+
+  # Add the names implied by NAME, and NAME's parent (if it has one), to
+  # the list of names to be processed (the argument list).  We prepend the
+  # implied names to the list and append the parent.  We want implied
+  # directories to come before further directories inferred from the
+  # configuration components; this ensures that for sysv4, unix/common
+  # (implied by unix/sysv/sysv4) comes before unix/sysv (in ostry (here $*)
+  # after sysv4).
+  sysnames="`echo $implied $* $parent`"
+  test -n "$sysnames" && set $sysnames
+done
+
+# Add the default directories.
+names="$names generic stub"
+
+# Now uniquize the list.
+seen=
+sysnames=
+for name in $names; do
+  if echo "$seen" | fgrep -x $name >/dev/null; then
+    # Already in the list.
+    true;
+  else
+    # A new one.
+    if test -z "$seen"; then
+      seen="$name" sysnames="$name"
+    else
+      seen="$seen
+$name"
+      sysnames="$sysnames $name"
+    fi
+  fi
+done
+libc_cv_sysdirs="$sysnames"
+fi
+
+ sysnames="$libc_cv_sysdirs"
+echo "$ac_t""${sysnames}" 1>&4
+
+case "$host_os" in
+gnu* | linux* | bsd4.4* | netbsd* | freebsd*)
+  gnu_ld=yes gnu_as=yes
+esac
+case "$host_os" in
+gnu*elf* | linux*elf* | sysv4* | solaris2*)
+  elf=yes
+esac
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# 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>&4
+if test -z "$INSTALL"; then
+if eval "test \"`echo '${'ac_cv_path_install'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&4
+else
+    IFS="${IFS=        }"; ac_save_ifs="$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
+        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"
+           break 2
+         fi
+       fi
+      done
+      ;;
+    esac
+  done
+  IFS="$ac_save_ifs"
+  # As a last resort, use the slow shell script.
+  test -z "$ac_cv_path_install" && ac_cv_path_install="$ac_install_sh"
+fi
+  INSTALL="$ac_cv_path_install"
+fi
+echo "$ac_t""$INSTALL" 1>&4
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+if test "$INSTALL" = "${srcdir}/install-sh"; then
+  # The makefiles need to use a different form to find it in $srcdir.
+  INSTALL='$(..)./install-sh'
+fi
+
+echo $ac_n "checking build system type""... $ac_c" 1>&4
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+  case $nonopt in
+  NONE) build_alias=$host_alias ;;
+  *) build_alias=$nonopt ;;
+  esac ;;
+esac
+
+build=`$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/'`
+echo "$ac_t""$build" 1>&4
+
+if test $host != $build; then
+  ac_tool_prefix=${host_alias}-
+else
+  ac_tool_prefix=
+fi
+
+# Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&4
+if eval "test \"`echo '${'ac_cv_prog_CC'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&4
+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}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_CC="${ac_tool_prefix}gcc"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="gcc"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+  echo "$ac_t""$CC" 1>&4
+else
+  echo "$ac_t""no" 1>&4
+fi
+
+
+
+# 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>&4
+if eval "test \"`echo '${'ac_cv_prog_AR'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&4
+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}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_AR="${ac_tool_prefix}ar"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+  echo "$ac_t""$AR" 1>&4
+else
+  echo "$ac_t""no" 1>&4
+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>&4
+if eval "test \"`echo '${'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&4
+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}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+  echo "$ac_t""$RANLIB" 1>&4
+else
+  echo "$ac_t""no" 1>&4
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+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>&4
+if eval "test \"`echo '${'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&4
+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}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      ac_cv_prog_RANLIB="ranlib"
+      break
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+  echo "$ac_t""$RANLIB" 1>&4
+else
+  echo "$ac_t""no" 1>&4
+fi
+
+else
+  RANLIB=":"
+fi
+fi
+
+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&4
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+if eval "test \"`echo '${'ac_cv_prog_CPP'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&4
+else
+    # This must be in double quotes, not single quotes, because CPP may get
+  # substituted into the Makefile and "${CC-cc}" will confuse make.
+  CPP="${CC-cc} -E"
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp.
+  cat > conftest.$ac_ext <<EOF
+#line 945 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  rm -rf conftest*
+  CPP="${CC-cc} -E -traditional-cpp"
+  cat > conftest.$ac_ext <<EOF
+#line 959 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+ac_err=`grep -v '^ *+' conftest.out`
+if test -z "$ac_err"; then
+  :
+else
+  echo "$ac_err" >&5
+  rm -rf conftest*
+  CPP=/lib/cpp
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+  ac_cv_prog_CPP="$CPP"
+fi
+fi
+CPP="$ac_cv_prog_CPP"
+echo "$ac_t""$CPP" 1>&4
+
+
+echo $ac_n "checking signed size_t type""... $ac_c" 1>&4
+if eval "test \"`echo '${'libc_cv_signed_size_t'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&4
+else
+  echo '#include <stddef.h>
+FOOBAR __SIZE_TYPE__ FOOBAR' > conftest.c
+if eval "$ac_cpp conftest.c 2>/dev/null" \
+| grep '^FOOBAR.*unsigned.*FOOBAR$' >/dev/null; then
+  libc_cv_signed_size_t=no
+else
+  libc_cv_signed_size_t=yes
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$libc_cv_signed_size_t" 1>&4
+if test $libc_cv_signed_size_t = yes; then
+    cat >> confdefs.h <<\EOF
+#undef __SIZE_TYPE__
+#define __SIZE_TYPE__ unsigned
+EOF
+fi
+
+echo $ac_n "checking libc-friendly stddef.h""... $ac_c" 1>&4
+if eval "test \"`echo '${'libc_cv_friendly_stddef'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&4
+else
+  cat > conftest.$ac_ext <<EOF
+#line 1011 "configure"
+#include "confdefs.h"
+#define __need_size_t
+#define __need_wchar_t
+#include <stddef.h>
+#define __need_NULL
+#include <stddef.h>
+int main() { return 0; }
+int t() {
+size_t size; wchar_t wchar;
+#ifdef offsetof
+#error stddef.h ignored __need_*
+#endif
+if (&size == NULL || &wchar == NULL) abort ();
+; return 0; }
+EOF
+if eval $ac_compile; then
+  rm -rf conftest*
+  libc_cv_friendly_stddef=yes
+else
+  rm -rf conftest*
+  libc_cv_friendly_stddef=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$libc_cv_friendly_stddef" 1>&4
+if test $libc_cv_friendly_stddef = yes; then
+  config_vars="$config_vars
+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>&4
+if eval "test \"`echo '${'libc_cv_need_minus_P'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&4
+else
+  cat > conftest.S <<EOF
+#include "confdefs.h"
+/* Nothing whatsoever.  */
+EOF
+if ${CC-cc} $CFLAGS -c conftest.S 2>/dev/null; then
+  libc_cv_need_minus_P=no
+else
+  libc_cv_need_minus_P=yes
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$libc_cv_need_minus_P" 1>&4
+if test $libc_cv_need_minus_P = yes; then
+  config_vars="$config_vars
+asm-CPPFLAGS = -P # The assembler can't grok cpp's # line directives."
+fi
+
+# sysdeps configure fragments may set these with files to be linked below.
+libc_link_dests=
+libc_link_sources=
+
+# Iterate over all the sysdep directories we will use, running their
+# configure fragments, and looking for a uname implementation.
+uname=
+for dir in $sysnames; do
+  if test -r $sysdep_dir/$dir/configure; then
+    echo "$ac_t""running configure fragment for $dir" 1>&4
+    . $sysdep_dir/$dir/configure
+  fi
+  if test -z "$uname"; then
+    { test -r $sysdep_dir/$dir/uname.c || test -r $sysdep_dir/$dir/uname.S; } \
+    && uname=$dir
+  fi
+done
+
+
+
+# If we will use the generic uname implementation, we must figure out what
+# it will say by examining the system, and write the results in config-name.h.
+if test "$uname" = generic; then
+
+  uname_sysname=`echo $config_os | sed 's/[0-9.]*$//'`
+  if test $uname_sysname != $config_os; then
+    config_release=`echo $config_os | sed s/$uname_sysname//`
+  fi
+
+  echo $ac_n "checking OS release for uname""... $ac_c" 1>&4
+  if eval "test \"`echo '${'libc_cv_uname_release'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&4
+else
+    kernel_release=`echo "$kernel_id" | sed 's/^[^0-9.]*\([0-9.]*\).*$/\1/'`
+  if test x`echo "$config_release" | sed "s/^$kernel_release//"` \
+        != x$config_release; then
+    # The configuration release is a substring of the kernel release.
+    libc_cv_uname_release=$kernel_release
+  elif test x$config_release != x; then
+    libc_cv_uname_release=$config_release
+  elif test x$kernel_release != x; then
+    libc_cv_uname_release=$kernel_release
+  else
+    libc_cv_uname_release=unknown
+  fi
+fi
+
+  echo "$ac_t""$libc_cv_uname_release" 1>&4
+  uname_release="$libc_cv_uname_release"
+
+  echo $ac_n "checking OS version for uname""... $ac_c" 1>&4
+  if eval "test \"`echo '${'libc_cv_uname_version'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&4
+else
+    kernel_version=`echo "$kernel_id" | sed 's/^[^#]*#\([0-9]*\).*$/\1/'`
+  if test -n "$kernel_version"; then
+    libc_cv_uname_version="$kernel_version"
+  else
+    libc_cv_uname_version=unknown
+  fi
+fi
+
+  echo "$ac_t""$libc_cv_uname_version" 1>&4
+  uname_version="$libc_cv_uname_version"
+
+    config_uname=config-name.h:config-name.in
+else
+  # For non-generic uname, we don't need to create config-name.h at all.
+  config_uname=
+fi
+
+   
+if test $gnu_ld = yes; then
+  cat >> confdefs.h <<\EOF
+#define HAVE_GNU_LD 1
+EOF
+
+fi
+if test $gnu_as = yes; then
+  cat >> confdefs.h <<\EOF
+#define HAVE_GNU_AS 1
+EOF
+
+fi
+if test $elf = yes; then
+  cat >> confdefs.h <<\EOF
+#define HAVE_ELF 1
+EOF
+
+fi
+if test $weak = yes; then
+  cat >> confdefs.h <<\EOF
+#define HAVE_WEAK_SYMBOLS 1
+EOF
+
+fi
+
+
+if test "`(cd $srcdir; pwd)`" = "`pwd`"; then
+  config_makefile=
+else
+  config_makefile=Makefile
+fi
+
+trap '' 1 2 15
+if test -w $cache_file; then
+echo "updating cache $cache_file"
+cat > $cache_file <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs.  It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already.  You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+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 |
+  sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
+  >> $cache_file
+else
+echo "not updating unwritable cache $cache_file"
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[        ]*VPATH[        ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+DEFS=-DHAVE_CONFIG_H
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+  case "\$ac_option" in
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    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.1.1"
+    exit 0 ;;
+  -help | --help | --hel | --he | --h)
+    echo "\$ac_cs_usage"; exit 0 ;;
+  *) echo "\$ac_cs_usage"; exit 1 ;;
+  esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo config.make ${config_makefile} ${config_uname} config.h | tr : " "` conftest*; exit 1' 1 2 15
+
+# Protect against being on the right side of a sed subst in config.status. 
+sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; 
+ s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
+$ac_vpsub
+$extrasub
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@sysnames@%$sysnames%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@CC@%$CC%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@CPP@%$CPP%g
+s%@uname_sysname@%$uname_sysname%g
+s%@uname_release@%$uname_release%g
+s%@uname_version@%$uname_version%g
+s%@gnu_ld@%$gnu_ld%g
+s%@gnu_as@%$gnu_as%g
+s%@elf@%$elf%g
+s%@weak@%$weak%g
+
+CEOF
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"config.make ${config_makefile} ${config_uname}"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  # Adjust relative srcdir, etc. for subdirectories.
+
+  # Remove last slash and all that follows it.  Not all systems have dirname.
+  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+    # The file is in a subdirectory.
+    test ! -d "$ac_dir" && mkdir "$ac_dir"
+    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+    # A "../" for each directory in $ac_dir_suffix.
+    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+  else
+    ac_dir_suffix= ac_dots=
+  fi
+
+  case "$ac_given_srcdir" in
+  .)  srcdir=.
+      if test -z "$ac_dots"; then top_srcdir=.
+      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+  *) # Relative path.
+    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+    top_srcdir="$ac_dots$ac_given_srcdir" ;;
+  esac
+
+  case "$ac_given_INSTALL" in
+  [/$]*) INSTALL="$ac_given_INSTALL" ;;
+  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+  esac
+  echo creating "$ac_file"
+  rm -f "$ac_file"
+  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+  case "$ac_file" in
+  *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+  *) ac_comsub= ;;
+  esac
+  sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
+fi; done
+rm -f conftest.subs
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s%^\([  ]*\)#\([        ]*define[       ][      ]*\)'
+ac_dB='\([     ][      ]*\)[^  ]*%\1#\2'
+ac_dC='\3'
+ac_dD='%g'
+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+ac_uA='s%^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
+ac_uB='\([     ]\)%\1#\2define\3'
+ac_uC=' '
+ac_uD='\4%g'
+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_eA='s%^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
+ac_eB='$%\1#\2define\3'
+ac_eC=' '
+ac_eD='%g'
+
+CONFIG_HEADERS=${CONFIG_HEADERS-"config.h"}
+for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
+  # Support "outfile[:infile]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
+       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+  *) ac_file_in="${ac_file}.in" ;;
+  esac
+
+  echo creating $ac_file
+
+  rm -f conftest.frag conftest.in conftest.out
+  cp $ac_given_srcdir/$ac_file_in conftest.in
+
+EOF
+
+# Transform confdefs.h into a sed script conftest.vals that substitutes
+# the proper values into config.h.in to produce config.h.  And first:
+# Protect against being on the right side of a sed subst in config.status. 
+# Protect against being in an unquoted here document in config.status.
+rm -f conftest.vals
+cat > conftest.hdr <<\EOF
+s/[\\&%]/\\&/g
+s%[\\$`]%\\&%g
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+s%ac_d%ac_u%gp
+s%ac_u%ac_e%gp
+EOF
+sed -n -f conftest.hdr confdefs.h > conftest.vals
+rm -f conftest.hdr
+
+# This sed command replaces #undef with comments.  This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >> conftest.vals <<\EOF
+s%^[   ]*#[    ]*undef[        ][      ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+EOF
+
+# Break up conftest.vals because some shells have a limit on
+# the size of here documents, and old seds have small limits too.
+# Maximum number of lines to put in a single here document.
+ac_max_here_lines=12
+
+rm -f conftest.tail
+while :
+do
+  ac_lines=`grep -c . conftest.vals`
+  # grep -c gives empty output for an empty file on some AIX systems.
+  if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
+  # Write a limited-size here document to conftest.frag.
+  echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
+  sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
+  echo 'CEOF
+  sed -f conftest.frag conftest.in > conftest.out
+  rm -f conftest.in
+  mv conftest.out conftest.in
+' >> $CONFIG_STATUS
+  sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
+  rm -f conftest.vals
+  mv conftest.tail conftest.vals
+done
+rm -f conftest.vals
+
+cat >> $CONFIG_STATUS <<\EOF
+  rm -f conftest.frag conftest.h
+  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
+  cat conftest.in >> conftest.h
+  rm -f conftest.in
+  if cmp -s $ac_file conftest.h 2>/dev/null; then
+    echo "$ac_file is unchanged"
+    rm -f conftest.h
+  else
+    rm -f $ac_file
+    mv conftest.h $ac_file
+  fi
+fi; done
+
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+ac_sources="`echo $libc_link_sources`"
+ac_dests="`echo $libc_link_dests`"
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+srcdir=$ac_given_srcdir
+while test -n "$ac_sources"; do
+  set $ac_dests; ac_dest=$1; shift; ac_dests=$*
+  set $ac_sources; ac_source=$1; shift; ac_sources=$*
+
+  echo "linking $srcdir/$ac_source to $ac_dest"
+
+  if test ! -r $srcdir/$ac_source; then
+    { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; }
+  fi
+  rm -f $ac_dest
+
+  # Make relative symlinks.
+  # Remove last slash and all that follows it.  Not all systems have dirname.
+  ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'`
+  if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then
+    # The dest file is in a subdirectory.
+    test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir"
+    ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`"
+    # A "../" for each directory in $ac_dest_dir_suffix.
+    ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'`
+  else
+    ac_dest_dir_suffix= ac_dots=
+  fi
+
+  case "$srcdir" in
+  [/$]*) ac_rel_source="$srcdir/$ac_source" ;;
+  *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
+  esac
+
+  # Make a symlink if possible; otherwise try a hard link.
+  if ln -s $ac_rel_source $ac_dest 2>/dev/null ||
+    ln $srcdir/$ac_source $ac_dest; then :
+  else
+    { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; }
+  fi
+done
+EOF
+cat >> $CONFIG_STATUS <<EOF
+echo '$config_vars' >> config.make
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+