From e975c1a6026adb9e248a408fe3ca2629bc8c0084 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 19 Dec 2019 08:28:37 +0100 Subject: [PATCH] Add support for MSYS2 It's basically a variant of Cygwin, so use that template. Discussion: https://www.postgresql.org/message-id/flat/6b467edc-4018-521f-ab18-171f098557ca%402ndquadrant.com --- configure | 12 +++++------- configure.in | 12 +++++------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/configure b/configure index de431d0d38b..9de50377ff2 100755 --- a/configure +++ b/configure @@ -2946,7 +2946,7 @@ else case $host_os in aix*) template=aix ;; - cygwin*) template=cygwin ;; + cygwin*|msys*) template=cygwin ;; darwin*) template=darwin ;; dragonfly*) template=netbsd ;; freebsd*) template=freebsd ;; @@ -15856,24 +15856,22 @@ fi -case $host_os in +if test "$PORTNAME" = "win32" -o "$PORTNAME" = "cygwin"; then # Cygwin and (apparently, based on test results) Mingw both # have a broken strtof(), so substitute the same replacement # code we use with VS2013. That's not a perfect fix, since # (unlike with VS2013) it doesn't avoid double-rounding, but # we have no better options. To get that, though, we have to # force the file to be compiled despite HAVE_STRTOF. - mingw*|cygwin*) - case " $LIBOBJS " in + case " $LIBOBJS " in *" strtof.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS strtof.$ac_objext" ;; esac - { $as_echo "$as_me:${as_lineno-$LINENO}: On $host_os we will use our strtof wrapper." >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: On $host_os we will use our strtof wrapper." >&5 $as_echo "$as_me: On $host_os we will use our strtof wrapper." >&6;} - ;; -esac +fi case $host_os in # Windows uses a specialised env handler diff --git a/configure.in b/configure.in index 85829be069a..9c5e5e7f8ce 100644 --- a/configure.in +++ b/configure.in @@ -59,7 +59,7 @@ PGAC_ARG_REQ(with, template, [NAME], [override operating system template], case $host_os in aix*) template=aix ;; - cygwin*) template=cygwin ;; + cygwin*|msys*) template=cygwin ;; darwin*) template=darwin ;; dragonfly*) template=netbsd ;; freebsd*) template=freebsd ;; @@ -1744,18 +1744,16 @@ AC_REPLACE_FUNCS(m4_normalize([ strtof ])) -case $host_os in +if test "$PORTNAME" = "win32" -o "$PORTNAME" = "cygwin"; then # Cygwin and (apparently, based on test results) Mingw both # have a broken strtof(), so substitute the same replacement # code we use with VS2013. That's not a perfect fix, since # (unlike with VS2013) it doesn't avoid double-rounding, but # we have no better options. To get that, though, we have to # force the file to be compiled despite HAVE_STRTOF. - mingw*|cygwin*) - AC_LIBOBJ([strtof]) - AC_MSG_NOTICE([On $host_os we will use our strtof wrapper.]) - ;; -esac + AC_LIBOBJ([strtof]) + AC_MSG_NOTICE([On $host_os we will use our strtof wrapper.]) +fi case $host_os in # Windows uses a specialised env handler