obligatorio:
opcional:
Este ejemplo supone que ha instalado Python 3 y la versión reciente de Scons. También es posible construir nuestra biblioteca sin los Scons usando el makfile. Como Scons es nuestra propia herramienta de construcción principal, describimos el enfoque de Scons aquí.
Clone el repositorio de https://gitlab.com/pi-lar/neuropil (versión de desarrollo) o https://github.com/pi-lar/neuropil (espejo) con git.
CD en la carpeta y cree el código con Scons.
Primero da el comando
git submodule init
Seguido de
git submodule update
construir ya sea en modo de depuración con:
scons -C build -f ../SConstruct --DEBUG
o en modo de lanzamiento con:
scons -C build -f ../SConstruct --RELEASE
Cree la documentación (se requiere instalación de Sphinx):
scons -C build -f ../SConstruct doc=1
Construya las pruebas (se requiere instalación de criterio):
scons -C build -f ../SConstruct tests
limpiar/eliminar el proyecto:
scons -C build -f ../SConstruct -c
También hay un archivo de making disponible, pero algunos infos de ruta están codificados y deben adaptarse a su entorno. El Makefile se usa principalmente para ejecutar las herramientas LLVM Scan-Build para un análisis de código estático y para borrar la biblioteca.
Los archivos CMake son un primer borrador inicial y pueden construir la biblioteca, pero no los programas de ejemplo.
No hay autoconf disponible hasta ahora, para hacer.
Neuropil está disponible para el ecosistema Nix que proporciona construcciones reproducibles de la biblioteca y los entornos de desarrollo limpio.
Este proyecto viene como una escama de Nix pero viene con envoltorios para Nix < 3.x .
Proporciona los siguientes paquetes:
Aunque esto probablemente no sea lo que desea hacer (vea la siguiente sección), la construcción de los paquetes individuales funciona de la siguiente manera:
| Dominio | Descripción |
|---|---|
nix build ./ | Construir archivos de biblioteca y encabezado |
nix build ./#packages.x86_64-{darwin,linux}.neuropil_{python,luajit} | construye módulo python o módulo lua respectivamente |
nix develop o nix-shell -A devShell.x86_64-{darwin,linux} | Abre un caparazón con libneuropil en LDPATH y las fijaciones de Lua/Python disponibles. Use esto para construir fuentes C manualmente (por ejemplo $CC examples/neuropil_sender.c -lneuropil ) |
nix shell ./#packages.x86_64-{darwin,linux}.libneuropil | Abre un caparazón con las dependencias de Neuropil disponibles, permite el flujo de trabajo común utilizando scons --DEBUG y scons --RELEASE . |
Para abrir el shell/construir la biblioteca sin clonar el repositorio, utilizando los copos de Nix reemplazar ./ por git+<url to repo> o gitlab:pi-lar/neuropil para la última rama.
En la mayoría de los casos, querrá integrar neuropil en su proyecto usando NIX. Para hacer que Neuropil sea parte de su aplicación, simplemente puede importar el copo y agregar su superposición a su conjunto de paquetes así, por ejemplo:
{ 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 > ]
...
}Si su proyecto se basa en escamas, solo agregue este repositorio como entrada e importe la superposición.
Actualmente, la biblioteca cffi en Python 3.8 no puede analizar un archivo de encabezado crítico en el STDDEF. Por lo tanto, proporcionamos la biblioteca para Python3.7 solo hasta que esto se resuelva.
Directorios de entrada:
Directorios de salida:
Puede ejecutar los ejecutables como cualquier ejecutable, eche un vistazo a los parámetros de cada programa:
Ejemplo 1: ejecute el controlador en el puerto 1111
LD_LIBRARY_PATH=./build/neuropil/lib ./build/neuropil/bin/neuropil_controller -b 1111
Ejemplo 2: ejecute un nodo en el puerto 2222 y envíe un mensaje de unión a otro nodo:
./build/neuropil/bin/neuropil_node -b 2222 -j b3b680a867849efe5886a5db751392e9d3079779e3f3c240ed849c11f4ba7d4a:udp6:test.local:3141
Ejemplo 3: Ejecute un nodo en el puerto 2222 y envíe un mensaje de unión comodín a otro nodo:
./build/neuropil/bin/neuropil_node -b 2222 -j *:udp6:test.local:3141
Para ejecutar las suites de prueba, nos presenten el parámetro "-J1" para limitar la ejecución paralela. Por lo general, usamos el siguiente comando:
./build/neuropil/bin/neuropil_test_suite --tap -j1
Este proyecto está disponible como código abierto bajo los términos de la Licencia de software Open versión 3.0. Sin embargo, algunos archivos en EG EXT_TOOLS tienen licencia bajo BSD2 o GPL-2.0-Orlater y X11, así que para obtener información precisa, consulte los archivos individuales.