1*fae6e9adSlinfeng[package] 2*fae6e9adSlinfeng 3*fae6e9adSlinfeng# Project metadata 4*fae6e9adSlinfengname = "rbpf" 5*fae6e9adSlinfengversion = "0.2.0" 6*fae6e9adSlinfengauthors = ["Quentin <quentin@isovalent.com>"] 7*fae6e9adSlinfeng 8*fae6e9adSlinfeng# Additional metadata for packaging 9*fae6e9adSlinfengdescription = "Virtual machine and JIT compiler for eBPF programs" 10*fae6e9adSlinfengrepository = "https://github.com/qmonnet/rbpf" 11*fae6e9adSlinfengreadme = "README.md" 12*fae6e9adSlinfengkeywords = ["BPF", "eBPF", "interpreter", "JIT", "filtering"] 13*fae6e9adSlinfenglicense = "Apache-2.0/MIT" 14*fae6e9adSlinfengedition = "2021" 15*fae6e9adSlinfeng 16*fae6e9adSlinfeng# Packaging directives 17*fae6e9adSlinfenginclude = [ 18*fae6e9adSlinfeng "src/**", 19*fae6e9adSlinfeng "examples/**", 20*fae6e9adSlinfeng "tests/**", 21*fae6e9adSlinfeng "bench/**", 22*fae6e9adSlinfeng "LICENSE*", 23*fae6e9adSlinfeng "Cargo.toml", 24*fae6e9adSlinfeng] 25*fae6e9adSlinfeng 26*fae6e9adSlinfeng[dependencies] 27*fae6e9adSlinfeng 28*fae6e9adSlinfeng# Default features (std) are disabled so that the dependencies don't pull in the 29*fae6e9adSlinfeng# standard library when the crate is compiled for no_std 30*fae6e9adSlinfengbyteorder = { version = "1.2", default-features = false } 31*fae6e9adSlinfenglog = {version = "0.4.21", default-features = false } 32*fae6e9adSlinfengcombine = { version = "4.6", default-features = false } 33*fae6e9adSlinfeng 34*fae6e9adSlinfeng# Optional Dependencies when using the standard library 35*fae6e9adSlinfenglibc = { version = "0.2", optional = true } 36*fae6e9adSlinfengtime = { version = "0.2", optional = true } 37*fae6e9adSlinfeng 38*fae6e9adSlinfeng# Optional Dependencies for the CraneLift JIT 39*fae6e9adSlinfengcranelift-codegen = { version = "0.99", optional = true } 40*fae6e9adSlinfengcranelift-frontend = { version = "0.99", optional = true } 41*fae6e9adSlinfengcranelift-jit = { version = "0.99", optional = true } 42*fae6e9adSlinfengcranelift-native = { version = "0.99", optional = true } 43*fae6e9adSlinfengcranelift-module = { version = "0.99", optional = true } 44*fae6e9adSlinfeng 45*fae6e9adSlinfeng[dev-dependencies] 46*fae6e9adSlinfeng 47*fae6e9adSlinfengelf = "0.0.10" 48*fae6e9adSlinfengjson = "0.11" 49*fae6e9adSlinfenghex = "0.4.3" 50*fae6e9adSlinfeng 51*fae6e9adSlinfeng[features] 52*fae6e9adSlinfeng#default = ["std", "user", "cranelift"] 53*fae6e9adSlinfengcargo-clippy = [] 54*fae6e9adSlinfengstd = ["dep:time", "dep:libc", "combine/std"] 55*fae6e9adSlinfengcranelift = [ 56*fae6e9adSlinfeng "dep:cranelift-codegen", 57*fae6e9adSlinfeng "dep:cranelift-frontend", 58*fae6e9adSlinfeng "dep:cranelift-jit", 59*fae6e9adSlinfeng "dep:cranelift-native", 60*fae6e9adSlinfeng "dep:cranelift-module", 61*fae6e9adSlinfeng] 62*fae6e9adSlinfenguser = [] 63*fae6e9adSlinfeng 64*fae6e9adSlinfeng# Examples that depend on the standard library should be disabled when 65*fae6e9adSlinfeng# testing the `no_std` configuration. 66*fae6e9adSlinfeng[[example]] 67*fae6e9adSlinfengname = "disassemble" 68*fae6e9adSlinfengrequired-features = ["std"] 69*fae6e9adSlinfeng 70*fae6e9adSlinfeng[[example]] 71*fae6e9adSlinfengname = "uptime" 72*fae6e9adSlinfengrequired-features = ["std"] 73*fae6e9adSlinfeng 74*fae6e9adSlinfeng[[example]] 75*fae6e9adSlinfengname = "to_json" 76*fae6e9adSlinfeng 77*fae6e9adSlinfeng[[example]] 78*fae6e9adSlinfengname = "rbpf_plugin" 79