From: Tom Lane Date: Sun, 24 Feb 2008 05:22:44 +0000 (+0000) Subject: Use our own getopt() and getopt_long() on Solaris, because that platform's X-Git-Tag: REL7_4_20~21 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a45d896b017a8ef852653f3a8fb3ea1b934ac95a;p=postgresql 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. --- diff --git a/configure b/configure index 54cd1ad023..1619140598 100755 --- a/configure +++ b/configure @@ -12137,8 +12137,13 @@ else LIBOBJS="$LIBOBJS getaddrinfo.$ac_objext" fi -# similarly, use system's getopt_long() only if system provides struct option. -if test x"$ac_cv_type_struct_option" = xyes ; then +# Similarly, use system's getopt_long() only if system provides struct option. +# Solaris' getopt() doesn't do what we want for long options, so always use +# our versions on that platform. +if test "$PORTNAME" = "solaris"; then + LIBOBJS="$LIBOBJS getopt.$ac_objext" + LIBOBJS="$LIBOBJS getopt_long.$ac_objext" +elif test x"$ac_cv_type_struct_option" = xyes ; then for ac_func in getopt_long do diff --git a/configure.in b/configure.in index f7bdec3353..f61b120f00 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Header: /cvsroot/pgsql/configure.in,v 1.301.2.29 2008/01/03 21:42:17 tgl Exp $ +dnl $Header: /cvsroot/pgsql/configure.in,v 1.301.2.30 2008/02/24 05:22:44 tgl Exp $ dnl dnl Developers, please strive to achieve this order: dnl @@ -26,7 +26,7 @@ m4_undefine([infodir]) m4_undefine([info]) AC_SUBST(docdir) -m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.53], [], [m4_fatal([Autoconf version 2.59 is required. +m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.53], [], [m4_fatal([Autoconf version 2.53 is required. Untested combinations of 'autoconf' and PostgreSQL versions are not recommended. You can remove the check from 'configure.in' but it is then your responsibility whether the result works or not.])]) @@ -943,8 +943,13 @@ else AC_LIBOBJ(getaddrinfo) fi -# similarly, use system's getopt_long() only if system provides struct option. -if test x"$ac_cv_type_struct_option" = xyes ; then +# Similarly, use system's getopt_long() only if system provides struct option. +# 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]) else AC_LIBOBJ(getopt_long)