La bibliothèque Libffi fournit une interface de programmation portable et de haut niveau pour diverses conventions d'appel. Cela permet au programmeur d'appeler des fonctions par la description de leur interface d'appel à l'exécution.
Comme GMP, libffi est construite avec des optimisations spécifiques au processeur utilisé. Si vous construisez pour un autre système, exportez CFLAGS et CXXFLAGS pour spécifier une construction générique pour l'rchitecture. Dans le cas contraire, toutes les applications qui se lient à libffi afficheront des erreurs de type opération illégale.
Préparez la compilation de libffi :
./configure --prefix=/usr \ --disable-static \ --with-gcc-arch=native \ --disable-exec-static-tramp
Voici la signification de l'option de configuration :
--with-gcc-arch=native
Vérifie que GCC active les optimisations pour le système actuel. Si l'option n'est pas spécifiée, il essaiera de deviner le système et le code généré peut ne pas être correct pour certains systèmes. Si le code généré est copié du système actuel vers un système avec moins de fonctionnalités, utilisez ce dernier dans le paramètre. Pour des détails concernant les types de systèmes alternatifs, voyez les options x86 dans le manuel de GCC.
--disable-exec-static-tramp
Désactivez la prise en charge du trampoline statique. C'est une nouvelle fonctionnalité de libffi, mais certains paquets de BLFS (notamment GJS et gobject-introspection) n'ont pas encore été adaptés.
Compilez le paquet :
make
Pour tester les résultats, lancez :
make check
Installez le paquet :
make install