diff -Naur graphviz-2.44.1-orig/plugin/core/gvplugin_core.def graphviz-2.44.1/plugin/core/gvplugin_core.def
--- graphviz-2.44.1-orig/plugin/core/gvplugin_core.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/core/gvplugin_core.def	2020-10-30 13:16:53.437077800 +0300
@@ -0,0 +1,4 @@
+LIBRARY	"libgvplugin_core-6"
+EXPORTS
+gvplugin_core_LTX_library
+
diff -Naur graphviz-2.44.1-orig/plugin/core/Makefile.am graphviz-2.44.1/plugin/core/Makefile.am
--- graphviz-2.44.1-orig/plugin/core/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/core/Makefile.am	2020-10-30 13:16:53.441067200 +0300
@@ -51,7 +51,7 @@
 	$(AWK) -f $(top_srcdir)/awk/stringize.awk $(srcdir)/ps.txt > ps.h
 
 if WITH_WIN32
-libgvplugin_core_la_LDFLAGS += -no-undefined
+libgvplugin_core_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/core/gvplugin_core.def
 libgvplugin_core_la_LIBADD += $(top_builddir)/lib/cgraph/libcgraph.la
 endif
 
diff -Naur graphviz-2.44.1-orig/plugin/devil/gvplugin_devil.c graphviz-2.44.1/plugin/devil/gvplugin_devil.c
--- graphviz-2.44.1-orig/plugin/devil/gvplugin_devil.c	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/devil/gvplugin_devil.c	2020-10-30 13:16:53.447049600 +0300
@@ -20,4 +20,10 @@
     {(api_t)0, 0},
 };
 
-gvplugin_library_t gvplugin_devil_LTX_library = { "devil", apis };
+#ifdef _WIN32
+#   define GVPLUGIN_DEVIL_API __declspec(dllexport)
+#else
+#   define GVPLUGIN_DEVIL_API
+#endif
+
+GVPLUGIN_DEVIL_API gvplugin_library_t gvplugin_devil_LTX_library = { "devil", apis };
diff -Naur graphviz-2.44.1-orig/plugin/devil/gvplugin_devil.def graphviz-2.44.1/plugin/devil/gvplugin_devil.def
--- graphviz-2.44.1-orig/plugin/devil/gvplugin_devil.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/devil/gvplugin_devil.def	2020-10-30 13:16:53.451041300 +0300
@@ -0,0 +1,4 @@
+LIBRARY	"libgvplugin_devil-6"
+EXPORTS
+gvplugin_devil_LTX_library	
+
diff -Naur graphviz-2.44.1-orig/plugin/devil/Makefile.am graphviz-2.44.1/plugin/devil/Makefile.am
--- graphviz-2.44.1-orig/plugin/devil/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/devil/Makefile.am	2020-10-30 13:16:53.456024900 +0300
@@ -28,7 +28,7 @@
 libgvplugin_devil_la_LIBADD = @DEVIL_LIBS@
 
 if WITH_WIN32
-libgvplugin_devil_la_LDFLAGS += -no-undefined
+libgvplugin_devil_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/devil/gvplugin_devil.def
 endif
 
 if WITH_DARWIN9
diff -Naur graphviz-2.44.1-orig/plugin/dot_layout/gvplugin_dot_layout.def graphviz-2.44.1/plugin/dot_layout/gvplugin_dot_layout.def
--- graphviz-2.44.1-orig/plugin/dot_layout/gvplugin_dot_layout.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/dot_layout/gvplugin_dot_layout.def	2020-10-30 13:16:53.461012100 +0300
@@ -0,0 +1,4 @@
+LIBRARY	"libgvplugin_dot_layout-6"
+EXPORTS
+gvplugin_dot_layout_LTX_library
+
diff -Naur graphviz-2.44.1-orig/plugin/dot_layout/Makefile.am graphviz-2.44.1/plugin/dot_layout/Makefile.am
--- graphviz-2.44.1-orig/plugin/dot_layout/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/dot_layout/Makefile.am	2020-10-30 13:16:53.465001000 +0300
@@ -33,7 +34,7 @@
 	$(top_builddir)/lib/pathplan/libpathplan.la $(MATH_LIBS)
 
 if WITH_WIN32
