[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Gestion des liens lors de la création de bibliothèques complexes



  Bonjour,

  Je profite de ce thread pour rebondir sur un sujet très voisin.
J'ai eu l'occasion de me frotter à ces problèmes de liens pour des
bibliothèques comme mainteneur (avec yaz) et comme développeur amont
avec une bibliothèque pour calculs parallèles (kaapi, pas encore dans
Debian).
  Dans les deux cas, j'ai eu à gérer des problèmes de liens, surtout si
je voulais qu'ils soient correct sans utiliser le --as-needed. En outre,
en plus de l'édition de lien de la bibliothèque elle-même, il faut aussi
gérer correctement la création de bibli.pc et du script bibli-config.
  Quand la bibliothèque dépend d'autres bibliothèques dont la configuration
se récupère avec parfois pkg-config, parfois avec autrelib-script, parfois
par essais de lien directement dans le script configure, parfois ...
bref, ça fait plein de cas à gérer dans le configure.ac
  Et évidemment, ça se complique encore quand on crée plusieurs
bibliothèques depuis les mêmes sources qui sont partiellement liées
entre elles.

  Après avoir pas mal galéré et testé pas mal de choses, j'ai finalement
écrit un fichier m4 pour m'aider à gérer ça simplement dans un
configure.ac.
  Si certains se sont déjà trouvés confrontés à ce genre de problème et
sont intéressés pour regarder ce que j'ai fait, je serai ravis d'avoir
leurs commentaires.


  La dernier version de mon script m4 (avec pas mal de commentaire au
début expliquant l'utilisation) est ici :
http://git.ligforge.imag.fr/?p=kaapi/kaapi.git;a=blob;f=acinclude/acx_lib.m4;hb=HEAD

  Les macros sont utilisés dans ce configure.ac (assez long, chercher les
macros ACX_LIB_*) :
http://git.ligforge.imag.fr/?p=kaapi/kaapi.git;a=blob;f=configure.ac;hb=HEAD
ainsi qu'à travers la macro KAAPI_PKGLIB_CHECK définie ici :
http://git.ligforge.imag.fr/?p=kaapi/kaapi.git;a=blob;f=acinclude/kaapi.m4;hb=HEAD
  Les résultats sont utilisés entre autre dans les fichiers *.pc.in
et les divers Makefile.am du projet :
http://git.ligforge.imag.fr/?p=kaapi/kaapi.git;a=tree

  A+
    Vincent

-- 
Vincent Danjean       GPG key ID 0x9D025E87         vdanjean@debian.org
GPG key fingerprint: FC95 08A6 854D DB48 4B9A  8A94 0BF7 7867 9D02 5E87
Unofficial pacakges: http://www-id.imag.fr/~danjean/deb.html#package
APT repo:  deb http://perso.debian.org/~vdanjean/debian unstable main


Reply to: