PpHd (./17) :
De quoi tu parles ?
Je parle:
* des fichiers comme
missing,
ltmain.sh etc. qui se retrouvent recopiés caractère pour caractère dans
chaque programme,
* de l'horreur qu'est
aclocal, qui a un fonctionnement absolument débile.

Ça insère des morceaux de shell script dans
configure, avec 2 processus possibles, créant chacun 2 (!) copies de ces morceaux par programme:
A. définitions "partagées":
1.
aclocal recopie la définition présente sur le système sur lequel on le lance dans
aclocal.m4 (une copie inutile),
2.
autoconf recopie cette même définition dans
configure (une deuxième);
B.
acinclude.m4 (utilisé par KDE 3 par exemple):
1. le mainteneur recopie
acinclude.m4 dans ses sources à la main

(copie non seulement totalement inutile, mais en plus, ça marche bien si on n'en a qu'un seul, mais si chaque projet fait ça, il faut en plus concaténer tous ces fichiers
acinclude.m4 
),
2.
autoconf recopie cette définition dans
configure (deuxième copie).
Avec
CMake, c'est l'utilisateur (ou le packageur) qui lance
cmake (et ça marche bien parce qu'ils ne font pas sans cesse des changements incompatibles comme les autotools

), donc le mainteneur ne doit pas recopier les snippets
cmake déjà installés par les autres logiciels ou
cmake lui-même (et une distribution peut facilement patcher ces fichiers parce qu'il n'y a qu'une copie). Et avant que tu te plaignes que ce n'est pas flexible, on peut aussi inclure ses propres snippets
cmake (le fonctionnement prévu à la base pour
acinclude.m4, mais ça a été souvent utilisé en pratique pour recopier des définitions dans chaque projet

), et ces snippets ne sont pas recopiés ailleurs dans le tarball (à la
autoconf) non plus.