-libgvplugin_dot_layout_la_LDFLAGS += -no-undefined
+libgvplugin_dot_layout_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/dot_layout/gvplugin_dot_layout.def
 libgvplugin_dot_layout_la_LIBADD += $(top_builddir)/lib/cgraph/libcgraph.la
 endif
 
diff -Naur graphviz-2.44.1-orig/plugin/gd/gvplugin_gd.def graphviz-2.44.1/plugin/gd/gvplugin_gd.def
--- graphviz-2.44.1-orig/plugin/gd/gvplugin_gd.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/gd/gvplugin_gd.def	2020-10-30 13:16:53.469991800 +0300
@@ -0,0 +1,4 @@
+LIBRARY	"libgvplugin_gd-6"
+EXPORTS
+gvplugin_gd_LTX_library
+
diff -Naur graphviz-2.44.1-orig/plugin/gd/Makefile.am graphviz-2.44.1/plugin/gd/Makefile.am
--- graphviz-2.44.1-orig/plugin/gd/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/gd/Makefile.am	2020-10-30 13:16:53.473949400 +0300
@@ -39,7 +39,7 @@
 libgvplugin_gd_la_DEPENDENCIES =  $(top_builddir)/lib/gvc/libgvc.la
 
 if WITH_WIN32
-libgvplugin_gd_la_LDFLAGS += -no-undefined
+libgvplugin_gd_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/gd/gvplugin_gd.def
 libgvplugin_gd_la_LIBADD += $(top_builddir)/lib/cgraph/libcgraph.la $(top_builddir)/lib/pathplan/libpathplan.la
 endif
 
diff -Naur graphviz-2.44.1-orig/plugin/gdiplus/gvplugin_gdiplus.def graphviz-2.44.1/plugin/gdiplus/gvplugin_gdiplus.def
--- graphviz-2.44.1-orig/plugin/gdiplus/gvplugin_gdiplus.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/gdiplus/gvplugin_gdiplus.def	2020-10-30 13:16:53.479959900 +0300
@@ -0,0 +1,4 @@
+LIBRARY	"libgvplugin_gdiplus-6"
+EXPORTS
+gvplugin_gdiplus_LTX_library
+
diff -Naur graphviz-2.44.1-orig/plugin/gdiplus/Makefile.am graphviz-2.44.1/plugin/gdiplus/Makefile.am
--- graphviz-2.44.1-orig/plugin/gdiplus/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/gdiplus/Makefile.am	2020-10-30 13:16:53.484947100 +0300
@@ -39,7 +39,7 @@
 libgvplugin_gdiplus_la_LIBADD = -lgdi32 -lole32 -lstdc++ -luuid $(top_builddir)/lib/gvc/libgvc.la
 
 if WITH_WIN32
-libgvplugin_gdiplus_la_LDFLAGS += -no-undefined
+libgvplugin_gdiplus_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/gdiplus/gvplugin_gdiplus.def
 endif
 
 if WITH_DARWIN9
diff -Naur graphviz-2.44.1-orig/plugin/gdk/gvplugin_gdk.c graphviz-2.44.1/plugin/gdk/gvplugin_gdk.c
--- graphviz-2.44.1-orig/plugin/gdk/gvplugin_gdk.c	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/gdk/gvplugin_gdk.c	2020-10-30 13:16:53.499878700 +0300
@@ -22,4 +22,10 @@
     {(api_t)0, 0},
 };
 
-gvplugin_library_t gvplugin_gdk_LTX_library = { "gdk", apis };
+#ifdef _WIN32
+#   define GVPLUGIN_GDK_API __declspec(dllexport)
+#else
+#   define GVPLUGIN_GDK_API
+#endif
+
+GVPLUGIN_GDK_API gvplugin_library_t gvplugin_gdk_LTX_library = { "gdk", apis };
diff -Naur graphviz-2.44.1-orig/plugin/gdk/gvplugin_gdk.def graphviz-2.44.1/plugin/gdk/gvplugin_gdk.def
--- graphviz-2.44.1-orig/plugin/gdk/gvplugin_gdk.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/gdk/gvplugin_gdk.def	2020-10-30 13:16:53.504892200 +0300
@@ -0,0 +1,5 @@
+LIBRARY	"libgvplugin_gdk-6"
+EXPORTS
+gvplugin_gdk_LTX_library	
+
+
diff -Naur graphviz-2.44.1-orig/plugin/gdk/Makefile.am graphviz-2.44.1/plugin/gdk/Makefile.am
--- graphviz-2.44.1-orig/plugin/gdk/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/gdk/Makefile.am	2020-10-30 13:16:53.512843200 +0300
@@ -34,7 +34,7 @@
 	$(top_builddir)/lib/gvc/libgvc.la @GDK_PIXBUF_LIBS@ @PANGOCAIRO_LIBS@ @GDK_LIBS@
 	
 if WITH_WIN32
