Files
ft_linux/docs/ft-linux/references/autotools.md
2026-10-23 11:31:19 +02:00

2.9 KiB
Raw Blame History

Autotools — le lien Automake

Adresse du PDF : https://www.gnu.org/software/automake/manual/html_node/index.html#SEC_Contents

Le mot du sujet est Autotools. Le lien ouvre le manuel GNU Automake, un des outils de la famille, pas les quatre à la fois. Le manuel est sous licence GNU. On ne le recopie pas.

La famille, dans l’ordre où elle sert

Presque chaque paquet de la liste se construit ainsi :

./configure
make
make install

Derrière ces trois lignes, quatre outils. Le sujet les liste tous.

Outil Rôle
M4 Langage de macros. Autoconf est écrit dedans. Sans M4, Autoconf ne tourne pas
Autoconf Lit configure.ac et produit le script configure. Ce script teste la machine : compilateur, en-têtes, bibliothèques
Automake Lit Makefile.am et produit Makefile.in. configure transforme Makefile.in en Makefile adapté à cette machine
Libtool Enveloppe la création de bibliothèques partagées (.so). Les règles diffèrent entre systèmes. Libtool masque ces différences
Pkg-config (Pkgconf dans le LFS de 2025) Pas un autotool, mais le voisin. Un paquet demande « où est installée la bibliothèque X ? » et obtient les flags de compilation

make exécute le Makefile. Ce n’est pas un autotool. C’est l’outil qui lance le compilateur selon les règles produites au-dessus.

Pourquoi l’ordre de LFS place ces paquets tard

On peut compiler Binutils, GCC et Glibc sans avoir encore Automake : leurs archives contiennent déjà un configure généré par les auteurs. Automake et Autoconf servent le jour où l’on modifie un Makefile.am, ou quand un paquet plus haut dans le livre régénère ses scripts. Le livre les installe quand même, parce qu’un système où l’on construit des logiciels en a besoin. Le sujet les met dans la liste pour la même raison.

Ce qu’il suffit de reconnaître dans un chapitre LFS

  • ./configure --prefix=/usr : installer sous /usr, pas sous /usr/local. LFS fixe le préfixe pour coller au FHS.
  • --enable-... et --disable-... : options du script produit par Autoconf. Chaque chapitre du livre dit lesquelles passer. On ne les invente pas.
  • make puis make check quand le livre le demande. Check, DejaGNU, Expect et Tcl existent pour ces tests. Un test qui échoue se lit. On ne « corrige » pas le paquet pour faire passer un test sans comprendre l’échec.
  • make install : copie le résultat dans la hiérarchie. Avant le chroot, le livre dirige souvent l’installation vers $LFS/usr pour ne pas écraser l’hôte.

Le manuel Automake décrit le langage des Makefile.am (variables bin_PROGRAMS, AM_CFLAGS, etc.). On en a besoin le jour où un paquet ne fournit pas de configure prêt, ou pour lire un Makefile.am cassé. Pour suivre le livre chapitre par chapitre, les trois commandes ci-dessus suffisent, avec les options écrites dans le chapitre.