#1 Le 09/07/2006, à 11:14
- fredbezies
[Tutoriel] Comment faire son propre "Swiftfox" ;)
Bonjour.
Certaines personnes sur le forum sont des fans de Swiftfox. Voici donc un petit tutoriel pour pondre votre swiftfox à vous.
Ingrédients
1) Une ubuntu (breezy ou dapper)
2) les dépots universe / multiverse activé dans Synaptic
3) le code source de firefox 1.5.0.x (x = 4 au moment où je rédige ce rapide tutoriel)
4) de la patience
1ière étape : mise en place de l'environnement de compilation
Attendez, ne fuyez pas !
Soit dans Synaptic, soit dans le terminal, on commence par récupérer l'essentiel : make et compagnie.
Donc, il faut récupérer le paquet "build-essential". Dans le terminal (et oui, je suis un gros geek mais rasé), entrons :
sudo apt-get install build-essential
On va aussi récupérer les paquets de développement pour GTK2, donc le paquet "libgtk2.0-dev". Dans le terminal :
sudo apt-get install libgtk2.0-dev"
On récupère aussi les fichiers de développements pour la bibliothèque xft (libxft-dev) et pkg-config. Vous connaissez le principe ? Donc je pense que c'est inutile de répéter encore une fois
2ième étape : récupération et configuration du code source
Y a encore des survivants ?
Récupérons le code source de firefox. (dans notre exemple, le 1.5.0.4)
http://ftp.mozilla.org/pub/mozilla.org/ … .4/source/
Dans le terminal, désarchivons le code source en entrant :
tar xvfj firefox-1.5.0.4-source.tar.bz2
Entrons dans le répertoire nouvellement créé (avec un cd mozilla).
Maintenant, nous allons passer à la partie ennuyeuse, le fichier .mozconfig.
On va rester simple. On va récupérer le .mozconfig correspondant à votre machine. (http://getswiftfox.com/releases.htm)
Quand on clique sur la ligne .mozconfig, on accède au code.
Lancez gedit, et copiez / collez le contenu.
Sauvez le fichier en .mozconfig dans le répertoire mozilla nouvellement créé.
3ième étape : compilation du bouzin
Dans le terminal, commençons par entrer :
make -f client.mk depend
Puis, une fois les dépendances créées :
make -f client.mk build
L'opération est assez longue (1 heure sur mon Pentium 4 - 2,6 ghz / 1 Go de ram)
Si tout se passe bien, il ne vous restera plus qu'à créer l'archive :
make -C xpinstall/packager
Et un fichier en .tar.bz2 vous attendra dans le répertoire mozilla/dist/
Attention : vous aurez les icones "ubuntu" pour votre "swiftfox".
S'il y a le moindre problème en suivant ce petit tutoriel, envoyez moi un message en perso, j'y répondrais dès que possible
Bon dimanche !
#2 Le 09/07/2006, à 18:00
- Gounlaf
Re : [Tutoriel] Comment faire son propre "Swiftfox" ;)
Si j'ai bien tout suivi, ca fera un Firefox compiler avec nos parametres, donc beaucoup plus rapide en execution (d'apres les autres topics), c'est bien cela ?
-- Gounlaf - c3x : Intégration html & css - Portfolio de Gounlaf --
Hors ligne
#3 Le 09/07/2006, à 18:38
- Link31
Re : [Tutoriel] Comment faire son propre "Swiftfox" ;)
Il sera optimisé pour ton type de processeur. Donc en principe plus rapide.
Il y a aussi possibilité de ne pas compiler certaines fonctions, ce qui accélère encore l'exécution.
Enfin, il est possible de demander au compilateur d'optimiser le code lui-même. L'optimisation est habituellement -O2, mais il y a peut-être (pas testé) un moyen de compiler Firefox en -O3. L'optimisation du code influe sur la taille de l'exécutable et sur la vitesse d'exécution (le compromis des deux entraînant parfois une baisse de la vitesse au final).
Hors ligne
#4 Le 09/07/2006, à 18:46
- Smarter
Re : [Tutoriel] Comment faire son propre "Swiftfox" ;)
Mais si Swiftfox propose déja les paquets tout prêts, quel est l'interêt de les refaires avec les même paramètres? Ce qui aurait été intéressant c'est de détaillé les options de ce .mozconfig et les trucs inutiles qu'on peut enlever
Hors ligne
#5 Le 09/07/2006, à 20:20
- fredbezies
Re : [Tutoriel] Comment faire son propre "Swiftfox" ;)
Link31 : swiftfox est déjà compilé en -O3.
Smarter : 10 minutes, et tu seras comblé
L'intérêt ? Savoir le faire au cas où...
Gounlaf : oui.
#6 Le 09/07/2006, à 20:25
- fredbezies
Re : [Tutoriel] Comment faire son propre "Swiftfox" ;)
#
# See http://www.mozilla.org/build/ for build instructions.
#
BUILD_OFFICIAL=1
export BUILD_OFFICIAL
mk_add_options BUILD_OFFICIAL=1
# Options for client.mk.
mk_add_options MOZ_CO_PROJECT=browser
export CHOST="i686-pc-linux-gnu"
export CFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer -msse2 -mmmx -mfpmath=sse -D_FORTIFY_SOURCE=2"
export CXXFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer -msse2 -mmmx -mfpmath=sse -D_FORTIFY_SOURCE=2"
export CPPFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer -msse2 -mmmx -mfpmath=sse -D_FORTIFY_SOURCE=2"
# Options for 'configure' (same as command-line options).
ac_add_options --with-pthreads
ac_add_options --enable-application=browser
ac_add_options --enable-default-toolkit=gtk2
ac_add_options --with-distribution-id=Swiftfox
ac_add_options --disable-freetype2
ac_add_options --enable-single-profile
ac_add_options --enable-extensions=default,xforms,schema-validation
ac_add_options --disable-installer
ac_add_options --disable-tests
ac_add_options --enable-optimize="-O3 -march=pentium4 -freorder-blocks -fno-reorder-functions -msse2 -mmmx -mfpmath=sse -D_FORTIFY_SOURCE=2"
ac_add_options --disable-shared
ac_add_options --enable-static
ac_add_options --disable-profilesharing
ac_add_options --disable-debug
ac_add_options --enable-xft
ac_add_options --enable-crypto
ac_add_options --enable-svg
ac_add_options --enable-canvas
ac_add_options --enable-update-packaging
Bon, j'ai pris le .mozconfig pour pentium4, mais le principe est le même pour les autres.
Inutile :
export CHOST="i686-pc-linux-gnu"
export CFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer -msse2 -mmmx -mfpmath=sse -D_FORTIFY_SOURCE=2"
export CXXFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer -msse2 -mmmx -mfpmath=sse -D_FORTIFY_SOURCE=2"
export CPPFLAGS="-O3 -march=pentium4 -pipe -fomit-frame-pointer -msse2 -mmmx -mfpmath=sse -D_FORTIFY_SOURCE=2"
Etant donné que la ligne d'optimisation déclare cela.
ac_add_options --enable-extensions=default,xforms,schema-validation
Pourquoi xforms alors qu'il n'est pas compilé officiellement par mozilla ? Idem pour schema-validation ?
un ac_add_options --enable-extensions=default suffit largement.
ac_add_options --enable-crypto
Activé par défaut depuis le début (ou presque du développement de gecko 1.8 donc fx 1.5). Peut être viré sans encombre.
BUILD_OFFICIAL=1
export BUILD_OFFICIAL
On peut le remplace par un export BUILD_OFFICIAL=1 de bon aloi
Voila, en gros ce qu'on peut dire !
Dernière modification par fredbezies (Le 09/07/2006, à 20:25)
#7 Le 09/07/2006, à 22:14
- Gounlaf
Re : [Tutoriel] Comment faire son propre "Swiftfox" ;)
make[4]: *** [firefox-bin] Erreur 1
make[4]: quittant le répertoire « /home/gounlaf/mozilla/browser/app »
make[3]: *** [libs] Erreur 2
make[3]: quittant le répertoire « /home/gounlaf/mozilla/browser »
make[2]: *** [tier_99] Erreur 2
make[2]: quittant le répertoire « /home/gounlaf/mozilla »
make[1]: *** [default] Erreur 2
make[1]: quittant le répertoire « /home/gounlaf/mozilla »
make: *** [build] Erreur 2
J'ai ca, juste a la fin de la compil :s
Du coup jpeu pas faire l'archive :s
Dernière modification par Gounlaf (Le 09/07/2006, à 22:14)
-- Gounlaf - c3x : Intégration html & css - Portfolio de Gounlaf --
Hors ligne
#8 Le 09/07/2006, à 23:26
- Link31
Re : [Tutoriel] Comment faire son propre "Swiftfox" ;)
@Gounlaf : il faut donner l'erreur qui est avant, très probablement quelque chose du genre : xxx.h : no such file or directory. Ensuite il faut rechercher le xxx.h sur packages.ubuntu.com et installer le paquet qui correspond.
Hors ligne
#9 Le 09/07/2006, à 23:29
- Gounlaf
Re : [Tutoriel] Comment faire son propre "Swiftfox" ;)
Erf, pas moyen de loguer tout ca ? Pck jvais devoir relancer la compil ... j'ai fermer le terminal xD
-- Gounlaf - c3x : Intégration html & css - Portfolio de Gounlaf --
Hors ligne