Procédure de construction des applications SCENARI avec recompilation de xulrunner et des XPCOMs SCENARI sous Linux
| Conseil |
|---|
Une nouvelle procédure est décrite ici et semble remplacer toutes les instructions indiquées ci-dessous au profit d'un build beaucoup plus automatisé pour les versions >= Scenari 3.7 : http://scenari-platform.org/trac/dev-core/browser/trunk/Lib_XulRunner/bui/README.txt |
L'environnement de développement SCENARI
Construction des applications SCENARI sous Linux
| Attention ! |
|---|
|
Compilation de xulrunner
Lectures préliminaires
- http://developer.mozilla.org/en/docs/Build_Documentation
- http://developer.mozilla.org/en/docs/Linux_Build_Prerequisites
Initialisation de l'environnement de compilation
$ cvs -d :Pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -r MOZILLA_1_8_BRANCH mozilla/client.mk
| Attention ! |
|---|
|
Paramétrage de l'environnement de compilation
Dans le dossier mozilla ainsi créé, ajouter un fichier .mozconfig contenant :
# Options for client.mk. mk_add_options MOZ_CO_PROJECT=xulrunner mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../builds # Make use of dual core (only activate on dual core systems) #mk_add_options MOZ_MAKE_FLAGS=-j2 # Options for 'configure' (same as command-line options). ac_add_options --enable-application=xulrunner ac_add_options --enable-extensions=default,spellcheck ac_add_options --enable-svg ac_add_options --enable-canvas # Path to java bin & include folders ac_add_options --with-java-include-path=/path/to/java/include ac_add_options --with-java-bin-path=/path/to/java/bin # Elimination extras ac_add_options --disable-installer ac_add_options --disable-tests # Mode de compile ac_add_options --disable-debug ac_add_options --enable-optimize # Version condensée ac_add_options --disable-libxul ac_add_options --enable-static --disable-shared
| Attention ! |
|---|
Il faut modifier certaines option spécifiques à la machine de compilation (--with-java*, MOZ_MAKE_FLAGS, MOZ_OBJDIR). |
Checkout des sources mozilla
Dans le dossier mozilla, exécuter :
$ make -f client.mk checkout
Application des patchs SCENARI
Appliquer tous les patchs se trouvant dans les sources de SCENARI récupérés précédemment, dans l'exemple du WIKI ceux-ci se trouvent dans le dossier /scenariBuild/sources/Lib_XulRunner/patches. Par exemple :
$ patch -p0 < /scenariBuild/sources/Lib_XulRunner/patches/01_spellscan.patch
etc...
Compiler xulrunner
$ make -f client.mk build
La compilation prend à peut près 20 minutes sur un dual-core moderne.
Packager xulrunner
Une fois la compilation terminé, il faut packager xulrunner : aller dans le dossier MOZ_OBJDIR (ici ../builds) et exécuter :
$ make -C xulrunner/installer
Cette commande produira deux tar.gz dans le dossier :
$ ll dist/*.tar.gz -rw-r--r-- 1 sam sam 2109986 2007-09-22 11:39 dist/xulrunner-1.8.1.8pre.en-US.linux-i686.sdk.tar.gz -rw-r--r-- 1 sam sam 8453489 2007-09-22 11:39 dist/xulrunner-1.8.1.8pre.en-US.linux-i686.tar.gz
Intégrer xulrunner aux sources SCENARI
Copier le fichier dist/xulrunner-1.8.xxxxx.tar.gz (pas le SDK) vers le dossier /scenariBuild/sources/Lib_XulRunner/lin/ en le nommant xulrunner.tar.gz, par exemple :
$ cp dist/xulrunner-1.8.1.8pre.en-US.linux-i686.tar.gz \ /scenariBuild/sources/Lib_XulRunner/lin/xulrunner.tar.gz
Compilation du composant audio
Compilation de Daim
- Créer un répertoire de travail pour la compilation de daim
- Récupérer les sources de daim sur le svn de dev-audio, décompressez l'archive et renommer le répertoire des sources
daim$ svn co http://scenari-platform.org/svn/dev-audio/daim/ . daim$ tar -zxvf daim-src.tar.gz daim$ mv daim source
- Créer un répertoire config.local :
daim$ mkdir config.local
- Copier le Makefile de configuration vers config.local :
daim$ cp source/user_config.mk.linux config.local/user_config.mk
- Editer config.local/user_config.mk et paramétrer votre compilation (vérifier bien que la variable BUILD_CONFIG est égale à -linux-gcc).
- Exporter la variable DAIM_HOME.
daim$ export DAIM_HOME=$PWD
- Se placer dans le répertoire source/config et lancer la compilation.
daim$ cd source/config config$ make
- Aller boire un café.
| Attention ! |
|---|
Si la compilation échoue à la liaison en ne trouvant pas la bibliothèque libungif (/usr/bin/ld: cannot find -lungif), aller dans le répertoire /usr/lib et lié la biblothèque partagée libgif.so.X.X.X vers libgif.so. Exemple : config$ cd /usr/lib lib$ sudo ln -s libungif.so.4.1.4 libungif.so
|
- Retourner dans le répertoire daim et copier le répertoire dist/build-linux-gcc/runtime/ vers le répertoire builds/xulrunner/dist/xpi-stage de la compilation Mozilla.
daim$ cd ../.. daim$ cp dist/build-linux-gcc/runtime ../mozilla-builds/xulrunner/dist/xpi-stage -R
Installer portaudio et sndfile
Ces deux bibliothèques sont disponibles sous Ubuntu 7.10 :
$ sudo apt-get install portaudio19-dev libsndfile1-dev
| Attention ! |
|---|
La version de portaudio utilisée est la 1.9 (ou 2). Elle n'est pas encore très répandue. Si celle version n'est pas disponible sur votre distribution, il faut compiler et installer cette bibliothèque manuellement (non documenté). Site web de portaudio |
Compilation des XPCOM
- Récupérer le repository de dev-audio de http://scenari-platform.org/svn/dev-audio/trunk dans mozilla/extensions/scenari
mozilla$ cd extension extension$ svn co http://scenari-platform.org/svn/dev-audio/trunk scenari
- Modifier le mozconfig de mozilla pour ajouter scenari dans les extensions activées
ac_add_options --enable-extensions=default,scenari
- Reprendre les instructions de compilation de xulrunner à partir de Compiler xulrunner