Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#1952 closed enhancement (invalid)

Different configure commands for toolchain

Reported by: robert@… Owned by: lfs-book@…
Priority: lowest Milestone:
Component: Book Version: SVN
Severity: trivial Keywords:
Cc:

Description

Once in a while I'll accidentally skip the:

mkdir ../binutils-build
cd ../binutils-build

and run:

../binutils-2.17/configure

and the configure script will still run. I propose changing these commands to:

mkdir obj
cd obj

and

../configure

so that the configure command only works if you're in the build directory. It's more idiot-proof, and is also the example I've found in the official GCC build instructions.

Change History (5)

comment:1 by dnicholson@…, 17 years ago

I don't have any problem with this change. In fact, I prefer to keep the object directory in the source tree so you can clean everything up from one directory. We could even keep the name xxx-build if we like.

Would this affect anything in the LFS book? In the old toolchain instructions, this might have been an issue because with keeping the object directory. But we don't do that now.

comment:2 by Matthew Burgess, 17 years ago

So, we have 4 packages that upstream suggest should be built in a separate directory:

binutils: binutils/README says "If you have GNU make, we recommend building in a different directory:

        mkdir objdir
	cd objdir
	../binutils-XXX/configure [options]
	make
	make install

From that, it strongly suggests to me that 'objdir' is actually outside the source directory (otherwise the 3rd line would simply be ../configure, no?). So, the current LFS instructions are fine.

e2fsprogs: INSTALL recommends a 'build' directory within the source tree, so the current LFS instructions are fine.

gcc: INSTALL/configure.html says "First, we highly recommend that GCC be built into a separate directory than 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." Therefore, the current LFS instructions are fine.

glibc: INSTALL says "GNU libc cannot be compiled in the source directory. You must build it in a separate build directory." Therefore, the current LFS instructions are fine.

Robert, was 'GCC' a typo in your last sentence, or have you found other GCC installation instructions that advocate building within the source directory?

I'm not at all convinced anything should be changed here.

comment:3 by Matthew Burgess, 17 years ago

Milestone: Future6.3

in reply to:  3 comment:4 by robert@…, 17 years ago

Resolution: invalid
Status: newclosed

Replying to matthew@linuxfromscratch.org: After a second look, it looks like building GCC with an object directory within the source directory is specifically unsupported, despite many people doing it. Binutils says the same thing indirectly.

comment:5 by Jeremy Huntwork, 17 years ago

Milestone: 6.3

Milestone 6.3 deleted

Note: See TracTickets for help on using tickets.