wajib:
opsional:
Contoh ini mengasumsikan bahwa Anda telah menginstal Python 3 dan versi scons terbaru. Dimungkinkan juga untuk membangun perpustakaan kami tanpa scons dengan menggunakan Makefile. Karena scons adalah alat pembangun utama kami sendiri, kami menggambarkan pendekatan scons di sini.
Kloning repositori dari https://gitlab.com/pi-lar/neuropil (versi pengembangan) atau https://github.com/pi-lar/neuropil (mirror) dengan git.
CD ke dalam folder dan bangun kode dengan scons.
Pertama berikan perintah
git submodule init
Diikuti oleh
git submodule update
Bangun baik dalam mode debug dengan:
scons -C build -f ../SConstruct --DEBUG
atau dalam mode rilis dengan:
scons -C build -f ../SConstruct --RELEASE
Bangun dokumentasi (diperlukan instalasi sphinx):
scons -C build -f ../SConstruct doc=1
Bangun tes (diperlukan instalasi kriteria):
scons -C build -f ../SConstruct tests
Bersihkan/hapus proyek:
scons -C build -f ../SConstruct -c
Ada juga Makefile yang tersedia, tetapi beberapa info Path adalah kode keras dan perlu disesuaikan dengan lingkungan Anda. Makefile ini terutama digunakan untuk menjalankan perkakas LLVM Scan-Build untuk analisis kode statis dan untuk fuzzing perpustakaan.
File CMake adalah draf awal pertama dan dapat membangun perpustakaan, tetapi bukan contoh program.
Tidak ada autoconf hingga sekarang, untuk dilakukan.
Neuropil tersedia untuk ekosistem NIX yang menyediakan build yang dapat direproduksi dari perpustakaan dan lingkungan pengembangan bersih.
Proyek ini hadir sebagai serpihan NIX tetapi dilengkapi dengan pembungkus untuk NIX < 3.x .
Ini menyediakan paket berikut:
Meskipun ini mungkin bukan yang ingin Anda lakukan (lihat bagian selanjutnya), membangun paket masing -masing berfungsi sebagai berikut:
| Memerintah | Keterangan |
|---|---|
nix build ./ | Bangun perpustakaan dan file header |
nix build ./#packages.x86_64-{darwin,linux}.neuropil_{python,luajit} | Modul Python atau modul LUA masing -masing |
nix develop atau nix-shell -A devShell.x86_64-{darwin,linux} | Membuka cangkang dengan libneuropil pada LDPATH dan Lua/Python Bindings tersedia. Gunakan ini untuk membangun sumber C secara manual (mis. $CC examples/neuropil_sender.c -lneuropil ) |
nix shell ./#packages.x86_64-{darwin,linux}.libneuropil | Membuka cangkang dengan dependensi neuropil yang tersedia, memungkinkan alur kerja umum menggunakan scons --DEBUG dan scons --RELEASE . |
Untuk membuka shell/membangun perpustakaan tanpa mengkloning repositori, menggunakan nix serpihan ganti ./ Oleh git+<url to repo> atau gitlab:pi-lar/neuropil untuk cabang terbaru.
Dalam kebanyakan kasus meskipun Anda ingin mengintegrasikan neuropil ke dalam proyek Anda menggunakan NIX. Untuk menjadikan neuropil bagian dari aplikasi Anda, Anda dapat dengan mudah mengimpor serpihan dan menambahkan overlay ke set paket Anda seperti ini misalnya:
{ 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 > ]
...
}Jika proyek Anda berbasis Flake, cukup tambahkan repo ini sebagai input dan impor overlay.
Saat ini perpustakaan cffi di Python 3.8 gagal mengurai file header kritis di stddef. Karena itu kami menyediakan perpustakaan untuk python3.7 hanya sampai ini diselesaikan.
Direktori Input:
Direktori Output:
Anda dapat menjalankan executable sama seperti yang dapat dieksekusi, harap lihat parameter dari setiap program:
Contoh 1: Jalankan pengontrol di port 1111
LD_LIBRARY_PATH=./build/neuropil/lib ./build/neuropil/bin/neuropil_controller -b 1111
Contoh 2: Jalankan node di port 2222 dan kirim pesan bergabung ke simpul lain:
./build/neuropil/bin/neuropil_node -b 2222 -j b3b680a867849efe5886a5db751392e9d3079779e3f3c240ed849c11f4ba7d4a:udp6:test.local:3141
Contoh 3: Jalankan node di port 2222 dan kirim pesan gabungan wildcard ke simpul lain:
./build/neuropil/bin/neuropil_node -b 2222 -j *:udp6:test.local:3141
Untuk menjalankan test suite, silakan kami parameter "-j1" untuk membatasi eksekusi paralel. Biasanya kami menggunakan perintah berikut:
./build/neuropil/bin/neuropil_test_suite --tap -j1
Proyek ini tersedia sebagai open source di bawah ketentuan Lisensi Perangkat Lunak Terbuka Versi 3.0. Namun, beberapa file di ext_tools dilisensikan di bawah BSD2 atau GPL-2.0-Orlater dan X11, jadi silakan untuk informasi yang akurat, periksa file individual.