summaryrefslogtreecommitdiff
path: root/src/external/krb5.m4
blob: ba92da2a17dec1a27fef064ddcea86cc822a5b81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
AC_SUBST(KRB5_CFLAGS)
AC_SUBST(KRB5_LIBS)

if test x$KRB5_LIBS != x; then
    KRB5_PASSED_LIBS=$KRB5_LIBS
fi

if test x$KRB5_CFLAGS != x; then
    KRB5_PASSED_CFLAGS=$KRB5_CFLAGS
fi

AC_PATH_PROG(KRB5_CONFIG, krb5-config)
AC_MSG_CHECKING(for working krb5-config)
if test -x "$KRB5_CONFIG"; then
  KRB5_CFLAGS="`$KRB5_CONFIG --cflags`"
  KRB5_LIBS="`$KRB5_CONFIG --libs`"
  AC_MSG_RESULT(yes)
else
    AC_MSG_RESULT([no])
    if test x$KRB5_PASSED_LIBS = x; then
        AC_MSG_ERROR([Please install MIT kerberos devel package])
    fi
fi

if test x$KRB5_PASSED_LIBS != x; then
    KRB5_LIBS=$KRB5_PASSED_LIBS
fi

if test x$KRB5_PASSED_CFLAGS != x; then
    KRB5_CFLAGS=$KRB5_PASSED_CFLAGS
fi

AC_ARG_VAR([KRB5_CFLAGS], [C compiler flags for kerberos, overriding krb5-config])dnl
AC_ARG_VAR([KRB5_LIBS], [linker flags for kerberos, overriding krb5-config])dnl

SAVE_CFLAGS=$CFLAGS
SAVE_LIBS=$LIBS
CFLAGS="$CFLAGS $KRB5_CFLAGS"
LIBS="$LIBS $KRB5_LIBS"
AC_CHECK_HEADERS([krb5.h krb5/krb5.h profile.h])
AC_CHECK_TYPES([krb5_ticket_times, krb5_times, krb5_trace_info], [], [],
               [ #ifdef HAVE_KRB5_KRB5_H
                 #include <krb5/krb5.h>
                 #else
                 #include <krb5.h>
                 #endif
               ])
AC_CHECK_FUNCS([krb5_get_init_creds_opt_alloc krb5_get_error_message \
                krb5_free_unparsed_name \
                krb5_get_init_creds_opt_set_expire_callback \
                krb5_get_init_creds_opt_set_fast_ccache_name \
                krb5_get_init_creds_opt_set_fast_flags \
                krb5_get_init_creds_opt_set_canonicalize \
                krb5_get_init_creds_opt_set_responder \
                krb5_parse_name_flags \
                krb5_unparse_name_flags \
                krb5_get_init_creds_opt_set_change_password_prompt \
                krb5_free_keytab_entry_contents \
                krb5_kt_free_entry \
                krb5_princ_realm \
                krb5_get_time_offsets \
                krb5_principal_get_realm \
                krb5_cc_cache_match \
                krb5_timestamp_to_sfstring \
                krb5_set_trace_callback \
                krb5_find_authdata \
                krb5_cc_get_full_name \
                krb5_free_string \
                krb5_xfree])
CFLAGS=$SAVE_CFLAGS
LIBS=$SAVE_LIBS

if test x$ac_cv_header_krb5_h != xyes -a x$ac_cv_header_krb5_krb5_h != xyes
then
  AC_MSG_ERROR(you must have Kerberos 5 header files to build sssd)
fi

AC_ARG_ENABLE([krb5-locator-plugin],
              [AS_HELP_STRING([--disable-krb5-locator-plugin],
                              [do not build Kerberos locator plugin])],
              [build_locator=$enableval],
              [build_locator=yes])

AC_CHECK_HEADER([krb5/locate_plugin.h],
                [have_locate_plugin=yes],
                [have_locate_plugin=no]
                [AC_MSG_NOTICE([Kerberos locator plugin cannot be built])],
                [ #ifdef HAVE_KRB5_KRB5_H
                  #include <krb5/krb5.h>
                  #else
                  #include <krb5.h>
                  #endif
                ])
AM_CONDITIONAL([BUILD_KRB5_LOCATOR_PLUGIN],
               [test x$have_locate_plugin = xyes -a x$build_locator = xyes])
AM_COND_IF([BUILD_KRB5_LOCATOR_PLUGIN],
           [AC_DEFINE_UNQUOTED(HAVE_KRB5_LOCATOR_PLUGIN, 1, [Build with krb5 locator plugin])])