From: Tom Lane Date: Sun, 24 Feb 2008 05:21:54 +0000 (+0000) Subject: Use our own getopt() and getopt_long() on Solaris, because that platform's X-Git-Tag: REL8_4_BETA1~1959 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ad20c990f7392a14d2b9699b5b5857d5e5353715;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 fb1f1813bc..99b0722ca1 100755 --- a/configure +++ b/configure @@ -16630,8 +16630,23 @@ esac 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 + 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 do diff --git a/configure.in b/configure.in index 220204463c..2bdc371984 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ 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 Developers, please strive to achieve this order: dnl @@ -1095,8 +1095,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)