Contents|Index|Previous|Next
Actually Building the Cross-Compiler
Now you can proceed just as for compiling a single-machine compiler through
the step of building stage 1. If you have not provided some sort of libgcc1.a, then compilation will give up at the point where it needs that file,
printing a suitable error message. If you do provide libgcc1.a, then building the compiler will automatically compile and link a test
program called libgcc1-test; if you get errors in the linking, it means that not all of the necessary
routines in libgcc1.a are available.
You must provide the header file
float.h. One way to do this is to compile enquire and run it on your target machine. The job of enquire is to run on the target machine and figure out by experiment the nature of
its floating point representation. enquire records its findings in the header file float.h. If you cant produce this file by running enquire on the target machine, then you will need to come up with a suitable float.h in some other way (or else, avoid using it in your programs).
Do not try to build stage 2 for a cross-compiler. It doesnt work to rebuild
GNU CC as a cross-compiler using the cross-compiler, because that would produce
a program that runs on the target machine, not on the host. For example, if you
compile a 386-to-68030 cross-compiler with itself, the result will not be
right either for the 386 (because it was compiled into 68030 code) or for the 68030
(because it was configured for a 386 as the host). If you want to compile GNU
CC into 68030 code, whether you compile it on a 68030 or with a cross-compiler
on a 386, you must specify a 68030 as the host when you configure it. To
install the cross-compiler, use
make install, as usual.