unicorn/bindings
Stephen bc08bfda67 Unit testing in CI (#651)
- in appveyor, install clang and cmake in cygwin, enable package upgrades, and build cmocka and enable testing for gcc only
- in `gitignore`, ignore generated cmocka folder
- in travis, use brew in osx to install cmocka, and enable testing for gcc and clang on os x and linux
- in `Makefile`, change to use `uname -s` to determine os type
- make `install-cmocka-linux.sh`, a simple shell script to download and install cmocka on linux
- in `bindings/Makefile`, enable `make -c` to call subdirectory makefiles instead of `cd [dir] && make` and include environment variables for runtime access to generated libraries
- in `samples/Makefile`, change to use `uname -s` to determine os type, remove `clean_bins` from `all` command, and include `Werror` for compile strictness
- in `tests/unit/Makefile`, add `cflags` for compile time access to cmocka headers and library, include execute vars for runtime access to cmocka and unicorn libs
- in `tests/unit/test_tb_x86.c`, comment out assert that would not compile
2016-10-22 00:21:10 +08:00
..
dotnet Rename unhandled CPU exception 2016-07-05 11:10:39 -05:00
go Go bindings: fix concurrent hook updates 2016-07-27 05:16:12 -07:00
haskell [haskell-bindings] Fixed ARM THUMB sample as per issue #638 2016-09-21 09:47:52 +02:00
java ruby & java: fix address of Thumb sample 2016-09-20 20:16:29 +08:00
msvc Added MSVC bindings for uc_reg_write_batch() and uc_reg_read_batch() and fixed UC_HOOK_INSN hooking. 2016-05-10 23:29:11 +10:00
python python: rename test_i386_reg_save() to test_i386_context_save() 2016-10-13 20:57:34 +08:00
ruby ruby & java: fix address of Thumb sample 2016-09-20 20:16:29 +08:00
const_generator.py ruby binding added 2016-03-22 12:17:23 +01:00
Makefile Unit testing in CI (#651) 2016-10-22 00:21:10 +08:00
README add link to Perl binding 2016-09-22 08:46:25 +08:00

This directory contains bindings & test code for Python, Java, Go, .NET and MSVC.
See <language>/README or <language>/README.TXT or <language>/README.md for how to install each binding.

The following bindings are contributed by community.

- Java binding: by Chris Eagle.
- Go binding: by Ryan Hileman.
- .NET binding: by Antonio Parata.
- MSVC binding: by Zak Escano
- Ruby binding: by Sascha Schirra
- Haskell binding: by Adrian Herrera.

More bindings created & maintained externally by community are available as follows.

- UnicornPascal: Delphi/Free Pascal binding (by Stievie).
    https://github.com/stievie/UnicornPascal

- Unicorn-Rs: Rust binding (by Sébastien Duquette)
    https://github.com/ekse/unicorn-rs

- UnicornEngine: Perl binding (by Vikas Naresh Kumar)
    https://metacpan.org/pod/UnicornEngine