|
||||||||||||||||||||||||||||||||||||||||||||
|
Au fil de son existence, notre plate-forme ("classique" et "nouvelle génération") s'est enrichie d'un grand nombre d'outils ou langages de développement (assembleur, C, C++, AMOS, divers BASIC...) épaulés par de nombreuses bibliothèques enrichissant celles de Commodore (Magic User Interface, Reaction pour Intuition par exemple...). Des boîtes à outils spécialisées, comme l'AmiDARK Engine (trousse de développement de jeux) ont aussi vu le jour. Si les vieux briscards de l'Amiga ont généralement choisi leur paroisse depuis longtemps ;-), le nouveau venu ou le revenant dans le monde Amiga peut avoir du mal à choisir son langage et environnement de développement. Le but de cet article ne sera pas de réaliser un comparatif des moyens de développement sur Amiga mais de s'intéresser à AmiDevCPP qui est un environnement de développement AmigaOS sous Windows. L'IDE (Integrated Development Environment) proposé permet-il un développement confortable pour programmer en C/C++ sous AmigaOS ? Fonctionnalités et installation AmiDevCPP est une plate-forme de développement complète permettant de créer des projets et d'éditer des fichiers C/C++. Il permet surtout la compilation et l'édition de lien des projets précédemment créés pour générer des exécutables pour AmigaOS 68k (ou "Classic"), pour les environnements PowerPC des Amiga nouvelle génération comme MorphOS et AmigaOS 4, et enfin les environnements PowerPC et Intel x86 d'AROS. En effet, le compilateur utilisé (ou "cross-compiler") permet de générer les programmes destinés à s'exécuter sur des environnements différents de celui de compilation. Il traduit donc le code source écrit en langage compréhensible pour un système différent. Le couple AmiDevCPP + émulateur Amiga (comme WinUAE par exemple) semble être une solution tout à fait intéressante pour avoir un environnement de développement très évolué, surtout si l'on ne dispose en face que d'Amiga 68k sans cartes additionnelles. AmiDevCPP est basé sur les outils suivants :
L'installation est assez classique et prend environ 850 Mo sur le disque dur. A cela près qu'il ne faut pas l'installer dans une arborescence comprenant des espaces (genre "Program Files") à cause de Cygwin. Si une installation de ce dernier est présente sur le PC, elle sera aussi écrasée par celle d'AmiDevCPP comme indiqué sur le message d'avertissement suivant : ![]() ![]() Les environnements de tests ont été multiples : MorphOS 3.0 sur Power Mac G4, AmigaOS 4.1 sur Pegasos II, Sam440ep et AmigaOne G4, Amiga OS 3.x sous FS-UAE 1.3.14 ou Amiga Forever 2012. Utilisation d'AmiDevCPP Recompilation d'un projet exemple fourni sur le site AmiDevCPP Le site AmiDevCPP propose une série de projets exemples couvrant un grand nombre de technologies : Zune sous AROS, Reaction, Intuition, SDL, MUI... Attardons-nous sur le projet exemple utilisant MUI, celui-ci a de plus l'avantage d'être écrit pour être compilé pour toutes les plates-formes gérées. En effet, AmiDevCPP ne suffit pas à lui seul pour compiler des programmes sur plusieurs plates-formes, le code source doit prévoir tous les cas de figure en utilisant les directives du préprocesseur (#ifdef ...). Le projet MUI_MultiPlatformExample peut être téléchargé sur le site, il est composé des fichiers suivants :
Puis sur le bouton "Install" dans la barre d'outils et choisir le fichier DevPak associé au paquetage. Il suffit ensuite de suivre les instructions du "Wizard" d'installation : ![]() Le choix du compilateur pour le projet se fait en cliquant sur "Options du projet" dans le menu "Projet". Il est préférable de se créer un "Profil" (en cliquant sur le bouton "+" vert) afin de s'y retrouver si l'on veut réaliser un projet multiplate-forme. Le réglage minimum se fait alors dans l'onglet "Compilateur". Attention, il ne faut pas confondre les options du projet avec les réglages globaux, obtenus en cliquant sur "Options du compilateur" dans le menu "Outils". Cette fenêtre permet la personnalisation très précise des options de compilation (cross compilateur utilisé, répertoires...). La documentation annexe conseille d'ailleurs de ne pas modifier ces réglages (sauf si vous savez ce que vous faites bien entendu :-)). ![]() ![]() Sur MorphOS 3.0 ![]() Sur AmigaOS 3.1 68030, émulé par FS-UAE et Amiga Forever 2012 (après l'installation des bibliothèques manquantes ![]() Sur AmigaOS 4.1 (après modification mineure du code source pour compiler, mise en commentaire de la ligne 52 car intuition.h n'était pas présent dans le répertoire "librairies") ![]() Sur AROS x86 (Icaros Desktop Live 1.4.2 sous VmWare Fusion) ![]() Sur AmigaSYS (AmigaOS 3.x 68040) Sinon il faudra télécharger un programme de débogage sur l'environnement cible (gdb par exemple). Dans le cadre d'AmigaOS 3.x 68k, il faut en plus l'exécuter sur un Amiga équipé d'un processeur (ou d'une carte accélératrice) disposant d'une MMU (unité de gestion mémoire). Il faudra aussi modifier une option de compilation du projet pour générer l'exécutable avec les informations de débogage dans l'onglet "Compilateur" et positionner à "Yes" l'option "Générer des informations de débogage" de l'éditeur de lien. ![]() Création d'un projet à partir de zéro AmiDevCPP est livré avec une série d'outils "Wizard" permettant de démarrer un projet à partir de zéro. Il s'inspire légèrement des logiciels de développement comme Visual Studio ou Xcode en proposant des canevas très simples comme des projets de programmes s'exécutant en mode console, ou des projet graphiques basés sur Intuition. Il suffit de cliquer sur "Projet" dans le sous-menu "Nouveau" du menu fichier pour accéder au "Wizard" : ![]() Après avoir choisi le répertoire du projet et avoir cliqué sur "OK", un projet simple est créé, composé d'un fichier avec les inclusions de base et quelques fonctions. Et il ne reste plus qu'à développer votre application. ;-) Conclusion A mon sens, AmiDevCPP est un outil intéressant car il est une très bonne base pour celles et ceux qui veulent se remettre au développement Amiga classique grâce au "confort" qu'il apporte et les exemples fournis. Il est aussi incontournable pour ceux qui ne possèdent plus de machines et qui se sont tournés vers l'émulation. Il peut aussi remplacer une machine classique si celle-ci n'est pas très puissante (pas de MMU par exemple) mais il n'apporte pas de confort supplémentaire car il faudra toujours transférer l'exécutable sur la machine (ou un émulateur) pour tester son fonctionnement et oublier le débogueur qui est quand même un outil indispensable. Il semble par contre ne pas s'être imposé comme environnement de référence pour les environnements Amiga nouvelle génération car il est en compétition avec les kits de développement officiels. De plus, même si le test réalisé avec des programmes simples est très concluant, le bon sens voudrait sans doute que l'on utilise d'abord les environnements directement pour éviter des incertitudes (hypothétiques) liées à la compilation croisée. Sources Remerciements : David Brunet et Mehdi Boulahia pour les tests sous MorphOS 3.0 et AmigaOS 4.1.
|