SWIG (Simplified Wrapper and Interface Generator) é um compilador que integra C e C++ com linguagens incluindo Perl, Python, Tcl, Ruby, PHP, Java, JavaScript, C#, D, Go, Lua, Octave, R, Racket, Scilab, Scheme e Ocaml. SWIG também consegue exportar a árvore de análise dele para s-expressions da Lisp e XML.
"SWIG" lê arquivos anotados de cabeçalho "C/C++" e cria código envólucro (código de cola) para a finalidade de tornar disponíveis as bibliotecas "C/C++" correspondentes para as linguagens listadas ou para estender aplicativos "C/C++" com uma linguagem de "script".
Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.2.
Transferência (HTTP): https://downloads.sourceforge.net/swig/swig-4.2.1.tar.gz
Soma de verificação MD5 da transferência: 7697b443d7845381d64c90ab54d244af
Tamanho da transferência: 8,0 MB
Espaço em disco estimado exigido: 81 MB (1,8 GB com testes)
Tempo de construção estimado: 0,1 UPC (adicionar 7,7 UPC para testes; ambos usando paralelismo=4)
"Boost-1.86.0" para testes e quaisquer das linguagens mencionadas na introdução, como dependências de tempo de execução
Instale "SWIG" executando os seguintes comandos:
./configure --prefix=/usr \ --without-javascript \ --without-maximum-compile-warnings && make
Para testar os resultados, emita: PY3=1 make TCL_INCLUDE=-k check.
A desconfiguração da variável TCL_INCLUDE
é necessária pois ela não é configurada
corretamente pelo configure.
Os testes são executados somente para as linguagens instaladas em
tua máquina, de forma que o espaço em disco e os valores de UPC
fornecidos para os testes possivelmente variem e deveriam ser
considerados como meras ordens de grandeza. De acordo com a
documentação do SWIG, a falha em
alguns testes não deveria ser considerada prejudicial. Os testes go
são defeituosos e possivelmente gerem um monte de saída sem
significado.
Agora, como o(a) usuário(a) "root
":
make install && cp -v -R Doc -T /usr/share/doc/swig-4.2.1
--without-maximum-compile-warnings
:
desabilita o compelimento de conformidade "ANSI" do compilador, o
que deflagra erros nos cabeçalhos "Lua" (começando com "Lua" 5.3).
--without-<linguagem>
: permite
desabilitar a construção de testes e exemplos para
<linguagem>, mas todas as capacidades de linguagens do
SWIG são sempre construídas. Essa
chave é usada para JavaScript
porque a implementação SWIG está incompleta e muitos testes falham
devido a mudanças de API no Node-20.