by default, the header file windows.h includes a *lot* os other header files, which are almost always useless, except in some cases of course. It improves the compilation speed, especially with MSYS/MinGW.
There is a way to reduce the number of header files included by windows.h:
#define WIN32_LEAN_AND_MEAN # include <windows.h> #undef WIN32_LEAN_AND_MEAN
You can look at windows.h to see what the macro WIN32_LEAN_AND_MEAN disable.
As far as I can see, 2 files are using windows.h in gnutls/src: crypt.c and psk.c
Maybe it is worth adding this macro in those files