Dis, cela prend combien de temps pour compiler un Mozilla Firefox ?

Adepte des versions de développement des logiciels de la Fondation Mozilla depuis Mozilla 0.8 (en gros depuis février 2001), j’ai toujours voulu connaître le temps nécessaire à la compilation d’une version « from scratch », en clair, en repartant de zéro.

Ayant récupéré le code source en utilisant les instructions disponibles à l’adresse https://developer.mozilla.org/En/Developer_Guide/Source_Code/Mercurial, en clair en entrant sur une ligne de commande :

hg clone http://hg.mozilla.org/mozilla-central/ src
cd src

Puis en actualisant le code source avec un petit :

hg --verbose pull -u

J’ai ensuite utilisé le fichier .mozconfig suivant :

#
# See http://www.mozilla.org/build/ for build instructions.
#

export AUTOCONF=autoconf-2.13

. $topsrcdir/browser/config/mozconfig

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../objdir-fx

# Options for ‘configure’ (same as command-line options).
ac_add_options –enable-optimize
ac_add_options –disable-debug
ac_add_options –disable-tests

Pour des raisons techniques, il faut installer l’ancienne version d’autoconf, connue sous le nom d’autoconf-compat sur Archlinux.

J’ai divisé la compilation en deux temps : un pour les dépendances, l’autre pour la compilation proprement dite.

Pour les dépendances :

make -f client.mk depend

Pour la compilation :

make -f client.mk build

Et le temps nécessaire ? Il suffit d’ajouter la commande time devant les commandes make.

Pour les dépendances :

real    2m49.202s
user    1m30.977s
sys    0m44.534s

Pour la compilation :

real    43m33.043s
user    39m33.562s
sys    3m38.266s

Pour info, ma configuration :

Acer Aspire 5520, donc :

  • AMD Athlon X2 TK 55 (800 à 1800 Mhz)
  • 2 GiO de mémoire vive
  • 120 GiO de disque dur
  • Circuit vidéo GeForce7000M

Sur le plan logiciel :

  • Archlinux 2009.02 à jour avec le dépot testing activé
  • Gnome 2.28.0
  • gcc / g++ 4.4.1

45 minutes, sur un portable acheté en février 2008, ce n’est pas si mal que cela 😉