mirror of
https://github.com/encounter/objdiff.git
synced 2025-06-07 15:13:47 +00:00
204 lines
6.0 KiB
TOML
204 lines
6.0 KiB
TOML
[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"
|
|
|
|
[features]
|
|
default = ["std"]
|
|
all = [
|
|
# Features
|
|
"bindings",
|
|
"build",
|
|
"config",
|
|
"dwarf",
|
|
"serde",
|
|
# Architectures
|
|
"arm",
|
|
"arm64",
|
|
"mips",
|
|
"ppc",
|
|
"x86",
|
|
"superh"
|
|
]
|
|
# Implicit, used to check if any arch is enabled
|
|
any-arch = [
|
|
"dep:flagset",
|
|
"dep:heck",
|
|
"dep:log",
|
|
"dep:num-traits",
|
|
"dep:prettyplease",
|
|
"dep:proc-macro2",
|
|
"dep:quote",
|
|
"dep:regex",
|
|
"dep:similar",
|
|
"dep:syn",
|
|
]
|
|
bindings = [
|
|
"dep:prost",
|
|
"dep:prost-build",
|
|
]
|
|
build = [
|
|
"dep:notify",
|
|
"dep:notify-debouncer-full",
|
|
"dep:reqwest",
|
|
"dep:self_update",
|
|
"dep:shell-escape",
|
|
"dep:tempfile",
|
|
"dep:time",
|
|
"dep:winapi",
|
|
]
|
|
config = [
|
|
"dep:globset",
|
|
"dep:semver",
|
|
"dep:typed-path",
|
|
]
|
|
dwarf = ["dep:gimli"]
|
|
serde = [
|
|
"dep:pbjson",
|
|
"dep:pbjson-build",
|
|
"dep:serde",
|
|
"dep:serde_json",
|
|
]
|
|
std = [
|
|
"anyhow/std",
|
|
"flagset?/std",
|
|
"log?/std",
|
|
"num-traits?/std",
|
|
"object/std",
|
|
"prost?/std",
|
|
"serde?/std",
|
|
"similar?/std",
|
|
"typed-path?/std",
|
|
"dep:filetime",
|
|
"dep:memmap2",
|
|
]
|
|
mips = [
|
|
"any-arch",
|
|
"dep:cpp_demangle",
|
|
"dep:cwdemangle",
|
|
"dep:rabbitizer",
|
|
]
|
|
ppc = [
|
|
"any-arch",
|
|
"dep:cwdemangle",
|
|
"dep:cwextab",
|
|
"dep:ppc750cl",
|
|
"dep:rlwinmdec",
|
|
]
|
|
x86 = [
|
|
"any-arch",
|
|
"dep:cpp_demangle",
|
|
"dep:iced-x86",
|
|
"dep:msvc-demangler",
|
|
]
|
|
arm = [
|
|
"any-arch",
|
|
"dep:arm-attr",
|
|
"dep:cpp_demangle",
|
|
"dep:unarm",
|
|
]
|
|
arm64 = [
|
|
"any-arch",
|
|
"dep:cpp_demangle",
|
|
"dep:yaxpeax-arch",
|
|
"dep:yaxpeax-arm",
|
|
]
|
|
superh = [
|
|
"any-arch",
|
|
]
|
|
|
|
[package.metadata.docs.rs]
|
|
features = ["all"]
|
|
|
|
[dependencies]
|
|
anyhow = { version = "1.0", default-features = false }
|
|
filetime = { version = "0.2", optional = true }
|
|
flagset = { version = "0.4", default-features = false, optional = true, git = "https://github.com/enarx/flagset.git", rev = "a1fe9369b3741e43fec45da1998e83b9d78966a2" }
|
|
itertools = { version = "0.14", default-features = false, features = ["use_alloc"] }
|
|
log = { version = "0.4", default-features = false, optional = true }
|
|
memmap2 = { version = "0.9", optional = true }
|
|
num-traits = { version = "0.2", default-features = false, optional = true }
|
|
object = { git = "https://github.com/gimli-rs/object", rev = "a74579249e21ab8fcd3a86be588de336f18297cb", default-features = false, features = ["read_core", "elf", "pe"] }
|
|
pbjson = { version = "0.7", default-features = false, optional = true }
|
|
prost = { version = "0.13", default-features = false, features = ["prost-derive"], optional = true }
|
|
regex = { version = "1.11", default-features = false, features = [], optional = true }
|
|
serde = { version = "1.0", default-features = false, features = ["derive"], optional = true }
|
|
similar = { version = "2.7", default-features = false, features = ["hashbrown"], optional = true, git = "https://github.com/encounter/similar.git", branch = "no_std" }
|
|
typed-path = { version = "0.11", default-features = false, optional = true }
|
|
|
|
# config
|
|
globset = { version = "0.4", default-features = false, optional = true }
|
|
semver = { version = "1.0", default-features = false, optional = true }
|
|
serde_json = { version = "1.0", default-features = false, features = ["alloc"], optional = true }
|
|
|
|
# dwarf
|
|
gimli = { version = "0.31", default-features = false, features = ["read"], optional = true }
|
|
|
|
# ppc
|
|
cwdemangle = { version = "1.0", optional = true }
|
|
cwextab = { version = "1.0", optional = true }
|
|
ppc750cl = { version = "0.3", optional = true }
|
|
rlwinmdec = { version = "1.1", optional = true }
|
|
|
|
# mips
|
|
rabbitizer = { version = "2.0.0-alpha.1", default-features = false, features = ["all_extensions"], optional = true }
|
|
|
|
# x86
|
|
cpp_demangle = { version = "0.4", default-features = false, features = ["alloc"], optional = true }
|
|
iced-x86 = { version = "1.21", default-features = false, features = ["decoder", "intel", "gas", "masm", "nasm", "exhaustive_enums", "no_std"], optional = true }
|
|
msvc-demangler = { version = "0.11", optional = true }
|
|
|
|
# arm
|
|
unarm = { version = "1.8", optional = true }
|
|
arm-attr = { version = "0.2", optional = true }
|
|
|
|
# arm64
|
|
yaxpeax-arch = { version = "0.3", default-features = false, optional = true }
|
|
yaxpeax-arm = { version = "0.3", default-features = false, optional = true }
|
|
|
|
# build
|
|
notify = { version = "8.0.0", optional = true }
|
|
notify-debouncer-full = { version = "0.5.0", optional = true }
|
|
shell-escape = { version = "0.1", optional = true }
|
|
tempfile = { version = "3.19", optional = true }
|
|
time = { version = "0.3", optional = true }
|
|
encoding_rs = "0.8.35"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
winapi = { version = "0.3", optional = true }
|
|
|
|
# For Linux static binaries, use rustls
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "multipart", "rustls-tls"], optional = true }
|
|
self_update = { version = "0.42", default-features = false, features = ["rustls"], optional = true }
|
|
|
|
# For all other platforms, use native TLS
|
|
[target.'cfg(not(target_os = "linux"))'.dependencies]
|
|
reqwest = { version = "0.12", default-features = false, features = ["blocking", "json", "multipart", "default-tls"], optional = true }
|
|
self_update = { version = "0.42", optional = true }
|
|
|
|
[build-dependencies]
|
|
heck = { version = "0.5", optional = true }
|
|
pbjson-build = { version = "0.7", optional = true }
|
|
prettyplease = { version = "0.2", optional = true }
|
|
proc-macro2 = { version = "1.0", optional = true }
|
|
prost-build = { version = "0.13", optional = true }
|
|
quote = { version = "1.0", optional = true }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = { version = "1.0" }
|
|
syn = { version = "2.0", optional = true }
|
|
|
|
[dev-dependencies]
|
|
# Enable all features for tests
|
|
objdiff-core = { path = ".", features = ["all"] }
|
|
insta = "1.43"
|