if test "$GCC" != yes; then
  # The -Kno_host is for a bug in the compiler.  See -hackers
  # discussion on 7-8/Aug/2003.
  cat >conftest.c <<__EOF__
extern char *strcpy(char *, const char *);

static void f(char *p, int n){
        strcpy(p+n,"");
}
void g(void){
        f(0, 0);
}
__EOF__

  # Debugging and optimization are mutually exclusive
  if test "$enable_debug" != yes; then
    CFLAGS="-O"
  fi
  if $CC -c -O -Kinline conftest.c >conftest.err 2>&1; then
    CFLAGS="$CFLAGS -Kinline"
  else
    CFLAGS="$CFLAGS -Kinline,no_host"
  fi
  rm -f conftest.*

  PTHREAD_CFLAGS="-Kpthread"

# The effect of doing threading for the backend does not work
# because of a threading bug that appears in the regression tests:
#
# in make check, the plpgsql test (plpgsql.sql)
# set statement_timeout to 1000;
# select blockme();
# reset statement_timeout;
#
# per report from Olivier PRENANT <ohp@pyrenet.fr>

fi

# Unixware's ldap library reportedly needs these too
EXTRA_LDAP_LIBS="-llber -lresolv"
