diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | INSTALL | 19 | ||||
-rw-r--r-- | manual/install.texi | 25 |
3 files changed, 41 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog index 9bc1c16d2a..c5696dbe36 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,14 @@ 2018-02-15 Joseph Myers <joseph@codesourcery.com> + [BZ #20980] + [BZ #21234] + * manual/install.texi (Configuring and compiling): Describe + passing CC and CFLAGS on configure command line, not as + environment variables. Use @code markup on those variables. + Specify what options go in CC and what go in CFLAGS. Note the + requirement to compile with optimization. + * INSTALL: Regenerated. + [BZ #18124] * sysdeps/hppa/bsd-setjmp.S: Include <sysdep.h>. (setjmp): Use HIDDEN_JUMPTARGET with __sigsetjmp. diff --git a/INSTALL b/INSTALL index 64dec3473e..052b1b6f89 100644 --- a/INSTALL +++ b/INSTALL @@ -36,9 +36,18 @@ 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 -will be used, and CFLAGS sets optimization options for the compiler. + It may also be useful to pass 'CC=COMPILER' and 'CFLAGS=FLAGS' +arguments to 'configure'. 'CC' selects the C compiler that will be +used, and 'CFLAGS' sets optimization options for the compiler. Any +compiler options required for all compilations, such as options +selecting an ABI or a processor for which to generate code, should be +included in 'CC'. Options that may be overridden by the GNU C Library +build system for particular files, such as for optimization and +debugging, should go in 'CFLAGS'. The default value of 'CFLAGS' is '-g +-O2', and the GNU C Library cannot be compiled without optimization, so +if 'CFLAGS' is specified it must enable optimization. For example: + + $ ../glibc-VERSION/configure CC="gcc -m32" CFLAGS="-O3" The following list describes all of the available options for 'configure': @@ -210,7 +219,7 @@ will be used, and CFLAGS sets optimization options for the compiler. but you want to compile a library for 586es, give '--host=i586-pc-linux-gnu' or just '--host=i586-linux' and add the appropriate compiler flags ('-mcpu=i586' will do the trick) to - CFLAGS. + 'CC'. If you specify just '--build', 'configure' will get confused. @@ -304,7 +313,7 @@ makefiles. setting a few variables in 'configparms'. Set 'CC' to the cross-compiler for the target you configured the library for; it is important to use this same 'CC' value when running 'configure', like -this: 'CC=TARGET-gcc configure TARGET'. Set 'BUILD_CC' to the compiler +this: 'configure TARGET CC=TARGET-gcc'. Set 'BUILD_CC' to the compiler to use for programs run on the build system as part of compiling the library. You may need to set 'AR' to cross-compiling versions of 'ar' if the native tools are not configured to work with object files for the diff --git a/manual/install.texi b/manual/install.texi index 43dd8d6b81..4bbbfcffa5 100644 --- a/manual/install.texi +++ b/manual/install.texi @@ -59,10 +59,21 @@ but the normal setting to install as the standard system library is @samp{--prefix=/usr} for @gnulinuxsystems{} and @samp{--prefix=} (an empty prefix) for @gnuhurdsystems{}. -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 -compiler that will be used, and @var{CFLAGS} sets optimization options -for the compiler. +It may also be useful to pass @samp{CC=@var{compiler}} and +@code{CFLAGS=@var{flags}} arguments to @code{configure}. @code{CC} +selects the C compiler that will be used, and @code{CFLAGS} sets +optimization options for the compiler. Any compiler options required +for all compilations, such as options selecting an ABI or a processor +for which to generate code, should be included in @code{CC}. Options +that may be overridden by the @glibcadj{} build system for particular +files, such as for optimization and debugging, should go in +@code{CFLAGS}. The default value of @code{CFLAGS} is @samp{-g -O2}, +and @theglibc{} cannot be compiled without optimization, so if +@code{CFLAGS} is specified it must enable optimization. For example: + +@smallexample +$ ../glibc-@var{version}/configure CC="gcc -m32" CFLAGS="-O3" +@end smallexample The following list describes all of the available options for @code{configure}: @@ -241,7 +252,7 @@ if @code{configure} guesses your machine as @code{i686-pc-linux-gnu} but you want to compile a library for 586es, give @samp{--host=i586-pc-linux-gnu} or just @samp{--host=i586-linux} and add the appropriate compiler flags (@samp{-mcpu=i586} will do the trick) to -@var{CFLAGS}. +@code{CC}. If you specify just @samp{--build}, @code{configure} will get confused. @@ -339,8 +350,8 @@ It is easy to configure @theglibc{} for cross-compilation by setting a few variables in @file{configparms}. Set @code{CC} to the cross-compiler for the target you configured the library for; it is important to use this same @code{CC} value when running -@code{configure}, like this: @samp{CC=@var{target}-gcc configure -@var{target}}. Set @code{BUILD_CC} to the compiler to use for programs +@code{configure}, like this: @samp{configure @var{target} +CC=@var{target}-gcc}. Set @code{BUILD_CC} to the compiler to use for programs run on the build system as part of compiling the library. You may need to set @code{AR} to cross-compiling versions of @code{ar} if the native tools are not configured to work with |