The build of libnl-3 is actually quite confusing. We have several libraries with public (stable) API. Which can use each other only via the symbols exported in the shared libraries.
Then under include/netlink-private three are internal headers, which make those symbols accessible to various places. But it's confusing.
A first step to try to clean this up. Internal headers should be in different directories, depending on who can use them (and what they themselves depend on/use).
The build of libnl-3 is actually quite confusing. We have several libraries with public (stable) API. Which can use each other only via the symbols exported in the shared libraries.
Then under
include/netlink-private
three are internal headers, which make those symbols accessible to various places. But it's confusing.A first step to try to clean this up. Internal headers should be in different directories, depending on who can use them (and what they themselves depend on/use).