This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: cross compiler questions
- To: "Joseph H. Buehler" <jhpb at sarto dot gaithersburg dot md dot us>
- Subject: Re: cross compiler questions
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Sun, 30 Nov 1997 21:19:30 -0700
- cc: egcs at cygnus dot com, jhpb at altera dot gaithersburg dot md dot us
- Reply-To: law at cygnus dot com
In message <199711282126.QAA19627@altera.gaithersburg.md.us>you write:
> - Before building the cross-compiler, I put the native C library
> includes and libs in /usr/local/rs6000-ibm-aix3.2.5/include and
> /usr/local/rs6000-ibm-aix3.2.5/lib, via symlinks to NFS mounts. Can I
> remove all those symlinks once the build is done, or does gcc still
> need them?
You're still going to need them since they'll be referenced when you
actually cross compile something for the rs6000-ibm-aix3.2.5 target.
> I build the cross-compiler on several different NFS servers, one for
> each architecture that I am using. The machines that need to run them
> then mount from the appropriate server. Some of these machines are
> actually rs6000-ibm-aix3.2.5 machines that have no native compiler.
> So I build the native compiler and NFS export it from a server, and
> mount it where it is needed. Except that this does not work, because
> the header files are not on the machines that don't have a compiler.
So, is there no /usr/include on the client machines?
Header files for native builds first come from gcc's private directory,
which is set up and installed automatically.
Then gcc will search /usr/include
You might be able to define SYSTEM_INCLUDE_DIR when building cccp.c
to point to a directory that is an NFS mounted copy of /usr/include
from your server.
> and some .a files. It seems as though the build process could be
> streamlined quite a bit by getting the .a and include files from
> another machine that has already done a cross-build, and just making
> the necessary executables.
Yes, but this adds quite a bit of complexity to the build/install
procedure for little benefit -- what you're trying to do is pretty
unusual.
> The rs6000-ibm-aix3.2.5 cross-build takes
> about 4 hours on a couple of the machines I am using, and a lot of it
> seems to result from building varieties of a couple of the .a files.
Yes. They're multilibs. For example it might be building both hardware
and software floating point libraries, libraries for specific variants
of the rs6000/ppc, etc etc.
If you don't use -m options, then you can probably avoid building
multilibs with the "--disable-multilib" configure option.
> - Are there any instructions on how to do builds, and the various
> options that are available? I have been assuming that the
> documentation is not up to date, hopefully I am wrong.
The documentation is out of date, but I doubt any docs will really
describe how to set up what you're trying to do :-)
If you want to see what the egcs docs are going to look like, see
http://www.cygnus.com/egcs/install
jeff