HOWTO

Outils de développement

Construire un cross-compilateur Atari pour Linux

gcc 3.3 et binutils 2.13.2.1

Ce texte tente d'expliquer la marche à suivre pour construire les outils nécessaires pour pouvoir cross-compiler des logiciels m68k-atari-mint sur une machine différente.
J'ai utilisé les patches disponibles sur le site de Sparemint, ainsi que les archives originales des outils (gcc et binutils).
Ce sont ces étapes que j'ai suivi pour construire ces utilitaires. La puissance des machines actuelles étant bien supérieure aux Atari, le temps de compilation de gros logiciels est considérablement réduit, alors autant les utiliser.
Note: il est nécessaire d'avoir la mintlib déjà compilée, soit à partir de la version standard, ou bien construite à partir d'un autre cross-compilateur. Il semble qu'on ne puisse pas construire de cross-compilateur uniquement à partir de fichiers sources. Si quelqu'un a réussi, j'aimerais connaître la marche à suivre.

Etape 1: Avoir les archives nécessaires

Le tout sera installé dans un répertoire utilisateur, pour pouvoir compiler le tout sans être root. Ainsi, pour moi, les outils compilés seront installés dans /home/patrice/cross-tools. Vous pouvez choisir un autre répertoire si vous le désirez. Il faut simplement veiller à ne pas mélanger les outils pour votre machine hôte avec ceux de la cross-compilation.

On crée un répertoire cross-build (répertoire de travail où l'on va compiler). On fait cd /home/patrice/cross-build pour se placer dedans, et on commence.

Etape 2: Compiler et installer les binutils pour m68k-atari-mint (sources: 60Mo, compilation: 9 Mo)

tar xvzf binutils-2.13.2.1.tar.gz
cd binutils-2.13.2.1
gunzip -c ../binutils-2.13.2.1-mint-2.diff.gz | patch -p1
cd ..
mkdir binutils-2.13.2.1-mint
cd binutils-2.13.2.1-mint
../binutils-2.13.2.1/configure
  --prefix=/home/patrice/cross-tools
  --target=m68k-atari-mint
make
make install
cd ..

Vous pouvez maintenant supprimer les deux répertoire binutils-2.13.2.1 et binutils-2.13.2.1-mint.

Etape 2: Compiler et installer gcc pour l'hôte (sources: 148Mo, compilation: 93Mo)

tar xvzf gcc-3.3.tar.gz
mkdir gcc-3.3-linux
cd gcc-3.3-linux
../gcc-3.3/configure
  --prefix=/home/patrice/cross-tools
  --enable-languages=c++
make bootstrap
make install
cd ..

Vous pouvez maintenant supprimer le répertoire gcc-3.3-linux.

Etape 3: Patcher gcc pour MiNT

cd gcc-3.3
gunzip -c ../gcc-3.3-mint.diff.gz | patch -p1
cd libstdc++-v3
autoconf
cd ../..

Etape 4: Compiler gcc pour MiNT (compilation: 66Mo)

Note: On doit utiliser le gcc compilé à l'étape précédente, alors on modifie la variable PATH en conséquence.
tar xvzf mintlib-devel-0.57.3.tar.gz
mkdir gcc-3.3-mint
cd gcc-3.3-mint
PATH=/home/patrice/cross-tools/bin:$PATH ../gcc-3.3/configure
  --prefix=/home/patrice/cross-tools
  --target=m68k-atari-mint
  --enable-languages=c++
  --with-headers=../mintlib-devel-0.57.3/include
  --with-libs=../mintlib-devel-0.57.3/lib
make bootstrap
make install
cd ..

Etape 5: Tester la cross-compilation

Autres outils nécessaires, disponibles sur Sparemint, à installer:

Nouveautés
Réalisations personnelles
Patches
Portages
Projets
HOW-TOs
Outils de développement
Créer un patch pour les binutils (Anglais, binutils 2.16.1)
Créer un patch pour gcc (Anglais, gcc 3.3.6, seulement pour le langage C)
Créer un patch pour gcc (Anglais, gcc 3.3.6, langage C++)
Divers

HTML 4.0 valide ! La montée de Pikes Peak Non aux brevets logiciels Nectarine demoscene radio
Ecrivez-moi à pmandin(at)caramail(point)com
(Adresse modifiée pour protéger des spammers)