+int x = optind; char *y = optarg
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:18217: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:18220: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:18223: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:18226: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_getopt_header=$cf_header
+ break
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+done
+
+fi
+echo "$as_me:18238: result: $cf_cv_getopt_header" >&5
+echo "${ECHO_T}$cf_cv_getopt_header" >&6
+if test $cf_cv_getopt_header != none ; then
+
+cat >>confdefs.h <<\EOF
+#define HAVE_GETOPT_HEADER 1
+EOF
+
+fi
+if test $cf_cv_getopt_header = getopt.h ; then
+
+cat >>confdefs.h <<\EOF
+#define NEED_GETOPT_H 1
+EOF
+
+fi
+
+echo "$as_me:18255: checking if external environ is declared" >&5
+echo $ECHO_N "checking if external environ is declared... $ECHO_C" >&6
+if test "${cf_cv_dcl_environ+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ cat >conftest.$ac_ext <<_ACEOF
+#line 18262 "configure"
+#include "confdefs.h"
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+#include <unistd.h>
+int
+main (void)
+{
+int x = (int) environ
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:18278: \"$ac_compile\"") >&5
+ (eval $ac_compile) 2>&5
+ ac_status=$?
+ echo "$as_me:18281: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest.$ac_objext'
+ { (eval echo "$as_me:18284: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:18287: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_dcl_environ=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+cf_cv_dcl_environ=no
+fi
+rm -f conftest.$ac_objext conftest.$ac_ext
+
+fi
+echo "$as_me:18298: result: $cf_cv_dcl_environ" >&5
+echo "${ECHO_T}$cf_cv_dcl_environ" >&6
+
+if test "$cf_cv_dcl_environ" = no ; then
+
+cf_result=`echo "decl_environ" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+ cat >>confdefs.h <<EOF
+#define $cf_result 1
+EOF
+
+fi
+
+# It's possible (for near-UNIX clones) that the data doesn't exist
+
+echo "$as_me:18313: checking if external environ exists" >&5
+echo $ECHO_N "checking if external environ exists... $ECHO_C" >&6
+if test "${cf_cv_have_environ+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ cat >conftest.$ac_ext <<_ACEOF
+#line 18320 "configure"
+#include "confdefs.h"
+
+#undef environ
+extern int environ;
+
+int
+main (void)
+{
+environ = 2
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:18335: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:18338: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:18341: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:18344: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ cf_cv_have_environ=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+cf_cv_have_environ=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+
+fi
+echo "$as_me:18355: result: $cf_cv_have_environ" >&5
+echo "${ECHO_T}$cf_cv_have_environ" >&6
+
+if test "$cf_cv_have_environ" = yes ; then
+
+cf_result=`echo "have_environ" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+ cat >>confdefs.h <<EOF
+#define $cf_result 1
+EOF
+
+fi
+
+echo "$as_me:18368: checking for getenv" >&5
+echo $ECHO_N "checking for getenv... $ECHO_C" >&6
+if test "${ac_cv_func_getenv+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 18374 "configure"
+#include "confdefs.h"
+#define getenv autoconf_temporary
+#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
+#undef getenv
+
+#ifdef __cplusplus
+extern "C"
+#endif
+
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char getenv (void);
+
+int
+main (void)
+{
+
+/* The GNU C library defines stubs for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_getenv) || defined (__stub___getenv)
+#error found stub for getenv
+#endif
+
+ return getenv ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:18405: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:18408: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:18411: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:18414: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ ac_cv_func_getenv=yes
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+ac_cv_func_getenv=no
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:18424: result: $ac_cv_func_getenv" >&5
+echo "${ECHO_T}$ac_cv_func_getenv" >&6
+
+for ac_func in putenv setenv strdup
+do
+as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
+echo "$as_me:18430: checking for $ac_func" >&5
+echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
+if eval "test \"\${$as_ac_var+set}\" = set"; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 18436 "configure"
+#include "confdefs.h"
+#define $ac_func autoconf_temporary
+#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
+#undef $ac_func
+
+#ifdef __cplusplus
+extern "C"
+#endif
+
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func (void);
+
+int
+main (void)
+{
+
+/* The GNU C library defines stubs for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#error found stub for $ac_func
+#endif
+
+ return $ac_func ();
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (eval echo "$as_me:18467: \"$ac_link\"") >&5
+ (eval $ac_link) 2>&5
+ ac_status=$?
+ echo "$as_me:18470: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+ { ac_try='test -s conftest$ac_exeext'
+ { (eval echo "$as_me:18473: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:18476: \$? = $ac_status" >&5
+ (exit $ac_status); }; }; then
+ eval "$as_ac_var=yes"
+else
+ echo "$as_me: failed program was:" >&5
+cat conftest.$ac_ext >&5
+eval "$as_ac_var=no"
+fi
+rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext
+fi
+echo "$as_me:18486: result: `eval echo '${'$as_ac_var'}'`" >&5
+echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
+if test `eval echo '${'$as_ac_var'}'` = yes; then
+ cat >>confdefs.h <<EOF
+#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+EOF
+
+fi
+done
+
+echo "$as_me:18496: checking if getenv returns consistent values" >&5
+echo $ECHO_N "checking if getenv returns consistent values... $ECHO_C" >&6
+if test "${cf_cv_consistent_getenv+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+if test "$cross_compiling" = yes; then
+ cf_cv_consistent_getenv=unknown
+else
+ cat >conftest.$ac_ext <<_ACEOF
+#line 18506 "configure"
+#include "confdefs.h"
+
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/types.h>
+
+#if defined(HAVE_ENVIRON) && defined(DECL_ENVIRON) && !defined(environ)
+extern char **environ; /* POSIX, but some systems are not... */
+#endif
+
+#if defined(HAVE_STRDUP)
+#define str_alloc(s) strdup(s)
+#else
+#define str_alloc(s) strcpy(malloc(strlen(s) + 1, s))
+#endif
+
+static void set_value(const char *name, const char *value)
+{
+#if defined(HAVE_SETENV)
+ setenv(name, value, 1);
+#elif defined(HAVE_PUTENV)
+ char buffer[1024];
+ sprintf(buffer, "%s=%s", name, value);
+ putenv(str_alloc(buffer));
+#else
+#error neither putenv/setenv found
+#endif
+}
+int main(void)
+{
+ int pass;
+ size_t numenv, limit, j;
+ char **mynames;
+ char **myvalues;
+ char **mypointer;
+ char *equals;
+ for (numenv = 0; environ[numenv]; ++numenv) ;
+ limit = numenv + 10;
+ mynames = (char **) calloc(limit + 1, sizeof(char *));
+ myvalues = (char **) calloc(limit + 1, sizeof(char *));
+ mypointer = (char **) calloc(limit + 1, sizeof(char *));
+#if defined(HAVE_ENVIRON)
+ for (j = 0; environ[j]; ++j) {
+ mynames[j] = str_alloc(environ[j]);
+ equals = strchr(mynames[j], '=');
+ if (equals != 0) {
+ *equals++ = '\0';
+ myvalues[j] = str_alloc(equals);
+ } else {
+ myvalues[j] = str_alloc("");
+ }
+ }
+#endif
+ for (j = numenv; j < limit; ++j) {
+ char name[80];
+ char value[80];
+ size_t found;
+ size_t k = 0;
+ do {
+ size_t jk;
+ found = 0;
+ sprintf(name, "TERM%lu", (unsigned long) k);
+ for (jk = 0; jk < j; ++jk) {
+ if (!strcmp(name, mynames[jk])) {
+ found = 1;
+ ++k;
+ break;
+ }
+ }
+ } while (found);
+ sprintf(value, "%lu:%p", (unsigned long) k, &mynames[j]);
+ set_value(name, value);
+ mynames[j] = str_alloc(name);
+ myvalues[j] = str_alloc(value);
+ }
+ for (pass = 0; pass < 3; ++pass) {
+ for (j = 0; j < limit; ++j) {
+ char *value = getenv(mynames[j]);
+ if (pass) {
+ if (value == 0) {
+ fprintf(stderr, "getenv returned null for %s\n", mynames[j]);
+ ${cf_cv_main_return:-return}(1);
+ } else if (value != mypointer[j]) {
+ fprintf(stderr, "getenv returned different pointer for %s\n", mynames[j]);
+ ${cf_cv_main_return:-return}(1);
+ } else if (strcmp(value, myvalues[j])) {
+ fprintf(stderr, "getenv returned different value for %s\n", mynames[j]);
+ ${cf_cv_main_return:-return}(1);
+ }
+ } else {
+ size_t k;
+ mypointer[j] = value;
+ for (k = 0; k < j; ++k) {
+ if (mypointer[j] == mypointer[k]) {
+ fprintf(stderr, "getenv returned same pointer for %s and %s\n", mynames[j], mynames[k]);
+ ${cf_cv_main_return:-return}(1);
+ }
+ }
+ }
+ }
+ }
+ ${cf_cv_main_return:-return}(0);