diff -Naur lftp-4.8.4-orig/build-aux/config.guess lftp-4.8.4/build-aux/config.guess
--- lftp-4.8.4-orig/build-aux/config.guess	2016-06-28 16:40:13.000000000 +0300
+++ lftp-4.8.4/build-aux/config.guess	2018-08-02 10:41:35.272307200 +0300
@@ -867,6 +867,9 @@
     amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
 	echo x86_64-unknown-cygwin
 	exit ;;
+    amd64:MSYS*:*:* | x86_64:MSYS*:*:*)
+	echo x86_64-unknown-msys
+	exit ;;
     p*:CYGWIN*:*)
 	echo powerpcle-unknown-cygwin
 	exit ;;
diff -Naur lftp-4.8.4-orig/build-aux/config.rpath lftp-4.8.4/build-aux/config.rpath
--- lftp-4.8.4-orig/build-aux/config.rpath	2018-08-01 10:27:12.000000000 +0300
+++ lftp-4.8.4/build-aux/config.rpath	2018-08-02 10:41:08.019059300 +0300
@@ -57,7 +57,7 @@
     aix*)
       wl='-Wl,'
       ;;
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
+    mingw* | cygwin* | msys* | pw32* | os2* | cegcc*)
       ;;
     hpux9* | hpux10* | hpux11*)
       wl='-Wl,'
@@ -149,7 +149,7 @@
 hardcode_minus_L=no
 
 case "$host_os" in
-  cygwin* | mingw* | pw32* | cegcc*)
+  cygwin* | msys* | mingw* | pw32* | cegcc*)
     # FIXME: the MSVC++ port hasn't been tested in a loooong time
     # When not using gcc, we currently assume that we are using
     # Microsoft Visual C++.
@@ -198,7 +198,7 @@
         ld_shlibs=no
       fi
       ;;
-    cygwin* | mingw* | pw32* | cegcc*)
+    cygwin* | msys* | mingw* | pw32* | cegcc*)
       # hardcode_libdir_flag_spec is actually meaningless, as there is
       # no search path for DLLs.
       hardcode_libdir_flag_spec='-L$libdir'
@@ -348,7 +348,7 @@
       ;;
     bsdi[45]*)
       ;;
-    cygwin* | mingw* | pw32* | cegcc*)
+    cygwin* | msys* | mingw* | pw32* | cegcc*)
       # When not using gcc, we currently assume that we are using
       # Microsoft Visual C++.
       # hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -533,7 +533,7 @@
   bsdi[45]*)
     library_names_spec='$libname$shrext'
     ;;
-  cygwin* | mingw* | pw32* | cegcc*)
+  cygwin* | msys* | mingw* | pw32* | cegcc*)
     shrext=.dll
     library_names_spec='$libname.dll.a $libname.lib'
     ;;
diff -Naur lftp-4.8.4-orig/m4/btowc.m4 lftp-4.8.4/m4/btowc.m4
--- lftp-4.8.4-orig/m4/btowc.m4	2018-07-31 14:04:57.000000000 +0300
+++ lftp-4.8.4/m4/btowc.m4	2018-08-02 10:36:27.378359700 +0300
@@ -49,7 +49,7 @@
 changequote(,)dnl
            case "$host_os" in
                       # Guess no on Cygwin.
-             cygwin*) gl_cv_func_btowc_nul="guessing no" ;;
+             cygwin* | msys*) gl_cv_func_btowc_nul="guessing no" ;;
                       # Guess yes on native Windows.
              mingw*)  gl_cv_func_btowc_nul="guessing yes" ;;
                       # Guess yes otherwise.
diff -Naur lftp-4.8.4-orig/m4/double-slash-root.m4 lftp-4.8.4/m4/double-slash-root.m4
--- lftp-4.8.4-orig/m4/double-slash-root.m4	2018-07-31 14:04:58.000000000 +0300
+++ lftp-4.8.4/m4/double-slash-root.m4	2018-08-02 10:42:56.548450000 +0300
@@ -16,7 +16,7 @@
         # special semantics and is distinct from /, please report it to
         # <bug-gnulib@gnu.org>.
         case $host in
-          *-cygwin | i370-ibm-openedition)
+          *-cygwin | *-msys | i370-ibm-openedition)
             gl_cv_double_slash_root=yes ;;
           *)
             # Be optimistic and assume that / and // are the same when we
diff -Naur lftp-4.8.4-orig/m4/dup2.m4 lftp-4.8.4/m4/dup2.m4
--- lftp-4.8.4-orig/m4/dup2.m4	2018-07-31 14:04:58.000000000 +0300
+++ lftp-4.8.4/m4/dup2.m4	2018-08-02 10:36:27.409559800 +0300
@@ -70,6 +70,8 @@
            gl_cv_func_dup2_works="guessing no" ;;
          cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
            gl_cv_func_dup2_works="guessing no" ;;
