114 lines
2.9 KiB
Plaintext
114 lines
2.9 KiB
Plaintext
dnl $MirBSD: configure.in,v 1.7 2004/05/24 19:08:52 tg Stab $
|
|
dnl
|
|
dnl Process this file with autoconf to produce a configure script
|
|
dnl
|
|
AC_INIT(c_ksh.c)
|
|
test -s config.h.in || sed -e 's!^/\* #undef \(.*\) \*/!#undef \1!' \
|
|
-e 's!^#define \(.*\) 1!#undef \1!' <config.h >config.h.in
|
|
AC_CONFIG_HEADER(config.h)
|
|
dnl
|
|
dnl
|
|
dnl Start of auto-configuration stuff...
|
|
dnl
|
|
AC_PROG_CC
|
|
AC_PROG_CPP
|
|
AC_PROG_GCC_TRADITIONAL
|
|
dnl this incorperates AC_AIX, AC_ISC_POSIX and AC_MINIX tests and does others
|
|
KSH_OS_TYPE
|
|
dnl
|
|
dnl Program name munging stuff (prefix, suffix, transform)
|
|
AC_ARG_PROGRAM
|
|
dnl
|
|
dnl Headers
|
|
dnl
|
|
AC_HEADER_DIRENT
|
|
KSH_UNISTD_H
|
|
KSH_TERM_CHECK
|
|
AC_CHECK_HEADERS(sys/param.h sys/types.h sys/resource.h sys/time.h \
|
|
stddef.h stdlib.h stdint.h string.h limits.h paths.h \
|
|
memory.h fcntl.h values.h ulimit.h)
|
|
AC_HEADER_TIME
|
|
KSH_HEADER_SYS_WAIT
|
|
dnl
|
|
dnl Typedefs
|
|
dnl
|
|
dnl (don't use AC_TYPE_XXX() 'cause it doesn't check word boundaries)
|
|
KSH_CHECK_H_TYPE(off_t, for off_t in sys/types.h, , long)
|
|
KSH_CHECK_H_TYPE(mode_t, for mode_t in sys/types.h, , short)
|
|
KSH_CHECK_H_TYPE(pid_t, for pid_t in sys/types.h, , int)
|
|
KSH_CHECK_H_TYPE(uid_t, for uid_t in sys/types.h, , int)
|
|
if test $ac_cv_type_uid_t = no; then
|
|
AC_DEFINE(gid_t, int)
|
|
fi
|
|
define([AC_PROVIDE_AC_TYPE_UID_T],)
|
|
AC_TYPE_SIGNAL
|
|
case $ac_cv_type_signal in
|
|
int) ksh_cv_signal_retval=0 ;;
|
|
void) ksh_cv_signal_retval= ;;
|
|
*)
|
|
AC_MSG_ERROR(Internal erorr: unknown signal return type: $ac_cv_type_signal)
|
|
esac
|
|
AC_DEFINE_UNQUOTED(RETSIGVAL, $ksh_cv_signal_retval)
|
|
AC_CHECK_SIZEOF(int, 4)
|
|
AC_CHECK_SIZEOF(long, 4)
|
|
dnl sh.h sets INT32 to int or long as appropriate. Some burnt systems, such
|
|
dnl as NeXT's, clock_t is in sys/time.h (in non-posix mode).
|
|
KSH_CHECK_H_TYPE(clock_t, [[for clock_t in any of <sys/types.h>, <sys/times.h> and <sys/time.h>]],
|
|
[
|
|
#ifdef HAVE_SYS_TIME_H
|
|
#include <sys/time.h>
|
|
#endif /* HAVE_SYS_TIME_H */
|
|
#include <sys/times.h>
|
|
], INT32)
|
|
KSH_CHECK_H_TYPE(sigset_t, for sigset_t in <sys/types.h> and <signal.h>,
|
|
[#include <signal.h>], unsigned)
|
|
KSH_RLIM_CHECK
|
|
dnl
|
|
dnl Library functions
|
|
dnl
|
|
KSH_MEMMOVE
|
|
KSH_MEMSET
|
|
AC_CHECK_FUNCS(arc4random arc4random_addrandom arc4random_push confstr \
|
|
dup2 flock getcwd getgroups getpagesize getrusage getwd killpg \
|
|
mkstemp nice random setrlimit srandom strcasecmp strerror \
|
|
strlcat strlcpy strstr sysconf tcsetpgrp ulimit valloc wait3 \
|
|
waitpid)
|
|
AC_CHECK_FUNCS(sigsetjmp _setjmp, break)
|
|
AC_FUNC_MMAP
|
|
KSH_FUNC_LSTAT
|
|
KSH_SYS_ERRLIST
|
|
KSH_SYS_SIGLIST
|
|
KSH_TIME_DECLARED
|
|
KSH_TIMES_CHECK
|
|
dnl
|
|
dnl Structures
|
|
dnl
|
|
AC_HEADER_STAT
|
|
AC_STRUCT_ST_RDEV
|
|
dnl
|
|
dnl Compiler characteristics
|
|
dnl
|
|
AC_C_CONST
|
|
KSH_C_VOID
|
|
KSH_C_VOLATILE
|
|
KSH_C_PROTOTYPES
|
|
KSH_C_FUNC_ATTR
|
|
dnl
|
|
dnl System services
|
|
dnl
|
|
AC_SYS_INTERPRETER
|
|
if test $ac_cv_sys_interpreter = no;
|
|
then AC_DEFINE(SHARPBANG)
|
|
fi
|
|
dnl
|
|
dnl Misc ksh tests
|
|
dnl
|
|
KSH_DUP2_CLEXEC_CHECK
|
|
KSH_SIGNAL_CHECK
|
|
KSH_PGRP_CHECK
|
|
KSH_PGRP_SYNC
|
|
KSH_OPENDIR_CHECK
|
|
KSH_DEV_FD
|
|
ac_clean_files="$ac_clean_files a.out"
|
|
AC_OUTPUT
|