-libgvplugin_gdk_la_LDFLAGS += -no-undefined
+libgvplugin_gdk_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/gdk/gvplugin_gdk.def
 endif
 
 if WITH_DARWIN9
diff -Naur graphviz-2.44.1-orig/plugin/glitz/gvplugin_glitz.c graphviz-2.44.1/plugin/glitz/gvplugin_glitz.c
--- graphviz-2.44.1-orig/plugin/glitz/gvplugin_glitz.c	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/glitz/gvplugin_glitz.c	2020-10-30 13:16:53.519852100 +0300
@@ -20,4 +20,10 @@
     {(api_t)0, 0},
 };
 
-gvplugin_library_t gvplugin_glitz_LTX_library = { "glitz", apis };
+#ifdef _WIN32
+#   define GVPLUGIN_GLITZ_API __declspec(dllexport)
+#else
+#   define GVPLUGIN_GLITZ_API
+#endif
+
+GVPLUGIN_GLITZ_API gvplugin_library_t gvplugin_glitz_LTX_library = { "glitz", apis };
diff -Naur graphviz-2.44.1-orig/plugin/glitz/gvplugin_glitz.def graphviz-2.44.1/plugin/glitz/gvplugin_glitz.def
--- graphviz-2.44.1-orig/plugin/glitz/gvplugin_glitz.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/glitz/gvplugin_glitz.def	2020-10-30 13:16:53.525843200 +0300
@@ -0,0 +1,5 @@
+LIBRARY	"libgvplugin_glitz-6"
+EXPORTS
+gvplugin_glitz_LTX_library	
+
+
diff -Naur graphviz-2.44.1-orig/plugin/glitz/Makefile.am graphviz-2.44.1/plugin/glitz/Makefile.am
--- graphviz-2.44.1-orig/plugin/glitz/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/glitz/Makefile.am	2020-10-30 13:16:53.532815900 +0300
@@ -30,7 +30,7 @@
 libgvplugin_glitz_la_LIBADD = @PANGOCAIRO_LIBS@ @GLITZ_LIBS@
 
 if WITH_WIN32
-libgvplugin_glitz_la_LDFLAGS += -no-undefined
+libgvplugin_glitz_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/glitz/gvplugin_glitz.def
 endif
 
 if WITH_DARWIN9
diff -Naur graphviz-2.44.1-orig/plugin/gs/gvplugin_gs.c graphviz-2.44.1/plugin/gs/gvplugin_gs.c
--- graphviz-2.44.1-orig/plugin/gs/gvplugin_gs.c	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/gs/gvplugin_gs.c	2020-10-30 13:16:53.538803400 +0300
@@ -20,4 +20,10 @@
     {(api_t)0, 0},
 };
 
-gvplugin_library_t gvplugin_gs_LTX_library = { "gs", apis };
+#ifdef _WIN32
+#   define GVPLUGIN_GS_API __declspec(dllexport)
+#else
+#   define GVPLUGIN_GS_API
+#endif
+
+GVPLUGIN_GS_API gvplugin_library_t gvplugin_gs_LTX_library = { "gs", apis };
diff -Naur graphviz-2.44.1-orig/plugin/gs/gvplugin_gs.def graphviz-2.44.1/plugin/gs/gvplugin_gs.def
--- graphviz-2.44.1-orig/plugin/gs/gvplugin_gs.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/gs/gvplugin_gs.def	2020-10-30 13:16:53.545752800 +0300
@@ -0,0 +1,5 @@
+LIBRARY	"libgvplugin_gs-6"
+EXPORTS
+gvplugin_gs_LTX_library	
+
+
diff -Naur graphviz-2.44.1-orig/plugin/gs/Makefile.am graphviz-2.44.1/plugin/gs/Makefile.am
--- graphviz-2.44.1-orig/plugin/gs/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/gs/Makefile.am	2020-10-30 13:16:53.551736600 +0300
@@ -31,7 +31,7 @@
 	$(top_builddir)/lib/gvc/libgvc.la $(PANGOCAIRO_LIBS) $(GS_LIBS)
 
 if WITH_WIN32
