#!/bin/sh

# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf version 2.4 
# Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.

VERSION=`cat etc/version`
VMAJOR=`echo $VERSION | cut -d. -f1`
VMINOR=`echo $VERSION | cut -d. -f2`
VPATCH=`echo $VERSION | cut -d. -f3`
VRELEASE=`echo $VPATCH | cut -d- -f2`
VPATCH=`echo $VPATCH | cut -d- -f1`

VERSION="${VMAJOR}.${VMINOR}.${VPATCH}-${VRELEASE}"

# Defaults:
ac_help=
ac_default_prefix=/usr/local
# Any additions from configure.in:

# Initialize some variables set by options.
# The variables have the same names as the options, with
# dashes changed to underlines.
build=NONE
cache_file=./etc/config.cache
exec_prefix=NONE
system=NONE
host=NONE
no_create=
nonopt=NONE
no_recursion=
prefix=`pwd`
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
target=NONE
verbose=
x_includes=NONE
x_libraries=NONE

# Initialize some other variables.
subdirs=

ac_prev=
for ac_option
do

  # If the previous option needs an argument, assign it.
  if test -n "$ac_prev"; then
    eval "$ac_prev=\$ac_option"
    ac_prev=
    continue
  fi

  case "$ac_option" in
  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *) ac_optarg= ;;
  esac

  ac_option=`echo "$ac_option" | sed 's/^-*//'`

  case "$ac_option" in

  cache-file | cache-fil | cache-fi | cache-f | cache-\
  | cache | cach | cac | ca | c)
    ac_prev=cache_file
    ;;

  cache-file=* | cache-fil=* | cache-fi=* | cache-f=*\
  | cache-=* | cache=* | cach=* | cac=* | ca=* | c=*)
    cache_file="$ac_optarg"
    echo "- Using cache file \"$cache_file\"."
    ;;

  host=*)
    host="$ac_optarg"
    echo "- Using host \"$host\"."
    ;;

  system=*)
    system="$ac_optarg"
    echo "- Using system \"$system\"."
    ;;

  disable-*)
    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
    # Reject names that are not valid shell variable names.
    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
    fi
    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
    eval "enable_${ac_feature}=no" ;;

  enable-*)
    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
    # Reject names that are not valid shell variable names.
    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
    fi
    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
    case "$ac_option" in
      *=*) ;;
      *) ac_optarg=yes ;;
    esac
    eval "enable_${ac_feature}='$ac_optarg'" ;;

  no-create | no-creat | no-crea | no-cre | no-cr | no-c)
    no_create=yes
    echo "- Not creating output files."
    ;;

  prefix | prefi | pref | pre | pr | p)
    ac_prev=prefix
    ;;

  prefix=* | prefi=* | pref=* | pre=* | pr=* | p=*)
    prefix="$ac_optarg"
    ;;

  q | quiet | quie | qui | qu)
    silent=yes
    ;;

  srcdir | srcdi | srcd | src | sr)
    ac_prev=srcdir
    ;;

  srcdir=* | srcdi=* | srcd=* | src=* | sr=*)
    srcdir="$ac_optarg"
    echo "- Using source directory \"$srcdir\"."
    ;;

  v | verbose | verbos | verbo | verb)
    verbose=yes
    ;;

  with-*)
    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
    # Reject names that are not valid shell variable names.
    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
    fi
    ac_package=`echo $ac_package| sed 's/-/_/g'`
    case "$ac_option" in
      *=*) ;;
      *) ac_optarg=yes ;;
    esac
    eval "with_${ac_package}='$ac_optarg'" ;;

  without-*)
    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
    # Reject names that are not valid shell variable names.
    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
    fi
    ac_package=`echo $ac_package| sed 's/-/_/g'`
    eval "with_${ac_package}=no"
    ;;


  *) 
    cat << EOF
-- Genesis $VERSION (ColdC driver) --

Usage: configure [options]

Options:

  --cache-file=FILE       cache test results in FILE
  --help                  print this message
  --system=TYPE           specify your machine type, guessed by default
  --host=NAME             use this internet hostname
  --no-create             do not create output files
  --quiet                 do not print \`Checking...' messages
  --prefix=PREFIX         install architecture-independent files in PREFIX
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)

EOF
    exit 0 ;;

  esac
done

if test -n "$ac_prev"; then
  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
fi

trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15

echo "-- Configuration for Genesis $VERSION (the Cold Driver) --"

# File descriptor usage:
# 0 standard input
# 1 file creation
# 2 errors and warnings
# 3 some systems may open it to /dev/tty
# 4 used on the Kubota Titan
# 6 Checking for... messages and results
# 5 compiler messages saved in config.log
if test "$silent" = yes; then
  exec 6>/dev/null
else
  exec 6>&1
fi
exec 5>./etc/config.log

echo "\
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
" 1>&5

# Strip out --no-create and --no-recursion so they do not pile up.
# Also quote any args containing shell metacharacters.
ac_configure_args=
for ac_arg
do
  case "$ac_arg" in
  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
  | --no-cr | --no-c) ;;
  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
  *" "*|*"	"*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
  esac
done

# NLS nuisances.
# Only set LANG and LC_ALL to C if already set.
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi

# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -rf conftest* confdefs.h

cat > confdefs.h <<EOF
#define VERSION_MAJOR $VMAJOR
#define VERSION_MINOR $VMINOR
#define VERSION_PATCH $VPATCH
#define VERSION_RELEASE "$VRELEASE"
EOF

# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
ac_unique_file=src/include/buffer.h

# Find the source files, if location was not specified.
if test -z "$srcdir"; then
  ac_srcdir_defaulted=yes
  # Try the directory containing this script, then its parent.
  ac_prog=$0
  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
  srcdir=$ac_confdir
  if test ! -r $srcdir/$ac_unique_file; then
    srcdir=..
  fi
else
  ac_srcdir_defaulted=no
fi
if test ! -r $srcdir/$ac_unique_file; then
  if test "$ac_srcdir_defaulted" = yes; then
    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
  else
    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
  fi
fi
srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`

# Prefer explicitly selected file to automatically selected ones.
if test -z "$CONFIG_SITE"; then
  if test "x$prefix" != xNONE; then
    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
  else
    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
  fi
fi
for ac_site_file in $CONFIG_SITE; do
  if test -r "$ac_site_file"; then
    echo "- Loading site script $ac_site_file"
    . "$ac_site_file"
  fi
done

if test -r "$cache_file"; then
  echo "- Loading cache $cache_file"
  . $cache_file
else
  echo "- Creating cache $cache_file"
  > $cache_file
fi

ac_ext=c
# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
ac_cpp='$CPP $CPPFLAGS'
ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5 2>&5'
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'

if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
    ac_n= ac_c='
' ac_t='	'
  else
    ac_n=-n ac_c= ac_t=
  fi
else
  ac_n= ac_c='\c' ac_t=
fi

ac_aux_dir=etc
ac_config_guess=$ac_aux_dir/config.guess
ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.

# Do some error Checking and defaulting for the system.
# The inputs are:
#    configure --system=HOST
#
# The rules are:
# 1. You are not allowed to specify --system, and nonopt at the same time. 
# 2. Host defaults to nonopt.
# 3. If nonopt is not specified, then system defaults to the current system,
#    as determined by config.guess.
# 4. Target and build default to nonopt.
# 5. If nonopt is not specified, then target and build default to system.

# The aliases save the names the user supplied, while $system etc.
# will get canonicalized.
# case $system---$nonopt in
# NONE---*---* | *---NONE---* | *---*---NONE) ;;
# *) { echo "configure: error: can only configure for one system and one target at a time" 1>&2; exit 1; } ;;
# esac

#####################################################################
## print notes?

if [ -f etc/notes ]; then
    echo ""
    cat etc/notes
    echo ""
    echo $ac_n "[Return to Continue] $ac_c"
    read ignore
fi 

#####################################################################
echo "- System configuration"

echo $ac_n "  Getting hostname""... $ac_c" 1>&6
hostname=`(hostname || uname -n) 2>/dev/null`
if [ -z "$hostname" ]; then
    if [ $host = NONE ]; then
        cat <<END
** UNABLE TO DETERMINE **

      You may need to execute genesis with the -n option to
      specify your hostname.
END
    else
        hostname=$host
    fi
fi
echo $hostname 1>&2

HOSTNAME=$hostname

##
echo $ac_n "  Checking system type""... $ac_c" 1>&6

host_alias=$system
case "$host_alias" in
NONE)
  case $nonopt in
  NONE)
    host_alias=`$ac_config_guess`
    if test -z "$host_alias"; then
        cat <<END
UNABLE TO DETERMINE
** You can specify the system type with the argument --system=TYPE
** Make sure to email brandon@cold.org with this error and your system type.
END
	exit 0
    fi ;;
  *) host_alias=$nonopt ;;
  esac ;;
esac
system=$host_alias

case "$system" in
  powerpc-apple-darwin*)
    CFLAGS="$CFLAGS -traditional-cpp"
    ;;
esac
echo "$ac_t""$system" 1>&6
CPU=`echo $system | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/g;s/[\.-]/_/g'`
VENDOR=`echo $system | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/g;s/[\.-]/_/g'`
SYS=`echo $system | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/g;s/[0-9\.-]//g'`
echo "#define SYSTEM_TYPE \"$system\"" >> confdefs.h

