When multiple .def files cover overlapping native code, use inherit and skipall to manage the dependency chain.
Inherit
Use inherit "filename.def" to build on an existing binding set. The inherited types are parsed so they can be used as parameter/return types, but they are not re-emitted. This prevents duplicate wrappers in the export tables.
Skipall
Use skipall "filename.def" for deep dependency chains. This is a stronger form of inheritance that skips the emission of everything in the named def, including classes (native and managed), structs, and its .h includes.
Example of inheritance pattern:
ident "tools"
inherit "engine.def"
include "common/*"