{{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