1. Introduction

Que sont et que font au juste les auto-tools ? Les auto-tools sont les outils autoconf, automake, libtool et ceux qui gravitent autour (nous évoquerons aclocal plus loin). Au premier abord, ils permettent de générer des fichiers Makefile que l'on peut paramétrer avec les options fournies au script configure. Si leur intérêt se limitait à cela, les développeurs préféreraient faire leurs propres fichiers Makefile et expliquer comment modifier les options par exemple dans un fichier que les Makefile pourraient inclure.

Les auto-tools permettent de générer des fichiers Makefile de façon portable, ce qui signifie qu'un programme, tant qu'il ne fait pas appel aux fonctionnalités propres de la plateforme sur laquelle il doit tourner, pourra être compilé partout où les auto-tools (et les dépendances de votre programme) fonctionnent. Notre exemple, conçu sur Darwin (Mac OS X) fonctionnera aussi bien sur Linux que sur Cygwin (MS Windows). Vous n'avez pas à tenir compte vous-même de la version de make et implicitement du format des fichiers Makefile et de leurs particularités par exemple.

Mieux, les auto-tools respectent les standards GNU et Unix, en particulier le FHS. Cela fait entre autre la joie des personnes qui créent des paquets pour nos distributions favorites lorsqu'elles respectent aussi le FHS. Ces personnes n'auront aucun mal à adapter les répertoires que votre programme utilise à l'arborescence du système.

Parmi les avantages des auto-tools par rapport à de simples fichiers Makefile, nous citerons encore le fait que les cibles (pour make) clean, distcheck et d'autres sont systématiquement générées, sans le moindre paramétrage supplémentaire de votre part. Il est aussi possible de paramétrer la compilation avec des options --enable-fonctionnalité ou --with-option pour le script configure de notre commande magique. Et j'en passe...

création est mise à disposition sous un contrat Creative Commons