emproof-com / nyxstone

Nyxstone: assembly / disassembly library based on LLVM, implemented in C++ with Rust and Python bindings, maintained by emproof.com
https://www.emproof.com
MIT License
321 stars 16 forks source link

Allow all LLVM versions >= 15 and support dynamic linking #55

Closed stuxnot closed 6 days ago

stuxnot commented 5 months ago

Uses more of llvm-sys build.rs to support dynamic linking when static linking is not supported. Additionally, adds the NYXSTONE_LINK_FFI flag, which tells nyxstone that libffi should be linked. This is necessary as LLVM sometimes might be linked against libffi but not report this fact via llvm-config.

Furthermore adds changes to the python setup.py to support dynamic linking in python, when static linking is not supported.

stuxnot commented 3 months ago

This is currently blocked by the github ci runners not supporting llvm 18 for some reason. Will have to investigate further.

stuxnot commented 2 weeks ago

Since the github linux runners do not support llvm > 15 for some ~godforsaken~ reason, I've opted to test llvm 16-18 in mac runners.