+         msys*) # on msys 1.5.x, dup2(1,1) returns 0
+           gl_cv_func_dup2_works="guessing no" ;;
          aix* | freebsd*)
                  # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE,
                  # not EBADF.
diff -Naur lftp-4.8.4-orig/m4/fcntl.m4 lftp-4.8.4/m4/fcntl.m4
--- lftp-4.8.4-orig/m4/fcntl.m4	2018-07-31 14:04:58.000000000 +0300
+++ lftp-4.8.4/m4/fcntl.m4	2018-08-02 10:42:30.200003700 +0300
@@ -69,7 +69,7 @@
          [gl_cv_func_fcntl_f_dupfd_works=yes],
          [gl_cv_func_fcntl_f_dupfd_works=no],
          [case $host_os in
-            aix* | cygwin* | haiku*)
+            aix* | cygwin* | msys* | haiku*)
                gl_cv_func_fcntl_f_dupfd_works="guessing no" ;;
             *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;;
           esac])])
diff -Naur lftp-4.8.4-orig/m4/getdtablesize.m4 lftp-4.8.4/m4/getdtablesize.m4
--- lftp-4.8.4-orig/m4/getdtablesize.m4	2018-07-31 14:04:58.000000000 +0300
+++ lftp-4.8.4/m4/getdtablesize.m4	2018-08-02 10:36:27.440759800 +0300
@@ -39,7 +39,7 @@
              [gl_cv_func_getdtablesize_works=yes],
              [gl_cv_func_getdtablesize_works=no],
              [case "$host_os" in
-                cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows
+                cygwin* | msys*) # on cygwin 1.5.25, getdtablesize() automatically grows
                   gl_cv_func_getdtablesize_works="guessing no" ;;
                 *) gl_cv_func_getdtablesize_works="guessing yes" ;;
               esac
diff -Naur lftp-4.8.4-orig/m4/ltoptions.m4 lftp-4.8.4/m4/ltoptions.m4
--- lftp-4.8.4-orig/m4/ltoptions.m4	2018-08-01 10:26:53.000000000 +0300
+++ lftp-4.8.4/m4/ltoptions.m4	2018-08-02 10:44:00.040561500 +0300
@@ -128,7 +128,7 @@
 [enable_win32_dll=yes
 
 case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
   AC_CHECK_TOOL(AS, as, false)
   AC_CHECK_TOOL(DLLTOOL, dlltool, false)
   AC_CHECK_TOOL(OBJDUMP, objdump, false)
diff -Naur lftp-4.8.4-orig/m4/malloc.m4 lftp-4.8.4/m4/malloc.m4
--- lftp-4.8.4-orig/m4/malloc.m4	2018-07-31 14:04:58.000000000 +0300
+++ lftp-4.8.4/m4/malloc.m4	2018-08-02 10:43:35.860519000 +0300
@@ -33,7 +33,7 @@
        [case "$host_os" in
           # Guess yes on platforms where we know the result.
           *-gnu* | gnu* | *-musl* | freebsd* | netbsd* | openbsd* \
-          | hpux* | solaris* | cygwin* | mingw*)
+          | hpux* | solaris* | cygwin* | msys* | mingw*)
             ac_cv_func_malloc_0_nonnull="guessing yes" ;;
           # If we don't know, assume the worst.
           *) ac_cv_func_malloc_0_nonnull="guessing no" ;;
diff -Naur lftp-4.8.4-orig/m4/printf.m4 lftp-4.8.4/m4/printf.m4
--- lftp-4.8.4-orig/m4/printf.m4	2018-07-31 14:04:59.000000000 +0300
+++ lftp-4.8.4/m4/printf.m4	2018-08-02 10:36:27.456359900 +0300
@@ -785,6 +785,7 @@
            irix*)           gl_cv_func_printf_directive_ls="guessing no";;
            solaris*)        gl_cv_func_printf_directive_ls="guessing no";;
            cygwin*)         gl_cv_func_printf_directive_ls="guessing no";;
+           msys*)           gl_cv_func_printf_directive_ls="guessing no";;
            beos* | haiku*)  gl_cv_func_printf_directive_ls="guessing no";;
                             # Guess no on Android.
            linux*-android*) gl_cv_func_printf_directive_ls="guessing no";;
@@ -1524,6 +1524,7 @@
            darwin*)              gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
                                  # Guess yes on Cygwin.
            cygwin*)              gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
+           msys*)                gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
                                  # Guess yes on Solaris >= 2.6.
            solaris2.[0-5] | solaris2.[0-5].*)
                                  gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
