download and install Cgywin with all the necessary compiler packages and libraries (openssl, libxslt and libxml2).
use ./configure --disable-ipv6 --enable-xslt
after that, replace the generated config.h with this one:
/* config.h. Generated from config.h.in by configure. */
/* config.h.in. Generated from configure.ac by autoheader. */
/* Define to 1 if building on Cygwin */
#define CYGWIN 1
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to 1 if you want Hiawatha to cache files */
#define HAVE_CACHE 1
/* Define to 1 if you have the <crypt.h> header file. */
#define HAVE_CRYPT_H 1
/* Define to 1 if /dev/urandom exists */
#define HAVE_DEV_URANDOM 1
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the <netinet/in.h> header file. */
#define HAVE_NETINET_IN_H 1
/* Define to 1 if you have the <netinet/tcp.h> header file. */
#define HAVE_NETINET_TCP_H 1
/* Define if you have POSIX threads libraries and header files. */
#define HAVE_PTHREAD 1
/* Define to 1 if you want to use URL rewriting */
#define HAVE_TOOLKIT 1
/* Define to 1 if you have the `setenv' function. */
#define HAVE_SETENV 1
/* Define to 1 if you want SSL support */
#define HAVE_SSL 1
/* Define to 1 if you want XSLT support */
#define HAVE_XSLT 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strcasecmp' function. */
#define HAVE_STRCASECMP 1
/* Define to 1 if you have the <strings.h> header file. */
#define HAVE_STRINGS_H 1
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strncasecmp' function. */
#define HAVE_STRNCASECMP 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <unistd.h> header file. */
#define HAVE_UNISTD_H 1
/* Define to 1 if you have the `unsetenv' function. */
#define HAVE_UNSETENV 1
/* Necessary for getsid() */
#define _GNU_SOURCE 1
/* Name of package */
#define PACKAGE "hiawatha"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "hugo@leisink.net"
/* Define to the full name of this package. */
#define PACKAGE_NAME "Hiawatha"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "hiawatha"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "Hiawatha 6.10"
/* Version number of package */
#define VERSION "6.10"
/* Define to the version of this package. */
#define PACKAGE_VERSION "6.10"
/* directory for configurationfiles */
#define CONFIG_DIR "/cygdrive/c/Program Files/Hiawatha/config"
/* directory for logfiles */
#define LOG_DIR "/cygdrive/c/Program Files/Hiawatha/log"
/* directory for file uploading */
#define UPLOAD_DIR "/cygdrive/c/Program Files/Hiawatha/log"
/* directory for the pidfile */
#define PIDFILE_DIR "/cygdrive/c/Program Files/Hiawatha/log"
/* webroot directory */
#define WEBROOT_DIR "/cygdrive/c/wwwroot"
and run make