-libgvplugin_gs_la_LDFLAGS += -no-undefined
+libgvplugin_gs_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/gs/gvplugin_gs.def
 endif
 
 if WITH_DARWIN9
diff -Naur graphviz-2.44.1-orig/plugin/gtk/gvplugin_gtk.c graphviz-2.44.1/plugin/gtk/gvplugin_gtk.c
--- graphviz-2.44.1-orig/plugin/gtk/gvplugin_gtk.c	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/gtk/gvplugin_gtk.c	2020-10-30 13:16:53.557753800 +0300
@@ -20,4 +20,10 @@
     {(api_t)0, 0},
 };
 
-gvplugin_library_t gvplugin_gtk_LTX_library = { "gtk", apis };
+#ifdef _WIN32
+#   define GVPLUGIN_GTK_API __declspec(dllexport)
+#else
+#   define GVPLUGIN_GTK_API
+#endif
+
+GVPLUGIN_GTK_API gvplugin_library_t gvplugin_gtk_LTX_library = { "gtk", apis };
diff -Naur graphviz-2.44.1-orig/plugin/gtk/gvplugin_gtk.def graphviz-2.44.1/plugin/gtk/gvplugin_gtk.def
--- graphviz-2.44.1-orig/plugin/gtk/gvplugin_gtk.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/gtk/gvplugin_gtk.def	2020-10-30 13:16:53.563731400 +0300
@@ -0,0 +1,5 @@
+LIBRARY	"libgvplugin_gtk-6"
+EXPORTS
+gvplugin_gtk_LTX_library	
+
+
diff -Naur graphviz-2.44.1-orig/plugin/gtk/Makefile.am graphviz-2.44.1/plugin/gtk/Makefile.am
--- graphviz-2.44.1-orig/plugin/gtk/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/gtk/Makefile.am	2020-10-30 13:16:53.568710900 +0300
@@ -34,7 +34,7 @@
 libgvplugin_gtk_la_LIBADD = $(GTK_LIBS)
 
 if WITH_WIN32
-libgvplugin_gtk_la_LDFLAGS += -no-undefined
+libgvplugin_gtk_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/gtk/gvplugin_gtk.def
 endif
 
 if WITH_DARWIN9
diff -Naur graphviz-2.44.1-orig/plugin/lasi/gvplugin_lasi.c graphviz-2.44.1/plugin/lasi/gvplugin_lasi.c
--- graphviz-2.44.1-orig/plugin/lasi/gvplugin_lasi.c	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/lasi/gvplugin_lasi.c	2020-10-30 13:16:53.577666600 +0300
@@ -24,4 +24,10 @@
     {(api_t)0, 0},
 };
 
-gvplugin_library_t gvplugin_lasi_LTX_library = { "lasi", apis };
+#ifdef _WIN32
+#   define GVPLUGIN_LASI_API __declspec(dllexport)
+#else
+#   define GVPLUGIN_LASI_API
+#endif
+
+GVPLUGIN_LASI_API gvplugin_library_t gvplugin_lasi_LTX_library = { "lasi", apis };
diff -Naur graphviz-2.44.1-orig/plugin/lasi/gvplugin_lasi.def graphviz-2.44.1/plugin/lasi/gvplugin_lasi.def
--- graphviz-2.44.1-orig/plugin/lasi/gvplugin_lasi.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/lasi/gvplugin_lasi.def	2020-10-30 13:16:53.583710400 +0300
@@ -0,0 +1,5 @@
+LIBRARY	"libgvplugin_lasi-6"
+EXPORTS
+gvplugin_lasi_LTX_library	
+
+
diff -Naur graphviz-2.44.1-orig/plugin/lasi/Makefile.am graphviz-2.44.1/plugin/lasi/Makefile.am
--- graphviz-2.44.1-orig/plugin/lasi/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/lasi/Makefile.am	2020-10-30 13:16:53.589665900 +0300
@@ -38,7 +38,7 @@
 	$(AWK) -f $(top_srcdir)/awk/stringize.awk $(top_srcdir)/plugin/core/ps.txt > ps.h
 
 if WITH_WIN32
-libgvplugin_lasi_la_LDFLAGS += -no-undefined
+libgvplugin_lasi_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/lasi/gvplugin_lasi.def
 endif
 
 if WITH_DARWIN9
