Compilation croisée avec gcc

Un article de Haypo.

Retour aux logiciels libres

Cet article explique comment produire un compilateur gcc pour Linux permettant de produire des binaires pour Solaris. C'est ce qu'on appelle la compilation croisée.

Sommaire

[modifier] Téléchargement

Il faut gcc-core qui se téléchargent sur le site officiel de GCC. J'ai utilisé la version 3.4.4.

Il faut les binutils qui se téléchargent sur le site officiel des binutils (sur gnu.org). J'ai utilisé la version 2.16.

[modifier] Décompression et compilation (binutils)

Décompresssion :

$ tar xvjf binutils-2.16.tar.bz2
$ cd binutils-2.16

Compilation des binutils :

$ ./configure --target=sparc-solaris --prefix=/home/haypo/utbm/LO52/solaris
$ make
$ make install

Rappel : Jamais de "/" à la fin du préfixe ! Note : make install est autorisé sans être root car j'ai choisi de tout copier dans mon répertoire personnel.

Super bidouille pour avoir des binaires en "sparc-sun-solaris-<programme>" et non pas "<programme>" (ce qui réclame gcc par la suite) :

$ cd ../solaris/bin
$ for i in $(ls); do ln -vs $i sparc-sun-solaris-$i; done
$ cd ../..

[modifier] Décompression et compilation (gcc)

Décompression :

$ tar xvjf gcc-core-3.4.4.tar.bz2
$ cd gcc-3.4.4

Compilation de gcc :

$ ./configure --target=sparc-sun-solaris --prefix=/home/haypo/utbm/LO52/solaris \
     --with-gnu-gas --with-gnu-ld
$ make
$ make install

[modifier] Entêtes Solaris à copier

Liste :

  • (...)

[modifier] Bug gcc (PATH_MAX)

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15082

Patch :

[modifier] Arborescence de travail

Je travaille dans /home/haypo/utbm/LO52/ que je vais noter ici "." :

./binutils-2.16
./

[modifier] Voir aussi

[modifier] Articles connexes

  • Article sur le compilateur gcc

[modifier] Liens externes