Clang.jl
Clang.jl copied to clipboard
Add a mode to only generate a necessary set of API
trafficstars
Clang.jl's generator is mainly for creating a complete self-contained Julia binding wrapper package for C libraries.
For C libraries with a huge API set, it's easy to generate raw bindings with Clang.jl but hard to maintain a set of high-level Julia wrappers. So, in practice, there are cases where users only want to use, maintain or embed a small group of API functions from a large C library in their projects.
This problem can be alleviated by adding a "lazy" mode to Clang.jl's generator. Given a set of names, this mode should recursively generate bindings for functions whose names are matched in the set and all dependent identifiers.