AC_INIT(ext-proto.h) WITH_CCOPTS WITH_KRB5ROOT AC_SET_BUILDTOP CONFIG_RULES AC_CONFIG_HEADER(autoconf.h) AC_PROG_LEX AC_PROG_INSTALL HAVE_YYLINENO AC_FUNC_CHECK(strdup,AC_DEFINE(HAS_STRDUP)) AC_FUNC_CHECK(labs,AC_DEFINE(HAS_LABS)) CHECK_DIRENT CHECK_FCNTL CHECK_WAIT_TYPE dnl stuff from config.h AC_HEADER_CHECK(termios.h,AC_FUNC_CHECK([tcsetattr],AC_DEFINE(POSIX_TERMIOS))) KRB5_POSIX_LOCKS dnl time_t, only used in lib/krb5/os/timeofday.c AC_EGREP_HEADER(time_t, sys/types.h, AC_DEFINE(POSIX_TYPES)) dnl AC_RETSIGTYPE isn't quite right, but almost. AC_MSG_CHECKING([POSIX signal handlers]) AC_CACHE_VAL(krb5_cv_has_posix_signals, [AC_TRY_COMPILE( [#include #include #ifdef signal #undef signal #endif extern void (*signal ()) ();], [], krb5_cv_has_posix_signals=yes, krb5_cv_has_posix_signals=no)]) AC_MSG_RESULT($krb5_cv_has_posix_signals) if test $krb5_cv_has_posix_signals = yes; then AC_DEFINE(krb5_sigtype, void) AC_DEFINE(POSIX_SIGTYPE) else if test $ac_cv_type_signal = void; then AC_DEFINE(krb5_sigtype, void) else AC_DEFINE(krb5_sigtype, int) fi fi dnl dnl AC_HEADER_CHECK(string.h,AC_DEFINE(USE_STRING_H)) AC_HEADER_CHECK(stdlib.h,AC_DEFINE(HAS_STDLIB_H),AC_DEFINE(NO_STDLIB_H)) AC_CHECK_HEADERS(sys/types.h) AC_CHECK_HEADERS(sys/file.h) AC_CHECK_HEADERS(sys/param.h) AC_CHECK_HEADERS(sys/stat.h) AC_CHECK_HEADERS(macsock.h) AC_CHECK_HEADERS(stdarg.h) AC_FUNC_CHECK([setvbuf],AC_DEFINE(HAS_SETVBUF)) dnl check for ANSI stdio, esp "b" option to fopen(). This (unfortunately) dnl requires a run check... AC_MSG_CHECKING([for ANSI stdio]) AC_CACHE_VAL(krb5_cv_has_ansi_stdio, [AC_TRY_RUN( [#include int main() { FILE *conftest; if ((conftest = fopen("conftest.dat", "w")) == NULL) exit(1); if (fclose(conftest)) exit(1); if ((conftest = fopen("conftest.dat", "rb+")) == NULL) exit(1); if (fputs("testing ANSI for stdio\n", conftest) == EOF) exit(1); exit(0); }], krb5_cv_has_ansi_stdio=yes, krb5_cv_has_ansi_stdio=no, krb5_cv_has_ansi_stdio=yes)])dnl assume ANSI in cross environment AC_MSG_RESULT($krb5_cv_has_ansi_stdio) if test $krb5_cv_has_ansi_stdio = yes; then AC_DEFINE(ANSI_STDIO) fi dnl AC_MSG_CHECKING([prototype support]) AC_CACHE_VAL(krb5_cv_has_prototypes, [AC_TRY_COMPILE( [int x(double y, int z);], [], krb5_cv_has_prototypes=yes, krb5_cv_has_prototypes=no)]) AC_MSG_RESULT($krb5_cv_has_prototypes) if test $krb5_cv_has_prototypes = yes; then AC_DEFINE(KRB5_PROVIDE_PROTOTYPES) fi dnl *never* set NARROW_PROTOTYPES AC_MSG_CHECKING([prototypes in structs]) AC_CACHE_VAL(krb5_cv_struct_prototypes, [AC_TRY_COMPILE( [typedef int i_t; typedef struct foo { int (*foofn)(i_t, i_t); } *footype;], [], krb5_cv_struct_prototypes=yes, krb5_cv_struct_prototypes=no)]) AC_MSG_RESULT($krb5_cv_struct_prototypes) if test $krb5_cv_struct_prototypes = no; then AC_DEFINE(NO_NESTED_PROTOTYPES) fi dnl AC_MSG_CHECKING([void]) AC_CACHE_VAL(krb5_cv_has_void_type, [AC_TRY_COMPILE( [void x();], [], krb5_cv_has_void_type=yes, krb5_cv_has_void_type=no)]) AC_MSG_RESULT($krb5_cv_has_void_type) if test $krb5_cv_has_void_type = yes; then AC_DEFINE(HAS_VOID_TYPE) fi dnl AC_CONST dnl Word sizes... AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) dnl then from osconf.h, we have AC_TIME_WITH_SYS_TIME AC_CHECK_HEADERS(sys/time.h) AC_HEADER_CHECK(netinet/in.h,AC_DEFINE(KRB5_USE_INET)) AC_HEADER_CHECK(unistd.h,AC_DEFINE(HAS_UNISTD_H)) AC_CHECK_LIB(ndbm,main) AC_CHECK_LIB(dbm,main) AC_FUNC_CHECK([dbm_open], , AC_DEFINE(ODBM)) dnl dnl Determine where to put the replay cache. dnl AC_MSG_CHECKING([for replay cache directory]) AC_CACHE_VAL(krb5_cv_sys_rcdir, [ for t_dir in /usr/tmp /var/usr/tmp /var/tmp /tmp ; do test -d $t_dir || continue krb5_cv_sys_rcdir=$t_dir break done])dnl AC_MSG_RESULT($krb5_cv_sys_rcdir) KRB5_RCTMPDIR=$krb5_cv_sys_rcdir AC_SUBST(KRB5_RCTMPDIR) AC_ARG_ENABLE([athena], [ --enable-athena build with MIT Project Athena configuration], AC_DEFINE(KRB5_ATHENA_COMPAT),) AC_ARG_WITH([krb4],, dnl leave out help string, see top level for that ,withval=yes)dnl if test $withval = no; then AC_MSG_RESULT(No Kerberos 4 compatibility) else AC_MSG_RESULT(Kerberos 4 compatibility enabled) AC_DEFINE(KRB5_KRB4_COMPAT) fi AC_PROG_INSTALL V5_AC_OUTPUT_MAKEFILE