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
somewhere in the dependency tree.default-features = false - 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.