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