URL: https://linuxfr.org/news/gnu-autoconf-automake-and-libtool Title: GNU Autoconf, Automake, and Libtool Authors: Anonyme Benoît Sibaud Date: 2001年04月17日T00:08:27+02:00 Tags: livre Score: 0 Extrait : « _Vous connaissez sans doute les commandes `./configure;make;make install` mais lorsque l'on désire aller plus avant dans la configuration ou lorsque l'on désire passer du côté développeur, ça devient franchement l'horreur : il y a de quoi devenir chèvre. Cela tombe bien voici un livre avec un dresseur de chèvres sur la couverture qui devrait grandement vous aider à maîtriser le trio Autoconf, Automake et Libtool._ » ---- ---- *GNU Autoconf, Automake, and Libtool* *Auteur :* Gary V. Vaughan, Ben Elliston, Tom Tromey & Ian Lance-Taylor *Éditeur :* New Riders *ISBN :* 1-57870-190-2 *Pages* 390 *Prix :* Prix Constaté 317F *Rédacteur :* trollhunter ![Couverture](https://cover.book-info.com/m/nn21.jpg) Au cours des deux premiers chapitres de ce livre le lecteur a droit à un historique de ces outils, puis à une introduction vue du coté utilisateur de `Configure` et des `Makefiles`. Déjà l'on sent que l'on est en présence d'un ouvrage "différent" : alors que d'autres ouvrages se contenteraient de lister les options de `Configure` les auteurs prennent la peine d'expliquer certains points qui sont implicites pour l'initié mais pas nécessairement pour le béotien. Le troisième chapitre permet de faire plus ample connaissance avec les `Makefile`s. Le quatrième chapitre vient rompre le coté théorique avec un exemple de mini projet permettant de mettre en pratique ce qui a été vu précédemment. Cette fois-ci l'on rentre dans le vif du sujet puisque l'on devient développeur. Au cours de ce projet minimal, le lecteur est guidé pas à pas dans les manipulations. De nombreuses sorties d'écran agrémentent la lecture, en outre, l'on a droit a des explications détaillées concernant le pourquoi du comment, ce qui est assez rare. Puisque le but est d'écrire des programmes portables, le cinquième chapitre est consacré à la portabilité. Ce chapitre est court, mais important et comme pour l'ensemble de l'ouvrage les notions qui y sont présentées seront réutilisées plus tard, attention donc à la lecture en diagonale ;-) Le sixième chapitre lui, est une introduction à `Automake`. À nouveau l'on replonge dans la pratique avec un chapitre exemple qui sera réutilisé dans deux autres chapitres. La portabilité est toujours présente à l'esprit. Le langage C `K&R` a droit à son paragraphe. Le chapitre 8 est très court (3 pages), mais comme tous les chapitres de ce livre il couvre un aspect important appelé `bootstraping`. Vous seront présenté les deux approches `bootstrap` et `autogen`, bien entendu l'on vous donne les moyens de faire votre choix. Les deux chapitres suivants vous présentent `Libtool` et son utilisation, ainsi la création et l'utilisation des bibliothèques n'auront plus de secrets pour vous. Dans le onzième chapitre, vous retrouverez le projet exemple vu au chapitre 7 mais cette fois ci il est largement développé avec entre autres choses l'utilisation de `Libtool` vu précédemment et l'intégration d'une suite de tests. Puisque vous êtes désormais capables de gérer des projets importants, il est temps de passer à l'étape suivante : la distribution et l'installation/désinstallation de votre travail: c'est l'objet des deux chapitres suivants. Les chapitres 14 et 15, eux, vous donnent les conseils nécessaires à l'écriture de programmes portables en C et en C++, avec l'épineux problème de la portabilité Unix/Windows. Les plug-ins ou modules rencontrent un succès croissant. À l'issue du chapitre suivant vous serez à même d'ajouter cette fonctionnalité à vos projets puisque vous saurez coder un petit chargeur de modules. Puisque vous commencez à prendre goût aux modules, le chapitre suivant vous présente `libdtl` avec pour exemple un chargeur de module utilisant cette bibliothèque. À partir d'ici vous allez pouvoir approfondir vos connaissances concernant `Automake` dans un court chapitre. Le dix-neuvième chapitre vous présente un projet complexe avec chargement dynamique de modules. Les cinq derniers chapitres sont consacrés a des aspects moins immédiats comme les `M4`, l'écriture de scripts portables, la création de nouvelles macros pour `Autoconf`, la migration de packages existants vers les utilitaires `GNU`. Enfin l'on vous présentera la mise en œuvre de ces outils avec `Cygwin`. La cross-compilation ou compilation croisée étant un aspect important du développement, vous avez droit dans le dernier chapitre à une bonne introduction sur ce sujet. Ce livre suit une démarche, logique et progressive, avec des petits encarts intitulés - `Warning` Pour les avertissement concernant par exemple la compatibilité avec de futures version de ces outils. - `Best Practice` Pour les pratiques recommandées dans les projets. - `Hands On` Ce sont des exercices d'application de notions passées en revue. - `Note` Lorsqu'une note permet d'approfondir une explication ou d'aller plus loin. Il est à signaler aussi de nombreux tableaux récapitulatifs des différentes options comprises par les utilitaires, ces tableaux sont non seulement exhaustifs mais en outre les différentes options sont expliquées, le cas échéant avec un exemple à l'appui. L'on voit que les auteurs ont fait un gros effort pour se mettre à la place du lecteur. Ainsi, au fil des pages c'est un tout cohérent qui est construit, petit à petit, même si la lecture et l'assimilation de certaines parties de l'ouvrage demande un certain effort, les auteurs ont fait de gros effort pour vous aider dans votre progression. Cet ouvrage possède aussi un ton particulier ; en effet bien qu'écrit par 4 personnes l'emploi de la première personne est très fréquent et en outre les auteurs, afin d'éviter au lecteurs des déboires, évoquent avec franchise les échecs qu'ils ont rencontrés en utilisant telle approche plutôt qu'une autre. Autant les gens sont près à parler de leur réussites autant ils sont peu loquaces sur leurs échecs, pourtant les échecs sont aussi tout autant instructifs pour peu que l'on prenne la peine de les analyser. Ainsi, une démarche pourtant logique lorsqu'il s'agit de tenter de développer un programme pour plusieurs plateformes (chapitre 5) a fait perdre beaucoup de temps et d'énergie à l'un des auteurs. L'on sent vraiment que les auteurs et les relecteurs se sont appliqués pour faire de ce livre qui aborde un sujet assez technique reconnaissons-le, un ouvrage plaisant à étudier. Autre grande qualité des auteurs et de cet ouvrage, non seulement une partie du produit de la vente est reversée à la `FSF` mais ce livre est consultable en ligne et téléchargeable. ## Table des matières 1. History 2. How to Run Configure, and the most Useful Standard Makefile Targets. 3. Introducing `Makefile's 4. Using GNU Autotools to Manage a "Minimal Project" 5. Writing a Portable `configure.in' 6. Introducing GNU Automake 7. A Small GNU Autotools Project 8. Bootstrapping 9. Introducing GNU Libtool 10. Using GNU Libtool with `configure.in' and `Makefile.am' 11. A Large GNU Autotools Project 12. Rolling Distribution Tarballs 13. Installing and Uninstalling Configured Packages 14. Writing Portable C with GNU Autotools 15. Writing Portable C++ with GNU Autotools 16. Dynamic Loading 17. Using GNU libltdl 18. Advanced GNU Automake Usage 19. A Complex GNU Autotools Project 20. GNU M4 21. Writing Portable Bourne Shell 22. Writing New Macros for Autoconf 23. Migrating an existing Package to GNU Autotools 24. Using GNU Autotools with Cygnus' Cygwin 25. Cross-Compilation with GNU Autotools - A Installing GNU Autotools - B Platforms - C Genarated File Dependencies - D Autoconf Macro Reference - E Open Publication License ## Références - [le livre en ligne (NdM: via archive.org)](https://web.archive.org/web/20020223141716/http://sources.redhat.com/autobook/autobook/autobook_toc.html) - `http://www.newriders.com/errata/1578701902.pdf` (NdM: site perdu et non disponible sur archive.org, mais voici une [alternative](https://web.archive.org/web/20211222232053/http://sourceware.org/autobook/errata.html)) Les errata du livre (PDF) - `http://sources.redhat.com/autobook/autobook-1.2.tar.gz` (NdM: site perdu et non disponible sur archive.org) Télécharger le livre. - [Télécharger les exemples (NdM.: via archive.org](https://web.archive.org/web/20060702231759/http://sourceware.org/autobook/download.html))

AltStyle によって変換されたページ (->オリジナル) /