|
||||||||||||||||||||||||||||||||||||||||||||||
|
Note : cet article en deux parties est d'abord paru dans le célèbre aMiGa=PoWeR. Il se voit enrichi de quelques corrections et ajouts... que voici. GCC est le compilateur universel d'un langage qui l'est autant : le noble C. Présent sur un nombre incalculable de systèmes, GCC vient compléter une longue liste sur Amiga : DICE, SAS/C, StormC, vbcc (dont nous reparlerons sans doute), HiSoftC, Maxon... Il possède beaucoup d'avantages comme sa gratuité, sa rigueur à la compilation, sa plus grande compatibilité Unix au niveau des sources, etc. Nous allons donc voir comment s'effectue une installation propre et guidée de cet environnement de développement. Vous pourrez ensuite compiler vos programmes en ligne de commande dans une fenêtre Shell ou grâce aux scripts "makefile" (nous pourrons aussi revenir dessus). La bonne archive Bien, commencez par laisser tomber la version 2.7.0 disponible sur Aminet, puisqu'on en est à la 2.95.2. Mais la 2.95.1 fera très bien l'affaire parce qu'elle est stabilisée et éprouvée (des bogues d'optimisation auraient fait leur apparition dans la version 2.95.2). Elle se trouve en libre téléchargement sur le site FTP de GeekGadgets (ou via Archive.org). Vous pouvez vous plonger dans la documentation officielle présente sur www.geekgadgets.org/docs/GG_7.html (Archive.org). Certains paquets (dont celui de GCC) ne sont présents que dans le répertoire "alpha". C'est donc là qu'on y récupérera tous les fichiers nécessaires, à savoir :
Faites place ! Avant de les désarchiver, nous devons préparer le terrain. Vous vous réserverez un espace suffisamment grand sur votre disque dur où vous créerez un répertoire "gg". Vous pourriez l'appeler "gcc" mais il contiendra de nombreux outils, au-delà de GCC, faisant partie de l'environnement GeekGadgets, sur lequel nous ne nous étendrons pas. Dans le répertoire "gg", créez-en un nouveau nommé "os-include" destiné à recevoir les fichiers d'inclusion de ressources système. Pour exploiter ces archives au format TGZ (tar + gzip), le plus simple est de se munir de l'outil "Untgz" que vous utilisez comme suit, pour chaque paquet :
Sinon, les outils nécessaires sont prévus, et vous devrez juste télécharger en plus le fichier "BOOT.lha". Utilisez la commande "Tar" avec la syntaxe "tar xvzf " pour obtenir le contenu décompressé. L'arborescence se présente ainsi : info (dir) m68k-amigaos (dir) guide (dir) os-include (dir) Sys (dir) man (dir) ib (dir) bin (dir) include (dir) etc (dir) dvi (dir) html (dir) lib (dir) ps (dir) A ce niveau, l'installation est physiquement correcte, vous ne devriez avoir aucun problème. Il reste cependant à ce que GG prenne sa place dans le système, par le biais des célèbres commandes "Assign" et "Path" à ajouter à la fin de la user-startup :
A la place de "Work:Prog/", vous indiquerez bien sûr le chemin dans lequel se trouve votre répertoire "gg". J'ai enlevé l'assignation des "libs" car j'avais copié la ixemul 48 dans Libs:. L'assignation "Libs:" est également utilisée pour la bibliothèque libnix qui est utilisée lorsque l'on compile avec l'option "-noixemul" (ces termes seront détaillés dans le prochain article traitant des particularités de GCC). Pour certains paquets, issus du CD ADE2 par exemple, il peut être nécessaire d'ajouter les assignations "ADE:" et "GCC:" qui pointent sur le même répertoire que "GG:". Les fichiers d'inclusion ("includes") Tout est installé du côté GG. Il reste à adapter pour pouvoir se lancer dans la programmation AmigaOS. Voici donc comment installer les indispensables fichiers d'inclusion du système. Le CD Amiga Developer 2.1 contient tous les fichiers d'inclusion, jusqu'à la version 3.5. Vous allez copier dans "os-include" les fichiers présents dans le NDK (Native Development Kit) : ndk/ndk_3.5/include/include_h. Ces fichiers d'inclusion spécifiques au système sont à copier dans le répertoire "gg:os-include". Vous pouvez ensuite effacer si vous le souhaitez les protos et pragmas (répertoires "proto", "pragma" et "pragmas") car GCC ne les utilise pas (ou plutôt, il utilise les siens contenus dans gg:include, tout comme les fichiers en ligne ("inline")). Vous pouvez aussi retirer les fichiers icônes (.info) qui n'apportent rien et peuvent gêner la lisibilité. Vérification Après redémarrage, vous pouvez aussitôt vérifier que tout se passe pour le mieux :
Pour la compilation : "gcc -o testdate testdate.c". En cas de soucis, essayez l'option "-v" qui permet par exemple de voir où GCC cherche ses fichiers d'inclusion. Il peut être conseillé de compiler en RAM: pour éviter d'invalider votre partition de travail FFS si un problème survient lors de la compilation. Une telle anomalie lors de la compilation peut provenir d'une taille de pile trop faible. Forcez-la à 200000 (en fait, cela dépend de la taille du projet) avec la commande "stack 200000". GCC est un portage du monde Unix et requiert une pile élevée, telle que 200000 octets. Dernières recommandations N'oubliez pas que le C comporte de nombreux pièges et demande vigilance et rigueur. Avant la diffusion de vos programmes, pensez bien à toujours compiler avec l'option "-Wall". Cela demande à GCC d'afficher toutes les alertes quelles qu'elles soient. Une compilation sans aucune ligne d'erreur/alerte avec cette option doit garantir une programmation stricte (pas d'utilisation de pointeur sans initialisation...) et par conséquent sera moins sujette aux bogues (en théorie ;-)). Nous nous retrouvons en attendant avec la suite de cet article pour connaître un peu plus ce qui caractérise GCC.
|