aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--INSTALL19
-rw-r--r--manual/install.texi25
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