# Linux is either 'linux' (elf) or 'linuxaout' (a.out)
SYS=`echo $SYS | sed 's/aout$//g'`

## if they are HP-UX, lets add -Aa

if [ $SYS = "hpux" ]; then
    CFLAGS="$CFLAGS -Aa"
fi

# Checks for programs
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
echo $ac_n "  Checking for $ac_word""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  if test -n "$CC"; then
  ac_cv_prog_CC="$CC" # Let the user override the test.
else
  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  for ac_dir in $PATH; do
    test -z "$ac_dir" && ac_dir=.
    if test -f $ac_dir/$ac_word; then
      ac_cv_prog_CC="gcc"
      break
    fi
  done
  IFS="$ac_save_ifs"
  test -z "$ac_cv_prog_CC" && ac_cv_prog_CC="cc"
fi
fi
CC="$ac_cv_prog_CC"
if test -n "$CC"; then
  echo "$ac_t""$CC" 1>&6
else
  echo "$ac_t""no" 1>&6
fi


echo $ac_n "  Checking whether we are using GNU C""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.c <<EOF
#ifdef __GNUC__
  yes;
#endif
EOF
if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then
  ac_cv_prog_gcc=yes
else
  ac_cv_prog_gcc=no
fi
fi
echo "$ac_t""$ac_cv_prog_gcc" 1>&6
if test $ac_cv_prog_gcc = yes; then
  GCC=yes
  if test "${CFLAGS+set}" != set; then
    echo $ac_n "  Checking whether ${CC-cc} accepts -g with -O""... $ac_c" 1>&6
    if eval "test \"`echo '$''{'ac_cv_prog_gcc_g'+set}'`\" = set"; then
      echo $ac_n "(cached) $ac_c" 1>&6
    else
      echo 'void f(){}' > conftest.c
      if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
        ac_cv_prog_gcc_g=yes
      else
        ac_cv_prog_gcc_g=no
      fi
      rm -f conftest*
    fi
    echo "$ac_t""$ac_cv_prog_gcc_g" 1>&6
  fi
else
  GCC=
  test "${CFLAGS+set}" = set || CFLAGS=""
fi

# Extract the first word of "makedepend", so it can be a program name with args.
set dummy makedepend; ac_word=$2
echo $ac_n "  Checking for $ac_word""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_prog_MAKEDEPEND'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  if test -n "$MAKEDEPEND"; then
  ac_cv_prog_MAKEDEPEND="$MAKEDEPEND" # Let the user override the test.
else
  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  for ac_dir in $PATH; do
    test -z "$ac_dir" && ac_dir=.
    if test -f $ac_dir/$ac_word; then
      ac_cv_prog_MAKEDEPEND="makedepend"
      break
    fi
  done
  IFS="$ac_save_ifs"
fi
fi
MAKEDEPEND="$ac_cv_prog_MAKEDEPEND"
if test -n "$MAKEDEPEND"; then
  echo "$ac_t""$MAKEDEPEND" 1>&6
else
  echo "$ac_t""no" 1>&6
fi

# Extract the first word of "perl", so it can be a program name with args.
set dummy perl; ac_word=$2
echo $ac_n "  Checking for $ac_word""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  if test -n "$PERL"; then
  ac_cv_prog_PERL="$PERL" # Let the user override the test.
else
  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  for ac_dir in $PATH; do
    test -z "$ac_dir" && ac_dir=.
    if test -f $ac_dir/$ac_word; then
      ac_cv_prog_PERL="perl"
      break
    fi
  done
  IFS="$ac_save_ifs"
fi
fi
PERL="$ac_cv_prog_PERL"
if test -n "$PERL"; then
  echo "$ac_t""$PERL" 1>&6
else
  echo "$ac_t""no" 1>&6
fi

# Extract the first word of "lint", so it can be a program name with args.
set dummy lint; ac_word=$2
echo $ac_n "  Checking for $ac_word""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_prog_LINT'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  if test -n "$LINT"; then
  ac_cv_prog_LINT="$LINT" # Let the user override the test.
else
  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  for ac_dir in $PATH; do
    test -z "$ac_dir" && ac_dir=.
    if test -f $ac_dir/$ac_word; then
      ac_cv_prog_LINT="lint"
      break
    fi
  done
  IFS="$ac_save_ifs"
fi
fi
LINT="$ac_cv_prog_LINT"
if test -n "$LINT"; then
  echo "$ac_t""$LINT" 1>&6
else
  echo "$ac_t""no" 1>&6
fi

for ac_prog in 'bison -y' byacc
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
echo $ac_n "  Checking for $ac_word""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  if test -n "$YACC"; then
  ac_cv_prog_YACC="$YACC" # Let the user override the test.
else
  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
  for ac_dir in $PATH; do
    test -z "$ac_dir" && ac_dir=.
    if test -f $ac_dir/$ac_word; then
      ac_cv_prog_YACC="$ac_prog"
      break
    fi
  done
  IFS="$ac_save_ifs"
fi
fi
YACC="$ac_cv_prog_YACC"
if test -n "$YACC"; then
  echo "$ac_t""$YACC" 1>&6
else
  echo "$ac_t""no" 1>&6
fi

test -n "$YACC" && break
done

test -n "$YACC" || YACC="yacc"

##
## Courtesy of Perl5, Copyright 1991-1994, Larry Wall
##
ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5 2>&5'

echo $ac_n "  Checking byteorder... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_byteorder'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else

cat > conftest.$ac_ext << END
#include <stdio.h>
main()
{
        int i;
        FILE *f=fopen("conftestval", "w");

        union {
                unsigned long l;
                char c[sizeof(long)];
        } u;

        if (!f) exit(1);

        if (sizeof(long) > 4)
                u.l = (0x08070605L << 32) | 0x04030201L;
        else
                u.l = 0x04030201L;
        for (i = 0; i < sizeof(long); i++)
                fputc(u.c[i] + '0', f);
  /*              fprintf(f, "%c", u.c[i]+'0'); */
        fputc('\n', f);
        exit(0);
}
END
eval $ac_link


if test -s conftest && (./conftest; exit) 2>/dev/null; then
    order=`cat conftestval`
    x_prompt=n
    case "$order" in
        [1-4][1-4][1-4][1-4]|12345678|87654321)
            ac_cv_byteorder=$order
            ;;
        ????|????????)
            x_prompt=y
            ;;
        *)
            x_prompt=y
            order=``
            ;;  
    esac
    if test $x_prompt = "y"; then
        echo
        echo $ac_n "  What is the order of bytes in a long? [$order] $ac_c"
        read ans
        if [ -z "$ans" ]; then
            if [ -n $order ]; then
                ac_cv_byteorder=$order
            else
                echo "  Assuming big-endian (4321)" 1>&6
                ac_cv_byteorder=4321
            fi
        else
            ac_cv_byteorder=$ans
        fi
        echo $ac_n "  => $ac_c"
    fi

else
    echo $ac_n "** Error in compilation, assuming big-endian.. $ac_c" 1>&6
    ac_cv_byteorder=4321
fi
fi

echo "$ac_t$ac_cv_byteorder" 1>&6

cat >> confdefs.h <<END
#define BYTEORDER $ac_cv_byteorder
END

rm -fr conftest*

echo $ac_n "  Checking for type sizes... $ac_c" 1>&6

## just check for 'char', if its set everything else should be as well
if eval "test \"`echo '$''{'ac_cv_sizeof_char'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else

cat > conftest.$ac_ext <<END
#include "confdefs.h"
#include <stdio.h>
main()
{
  FILE *f=fopen("conftestval", "w");
  if (!f) exit(1);
  fprintf(f, "char %d\nshort %d\nint %d\nlong %d\nll %d\nfloat %d\ndouble %d\nld %d\nptr %d\n",
         sizeof(char),
         sizeof(short int),
         sizeof(int),
         sizeof(long int),
         sizeof(long long),
         sizeof(float),
         sizeof(double),
         sizeof(long double),
         sizeof(void*));
  exit(0);
}
END

eval $ac_link

if test -s conftest && (./conftest; exit) 2>/dev/null; then
    sizes=`cat conftestval`
else
    sizes=<<END
char 1
short 2
int 4
long 4
ll 8
float 4
double 8
ld 12
ptr 8
END
fi

ac_cv_sizeof_ptr=`cat conftestval | fgrep ptr | sed -e 's:ptr ::'`
ac_cv_sizeof_char=`cat conftestval | fgrep char | sed -e 's:char ::'`
ac_cv_sizeof_short=`cat conftestval | fgrep short | sed -e 's:short ::'`
ac_cv_sizeof_int=`cat conftestval | fgrep int | sed -e 's:int ::'`
ac_cv_sizeof_long=`cat conftestval | fgrep long | sed -e 's:long ::'`
ac_cv_sizeof_llong=`cat conftestval | fgrep ll | sed -e 's:ll ::'`
ac_cv_sizeof_float=`cat conftestval | fgrep float | sed -e 's:float ::'`
ac_cv_sizeof_double=`cat conftestval | fgrep double | sed -e 's:double ::'`
ac_cv_sizeof_ldouble=`cat conftestval | fgrep ld | sed -e 's:ld ::'`

