InstallationSources:
/home/pandora2/Ravi/raviex.tar.gz Ce fichier contient une arborescence de fichiers source permettant
de générer ravi, sur différentes architectures.
Il y a d'abord génération du Scheme de base, puis
génération des modules .
La base Scheme se décompose à son tour en un noyau écrit
en C++, et le système écrit en Scheme.
D'une facon très classique, la génération procède en 3 étapes:
rm config.cache
./configure
make
make install
- configure crée plusieurs fichiers de configuration dans le répertoire Config:
config.mk config.h Il peut être utile d'éditer manuellement les fichiers générés.
L'installation par défaut se fait dans plusieurs répertoires
selon le "standard Unix" (voir ci-après).
Si on souhaite une installation personnalisée,
le configure prend des paramètres qui précisent les répertoires
d'installation (ils n'ont aucune incidence sur la
génération à proprement parler).
Le format avec paramètres du configure est
./configure --prefix=$LIBDIR --bindir=$BINDIR --includedir=$INCDIR
Le configure est créé via autoconf.
- Le make génère la "version développeur" de ravi.
- Le make install recopie les fichiers nécessaires pour l'exécution de ravi dans les
répertoires indiquées au configure.
Selon les circonstances, le make install doit s'exécuter en root.
On peut utiliser ravi sans l'avoir installé (pratique en phase de test):
Ravi/Bin/ravi -libdir Ravi ... Attention à la confusion des $RAVIARCH, ancienne et nouvelle version:
dans la nouvelle version, cette variable est interne aux makefile,
et au config. Voir configure pour le calcul.
Ancien: i686-Linux2
Nouveau: i686-pc-linux-gnu
etc.
|
Répertoires d'installation
|
- BINDIR contient seulement un script ravi qui fait appel au bon exécutable.
Défaut: /usr/local/bin
- LIBDIR Défaut: /usr/local/lib/$RAVI_VERSION
Répertoire contenant divers fichiers utilisés par l'exécutable ravi,
dans plusieurs sous-répertoires:
Compiler Module Objrv Runtime Script bin Le répertoire script contient un script make_ravi
qui crée un répertoire ~/.ravi. Ce script est en principe
activé au premier appel de ravi, pour un utilisateur donné
(voir: fichiers de configuration personnelle,
et quelques lignes plus loin ici).
Le répertoire Module contient les "modules" ravi,
qui sont chargés par la fonction require.
- INCDIR est nécessaire pour la compilation des fichiers générés pour interfacer
du C++. Défaut: /usr/local/include/Ravi
|
Répertoires de génération
| Le fichier tar contient une arborescence de racine
Ravi.
Il y a d'abord génération du Scheme de base, puis
génération des modules .
La base Scheme se décompose à son tour en un noyau écrit
en C++, et le système écrit en Scheme.
Le makefile au niveau de la racine active grosso modo
les makefile dans l'ordre des répertoires.
- Build
- Src Répertoires source, en C++, du noyau de ravi.
- Runtime Fichiers source en Scheme: interpréteur, compilateur
- Script Contient make_ravi Revoir ce script qui contient la version initiale des fichiers
de config-utilisateur. En particulier, rendre Scheme "case sensitive"
si on prévoit l'utilisation avec C.
La génération de ce "Scheme de base" ne pose en général pas de problème.
La géneration des modules procède en 2 étapes également: modules
en Scheme, modules C/C++.
- Module/Rlib sources des modules en Scheme. Ces modules sont compilés par le noyau
Ravi généré à l'étape précédente
- Module/GenModule Générateur d'interfaces
- Module/Src modules mixtes C/C++ - Scheme. Il s'agit des modules readline,
modsystem, et autres.
A adapter localement.
Voici les commandes utilisées pour générer Ravi dans l'équipe Prima.
version A
autoconf
./configure --prefix=/home/pandora2/Ravi/local --bindir=/home/pandora2/Ravi/Bin/`Config/config.guess` --includedir=/home/pandora2/Ravi/local/include/0.9.5
make
make install
=====================================
version B
./configure --prefix=/home/pandora2/Ravi/local --bindir=/local/prima/pc-glibc/bin/ --includedir=/local/prima/pc-glibc/include
make
make install
version 11-02
rm config.cache
./configure --prefix=/home/pandora2/Ravi/local --includedir=/local/prima/Share/include/Ravi
make distclean
make
cd Module/Src
make
=====================================
./configure --prefix=/local/prima/pc-glibc
./configure --prefix=/perms/lux/Rv --enable-debug=3
=====================================
|
Génération des modules C++
| Après la génération du noyau de Ravi, on installe les
modules écrits en C/C++; les plus importants étant
les modules modsystem readline. Selon la version du makefile,
ce n'est pas fait automatiquement avec la génération du noyau,
car la génération des modules provôque facilement des erreurs,
liées à la configuration Unix (répertoires include,
librairies diverses).
Remarque: ne pas confondre avec les modules écrits en Scheme
qui sont toujours générés, sans problème.
Passer dans le répertoire Module/Src
./configure
make
make install
=====================================
|