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
diff --git a/chapter06/gcc-inst.xml b/chapter06/gcc-inst.xml
index 0098bf8df..ccc5c0690 100644
--- a/chapter06/gcc-inst.xml
+++ b/chapter06/gcc-inst.xml
@@ -38,25 +38,6 @@ cd ../gcc-build
--enable-__cxa_atexit --enable-clocale=gnu \
--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
-will result in C++ shared libraries and C++ programs that are interoperable
-with other Linux distributions.
-
---enable-clocale=gnu: There is a risk
-that some people will build ABI incompatible C++ libraries if they didn't
-install all of the glibc localedata. Using --enable-clocale=gnu ensures that
-the "right thing" is done in all cases. If you don't wish to use this option,
-then at least build the de_DE locale. When GCC finds
-this specific locale, then the correct locale mode (gnu)
-is implemented.
-
-
Compile the package:
make
diff --git a/chapter06/glibc-inst.xml b/chapter06/glibc-inst.xml
index add173582..153980aac 100644
--- a/chapter06/glibc-inst.xml
+++ b/chapter06/glibc-inst.xml
@@ -34,16 +34,9 @@ cd ../glibc-build
--disable-profile --enable-add-ons \
--libexecdir=/usr/bin --with-headers=/usr/include
-The meaning of the configure options:
+The meaning of the new configure options:
---disable-profile: This disables the
-building of the libraries with profiling information. Omit this option if you
-plan to do profiling.
-
---enable-add-ons: This enables any
-add-ons that we installed with Glibc, in our case Linuxthreads.
-
--libexecdir=/usr/bin: This will
cause the pt_chown program to be installed in the
/usr/bin directory.
@@ -52,7 +45,7 @@ cause the pt_chown program to be installed in the
ensures that the kernel headers in /usr/include are used
for this build. If you don't pass this switch then the headers from
/tools/include are used which of course is not ideal
-(although they should be identical). Using the switch has the advantage
+(although they should be identical). Using this switch has the advantage
that you will be informed immediately should you have forgotten to install the
kernel headers into /usr/include.
diff --git a/chapter06/inetutils-inst.xml b/chapter06/inetutils-inst.xml
index ac8dd0b27..a3d9e1329 100644
--- a/chapter06/inetutils-inst.xml
+++ b/chapter06/inetutils-inst.xml
@@ -23,10 +23,6 @@ prevents inetutils from installing the logger program, which is used by
scripts to pass messages to the System Log Daemon. We do not install it
because Util-linux installs a better version later.
---sysconfdir=/etc: This option
-tells the binaries created by the package to look in /etc for their
-configuration files
-
--disable-whois: This option disables
the building of the inetutils whois client, which is woefully out of date.
Instructions for a better whois client are in the BLFS book.
diff --git a/chapter06/less-inst.xml b/chapter06/less-inst.xml
index 33d49a375..07765756f 100644
--- a/chapter06/less-inst.xml
+++ b/chapter06/less-inst.xml
@@ -7,6 +7,14 @@
./configure --prefix=/usr --bindir=/bin --sysconfdir=/etc
+The meaning of the configure option:
+
+
+--sysconfdir=/etc: This option tells the
+programs created by the package to look in /etc for their
+configuration files.
+
+
Compile the package:
make
diff --git a/chapter06/psmisc-inst.xml b/chapter06/psmisc-inst.xml
index d6fcb9648..59780e6f6 100644
--- a/chapter06/psmisc-inst.xml
+++ b/chapter06/psmisc-inst.xml
@@ -7,7 +7,7 @@
./configure --prefix=/usr --exec-prefix=/
-The meaning of the new configure option:
+The meaning of the configure option:
--exec-prefix=/: This causes the