Skip to content

Les autotools #4 - Libtool

Nous avons vu précédemment que « autotools » est un terme générique utilisé pour désigner l'ensemble des outils de build du projet GNU, le « GNU build system ».

Dans ce billet, nous allons faire un focus sur l'outil libtool, qui est un outil permettant de produire des librairies de manière portable et de gérer correctement l'édition des liens quelque-soit la plateforme cible.

Cet outil aide à la création de bibliothèques statiques et dynamiques en proposant une interface totalement abstraite par rapport à la plate-forme visée, masquant ainsi les différences de comportement et d'implémentation (Linux, BSD, Solaris, AIX, ...). Cet outil s'interface avec « automake ».

Continuer à lire "Les autotools #4 - Libtool"

Les autotools #3 - Automake

Nous avons vu précédemment que « autotools » est un terme générique utilisé pour désigner l'ensemble des outils de build du projet GNU, le « GNU build system ».

Dans ce billet, nous allons faire un focus sur l'outil automake, qui est un outil permettant de produire des fichiers Makefiles portables et normalement totalement compatibles POSIX ayant pour objectif de construire une solution logicielle complète, quelque-soit la plateforme, en ne spécifiant que le strict nécessaire. Du point de vue du programmeur, l'écriture d'un Makefile se résumera donc à décrire ce qu'il souhaite réaliser dans un langage de plus haut niveau que le Makefile standard.

Continuer à lire "Les autotools #3 - Automake"

Les autotools #2 - Autoconf

Nous avons vu précédemment que « autotools » est un terme générique utilisé pour désigner l'ensemble des outils de build du projet GNU, le « GNU build system ».

Dans ce billet, nous allons faire un focus sur l'outil autoconf, qui est un outil permettant de produire des scripts ayant pour objectif de configurer automatiquement l'environnement de build d'un logiciel (dont le fameux script « configure »).

Ces scripts sont générés de manière à ce qu'ils soient entièrement portables dès lors qu'un interpréteur de commandes compatible de type « Bourne Shell » est disponible.

Les instructions permettant la génération de ces scripts sont écrites dans un fichier nommé « configure.ac », et ne sont au final que des suites de macros prédéfinies écrites dans le langage « M4 ».

Continuer à lire "Les autotools #2 - Autoconf"

Les autotools #1 - Présentation

Autotools est un terme générique utilisé pour désigner l'ensemble des outils de build du projet GNU. Ces outils sont aussi connus sous le nom de « GNU build system » et permettent aux développeurs de produire des systèmes de construction industrialisés et portables de leurs applications (le plus souvent écrites en C et C++, mais pas que ...).

Ces outils sont principalement au nombre de trois :

Utilisés ensemble, ces outils permettent de :

  • Générer le script « configure » bien connu des distributions de sources.
  • Générer des fichiers « Makefile » nécessaires à la construction du projet.
  • Compiler des sources.
  • Produire des programmes.
  • Produire des bibliothèques.
  • Produire et exécuter des tests unitaires.
  • Installer sur un système cible.
  • Créer une archive auto-suffisante des sources du projet.
Continuer à lire "Les autotools #1 - Présentation"