This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
RE: Cross GCC and Sysroot
- From: "Duft Markus" <Markus dot Duft at salomon dot at>
- To: <gcc-help at gcc dot gnu dot org>
- Date: Mon, 19 Mar 2007 11:12:04 +0100
- Subject: RE: Cross GCC and Sysroot
Hi!
My question is still not answered, has anybody ideas about this?
What i need:
* A minimal gcc (*and* g++)
* It will be use only for compiling with distcc
(so no preprocessing or linking, so i don't need libgcc
and stuff)
* The build must not exit with an error
(as the solution below supposes...)
I really just need a gcc and g++ executable that is called from distccd.
I'm inside an automated build system so configure/make/make install must
go through without error, or otherwise the outer build-system will exit
too.
Do i need a sysroot package to accomplish this?
Is this possible at all?
At the moment i'm trying to build the whole gcc suite as cross compiler.
For now i'm only working on a ia64-hp-hpux11.23 to i686-pc-linux-gnu
cross compiler, but in the final stage there should be compilers for at
least the following (allways running on ia64-hp-hpux11.23):
ia64-hp-hpux11.23
hppa2.0w-hp-hpux11.11
powerpc-ibm-aix5.2.0.0
powerpc-ibm-aix5.3.0.0
sparc-sun-solaris2.9
i386-pc-solaris2.10
i686-pc-linux-gnu
I know this is a big project, and that there is some work to be done
inside gcc ;o)
The other problem is disk space. Since the host is a Blade-Server there
is only little space available (about 36GB i think, or even less, but
for sure not more) so unneeded stuff wouldn't be too cool.
Any Help and/or Comments appreciated!
Cheers, Markus
Duft Markus <> wrote:
> Kai Ruottu <> wrote:
>> Duft Markus kirjoitti:
>>> Hi!
>>>
>>> I'm working on getting a compiler-farm up, that can cross compile to
>>> multiple platforms. It's allready almost done, but there are some
>>> small problems left over.
>>>
>>> Since the Compiler-Farm will only compile (no preprocessing, no
>>> linking, etc.) because of usage of DISTCC, i wanted to ask if there
>>> is a way to build binutils/gcc in a way that there are only the
>>> really necessary parts (as, gcc, g++) without support for linking
>>> and other unwanted stuff.
>>>
>> Just leave the build when it stops! It stops when trying libgcc,
>> so if you don't link, where you will need libgcc?
>
> You're right ;o) i don't need libgcc anyways. But i'm inside an
> automated build system, which will die if there is an error.
> Additionally i can't do "make install" in this state, can i?
>
>>> The second problem is, how to find out what to put in the sysroot
>>> packages used to bootstrap the crossc ompilers for each platform. At
>>> the moment this is a really annoying manual process of sorting out
>>> and tar'ing together /usr/include and /usr/lib with some additional
>>> softlinks. Is there a somewhat short list of files i need for this
>>> purpose?
>>>
>> You don't need anything for the $target system...
>>> The sysroot package is used only for bootstrapping gcc, since
>>> everything that the cross-gcc will see is preprocessed allready.
>>>
>> No 'bootstrap' required either...
>>
>> In a nutshell: Building GCC binaries requires ONLY the $host GCC !
>> Nothing for the $target ! Producing anything for the $target WITH
>> the new GCC then can require quite a lot $target stuff !
>
> Oki doki.... ;o)
>
> Thanks, Markus