From 3c20b9b6a527397cf32fb013c86b1e4b5c422dc0 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 17 Mar 1998 17:27:52 +0000 Subject: Update. 1998-03-18 00:25 Tim Waugh * posix/wordexp.c (parse_comm): Allow quoting inside $(...). (parse_param): Fold in Andreas' fixes to do with when the end of the parameter name has been reached, and quoting inside ${...}. (parse_dollars): Fix differentiation between $(((1+3)*(4-2))) and $((echo);(ls)). 1998-03-16 22:10 Zack Weinberg * manual/maint.texi: Split out installation and contribution sections to their own appendices. Misc cleanups. * manual/install.texi: New file. Mention add-ons. Refer to FAQ. * manual/contrib.texi: New file. * manual/libc.texinfo: Pull in new appendices. * manual/header.texi: Correct node pointer. 1998-03-17 Andreas Jaeger * manual/process.texi (Process Completion): Clarify return value of waitpid a bit. Patch by Zack Weinberg. [PR libc/490] --- manual/maint.texi | 792 +----------------------------------------------------- 1 file changed, 7 insertions(+), 785 deletions(-) (limited to 'manual/maint.texi') diff --git a/manual/maint.texi b/manual/maint.texi index 6225cb4..b8ae488 100644 --- a/manual/maint.texi +++ b/manual/maint.texi @@ -1,384 +1,13 @@ -@c \input /gd/gnu/doc/texinfo -@c This is for making the `INSTALL' file for the distribution. -@c Makeinfo ignores it when processing the file from the include. -@setfilename INSTALL - -@node Maintenance, Copying, Library Summary, Top +@node Maintenance, Contributors, Installation, Top @appendix Library Maintenance @menu -* Installation:: How to configure, compile and - install the GNU C library. -* Reporting Bugs:: How to report bugs (if you want to - get them fixed) and other troubles - you may have with the GNU C library. * Source Layout:: How to add new functions or header files to the GNU C library. * Porting:: How to port the GNU C library to a new machine or operating system. -* Contributors:: Contributors to the GNU C Library. -@end menu - -@node Installation -@appendixsec How to Install the GNU C Library -@cindex installing the library - -Installation of the GNU C library is relatively simple, but usually -requires several GNU tools to be installed already. -@iftex -(@pxref{Tools for Installation}, below.) -@end iftex - -@menu -* Tools for Installation:: We recommend using these tools to build. -* Supported Configurations:: What systems the GNU C library runs on. @end menu -To configure the GNU C library for your system, run the shell script -@file{configure} with @code{sh}. Use an argument which is the -conventional GNU name for your system configuration---for example, -@samp{sparc-sun-sunos4.1}, for a Sun 4 running SunOS 4.1. -@xref{Installation, Installation, Installing GNU CC, gcc.info, Using and -Porting GNU CC}, for a full description of standard GNU configuration -names. If you omit the configuration name, @file{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. @file{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 @code{configure}: - -@table @samp -@item --with-binutils=@var{directory} -Use the binutils (assembler and linker) in @file{@var{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. (@code{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.) - -@c extra blank line makes it look better -@item --without-fp -@itemx --nfp - -Use this option if your computer lacks hardware floating-point support -and your operating system does not emulate an FPU. - -@item --prefix=@var{directory} -Install machine-independent data files in subdirectories of -@file{@var{directory}}. (You can also set this in @file{configparms}; -see below.) The default is to install in `/usr/local'. - -@item --exec-prefix=@var{directory} -Install the library and other machine-dependent files in subdirectories -of @file{@var{directory}}. (You can also set this in -@file{configparms}; see below.) The default is to use /bin -and /sbin. - -@item --enable-shared -@itemx --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 @code{binutils} are available. - -@item --enable-profile -@itemx --disable-profile -Enable or disable building of the profiled C library, @samp{-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. - -@item --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 -@samp{-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 @samp{-lc_g}. -@end table - -The simplest way to run @code{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 @code{configure}. In order to run -configure, you will have to specify a directory for it, like this: - -@smallexample -mkdir sun4 -cd sun4 -../configure sparc-sun-sunos4.1 -@end smallexample - -@noindent -@code{configure} looks for the sources in whatever directory you -specified for finding @code{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 @code{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 @code{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 @file{Makeconfig}; see the comments in -that file for the details. - -But don't edit the file @file{Makeconfig} yourself---instead, create a -file @file{configparms} in the directory where you are building the -library, and define in that file the parameters you want to specify. -@file{configparms} should @strong{not} be an edited copy of -@file{Makeconfig}; specify only the parameters that you want to -override. To see how to set these parameters, find the section of -@file{Makeconfig} that says ``These are the configuration variables.'' -Then for each parameter that you want to change, copy the definition -from @file{Makeconfig} to your new @file{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 @file{configparms}. Set @code{CC} to the -cross-compiler for the target you configured the library for; it is -important to use this same @code{CC} value when running -@code{configure}, like this: @samp{CC=@var{target}-gcc configure -@var{target}}. Set @code{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 @code{AR} and @code{RANLIB} to cross-compiling versions -of @code{ar} and @code{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 @code{make}. This will -produce a lot of output, some of which may look like errors from -@code{make} (but isn't). Look for error messages from @code{make} -containing @samp{***}. Those indicate that something is really wrong. - -To build and run some test programs which exercise some of the library -facilities, type @code{make check}. This will produce several files -with names like @file{@var{program}.out}. - -To format the @cite{GNU C Library Reference Manual} for printing, type -@w{@code{make dvi}}. You need a working @TeX{} installation to do this. - -To install the library and its header files, and the Info files of the -manual, type @code{make install}. This will build things if necessary, -before installing them. If you want to install the files in a different -place than the one specified at configuration time you can specify a -value for the Makefile variable @code{install_root} on the command line. -This is useful to create chroot'ed environment or to prepare binary -releases.@refill - -@node Tools for Installation -@appendixsubsec Recommended Tools to Install the GNU C Library -@cindex installation tools -@cindex tools, for installing library - -We recommend installing the following GNU tools before attempting to -build the GNU C library: - -@itemize @bullet -@item -GNU @code{make} 3.75 - -You need the latest version of GNU @code{make}. Modifying the GNU C -Library to work with other @code{make} programs would be so hard that we -recommend you port GNU @code{make} instead. @strong{Really.} We -recommend version GNU @code{make} version 3.75. Versions 3.76 and -3.76.1 are known to have bugs which only show up in big projects like -GNU @code{libc}. - -@item -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. - -@item -GNU @code{binutils} 2.8.1.0.17 - -Using the GNU @code{binutils} (assembler, linker, and related tools) is -preferable when possible, and they are required to build an ELF shared C -library. We recommend @code{binutils} version 2.8.1 or later; earlier -versions are known to have problems or to not support all architectures. - -@item -GNU @code{texinfo} 3.11 - -To correctly translate and install the Texinfo documentation you need -this version of the @code{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 @code{install-info} program -works differently. Here you have to run make like this: - -@smallexample -make INSTALL_INFO=/path/to/GNU/install-info install -@end smallexample -@end itemize - -If you change any configuration file you will need also - -@itemize @bullet -@item -GNU @code{autoconf} 2.12 -@end itemize - -@noindent -and if you change any of the message translation files you will also need - -@itemize @bullet -@item -@code{GNU gettext} 0.10 or later -@end itemize - -If any of the manual files changed you will need this - -@itemize @bullet -@item -GNU @code{awk} 3.0 -@end itemize - -@noindent -If you upgrade your source tree using the patches made available you probably -will need those package above in any case. - - -@node Supported Configurations -@appendixsubsec Supported Configurations -@cindex configurations, all supported - -The GNU C Library currently supports configurations that match the -following patterns: - -@smallexample -alpha-@var{anything}-linux -i@var{x}86-@var{anything}-gnu -i@var{x}86-@var{anything}-linux -m68k-@var{anything}-linux -powerpc-@var{anything}-linux -sparc64-@var{anything}-linux -@end smallexample - -Former releases of this library (version 1.09.1 and perhaps earlier -versions) used to run on the following configurations: - -@smallexample -alpha-dec-osf1 -alpha-@var{anything}-linuxecoff -i@var{x}86-@var{anything}-bsd4.3 -i@var{x}86-@var{anything}-isc2.2 -i@var{x}86-@var{anything}-isc3.@var{n} -i@var{x}86-@var{anything}-sco3.2 -i@var{x}86-@var{anything}-sco3.2v4 -i@var{x}86-@var{anything}-sysv -i@var{x}86-@var{anything}-sysv4 -i@var{x}86-force_cpu386-none -i@var{x}86-sequent-bsd -i960-nindy960-none -m68k-hp-bsd4.3 -m68k-mvme135-none -m68k-mvme136-none -m68k-sony-newsos3 -m68k-sony-newsos4 -m68k-sun-sunos4.@var{n} -mips-dec-ultrix4.@var{n} -mips-sgi-irix4.@var{n} -sparc-sun-solaris2.@var{n} -sparc-sun-sunos4.@var{n} -@end smallexample - -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 @email{bug-glibc@@gnu.org}. - -Each case of @samp{i@var{x}86} can be @samp{i386}, @samp{i486}, -@samp{i586}, or @samp{i686}. All of those configurations produce a -library that can run on any of these processors. The library will be -optimized for the specified processor, but will not use instructions not -available on all of them. - -While no other configurations are supported, there are handy aliases for -these few. (These aliases work in other GNU software as well.) - -@smallexample -decstation -hp320-bsd4.3 hp300bsd -i486-gnu -i586-linux -i386-sco -i386-sco3.2v4 -i386-sequent-dynix -i386-svr4 -news -sun3-sunos4.@var{n} sun3 -sun4-solaris2.@var{n} sun4-sunos5.@var{n} -sun4-sunos4.@var{n} sun4 -@end smallexample - -@node Reporting Bugs -@appendixsec Reporting Bugs -@cindex reporting bugs -@cindex bugs, reporting - -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 -@file{config.status} and @file{config.make} which are created by running -@file{configure}; they will be in whatever directory was current when -you ran @file{configure}. - -If you think you have found some way in which the GNU C library does not -conform to the ISO and POSIX standards (@pxref{Standards and -Portability}), that is definitely a bug. Report it!@refill - -Send bug reports to the Internet address -@email{bug-glibc@@gnu.org}. If you have other problems -with installation or use, please report those as well.@refill - -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 @email{bug-glibc-manual@@gnu.org}. - @node Source Layout @appendixsec Adding New Functions @@ -781,7 +410,7 @@ Both @file{unix/bsd} and @file{unix/sysv/sysv4} imply @file{unix/common}. @item unix/inet This directory is for @code{socket} and related functions on Unix systems. -The @file{inet} top-level subdirectory is enabled by @file{unix/inet/Subdirs}. +@file{unix/inet/Subdirs} enables the @file{inet} top-level subdirectory. @file{unix/common} implies @file{unix/inet}. @end table @@ -806,8 +435,9 @@ 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 @file{sysdeps/unix/syscalls.list}. Some -special system calls are implemented in files that are named with a +specifications in files named @file{syscalls.list}. There are several +such files, one in @file{sysdeps/unix} and others in its subdirectories. +Some special system calls are implemented in files that are named with a suffix of @samp{.S}; for example, @file{_exit.S}. Files ending in @samp{.S} are run through the C preprocessor before being fed to the assembler. @@ -820,8 +450,8 @@ variant. See @file{sysdeps/unix/sysdep.h} and the machine-specific @file{sysdep.h} implementations to see what these macros are and what they should do.@refill -The system-specific makefile for the @file{unix} directory (that is, the -file @file{sysdeps/unix/Makefile}) gives rules to generate several files +The system-specific makefile for the @file{unix} directory +(@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 @emph{for}). All the generated files are put in the directory where the object files are @@ -843,411 +473,3 @@ organization of the GNU C library header files differs from that of traditional C implementations. This means you may need to make changes to your program in order to get it to compile. @end ignore - -@node Contributors -@appendixsec 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. - -@itemize @bullet -@item -The @code{getopt} function and related code were written by -Richard Stallman, @w{David J. MacKenzie}, and @w{Roland McGrath}. - -@item -The merge sort function @code{qsort} was written by Michael J. Haertel. - -@item -The quick sort function used as a fallback by @code{qsort} was written -by Douglas C. Schmidt. - -@item -The memory allocation functions @code{malloc}, @code{realloc} and -@code{free} and related code were written by Michael J. Haertel. - -@item -Fast implementations of many of the string functions (@code{memcpy}, -@code{strlen}, etc.) were written by Torbj@"orn Granlund. - -@item -The @file{tar.h} header file was written by David J. MacKenzie. - -@item -The port to the MIPS DECStation running Ultrix 4 -(@code{mips-dec-ultrix4}) -was contributed by Brendan Kehoe and Ian Lance Taylor. - -@item -The DES encryption function @code{crypt} and related functions were -contributed by Michael Glad. - -@item -The @code{ftw} and @code{nftw} function was contributed by Ulrich Drepper. - -@item -The startup code to support SunOS shared libraries was contributed by -Tom Quinn. - -@item -The @code{mktime} function was contributed by Paul Eggert. - -@item -The port to the Sequent Symmetry running Dynix version 3 -(@code{i386-sequent-bsd}) was contributed by Jason Merrill. - -@item -The timezone support code is derived from the public-domain timezone -package by Arthur David Olson and his many contributors. - -@item -The port to the DEC Alpha running OSF/1 (@code{alpha-dec-osf1}) was -contributed by Brendan Kehoe, using some code written by Roland McGrath. - -@item -The port to SGI machines running Irix 4 (@code{mips-sgi-irix4}) was -contributed by Tom Quinn. - -@item -The port of the Mach and Hurd code to the MIPS architecture -(@code{mips-@var{anything}-gnu}) was contributed by Kazumoto Kojima. - -@item -The floating-point printing function used by @code{printf} and friends -and the floating-point reading function used by @code{scanf}, -@code{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. - -@item -The internationalization support in the library, and the support -programs @code{locale} and @code{localedef}, were written by Ulrich -Drepper. Ulrich Drepper adapted the support code for message catalogs -(@file{libintl.h}, etc.) from the GNU @code{gettext} package, which he -also wrote. He also contributed the @code{catgets} support and the -entire suite of multi-byte and wide-character support functions -(@file{wctype.h}, @file{wchar.h}, etc.). - -@item -The implementations of the @file{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. - -@item -The port to Linux i386/ELF (@code{i386-@var{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. - -@item -The port to Linux/m68k (@code{m68k-@var{anything}-linux}) was -contributed by Andreas Schwab. - -@item -The ports to Linux/ARM (@code{arm-@var{ANYTHING}-linuxaout}) and ARM -standalone (@code{arm-@var{ANYTHING}-none}), as well as parts of the -IPv6 support code, were contributed by Philip Blundell. - -@item -Richard Henderson contributed the ELF dynamic linking code and other -support for the Alpha processor. - -@item -David Mosberger-Tang contributed the port to Linux/Alpha -(@code{alpha-@var{anything}-linux}). - -@item -The port to Linux on PowerPC (@code{powerpc-@var{anything}-linux}) -was contributed by Geoffrey Keating. - -@item -Miles Bader wrote the argp argument-parsing package, and the argz/envz -interfaces. - -@item -Stephen R. van den Berg contributed a highly-optimized @code{strstr} function. - -@item -Ulrich Drepper contributed the @code{hsearch} and @code{drand48} -families of functions; reentrant @samp{@dots{}@code{_r}} versions of the -@code{random} family; System V shared memory and IPC support code; and -several highly-optimized string functions for i@var{x}86 processors. - -@item -The math functions are taken from @code{fdlibm-5.1} by Sun -Microsystems, as modified by J.T. Conklin, Ian Lance Taylor, -Ulrich Drepper, Andreas Schwab, and Roland McGrath. - -@item -The @code{libio} library used to implement @code{stdio} functions on -some platforms was written by Per Bothner and modified by Ulrich Drepper. - -@item -The Internet-related code (most of the @file{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: - -@quotation -@display -Copyright @copyright{} 1991 Regents of the University of California. -All rights reserved. -@end display - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -@enumerate -@item -Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -@item -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. -@item -All advertising materials mentioning features or use of this software -must display the following acknowledgement: -@quotation -This product includes software developed by the University of -California, Berkeley and its contributors. -@end quotation -@item -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. -@end enumerate - -@sc{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.} -@end quotation - -@item -The random number generation functions @code{random}, @code{srandom}, -@code{setstate} and @code{initstate}, which are also the basis for the -@code{rand} and @code{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 @w{ISO C} standard, -but the functional code is Berkeley's.@refill - -@item -The Internet resolver code is taken directly from BIND 4.9.5, which is -under both the Berkeley copyright above and also: - -@quotation -Portions Copyright @copyright{} 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. - -@sc{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.} -@end quotation - -@item -The code to support Sun RPC is taken verbatim from Sun's -@w{@sc{rpcsrc-4.0}} distribution, and is covered by this copyright: - -@quotation -@display -Copyright @copyright{} 1984, Sun Microsystems, Inc. -@end display - -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. - -@sc{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. - -@sc{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. - -@display -Sun Microsystems, Inc. -2550 Garcia Avenue -Mountain View, California 94043 -@end display -@end quotation - -@item -Some of the support code for Mach is taken from Mach 3.0 by CMU, -and is under the following copyright terms: - -@quotation -@display -Mach Operating System -Copyright @copyright{} 1991,1990,1989 Carnegie Mellon University -All Rights Reserved. -@end display - -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. - -@sc{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 - -@display - Software Distribution Coordinator - School of Computer Science - Carnegie Mellon University - Pittsburgh PA 15213-3890 -@end display - -@noindent -or @email{Software.Distribution@@CS.CMU.EDU} any improvements or -extensions that they make and grant Carnegie Mellon the rights to -redistribute these changes. -@end quotation - -@item -The code for the database library @file{libdb} comes from the 2.3 -release of Berkeley DB. That code is under the same copyright as 4.4 BSD -and also: - -@quotation -@display -Copyright @copyright{} 1990, 1993, 1994, 1995, 1996, 1997 -Sleepycat Software. All rights reserved. -@end display - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -@enumerate -@item -Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -@item -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. -@item -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. -@end enumerate - -@sc{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.} - -@display -Portions copyright @copyright{} 1995, 1996 -The President and Fellows of Harvard University. -All rights reserved. -@end display - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: -@enumerate -@item -Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. -@item -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. -@item -All advertising materials mentioning features or use of this software -must display the following acknowledgement: -@quotation - This product includes software developed by Harvard University - and its contributors. -@end quotation -@item -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. -@end enumerate - -@sc{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.} - -@noindent -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 - -@display - Sleepycat Software - 394 E. Riding Dr. - Carlisle, MA 01741 - USA - +1-508-287-4781 -@end display - -or @email{db@@sleepycat.com}. - -@end quotation - -@end itemize - -@c @bye -- cgit v1.1