Skip to content

Commit 3da3640

Browse files
committed
On Solaris, we should only force use of our own getopt(); it's okay to use
the system's getopt_long(). The previous coding was the result of a sloppy discussion that failed to draw this distinction. The result was that PG programs don't handle options as users of that platform expect. Per gripe from Chuck McDevitt. Although this is a pre-existing bug, I'm not backpatching since I think we could do with a bit of beta testing before concluding this is really OK.
1 parent 665aa5e commit 3da3640

File tree

2 files changed

+20
-23
lines changed

2 files changed

+20
-23
lines changed

configure

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -17787,22 +17787,7 @@ esac
1778717787
fi
1778817788

1778917789
# Similarly, use system's getopt_long() only if system provides struct option.
17790-
# Solaris' getopt() doesn't do what we want for long options, so always use
17791-
# our versions on that platform.
17792-
if test "$PORTNAME" = "solaris"; then
17793-
case " $LIBOBJS " in
17794-
*" getopt.$ac_objext "* ) ;;
17795-
*) LIBOBJS="$LIBOBJS getopt.$ac_objext"
17796-
;;
17797-
esac
17798-
17799-
case " $LIBOBJS " in
17800-
*" getopt_long.$ac_objext "* ) ;;
17801-
*) LIBOBJS="$LIBOBJS getopt_long.$ac_objext"
17802-
;;
17803-
esac
17804-
17805-
elif test x"$ac_cv_type_struct_option" = xyes ; then
17790+
if test x"$ac_cv_type_struct_option" = xyes ; then
1780617791

1780717792
for ac_func in getopt_long
1780817793
do
@@ -17914,6 +17899,17 @@ esac
1791417899

1791517900
fi
1791617901

17902+
# Solaris' getopt() doesn't do what we want for long options, so always use
17903+
# our version on that platform.
17904+
if test "$PORTNAME" = "solaris"; then
17905+
case " $LIBOBJS " in
17906+
*" getopt.$ac_objext "* ) ;;
17907+
*) LIBOBJS="$LIBOBJS getopt.$ac_objext"
17908+
;;
17909+
esac
17910+
17911+
fi
17912+
1791717913
# Win32 support
1791817914
if test "$PORTNAME" = "win32"; then
1791917915

configure.in

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dnl Process this file with autoconf to produce a configure script.
2-
dnl $PostgreSQL: pgsql/configure.in,v 1.591 2009/02/12 15:12:47 adunstan Exp $
2+
dnl $PostgreSQL: pgsql/configure.in,v 1.592 2009/03/27 19:58:11 tgl Exp $
33
dnl
44
dnl Developers, please strive to achieve this order:
55
dnl
@@ -1270,17 +1270,18 @@ else
12701270
fi
12711271

12721272
# Similarly, use system's getopt_long() only if system provides struct option.
1273-
# Solaris' getopt() doesn't do what we want for long options, so always use
1274-
# our versions on that platform.
1275-
if test "$PORTNAME" = "solaris"; then
1276-
AC_LIBOBJ(getopt)
1277-
AC_LIBOBJ(getopt_long)
1278-
elif test x"$ac_cv_type_struct_option" = xyes ; then
1273+
if test x"$ac_cv_type_struct_option" = xyes ; then
12791274
AC_REPLACE_FUNCS([getopt_long])
12801275
else
12811276
AC_LIBOBJ(getopt_long)
12821277
fi
12831278

1279+
# Solaris' getopt() doesn't do what we want for long options, so always use
1280+
# our version on that platform.
1281+
if test "$PORTNAME" = "solaris"; then
1282+
AC_LIBOBJ(getopt)
1283+
fi
1284+
12841285
# Win32 support
12851286
if test "$PORTNAME" = "win32"; then
12861287
AC_REPLACE_FUNCS(gettimeofday)

0 commit comments

Comments
 (0)