rm -fr conftest*

fi

cat <<END 1>&6

    pointer.. `expr $ac_t$ac_cv_sizeof_ptr "*" 8` bits
    char.. `expr $ac_t$ac_cv_sizeof_char "*" 8` bits
    short int.. `expr $ac_t$ac_cv_sizeof_short "*" 8` bits
    int.. `expr $ac_t$ac_cv_sizeof_int "*" 8` bits
    long int.. `expr $ac_t$ac_cv_sizeof_long "*" 8` bits
    long long.. `expr $ac_t$ac_cv_sizeof_llong "*" 8` bits
    float.. `expr $ac_t$ac_cv_sizeof_float "*" 8` bits
    double.. `expr $ac_t$ac_cv_sizeof_double "*" 8` bits
    long double.. `expr $ac_t$ac_cv_sizeof_ldouble "*" 8` bits
END

cat >> confdefs.h <<END
#define SIZEOF_CHAR $ac_cv_sizeof_char
#define SIZEOF_SHORT $ac_cv_sizeof_short
#define SIZEOF_INT $ac_cv_sizeof_int
#define SIZEOF_LONG $ac_cv_sizeof_long
#define SIZEOF_LLONG $ac_cv_sizeof_llong
#define SIZEOF_FLOAT $ac_cv_sizeof_float
#define SIZEOF_DOUBLE $ac_cv_sizeof_double
#define SIZEOF_LDOUBLE $ac_cv_sizeof_ldouble
END

# Checks for header files.
echo $ac_n "  Checking how to run the C preprocessor""... $ac_c" 1>&6
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
  CPP=
fi
if test -z "$CPP"; then
if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
    # This must be in double quotes, not single quotes, because CPP may get
  # substituted into the Makefile and "${CC-cc}" will confuse make.
  CPP="${CC-cc} -E"
  # On the NeXT, cc -E runs the code through the compiler's parser,
  # not just through cpp.
  cat > conftest.$ac_ext <<EOF
#line 861 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
  :
else
  echo "$ac_err" >&5
  rm -rf conftest*
  CPP="${CC-cc} -E -traditional-cpp"
  cat > conftest.$ac_ext <<EOF
#line 875 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
  :
else
  echo "$ac_err" >&5
  rm -rf conftest*
  CPP=/lib/cpp
fi
rm -f conftest*
fi
rm -f conftest*
  ac_cv_prog_CPP="$CPP"
fi
  CPP="$ac_cv_prog_CPP"
else
  ac_cv_prog_CPP="$CPP"
fi
echo "$ac_t""$CPP" 1>&6

echo $ac_n "  Checking for ANSI C header files""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 905 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <float.h>
EOF
eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
  rm -rf conftest*
  ac_cv_header_stdc=yes
else
  echo "$ac_err" >&5
  rm -rf conftest*
  ac_cv_header_stdc=no
fi
rm -f conftest*

if test $ac_cv_header_stdc = yes; then
  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
#line 927 "configure"
#include "confdefs.h"
#include <string.h>
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  egrep "memchr" >/dev/null 2>&1; then
  :
else
  rm -rf conftest*
  ac_cv_header_stdc=no
fi
rm -f conftest*

fi

if test $ac_cv_header_stdc = yes; then
  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF
#line 945 "configure"
#include "confdefs.h"
#include <stdlib.h>
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  egrep "free" >/dev/null 2>&1; then
  :
else
  rm -rf conftest*
  ac_cv_header_stdc=no
fi
rm -f conftest*

fi

if test $ac_cv_header_stdc = yes; then
  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
if test "$cross_compiling" = yes; then
  ac_cv_header_stdc=no
else
cat > conftest.$ac_ext <<EOF
#line 966 "configure"
#include "confdefs.h"
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
int main () { int i; for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }

EOF
eval $ac_link
if test -s conftest && (./conftest; exit) 2>/dev/null; then
  :
else
  ac_cv_header_stdc=no
fi
fi
rm -fr conftest*
fi
fi
echo "$ac_t""$ac_cv_header_stdc" 1>&6
if test $ac_cv_header_stdc = yes; then
  cat >> confdefs.h <<\EOF
#define STDC_HEADERS 1
EOF

fi

echo $ac_n "  Checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1000 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/wait.h>
#ifndef WEXITSTATUS
#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
#endif
#ifndef WIFEXITED
#define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
#endif
int main() { return 0; }
int t() {
int s;
wait (&s);
s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
; return 0; }
EOF
if eval $ac_compile; then
  rm -rf conftest*
  ac_cv_header_sys_wait_h=yes
else
  rm -rf conftest*
  ac_cv_header_sys_wait_h=no
fi
rm -f conftest*

fi
echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&6
if test $ac_cv_header_sys_wait_h = yes; then
  cat >> confdefs.h <<\EOF
#define HAVE_SYS_WAIT_H 1
EOF

fi

echo $ac_n "  Checking whether stat file-mode macros are broken""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1040 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/stat.h>

#if defined(S_ISBLK) && defined(S_IFDIR)
# if S_ISBLK (S_IFDIR)
You lose.
# endif
#endif

#if defined(S_ISBLK) && defined(S_IFCHR)
# if S_ISBLK (S_IFCHR)
You lose.
# endif
#endif

#if defined(S_ISLNK) && defined(S_IFREG)
# if S_ISLNK (S_IFREG)
You lose.
# endif
#endif

#if defined(S_ISSOCK) && defined(S_IFREG)
# if S_ISSOCK (S_IFREG)
You lose.
# endif
#endif

EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  egrep "You lose" >/dev/null 2>&1; then
  rm -rf conftest*
  ac_cv_header_stat_broken=yes
else
  rm -rf conftest*
  ac_cv_header_stat_broken=no
fi
rm -f conftest*

fi
echo "$ac_t""$ac_cv_header_stat_broken" 1>&6
if test $ac_cv_header_stat_broken = yes; then
  cat >> confdefs.h <<\EOF
#define STAT_MACROS_BROKEN 1
EOF

fi

echo $ac_n "  Checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1094 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
#include <time.h>
int main() { return 0; }
int t() {
struct tm *tp;
; return 0; }
EOF
if eval $ac_compile; then
  rm -rf conftest*
  ac_cv_header_time=yes
else
  rm -rf conftest*
  ac_cv_header_time=no
fi
rm -f conftest*

fi
echo "$ac_t""$ac_cv_header_time" 1>&6
if test $ac_cv_header_time = yes; then
  cat >> confdefs.h <<\EOF
#define TIME_WITH_SYS_TIME 1
EOF

fi

for ac_hdr in fcntl.h sys/file.h sys/time.h unistd.h vfork.h
do
ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
echo $ac_n "  Checking for <$ac_hdr>""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1130 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
  rm -rf conftest*
  eval "ac_cv_header_$ac_safe=yes"
else
  echo "$ac_err" >&5
  rm -rf conftest*
  eval "ac_cv_header_$ac_safe=no"
fi
rm -f conftest*
fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
  echo "$ac_t""yes" 1>&6
    ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
  cat >> confdefs.h <<EOF
#define $ac_tr_hdr 1
EOF
 
else
  echo "$ac_t""no" 1>&6
fi
done


#########################################################
echo $ac_n "  Checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_decl_sys_siglist'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1164 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
/* NetBSD declares sys_siglist in unistd.h.  */
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
int main() { return 0; }
int t() {
char *msg = *(sys_siglist + 1);
; return 0; }
EOF
if eval $ac_compile; then
  rm -rf conftest*
  ac_cv_decl_sys_siglist=yes
else
  rm -rf conftest*
  ac_cv_decl_sys_siglist=no
fi
rm -f conftest*

fi
echo "$ac_t""$ac_cv_decl_sys_siglist" 1>&6
if test $ac_cv_decl_sys_siglist = yes; then
  cat >> confdefs.h <<\EOF
#define SYS_SIGLIST_DECLARED 1
EOF

fi


#echo $ac_n "  Checking for inline""... $ac_c" 1>&6
#if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
#  echo $ac_n "(cached) $ac_c" 1>&6
#else
#  ac_cv_c_inline=no
#for ac_kw in inline __inline__ __inline; do
#  cat > conftest.$ac_ext <<EOF
##line 1203 "configure"
##include "confdefs.h"
#
#int main() { return 0; }
#int t() {
#} $ac_kw foo() {
#; return 0; }
#EOF
#if eval $ac_compile; then
#  rm -rf conftest*
#  ac_cv_c_inline=$ac_kw; break
#fi
#rm -f conftest*
#
#done
#
#fi
#echo "$ac_t""$ac_cv_c_inline" 1>&6
#case "$ac_cv_c_inline" in
#  inline | yes) ;;
#  no) cat >> confdefs.h <<\EOF
##define inline 
#EOF
# ;;
#  *)  cat >> confdefs.h <<EOF
##define inline $ac_cv_c_inline
#EOF
# ;;
#esac

echo $ac_n "  Checking for working const""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1238 "configure"
#include "confdefs.h"

