diff options
Diffstat (limited to 'INSTALL')
-rw-r--r-- | INSTALL | 796 |
1 files changed, 63 insertions, 733 deletions
@@ -1,313 +1,6 @@ Library Maintenance ******************* -How to Install the GNU C Library -================================ - - Installation of the GNU C library is relatively simple, but usually -requires several GNU tools to be installed already. - - 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. - - Here are some options that you should specify (if appropriate) when -you run `configure': - -`--with-binutils=DIRECTORY' - Use the binutils (assembler and linker) in `DIRECTORY', not the - ones the C compiler would default to. You could use this option if - the default binutils on your system cannot deal with all the - constructs in the GNU C library. (`configure' will detect the - problem and suppress these constructs, so the library will still - be usable, but functionality may be lost--for example, you can not - build a shared libc with old binutils.) - -`--without-fp' -`--nfp' - Use this option if your computer lacks hardware floating-point - support and your operating system does not emulate an FPU. - -`--prefix=DIRECTORY' - Install machine-independent data files in subdirectories of - `DIRECTORY'. (You can also set this in `configparms'; see below.) - The default is to install in `/usr/local'. - -`--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 default is to use <prefix>/bin and - <prefix>/sbin. - -`--enable-shared' -`--disable-shared' - Enable or disable building of an ELF shared library on systems that - support it. The default is to build the shared library on systems - using ELF when the GNU `binutils' are available. - -`--enable-profile' -`--disable-profile' - Enable or disable building of the profiled C library, `-lc_p'. The - default is to build the profiled library. You may wish to disable - it if you don't plan to do profiling, because it doubles the build - time of compiling just the unprofiled static library. - -`--enable-omitfp' - Enable building a highly-optimized but possibly undebuggable - static C library. This causes the normal static and shared (if - enabled) C libraries to be compiled with maximal optimization, - including the `-fomit-frame-pointer' switch that makes debugging - impossible on many machines, and without debugging information - (which makes the binaries substantially smaller). An additional - static library is compiled with no optimization and full debugging - information, and installed as `-lc_g'. - - 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.) - - To build the library and related programs, type `make'. This will -produce a lot of output, some of which may look like errors from `make' -(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 check'. This will produce several files -with names like `PROGRAM.out'. - - To format the `GNU C Library Reference Manual' for printing, type -`make dvi'. You need a working TeX installation to do this. - - To install the library and its header files, and the Info files of -the manual, type `make install'. This will build things if necessary, -before installing them. If you want to install the files in a different -place than the one specified at configuration time you can specify a -value for the Makefile variable `install_root' on the command line. -This is useful to create chroot'ed environment or to prepare binary -releases. - -Recommended Tools to Install the GNU C Library ----------------------------------------------- - - We recommend installing the following GNU tools before attempting to -build the GNU C library: - - * `make' 3.76.1 - - 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.* We recommend - version GNU `make' version 3.75, 3.76.1 or later. Version 3.76 is - known to have a bug which only shows up in big projects like GNU - `libc'. - - * GCC 2.7.2.3 - - On most platforms, the GNU C library can only be compiled with the - GNU C compiler. We recommend GCC version 2.7.2 or later; earlier - versions may have problems. - - On PowerPC, GCC versions dated earlier than 970904 are known not - to work (they crash), including 2.7.2. - - * `binutils' 2.8.1 - - Using the GNU `binutils' (assembler, linker, and related tools) is - preferable when possible, and they are required to build an ELF - shared C library. We recommend `binutils' version 2.8.1 or later; - earlier versions are known to have problems or to not support all - architectures. - - * `texinfo' 3.11 - - To correctly translate and install the Texinfo documentation you - need this version of the `texinfo' package. Former versions did - not understand all the tags used in the document and also the - installation mechanisms for the info files was not present or - worked differently. - - On some Debian Linux based systems the used `install-info' program - works differently. Here you have to run make like this: - - make INSTALL_INFO=/path/to/GNU/install-info install - - If you change any configuration file you will need also - - * `autoconf' 2.12 - -and if you change any of the message translation files you will also -need - - * `GNU gettext' 0.10 or later - -If you upgrade your source tree using the patches made available you -probably will need those package above in any case. - -Supported Configurations ------------------------- - - The GNU C Library currently supports configurations that match the -following patterns: - - alpha-ANYTHING-linux - iX86-ANYTHING-gnu - iX86-ANYTHING-linux - m68k-ANYTHING-linux - powerpc-ANYTHING-linux - sparc64-ANYTHING-linux - - Former releases of this library (version 1.09.1 and perhaps earlier -versions) used to run on the following configurations: - - alpha-dec-osf1 - alpha-ANYTHING-linuxecoff - iX86-ANYTHING-bsd4.3 - iX86-ANYTHING-isc2.2 - iX86-ANYTHING-isc3.N - iX86-ANYTHING-sco3.2 - iX86-ANYTHING-sco3.2v4 - iX86-ANYTHING-sysv - iX86-ANYTHING-sysv4 - iX86-force_cpu386-none - iX86-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 - - Since no one has volunteered to test and fix the above -configurations, these are not supported at the moment. It's expected -that these don't work anymore. Porting the library is not hard. If -you are interested in doing a port, please contact the glibc -maintainers by sending electronic mail to <bug-glibc@prep.ai.mit.edu>. - - Each case of `iX86' can be `i386', `i486', `i586', or `i686'. All -of those configurations produce a library that can run on any of these -processors. The library will be optimized for the specified processor, -but will not use instructions not available on all of them. - - While no other configurations are supported, there are handy aliases -for these few. (These aliases work in other GNU software as well.) - - decstation - hp320-bsd4.3 hp300bsd - i486-gnu - i586-linux - i386-sco - i386-sco3.2v4 - i386-sequent-dynix - i386-svr4 - news - sun3-sunos4.N sun3 - sun4-solaris2.N sun4-sunos5.N - sun4-sunos4.N sun4 - -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 ISO 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 ==================== @@ -463,8 +156,8 @@ function is used. Some rare functions are only useful on specific systems and aren't defined at all on others; these do not appear anywhere in the system-independent source code or makefiles (including the `generic' -and `stub' directories), only in the system-dependent `Makefile' in the -specific system's subdirectory. +directory), only in the system-dependent `Makefile' in the specific +system's subdirectory. 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- @@ -560,73 +253,56 @@ 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"; for example, if the operating system is `Linux', the +base operating system is `unix/sysv'. 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 +`i686-linux-gnu' results in `unix/sysv/linux/i386/i686'. `configure' +then tries removing each element of the list in turn, so +`unix/sysv/linux' and `unix/sysv' 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 +identical `irix6.2' and `irix6.3' 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 +tried for the configuration `i686-linux-gnu' (with the `crypt' and +`linuxthreads' add-on): + + sysdeps/i386/elf + crypt/sysdeps/unix + linuxthreads/sysdeps/unix/sysv/linux + linuxthreads/sysdeps/pthread + linuxthreads/sysdeps/unix/sysv + linuxthreads/sysdeps/unix + linuxthreads/sysdeps/i386/i686 + linuxthreads/sysdeps/i386 + linuxthreads/sysdeps/pthread/no-cmpxchg + sysdeps/unix/sysv/linux/i386 + sysdeps/unix/sysv/linux + sysdeps/gnu + sysdeps/unix/common + sysdeps/unix/mman + sysdeps/unix/inet + sysdeps/unix/sysv/i386/i686 + sysdeps/unix/sysv/i386 + sysdeps/unix/sysv + sysdeps/unix/i386 + sysdeps/unix + sysdeps/posix + sysdeps/i386/i686 + sysdeps/i386/i486 + sysdeps/libm-i387/i686 + sysdeps/i386/fpu + sysdeps/libm-i387 + sysdeps/i386 + sysdeps/wordsize-32 + sysdeps/ieee754 + sysdeps/libm-ieee754 + sysdeps/generic Different machine architectures are conventionally subdirectories at the top level of the `sysdeps' directory tree. For example, @@ -651,6 +327,15 @@ hierarchy that are not for particular machine architectures. this directory is referred to in the `Implies' file in a machine architecture-specific directory, such as `m68k/Implies'. +`libm-ieee754' + This directory contains an implementation of a mathematical library + usable on platforms which use IEEE 754 conformant floating-point + arithmetic. + +`libm-i387' + This is a special case. Ideally the code should be in + `sysdeps/i386/fpu' but for various reasons it is kept aside. + `posix' This directory contains implementations of things in the library in terms of POSIX.1 functions. This includes some of the POSIX.1 @@ -670,8 +355,8 @@ hierarchy that are not for particular machine architectures. `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'. + systems. `unix/inet/Subdirs' enables the `inet' top-level + subdirectory. `unix/common' implies `unix/inet'. `mach' This is the directory for things based on the Mach microkernel @@ -695,10 +380,11 @@ subdirectories (and subdirectory trees) for various Unix variants. The functions which are system calls in most Unix systems are implemented in assembly code, which is generated automatically from -specifications in the file `sysdeps/unix/syscalls.list'. Some special -system calls are implemented in files that are named with a suffix of -`.S'; for example, `_exit.S'. Files ending in `.S' are run through the -C preprocessor before being fed to the assembler. +specifications in files named `syscalls.list'. There are several such +files, one in `sysdeps/unix' and others in its subdirectories. Some +special system calls are implemented in files that are named with a +suffix of `.S'; for example, `_exit.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 @@ -707,368 +393,12 @@ 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 + The system-specific makefile for the `unix' directory +(`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 originally by Roland McGrath. 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. - - * 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 Torbj"orn Granlund. - - * 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' and `nftw' function was contributed by Ulrich Drepper. - - * The startup code to support SunOS shared libraries was contributed - by Tom Quinn. - - * The `mktime' function was contributed by Paul Eggert. - - * 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 and his many contributors. - - * 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 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 contributed by Kazumoto Kojima. - - * The floating-point printing function used by `printf' and friends - and the floating-point reading function used by `scanf', `strtod' - and friends were written by Ulrich Drepper. The multi-precision - integer functions used in those functions are taken from GNU MP, - which was contributed by Torbj"orn Granlund. - - * The internationalization support in the library, and the support - programs `locale' and `localedef', were written by Ulrich Drepper. - Ulrich Drepper adapted the support code for message catalogs - (`libintl.h', etc.) from the GNU `gettext' package, which he also - wrote. He also contributed the `catgets' support and the entire - suite of multi-byte and wide-character support functions - (`wctype.h', `wchar.h', etc.). - - * The implementations of the `nsswitch.conf' mechanism and the files - and DNS backends for it were designed and written by Ulrich - Drepper and Roland McGrath, based on a backend interface defined - by Peter Eriksson. - - * The port to Linux i386/ELF (`i386-ANYTHING-linux') was contributed - by Ulrich Drepper, based in large part on work done in Hongjiu - Lu's Linux version of the GNU C Library. - - * The port to Linux/m68k (`m68k-ANYTHING-linux') was contributed by - Andreas Schwab. - - * The ports to Linux/ARM (`arm-ANYTHING-linuxaout') and ARM - standalone (`arm-ANYTHING-none'), as well as parts of the IPv6 - support code, were contributed by Philip Blundell. - - * Richard Henderson contributed the ELF dynamic linking code and - other support for the Alpha processor. - - * David Mosberger-Tang contributed the port to Linux/Alpha - (`alpha-ANYTHING-linux'). - - * The port to Linux on PowerPC (`powerpc-ANYTHING-linux') was - contributed by Geoffrey Keating. - - * Miles Bader wrote the argp argument-parsing package, and the - argz/envz interfaces. - - * Stephen R. van den Berg contributed a highly-optimized `strstr' - function. - - * Ulrich Drepper contributed the `hsearch' and `drand48' families of - functions; reentrant `...`_r'' versions of the `random' family; - System V shared memory and IPC support code; and several - highly-optimized string functions for iX86 processors. - - * The math functions are taken from `fdlibm-5.1' by Sun - Microsystems, as modified by J.T. Conklin, Ian Lance Taylor, - Ulrich Drepper, Andreas Schwab, and Roland McGrath. - - * The `libio' library used to implement `stdio' functions on some - platforms was written by Per Bothner and modified by Ulrich - Drepper. - - * The Internet-related code (most of the `inet' subdirectory) and - several other miscellaneous functions and header files have been - included from 4.4 BSD 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 ISO C - standard, but the functional code is Berkeley's. - - * The Internet resolver code is taken directly from BIND 4.9.5, - 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 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 - - * 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 code for the database library `libdb' comes from the 2.3 - release of Berkeley DB. That code is under the same copyright as - 4.4 BSD and also: - - Copyright (C) 1990, 1993, 1994, 1995, 1996, 1997 - Sleepycat Software. 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. Redistributions in any form must be accompanied by - information on how to obtain complete source code for - the DB software and any accompanying software that uses - the DB software. The source code must either be - included in the distribution or be available for no more - than the cost of distribution plus a nominal fee, and - must be freely redistributable under reasonable - conditions. For an executable file, complete source - code means the source code for all modules it contains. - It does not mean source code for modules or files that - typically accompany the operating system on which the - executable file runs, e.g., standard library modules or - system header files. - - THIS SOFTWARE IS PROVIDED BY SLEEPYCAT SOFTWARE "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 - SLEEPYCAT SOFTWARE 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. - - Portions copyright (C) 1995, 1996 - The President and Fellows of Harvard University. - 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 - Harvard University 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 HARVARD AND ITS 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 HARVARD OR ITS 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. - - For a license to use, redistribute or sell DB software under - conditions other than those described above, or to purchase - support for this software, please contact Sleepycat Software - at - - Sleepycat Software - 394 E. Riding Dr. - Carlisle, MA 01741 - USA - +1-508-287-4781 - - or <db@sleepycat.com>. - - |