diff -Naur graphviz-2.44.1-orig/plugin/ming/gvplugin_ming.c graphviz-2.44.1/plugin/ming/gvplugin_ming.c
--- graphviz-2.44.1-orig/plugin/ming/gvplugin_ming.c	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/ming/gvplugin_ming.c	2020-10-30 13:16:53.597644400 +0300
@@ -22,4 +22,10 @@
     {(api_t)0, 0},
 };
 
-gvplugin_library_t gvplugin_ming_LTX_library = { "ming", apis };
+#ifdef _WIN32
+#   define GVPLUGIN_MING_API __declspec(dllexport)
+#else
+#   define GVPLUGIN_MING_API
+#endif
+
+GVPLUGIN_MING_API gvplugin_library_t gvplugin_ming_LTX_library = { "ming", apis };
diff -Naur graphviz-2.44.1-orig/plugin/ming/gvplugin_ming.def graphviz-2.44.1/plugin/ming/gvplugin_ming.def
--- graphviz-2.44.1-orig/plugin/ming/gvplugin_ming.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/ming/gvplugin_ming.def	2020-10-30 13:16:53.603659500 +0300
@@ -0,0 +1,5 @@
+LIBRARY	"gvplugin_ming-6"
+EXPORTS
+gvplugin_ming_LTX_library	
+
+
diff -Naur graphviz-2.44.1-orig/plugin/ming/Makefile.am graphviz-2.44.1/plugin/ming/Makefile.am
--- graphviz-2.44.1-orig/plugin/ming/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/ming/Makefile.am	2020-10-30 13:16:53.608642900 +0300
@@ -31,7 +31,7 @@
 libgvplugin_ming_la_LIBADD = @MING_LIBS@ @MATH_LIBS@
 
 if WITH_WIN32
-libgvplugin_ming_la_LDFLAGS += -no-undefined
+libgvplugin_ming_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/ming/gvplugin_ming.def
 endif
 
 if WITH_DARWIN9
diff -Naur graphviz-2.44.1-orig/plugin/neato_layout/gvplugin_neato_layout.def graphviz-2.44.1/plugin/neato_layout/gvplugin_neato_layout.def
--- graphviz-2.44.1-orig/plugin/neato_layout/gvplugin_neato_layout.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/neato_layout/gvplugin_neato_layout.def	2020-10-30 13:16:53.613628200 +0300
@@ -0,0 +1,4 @@
+LIBRARY	"libgvplugin_neato_layout-6"
+EXPORTS
+gvplugin_neato_layout_LTX_library
+
diff -Naur graphviz-2.44.1-orig/plugin/pango/gvplugin_pango.def graphviz-2.44.1/plugin/pango/gvplugin_pango.def
--- graphviz-2.44.1-orig/plugin/pango/gvplugin_pango.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/pango/gvplugin_pango.def	2020-10-30 13:16:53.622607400 +0300
@@ -0,0 +1,5 @@
+LIBRARY	"libgvplugin_pango-6"
+EXPORTS
+gvplugin_pango_LTX_library	
+
+
diff -Naur graphviz-2.44.1-orig/plugin/pango/Makefile.am graphviz-2.44.1/plugin/pango/Makefile.am
--- graphviz-2.44.1-orig/plugin/pango/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/pango/Makefile.am	2020-10-30 13:16:53.627710100 +0300
@@ -35,7 +35,7 @@
 	$(top_builddir)/lib/gvc/libgvc.la @PANGOCAIRO_LIBS@ @PANGOFT2_LIBS@ @MATH_LIBS@
 
 if WITH_WIN32
-libgvplugin_pango_la_LDFLAGS += -no-undefined
+libgvplugin_pango_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/pango/gvplugin_pango.def
 endif
 
 if WITH_DARWIN9
diff -Naur graphviz-2.44.1-orig/plugin/poppler/gvplugin_poppler.c graphviz-2.44.1/plugin/poppler/gvplugin_poppler.c
--- graphviz-2.44.1-orig/plugin/poppler/gvplugin_poppler.c	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/poppler/gvplugin_poppler.c	2020-10-30 13:16:53.632215600 +0300
@@ -20,4 +20,10 @@
     {(api_t)0, 0},
 };
 
