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
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)