2016-01-24 6:23 GMT+08:00 Bruce Dubbs <[email protected]>: > Starting as a new thread. > > This is a repeat of the proposal: > > The packages in LFS that use separate build directories are out-of-tree. > That is: > > mkdir ../pkg-build > cd ../pkg-build > ../pkg/configure > > If we use in-tree but still separate directories we then have: > > mkdir build > cd build > ../configure > > The affected packages are binutils, gcc (and libstdc++ which is extracted > from gcc), and glibc. The install ... ../glibc-&glibc-version;/xxx ... should be changed to install ... ../xxx ...
> > ============ > > I've thought about the proposal and wanted to make a list of pros and cons. > Please add to the list other things I have not thought of. > > > Pros: > 1. It keeps the build together so only one directory need be deleted when > the package is finished. > 2. It is similar to BLFS packages that use cmake. > 3. It has been tested and it works. > 4. The proposed build structure looks slightly cleaner. > 5. The proposed build structure may be slightly easier for new users to > understand. > 6. Upstream recommendations were written a long time ago -- well over 10 > years and maybe over 20 years. The details may not be as valid to day as > they once were. > > Cons: > > 1. If it's not broken, don't fix it. What we have now works. > 2. Upstream recommends, or at least implies, the structure we have now. > > Other info: > > ------------ > > binutils implies a separate build directory, but does not address the > location of that directory: > > https://sourceware.org/binutils/binutils-porting-guide.txt > > The binutils README implies srcdir == objdir > > ----------- > > gcc says: > > "If you encounter seemingly strange errors when trying to build the compiler > in a directory other than the source directory, it could be because you have > previously configured the compiler in the source directory. Make sure you > have done all the necessary preparations. " > > which implies that building in-tree is OK. > > file:///sources/gcc-5.3.0/INSTALL/build.html > > However https://gcc.gnu.org/install/configure.html says > > "First, we highly recommend that GCC be built into a separate directory from > the sources which does not reside within the source tree. This is how we > generally build GCC; building where srcdir == objdir should still work, but > doesn't get extensive testing; building where objdir is a subdirectory of > srcdir is unsupported." > > Pierre has tested the case where srcdir == objdir and the build fails. > Tests with objdir == srcdir/build are successful. > > To me unsupported means that they just have not tested it. We have tested > it. > > ------------ > > glibc > > http://www.gnu.org/software/libc/manual/html_node/Configuring-and-compiling.html > > implies an external build directory via example, but does not address the > possibility of an internal build directory. > > ------------ > > Still looking for additional feedback. The Con #1 is strong. The question > is whether the Pro reasons are enough to outweigh it. > > -- Bruce > -- > http://lists.linuxfromscratch.org/listinfo/lfs-dev > FAQ: http://www.linuxfromscratch.org/faq/ > Unsubscribe: See the above information page -- http://lists.linuxfromscratch.org/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page
