1 - Création de projet ********************** Créer un projet sous licence GNU en utilisant autoproject (interactif). 1. Le programme devra afficher son nom s'il reçoit l'argument "--version" ou "-V". 2. Le source devra être placé dans un répertoire src/ et la documentation dans doc/. 3. Générer ensuite un paquet en .tar.bz des sources. Attention : - Pour s'y retrouver, commencer par regarder le Makefile.am. - Par défaut, autoproject utilise "getopt" pour parcourir les options. - Les autotools ont grandement modifié leurs standards, et autoproject n'est pas forcément à jour. Le fichier "configure.in" équivaut à "configure.ac", et la syntaxe de nombreuses directives a changé depuis Autoconf 2.50. 2 - Autoconfiscation ******************** Le projet lsavi repose sur deux éléments principaux : - un exécutable, file-lsavi, produit à partir de code C. - un script perl, lsavi, qui encapsule le précédent. Il s'agit ici passer ce projet sous Autoconf/Automake. Son répertoire racine devra comporter les sous-répertoires doc/man/ doc/tech scripts/ src/ Le projet doit pouvoir au final être compilé (évidemment) et être installé (à partir d'un paquet tar.gz des sources). Pour aller plus loin : 2. Pour une meilleure lisibilité, les fichiers générés par Automake devront si possible être placés dans le répertoire admin/. 3. Le source C utilisera un fichier config.h pour s'adapter à l'environnement, en particulier pour tester la présence du type booléen. 4. Le fichier config.h généré devra vérifier par lui-même qu'il n'est pas inclus deux fois de suite. 5. La commande "make install" doit installer les exécutables mais aussi la page de man. 6. La documentaion technique doit faire partie du paquet des sources, mais sans être installée. 7. Le script configure devra vérifier l'existence de Perl et avertir l'utilisateur en cas d'absence. Conseil : ********* Utiliser autoscan pour obtenir un modèle de "configure.ac". Commandes utiles pour Makefile.am : *********************************** AUTOMAKE_OPTIONS= bin_SCRIPTS= man_MANS= bin_PROGRAMS= xxx zzz xxx_SOURCES= SUBDIRS= Commandes utiles pour configure.ac : ************************************ AC_INIT(progname,version) AC_CONFIG_SRCDIR(fichier_source_quelconque) AC_CONFIG_AUX_DIR(directory) AM_INIT_AUTOMAKE AM_CONFIG_HEADER(path_to_config.h) AH_TOP([texte inclus au début de config.h]) AH_BOTTOM([...] AC_CONFIG_FILES([Fichiers à générer par configure]) AC_OUTPUT Remarques : *********** - Pour compiler avec un CFLAGS différent du standard, définir CFLAGS à "-g -Wall -Wpedantic" puis relancer configure. - Inévitables : "info autoconf" et "info automake" !