diff -druN src.orig/cblas/Makefile.am src/cblas/Makefile.am
--- src.orig/cblas/Makefile.am	2010-12-26 18:57:08.000000000 +0100
+++ src/cblas/Makefile.am	2013-02-04 22:25:04.567375454 +0100
@@ -1,10 +1,5 @@
 lib_LTLIBRARIES = libgslcblas.la
-libgslcblas_la_LDFLAGS = -version-info $(GSL_LT_CBLAS_VERSION)
-
-MINGW32_HOST = @MINGW32_HOST@
-if MINGW32_HOST
-libgslcblas_la_LDFLAGS += -no-undefined
-endif
+libgslcblas_la_LDFLAGS = $(GSLCBLAS_LDFLAGS) -version-info $(GSL_LT_CBLAS_VERSION)
 
 pkginclude_HEADERS = gsl_cblas.h
 
diff -druN src.orig/configure.ac src/configure.ac
--- src.orig/configure.ac	2011-05-04 23:09:27.000000000 +0200
+++ src/configure.ac	2013-02-04 22:19:40.000000000 +0100
@@ -91,7 +91,11 @@
 AC_PROG_CPP
 AC_PROG_INSTALL
 AC_PROG_LN_S
-AC_PROG_LIBTOOL
+
+dnl AC_PROG_LIBTOOL is deprecated
+dnl LT_INIT should now be used
+dnl win32-dll option is for Windows support
+LT_INIT([win32-dll])
 
 dnl Check compiler features
 AC_TYPE_SIZE_T
@@ -103,7 +107,7 @@
 GSL_CFLAGS="-I$includedir"
 GSL_LIBS="-L$libdir -lgsl"
 dnl macro from libtool - can be replaced with LT_LIB_M when we require libtool 2
-AC_CHECK_LIBM
+LT_LIB_M
 GSL_LIBM=$LIBM
 
 AC_SUBST(GSL_CFLAGS)
@@ -147,13 +151,19 @@
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 
-case "$host_os" in
-     *mingw*)
-	MINGW=true
-	;;
+case $host in
+  *-*-cygwin* | *-*-mingw* )
+  if test "$enable_shared" = yes; then
+    GSLCBLAS_LDFLAGS="$GSLCBLAS_LDFLAGS -no-undefined"
+    GSL_LDFLAGS="$GSL_LDFLAGS -no-undefined"
+    GSL_LIBADD="cblas/libgslcblas.la"
+  fi
+  ;;
 esac
 
-AM_CONDITIONAL(MINGW32_HOST, test "$MINGW" = "true")
+AC_SUBST(GSLCBLAS_LDFLAGS)
+AC_SUBST(GSL_LDFLAGS)
+AC_SUBST(GSL_LIBADD)
 
 dnl Checks for library functions.
 
diff -druN src.orig/Makefile.am src/Makefile.am
--- src.orig/Makefile.am	2011-04-14 17:13:48.000000000 +0200
+++ src/Makefile.am	2013-02-04 21:38:48.056983900 +0100
@@ -19,16 +19,10 @@
 
 lib_LTLIBRARIES = libgsl.la
 libgsl_la_SOURCES = version.c
-libgsl_la_LIBADD = $(SUBLIBS)
-libgsl_la_LDFLAGS = -version-info $(GSL_LT_VERSION)
+libgsl_la_LIBADD = $(GSL_LIBADD) $(SUBLIBS)
+libgsl_la_LDFLAGS = $(GSL_LDFLAGS) -version-info $(GSL_LT_VERSION)
 noinst_HEADERS = templates_on.h templates_off.h build.h
 
-MINGW32_HOST = @MINGW32_HOST@
-if MINGW32_HOST
-libgsl_la_LIBADD += cblas/libgslcblas.la
-libgsl_la_LDFLAGS += -no-undefined
-endif
-
 m4datadir = $(datadir)/aclocal
 m4data_DATA = gsl.m4
 
