RE: Cross GCC and Sysroot

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux