From f1dd5475c93b2464957212d8e81b94d5b5af9630 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Wed, 27 Jan 2016 21:49:38 +0000 Subject: [PATCH] Move external build directories into dedicated build directories inside the source tree for binutils, gcc, and glibc. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10991 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter01/changelog.xml | 11 +++++++++++ chapter05/binutils-pass1.xml | 21 ++++++++++----------- chapter05/binutils-pass2.xml | 6 +++--- chapter05/gcc-pass1.xml | 10 +++++----- chapter05/gcc-pass2.xml | 6 +++--- chapter05/generalinstructions.xml | 4 +--- chapter05/glibc.xml | 10 +++++----- chapter05/libstdc++.xml | 8 ++++---- chapter06/binutils.xml | 14 +++++++------- chapter06/gcc.xml | 22 ++++++++++------------ chapter06/glibc.xml | 21 ++++++++++----------- general.ent | 4 ++-- 12 files changed, 71 insertions(+), 66 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index e6b9bfeab..3f3e2b59f 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -35,6 +35,17 @@ --> + + 2016-01-27 + + + [bdubbs] - Move external build directories into + dedicated build directories inside the source tree for + binutils, gcc, and glibc. + + + + 2016-01-24 diff --git a/chapter05/binutils-pass1.xml b/chapter05/binutils-pass1.xml index decec8b6f..ec3861eea 100644 --- a/chapter05/binutils-pass1.xml +++ b/chapter05/binutils-pass1.xml @@ -52,11 +52,11 @@ linker and assembler to determine which of their own features to enable. - The Binutils documentation recommends building Binutils outside of the - source directory in a dedicated build directory: + The Binutils documentation recommends building Binutils + in a dedicated build directory: -mkdir -v ../binutils-build -cd ../binutils-build +mkdir -v build +cd build In order for the SBU values listed in the rest of the book @@ -72,13 +72,12 @@ cd ../binutils-build Now prepare Binutils for compilation: -../binutils-&binutils-version;/configure \ - --prefix=/tools \ - --with-sysroot=$LFS \ - --with-lib-path=/tools/lib \ - --target=$LFS_TGT \ - --disable-nls \ - --disable-werror +../configure --prefix=/tools \ + --with-sysroot=$LFS \ + --with-lib-path=/tools/lib \ + --target=$LFS_TGT \ + --disable-nls \ + --disable-werror The meaning of the configure options: diff --git a/chapter05/binutils-pass2.xml b/chapter05/binutils-pass2.xml index 182fad342..080c50916 100644 --- a/chapter05/binutils-pass2.xml +++ b/chapter05/binutils-pass2.xml @@ -45,15 +45,15 @@ Create a separate build directory again: -mkdir -v ../binutils-build -cd ../binutils-build +mkdir -v build +cd build Prepare Binutils for compilation: CC=$LFS_TGT-gcc \ AR=$LFS_TGT-ar \ RANLIB=$LFS_TGT-ranlib \ -../binutils-&binutils-version;/configure \ +../configure \ --prefix=/tools \ --disable-nls \ --disable-werror \ diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml index da6ea0743..8015c1b50 100644 --- a/chapter05/gcc-pass1.xml +++ b/chapter05/gcc-pass1.xml @@ -111,15 +111,15 @@ done sed -i 's/if \((code.*))\)/if (\1 \&\& \!DEBUG_INSN_P (insn))/' gcc/sched-deps.c --> - The GCC documentation recommends building GCC outside of the - source directory in a dedicated build directory: + The GCC documentation recommends building GCC + in a dedicated build directory: -mkdir -v ../gcc-build -cd ../gcc-build +mkdir -v build +cd build Prepare GCC for compilation: -../gcc-&gcc-version;/configure \ +../configure \ --target=$LFS_TGT \ --prefix=/tools \ --with-glibc-version=2.11 \ diff --git a/chapter05/gcc-pass2.xml b/chapter05/gcc-pass2.xml index ec460e482..a8844ed7d 100644 --- a/chapter05/gcc-pass2.xml +++ b/chapter05/gcc-pass2.xml @@ -101,8 +101,8 @@ mv -v mpc-&mpc-version; mpc --> Create a separate build directory again: -mkdir -v ../gcc-build -cd ../gcc-build +mkdir -v build +cd build Before starting to build GCC, remember to unset any environment variables that override the default optimization flags. @@ -113,7 +113,7 @@ cd ../gcc-build CXX=$LFS_TGT-g++ \ AR=$LFS_TGT-ar \ RANLIB=$LFS_TGT-ranlib \ -../gcc-&gcc-version;/configure \ +../configure \ --prefix=/tools \ --with-local-prefix=/tools \ --with-native-system-header-dir=/tools/include \ diff --git a/chapter05/generalinstructions.xml b/chapter05/generalinstructions.xml index 72f460066..d2f5d61af 100644 --- a/chapter05/generalinstructions.xml +++ b/chapter05/generalinstructions.xml @@ -107,9 +107,7 @@ Change back to the sources directory. - Delete the extracted source directory and any - <package>-build - directories that were created in the build process unless instructed otherwise. + Delete the extracted source directory unless instructed otherwise. diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index 61e2d965c..a7278e337 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -47,15 +47,15 @@ patch -Np1 -i ../&glibc-upstream-patch; - The Glibc documentation recommends building Glibc outside of the source - directory in a dedicated build directory: + The Glibc documentation recommends building Glibc + in a dedicated build directory: -mkdir -v ../glibc-build -cd ../glibc-build +mkdir -v build +cd build Next, prepare Glibc for compilation: -../glibc-&glibc-version;/configure \ +../configure \ --prefix=/tools \ --host=$LFS_TGT \ --build=$(../glibc-&glibc-version;/scripts/config.guess) \ diff --git a/chapter05/libstdc++.xml b/chapter05/libstdc++.xml index 365babb3a..f3ac79de6 100644 --- a/chapter05/libstdc++.xml +++ b/chapter05/libstdc++.xml @@ -48,14 +48,14 @@ gcc-&gcc-version; directory. - Create a directory for Libstdc++ and enter it: + Create a separate build directory for Libstdc++ and enter it: -mkdir -v ../gcc-build -cd ../gcc-build +mkdir -v build +cd build Prepare Libstdc++ for compilation: -../gcc-&gcc-version;/libstdc++-v3/configure \ +../libstdc++-v3/configure \ --host=$LFS_TGT \ --prefix=/tools \ --disable-multilib \ diff --git a/chapter06/binutils.xml b/chapter06/binutils.xml index c41d62289..fb9dc4b31 100644 --- a/chapter06/binutils.xml +++ b/chapter06/binutils.xml @@ -65,17 +65,17 @@ Ask your system administrator to create more. patch -Np1 -i ../&binutils-multiple-plugins-patch; --> - The Binutils documentation recommends building Binutils outside of the - source directory in a dedicated build directory: + The Binutils documentation recommends building Binutils + in a dedicated build directory: -mkdir -v ../binutils-build -cd ../binutils-build +mkdir -v build +cd build Prepare Binutils for compilation: -../binutils-&binutils-version;/configure --prefix=/usr \ - --enable-shared \ - --disable-werror +../configure --prefix=/usr \ + --enable-shared \ + --disable-werror Compile the package: diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml index afae54041..1be390ab4 100644 --- a/chapter06/gcc.xml +++ b/chapter06/gcc.xml @@ -45,21 +45,19 @@ patch -Np1 -i ../&gcc-upstream-patch; --> - The GCC documentation recommends building GCC outside of the source - directory in a dedicated build directory: + The GCC documentation recommends building GCC in a dedicated build directory: -mkdir -v ../gcc-build -cd ../gcc-build +mkdir -v build +cd build Prepare GCC for compilation: -SED=sed \ -../gcc-&gcc-version;/configure \ - --prefix=/usr \ - --enable-languages=c,c++ \ - --disable-multilib \ - --disable-bootstrap \ - --with-system-zlib +SED=sed \ +../configure --prefix=/usr \ + --enable-languages=c,c++ \ + --disable-multilib \ + --disable-bootstrap \ + --with-system-zlib Note that for other languages, there are some prerequisites that are not yet available. See the @@ -106,7 +104,7 @@ cd ../gcc-build To receive a summary of the test suite results, run: -../gcc-&gcc-version;/contrib/test_summary +../contrib/test_summary For only the summaries, pipe the output through grep -A7 Summ. diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml index 1cbaf232a..a78d81ee7 100644 --- a/chapter06/glibc.xml +++ b/chapter06/glibc.xml @@ -77,19 +77,18 @@ patch -Np1 -i ../&glibc-largefile-patch; - The Glibc documentation recommends building Glibc outside of the source - directory in a dedicated build directory: + The Glibc documentation recommends building Glibc + in a dedicated build directory: -mkdir -v ../glibc-build -cd ../glibc-build +mkdir -v build +cd build Prepare Glibc for compilation: -../glibc-&glibc-version;/configure \ - --prefix=/usr \ - --disable-profile \ - --enable-kernel=&min-kernel; \ - --enable-obsolete-rpc +../configure --prefix=/usr \ + --disable-profile \ + --enable-kernel=&min-kernel; \ + --enable-obsolete-rpc Compile the package: @@ -170,7 +169,7 @@ cd ../glibc-build Install the configuration file and runtime directory for nscd: -cp -v ../glibc-&glibc-version;/nscd/nscd.conf /etc/nscd.conf +cp -v ../nscd/nscd.conf /etc/nscd.conf mkdir -pv /var/cache/nscd The locales that can make the system respond in a different language @@ -274,7 +273,7 @@ EOF Adding time zone data Install and set up the time zone data with the following: -tar -xf ../tzdata&tzdata-version;.tar.gz +tar -xf ../../tzdata&tzdata-version;.tar.gz ZONEINFO=/usr/share/zoneinfo mkdir -pv $ZONEINFO/{posix,right} diff --git a/general.ent b/general.ent index e9dcd00bf..f0f08f892 100644 --- a/general.ent +++ b/general.ent @@ -1,7 +1,7 @@ - + - +