diff options
| author | Joseph Myers <joseph@codesourcery.com> | 2012-02-28 14:44:20 +0000 |
|---|---|---|
| committer | Joseph Myers <joseph@codesourcery.com> | 2012-02-28 14:44:20 +0000 |
| commit | 1f77f0491f10f67442876cffbda387eac9eafe4d (patch) | |
| tree | 17ad3299a2c8e6198ffb4a6c33e94e38f816e284 | |
| parent | 450bf206b4eba7e2288bc6c6e487f60e26165dce (diff) | |
| download | glibc-1f77f0491f10f67442876cffbda387eac9eafe4d.tar.xz glibc-1f77f0491f10f67442876cffbda387eac9eafe4d.zip | |
Use Texinfo macros to refer to the GNU C Library within the manual.
43 files changed, 535 insertions, 460 deletions
@@ -1,3 +1,52 @@ +2012-02-28 Joseph Myers <joseph@codesourcery.com> + + * manual/macros.texi: New file. + * Makefile (INSTALL, NOTES): Depend on manual/macros.texi. + * manual/libc.texinfo: Include macros.texi. + * manual/creatute.texi: Likewise. + * manual/install.texi: Likewise. + * manual/arith.texi: Use macros @Theglibc{}, @theglibc{} and + @glibcadj{} in references to the GNU C Library. + * manual/charset.texi: Likewise. + * manual/conf.texi: Likewise. + * manual/contrib.texi: Likewise. Consistently use "GNU C Library" + when not using those macros. + * manual/creature.texi: Likewise. + * manual/crypt.texi: Likewise. + * manual/errno.texi: Likewise. + * manual/filesys.texi: Likewise. + * manual/header.texi: Likewise. + * manual/install.texi: Likewise. + * manual/intro.texi: Likewise. + * manual/io.texi: Likewise. + * manual/job.texi: Likewise. + * manual/lang.texi: Likewise. + * manual/libc.texiinfo: Likewise. + * manual/llio.texi: Likewise. + * manual/locale.texi: Likewise. + * manual/maint.texi: Likewise. + * manual/math.texi: Likewise. + * manual/memory.texi: Likewise. + * manual/message.texi: Likewise. + * manual/nss.texi: Likewise. + * manual/pattern.texi: Likewise. + * manual/process.texi: Likewise. + * manual/resource.texi: Likewise. + * manual/search.texi: Likewise. + * manual/setjmp.texi: Likewise. + * manual/signal.texi: Likewise. + * manual/socket.texi: Likewise. + * manual/startup.texi: Likewise. + * manual/stdio.texi: Likewise. + * manual/string.texi: Likewise. + * manual/sysinfo.texi: Likewise. + * manual/syslog.texi: Likewise. + * manual/terminal.texi: Likewise. + * manual/time.texi: Likewise. + * manual/users.texi: Likewise. + * INSTALL: Regenerated. + * NOTES: Regenerated. + 2012-02-28 Andreas Schwab <schwab@linux-m68k.org> * include/dirent.h: Include <dirstream.h> before @@ -6,24 +6,24 @@ 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. - Features can be added to GNU Libc via "add-on" bundles. These are -separate tar files, 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. + Features can be added to the GNU C Library via "add-on" bundles. +These are separate tar files, 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. You will need recent versions of several GNU tools: definitely GCC and GNU Make, and possibly others. *Note Tools for Compilation::, below. -Configuring and compiling GNU Libc -================================== +Configuring and compiling the GNU C Library +=========================================== -GNU libc cannot be compiled in the source directory. You must build it -in a separate build directory. For example, if you have unpacked the -glibc sources in `/src/gnu/glibc-VERSION', create a directory -`/src/gnu/glibc-build' to put the object files in. This allows -removing the whole build directory in case an error occurs, which is -the safest way to get a fresh start and should always be done. +The GNU C Library cannot be compiled in the source directory. You must +build it in a separate build directory. For example, if you have +unpacked the GNU C Library sources in `/src/gnu/glibc-VERSION', create +a directory `/src/gnu/glibc-build' to put the object files in. This +allows removing the whole build directory in case an error occurs, +which is the safest way to get a fresh start and should always be done. From your object directory, run the shell script `configure' located at the top level of the source tree. In the scenario above, you'd type @@ -36,10 +36,10 @@ directory, especially some files in the manual subdirectory. `configure' takes many options, but the only one that is usually mandatory is `--prefix'. This option tells `configure' where you want -glibc installed. This defaults to `/usr/local', but the normal setting -to install as the standard system library is `--prefix=/usr' for -GNU/Linux systems and `--prefix=' (an empty prefix) for GNU/Hurd -systems. +the GNU C Library installed. This defaults to `/usr/local', but the +normal setting to install as the standard system library is +`--prefix=/usr' for GNU/Linux systems and `--prefix=' (an empty prefix) +for GNU/Hurd systems. It may also be useful to set the CC and CFLAGS variables in the environment when running `configure'. CC selects the C compiler that @@ -59,16 +59,16 @@ will be used, and CFLAGS sets optimization options for the compiler. `--with-headers=DIRECTORY' Look for kernel header files in DIRECTORY, not `/usr/include'. - Glibc needs information from the kernel's header files describing - the interface to the kernel. Glibc will normally look in - `/usr/include' for them, but if you specify this option, it will - look in DIRECTORY instead. + The GNU C Library needs information from the kernel's header files + describing the interface to the kernel. The GNU C Library will + normally look in `/usr/include' for them, but if you specify this + option, it will look in DIRECTORY instead. This option is primarily of use on a system where the headers in - `/usr/include' come from an older version of glibc. Conflicts can - occasionally happen in this case. You can also use this option if - you want to compile glibc with a newer set of kernel headers than - the ones found in `/usr/include'. + `/usr/include' come from an older version of the GNU C Library. + Conflicts can occasionally happen in this case. You can also use + this option if you want to compile the GNU C Library with a newer + set of kernel headers than the ones found in `/usr/include'. `--enable-add-ons[=LIST]' Specify add-on packages to include in the build. If this option is @@ -93,7 +93,7 @@ will be used, and CFLAGS sets optimization options for the compiler. Use the binutils (assembler and linker) in `DIRECTORY', not the ones the C compiler would default to. You can use this option if the default binutils on your system cannot deal with all the - constructs in the GNU C library. In that case, `configure' will + constructs in the GNU C Library. In that case, `configure' will detect the problem and suppress these constructs, so that the library will still be usable, but functionality may be lost--for example, you can't build a shared libc with old binutils. @@ -132,10 +132,10 @@ will be used, and CFLAGS sets optimization options for the compiler. `--host=HOST-SYSTEM' These options are for cross-compiling. If you specify both options and BUILD-SYSTEM is different from HOST-SYSTEM, `configure' - will prepare to cross-compile glibc from BUILD-SYSTEM to be used - on HOST-SYSTEM. You'll probably need the `--with-headers' option - too, and you may have to override CONFIGURE's selection of the - compiler and/or binutils. + will prepare to cross-compile the GNU C Library from BUILD-SYSTEM + to be used on HOST-SYSTEM. You'll probably need the + `--with-headers' option too, and you may have to override + CONFIGURE's selection of the compiler and/or binutils. If you only specify `--host', `configure' will prepare for a native compile but use what you specify instead of guessing what @@ -167,8 +167,8 @@ facilities, type `make check'. If it does not complete successfully, do not use the built library, and report a bug after verifying that the problem is not already known. *Note Reporting Bugs::, for instructions on reporting bugs. Note that some of the tests assume they are not -being run by `root'. We recommend you compile and test glibc as an -unprivileged user. +being run by `root'. We recommend you compile and test the GNU C +Library as an unprivileged user. Before reporting bugs make sure there is no problem with your system. The tests (and later installation) use some pre-existing files of the @@ -188,7 +188,7 @@ build directory and add values as appropriate for your system. The file is included and parsed by `make' and has to follow the conventions for makefiles. - It is easy to configure the GNU C library for cross-compilation by + It is easy to configure the GNU C Library for cross-compilation by setting a few variables in `configparms'. Set `CC' to the cross-compiler for the target you configured the library for; it is important to use this same `CC' value when running `configure', like @@ -204,16 +204,16 @@ Installing the C Library To install the library and its header files, and the Info files of the manual, type `env LANGUAGE=C LC_ALL=C make install'. This will build things, if necessary, before installing them; however, you should still -compile everything first. If you are installing glibc as your primary -C library, we recommend that 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. +compile everything first. If you are installing the GNU C Library as +your primary C library, we recommend that 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. `make install' will do the entire job of upgrading from a previous -installation of glibc 2.x. There may sometimes be headers left behind -from the previous installation, but those are generally harmless. If -you want to avoid leaving headers behind you can do things in the -following order. +installation of the GNU C Library version 2.x. There may sometimes be +headers left behind from the previous installation, but those are +generally harmless. If you want to avoid leaving headers behind you +can do things in the following order. You must first build the library (`make'), optionally check it (`make check'), switch the include directories and then install (`make @@ -224,19 +224,20 @@ library requires the ability to compile and run programs against the old library. The new `/usr/include', after switching the include directories and before installing the library should contain the Linux headers, but nothing else. If you do this, you will need to restore -any headers from non-glibc libraries youself after installing the -library. +any headers from libraries other than the GNU C Library yourself after +installing the library. - 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. The directory should be -specified with an absolute file name. + You can install the GNU C Library 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. +The directory should be specified with an absolute file name. - Glibc includes a daemon called `nscd', 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. + The GNU C Library includes a daemon called `nscd', 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. One auxiliary program, `/usr/libexec/pt_chown', is installed setuid `root'. This program is invoked by the `grantpt' function; it sets the @@ -249,12 +250,12 @@ this program; otherwise you do. The source for `pt_chown' is in `login/programs/pt_chown.c'. After installation you might want to configure the timezone and -locale installation of your system. The GNU C library comes with a +locale installation of your system. The GNU C Library comes with a locale database which gets configured with `localedef'. For example, to set up a German locale with name `de_DE', simply issue the command `localedef -i de_DE -f ISO-8859-1 de_DE'. To configure all locales -that are supported by glibc, you can issue from your build directory the -command `make localedata/install-locales'. +that are supported by the GNU C Library, you can issue from your build +directory the command `make localedata/install-locales'. To configure the locally used timezone, set the `TZ' environment variable. The script `tzselect' helps you to select the right value. @@ -269,7 +270,7 @@ Recommended Tools for Compilation ================================= We recommend installing the following GNU tools before attempting to -build the GNU C library: +build the GNU C Library: * GNU `make' 3.79 or newer @@ -282,17 +283,17 @@ build the GNU C library: * GCC 4.3 or newer, GCC 4.6 recommended GCC 4.3 or higher is required; as of this writing, GCC 4.6 is the - compiler we advise to use to build the GNU C library. + compiler we advise to use to build the GNU C Library. - You can use whatever compiler you like to compile programs that - use GNU libc. + You can use whatever compiler you like to compile programs that use + the GNU C Library. Check the FAQ for any special compiler issues on particular platforms. * GNU `binutils' 2.15 or later - You must use GNU `binutils' (as and ld) to build the GNU C library. + You must use GNU `binutils' (as and ld) to build the GNU C Library. No other assembler or linker has the necessary functionality at the moment. @@ -338,41 +339,42 @@ patches, although we try to avoid this. Specific advice for GNU/Linux systems ===================================== -If you are installing GNU libc on a GNU/Linux system, you need to have -the header files from a 2.6.19.1 or newer kernel around for reference. -These headers must be installed using `make headers_install'; the -headers present in the kernel source directory are not suitable for -direct use by GNU libc. You do not need to use that kernel, just have -its headers installed where glibc can access them, referred to here as -INSTALL-DIRECTORY. The easiest way to do this is to unpack it in a -directory such as `/usr/src/linux-VERSION'. In that directory, run -` |
