obrigatório:
opcional:
Este exemplo pressupõe que você instalou o Python 3 e a versão recente do Scons. Também é possível construir nossa biblioteca sem o Scons usando o Makefile. Como o Scons é a nossa própria ferramenta de construção principal, descrevemos a abordagem do Scons aqui.
Clone o repositório de https://gitlab.com/pi-lar/neuropil (versão de desenvolvimento) ou https://github.com/pi-lar/neuropil (espelho) com git.
CD na pasta e construa o código com o SCONS.
Primeiro dê o comando
git submodule init
Seguido pela
git submodule update
Construa no modo de depuração com:
scons -C build -f ../SConstruct --DEBUG
ou no modo de liberação com:
scons -C build -f ../SConstruct --RELEASE
Crie a documentação (instalação da Esfinge necessária):
scons -C build -f ../SConstruct doc=1
Construa os testes (instalação do critério necessária):
scons -C build -f ../SConstruct tests
Limpe/exclua o projeto:
scons -C build -f ../SConstruct -c
Há também um Makefile disponível, mas alguns Infos de caminho são codificados e precisam ser adaptados ao seu ambiente. O Makefile é usado principalmente para executar as ferramentas de criação de varredura LLVM para uma análise de código estático e prejudicar a biblioteca.
Os arquivos CMake são um primeiro rascunho inicial e são capazes de construir a biblioteca, mas não os programas de exemplo.
Nenhum Autoconf disponível até agora, a ser feito.
O Neuropil está disponível para o ecossistema nix que fornece construções reproduzíveis da biblioteca e ambientes de desenvolvimento limpo.
Este projeto é um Nix Flake, mas vem com invólucros para nix < 3.x .
Ele fornece os seguintes pacotes:
Embora provavelmente não seja isso que você deseja fazer (consulte a próxima seção), a construção dos pacotes individuais funciona da seguinte maneira:
| Comando | Descrição |
|---|---|
nix build ./ | Construir arquivos de biblioteca e cabeçalho |
nix build ./#packages.x86_64-{darwin,linux}.neuropil_{python,luajit} | Construa módulo Python ou módulo Lua, respectivamente |
nix develop ou nix-shell -A devShell.x86_64-{darwin,linux} | Abre uma concha com Libneuropil nas ligações LDPATH e Lua/Python disponíveis. Use isso para construir fontes C manualmente (por exemplo, $CC examples/neuropil_sender.c -lneuropil ) |
nix shell ./#packages.x86_64-{darwin,linux}.libneuropil | Abre um shell com as dependências do Neuropil disponível, permite o fluxo de trabalho comum usando scons --DEBUG e scons --RELEASE . |
To open the shell/build the library without cloning the repository, using nix flakes replace ./ by git+<url to repo> or gitlab:pi-lar/neuropil for the latest branch.
Na maioria dos casos, você deseja integrar neuropil ao seu projeto usando o NIX. Para fazer parte do neuropil parte do seu aplicativo, você pode simplesmente importar o floco e adicionar sua sobreposição ao seu conjunto de pacotes como este, por exemplo:
{ nixpkgs } :
let
// add rev = . . . to point to a specific version
neuropil = import ( fetchGit { url = "https://gitlab.com/pi-lar/neuropil.git" ; } ) ;
pkgs = import nixpkgs { overlays = [ neuropil . overlay ] } ;
python = pkgs . python3 . withPackages ( ps : with ps ; [ neuropil_python < other python > ] )
in with pkgs ; mkDerivarion {
...
buildInputs = [ libneuropil neuropil_luajit python < other deps > ]
...
}Se o seu projeto for baseado em flocos, basta adicionar este repositório como entrada e importar a sobreposição.
Currently the cffi library on python 3.8 fails to parse a critical header file in the stddef. Portanto, fornecemos a biblioteca para Python3.7 apenas até que isso seja resolvido.
Diretórios de entrada:
Diretórios de saída:
Você pode executar os executáveis como qualquer executável, dê uma olhada nos parâmetros de cada programa:
Exemplo 1: Execute o controlador na porta 1111
LD_LIBRARY_PATH=./build/neuropil/lib ./build/neuropil/bin/neuropil_controller -b 1111
Exemplo 2: Execute um nó na porta 2222 e envie uma mensagem de junção para outro nó:
./build/neuropil/bin/neuropil_node -b 2222 -j b3b680a867849efe5886a5db751392e9d3079779e3f3c240ed849c11f4ba7d4a:udp6:test.local:3141
Exemplo 3: Execute um nó na porta 2222 e envie uma mensagem de junção curinga para outro nó:
./build/neuropil/bin/neuropil_node -b 2222 -j *:udp6:test.local:3141
Para executar as suítes de teste, agre-nos o parâmetro "-j1" para limitar a execução paralela. Normalmente usamos o seguinte comando:
./build/neuropil/bin/neuropil_test_suite --tap -j1
Este projeto está disponível como código aberto nos termos da versão de software aberta versão 3.0. No entanto, alguns arquivos no EG EXT_tools são licenciados no BSD2 ou GPL-2.0-Orlater e X11; portanto, para obter informações precisas, verifique os arquivos individuais.