SWIG-3.0.12

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, C#, D, Go, Lua, Octave, R, Scheme, Ocaml, Modula-3, Common Lisp et Pike. SWIG peut aussi exporter ses arbres 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.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-8.1.

Informations sur le paquet

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

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : 82133dfa7bba75ff9ad98a7046be687c

  • Taille du téléchargement : 7.8 Mo

  • Estimation de l'espace disque requis : 91 Mo (1.7 Go avec les tests)

  • Estimation du temps de construction : 0.3 SBU (26 SBU pour les tests)

Dépendances de SWIG

Requises

PCRE-8.41

Facultatives

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

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/swig

Installation de SWIG

Si vous voulez lancer les tests, quelques corrections sont nécessaires pour utiliser Perl-5.26 :

sed -i 's/\$(PERL5_SCRIPT/-I. &/' Examples/Makefile.in &&
sed -i 's/\$command 2/-I. &/' Examples/test-suite/perl5/run-perl-test.pl

Installez SWIG en lançant les commandes suivantes :

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

Pour tester le résultat, tapez : make -k check TCL_INCLUDE= GOGCC=true. La définition des deux variables GOGCC et TCL_INCLUDE est nécessaire car elles sont incorrectement initialisées 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. Si vous avez Python-2.7.13 et Python-3.6.2 d'installés, les tests Python-3 ne sont pas lancés. Vous pouvez lancer les tests pour Python-3 en tapant PY3=1 make check-python-examples suivi par PY3=1 make check-python-test-suite. Selon la documentation de SWIG, l'échec de quelques tests ne doit pas être considéré comme alarmant.

Maintenant, en tant qu'utilisateur root :

make install &&
install -v -m755 -d /usr/share/doc/swig-3.0.12 &&
cp -v -R Doc/* /usr/share/doc/swig-3.0.12

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-<language> : permet de désactiver la construction des tests et exemples pour <language>, mais toutes les possibilités des langages de SWIG sont toujours construites. Nous l'utilisons pour Clisp, car l'implémentation de SWIG est très incomplète et beaucoup de tests échouent.

Contenu

Programmes installés: swig et ccache-swig
Bibliothèque installée: Aucune
Répertoires installés: /usr/share/doc/swig-3.0.12 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.

Last updated on 2017-08-26 18:42:24 +0200