/* Dummy header, which gets overridden, if winpthread library gets installed.  */


