public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Cross GCC and Sysroot
@ 2007-03-16 13:49 Duft Markus
  2007-03-16 15:20 ` Kai Ruottu
  0 siblings, 1 reply; 4+ messages in thread
From: Duft Markus @ 2007-03-16 13:49 UTC (permalink / raw)
  To: gcc-help

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.

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?
The sysroot package is used only for bootstrapping gcc, since everything
that the cross-gcc will see is preprocessed allready.

Any comments/ideas appreciated ;o)

Thanks in Advance,
Markus

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Cross GCC and Sysroot
  2007-03-16 13:49 Cross GCC and Sysroot Duft Markus
@ 2007-03-16 15:20 ` Kai Ruottu
  0 siblings, 0 replies; 4+ messages in thread
From: Kai Ruottu @ 2007-03-16 15:20 UTC (permalink / raw)
  To: Duft Markus; +Cc: gcc-help

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?
> 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 !

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: Cross GCC and Sysroot
@ 2007-03-19 10:17 Duft Markus
  0 siblings, 0 replies; 4+ messages in thread
From: Duft Markus @ 2007-03-19 10:17 UTC (permalink / raw)
  To: gcc-help

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: Cross GCC and Sysroot
@ 2007-03-16 17:24 Duft Markus
  0 siblings, 0 replies; 4+ messages in thread
From: Duft Markus @ 2007-03-16 17:24 UTC (permalink / raw)
  To: gcc-help

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-03-19 10:12 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-16 13:49 Cross GCC and Sysroot Duft Markus
2007-03-16 15:20 ` Kai Ruottu
2007-03-16 17:24 Duft Markus
2007-03-19 10:17 Duft Markus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).