dnl Process this file with autoconf to produce a configure script.
sinclude(../common/aclocal.m4)
dnl 2.12 botches SHELL substitution
AC_PREREQ(2.12.1)dnl
AC_INIT(Makefile.in)

SIM_AC_COMMON

SIM_AC_OPTION_ENDIAN(LITTLE_ENDIAN)
SIM_AC_OPTION_ALIGNMENT(NONSTRICT_ALIGNMENT)
SIM_AC_OPTION_HOSTENDIAN
SIM_AC_OPTION_WARNINGS
SIM_AC_OPTION_RESERVED_BITS
SIM_AC_OPTION_BITSIZE(32,31)
SIM_AC_OPTION_INLINE()
SIM_AC_OPTION_HARDWARE(yes,,mn103cpu mn103int mn103tim mn103ser mn103iop)

AC_CHECK_FUNCS(time chmod utime fork execve execv chown)
AC_CHECK_HEADERS(unistd.h stdlib.h string.h strings.h utime.h time.h)

SIM_AC_OUTPUT
