Newsgroup: it.comp.os.linux.development
Titolo: gcc per altre piattaforme

Ciao a tutti, sto cercando di compilare il gcc su una macchina linux in
modo che possa generare codice per rs6000-ibm-aix ( sistema per il quale
non si trova un compilatore ). 
dopo vari esperimenti usando come target sistemi differenti (
i686-freebsd, sco, ecc ) ho collezionato una gra verieta' di errori
differenti... per freebsd mancano alcuni .h, l' aix non compila
correttamente ar, per sco falliscono le glibc... a questo punto direi
che per costruire un gcc cross-platform, oltre a gcc, glibc, gdb e
binutils, servano anche, che so, un pacchetto di header, ciascuno per
una piattaforma, ma ne su 
gnu.org
 ne nei readme & company dei 4
pacchetti viene detto gran che.
Spero che qualcuno abbia fatto una cosa simile, e che possa darmi
qualche ragguaglio, o indirizzarmi verso una buona documentazione. 
Grazie
Ivan

 ragguaglio, o indirizzarmi verso una buona documentazione.
Ho creato un cross-compilare per m68k, ecco un piccolo doc:
==
How to build a m68k cross-compiler on a i386-based Linux Box:
Tested on SuSE 7.0.
Files: Downloaded from 
http://sunsite.cnlab-switch.ch/ftp/mirror/gnu/
o binutils-2.10.tar.gz	(~ 6.9MB)
o gcc-2.95.2.tar.gz		(~ 12MB)
o gdb-5.0.tar.gz		(~ 12MB)
o newlib-1.8.2.tar.gz	(~ 2.9MB)
1) Unpack all archives on a temporary directory (/tmp).
2) Change directory to /tmp and execute the script.
Script:
== Cut here ==
#!/bin/sh
# 1) Configure the system
prefix=/usr/locali/cross-gcc # Destination directory
target=m68k-coff # Target system
binutilsdir=binutils-2.10 # Directories created by unpacking sources
gccdir=gcc-2.95.2
newlibdir=newlib-1.8.2
gdbdir=gdb-5.0
# 2) Create the destination directory
mkdir -p $prefix
# 3) Compile and install binutils
mkdir -p build$binutilsdir
cd build$binutilsdir
../$binutilsdir/configure --target=$target --prefix=$prefix -v
make all install
cd ..
# 4) Add executables to path, they'll be needed later
PATH=$PATH:$prefix/bin
# 5) Add symbolic links to newlib into GCC source, explained below
cd $gccdir
ln -s ../$newlibdir/newlib newlib
ln -s ../$newlibdir/libgloss libgloss
cd ..
# 6) Compile and install gcc and newlib
mkdir -p build$gccdir
cd build$gccdir
../$gccdir/configure --target=$target --prefix=$prefix \
	--with-newlib --enable-languages= -v
make all install
cd ..
# 7) Compile and install gdb
mkdir -p build$gdbdir
cd build$gdbdir
../$gdbdir/configure --target=$target --prefix=$prefix -v
make all install
cd ..
== Cut here ==
In order to save disk space, it would be a good idea to delete the "build"
subdirectories at the end of the process.
This configuration works only for embedded systems. If someone is tries
to build a cross-compiler for Solaris, for example, this script will not
work. The header files for Solaris isn't provided by newlib. Newlib is 
intented for embedd targets only...
-- 
                                                                     __
 __                                                              _  ///
| _        Student in Computer Science, Swiss Federal Institute  \\///
|__|iambo      of Technology - mailto:
ggia...@iiic.ethz.ch
       \X/

 non si trova un compilatore ).
il target mi sembra ok (basta controllare nel configure)
usa la versione core del gcc (ti risparmi complicazioni)
prova a leggere
http://www.poli.studenti.to.it/mirror/ildp/journal/pj9902/crosscompilers.htm
l
io ci ho fatto un porting di linux... ;)