It should only include the parts used by your program which Nim needs to be 
able to properly type everything. When you use `path` in your importc block 
everything from that path which is included will generate bindings, if you use 
`sysPath` the path will be searched but no bindings will be generated (as long 
as they aren't used elsewhere). There is currently no system to use `path` and 
ignore only specific files (apart from generating the data manually, the 
`importc` macro actually just creates a call to an implementation macro which 
takes arrays, so you can write your own `importc` implementation which also 
calls the underlying macro with a different DSL).

In theory it would be possible to not generate bindings for things which only 
gets pointed to by pointers. This would reduce the amount of stuff the binding 
creates, but also make the binding less complete. Why exactly do you want to 
achieve this? Nim has dead code elimination, so having too much stuff bound 
shouldn't cause any issues.

Reply via email to