Cargo Features

[dependencies]
goblin = { version = "0.9.2", default-features = false, features = ["std", "alloc", "endian_fd", "elf32", "elf64", "mach32", "mach64", "pe64", "te", "archive"] }
default = archive, elf32, elf64, endian_fd, mach32, mach64, pe32, pe64, std, te

These default features are set whenever goblin is added without default-features = false somewhere in the dependency tree.

std default = alloc

Enables std of scroll

Affects goblin::peek

alloc archive endian_fd mach32 mach64 pe32 pe64 std te = log

Enables derive of scroll

Affects goblin::error, elf::symver

endian_fd default mach32 mach64 pe32 pe64 te = alloc
elf32 default

Affects goblin::elf32, goblin::elf, elf::symver

elf64 default

Affects goblin::elf64, goblin::elf, elf::symver

mach32 default = alloc, archive, endian_fd

for now we will require mach and pe to be alloc + endian_fd

Affects goblin::mach

mach64 default = alloc, archive, endian_fd

Affects goblin::mach

pe32 pe64 default = alloc, endian_fd

Affects goblin::pe

te default = alloc, endian_fd

Affects header::TeHeader, header::TE_MAGIC, pe::TE

archive default mach32 mach64 = alloc

Affects goblin::archive

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

log alloc?