int main() { return 0; }
int t() {

/* Ultrix mips cc rejects this.  */
typedef int charset[2]; const charset x;
/* SunOS 4.1.1 cc rejects this.  */
char const *const *ccp;
char **p;
/* NEC SVR4.0.2 mips cc rejects this.  */
struct point {int x, y;};
static struct point const zero;
/* AIX XL C 1.02.0.0 rejects this.
   It does not let you subtract one const X* pointer from another in an arm
   of an if-expression whose if-part is not a constant expression */
const char *g = "string";
ccp = &g + (g ? g-g : 0);
/* HPUX 7.0 cc rejects these. */
++ccp;
p = (char**) ccp;
ccp = (char const *const *) p;
{ /* SCO 3.2v4 cc rejects this.  */
  char *t;
  char const *s = 0 ? (char *) 0 : (char const *) 0;

  *t++ = 0;
}
{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
  int x[] = {25, 17};
  const int *foo = &x[0];
  ++foo;
}
{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
  typedef const int *iptr;
  iptr p = 0;
  ++p;
}
{ /* AIX XL C 1.02.0.0 rejects this saying
     "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
  struct s { int j; const int *ap[3]; };
  struct s *b; b->j = 5;
}
{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
  const int foo = 10;
}

; return 0; }
EOF
if eval $ac_compile; then
  rm -rf conftest*
  ac_cv_c_const=yes
else
  rm -rf conftest*
  ac_cv_c_const=no
fi
rm -f conftest*

fi
echo "$ac_t""$ac_cv_c_const" 1>&6
if test $ac_cv_c_const = no; then
  cat >> confdefs.h <<\EOF
#define const 
EOF

fi


echo $ac_n "  Checking for off_t""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1312 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
#include <stdlib.h>
#endif
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  egrep "off_t" >/dev/null 2>&1; then
  rm -rf conftest*
  ac_cv_type_off_t=yes
else
  rm -rf conftest*
  ac_cv_type_off_t=no
fi
rm -f conftest*

fi
echo "$ac_t""$ac_cv_type_off_t" 1>&6
if test $ac_cv_type_off_t = no; then
  cat >> confdefs.h <<\EOF
#define off_t long
EOF

fi

echo $ac_n "  Checking for pid_t""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1343 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
#include <stdlib.h>
#endif
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  egrep "pid_t" >/dev/null 2>&1; then
  rm -rf conftest*
  ac_cv_type_pid_t=yes
else
  rm -rf conftest*
  ac_cv_type_pid_t=no
fi
rm -f conftest*

fi
echo "$ac_t""$ac_cv_type_pid_t" 1>&6
if test $ac_cv_type_pid_t = no; then
  cat >> confdefs.h <<\EOF
#define pid_t int
EOF

fi

echo $ac_n "  Checking for size_t""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1374 "configure"
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
#include <stdlib.h>
#endif
EOF
if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
  egrep "size_t" >/dev/null 2>&1; then
  rm -rf conftest*
  ac_cv_type_size_t=yes
else
  rm -rf conftest*
  ac_cv_type_size_t=no
fi
rm -f conftest*

fi
echo "$ac_t""$ac_cv_type_size_t" 1>&6
if test $ac_cv_type_size_t = no; then
  cat >> confdefs.h <<\EOF
#define size_t unsigned
EOF

fi

echo $ac_n "  Checking return type of signal handlers""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1405 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <signal.h>
#ifdef signal
#undef signal
#endif
#ifdef __cplusplus
extern "C"
#endif
void (*signal ()) ();
int main() { return 0; }
int t() {
int i;
; return 0; }
EOF
if eval $ac_compile; then
  rm -rf conftest*
  ac_cv_type_signal=void
else
  rm -rf conftest*
  ac_cv_type_signal=int
fi
rm -f conftest*

fi
echo "$ac_t""$ac_cv_type_signal" 1>&6
cat >> confdefs.h <<EOF
#define RETSIGTYPE $ac_cv_type_signal
EOF



echo $ac_n "  Checking whether struct tm is in <sys/time.h> or <time.h>""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_struct_tm'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1443 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <time.h>
int main() { return 0; }
int t() {
struct tm *tp; tp->tm_sec;
; return 0; }
EOF
if eval $ac_compile; then
  rm -rf conftest*
  ac_cv_struct_tm=time.h
else
  rm -rf conftest*
  ac_cv_struct_tm=sys/time.h
fi
rm -f conftest*

fi
echo "$ac_t""$ac_cv_struct_tm" 1>&6
if test $ac_cv_struct_tm = sys/time.h; then
  cat >> confdefs.h <<\EOF
#define TM_IN_SYS_TIME 1
EOF

fi

echo $ac_n "  Checking for d_namlen in struct dirent""... $ac_c" 1>&6

if eval "test \"`echo '$''{'ac_cv_struct_d_namlen'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1475 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <dirent.h>
int main() { return 0; }
int t() {
struct dirent d; d.d_namlen;
; return 0; }
EOF
  if eval $ac_compile; then
    rm -rf conftest*
    ac_cv_struct_d_namlen=yes
  else
    rm -rf conftest*
    ac_cv_struct_d_namlen=no
  fi
  rm -f conftest*

fi

echo "$ac_t""$ac_cv_struct_d_namlen" 1>&6
if test "$ac_cv_struct_d_namlen" = yes; then
  cat >> confdefs.h <<\EOF
#define HAVE_D_NAMLEN 1
EOF
fi

echo $ac_n "  Checking for tm_gmtoff in struct tm""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_struct_tm_gmtoff'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1475 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_cv_struct_tm>
int main() { return 0; }
int t() {
struct tm tm; tm.tm_gmtoff;
; return 0; }
EOF
  if eval $ac_compile; then
    rm -rf conftest*
    ac_cv_struct_tm_gmtoff=yes
  else
    rm -rf conftest*
    ac_cv_struct_tm_gmtoff=no
  fi
  rm -f conftest*

fi
echo "$ac_t""$ac_cv_struct_tm_gmtoff" 1>&6
if test "$ac_cv_struct_tm_gmtoff" = yes; then
  cat >> confdefs.h <<\EOF
#define HAVE_TM_GMTOFF 1
EOF
fi

echo $ac_n "  Checking for tm_zone in struct tm""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_struct_tm_zone'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1475 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_cv_struct_tm>
int main() { return 0; }
int t() {
struct tm tm; tm.tm_zone;
; return 0; }
EOF
if eval $ac_compile; then
  rm -rf conftest*
  ac_cv_struct_tm_zone=yes
else
  rm -rf conftest*
  ac_cv_struct_tm_zone=no
fi
rm -f conftest*

fi
echo "$ac_t""$ac_cv_struct_tm_zone" 1>&6
if test "$ac_cv_struct_tm_zone" = yes; then
  cat >> confdefs.h <<\EOF
#define HAVE_TM_ZONE 1
EOF

else
  echo $ac_n "  Checking for tzname""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_var_tzname'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1506 "configure"
#include "confdefs.h"
#include <time.h>
#ifndef tzname /* For SGI.  */
extern char *tzname[]; /* RS6000 and others reject char **tzname.  */
#endif
int main() { return 0; }
int t() {
atoi(*tzname);
; return 0; }
EOF
if eval $ac_link; then
  rm -rf conftest*
  ac_cv_var_tzname=yes
else
  rm -rf conftest*
  ac_cv_var_tzname=no
fi
rm -f conftest*

fi
  echo "$ac_t""$ac_cv_var_tzname" 1>&6
  if test $ac_cv_var_tzname = yes; then
    cat >> confdefs.h <<\EOF
#define HAVE_TZNAME 1
EOF

  fi
fi

# lib -lnsl (Solaris)
echo $ac_n "  Checking for -lnsl""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_lib_nsl'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1793 "configure"
#include "confdefs.h"

int main() { return 0; }
int t() {
gethostbyname()
; return 0; }
EOF
if eval $ac_link; then
  rm -rf conftest*
  eval "ac_cv_lib_nsl=yes"
else
  rm -rf conftest*
  eval "ac_cv_lib_nsl=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"

fi
if eval "test \"`echo '$ac_cv_lib_'nsl`\" = yes"; then
  echo "$ac_t""yes" 1>&6
  LIBS="-lnsl $LIBS"
else
  echo "$ac_t""no" 1>&6
fi

# lib -lcrypt
libcrypt=no
echo $ac_n "  Checking for -lcrypt""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_lib_crypt'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
  libcrypt=$ac_cv_lib_crypt
else
  libcrypt=yes
  ac_save_LIBS="$LIBS"
LIBS="-lcrypt $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1793 "configure"
#include "confdefs.h"

int main() { return 0; }
int t() {
crypt()
; return 0; }
EOF
if eval $ac_link; then
  rm -rf conftest*
  eval "ac_cv_lib_crypt=yes"
else
  rm -rf conftest*
  eval "ac_cv_lib_crypt=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"

fi

if eval "test \"`echo '$ac_cv_lib_'crypt`\" = yes"; then
  echo "$ac_t""yes" 1>&6
  LIBS="-lcrypt $LIBS"
else
  echo "$ac_t""no" 1>&6
fi

# lib -lm
echo $ac_n "  Checking for -lm""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_lib_m'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  ac_save_LIBS="$LIBS"
LIBS="-lm $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1793 "configure"
#include "confdefs.h"

int main() { return 0; }
EOF

if eval $ac_link; then
  rm -rf conftest*
  eval "ac_cv_lib_m=yes"
else
  rm -rf conftest*
  eval "ac_cv_lib_m=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"

fi
if eval "test \"`echo '$ac_cv_lib_'m`\" = yes"; then
  echo "$ac_t""yes" 1>&6
  LIBS="-lm $LIBS"
else
  echo "$ac_t""no" 1>&6
fi

# lib -lsocket (Solaris)
echo $ac_n "  Checking for -lsocket""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_lib_socket'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  ac_save_LIBS="$LIBS"
LIBS="-lsocket $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1793 "configure"
#include "confdefs.h"

int main() { return 0; }
int t() {
socket()
; return 0; }
EOF
if eval $ac_link; then
  rm -rf conftest*
  eval "ac_cv_lib_socket=yes"
else
  rm -rf conftest*
  eval "ac_cv_lib_socket=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"

fi
if eval "test \"`echo '$ac_cv_lib_'socket`\" = yes"; then
  echo "$ac_t""yes" 1>&6
  LIBS="-lsocket $LIBS"
else
  echo "$ac_t""no" 1>&6
fi

#####
# strftime is in -lintl on SCO UNIX.
echo $ac_n "  Checking for -lintl""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_lib_intl'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1793 "configure"
#include "confdefs.h"

int main() { return 0; }
int t() {
strftime()
; return 0; }
EOF
if eval $ac_link; then
  rm -rf conftest*
  eval "ac_cv_lib_intl=yes"
else
  rm -rf conftest*
  eval "ac_cv_lib_intl=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"

fi
if eval "test \"`echo '$ac_cv_lib_'intl`\" = yes"; then
  echo "$ac_t""yes" 1>&6
  LIBS="-lintl $LIBS"
else
  echo "$ac_t""no" 1>&6
fi

# echo $ac_n "  Checking for strftime""... $ac_c" 1>&6
# if eval "test \"`echo '$''{'ac_cv_func_strftime'+set}'`\" = set"; then
#   echo $ac_n "(cached) $ac_c" 1>&6
# else
#   cat > conftest.$ac_ext <<EOF
# #line 1824 "configure"
# #include "confdefs.h"
# /* System header to define __stub macros and hopefully few prototypes,
#     which can conflict with char strftime(); below.  */
# #include <assert.h>
# /* Override any gcc2 internal prototype to avoid an error.  */
# char strftime(); 
# 
# int main() { return 0; }
# int t() {
# 
# /* The GNU C library defines this 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_strftime) || defined (__stub___strftime)
# choke me
# #else
# strftime();
# #endif
# 
# ; return 0; }
# EOF
# if eval $ac_link; then
#   rm -rf conftest*
#   eval "ac_cv_func_strftime=yes"
# else
#   rm -rf conftest*
#   eval "ac_cv_func_strftime=no"
# fi
# rm -f conftest*
# 
# fi
# if eval "test \"`echo '$ac_cv_func_'strftime`\" = yes"; then
#   echo "$ac_t""yes" 1>&6
#   cat >> confdefs.h <<\EOF
# #define HAVE_STRFTIME 1
# EOF
# 
# else
#   echo "$ac_t""no" 1>&6
# fi


# Checks for library functions.
echo $ac_n "  Checking for vprintf()""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1543 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char vprintf(); below.  */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error.  */
char vprintf(); 

int main() { return 0; }
int t() {

/* The GNU C library defines this 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_vprintf) || defined (__stub___vprintf)
choke me
#else
vprintf();
#endif

; return 0; }
EOF
if eval $ac_link; then
  rm -rf conftest*
  eval "ac_cv_func_vprintf=yes"
else
  rm -rf conftest*
  eval "ac_cv_func_vprintf=no"
fi
rm -f conftest*

fi
if eval "test \"`echo '$ac_cv_func_'vprintf`\" = yes"; then
  echo "$ac_t""yes" 1>&6
  cat >> confdefs.h <<\EOF
#define HAVE_VPRINTF 1
EOF

else
  echo "$ac_t""no" 1>&6
fi

if test "$ac_cv_func_vprintf" != yes; then

echo $ac_n "  Checking for _doprnt()""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1591 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char _doprnt(); below.  */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error.  */
char _doprnt(); 

int main() { return 0; }
int t() {

/* The GNU C library defines this 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__doprnt) || defined (__stub____doprnt)
choke me
#else
_doprnt();
#endif

; return 0; }
EOF
if eval $ac_link; then
  rm -rf conftest*
  eval "ac_cv_func__doprnt=yes"
else
  rm -rf conftest*
  eval "ac_cv_func__doprnt=no"
fi
rm -f conftest*

fi
if eval "test \"`echo '$ac_cv_func_'_doprnt`\" = yes"; then
  echo "$ac_t""yes" 1>&6
  cat >> confdefs.h <<\EOF
#define HAVE_DOPRNT 1
EOF

else
  echo "$ac_t""no" 1>&6
fi

fi

echo $ac_n "  Checking for working vfork()""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_func_vfork'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  if test "$cross_compiling" = yes; then
  ac_cv_func_vfork=no
else
cat > conftest.$ac_ext <<EOF
#line 1675 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test.  */
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_VFORK_H
#include <vfork.h>
#endif
/* On some sparc systems, changes by the child to local and incoming
   argument registers are propagated back to the parent.
   The compiler is told about this with #include <vfork.h>,
   but some compilers (e.g. gcc -O) don't grok <vfork.h>.
   Test for this by using a static variable whose address
   is put into a register that is clobbered by the vfork.  */
static
#ifdef __cplusplus
sparc_address_test (int arg)
#else
sparc_address_test (arg) int arg;
#endif
{
  static pid_t child;
  if (!child) {
    child = vfork ();
    if (child < 0)
      perror ("vfork");
    if (!child) {
      arg = getpid();
      write(-1, "", 0);
      _exit (arg);
    }
  }
}
main() {
  pid_t parent = getpid ();
  pid_t child;

  sparc_address_test ();

  child = vfork ();

  if (child == 0) {
    /* Here is another test for sparc vfork register problems.
       This test uses lots of local variables, at least
       as many local variables as main has allocated so far
       including compiler temporaries.  4 locals are enough for
       gcc 1.40.3 on a Solaris 4.1.3 sparc, but we use 8 to be safe.
       A buggy compiler should reuse the register of parent
       for one of the local variables, since it will think that
       parent can't possibly be used any more in this routine.
       Assigning to the local variable will thus munge parent
       in the parent process.  */
    pid_t
      p = getpid(), p1 = getpid(), p2 = getpid(), p3 = getpid(),
      p4 = getpid(), p5 = getpid(), p6 = getpid(), p7 = getpid();
    /* Convince the compiler that p..p7 are live; otherwise, it might
       use the same hardware register for all 8 local variables.  */
    if (p != p1 || p != p2 || p != p3 || p != p4
	|| p != p5 || p != p6 || p != p7)
      _exit(1);

    /* On some systems (e.g. IRIX 3.3),
       vfork doesn't separate parent from child file descriptors.
       If the child closes a descriptor before it execs or exits,
       this munges the parent's descriptor as well.
       Test for this by closing stdout in the child.  */
    _exit(close(fileno(stdout)) != 0);
  } else {
    int status;
    struct stat st;

    while (wait(&status) != child)
      ;
    exit(
	 /* Was there some problem with vforking?  */
	 child < 0

	 /* Did the child fail?  (This shouldn't happen.)  */
	 || status

	 /* Did the vfork/compiler bug occur?  */
	 || parent != getpid()

	 /* Did the file descriptor bug occur?  */
	 || fstat(fileno(stdout), &st) != 0
	 );
  }
}
EOF
eval $ac_link
if test -s conftest && (./conftest; exit) 2>/dev/null; then
  ac_cv_func_vfork=yes
else
  ac_cv_func_vfork=no
fi
fi
rm -fr conftest*
fi
echo "$ac_t""$ac_cv_func_vfork" 1>&6
if test $ac_cv_func_vfork = no; then
  cat >> confdefs.h <<\EOF
#define vfork fork
EOF

fi

for ac_func in strftime gettimeofday mkdir select socket strcspn strerror getrusage strstr memmove crypt
do
echo $ac_n "  Checking for $ac_func()""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1873 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char $ac_func(); below.  */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error.  */
char $ac_func(); 

int main() { return 0; }
int t() {

/* The GNU C library defines this 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)
choke me
#else
$ac_func();
#endif

; return 0; }
EOF
if eval $ac_link; then
  rm -rf conftest*
  eval "ac_cv_func_$ac_func=yes"
else
  rm -rf conftest*
  eval "ac_cv_func_$ac_func=no"
fi
rm -f conftest*

fi
if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
  echo "$ac_t""yes" 1>&6
    ac_tr_func=HAVE_`echo $ac_func | tr '[a-z]' '[A-Z]'`
  cat >> confdefs.h <<EOF
#define $ac_tr_func 1
EOF
 
else
  echo "$ac_t""no" 1>&6
fi
done

########## look for inet_aton()
echo $ac_n "  Checking for inet_aton()... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_func_inet_aton'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1873 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with char inet_aton(); below.  */
#include <assert.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>

int main() { return 0; }
int t() {
    struct in_addr in;

/* The GNU C library defines this 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_inet_aton) || defined (__stub___inet_aton)
choke me
#else
inet_aton("127.0.0.1", &in);
#endif

return 0; }
EOF
if eval $ac_link; then
  rm -rf conftest*
  eval "ac_cv_func_inet_aton=yes"
else
  rm -rf conftest*
  eval "ac_cv_func_inet_aton=no"
fi
rm -f conftest*

fi
if eval "test \"`echo '$ac_cv_func_'inet_aton`\" = yes"; then
  echo "$ac_t""yes" 1>&6
    ac_tr_func=HAVE_`echo inet_aton | tr '[a-z]' '[A-Z]'`
  cat >> confdefs.h <<EOF
#define $ac_tr_func 1
EOF
 
else
  echo "$ac_t""no" 1>&6
fi

########## look for finite()
echo $ac_n "  Checking for finite()... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_func_finite'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1873 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with finite(); below.  */
#include <assert.h>
#include <math.h>

int main() { return 0; }
int t() {
/* The GNU C library defines this 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_finite) || defined (__stub___finite)
choke me
#else
finite(0.0);
#endif

return 0; }
EOF
if eval $ac_link; then
  rm -rf conftest*
  eval "ac_cv_func_finite=yes"
else
  rm -rf conftest*
  eval "ac_cv_func_finite=no"
fi
rm -f conftest*

fi

if eval "test \"`echo '$ac_cv_func_'finite`\" = yes"; then
  echo "$ac_t""yes" 1>&6
    ac_tr_func=HAVE_`echo finite | tr '[a-z]' '[A-Z]'`
  cat >> confdefs.h <<EOF
#define $ac_tr_func 1
EOF
else
  echo "$ac_t""no" 1>&6
  cat <<END
!!
!! Your OS does not support the math function 'finite()'!
!!
!! This means no checks are made on floating numbers, to see if they
!! are NaN or Inf.  This can lead to corrupted data!
!!
END
fi

########## look for rint()
echo $ac_n "  Checking for rint()... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_func_rint'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1873 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
    which can conflict with rint(); below.  */
#include <assert.h>
#include <math.h>

int main() { return 0; }
int t() {
/* The GNU C library defines this 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_rint) || defined (__stub___rint)
choke me
#else
rint(0.0);
#endif

return 0; }
EOF
if eval $ac_link; then
  rm -rf conftest*
  eval "ac_cv_func_rint=yes"
else
  rm -rf conftest*
  eval "ac_cv_func_rint=no"
fi
rm -f conftest*

fi

if eval "test \"`echo '$ac_cv_func_'rint`\" = yes"; then
  echo "$ac_t""yes" 1>&6
    ac_tr_func=HAVE_RINT
  cat >> confdefs.h <<EOF
#define $ac_tr_func 1
EOF
else
  echo "$ac_t""no" 1>&6
fi

#########################################################
## Find an implementation of the db libraries

echo 1>&6
echo "  Checking for how to get db support" 1>&6

# preferred entries are at the end of the list
for ac_hdr in gdbm-ndbm.h db1/ndbm.h ndbm.h db.h
do
ac_safe=`echo "$ac_hdr" | tr './\055' '___'`
echo $ac_n "    Checking for <$ac_hdr>""... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1130 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
eval "$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
  rm -rf conftest*
  eval "ac_cv_header_$ac_safe=yes"
else
  echo "$ac_err" >&5
  rm -rf conftest*
  eval "ac_cv_header_$ac_safe=no"
fi
rm -f conftest*
fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
  echo "$ac_t""yes" 1>&6
    ac_tr_hdr=HAVE_`echo $ac_hdr | tr '[a-z]./\055' '[A-Z]___'`
  cat >> confdefs.h <<EOF
#define $ac_tr_hdr 1
EOF
  db_header_to_use=$ac_hdr
 
else
  echo "$ac_t""no" 1>&6
fi
done

if test -z "$db_header_to_use"; then
  echo "      Unable to figure out what header to include to get db support" 1>&6
  exit 1
else
  echo "      Using... <$ac_hdr>" 1>&6
  cat >> confdefs.h <<EOF
#define DBM_H_FILE <$db_header_to_use>
EOF
fi

echo $ac_n "    Checking to see if DB_DBM_HSEARCH needs to be defined... $ac_c" 1>&6
if eval "test \"`echo '$''{'ac_cv_db_dbm_hsearch'+set}'`\" = set"; then
  echo $ac_n "(cached) $ac_c" 1>&6
else
  cat > conftest.$ac_ext <<EOF
#line 1094 "configure"
#include <$db_header_to_use>
datum test_var;
int main() { return 0; }
EOF
  if eval $ac_compile; then
    ac_cv_db_dbm_hsearch=no
  else
    cat > conftest.$ac_ext <<EOF
#line 1094 "configure"
#define DB_DBM_HSEARCH 1
#include <$db_header_to_use>
datum test_var;
int main() { return 0; }
EOF
    if eval $ac_compile; then
      ac_cv_db_dbm_hsearch=yes
    else
      ac_cv_db_dbm_hsearch=no
    fi
  fi
  rm -f conftest*
fi

echo "$ac_t""$ac_cv_db_dbm_hsearch" 1>&6
if test $ac_cv_db_dbm_hsearch = yes; then
  cat >> confdefs.h <<\EOF
#define DB_DBM_HSEARCH 1
EOF
fi

## check for a dbm library to use..

for ac_lib in gdbm gdbm_compat ndbm db; do
  echo $ac_n "    Checking for -l$ac_lib""... $ac_c" 1>&6
  if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib'+set}'`\" = set"; then
    echo $ac_n "(cached) $ac_c" 1>&6
  else
    ac_save_LIBS="$LIBS"
    LIBS="-l$ac_lib $LIBS"
    cat > conftest.$ac_ext <<EOF
#line 1793 "configure"
#include "confdefs.h"
#define DB_DBM_HSEARCH 1
#include <$db_header_to_use>
int main() { return 0; }
int t() {
dbm_open(NULL, NULL, NULL)
; return 0; }
EOF
    if eval $ac_link; then
      eval "ac_cv_lib_$ac_lib=yes"
    else
      eval "ac_cv_lib_$ac_lib=no"
    fi
    rm -f conftest*
    LIBS="$ac_save_LIBS"
  fi

  if eval "test \"`echo '$ac_cv_lib_'$ac_lib`\" = yes"; then
    echo "$ac_t""yes" 1>&6
    db_lib_to_use=$ac_lib
  else 
    echo "$ac_t""no" 1>&6
  fi
done

if test -z "$db_lib_to_use"; then
  echo "      Unable to figure out what library to ling to get db support"
  exit 1
else
  LIBS="-l$db_lib_to_use $LIBS"
  echo "      Using... -l$db_lib_to_use" 1>&6
fi

if eval "test \"`echo '$ac_cv_lib_'ndbm`\" = yes"; then
  if [ $SYS = "hp-hpux" ]; then
    cat <<END
** WARNING: the ndbm library in HPUX has been known to be dysfunctional,
** WARNING: it is suggested you get the gdbm library from:
** WARNING:
** WARNING:    ftp://prep.ai.mit.edu/pub/gnu/
** WARNING:
** WARNING: and use it instead (reconfigure)
END
  fi
fi

echo 1>&6

######################################################################
echo "- Genesis Configuration"

# find a good pager
pager=

# try less first
for ac_dir in $PATH; do
  test -z "$ac_dir" && ac_dir=.
  if test -f $ac_dir/less; then
    pager="less"
    break
  fi
done

# then more
if test -z "$pager"; then
  for ac_dir in $PATH; do
    test -z "$ac_dir" && ac_dir=.
    if test -f $ac_dir/more; then
      pager=more
      break
    fi
  done
fi

# default to cat
if test -z "$pager"; then
    pager=cat
fi

##########################################
## malloc

##########################################
## crypt
cat <<END

###
### CRYPT()
###
# 
# The ColdC builtin function crypt() uses SHA-1 encryption based off FreeBSD's
# MD5 crypt().  If your OS has its own crypt() (likely DES based), and your
# database includes DES encrypted passwords (this used to be the default for
# ColdC crypt()), you may want to have match_crypted() use DES encryption
# as well as SHA-1 for the DES passwords.  If your database does not have
# any DES encrypted passwords, there is no need to include DES encryption.
# If your database predates Genesis 1.0p14 it will have DES based passwords.
#
END

if [ "$ac_cv_func_crypt" != yes ]; then
    echo "#"
    echo "# Your OS ($SYS) does not seem to support crypt()"
    echo "#"
    echo $ac_n "[continue]$ac_c"
    read in
else
    echo
    echo $ac_n "Include your OS crypt() in match_crypted()? [no] $ac_c"
    read in
    if [ "$in" = y -o "$in" = yes -o "$in" = Y -o "$in" = YES ]; then
        cat >> confdefs.h <<EOF
#define USE_OS_CRYPT 1
EOF
    else
        ## nix libcrypt from the LIBS list
        if [ $libcrypt = yes ]; then
            echo "Purging -lcrypt from your libraries list";
            LIBS=`echo $LIBS | sed -e 's: *-lcrypt *: :'`
        fi
    fi
fi

##########################################
## file ops
cat <<END

###
### FILES
###
# 
# File operations may be restricted.  Restrictions include paths
# (all files must stay within the 'root' subdirectory), as well as
# other security restrictions, such as disallowing sticky or setuid
# file perms with fchmod()
#

END

echo $ac_n "Restrict files? [yes] $ac_c"

read input
if [ x$input != x"n" -a \
     x$input != x"no" -a \
     x$input != x"N" -a \
     x$input != x"NO" ]; then
    cat >> confdefs.h <<EOF
#define RESTRICTIVE_FILES 1
EOF

fi

##########################################
## cache size

cat <<END

###
### CACHE SIZE
###
# 
# The size of the object cache will ultimately determine how much memory
# genesis will use, when running.  The cache is defined as WIDTH by DEPTH.
# the primary number to be concerned with is WIDTH, as the DEPTH is only
# used when collisions occur.  For better distribution, the WIDTH size
# should be a prime number.  If you want low memory usage (about 4MB in
# unix) a cache size of 31x10 is suggested, increase as you desire.
# Keep in mind this is ONLY active objects in your database, namely those
# which are currently in use.
#
# You can use GNU's bc command with the file etc/primes.b to generate a list
# of prime numbers in the range you are interested in, by typing:
#
#    bc etc/primes.p
#

END

CACHE_WIDTH=61
CACHE_DEPTH=10

loop=yes
while [ "$loop" = "yes" ]; do
    echo $ac_n "Cache Width [$CACHE_WIDTH] $ac_c"
    read input

    if [ "$input" = "" ]; then
        loop=no
    else
        expr=`expr $input + 0 2>&1`
        if [ "$expr" != "$input" ]; then
            expr=`echo "$expr" | sed -e 's/^expr: *//'`
            echo "Invalid Width: $expr"
        else
            loop=no
            CACHE_WIDTH=$expr
        fi
    fi
done

loop=yes
while [ "$loop" = "yes" ]; do
    echo $ac_n "Cache Depth [$CACHE_DEPTH] $ac_c"
    read input

    if [ "$input" = "" ]; then
        loop=no
    else
        expr=`expr $input + 0 2>&1`
        if [ "$expr" != "$input" ]; then
            expr=`echo "$expr" | sed -e 's/^expr: *//'`
            echo "Invalid DEPTH: $expr"
        else
            loop=no
            CACHE_DEPTH=$expr
        fi
    fi
done

cat >> confdefs.h <<EOF
#define CACHE_WIDTH $CACHE_WIDTH
#define CACHE_DEPTH $CACHE_DEPTH
EOF

##########################################
## install directory
cat <<END

###
### INSTALL
###
# 
# Where do you want to install Genesis?  This is the database/world
# directory, and should be seperate from the Genesis release directory,
# so you can delete the entire Genesis release directory when finished.
#

END

loop=yes
INSTALL="~/cold"

while [ "$loop" = "yes" ]; do
    echo $ac_n "Install Directory [$INSTALL] $ac_c"

    read input

    if [ x$input = x ]; then
        input="~/cold"
    fi

    INSTALL=`eval echo $input`
    if [ `echo $INSTALL | cut -c1` = "~" ]; then
        echo "Standard ~ escape doesnt work in this shell, trying workaround.."
        INSTALL=`eval echo $INSTALL | sed -e "s:~:$HOME:"`
    fi

    if [ ! -d "$INSTALL" ]; then
        echo "Warning: $INSTALL does not exist"
        echo $ac_n "Specify alternate directory? [yes] $ac_c"
        read input

        if [ "$input" = "n" -o \
             "$input" = "no" -o \
             "$input" = "N" -o \
             "$input" = "NO" ]; then
            loop=no
        fi
    else
        loop=no
    fi
done

cat <<END

# Which install mode?
#
# Do not change this unless you understand the implications.

END

I_MODE=755

echo $ac_n "Install Mode [$I_MODE] $ac_c"

read i_mode

if [ "$i_mode" = "" ]; then
    i_mode=$I_MODE
fi

cat <<END

# Which User to install as?  Do not change this unless you are root,
# or are aware of the implications.

END

echo $ac_n "Install User [$USER] $ac_c"

read i_user

if [ "$i_user" = "" ]; then
    i_user=$USER
fi

##########################################
## compile optimization flags
cat <<END

###
### COMPILER FLAGS
###
#
# Specify compiler optimization flags (if you are unsure which to use,
# simply select the default).
#
END


if test "$ac_cv_prog_gcc" = yes; then
    opt_default='-g -O'
    cat <<END
# You are running gcc, suggested:
#
#  -O3                       -- full optimization, good for basic compilation
END
    if test "$ac_cv_prog_gcc_g" = yes; then
        cat <<END
#  -ggdb -O -Wall -pedantic  -- use this for driver development
END
    else
        cat <<END
#  -ggdb -Wall -pedantic     -- use this for driver development
END
    fi
else
    opt_default='-g'
fi

echo
echo $ac_n "Optimization flags: [$opt_default] $ac_c"
read input

if test X"$input" = X""; then
    input=$opt_default
fi

## the echo rips out extra spaces
CFLAGS=`echo $CFLAGS $input`

##########################################################################
## Modules
##
## to add modules in the config file:
##
##  1) add to 'modules' variable
##  2) add an 'ac_cv_mod_xxx' variable
##  3) add to BOTH locations where modules are printed
##

moddir="src/modules"
modfile="src/modules/moddef.h"
inc="module.inc"
defs="module.defs"
conf="$moddir/mod.conf"

modules=`grep -v '^ *#' $conf | cut -d'	' -f1`
moddef=`grep -v '^ *#' $conf | cut -d'	' -f1,2`
modname=`grep -v '^ *#' $conf | cut -d'	' -f1,3`

## fix formatting
modules=`echo $modules`
moddef=`echo $moddef`
modname=`echo $modname`

for i in $modules; do
    tmp=`grep "^$i	" $conf | cut -d'	' -f2`
    eval "ac_cv_mod_${i}=$tmp"
    tmp=`grep "^$i	" $conf | cut -d'	' -f3`
    eval "mod_${i}_name=$tmp"
done

trap "rm -f $inc $defs $moduledef; exit" 1 2 15

cat <<END

# Genesis allows for native methods to be included in the database.
# This is done through modules, where each module adds native methods
# to one or more objects.  For more information on adding your own
# native methods, refer to the documentation.
#
END

if test -z "$PERL"; then
    echo "# Your current configuration is:"
    echo "#"
    for i in $modules; do
        eval "tmp_name=`echo '$mod_'${i}'_name'`"
        eval "tmp_value=`echo '$ac_cv_mod_'${i}`"
        echo "#         $tmp_name: $tmp_value"
    done

    cat <<END

!!
!! configure was unable to find 'perl' in your PATH.  The programs which
!! reconfigure your modules use perl.  If you wish to reconfigure your
!! modules you will have to get perl version 5 or higher.
!!

END
    objs=""
    for i in $modules; do
        if test -r "src/modules/$i.mod"; then
            objs="$objs `grep '^objs ' src/modules/$i.mod|sed -e 's/^objs //'`"
        fi
    done

    MOD_O=""
    for i in $objs; do
        MOD_O="$MOD_O modules/$i"
    done

else

    query=no
    while true; do
        echo "# Your current module configuration is:"
        echo "#"
        for i in $modules; do
            eval "tmp_name=`echo '$mod_'${i}'_name'`"
            eval "tmp_value=`echo '$ac_cv_mod_'${i}`"
            echo "#         $tmp_name: $tmp_value"
        done
        echo
        echo $ac_n "Reconfigure Modules? [$query] $ac_c" 1>&6
        read inp
        inp=`echo $inp | tr '[A-Z]' '[a-z]'`
        if test \( -z "$inp" -a "$query" = "no" \) \
                   -o "$inp" = "n" -o "$inp" = "no"; then
            break
        fi

        for ac_mod in $modules; do
        echo $ac_n "Use $ac_mod module? [`eval echo '$ac_cv_mod_'$ac_mod`] $ac_c" 1>&6
        read inp
        inp=`echo $inp | tr '[A-Z]' '[a-z]'`
        if [ -n "$inp" -a \( "$inp" = "y" -o "$inp" = "yes" \) ]; then
            eval "ac_cv_mod_${ac_mod}=yes"
        elif [ -n "$inp" -a \( "$inp" = "n" -o "$inp" = "no" \) ]; then
            eval "ac_cv_mod_${ac_mod}=no"
        fi

        done

        echo
        query=no
    done

    ## now setup the modules
    mod_config=""
    for ac_mod in $modules; do
        if eval "test \"`echo '$ac_cv_mod_'$ac_mod`\" = yes"; then
            mod_config="$mod_config $ac_mod"
        fi
    done

#    if test "$mod_config" != "$modules" -o ! -f $modfile; then
        ## odd quoting makes even spacing
        echo "- Generating module files for:" $mod_config
        owd=`pwd`
        cd $moddir
        objs=`perl modbuild $mod_config`;
        cd $owd
        MOD_O=`echo $objs`
#    else
#        objs=""
#        for i in $modules; do
#          if test -r "src/modules/$i.mod"; then
#            objs="$objs `grep '^objs ' src/modules/$i.mod|sed -e 's/^objs //'`"
#          fi
#        done
#
#        MOD_O=""
#        for i in $objs; do
#          MOD_O="$MOD_O modules/$i"
#        done
#    fi
fi

######################################################################
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs.  It is not useful on other systems.
# If it contains results you don't want to keep, you may remove or edit it.
#
# By default, configure uses ./config.cache as the cache file,
# creating it if it does not exist already.  You can give configure
# the --cache-file=FILE option to use a different cache file; that is
# what configure does when it calls configure scripts in
# subdirectories, so they share the cache.
# Giving --cache-file=/dev/null disables caching, for debugging configure.
# config.status only pays attention to the cache file if you give it the
# --recheck option to rerun configure.
#
EOF
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(set) 2>&1 |
  sed -n "s/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=\${\1='\2'}/p" \
  >> confcache
if cmp -s $cache_file confcache; then
  :
else
  if test -w $cache_file; then
    echo "- Updating cache $cache_file"
    cat confcache > $cache_file
  else
    echo "- Not updating unwritable cache $cache_file"
  fi
fi
rm -f confcache

trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15

test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'

# Any assignment to VPATH causes Sun make to only execute
# the first set of double-colon rules, so remove it if not needed.
# If there is a colon in the path, we need to keep it.
if test "x$srcdir" = x.; then
  ac_vpsub='/^[ 	]*VPATH[ 	]*=[^:]*$/d'
fi

trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15

DEFS=-DHAVE_CONFIG_H

# Without the "./", some shells look in PATH for config.status.
: ${CONFIG_STATUS=./etc/config.status}

echo "- Creating $CONFIG_STATUS"

rm -f $CONFIG_STATUS
cat > $CONFIG_STATUS <<EOF
#! /bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
# $0 $ac_configure_args
#
# Compiler output produced by configure, useful for debugging
# configure, is in ./config.log if it exists.

ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
for ac_option
do
  case "\$ac_option" in
  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
    echo "$CONFIG_STATUS generated by autoconf version 2.4"
    exit 0 ;;
  -help | --help | --hel | --he | --h)
    echo "\$ac_cs_usage"; exit 0 ;;
  *) echo "\$ac_cs_usage"; exit 1 ;;
  esac
done

ac_given_srcdir=$srcdir

trap 'rm -fr `echo "src/Makefile src/modules/Makefile src/ops/Makefile src/data/Makefile src/include/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15

# Protect against being on the right side of a sed subst in config.status. 
sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; 
 s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
$ac_vpsub
$extrasub
s%@CFLAGS@%$CFLAGS%g
s%@CPPFLAGS@%$CPPFLAGS%g
s%@CXXFLAGS@%$CXXFLAGS%g
s%@DEFS@%$DEFS%g
s%@LDFLAGS@%$LDFLAGS%g
s%@MOD_O@%$MOD_O%g
s%@LIBS@%$LIBS%g
s%@exec_prefix@%$exec_prefix%g
s%@prefix@%$prefix%g
s%@program_transform_name@%$program_transform_name%g
s%@system@%$system%g
s%@host_alias@%$host_alias%g
s%@CPU@%$CPU%g
s%@VENDOR@%$VENDOR%g
s%@SYS@%$SYS%g
s%@HOSTNAME@%$hostname%g
s%@target@%$target%g
s%@target_alias@%$target_alias%g
s%@target_cpu@%$target_cpu%g
s%@target_vendor@%$target_vendor%g
s%@target_os@%$target_os%g
s%@build@%$build%g
s%@build_alias@%$build_alias%g
s%@build_cpu@%$build_cpu%g
s%@build_vendor@%$build_vendor%g
s%@build_os@%$build_os%g
s%@CC@%$CC%g
s%@RANLIB@%$RANLIB%g
s%@LINT@%$LINT%g
s%@YACC@%$YACC%g
s%@CPP@%$CPP%g
s%@VERSION@%$VERSION%g
s%@VMAJOR@%$VMAJOR%g
s%@VMINOR@%$VMINOR%g
s%@VPATCH@%$VPATCH%g
s%@VRELEASE@%"$VRELEASE"%g
s%@INSTALL@%$INSTALL%g
s%@USER@%$i_user%g
s%@MODE@%$i_mode%g
CEOF
EOF

cat >> $CONFIG_STATUS <<EOF

CONFIG_FILES=\${CONFIG_FILES-"src/Makefile src/modules/Makefile src/ops/Makefile src/data/Makefile"}
SYS=${SYS}
VENDOR=${VENDOR}
CPU=${CPU}
HOSTNAME=${hostname}
EOF
cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
  # Support "outfile[:infile]", defaulting infile="outfile.in".
  case "$ac_file" in
  *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
  *) ac_file_in="${ac_file}.in" ;;
  esac

  # Adjust relative srcdir, etc. for subdirectories.

  # Remove last slash and all that follows it.  Not all systems have dirname.
  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
    # The file is in a subdirectory.
    test ! -d "$ac_dir" && mkdir "$ac_dir"
    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
    # A "../" for each directory in $ac_dir_suffix.
    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
  else
    ac_dir_suffix= ac_dots=
  fi

  case "$ac_given_srcdir" in
  .)  srcdir=.
      if test -z "$ac_dots"; then top_srcdir=.
      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
  *) # Relative path.
    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
    top_srcdir="$ac_dots$ac_given_srcdir" ;;
  esac

  echo "- Creating $ac_file"
  rm -f "$ac_file"
  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
  case "$ac_file" in
  *Makefile*) ac_comsub="1i\\
# $configure_input" ;;
  *) ac_comsub= ;;
  esac
  sed -e "$ac_comsub
s%@configure_input@%$configure_input%g
s%@srcdir@%$srcdir%g
s%@top_srcdir@%$top_srcdir%g
" -f conftest.subs $ac_given_srcdir/$ac_file_in > $ac_file
fi; done
rm -f conftest.subs

# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
# NAME is the cpp macro being defined and VALUE is the value it is being given.
#
# ac_d sets the value in "#define NAME VALUE" lines.
ac_dA='s%^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
ac_dB='\([ 	][ 	]*\)[^ 	]*%\1#\2'
ac_dC='\3'
ac_dD='%g'
# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
ac_uA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
ac_uB='\([ 	]\)%\1#\2define\3'
ac_uC=' '
ac_uD='\4%g'
# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
ac_eA='s%^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
ac_eB='$%\1#\2define\3'
ac_eC=' '
ac_eD='%g'

CONFIG_HEADERS=${CONFIG_HEADERS-"src/include/config.h"}
for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
  # Support "outfile[:infile]", defaulting infile="outfile.in".
  case "$ac_file" in
  *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
  *) ac_file_in="${ac_file}.in" ;;
  esac

  echo "- Creating $ac_file"

  rm -f conftest.frag conftest.in conftest.out
  cp $ac_given_srcdir/$ac_file_in conftest.in

