diff -Naur cpptest-2.0.0.orig/configure.ac cpptest-2.0.0/configure.ac
--- cpptest-2.0.0.orig/configure.ac	2019-01-24 20:23:49.889712900 -0500
+++ cpptest-2.0.0/configure.ac	2019-01-24 20:27:30.460535800 -0500
@@ -97,6 +98,14 @@
 AC_PROG_MAKE_SET
 LT_INIT
 
+## Toggle build options specific to Windows
+case "${host}" in
+	*-*-mingw*) WIN32="yes" ;;
+	*cygwin*) WIN32="yes" ;;
+	*) WIN32="no" ;;
+esac
+AM_CONDITIONAL([WIN32], test "$WIN32" = "yes")
+
 if test "$enable_doc" = "yes"; then
 	AC_CHECK_PROG(x_doxygen, doxygen, yes, no)
 	if test "$x_doxygen" = "no"; then
diff -Naur cpptest-2.0.0.orig/src/collectoroutput.cpp cpptest-2.0.0/src/collectoroutput.cpp
--- cpptest-2.0.0.orig/src/collectoroutput.cpp	2019-01-24 20:23:49.920950300 -0500
+++ cpptest-2.0.0/src/collectoroutput.cpp	2019-01-24 20:29:14.991251700 -0500
@@ -24,7 +24,7 @@
 //
 // ---
 
-#if (defined(__WIN32__) || defined(WIN32))
+#if (defined(__WIN32__) || defined(WIN32)) && not defined __MINGW32__
 # include "winconfig.h"
 #else
 # include "config.h"
diff -Naur cpptest-2.0.0.orig/src/htmloutput.cpp cpptest-2.0.0/src/htmloutput.cpp
--- cpptest-2.0.0.orig/src/htmloutput.cpp	2019-01-24 20:23:49.920950300 -0500
+++ cpptest-2.0.0/src/htmloutput.cpp	2019-01-24 20:29:26.434984600 -0500
@@ -27,7 +27,7 @@
 #include <algorithm>
 #include <sstream>
 
-#if (defined(__WIN32__) || defined(WIN32))
+#if (defined(__WIN32__) || defined(WIN32)) && not defined __MINGW32__
 # include "winconfig.h"
 #else
 # include "config.h"
diff -Naur cpptest-2.0.0.orig/src/Makefile.am cpptest-2.0.0/src/Makefile.am
--- cpptest-2.0.0.orig/src/Makefile.am	2019-01-24 20:23:49.920950300 -0500
+++ cpptest-2.0.0/src/Makefile.am	2019-01-24 20:28:04.053004900 -0500
@@ -35,6 +35,10 @@
 
 libcpptest_la_LDFLAGS	= -version-info $(LT_VERSION)
 
+if WIN32
+libcpptest_la_LDFLAGS += -no-undefined
+endif
+
 libcpptest_la_SOURCES	= \
 	collectoroutput.cpp \
 	compileroutput.cpp \
diff -Naur cpptest-2.0.0.orig/src/missing.cpp cpptest-2.0.0/src/missing.cpp
--- cpptest-2.0.0.orig/src/missing.cpp	2019-01-24 20:23:49.920950300 -0500
+++ cpptest-2.0.0/src/missing.cpp	2019-01-24 20:29:34.648405400 -0500
@@ -24,7 +24,7 @@
 //
 // ---
 
-#if (defined(__WIN32__) || defined(WIN32))
+#if (defined(__WIN32__) || defined(WIN32)) && not defined __MINGW32__
 # include "winconfig.h"
 #else
 # include "config.h"
diff -Naur cpptest-2.0.0.orig/src/missing.h cpptest-2.0.0/src/missing.h
--- cpptest-2.0.0.orig/src/missing.h	2019-01-24 20:23:49.920950300 -0500
+++ cpptest-2.0.0/src/missing.h	2019-01-24 20:29:44.409713400 -0500
@@ -27,7 +27,7 @@
 #ifndef CPPTEST_MISSING_H
 #define CPPTEST_MISSING_H
 
-#if (defined(__WIN32__) || defined(WIN32))
+#if (defined(__WIN32__) || defined(WIN32)) && not defined __MINGW32__
 # include "winconfig.h"
 #else
 # include "config.h"
diff -Naur cpptest-2.0.0.orig/src/suite.cpp cpptest-2.0.0/src/suite.cpp
--- cpptest-2.0.0.orig/src/suite.cpp	2019-01-24 20:23:49.920950300 -0500
+++ cpptest-2.0.0/src/suite.cpp	2019-01-24 20:29:52.340840900 -0500
@@ -30,7 +30,7 @@
 #include <functional>
 #include <numeric>
 
-#if (defined(__WIN32__) || defined(WIN32))
+#if (defined(__WIN32__) || defined(WIN32)) && not defined __MINGW32__
 # include "winconfig.h"
 #else
 # include "config.h"
diff -Naur cpptest-2.0.0.orig/src/textoutput.cpp cpptest-2.0.0/src/textoutput.cpp
--- cpptest-2.0.0.orig/src/textoutput.cpp	2019-01-24 20:23:49.920950300 -0500
+++ cpptest-2.0.0/src/textoutput.cpp	2019-01-24 20:30:02.914343600 -0500
@@ -26,7 +26,7 @@
 
 #include <algorithm>
 
-#if (defined(__WIN32__) || defined(WIN32))
+#if (defined(__WIN32__) || defined(WIN32)) && not defined __MINGW32__
 # include "winconfig.h"
 #else
 # include "config.h"
diff -Naur cpptest-2.0.0.orig/src/time.cpp cpptest-2.0.0/src/time.cpp
--- cpptest-2.0.0.orig/src/time.cpp	2019-01-24 20:23:49.920950300 -0500
+++ cpptest-2.0.0/src/time.cpp	2019-01-24 20:30:09.343893200 -0500
@@ -24,7 +24,7 @@
 //
 // ---
 
-#if (defined(__WIN32__) || defined(WIN32))
+#if (defined(__WIN32__) || defined(WIN32)) && not defined __MINGW32__
 # include "winconfig.h"
 #else
 # include "config.h"
diff -Naur cpptest-2.0.0.orig/src/utils.cpp cpptest-2.0.0/src/utils.cpp
--- cpptest-2.0.0.orig/src/utils.cpp	2019-01-24 20:23:49.920950300 -0500
+++ cpptest-2.0.0/src/utils.cpp	2019-01-24 20:30:15.008283800 -0500
@@ -25,7 +25,7 @@
 // ---
 
 
-#if (defined(__WIN32__) || defined(WIN32))
+#if (defined(__WIN32__) || defined(WIN32)) && not defined __MINGW32__
 # include "winconfig.h"
 #else
 # include "config.h"
