{{tag>programmation}} ---- ====== SmartEiffel : Compilateur Eiffel GNU ====== **SmartEiffel** est un compilateur libre pour Eiffel, un langage purement orienté objet. ===== Compilation de SmartEiffel ===== Premièrement, vous aurez besoin d'installer une dépendance : sudo apt-get install build-essential freeglut3-dev Vous devez ensuite aller chercher l'archive source de SmartEiffel sur le site de [[https://gforge.inria.fr/frs/?group_id=184|SmartEiffel]] en sélectionnant le fichier "smarteiffel.tgz" sous "Nightly Snapshot" (La date de l'archive au moment où j'écris est 13/01/2009). La version 2.3 (SmartEiffel-2-3.tgz) rencontre des problèmes avec la version 4.6 de gcc utilisée par Ubuntu 11.10 (oneiric) (problèmes d'optimisation avec l'option -O2). Un tutoriel pour y remédier existe : https://administratosphere.wordpress.com/2009/07/17/installing-smarteiffel-in-ubuntu-jaunty/ Ouvrez un terminal (Applications->Accessoires->Terminal), allez dans le répertoire dans lequel vous avez téléchargé l'archive et décompressez-la. cd Répertoire_Contenant_l_archive tar xvf smarteiffel.tgz Rendez-vous dans le répertoire de SmartEiffel. cd SmartEiffel Tapez la commande de configuration : ./configure Il se peut qu'il y ait des erreurs à la fin du résultat, comme par exemple : ***********/!\ Warning /!\************** This configure file is just for information ! It will analyze your system and warn you for missing dependences librairies. It does not generate makefile or any other files. ***********/!\ Warning /!\************** Headers : vfork.h not found, please install it if you want build SmartEiffel correctly Functions : clock_gettime not found, please install it if you want build SmartEiffel correctly ##################################### If they're no headers or functions which aren't found you can install SmartEiffel by typing make or make interactive. Then type VerifyAndStripTools to complete the installation Pas de panique, certains éléments ne sont pas indispensables au bon fonctionnement de la compilation. Cependant, si le résultat affiche plus d'erreurs que ci-dessus, c'est peut-être à cause de paquets manquants. Lancez la compilation : make Après quelques minutes, il devrait s'afficher : SmartEiffel Release 2.4 (svn snaphsot 9308) [????] Generating configuration in /home/charly/.serc OK Using the existing compile_to_c as bootstrap compiler Building the compiler compile.c: In function ‘basic_exec_posix_put_character’:-x c compile.c compile.c:446:8: attention : ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result] OK Building large tools (using the SmartEiffel parser and AST) OK Building helper tools OK Generating API docs OK Done. ===== Installation de SmartEiffel ===== La procédure qui va suivre a pour but d'installer le compilateur dans votre dossier personnel (pour les comptes ne disposant pas de privilèges administrateur). Dans un premier temps, créez un dossier .local/bin. mkdir ~/.local/bin Copiez les fichiers exécutables vers .local/bin en remplaçant "Chemin_vers_SmartEiffel". cp -R Chemin_vers_SmartEiffel/bin/* ~/.local/bin Modifiez le fichier .bashrc de votre dossier personnel : gedit ~/.bashrc Ajoutez-y les lignes suivantes à la fin du fichier : # Les exécutables/scripts dans /home/username/.local/bin seront accessibles par ligne de commande export PATH=$PATH:$HOME/.local/bin Enfin, fermez les fenêtres de terminal pour que les changements soient effectués. Vous pourrez désormais compiler vos fichiers *.e grâce à la commande : compile -o Mon_executable Mon_fichier.e