From aa497295b352d45ebe2e9d1eaa4a46c49e2cf521 Mon Sep 17 00:00:00 2001 From: Greg Schafer Date: Wed, 24 Sep 2003 14:59:09 +0000 Subject: First half of fixes for Bug 675 - missing command descriptions. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2878 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter05/binutils-pass1-inst.xml | 24 ++++++++++++++++++++---- chapter05/gcc-pass1-inst.xml | 2 +- chapter05/gcc-pass2-inst.xml | 31 ++++++++++++++++++++++++++++--- chapter05/glibc-inst.xml | 2 +- chapter05/grep-inst.xml | 2 +- 5 files changed, 51 insertions(+), 10 deletions(-) (limited to 'chapter05') diff --git a/chapter05/binutils-pass1-inst.xml b/chapter05/binutils-pass1-inst.xml index 32d8e0008..e10415645 100644 --- a/chapter05/binutils-pass1-inst.xml +++ b/chapter05/binutils-pass1-inst.xml @@ -29,7 +29,7 @@ cd ../binutils-build ../binutils-&binutils-version;/configure \     --prefix=/tools --disable-nls -The meaning of the configure switches: +The meaning of the configure options: --prefix=/tools: This tells the @@ -49,9 +49,11 @@ make LDFLAGS="-all-static" The meaning of the make option: -LDFLAGS="-all-static": This tells -the linker that all the Binutils programs should be linked -statically. +LDFLAGS="-all-static": This tells the +linker that all the Binutils programs should be linked statically. However, +strictly speaking, "-all-static" is first passed on to +the libtool program which then passes +"-static" on to the linker. And install the package: @@ -63,6 +65,20 @@ statically. make -C ld clean make -C ld LIB_PATH=/tools/lib +The meaning of the make options: + + +-C ld clean: This tells the make program +to remove all the compiled files only in the ld +subdirectory. + +-C ld LIB_PATH=/tools/lib: This option +rebuilds everything in the ld subdirectory. Specifying the +LIB_PATH makefile variable on the command line allows us to override the default +value and have it point to our temporary tools location. This preparation will +be utilised later on in the chapter. + + Do not yet remove the Binutils build and source directories. You will need them again in their current state a bit further on in this chapter. diff --git a/chapter05/gcc-pass1-inst.xml b/chapter05/gcc-pass1-inst.xml index dccef7ffd..d0cdf0dc3 100644 --- a/chapter05/gcc-pass1-inst.xml +++ b/chapter05/gcc-pass1-inst.xml @@ -30,7 +30,7 @@ cd ../gcc-build     --disable-nls --enable-shared \     --enable-languages=c -The meaning of the new configure options: +The meaning of the configure options: --with-local-prefix=/tools: The diff --git a/chapter05/gcc-pass2-inst.xml b/chapter05/gcc-pass2-inst.xml index 74ef57c8c..bd2ba4428 100644 --- a/chapter05/gcc-pass2-inst.xml +++ b/chapter05/gcc-pass2-inst.xml @@ -27,9 +27,9 @@ get PTYs working. It's worth pointing out that the GCC test suite we run in this section is considered not as important as the one we run in Chapter 6. -Unpack all three GCC tarballs (-core, -g++, and -testsuite) in one and the same working directory. -They will all unfold into a single gcc-&gcc-version;/ -subdir. +Unpack all three GCC tarballs (-core, -g++, and -testsuite) in one and the +same working directory. They will all unfold into a single +gcc-&gcc-version;/ subdirectory. First correct one problem and make an essential adjustment: @@ -74,6 +74,31 @@ variables that override the default optimization flags.     --enable-threads=posix --enable-__cxa_atexit \     --enable-languages=c,c++ +The meaning of the new configure options: + + +--enable-threads=posix: This enables +C++ exception handling for multi-threaded code. + +--enable-__cxa_atexit: This option +allows use of __cxa_atexit, rather than atexit, to register C++ destructors for +local statics and global objects and is essential for fully standards-compliant +handling of destructors. It also affects the C++ ABI and therefore results in +C++ shared libraries and C++ programs that are interoperable with other Linux +distributions. + +--enable-clocale=gnu: This option ensures +the correct locale model is selected for the C++ libraries under all +circumstances. If the configure script finds the de_DE +locale installed, it will select the correct model of gnu. +However, people who don't install the de_DE locale, run the +risk of building ABI incompatible C++ libraries due to the wrong locale model of +generic being selected. + +--enable-languages=c,c++: This option is +needed to ensure that both C and C++ compilers are built. + + Compile the package: make diff --git a/chapter05/glibc-inst.xml b/chapter05/glibc-inst.xml index a54950829..433d6371b 100644 --- a/chapter05/glibc-inst.xml +++ b/chapter05/glibc-inst.xml @@ -48,7 +48,7 @@ cd ../glibc-build     --with-binutils=/tools/bin \     --without-gd -The meaning of the new configure options: +The meaning of the configure options: --disable-profile: This disables the diff --git a/chapter05/grep-inst.xml b/chapter05/grep-inst.xml index 74233ee66..9cbc96139 100644 --- a/chapter05/grep-inst.xml +++ b/chapter05/grep-inst.xml @@ -8,7 +8,7 @@ ./configure --prefix=/tools \     --disable-perl-regexp --with-included-regex -The meaning of the configure switches: +The meaning of the configure options: --disable-perl-regexp: This makes sure -- cgit v1.2.3-54-g00ecf