EOF

# Transform confdefs.h into a sed script conftest.vals that substitutes
# the proper values into config.h.in to produce config.h.  And first:
# Protect against being on the right side of a sed subst in config.status. 
# Protect against being in an unquoted here document in config.status.
rm -f conftest.vals
cat > conftest.hdr <<\EOF
s/[\\&%]/\\&/g
s%[\\$`]%\\&%g
s%#define \([A-Za-z_][A-Za-z0-9_]*\) \(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
s%ac_d%ac_u%gp
s%ac_u%ac_e%gp
EOF
sed -n -f conftest.hdr confdefs.h > conftest.vals
rm -f conftest.hdr

# This sed command replaces #undef with comments.  This is necessary, for
# example, in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it.
cat >> conftest.vals <<\EOF
s%^[ 	]*#[ 	]*undef[ 	][ 	]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
EOF

# Break up conftest.vals because some shells have a limit on
# the size of here documents, and old seds have small limits too.
# Maximum number of lines to put in a single here document.
ac_max_here_lines=12

rm -f conftest.tail
while :
do
  ac_lines=`grep -c . conftest.vals`
  # grep -c gives empty output for an empty file on some AIX systems.
  if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
  # Write a limited-size here document to conftest.frag.
  echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
  sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
  echo 'CEOF
  sed -f conftest.frag conftest.in > conftest.out
  rm -f conftest.in
  mv conftest.out conftest.in
' >> $CONFIG_STATUS
  sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
  rm -f conftest.vals
  mv conftest.tail conftest.vals
done
rm -f conftest.vals

cat >> $CONFIG_STATUS <<\EOF
  rm -f conftest.frag conftest.h
  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
  cat conftest.in >> conftest.h
  rm -f conftest.in
  echo "#define sys_${SYS}" >> conftest.h
  echo "#define vendor_${VENDOR}" >> conftest.h
  echo "#define cpu_${CPU}" >> conftest.h
  echo "#define HOSTNAME $HOSTNAME" >> conftest.h
  echo "#endif" >> conftest.h
  rm -f $ac_file
  mv conftest.h $ac_file
fi; done

EOF

if test x"$MAKEDEPEND" != x""; then
    echo 'echo "- Building dependancies..."' >> $CONFIG_STATUS
    echo 'cd src; make depend' >> $CONFIG_STATUS
fi

cat >> $CONFIG_STATUS <<\EOF
exit 0
EOF

chmod +x $CONFIG_STATUS
rm -fr confdefs* $ac_clean_files
test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS

cat <<END

# If you find this configure script needs to check for something which it
# is not, email brandon@cold.org with the details.

END

