Guerre d'outils d'aide à la compilation

Par yansanmo

2006-03-11 09:40:58

Parfois on voit des drôles de trucs en suivant (comme un roman feuilleton) des SVN ou CVS. Un SVN ou un CVS, c'est un outil de contrôle de version pour le code informatique. Ça garde le fichier X de la version 1.1, 1.2, 1.3, 1.4, 1.5 et le fichier Y de la version 1.1, 1.2, 1.2.1, 1.2.2, 1.2.3, etc. À la fin, on veut être capable d'accéder à la dernière version de tous les fichiers et de voir l'historique des versions (par exemple, qui a écrit le bug qui fait planter ma belle application).

En ce moment, sur le SVN de KDE, on peut voir une petite guerre amicale entre trois outils d'aide à la compilation. Un outil d'aide à la compilation, c'est un logiciel qui permet d'aider le programmeur à compiler son propre logiciel (les lignes de compilation peuvent avoir plus de 300 octets, on a donc besoin d'un fichier qui garde tout ça). Donc, dans l'arêne nous avons: make (ancien champion), unsermake (nouveau challenger) et cmake. Je sais pas les grosses différences entre chacun, mais l'utilisateur final qui va essayé de compiler le tout va avoir des problèmes si l'ensemble du projet KDE ne se compile pas complètement avec un des trois outils. Il ne faudrait pas compiler une partie avec make, une autre avec unsermake et le reste avec cmake.

Tant que personne ajoute ANT (habituellement pour les projets JAVA, c'est en XML), on va être correct.

Pourquoi existe-il une guerre comme ça? 1. la syntaxe de automake, autoconf, make est peu connu (si si) par tous les développeurs débutants. Souvent, on fait juste du copier-coller de ce qu'on voit dans un autre projet. On veut coder en C++, pas en make. Et puis, qui sait ce que veut dire "cc $^ -o $@"? 2. L'affichage de make est affreuse maintenant dans KDE car c'est trop scripté avec des conditions et des paramètres. Ça devient difficile de savoir facilement ce que fais la compilation (Compilation, Liaison, Erreur, Installation?). 3. Y'a toujours des personnes qui connaissent d'autres outils, qui croient qu'il est plus simple, facile à apprendre parce qu'il le connaisse bien personnellement.

En résumé, je ne sais pas qui va dominer au niveau des outils dans l'avenir, je crois qu'on doit avoir unsermake pour compiler KDE 4 déjà, make deviendra peut-être obsolète (pour ce projet) et le combat des outils se fera entre unsermake et cmake.


<<Précédente Suivante>>


Ajout d'un commentaire