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 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.
Note
Development versions of BLFS may not build or run some packages
properly if dependencies have been updated since the most recent
stable versions of the book.
Informations sur le paquet
-
Téléchargement (HTTP) : https://downloads.sourceforge.net/swig/swig-4.0.2.tar.gz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 : 7c3e46cb5af2b469722cafa0d91e127b
-
Taille du téléchargement : 7.7 Mo
-
Estimation de l'espace disque requis : 118 Mo (1.3 Go
avec les tests)
-
Estimation du temps de construction : 0.2 SBU (plus 9.3
SBU pour les tests, avec parallélisme = 4 dans les deux cas)
Dépendances de SWIG
Requises
PCRE-8.45
Facultatives
Boost-1.79.0 pour les tests, et les langages
mentionnés en introduction, en tant que dépendance à l'exécution
Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/swig
Installation de SWIG
Installez SWIG en exécutant les
commandes suivantes :
./configure --prefix=/usr \
--without-maximum-compile-warnings &&
make
Pour tester le résultat, tapez : PY3=1 make -k check TCL_INCLUDE=.
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 &&
install -v -m755 -d /usr/share/doc/swig-4.0.2 &&
cp -v -R Doc/* /usr/share/doc/swig-4.0.2
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.