Aller au contenu

GNU Libtool

Un article de Wikipédia, l'encyclopédie libre.

GNU Libtool
Description de l'image Libtool.jpg.

Informations
CréateurGordon Matzigkeit (d)Voir et modifier les données sur Wikidata
Développé parProjet GNU
Première version
Dernière version 2.4.7 ()[1]Voir et modifier les données sur Wikidata
Version avancée 2.5.0 ()[2]Voir et modifier les données sur Wikidata
Dépôtgit.savannah.gnu.org/cgit/libtool.gitVoir et modifier les données sur Wikidata
Écrit en Script shell et CVoir et modifier les données sur Wikidata
Système d'exploitationGNU/Linux, BSD, macOS et Microsoft WindowsVoir et modifier les données sur Wikidata
EnvironnementMultiplate-forme
Type Outil de programmation
LicenceGPLv2
Documentationwww.gnu.org/software/libtool/manualVoir et modifier les données sur Wikidata
Site webwww.gnu.org/software/libtool/

GNU Libtool est un logiciel libre du projet GNU qui sert à créer des bibliothèques portables.

Contextemodifier le code

Dans le passé, si un programmeur voulait profiter des avantages des bibliothèques dynamiques, il devait écrire du code spécifique à chacune des plateformes sur lesquelles la bibliothèque était compilée. Il devait aussi écrire un système de configuration permettant à l'utilisateur qui installe le logiciel de décider quel type de bibliothèque compiler.

Caractéristiquesmodifier le code

Libtool simplifie la tâche du programmeur en encapsulant à la fois les dépendances par rapport à chaque plateforme, ainsi que l'interface utilisateur, dans un seul script. Cet outil est conçu de façon que toute la fonctionnalité de chaque plateforme soit accessible via une interface générique, tout en cachant les détails obscurs au programmeur.

L'interface de Libtool vise à être cohérente. Les utilisateurs ne sont pas supposés devoir lire de la documentation de bas niveau pour réussir à faire compiler des bibliothèques dynamiques. Ils devraient n'avoir qu'à exécuter le script configure (ou un équivalent), et Libtool devrait se charger des détails.

On utilise typiquement Libtool avec Autoconf et Automake, deux autres outils du système de compilation GNU.

Problèmes liés à libtoolmodifier le code

  • libtool s'utilise très mal dans les environnements de compilation croisée, le fait qu'il enregistre des informations en dur dans les fichiers .la (chemin vers les bibliothèques…) peut poser plus de problèmes que cet outil n'en résout.
  • libtool peut entraîner des erreurs de liaison toujours à cause des fameux .la.
  • créer une bibliothèque dynamique est souvent plus facile en faisant un man ld qu'en essayant d'utiliser libtool, avec gnu ld, -shared -Bdynamic -soname suffisent à créer une bibliothèque dynamique.

Historique des versionsmodifier le code

VersionDate de sortiePrincipaux changements
2.4Utilisation simplifiée en environnement de compilation croisée avec le support « sysroot » (mêmes préfixes utilisés sur machines hôte et distante, il trouve les dépendances dans le « sysroot » du compilateur. Des erreurs de liaison peuvent intervenir sans le support sysroot[3].
2.4.2[4]Support natif du langage Go en utilisant une compilation gccgo.

Bibliographiemodifier le code

  • (en) A Practitioner's Guide to GNU Autoconf, Automake, and Libtool (par John Calcote - (ISBN 978-1-59327-206-7)).

Notes et référencesmodifier le code

Voir aussimodifier le code

Articles connexesmodifier le code

Liens externesmodifier le code

🔥 Top keywords: Wikipédia:Accueil principalCookie (informatique)Nouvelle-CalédonieSpécial:RechercheJudith GodrècheLes Douze Coups de midiGreta GerwigLa Chronique des BridgertonJean-Michel JarreFrancis Ford CoppolaYasukeN'Golo KantéÉmilie DequenneMaurice Barthélemy (acteur)Mohamed AmraKanakZaho de SagazanChatGPTAudrey FleurotMegalopolis (film)Joséphine JapyRobert FicoFichier:Cleopatra poster.jpgSlimane (chanteur)HPI (série télévisée)La Planète des singes (franchise)Kylian MbappéWillem DafoeAnya Taylor-JoySondages sur les élections européennes de 2024Prise d'otages d'OuvéaFrançois CivilConjecture de GoldbachMeryl StreepChiara MastroianniMarcello MastroianniCarlos TavaresFranceJordan Bardella