Cargo Features

[dependencies]
ep-capstone = { version = "0.2.0", default-features = false, features = ["all-archs", "std", "alloc", "arm", "aarch64", "m68k", "mips", "powerpc", "sparc", "systemz", "x86", "xcore", "tms320c64x", "m680x", "evm", "mos65xx", "sys-dyn-mem", "diet", "x86-reduce", "x86-disable-att"] }
default = all-archs, std, sys-dyn-mem

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

all-archs default = aarch64, arm, evm, m680x, m68k, mips, mos65xx, powerpc, sparc, systemz, tms320c64x, x86, xcore
std default = alloc

This allows the library to use the standard library.

Affects ep-capstone::SkipdataCallback

alloc std

This allows the library to use collections and smart pointers found in alloc.

Affects ep-capstone::SkipdataCallback, util::ensure_c_string

arm all-archs

This enables disassembly for 32bit ARM.

aarch64 all-archs

This enables disasembly for 64bit ARM.

m68k all-archs

This enables disassembly for M68k

mips all-archs

This enables disassembly for MIPS

powerpc all-archs

This enables disassembly for PowerPC

sparc all-archs

This enables disassembly for SPARC.

systemz all-archs

This enables disassembly for SystemZ

x86 all-archs

This enables disassembly for x86

xcore all-archs

This enables disassembly for XCore

tms320c64x all-archs

This enables disassembly for TMS320 C64X

m680x all-archs

This enables disassembly for m680x

evm all-archs

This enables disassembly for EVM

mos65xx all-archs

This enables disassembly for mos65xx

sys-dyn-mem default

If this is enabled then capstone will use malloc/calloc/realloc/free/vsnprintf provided by your system for internal dynamic memory management.

If this is not enabled then you will have to specific your own malloc/calloc/realloc/free/vsnprintf

diet

If this is set to true then capstone will be more compact and use less memory but support for mnemonic and operand data, semantic information such as registers read/written and group will not not be included.

x86-reduce

If this is enabled non-critical instruction sets will be removed from the disassembly for x86. The let of instruction sets removed includes:

- Floating Point Unit (FPU)
- MultiMedia eXtension (MMX)
- Streaming SIMD Extensions (SSE)
- 3DNow
- Advanced Vector Extensions (AVX)
- Fused Multiply Add Operations (FMA)
- eXtended Operations (XOP)
- Transactional Synchronization Extensions (TSX)

x86-disable-att

If this is enabled the AT&T syntax for X86 will be disabled reducing the binary size.