/ config.ncl
config.ncl
1 # SPDX-License-Identifier: AGPL-3.0-or-later 2 # SPDX-FileCopyrightText: 2025 Hyperpolymath Contributors 3 # 4 # config.ncl - Nickel configuration for bebop-v-ffi 5 # https://nickel-lang.org 6 7 { 8 project = { 9 name = "bebop-v-ffi", 10 version = "0.0.1", 11 description = "FFI bindings between Bebop binary serialization and V language", 12 license = "AGPL-3.0-or-later", 13 repository = "https://github.com/hyperpolymath/bebop-v-ffi", 14 }, 15 16 build = { 17 implementation = "zig", 18 output = { 19 shared_lib = "libbebop_v_ffi.so", 20 static_lib = "libbebop_v_ffi.a", 21 header = "bebop_v_ffi.h", 22 }, 23 targets = ["x86_64-linux", "aarch64-linux"], 24 }, 25 26 abi = { 27 version = 1, 28 stability = "unstable", # will be "stable" at 1.0.0 29 header = "include/bebop_v_ffi.h", 30 types = ["BebopCtx", "VBytes", "VSensorReading"], 31 functions = [ 32 "bebop_ctx_new", 33 "bebop_ctx_free", 34 "bebop_ctx_reset", 35 "bebop_decode_sensor_reading", 36 "bebop_free_sensor_reading", 37 "bebop_encode_batch_readings", 38 ], 39 }, 40 41 schemas = { 42 path = "schemas/", 43 files = ["sensors.bop"], 44 generator = "bebopc --lang c", 45 }, 46 47 implementations = { 48 zig = { 49 path = "implementations/zig/", 50 status = "stub", 51 build_cmd = "zig build", 52 }, 53 rust = { 54 path = "implementations/rust/", 55 status = "help-wanted", 56 build_cmd = "cargo build --release", 57 }, 58 }, 59 60 quality = { 61 required_coverage = 0, # TODO: increase as we implement 62 run_fuzz = false, 63 require_golden_vectors = true, 64 }, 65 66 ecosystem = { 67 parent = "kaldor-iiot", 68 related = ["bunsenite"], 69 language_bindings = ["v"], 70 }, 71 }