-gvplugin_library_t gvplugin_poppler_LTX_library = { "poppler", apis };
+#ifdef _WIN32
+#   define GVPLUGIN_POPPLER_API __declspec(dllexport)
+#else
+#   define GVPLUGIN_POPPLER_API
+#endif
+
+GVPLUGIN_POPPLER_API gvplugin_library_t gvplugin_poppler_LTX_library = { "poppler", apis };
diff -Naur graphviz-2.44.1-orig/plugin/poppler/gvplugin_poppler.def graphviz-2.44.1/plugin/poppler/gvplugin_poppler.def
--- graphviz-2.44.1-orig/plugin/poppler/gvplugin_poppler.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/poppler/gvplugin_poppler.def	2020-10-30 13:16:53.636235900 +0300
@@ -0,0 +1,5 @@
+LIBRARY	"libgvplugin_poppler-6"
+EXPORTS
+gvplugin_poppler_LTX_library	
+
+
diff -Naur graphviz-2.44.1-orig/plugin/poppler/Makefile.am graphviz-2.44.1/plugin/poppler/Makefile.am
--- graphviz-2.44.1-orig/plugin/poppler/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/poppler/Makefile.am	2020-10-30 13:16:53.641231500 +0300
@@ -31,7 +31,7 @@
 	$(top_builddir)/lib/gvc/libgvc.la $(PANGOCAIRO_LIBS) $(POPPLER_LIBS)
 
 if WITH_WIN32
-libgvplugin_poppler_la_LDFLAGS += -no-undefined
+libgvplugin_poppler_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/poppler/gvplugin_poppler.def
 endif
 
 if WITH_DARWIN9
diff -Naur graphviz-2.44.1-orig/plugin/rsvg/gvplugin_rsvg.c graphviz-2.44.1/plugin/rsvg/gvplugin_rsvg.c
--- graphviz-2.44.1-orig/plugin/rsvg/gvplugin_rsvg.c	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/rsvg/gvplugin_rsvg.c	2020-10-30 13:16:53.647203800 +0300
@@ -19,9 +19,10 @@
     {API_loadimage, gvloadimage_rsvg_types},
     {(api_t)0, 0},
 };
-#ifdef GVDLL
-__declspec(dllexport) gvplugin_library_t gvplugin_rsvg_LTX_library = { "rsvg", apis };
+#ifdef _WIN32
+#   define GVPLUGIN_RSVG_API __declspec(dllexport)
 #else
-gvplugin_library_t gvplugin_rsvg_LTX_library = { "rsvg", apis };
+#   define GVPLUGIN_RSVG_API
 #endif
 
+GVPLUGIN_RSVG_API gvplugin_library_t gvplugin_rsvg_LTX_library = { "rsvg", apis };
diff -Naur graphviz-2.44.1-orig/plugin/rsvg/gvplugin_rsvg.def graphviz-2.44.1/plugin/rsvg/gvplugin_rsvg.def
--- graphviz-2.44.1-orig/plugin/rsvg/gvplugin_rsvg.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/rsvg/gvplugin_rsvg.def	2020-10-30 13:16:53.654157500 +0300
@@ -0,0 +1,5 @@
+LIBRARY	"libgvplugin_rsvg-6"
+EXPORTS
+gvplugin_rsvg_LTX_library	
+
+
diff -Naur graphviz-2.44.1-orig/plugin/rsvg/Makefile.am graphviz-2.44.1/plugin/rsvg/Makefile.am
--- graphviz-2.44.1-orig/plugin/rsvg/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/rsvg/Makefile.am	2020-10-30 13:16:53.662163400 +0300
@@ -30,7 +30,7 @@
 	@RSVG_LIBS@ @PANGOCAIRO_LIBS@ @XRENDER_LIBS@
 
 if WITH_WIN32
-libgvplugin_rsvg_la_LDFLAGS += -no-undefined
+libgvplugin_rsvg_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/rsvg/gvplugin_rsvg.def
 endif
 
 if WITH_DARWIN9
diff -Naur graphviz-2.44.1-orig/plugin/visio/gvplugin_visio.c graphviz-2.44.1/plugin/visio/gvplugin_visio.c
--- graphviz-2.44.1-orig/plugin/visio/gvplugin_visio.c	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/visio/gvplugin_visio.c	2020-10-30 13:16:53.673106100 +0300
@@ -28,16 +28,10 @@
     {(api_t)0, 0},
 };
 
