SWIG-4.2.0

Introduction à SWIG

SWIG (Simplified Wrapper and Interface Generator) est un compilateur qui intègre le C et le C++ avec des langages comme Perl, Python, Tcl, Ruby, PHP, Java, JavaScript, C#, D, Go, Lua, Octave, R, Racket, Scilab, Scheme et Ocaml. SWIG peut aussi exporter son arbre d'analyse en s-expressions Lisp et en XML.

SWIG lit les en-têtes C/C++ annotées et crée un code enveloppe (code glue) afin de faire les bibliothèques correspondantes en C/C++ disponibles aux programmes listés, ou pour étendre des programmes C/C++ avec un langage de script.

This package is known to build and work properly using an LFS 12.1 platform.

Informations sur le paquet

  • Téléchargement (HTTP) : https://downloads.sourceforge.net/swig/swig-4.2.0.tar.gz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 : 4d03374a2c30367699fa0928e1d901e8

  • Taille du téléchargement : 8,0 Mo

  • Estimation de l'espace disque requis : 106 Mo (2,2 Go avec les tests)

  • Estimation du temps de construction : 0,1 SBU (plus 10,0 SBU pour les tests, avec parallélisme = 4 dans les deux cas)

Dépendances de SWIG

Requises

pcre2-10.42

Facultatives

Boost-1.84.0 pour les tests, et les langages mentionnés en introduction, en tant que dépendance à l'exécution

Installation de SWIG

Installez SWIG en exécutant les commandes suivantes :

./configure --prefix=/usr                      \
            --without-javascript               \
            --without-maximum-compile-warnings &&
make

Pour tester le résultat, tapez : PY3=1 make TCL_INCLUDE= -k check. L'effacement de la variable TCL_INCLUDE est nécessaire car elle est incorrectement initialisée par configure. Les tests ne sont lancés que pour les langages installés sur votre machine, donc l'espace disque et les valeurs de SBU pour les tests peuvent varier et ne doivent être considérées que comme des indications d'ordre de grandeur. Selon la documentation de SWIG, l'échec de quelques tests ne doit pas être considéré comme alarmant. Les tests go sont bogués et peuvent générer beaucoup de sortie inutile.

Maintenant, en tant qu'utilisateur root :

make install &&
cp -v -R Doc -T /usr/share/doc/swig-4.2.0

Explication des commandes

--without-maximum-compile-warnings : désactive la compatibilité renforcée ansi du compilateur, qui génère des erreurs dans les entêtes Lua (depuis Lua 5.3).

--without-<langage> : permet de désactiver la construction des tests et exemples pour <langage>, mais toutes les possibilités des langages de SWIG sont toujours construites. Ce paramètre est utilisé pour JavaScript car l'implémentation SWIG est incomplète et de nombreux tests échouent à cause de changements de l'API dans Node-20.

Contenu

Programmes installés: swig et ccache-swig
Bibliothèque installée: Aucune
Répertoires installés: /usr/share/doc/swig-4.2.0 et /usr/share/swig

Descriptions courtes

swig

prend un fichier d'interface contenant des déclarations C/C++ et des instructions spécifiques à SWIG, et génère le code enveloppe correspondant pour construire les modules d'extension

ccache-swig

est un cache de compilation, qui accélère la re-compilation du code C/C++/SWIG