I just noticed that <version-etc.h> doesn't include extern "C" guards so that inclusion in a C++ source file becomes easier (see 4.2 in the Gnulib manual).
I don't know what the general policy is, but including <version-etc.h> in a C++ makes sense to me and could be made easier. Marc PS I haven't systematically checked other header files.