-#ifdef WIN32_DLL   /*visual studio*/
-#ifndef GVPLUGIN_VISIO_EXPORTS
-__declspec(dllimport) gvplugin_library_t gvplugin_visio_LTX_library = { "visio", apis };
+#ifdef _WIN32
+#   define GVPLUGIN_VISIO_API __declspec(dllexport)
 #else
-__declspec(dllexport) gvplugin_library_t gvplugin_visio_LTX_library = { "visio", apis };
-#endif
-#else /*end visual studio*/
-#ifdef GVDLL
-__declspec(dllexport) gvplugin_library_t gvplugin_visio_LTX_library = { "visio", apis };
-#else
-gvplugin_library_t gvplugin_visio_LTX_library = { "visio", apis };
-#endif
+#   define GVPLUGIN_VISIO_API
 #endif
+
+GVPLUGIN_VISIO_API gvplugin_library_t gvplugin_visio_LTX_library = { "visio", apis };
diff -Naur graphviz-2.44.1-orig/plugin/visio/gvplugin_visio.def graphviz-2.44.1/plugin/visio/gvplugin_visio.def
--- graphviz-2.44.1-orig/plugin/visio/gvplugin_visio.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/visio/gvplugin_visio.def	2020-10-30 13:16:53.682109400 +0300
@@ -0,0 +1,5 @@
+LIBRARY	"libgvplugin_visio-6"
+EXPORTS
+gvplugin_visio_LTX_library	
+
+
diff -Naur graphviz-2.44.1-orig/plugin/visio/Makefile.am graphviz-2.44.1/plugin/visio/Makefile.am
--- graphviz-2.44.1-orig/plugin/visio/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/visio/Makefile.am	2020-10-30 13:16:53.690088300 +0300
@@ -34,7 +34,7 @@
 	$(top_builddir)/lib/gvc/libgvc.la @VISIO_LIBS@ 
 
 if WITH_WIN32
-libgvplugin_visio_la_LDFLAGS += -no-undefined
+libgvplugin_visio_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/visio/gvplugin_visio.def
 endif
 
 if WITH_DARWIN9
diff -Naur graphviz-2.44.1-orig/plugin/webp/gvplugin_webp.c graphviz-2.44.1/plugin/webp/gvplugin_webp.c
--- graphviz-2.44.1-orig/plugin/webp/gvplugin_webp.c	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/webp/gvplugin_webp.c	2020-10-30 13:16:53.710033300 +0300
@@ -22,4 +22,10 @@
     {(api_t)0, 0},
 };
 
-gvplugin_library_t gvplugin_webp_LTX_library = { "webp", apis };
+#ifdef _WIN32
+#   define GVPLUGIN_WEBP_API __declspec(dllexport)
+#else
+#   define GVPLUGIN_WEBP_API
+#endif
+
+GVPLUGIN_WEBP_API gvplugin_library_t gvplugin_webp_LTX_library = { "webp", apis };
diff -Naur graphviz-2.44.1-orig/plugin/webp/gvplugin_webp.def graphviz-2.44.1/plugin/webp/gvplugin_webp.def
--- graphviz-2.44.1-orig/plugin/webp/gvplugin_webp.def	1970-01-01 03:00:00.000000000 +0300
+++ graphviz-2.44.1/plugin/webp/gvplugin_webp.def	2020-10-30 13:16:53.717983100 +0300
@@ -0,0 +1,5 @@
+LIBRARY	"libgvplugin_webp-6"
+EXPORTS
+gvplugin_webp_LTX_library	
+
+
diff -Naur graphviz-2.44.1-orig/plugin/webp/Makefile.am graphviz-2.44.1/plugin/webp/Makefile.am
--- graphviz-2.44.1-orig/plugin/webp/Makefile.am	2020-06-29 11:47:18.000000000 +0300
+++ graphviz-2.44.1/plugin/webp/Makefile.am	2020-10-30 13:16:53.725982900 +0300
@@ -29,7 +29,7 @@
 libgvplugin_webp_la_LIBADD = @WEBP_LIBS@ @PANGOCAIRO_LIBS@
 
 if WITH_WIN32
-libgvplugin_webp_la_LDFLAGS += -no-undefined
+libgvplugin_webp_la_LDFLAGS += -no-undefined -export-symbols $(top_srcdir)/plugin/webp/gvplugin_webp.def
 endif
 
 if WITH_DARWIN9
