Le principe de la compilation "à la main"
La compilation est étant basée sur les autotools, elle utilise le trio courant :
./autogen.sh
make
make install
Le préfixe correspond au dossier d'installation où seront copiés les différentes libs/applications pendant le "make install"
Le préfixe par défaut est souvent "/usr/local", ce qui signifie que :
les libs vont être installées dans /usr/local/lib
les binaires vont être installés dans /usr/local/bin
les headers (en-têtes de compilation) vont être installés dans /usr/local/include
...
De manière générale, ceux qui compilent e17 préfèrent utiliser un préfixe different,souvent /opt/e17/, afin de ne pas mélanger e17 avec le reste du système, cela permet une désinstallation plus facile.
Les libs de bases sont dépendantes les unes des autres et nécessitent d'etre compilées dans un ordre precis :Eina, eet, evas, ecore, embryo, edje, efreet, eeze, eio puis e_dbus.
Pour compiler Eina par exemple, il faut e deplacer dans le dossier contenant les sources:
$ cd eina
Puis utiliser la commande :
$ ./autogen.sh --prefix=/opt/e17
Qui va verifier que les dépendances requises sont bien présentes sur votre système, puis préparer la compilation.
Si autogen.sh ne retourne pas d'erreurs, la compilation s'effectue avec :
$ make
Puis :
$ make install
La procédure est à répéter pour chaque lib ou application à compiler. Si vous choisissez un prefix différent de celui par defaut, et que vous répétez la procédure pour eet, le script autogen.sh va échouer car ld et pkg-config ne trouverons pas la lib eina. pour remedier à ce problème il sera nécessaire d'exporter quelques variables dans votre terminal:
export LDFLAGS="-L/opt/eE17/lib" <- option du linker ld pour la compilation
export LD_LIBRARY_PATH="/opt/e17/lib" <- dossier d'installation des libs
export PKG_CONFIG_PATH="/opt/e17/lib" <- dossier d'installation des fichiers de configurations de pkg-config
Les variables exportées sont valables uniquement dans le terminal courant.
Une fois ceci fait, vous pouvez vous déplacer dans le dossier eet et recommencer la procédure.
Le script Emline.sh effectue ces opérations à votre place, si toutefois vous voulez compiler une application à la main vous pouvez utiliser :
$ ./Emline.sh -p
Le script affiche alors les export utilisés pour la compilation, il ne vous reste plus qu'a faire un copier/coller dans votre terminal.