kdc: Return NEVER_VALID error code if ticket will never be valid
[lorikeet-heimdal.git] / configure.ac
index a53131fd5be0d128a98d3bdaa61db471ac2fc632..e8eea4e6d3ae1832759202dab0a832909a39ec3f 100644 (file)
@@ -20,6 +20,7 @@ AM_PROG_CC_C_O
 AC_PROG_CPP
 AM_PATH_PYTHON
 AC_CHECK_PROG(CLANG_FORMAT, clang-format, [clang-format], [no])
+test "$CLANG_FORMAT" = no && CLANG_FORMAT=true
 
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
@@ -58,8 +59,8 @@ if ! test -f "$srcdir/lib/asn1/der-protos.h" ||
     AC_KRB_PERL_MOD(JSON)
 fi
 
-dnl AC_KRB_PROG_YACC
-AC_PROG_YACC
+AC_KRB_PROG_YACC
+dnl AC_PROG_YACC
 AM_PROG_LEX
 AS_IF([$LEX --nounput -V > /dev/null 2>&1 && test $? -eq 0],
       [AC_SUBST([FLEXNOUNPUTARGS], ["--nounput"])],
@@ -87,8 +88,6 @@ dnl
 dnl Helper bits for cross compiling
 dnl
 
-
-
 AM_CONDITIONAL(CROSS_COMPILE, test "${cross_compiling}" = yes)
 
 AC_ARG_WITH(cross-tools,
@@ -117,6 +116,14 @@ else
 
 fi
 
+AX_CHECK_COMPILE_FLAG([-Wno-error=enum-conversion],
+                      [WFLAGS_ENUM_CONV=-Wno-error=enum-conversion],
+                      [WFLAGS_ENUM_CONV=], [-Werror])
+AX_CHECK_COMPILE_FLAG([-Wno-unused-but-set-variable],
+                      [WFLAGS_UNUSED_BUT_SET_VAR=-Wno-unused-but-set-variable],
+                      [WFLAGS_UNUSED_BUT_SET_VAR=], [-Werror])
+
+AC_SUBST([WFLAGS_ENUM_CONV])
 AC_SUBST([ASN1_COMPILE])
 AC_SUBST([ASN1_COMPILE_DEP])
 AC_SUBST([SLC])
@@ -238,6 +245,13 @@ AM_CONDITIONAL([HAVE_CJSON], [test "$with_cjson" != "no"])
 AC_SUBST([CJSON_CFLAGS])
 AC_SUBST([CJSON_LIBS])
 
+dnl mitkrb5
+AC_ARG_WITH([mitkrb5],
+  AC_HELP_STRING([--with-mitkrb5], [Path to MIT Kerberos for interop testing @<:@default=check@:>@]),
+  [],
+  [with_mikrb5=check])
+AM_CONDITIONAL([MITKRB5], [test "$with_mitkrb5" != "no"])
+
 dnl Check for sqlite
 rk_TEST_PACKAGE(sqlite3,
 [#include <sqlite3.h>
@@ -496,6 +510,24 @@ dnl export symbols
 rk_WIN32_EXPORT(BUILD_KRB5_LIB, KRB5_LIB)
 rk_WIN32_EXPORT(BUILD_ROKEN_LIB, ROKEN_LIB)
 rk_WIN32_EXPORT(BUILD_GSSAPI_LIB, GSSAPI_LIB)
+rk_WIN32_EXPORT(BUILD_KDC_LIB, KDC_LIB)
+
+dnl Deal with switch fallthrough warnings
+AH_TOP([
+#if defined(DISPATCH_FALLTHROUGH)
+# define HEIM_FALLTHROUGH DISPATCH_FALLTHROUGH
+#else
+# if defined(__GNUC__)
+#  if __GNUC__ >= 7
+#   define HEIM_FALLTHROUGH __attribute__((fallthrough))
+#  else
+#   define HEIM_FALLTHROUGH do {} while (0) /* fallthrough */
+#  endif
+# else
+#  define HEIM_FALLTHROUGH do {} while (0) /* fallthrough */
+# endif
+#endif
+])
 
 dnl Checks for libraries.
 
@@ -538,7 +570,6 @@ AC_CHECK_FUNCS([                            \
        setreuid                                \
        setsid                                  \
        sigaction                               \
-       umask                                   \
        unlockpt                                \
        waitpid                                 \
 ])
@@ -602,9 +633,19 @@ if test -n "$LIB_add_key"; then
     AC_CHECK_FUNCS(keyctl_get_persistent)
     LIBS="$saved_LIBS"
 fi
+AM_CONDITIONAL(HAVE_KEYUTILS, test "$ac_cv_func_keyctl_get_persistent" = yes)
 
 AC_CHECK_SIZEOF([time_t])
 
+AX_CHECK_SIGN([time_t],
+  [ AC_DEFINE(TIME_T_SIGNED, 1, [Define if time_t is signed]) ],
+  [ AC_DEFINE(TIME_T_UNSIGNED, 1, [Define if time_t is unsigned]) ], [
+#ifdef HAVE_TIME_H
+#include <time.h>
+#endif
+])
+
+
 AC_CHECK_TYPES([int8_t, int16_t, int32_t, int64_t, 
        u_int8_t, u_int16_t, u_int32_t, u_int64_t,
        uint8_t, uint16_t, uint32_t, uint64_t],,,[