blob: e56d416ed05b7db787fe860e7f1a9ba771d1dce4 [file] [log] [blame]
How To Compile & Run Capstone for Linux, Mac OSX, *nix and Windows
*-*-*-*-*-*
Capstone requires no prerequisite packages, so it is easy to compile & install.
(1) On Linux, Mac OSX or *nix:
- To compile for current platform, run either:
$ ./compile.sh
or:
$ make
Then run "./tests/test*" to see the tests disassembling sample code.
- On 64-bit OS, if you want to cross-compile Capstone for 32-bit binary, run:
$ ./compile.sh nix32
Then similarly, run "./tests/test*" to see the tests disassembling sample code.
(2) To install Capstone, run:
$ sudo make install
You are then required to enter root password to copy Capstone into machine
system directories.
NOTE: The core framework that will be installed by "make install" consist of
only following files:
/usr/include/capstone/capstone.h
/usr/include/capstone/x86.h
/usr/include/capstone/arm.h
/usr/include/capstone/arm64.h
/usr/include/capstone/mips.h
/usr/lib/libcapstone.so (for Linux/*nix), or /usr/lib/libcapstone.dylib (OSX)
(3) To cross-compile for Windows, Linux & gcc-mingw-w64-i686 (and also gcc-mingw-w64-x86-64
if you want 64-bit binaries) are required.
- To cross-compile Windows 32-bit binary, simply run
$ ./compile.sh cross-win32
- To cross-compile Windows 64-bit binary, simply run
$ ./compile.sh cross-win64
Resulted files "capstone.dll" and "tests/test*.exe" can then be used on Windows machine.
(4) To compile under Cygwin gcc-mingw-w64-i686 or x86_64-w64-mingw32 run:
- To compile Windows 32-bit binary under Cygwin, simply run
$ ./compile.sh cygwin-mingw32
- To compile Windows 64-bit binary under Cygwin, simply run
$ ./compile.sh cygwin-mingw64
(5) By default, gcc is used as compiler. If you want to use "clang" instead, compile
the code with:
$ ./compile.sh clang
(6) So far, Python, Ruby, Ocaml, Java, C# and Go are supported by bindings. Look for
the bindings under directory bindings/, and refer to README file of corresponding languages.
For each binding, the common method to compile its code is to run the command below
from the directory of the binding (such as in ./bindings/python/ for Python and so on)
$ make
For some bindings (such as Python), you can install the code into your machine with:
$ sudo make install