summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2010-12-15 23:51:07 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2010-12-15 23:51:07 -0500
commit6a61d58ca8d28b1d0e49a6906ac61ab86f12493c (patch)
treeaf15ef33387ffa70a0f58afdae15d116eefe7688 /configure
parent16d5fd6a991cd37b79260a82f50d730433df8c54 (diff)
downloadpostgresql-6a61d58ca8d28b1d0e49a6906ac61ab86f12493c.tar.gz
Fix up getopt() reset management so it works on recent mingw.
The mingw people don't appear to care about compatibility with non-GNU versions of getopt, so force use of our own copy of getopt on Windows. Also, ensure that we make use of optreset when using our own copy. Per report from Andrew Dunstan. Back-patch to all versions supported on Windows.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure21
1 files changed, 21 insertions, 0 deletions
diff --git a/configure b/configure
index e8890b1810..8af662acb9 100755
--- a/configure
+++ b/configure
@@ -15047,6 +15047,27 @@ case $host_os in bsdi*|netbsd*)
ac_cv_func_fseeko=yes
esac
+# mingw has adopted a GNU-centric interpretation of optind/optreset,
+# so always use our version on Windows.
+if test "$PORTNAME" = "win32"; then
+ case $LIBOBJS in
+ "getopt.$ac_objext" | \
+ *" getopt.$ac_objext" | \
+ "getopt.$ac_objext "* | \
+ *" getopt.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS getopt.$ac_objext" ;;
+esac
+
+ case $LIBOBJS in
+ "getopt_long.$ac_objext" | \
+ *" getopt_long.$ac_objext" | \
+ "getopt_long.$ac_objext "* | \
+ *" getopt_long.$ac_objext "* ) ;;
+ *) LIBOBJS="$LIBOBJS getopt_long.$ac_objext" ;;
+esac
+
+fi
+
# Win32 support
if test "$PORTNAME" = "win32"; then