diff --git a/configure.ac b/configure.ac
index 5060e255127c990e22197f975fd481642b1245b5_Y29uZmlndXJlLmFj..1f78cb6ac0475ca532d1db12ed57d1f821c807b8_Y29uZmlndXJlLmFj 100644
--- a/configure.ac
+++ b/configure.ac
@@ -505,6 +505,21 @@
 AC_SUBST(XSLT_LIBS)
 AC_SUBST(XSLT_PRIVATE_LIBS)
 
+LIBXSLT_CFLAGS=""
+case ${host} in
+    *-*-mingw* | *-*-cygwin* | *-*-msvc* )
+        # If the host is Windows, and shared libraries are disabled, we
+        # need to add -DLIBXML_STATIC to EXTRA_CFLAGS in order for linking to
+        # work properly (without it, xmlexports.h would force the use of
+        # DLL imports, which obviously aren't present in a static
+        # library).
+        if test "x$enable_shared" = "xno"; then
+           LIBXSLT_CFLAGS="$LIBXSLT_CFLAGS -DLIBXSLT_STATIC -DLIBEXSLT_STATIC"
+        fi
+        ;;
+esac
+AC_SUBST(LIBXSLT_CFLAGS)
+
 EXSLT_LIBDIR='-L${libdir}'
 EXSLT_INCLUDEDIR='-I${includedir}'
 EXSLT_PRIVATE_LIBS="$XSLT_PRIVATE_LIBS $LIBGCRYPT_LIBS"
diff --git a/libexslt/Makefile.am b/libexslt/Makefile.am
index 5060e255127c990e22197f975fd481642b1245b5_bGliZXhzbHQvTWFrZWZpbGUuYW0=..1f78cb6ac0475ca532d1db12ed57d1f821c807b8_bGliZXhzbHQvTWFrZWZpbGUuYW0= 100644
--- a/libexslt/Makefile.am
+++ b/libexslt/Makefile.am
@@ -2,7 +2,7 @@
 	      -I$(top_builddir) -I$(top_builddir)/libxslt \
 	      -I$(top_builddir)/libexslt
 
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBXML_CFLAGS)
+AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBXML_CFLAGS) $(LIBXSLT_CFLAGS)
 
 lib_LTLIBRARIES = libexslt.la
 
diff --git a/libxslt/Makefile.am b/libxslt/Makefile.am
index 5060e255127c990e22197f975fd481642b1245b5_bGlieHNsdC9NYWtlZmlsZS5hbQ==..1f78cb6ac0475ca532d1db12ed57d1f821c807b8_bGlieHNsdC9NYWtlZmlsZS5hbQ== 100644
--- a/libxslt/Makefile.am
+++ b/libxslt/Makefile.am
@@ -1,6 +1,6 @@
 AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/libxslt
 
-AM_CFLAGS = $(LIBXML_CFLAGS)
+AM_CFLAGS = $(LIBXML_CFLAGS) $(LIBXSLT_CFLAGS)
 
 lib_LTLIBRARIES = libxslt.la
 
diff --git a/python/Makefile.am b/python/Makefile.am
index 5060e255127c990e22197f975fd481642b1245b5_cHl0aG9uL01ha2VmaWxlLmFt..1f78cb6ac0475ca532d1db12ed57d1f821c807b8_cHl0aG9uL01ha2VmaWxlLmFt 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -19,7 +19,7 @@
 	-I$(top_srcdir)/libxslt \
 	-I$(top_srcdir) \
 	-I../libexslt \
-	$(PYTHON_CFLAGS) $(LIBXML_CFLAGS)
+	$(PYTHON_CFLAGS) $(LIBXML_CFLAGS) $(LIBXSLT_CFLAGS)
 libxsltmod_la_SOURCES = libxslt.c types.c
 nodist_libxsltmod_la_SOURCES = libxslt-py.c
 libxsltmod_la_LIBADD = \
diff --git a/tests/fuzz/Makefile.am b/tests/fuzz/Makefile.am
index 5060e255127c990e22197f975fd481642b1245b5_dGVzdHMvZnV6ei9NYWtlZmlsZS5hbQ==..1f78cb6ac0475ca532d1db12ed57d1f821c807b8_dGVzdHMvZnV6ei9NYWtlZmlsZS5hbQ== 100644
--- a/tests/fuzz/Makefile.am
+++ b/tests/fuzz/Makefile.am
@@ -6,7 +6,7 @@
 EXTRA_DIST = xpath.dict xpath.xml xslt.dict xslt.xml seed
 CLEANFILES = $(EXTRA_PROGRAMS)
 AM_CPPFLAGS = -I$(top_srcdir)
-AM_CFLAGS = $(LIBXML_CFLAGS)
+AM_CFLAGS = $(LIBXML_CFLAGS) $(LIBXSLT_CFLAGS)
 DEPENDENCIES = $(LIBXSLT_LIBS)
 LDADD = $(LIBXSLT_LIBS) \
         $(LIBXML_LIBS) $(EXTRA_LIBS) $(LIBM)
diff --git a/xslt-config.in b/xslt-config.in
index 5060e255127c990e22197f975fd481642b1245b5_eHNsdC1jb25maWcuaW4=..1f78cb6ac0475ca532d1db12ed57d1f821c807b8_eHNsdC1jb25maWcuaW4= 100644
--- a/xslt-config.in
+++ b/xslt-config.in
@@ -74,7 +74,7 @@
 	;;
 
     --cflags)
-        cflags="@LIBXML_CFLAGS@"
+        cflags="@LIBXML_CFLAGS@ @LIBXSLT_CFLAGS@"
         if test "$includedir" != "/usr/include"; then
             cflags="$cflags @XSLT_INCLUDEDIR@"
         fi
diff --git a/xsltproc/Makefile.am b/xsltproc/Makefile.am
index 5060e255127c990e22197f975fd481642b1245b5_eHNsdHByb2MvTWFrZWZpbGUuYW0=..1f78cb6ac0475ca532d1db12ed57d1f821c807b8_eHNsdHByb2MvTWFrZWZpbGUuYW0= 100644
--- a/xsltproc/Makefile.am
+++ b/xsltproc/Makefile.am
@@ -7,7 +7,7 @@
 
 noinst_PROGRAMS=testThreads
 
-AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBXML_CFLAGS)
+AM_CFLAGS = $(LIBGCRYPT_CFLAGS) $(LIBXML_CFLAGS) $(LIBXSLT_CFLAGS)
 
 xsltproc_SOURCES = xsltproc.c
 xsltproc_LDFLAGS =