Autotools

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Logo GNU

Autotools (ou GNU build system) est un terme général utilisé par la communauté anglo-saxonne pour désigner l'ensemble des outils de build du projet GNU.

Autotools n'est pas un projet GNU, mais l'expression est souvent utilisée à l'extérieur comme à l'intérieur du projet pour désigner un ensemble de projets GNU, parmi lesquels:

Aperçu du fonctionnement des Autotools

Description technique[modifier | modifier le code]

Script configure[modifier | modifier le code]

Les scripts configure (souvent écrits ./configure) sont générés par autoconf. Ils sont utilisés pour analyser l'environnement de développement courant et fournir les informations résultantes aux autres outils de la suite autotools. Via le ou les fichiers configure.ac, les différentes tâches incluent :

Les scripts configure sont générés par des développeurs. Les outils GNU Autoconf et GNU Automake ne sont pas nécessaires après que le script configure a été généré.

GNU Automake[modifier | modifier le code]

Article détaillé : GNU Automake.

GNU Automake lit les fichiers Makefile.am et génère les fichiers Makefile.in.

GNU Autoconf[modifier | modifier le code]

Article détaillé : Autoconf.

GNU Autoconf lit les fichiers configure.ac pour générer le(s) fichier(s) configure. Il lit aussi les fichiers *.in pour générer d'autres fichiers.

Autres fichiers concernés par le script autoconf :

  • Makefile.in
  • Makefile
  • myfile.in, myfile.

GNU Make[modifier | modifier le code]

Article détaillé : GNU Make.

Sous Unix, classiquement, make lit et exécute le ou les fichiers Makefile pour générer un fichier exécutable et les bibliothèques logicielles nécessaires. Sous Mac OS X, avec MacPorts il s'agit du package gmake

Bibliographie[modifier | modifier le code]

  • (en) « A Practitioner's Guide to GNU Autoconf, Automake, and Libtool » (par John Calcote - ISBN 978-1-59327-206-7).

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Références externes[modifier | modifier le code]