Use our own getopt() and getopt_long() on Solaris, because that platform's

versions don't handle long options the way we want.  Per Zdenek Kotala.
This commit is contained in:
Tom Lane 2008-02-24 05:21:54 +00:00
parent 2e0e563124
commit ad20c990f7
2 changed files with 25 additions and 5 deletions

19
configure vendored
View File

@ -16630,8 +16630,23 @@ esac
fi fi
# similarly, use system's getopt_long() only if system provides struct option. # Similarly, use system's getopt_long() only if system provides struct option.
if test x"$ac_cv_type_struct_option" = xyes ; then # Solaris' getopt() doesn't do what we want for long options, so always use
# our versions on that platform.
if test "$PORTNAME" = "solaris"; then
case " $LIBOBJS " in
*" getopt.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS getopt.$ac_objext"
;;
esac
case " $LIBOBJS " in
*" getopt_long.$ac_objext "* ) ;;
*) LIBOBJS="$LIBOBJS getopt_long.$ac_objext"
;;
esac
elif test x"$ac_cv_type_struct_option" = xyes ; then
for ac_func in getopt_long for ac_func in getopt_long
do do

View File

@ -1,5 +1,5 @@
dnl Process this file with autoconf to produce a configure script. dnl Process this file with autoconf to produce a configure script.
dnl $PostgreSQL: pgsql/configure.in,v 1.551 2008/02/19 01:05:28 momjian Exp $ dnl $PostgreSQL: pgsql/configure.in,v 1.552 2008/02/24 05:21:54 tgl Exp $
dnl dnl
dnl Developers, please strive to achieve this order: dnl Developers, please strive to achieve this order:
dnl dnl
@ -1095,8 +1095,13 @@ else
AC_LIBOBJ(getaddrinfo) AC_LIBOBJ(getaddrinfo)
fi fi
# similarly, use system's getopt_long() only if system provides struct option. # Similarly, use system's getopt_long() only if system provides struct option.
if test x"$ac_cv_type_struct_option" = xyes ; then # Solaris' getopt() doesn't do what we want for long options, so always use
# our versions on that platform.
if test "$PORTNAME" = "solaris"; then
AC_LIBOBJ(getopt)
AC_LIBOBJ(getopt_long)
elif test x"$ac_cv_type_struct_option" = xyes ; then
AC_REPLACE_FUNCS([getopt_long]) AC_REPLACE_FUNCS([getopt_long])
else else
AC_LIBOBJ(getopt_long) AC_LIBOBJ(getopt_long)