From 36cc9b7cead1a8447c1600a273f772e553aaa009 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 24 Feb 2008 05:22:33 +0000 Subject: [PATCH] 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. --- configure | 9 +++++++-- configure.in | 13 +++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/configure b/configure index 23aa9facc9c..c673b3ee025 100755 --- a/configure +++ b/configure @@ -12758,8 +12758,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 c71b17577be..9ad04fbdb1e 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.398.4.22 2008/01/03 21:41:50 tgl Exp $ +dnl $PostgreSQL: pgsql/configure.in,v 1.398.4.23 2008/02/24 05:22:33 tgl Exp $ dnl dnl Developers, please strive to achieve this order: dnl @@ -19,7 +19,7 @@ m4_pattern_forbid(^PGAC_)dnl to catch undefined macros AC_INIT([PostgreSQL], [8.0.15], [pgsql-bugs@postgresql.org]) -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.])]) @@ -942,8 +942,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) -- 2.39.5