diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2008-02-24 05:22:11 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2008-02-24 05:22:11 +0000 |
commit | 7988f948c925e0a015bde35c9db78e24447b6174 (patch) | |
tree | 68d5317e12af79fbda5fb058d840a09bf827aa89 | |
parent | dea03d7f5818b99f55eb08208a713545860ad779 (diff) |
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.
-rwxr-xr-x | configure | 23 | ||||
-rw-r--r-- | configure.in | 11 |
2 files changed, 29 insertions, 5 deletions
diff --git a/configure b/configure index 10bf3e37c3e..23dc93746d0 100755 --- a/configure +++ b/configure @@ -14829,8 +14829,27 @@ 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" | \ + *" 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 + +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 908a1ae02a6..c4464537f15 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.490.2.14 2008/01/03 21:40:50 tgl Exp $ +dnl $PostgreSQL: pgsql/configure.in,v 1.490.2.15 2008/02/24 05:22:11 tgl Exp $ dnl dnl Developers, please strive to achieve this order: dnl @@ -998,8 +998,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) |