Introduction
Cette page décrit comment compiler des applications GEM sur une distribution linux. Cette procédure a été testé sous Fedora et sous Ubuntu. Elle doit donc s'adapter à la plupart des distributions linux existantes.
Étape 1 : installer le cross compilateur GCC
Nous utilisons le compilation gcc atari-mint en version 2.95 disponible chez SpareMint, c'est-à-dire une très vieille version mais largement suffisante pour le développement Atari. Sachez qu'il existe un portage de gcc 4 fait par Vincent Rivière pour windows et Ubuntu: je dis bravo !
- Pour Fedora : récupérez et installez tous les rpm (sauf gemlib) disponibles
sur la page de Sparemint (il faut être root):
cd /tmp su sparemint=http://sparemint.atariforge.net/sparemint/cross-mint for file in mintbin-0.3-2 binutils-2.9.1-1 libc-0.57.6-1 \ libc-devel-0.57.6-1 gcc-2.95.3-1 gcc-g77-2.95.3-1 ; do rpm -Uvh $sparemint/cross-mint-$file.i386.rpm done rm cross-mint*.rpm
- Pour Ubuntu/Debian : même opération mais les rpm doivent être packagés pour Debian:
sudo apt-get install alien # alien n'est pas installé par défaut cd /tmp sparemint=http://sparemint.atariforge.net/sparemint/cross-mint for file in mintbin-0.3-2 binutils-2.9.1-1 libc-0.57.6-1 \ libc-devel-0.57.6-1 gcc-2.95.3-1 gcc-g77-2.95.3-1 ; do wget $sparemint/cross-mint-$file.i386.rpm sudo alien cross-mint-$file.i386.rpm done sudo dpkg -i cross-mint-*.deb rm -f cross-mint-*
Vérifiez que le compilateur est bien installé en tapant dans un terminal texte :
$ m68k-atari-mint-gcc m68k-atari-mint-gcc: No input files
Étape 2 : installer les libraries utiles
Installation de GEMLIB
Il s'agit de la librairie qui permet d'accéder à l'interface graphique du TOS. Il nous faut installer une librairie GEM récente. La gemlib MiNT est maintenue par Arnaud Bercegeay, autant aller sur son site, récupérer la dernière version et la cross-compiler pour Atari:
wget http://arnaud.bercegeay.free.fr/gemlib/gemlib-0.43.6-src.tgz tar xvfz gemlib-0.43.6-src.tgz rm gemlib-0.43.6-src.tgz cd gemlib-0.43.6/gemlib make CROSS=yes
- Fedora : passez root et installez la librairie :
su make install CROSS=yes
- Ubuntu/Debian:
sudo make install CROSS=yes
cd ../.. rm -rf gemlib-0.43.6*
Installation de LDG-DEVEL
La librarie LDG permet d'accéder à la gestion de librarie dynamique et partagée sous TOS. Pour LDG-DEVEL, j'ai réalisé un petit fork qui consiste à adapter le logiciel au couple autoconf/automake. Ce tandem permet de gérer (entre autre) la cross-compilation.wget pequan.lip6.fr/~bereziat/softs/tos/cross-compilation/ldg-devel-2.33.tar.gz tar xvfz ldg-devel-2.33.tar.gz cd ldg-devel-2.33 ./configure --host=m68k-atari-mint --prefix=/usr/m68k-atari-mint make sudo make install # ou su && make install pour Fedora cd .. rm -rf ldg-devel-2.33*
Installation de WinDom
La librarie WinDom est une surcouche à Gemlib. Elle offre une API haut-niveau pour écrire facilement des programmes GEM. Suivant le même principe que pour LDG-DEVEL, on récupère un packaging maison pour automake/autotools :wget pequan.lip6.fr/~bereziat/softs/tos/cross-compilation/windom-2.0.1.tar.gz tar xvfz windom-2.0.1.tar.gz cd windom-2.0.1 ./configure --host=m68k-atari-mint --prefix=/usr/m68k-atari-mint make sudo make install # ou su && make install pour Fedora
Étape facultative
La libraire WinDom déporte le code d'affichage des objets GEM dans des librairies LDG externes.
Ceci permet à WinDom d'être
Lors de la compilation de WinDom, les libraires ldg sont également construites. Vous devez alors copier l'un de ces fichiers dans votre répertoire C:\GEMSYS\LDG sous le nom de userdef.ldg. Ces fichiers d'extension .ldg sont dans les sous-répertoires de windom-2.0.1/userdef. Pour changer d'aspect, on change alors la librairie userdef.ldg parmi les trois disponibles dans WinDom (il n'existe pas de mécanisme de sélection simplifié).
Pour finir, sachez que l'installation des LDG n'est pas obligatoire, mais les librairies dynamiques requises par l'application doivent alors être placé dans le répertoire courant.
Une fois les libraries récuperées, on peut effacer le répertoire de compilation.cd .. rm -rf windom-2.0.1*
Installation de DFRM
DFRM est une extension de la librairie WinDom. Elle vous permet de créer des formulaires GEM (et de les gérer) sans utiliser de fichier ressource. La mise en oeuvre est très similaire à GTK. Là encore, toujours le même principe d'installation.wget pequan.lip6.fr/~bereziat/softs/tos/cross-compilation/dfrm-0.4.4.tar.gz tar xvfz dfrm-0.4.4.tar.gz cd dfrm-0.4.4 ./configure --host=m68k-atari-mint --prefix=/usr/m68k-atari-mint make sudo make install # ou su && make install (sur Fedora) cd .. rm -rf dfrm-0.4.4*
Étape 4 : tester !
Installer Aranym
Aranym est une émulation d'un falcon 040, c'est-à-dire d'une machine qui n'a jamais existé ! Trop fort non ?
- Sous Ubuntu/Debian, c'est facile ! Aranym est packagé en standard :
sudo apt-get install aranym
mais attention ! ce n'est pas la dernière version. De plus, il faut utiliser la commande aranym-jit pour la version Just in Time. - Sous Fedora, la dernière version est packagé sur le site d'Aranym.
Installer myAES pour Aranym
myAES est un remplacement de l'AES (composante interface graphique du GEM). Elle est réactive en toujours maintenue par Olivier Landemarre son initiateur et son principal auteur. La procédure est décrite dans cette page.
Installer un terminal texte pour MyAES
Cette étape vous permet d'installer un terminal texte dans myAES pour lancer les programmes TOS (ou GEM).
Dans la page d'installation de myAES, récupérez et lancez le script d'installation de toswin2 pour Afros.
Final: "Hello world" dans une boîte d'alerte
cat > hello.c <<EOF #include <gem.h> int main( void) { appl_init(); form_alert( 1, "[1][Hello World!][OK]"); appl_exit(); return 0; } EOFCompilation : depuis un terminal texte linux :
m68k-atari-mint-gcc hello.c -o hello.prg -lgemExécution : depuis le bureau GEM ou dans un terminal texte TosWin :
./hello.prg
Historique de cette page
- avril 2009: quelques retours éclairés d'internautes ont pointé diverses erreurs ca et là. Notamment, les versions modifiées des ldg et windom ont été complétés par quelques fichiers manquants.
- octobre 2007: première version publique.