Autotools
Un article de Haypo.
(Différences entre les versions)
| Version du 4 juillet 2007 à 21:31 (modifier) Haypo (Discuter | Contributions) ← Différence précédente |
Version actuelle (12 décembre 2007 à 13:59) (modifier) (défaire) Haypo (Discuter | Contributions) (→Makefile.am) |
||
| (4 révisions intermédiaires masquées) | |||
| Ligne 5 : | Ligne 5 : | ||
| Les '''autotools''' sont des outils de [http://fr.wikipedia.org/wiki/Torture torture] des développeurs de [[Logiciels libres|logiciel libre]]. | Les '''autotools''' sont des outils de [http://fr.wikipedia.org/wiki/Torture torture] des développeurs de [[Logiciels libres|logiciel libre]]. | ||
| - | Fichier à écrire | + | == Fichier à écrire == |
| + | |||
| * '''autogen.sh''' : appelle aclocal, automake, (libtoolize), autoconf | * '''autogen.sh''' : appelle aclocal, automake, (libtoolize), autoconf | ||
| * '''configure.ac''' ou '''configure.in''': deviendra configure | * '''configure.ac''' ou '''configure.in''': deviendra configure | ||
| Ligne 15 : | Ligne 16 : | ||
| ** config.guess, config.sub, libltdl, libtool.m4, ltmain.sh | ** config.guess, config.sub, libltdl, libtool.m4, ltmain.sh | ||
| - | Outils « haut niveau » | + | == Outils « haut niveau » == |
| * autoheader | * autoheader | ||
| * autom4te | * autom4te | ||
| Ligne 21 : | Ligne 22 : | ||
| * autoupdate | * autoupdate | ||
| - | Fichier génénés | + | == Fichier génénés == |
| * aclocal.m4: généré par le programme aclocal à partir de configure.in | * aclocal.m4: généré par le programme aclocal à partir de configure.in | ||
| * configure: Makefile.in => Makefile, config.h (optionnel), xxx.in => xxx | * configure: Makefile.in => Makefile, config.h (optionnel), xxx.in => xxx | ||
| Ligne 27 : | Ligne 28 : | ||
| * missing (copie de /usr/share/automakeX.Y/missing) | * missing (copie de /usr/share/automakeX.Y/missing) | ||
| * depcomp (copie de /usr/share/automakeX.Y/depcomp) | * depcomp (copie de /usr/share/automakeX.Y/depcomp) | ||
| + | |||
| + | == configure.ac == | ||
| + | |||
| + | Commandes : | ||
| + | * AC_xxx : commandes pour autoconf | ||
| + | * AM_xxx : commandes pour automake | ||
| + | * AC_OUTPUT : Demander à générer tous les fichiers, ceux listés dans AC_CONFIG_FILES par exemple | ||
| + | |||
| + | == Makefile.am == | ||
| + | |||
| + | * @XXX@ : remplacé par la valeur de la variable XXX | ||
| + | ** dans configure.ac, il faudra écrire AC_SUBST([XXX]) | ||
| + | * EXTRA_DIST : liste des fichiers inclus en plus dans l'archive (make dist-gzip / make dist-bzip2) | ||
| + | EXTRA_DIST = squid_nufw_helper.conf | ||
| + | * Règle « install-data-am: » : commandes pour copier des données supplémentaires. Exemple : | ||
| + | install-data-am: | ||
| + | install -d $(SQUIDDIR) | ||
| + | test -e $(SQUIDDIR)/squid_nufw_helper.conf || install -o root -g $(SQUID_GROUP) -m 640 squid_nufw_helper.conf $(SQUIDDIR) | ||
Version actuelle
Catégorie:Programmation Catégorie:Logiciel libre
Retour aux articles de programmation
Les autotools sont des outils de torture des développeurs de logiciel libre.
Sommaire |
[modifier] Fichier à écrire
- autogen.sh : appelle aclocal, automake, (libtoolize), autoconf
- configure.ac ou configure.in: deviendra configure
- aclocal: configure.in => aclocal.m4 : concaténation de scripts provenant de /usr/share/aclocal/*.m4 ou /usr/share/aclocalX.Y/*.m4
- autoconf: configure.in => configure
- automake: Makefile.am => Makefile.in
- libtoolize: add libtool support for your package
- config.guess, config.sub, libltdl, libtool.m4, ltmain.sh
[modifier] Outils « haut niveau »
- autoheader
- autom4te
- autoscan
- autoupdate
[modifier] Fichier génénés
- aclocal.m4: généré par le programme aclocal à partir de configure.in
- configure: Makefile.in => Makefile, config.h (optionnel), xxx.in => xxx
- install-sh (copie de /usr/share/automakeX.Y/install-sh)
- missing (copie de /usr/share/automakeX.Y/missing)
- depcomp (copie de /usr/share/automakeX.Y/depcomp)
[modifier] configure.ac
Commandes :
- AC_xxx : commandes pour autoconf
- AM_xxx : commandes pour automake
- AC_OUTPUT : Demander à générer tous les fichiers, ceux listés dans AC_CONFIG_FILES par exemple
[modifier] Makefile.am
- @XXX@ : remplacé par la valeur de la variable XXX
- dans configure.ac, il faudra écrire AC_SUBST([XXX])
- EXTRA_DIST : liste des fichiers inclus en plus dans l'archive (make dist-gzip / make dist-bzip2)
EXTRA_DIST = squid_nufw_helper.conf
- Règle « install-data-am: » : commandes pour copier des données supplémentaires. Exemple :
install-data-am:
install -d $(SQUIDDIR)
test -e $(SQUIDDIR)/squid_nufw_helper.conf || install -o root -g $(SQUID_GROUP) -m 640 squid_nufw_helper.conf $(SQUIDDIR)

