you could consider the new macros aPI, but the annotations are empty defines in the public header, they can only be used by dependencies if they explicitly define the right HAVE_ macros first
possibly we should revise their naming as they are now in a public header.