[package] name = "yaxpeax-x86" version = "2.0.0" authors = [ "iximeow " ] license = "0BSD" repository = "http://git.iximeow.net/yaxpeax-x86/" description = "x86 decoders for the yaxpeax project" readme = "README.md" edition = "2018" [dependencies] yaxpeax-arch = { version = "0.3.1", default-features = false, features = [] } "num-traits" = { version = "0.2", default-features = false } "serde" = { version = "1.0", optional = true } "serde_json" = { version = "1.0", optional = true } "serde_derive" = { version = "1.0", optional = true } "cfg-if" = "1.0.0" # if yaxpeax-x86 ever pulls this into your dep tree: sorry! please report that! # this is only used for verifying library structures are kept in sync. it # should only be pulled in with the _debug_internal_asserts feature which you # should not be using! strum = { version = "0.28.0", features = ["derive"], optional = true } [dev-dependencies] rand = { version = "0.10.0", features = ["thread_rng"] } asmlinator = { version = "2.0.0" } [[test]] name = "test" path = "test/test.rs" [[bench]] name = "bench" path = "test/bench.rs" [profile.bench] opt-level = 3 lto = true [profile.release] opt-level = 3 lto = true [features] default = ["std", "colors", "use-serde", "fmt", "behavior"] # opt-in for some apis that are really much nicer with String std = ["alloc", "yaxpeax-arch/std"] # opt-in for some formatting-related helpers that require performing allocation # # this should only be useful with `fmt` currently, but in the future there could # be other `fmt`-independent code gated on `alloc`. alloc = ["yaxpeax-arch/alloc"] # feature for formatting instructions and their components fmt = [] # feature for additional instruction behavior information # # as of writing this includes an additional ~6kb of combined code and data # per-decoder. much like `fmt`, this is mostly useful to ensure that unused # data truly is not included in a build. behavior = [] use-serde = ["yaxpeax-arch/use-serde", "serde", "serde_derive"] colors = ["yaxpeax-arch/colors"] # feature for library surface areas that are *NOT STABLE*. these will change in # semver-incompatible ways across any releases. unstable = [] # This enables some capstone benchmarks over the same # instruction bytes used to bench this code. capstone_bench = [] # this disables a lot of inlining to make it easier for me to measure # likelihood of codepaths for typical instruction sequences profiling = [] # do not use this. it is for development and library debugging only. _debug_internal_disasm_stats = [] # do not use this. it is for development and library testing only. _debug_internal_asserts = ["strum"]