Je suis de moins en moins convaincu par ce genre de pédagogie. J'ai
tellement été obligé de démerder des gens paumé entre la syntaxe de
make, du préprocesseur, c'est quoi le fichier objet - rien à voir avec
l'instance d'une classe, faut aussi l'expliquer - c'est quoi le
programme...
Je suis de moins en moins convaincu par ce genre de pédagogie. J'ai
tellement été obligé de démerder des gens paumé entre la syntaxe de
make, du préprocesseur, c'est quoi le fichier objet - rien à voir avec
l'instance d'une classe, faut aussi l'expliquer - c'est quoi le
programme...
Je suis de moins en moins convaincu par ce genre de pédagogie. J'ai
tellement été obligé de démerder des gens paumé entre la syntaxe de
make, du préprocesseur, c'est quoi le fichier objet - rien à voir avec
l'instance d'une classe, faut aussi l'expliquer - c'est quoi le
programme...
a dit le 08/02/2005 11:55:Fabien LE LEZ wrote:mal. Y a-t-il encore quelqu'un qui fasse des makefile à la
main ?
Moi ! Typiquement, le projet est assez compliqué, avec des
sources générées (avec des générateurs qu'il faut d'abord
compiler, etc.).
Personnellement, j'utilise des Makefile pour les petits
projets, lorsque les règles par défaut n'ont besoin que d'une
ou deux modifications.
Pour les projets plus importants, j'utilise les autotools
(autoconf, automake, libtool).
kanze@gabi-soft.fr a dit le 08/02/2005 11:55:
Fabien LE LEZ wrote:
mal. Y a-t-il encore quelqu'un qui fasse des makefile à la
main ?
Moi ! Typiquement, le projet est assez compliqué, avec des
sources générées (avec des générateurs qu'il faut d'abord
compiler, etc.).
Personnellement, j'utilise des Makefile pour les petits
projets, lorsque les règles par défaut n'ont besoin que d'une
ou deux modifications.
Pour les projets plus importants, j'utilise les autotools
(autoconf, automake, libtool).
a dit le 08/02/2005 11:55:Fabien LE LEZ wrote:mal. Y a-t-il encore quelqu'un qui fasse des makefile à la
main ?
Moi ! Typiquement, le projet est assez compliqué, avec des
sources générées (avec des générateurs qu'il faut d'abord
compiler, etc.).
Personnellement, j'utilise des Makefile pour les petits
projets, lorsque les règles par défaut n'ont besoin que d'une
ou deux modifications.
Pour les projets plus importants, j'utilise les autotools
(autoconf, automake, libtool).
Est-ce que les autotools peuvent traiter ça ?
Est-ce que les autotools peuvent traiter ça ?
Est-ce que les autotools peuvent traiter ça ?
Comme j'ai dit, j'ai les makefiles de base (component.mk,
library.mk, etc.). Quand le makefile du projet a plus que deux
ou trois affectations de variable, c'est parce qu'il y a du code
généré automatiquement, au moyen des scripts AWK, etc. Est-ce
que les autotools peuvent traiter ça ?
Comme j'ai dit, j'ai les makefiles de base (component.mk,
library.mk, etc.). Quand le makefile du projet a plus que deux
ou trois affectations de variable, c'est parce qu'il y a du code
généré automatiquement, au moyen des scripts AWK, etc. Est-ce
que les autotools peuvent traiter ça ?
Comme j'ai dit, j'ai les makefiles de base (component.mk,
library.mk, etc.). Quand le makefile du projet a plus que deux
ou trois affectations de variable, c'est parce qu'il y a du code
généré automatiquement, au moyen des scripts AWK, etc. Est-ce
que les autotools peuvent traiter ça ?
writes:Est-ce que les autotools peuvent traiter ça ?
Ca dépends a quel niveau te te places ...
En gros, tu as autoconf, qui te génère un script qui va faire
de la substitution des formes en @VARIABLES@ dans les fichiers
xxx.in (du répertoire source), et qui crée un fichier xxx
(sans le .in, dans le répertoire de build). En gros, le script
généré fait
# calculer la valeur de $VARIABLE
# ...
sed "s/@VARIABLE@/${VARIABLE}/" < xxx.in > xxx
Ça, c'est compatible avec tout, puisque c'est toi qui met ce
que tu veux dedans.
kanze@gabi-soft.fr writes:
Est-ce que les autotools peuvent traiter ça ?
Ca dépends a quel niveau te te places ...
En gros, tu as autoconf, qui te génère un script qui va faire
de la substitution des formes en @VARIABLES@ dans les fichiers
xxx.in (du répertoire source), et qui crée un fichier xxx
(sans le .in, dans le répertoire de build). En gros, le script
généré fait
# calculer la valeur de $VARIABLE
# ...
sed "s/@VARIABLE@/${VARIABLE}/" < xxx.in > xxx
Ça, c'est compatible avec tout, puisque c'est toi qui met ce
que tu veux dedans.
writes:Est-ce que les autotools peuvent traiter ça ?
Ca dépends a quel niveau te te places ...
En gros, tu as autoconf, qui te génère un script qui va faire
de la substitution des formes en @VARIABLES@ dans les fichiers
xxx.in (du répertoire source), et qui crée un fichier xxx
(sans le .in, dans le répertoire de build). En gros, le script
généré fait
# calculer la valeur de $VARIABLE
# ...
sed "s/@VARIABLE@/${VARIABLE}/" < xxx.in > xxx
Ça, c'est compatible avec tout, puisque c'est toi qui met ce
que tu veux dedans.
a dit le 09/02/2005 10:27:Comme j'ai dit, j'ai les makefiles de base (component.mk,
library.mk, etc.). Quand le makefile du projet a plus que
deux ou trois affectations de variable, c'est parce qu'il y
a du code généré automatiquement, au moyen des scripts AWK,
etc. Est-ce que les autotools peuvent traiter ça ?
J'aurais du exprimer ma position de manière plus claire. Si
dans ton cas, on a un système existant qui fonctionne bien, je
ne vois pas de raison d'en changer.
L'intérêt des autotools est, entre autre, qu'il n'y a pas
besoin de créer ce système. La génération des dépendances pour
les fichiers sources, qui est à mon point de vue l'un des
points les plus complexes à gérer, est fait automatiquement
par les autotools.
L'autre point fort est bien sûr la portabilité du système de
compilation et la gestion facilitée des tests de portabilité.
Donc, si tu as un système de Makefile qui fonctionne bien, ce
n'est sans doute pas la peine de passer à Automake. Pour ceux
qui n'ont rien, il me semble beaucoup plus facile d'apprendre
les bases des autotools que de se créer à la main un tel
système.
Lorsque j'ai commencé à écrire des Makefile, je me souviens
avoir passé du temps à tenter de résoudre des problèmes de
dépendances circulaires, et a finalement passer beaucoup trop
de temps dessus.
Pour répondre à ta question, tout ce qui peut être écrit pour
des Makefiles peut être intégré dans les fichiers Makefile.am
d'automake. Je suppose que ta question est sur des cibles du
genre :
! something.cpp: something.cpp.in
! $(AWK) -f gen.awk $< > $@
ou
! %.cpp: %.awk
! $(AWK) -f gen.awk $< > $@
Si c'est bien ça, alors la réponse est oui. A priori, ce code
peut apparaître tel quel dans le fichier Makefile.in
kanze@gabi-soft.fr a dit le 09/02/2005 10:27:
Comme j'ai dit, j'ai les makefiles de base (component.mk,
library.mk, etc.). Quand le makefile du projet a plus que
deux ou trois affectations de variable, c'est parce qu'il y
a du code généré automatiquement, au moyen des scripts AWK,
etc. Est-ce que les autotools peuvent traiter ça ?
J'aurais du exprimer ma position de manière plus claire. Si
dans ton cas, on a un système existant qui fonctionne bien, je
ne vois pas de raison d'en changer.
L'intérêt des autotools est, entre autre, qu'il n'y a pas
besoin de créer ce système. La génération des dépendances pour
les fichiers sources, qui est à mon point de vue l'un des
points les plus complexes à gérer, est fait automatiquement
par les autotools.
L'autre point fort est bien sûr la portabilité du système de
compilation et la gestion facilitée des tests de portabilité.
Donc, si tu as un système de Makefile qui fonctionne bien, ce
n'est sans doute pas la peine de passer à Automake. Pour ceux
qui n'ont rien, il me semble beaucoup plus facile d'apprendre
les bases des autotools que de se créer à la main un tel
système.
Lorsque j'ai commencé à écrire des Makefile, je me souviens
avoir passé du temps à tenter de résoudre des problèmes de
dépendances circulaires, et a finalement passer beaucoup trop
de temps dessus.
Pour répondre à ta question, tout ce qui peut être écrit pour
des Makefiles peut être intégré dans les fichiers Makefile.am
d'automake. Je suppose que ta question est sur des cibles du
genre :
! something.cpp: something.cpp.in
! $(AWK) -f gen.awk $< > $@
ou
! %.cpp: %.awk
! $(AWK) -f gen.awk $< > $@
Si c'est bien ça, alors la réponse est oui. A priori, ce code
peut apparaître tel quel dans le fichier Makefile.in
a dit le 09/02/2005 10:27:Comme j'ai dit, j'ai les makefiles de base (component.mk,
library.mk, etc.). Quand le makefile du projet a plus que
deux ou trois affectations de variable, c'est parce qu'il y
a du code généré automatiquement, au moyen des scripts AWK,
etc. Est-ce que les autotools peuvent traiter ça ?
J'aurais du exprimer ma position de manière plus claire. Si
dans ton cas, on a un système existant qui fonctionne bien, je
ne vois pas de raison d'en changer.
L'intérêt des autotools est, entre autre, qu'il n'y a pas
besoin de créer ce système. La génération des dépendances pour
les fichiers sources, qui est à mon point de vue l'un des
points les plus complexes à gérer, est fait automatiquement
par les autotools.
L'autre point fort est bien sûr la portabilité du système de
compilation et la gestion facilitée des tests de portabilité.
Donc, si tu as un système de Makefile qui fonctionne bien, ce
n'est sans doute pas la peine de passer à Automake. Pour ceux
qui n'ont rien, il me semble beaucoup plus facile d'apprendre
les bases des autotools que de se créer à la main un tel
système.
Lorsque j'ai commencé à écrire des Makefile, je me souviens
avoir passé du temps à tenter de résoudre des problèmes de
dépendances circulaires, et a finalement passer beaucoup trop
de temps dessus.
Pour répondre à ta question, tout ce qui peut être écrit pour
des Makefiles peut être intégré dans les fichiers Makefile.am
d'automake. Je suppose que ta question est sur des cibles du
genre :
! something.cpp: something.cpp.in
! $(AWK) -f gen.awk $< > $@
ou
! %.cpp: %.awk
! $(AWK) -f gen.awk $< > $@
Si c'est bien ça, alors la réponse est oui. A priori, ce code
peut apparaître tel quel dans le fichier Makefile.in
Mais j'imagine que tout l'intérêt, c'est la partie « calculer la
valeur de $VARIABLE »,
parce que pour me servir de sed, je n'ai pas besoin d'autre outil.
Dans l'ensemble, je ne suis pas trop convaincu. Grosso modo, ça
t'oblige à lancer tes makes du répertoire où se trouve les
objets, non ?
Ou est-ce qu'il génère de façon à ce qu'une simple option à make (du
genre comp=suncc) suffit pour générer plusieurs variants ?
(Le problème de Imake, dans ce que je fais, c'est qu'il faut
régénérer le fichier make chaque fois qu'on veut une autre
configuration. Actuellement, on supporte quatre compilateurs sous
Solaris, deux sous Linux, et un sous Windows.)
Mais j'imagine que tout l'intérêt, c'est la partie « calculer la
valeur de $VARIABLE »,
parce que pour me servir de sed, je n'ai pas besoin d'autre outil.
Dans l'ensemble, je ne suis pas trop convaincu. Grosso modo, ça
t'oblige à lancer tes makes du répertoire où se trouve les
objets, non ?
Ou est-ce qu'il génère de façon à ce qu'une simple option à make (du
genre comp=suncc) suffit pour générer plusieurs variants ?
(Le problème de Imake, dans ce que je fais, c'est qu'il faut
régénérer le fichier make chaque fois qu'on veut une autre
configuration. Actuellement, on supporte quatre compilateurs sous
Solaris, deux sous Linux, et un sous Windows.)
Mais j'imagine que tout l'intérêt, c'est la partie « calculer la
valeur de $VARIABLE »,
parce que pour me servir de sed, je n'ai pas besoin d'autre outil.
Dans l'ensemble, je ne suis pas trop convaincu. Grosso modo, ça
t'oblige à lancer tes makes du répertoire où se trouve les
objets, non ?
Ou est-ce qu'il génère de façon à ce qu'une simple option à make (du
genre comp=suncc) suffit pour générer plusieurs variants ?
(Le problème de Imake, dans ce que je fais, c'est qu'il faut
régénérer le fichier make chaque fois qu'on veut une autre
configuration. Actuellement, on supporte quatre compilateurs sous
Solaris, deux sous Linux, et un sous Windows.)
J'avais toujours l'impression que les ./configure de GNU (qui se
basent sur des autotools, je crois) soit assez lourd et peu
efficace. Et qu'il ne réglait pas tous les problèmes. (Mais là,
je ne crois pas qu'on puisse lui faire trop de reproches. Je ne
connais pas de système qui s'occuperait automatiquement des
questions de portabilité dans StackTrace, par exemple.)
Mais alors, la question serait : pourquoi autotools, et non
Imake, ou quelque chose d'autre ? (Je suis bien d'accord qu'un
débuttant ne doit pas avoir à apprendre GNU make au point de
pouvoir écrire des fichiers makes comme je le fais.)
C'est à près le premier. Sauf qu'il faut que gen.awk apparaîsse
dans les dépendances -- il est souvent plus volatile que le
fichier qu'il lit.
Mais évidemment, ça ne suffit pas ; il faut que des cibles clean
effacent les fichiers générés, et les cibles export et backup ne
le prenent pas en compte.
J'avais toujours l'impression que les ./configure de GNU (qui se
basent sur des autotools, je crois) soit assez lourd et peu
efficace. Et qu'il ne réglait pas tous les problèmes. (Mais là,
je ne crois pas qu'on puisse lui faire trop de reproches. Je ne
connais pas de système qui s'occuperait automatiquement des
questions de portabilité dans StackTrace, par exemple.)
Mais alors, la question serait : pourquoi autotools, et non
Imake, ou quelque chose d'autre ? (Je suis bien d'accord qu'un
débuttant ne doit pas avoir à apprendre GNU make au point de
pouvoir écrire des fichiers makes comme je le fais.)
C'est à près le premier. Sauf qu'il faut que gen.awk apparaîsse
dans les dépendances -- il est souvent plus volatile que le
fichier qu'il lit.
Mais évidemment, ça ne suffit pas ; il faut que des cibles clean
effacent les fichiers générés, et les cibles export et backup ne
le prenent pas en compte.
J'avais toujours l'impression que les ./configure de GNU (qui se
basent sur des autotools, je crois) soit assez lourd et peu
efficace. Et qu'il ne réglait pas tous les problèmes. (Mais là,
je ne crois pas qu'on puisse lui faire trop de reproches. Je ne
connais pas de système qui s'occuperait automatiquement des
questions de portabilité dans StackTrace, par exemple.)
Mais alors, la question serait : pourquoi autotools, et non
Imake, ou quelque chose d'autre ? (Je suis bien d'accord qu'un
débuttant ne doit pas avoir à apprendre GNU make au point de
pouvoir écrire des fichiers makes comme je le fais.)
C'est à près le premier. Sauf qu'il faut que gen.awk apparaîsse
dans les dépendances -- il est souvent plus volatile que le
fichier qu'il lit.
Mais évidemment, ça ne suffit pas ; il faut que des cibles clean
effacent les fichiers générés, et les cibles export et backup ne
le prenent pas en compte.
a dit le 09/02/2005 14:56:J'avais toujours l'impression que les ./configure de GNU
(qui se basent sur des autotools, je crois) soit assez lourd
et peu efficace. Et qu'il ne réglait pas tous les
problèmes. (Mais là, je ne crois pas qu'on puisse lui faire
trop de reproches. Je ne connais pas de système qui
s'occuperait automatiquement des questions de portabilité
dans StackTrace, par exemple.)
En fait, le script "configure" est crée par autoconf. Le
principe est de détecter un maximum d'information sur le
système en aillant le moins de dépendance possible.
De ce fait, le système est assez "lourd", dans le sens où il
doit déterminer un grand nombre de paramètres (emplacement et
type du compilateur C, awk, sed, ...). En pratique, pendant le
dévelloppement, il est assez rare de devoir lancer
"configure". En fait, ça n'est nécéssaire que lorsque le
fichier configure.in dont il est issu a été modifié.
Mais alors, la question serait : pourquoi autotools, et non
Imake, ou quelque chose d'autre ? (Je suis bien d'accord
qu'un débuttant ne doit pas avoir à apprendre GNU make au
point de pouvoir écrire des fichiers makes comme je le
fais.)
Je ne connait pas suffisament Imake pour te donner de raison
précise. Lorsque j'ai décidé d'abandonner make seul, j'ai
commencé par étudier les autotools et je me suis arreté là. Je
n'ais pour le moment pas eu de besoin de reconsidérer ce
choix.
C'est à près le premier. Sauf qu'il faut que gen.awk
apparaîsse dans les dépendances -- il est souvent plus
volatile que le fichier qu'il lit.
Ce qui n'est pas un problème.
Mais évidemment, ça ne suffit pas ; il faut que des cibles
clean effacent les fichiers générés, et les cibles export et
backup ne le prenent pas en compte.
Pour ce genre de choses, tu as des hooks disponibles dans le
système Automake qui sont adaptées.
Dans le langage des autotools, je pense qu'on peut traduire
"export" par "install" et "backup" par "dist". Ces deux types
de cibles sont gérées par automake.
Soit un projet "toto" contenant les fichiers "main.cpp",
"functions.in" et "gen.awk". Si tu écris un Makefile.am de ce
type :
! toto_SOURCES = main.cpp
! EXTRA_toto_SOURCES = functions.cpp.in gen.awk
! toto_LDADD = functions.o
! CLEANFILES = functions.cpp
! %.cpp: %.cpp.in gen.awk
! $(AWK) -f gen.awk $< $@
Tu devrais obtenir un comportement assez proche de ce que tu décris.
kanze@gabi-soft.fr a dit le 09/02/2005 14:56:
J'avais toujours l'impression que les ./configure de GNU
(qui se basent sur des autotools, je crois) soit assez lourd
et peu efficace. Et qu'il ne réglait pas tous les
problèmes. (Mais là, je ne crois pas qu'on puisse lui faire
trop de reproches. Je ne connais pas de système qui
s'occuperait automatiquement des questions de portabilité
dans StackTrace, par exemple.)
En fait, le script "configure" est crée par autoconf. Le
principe est de détecter un maximum d'information sur le
système en aillant le moins de dépendance possible.
De ce fait, le système est assez "lourd", dans le sens où il
doit déterminer un grand nombre de paramètres (emplacement et
type du compilateur C, awk, sed, ...). En pratique, pendant le
dévelloppement, il est assez rare de devoir lancer
"configure". En fait, ça n'est nécéssaire que lorsque le
fichier configure.in dont il est issu a été modifié.
Mais alors, la question serait : pourquoi autotools, et non
Imake, ou quelque chose d'autre ? (Je suis bien d'accord
qu'un débuttant ne doit pas avoir à apprendre GNU make au
point de pouvoir écrire des fichiers makes comme je le
fais.)
Je ne connait pas suffisament Imake pour te donner de raison
précise. Lorsque j'ai décidé d'abandonner make seul, j'ai
commencé par étudier les autotools et je me suis arreté là. Je
n'ais pour le moment pas eu de besoin de reconsidérer ce
choix.
C'est à près le premier. Sauf qu'il faut que gen.awk
apparaîsse dans les dépendances -- il est souvent plus
volatile que le fichier qu'il lit.
Ce qui n'est pas un problème.
Mais évidemment, ça ne suffit pas ; il faut que des cibles
clean effacent les fichiers générés, et les cibles export et
backup ne le prenent pas en compte.
Pour ce genre de choses, tu as des hooks disponibles dans le
système Automake qui sont adaptées.
Dans le langage des autotools, je pense qu'on peut traduire
"export" par "install" et "backup" par "dist". Ces deux types
de cibles sont gérées par automake.
Soit un projet "toto" contenant les fichiers "main.cpp",
"functions.in" et "gen.awk". Si tu écris un Makefile.am de ce
type :
! toto_SOURCES = main.cpp
! EXTRA_toto_SOURCES = functions.cpp.in gen.awk
! toto_LDADD = functions.o
! CLEANFILES = functions.cpp
! %.cpp: %.cpp.in gen.awk
! $(AWK) -f gen.awk $< $@
Tu devrais obtenir un comportement assez proche de ce que tu décris.
a dit le 09/02/2005 14:56:J'avais toujours l'impression que les ./configure de GNU
(qui se basent sur des autotools, je crois) soit assez lourd
et peu efficace. Et qu'il ne réglait pas tous les
problèmes. (Mais là, je ne crois pas qu'on puisse lui faire
trop de reproches. Je ne connais pas de système qui
s'occuperait automatiquement des questions de portabilité
dans StackTrace, par exemple.)
En fait, le script "configure" est crée par autoconf. Le
principe est de détecter un maximum d'information sur le
système en aillant le moins de dépendance possible.
De ce fait, le système est assez "lourd", dans le sens où il
doit déterminer un grand nombre de paramètres (emplacement et
type du compilateur C, awk, sed, ...). En pratique, pendant le
dévelloppement, il est assez rare de devoir lancer
"configure". En fait, ça n'est nécéssaire que lorsque le
fichier configure.in dont il est issu a été modifié.
Mais alors, la question serait : pourquoi autotools, et non
Imake, ou quelque chose d'autre ? (Je suis bien d'accord
qu'un débuttant ne doit pas avoir à apprendre GNU make au
point de pouvoir écrire des fichiers makes comme je le
fais.)
Je ne connait pas suffisament Imake pour te donner de raison
précise. Lorsque j'ai décidé d'abandonner make seul, j'ai
commencé par étudier les autotools et je me suis arreté là. Je
n'ais pour le moment pas eu de besoin de reconsidérer ce
choix.
C'est à près le premier. Sauf qu'il faut que gen.awk
apparaîsse dans les dépendances -- il est souvent plus
volatile que le fichier qu'il lit.
Ce qui n'est pas un problème.
Mais évidemment, ça ne suffit pas ; il faut que des cibles
clean effacent les fichiers générés, et les cibles export et
backup ne le prenent pas en compte.
Pour ce genre de choses, tu as des hooks disponibles dans le
système Automake qui sont adaptées.
Dans le langage des autotools, je pense qu'on peut traduire
"export" par "install" et "backup" par "dist". Ces deux types
de cibles sont gérées par automake.
Soit un projet "toto" contenant les fichiers "main.cpp",
"functions.in" et "gen.awk". Si tu écris un Makefile.am de ce
type :
! toto_SOURCES = main.cpp
! EXTRA_toto_SOURCES = functions.cpp.in gen.awk
! toto_LDADD = functions.o
! CLEANFILES = functions.cpp
! %.cpp: %.cpp.in gen.awk
! $(AWK) -f gen.awk $< $@
Tu devrais obtenir un comportement assez proche de ce que tu décris.
Tout à fait. En fait, le problème, c'est qu'il y a en fait
plusieurs problèmes distincts qui se résument par le même but :
créer un fichier make. J'avais régardé configure, mais j'ai
trouvé qu'il ne résolvait pas mon problème, où au moins, il ne
résolvait pas ma formulation du problème. Pour les distributions
des logiciels libres typiques, en revanche, c'est difficile à
faire mieux, mais pour l'instant, je suis plus concerné par le
développement de plusieurs versions (compilateur, etc.) en
parallel. Sans doute s'il m'arrive à vouloir faire une vraie
distribution, je le régarderai de nouveau, et de plus près.
Tout à fait. En fait, le problème, c'est qu'il y a en fait
plusieurs problèmes distincts qui se résument par le même but :
créer un fichier make. J'avais régardé configure, mais j'ai
trouvé qu'il ne résolvait pas mon problème, où au moins, il ne
résolvait pas ma formulation du problème. Pour les distributions
des logiciels libres typiques, en revanche, c'est difficile à
faire mieux, mais pour l'instant, je suis plus concerné par le
développement de plusieurs versions (compilateur, etc.) en
parallel. Sans doute s'il m'arrive à vouloir faire une vraie
distribution, je le régarderai de nouveau, et de plus près.
Tout à fait. En fait, le problème, c'est qu'il y a en fait
plusieurs problèmes distincts qui se résument par le même but :
créer un fichier make. J'avais régardé configure, mais j'ai
trouvé qu'il ne résolvait pas mon problème, où au moins, il ne
résolvait pas ma formulation du problème. Pour les distributions
des logiciels libres typiques, en revanche, c'est difficile à
faire mieux, mais pour l'instant, je suis plus concerné par le
développement de plusieurs versions (compilateur, etc.) en
parallel. Sans doute s'il m'arrive à vouloir faire une vraie
distribution, je le régarderai de nouveau, et de plus près.