Compilation simple de Firefox

Vous pouvez compiler une version de développement "bleeding-edge" de Firefox avec les commandes qui suivent. Pour avoir toute l'information allez sur build documentation.

 

Installation des outils de compilation

Si votre système n'est pas listé, regardez la page build prerequisites.

Ubuntu Linux:
sudo apt-get build-dep firefox
sudo apt-get install mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev mesa-common-dev autoconf2.13
Fedora Linux:
sudo yum groupinstall 'Development Tools' 'Development Libraries' 'GNOME Software Development'
yum install mercurial autoconf213 glib-static yasm alsa-lib-devel pulseaudio-libs-devel
Mac:
  • Installez Xcode Tools. Insérez "Mac OS X Install Disc 2", puis ouvrez XcodeTools.mpkg. (Pour certaines versions de Mac OS X, vous le trouverez dans le dossier nommé "Optional Installs".)
  • Installez MacPorts.
  • Lancez ces commandes pour installer le reste des outils :
    sudo port sync
    sudo port install mercurial libidl autoconf213
    

Des problèmes? Regardez Mac OS X build prerequisites.

Windows:
  • Si vous utilisez XP, il vous faut Windows XP Service Pack 2 et .NET Framework 2.0.
  • Installez Visual C++ 2005 ou 2008. Visual C++ professional edition tout autant que express edition marcheront.
  • Vous allez devoir installer un ou plusieurs Windows SDKs. Allez sur Windows SDK versions pour avoir une explication rapide.
  • Installez MozillaBuild, un paquet d'outils de compilation supplémentaires. (Si vous obtenez un message indiquant que l'installation ne s'est pas faite correctement, vous devriez avoir une boîte de dialogue vous proposant de les réinstaller avec les "paramètres corrects" après quoi tout devrait aller.)
  • Ouvrez un terminal windows en lançant : c:\mozilla-build\start-msvcX.bat (Où X vaut 8 pour VS 2005 et 9 pour VS 2008). Même si vous êtes sur un  Windows 64 bits, n'utilisez pas les fichiers finissant par -x64.bat.

Des problèmes? Regardez Windows build prerequisites.

Compiler Firefox

Compiler Firefox nécessite au moins 1 GB d'espace disque, 500 MB de RAM et beaucoup d'espace dans le fichier d'échanges.

# Récupération des sources
hg clone http://hg.mozilla.org/mozilla-central/
cd mozilla-central

# Création d'un fichier mozconfig basique
echo '. $topsrcdir/browser/config/mozconfig' > mozconfig                      # Lancement de la compilation de Firefox...
echo 'mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-release' >> mozconfig   # ...dans ce répertoire...

# La compilation parallèle est un bon moyen d'accélérer le processus :
# A N'UTILSER QUE SI VOUS N'ÊTES PAS SUR WINDOWS!  Cela ne marche pas à cause du bug 524149.
echo 'mk_add_options MOZ_MAKE_FLAGS="-j4"' >> mozconfig

# Compilation
make -f client.mk
  • Sur Windows, certains répertoires (et certains chemins) comportent des espaces (ex : "Documents and Settings"). Or ces espaces sont difficiles à gérer. Nous vous conseillons de cloner le référenciel dans un répertoire dont le chemin ne comporte pas d'espace. Par exemple directement à la racine du disque c:\ avec un "cd /c" puis le hg clone qui créera le répertoire C:\mozilla-central.
  • Sur OS X 10.6 ("Snow Leopard") il faudra des options supplémentaires dans le mozconfig, allez sur OS X Build Prerequisites pour plus de détails.
  • Pour une compilation de débeugue, il faudra plusieurs options dans le fichier mozconfig.  Cela nécessite environ 2.5 GB d'espace disque.
    . $topsrcdir/browser/config/mozconfig
    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-debug
    ac_add_options --enable-debug
    ac_add_options --disable-optimize
    
  • L'exécutable firefox se trouvera dans objdir-ff-release/dist/bin/ (Sur Mac, objdir-ff-release/dist/Minefield.app/Contents/MacOS/).

Comment recompiler plus tard?

Dans le dossier mozilla-central , lancez ces commandes:

# Récupérer les dernières sources
hg pull -r default
hg update

Puis relancez simplement la commande "make -f client.mk". make ne recompilera que les nouveaux fichiers (mais ce sera tout de même assez long). Une  compilation incrémentale peut s'avérer plus rapide.

Étiquettes et contributeurs liés au document

Étiquettes :
Contributeurs ayant participé à cette page : Demos, enguerran, AmarOk1412
Dernière mise à jour par : AmarOk1412,