[package] name = "objdiff-core" version.workspace = true edition.workspace = true rust-version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true readme = "README.md" description = """ A local diffing tool for decompilation projects. """ documentation = "https://docs.rs/objdiff-core" [lib] crate-type = ["cdylib", "rlib"] [features] all = ["config", "dwarf", "mips", "ppc", "x86", "arm", "bindings"] any-arch = ["bimap"] # Implicit, used to check if any arch is enabled config = ["bimap", "globset", "semver", "serde_json", "serde_yaml"] dwarf = ["gimli"] mips = ["any-arch", "rabbitizer"] ppc = ["any-arch", "cwdemangle", "cwextab", "ppc750cl"] x86 = ["any-arch", "cpp_demangle", "iced-x86", "msvc-demangler"] arm = ["any-arch", "cpp_demangle", "unarm", "arm-attr"] bindings = ["serde_json", "prost", "pbjson"] wasm = ["bindings", "console_error_panic_hook", "console_log"] [package.metadata.docs.rs] features = ["all"] [dependencies] anyhow = "1.0" bimap = { version = "0.6", features = ["serde"], optional = true } byteorder = "1.5" filetime = "0.2" flagset = "0.4" log = "0.4" memmap2 = "0.9" num-traits = "0.2" object = { version = "0.36", features = ["read_core", "std", "elf", "pe"], default-features = false } pbjson = { version = "0.7", optional = true } prost = { version = "0.13", optional = true } serde = { version = "1.0", features = ["derive"] } similar = { version = "2.6", default-features = false } strum = { version = "0.26", features = ["derive"] } wasm-bindgen = "0.2" tsify-next = { version = "0.5", default-features = false, features = ["js"] } console_log = { version = "1.0", optional = true } console_error_panic_hook = { version = "0.1", optional = true } # config globset = { version = "0.4", features = ["serde1"], optional = true } semver = { version = "1.0", optional = true } serde_json = { version = "1.0", optional = true } serde_yaml = { version = "0.9", optional = true } # dwarf gimli = { version = "0.31", default-features = false, features = ["read-all"], optional = true } # ppc cwdemangle = { version = "1.0", optional = true } cwextab = { version = "1.0.2", optional = true } ppc750cl = { version = "0.3", optional = true } # mips rabbitizer = { version = "1.12", optional = true } # x86 cpp_demangle = { version = "0.4", optional = true } iced-x86 = { version = "1.21", default-features = false, features = ["std", "decoder", "intel", "gas", "masm", "nasm", "exhaustive_enums"], optional = true } msvc-demangler = { version = "0.10", optional = true } # arm unarm = { version = "1.6", optional = true } arm-attr = { version = "0.1", optional = true } [build-dependencies] prost-build = "0.13" pbjson-build = "0.7"