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
220 stars 6 forks source link

Get rid of Boost #61

Open mrexodia opened 4 days ago

mrexodia commented 4 days ago

Boost is quite a heavy dependency and setting it up correctly can be a pain (especially on Windows). Since it's only used for the command line tool and the only library is program_options it should be quite easy to get rid of it and replace it with something like https://github.com/Taywee/args

Alternatively since there is already a dependency on LLVM it might be easiest to switch to cl::opt

g0ldminer commented 3 days ago

Great idea. But I think we can just use clap (https://crates.io/crates/clap) and rewrite the CLI in rust. cl::opt seems like a pain to use. @stuxnot what do you think?

stuxnot commented 3 days ago

I also think that getting rid of boost is a good idea. Regarding a rust cli, we already have one as an exampe, we just don't point it out in the README. I'm not entirely sure if we should remove the c++ cli, I personally like that there is a c++ only option.