summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am6
-rw-r--r--configure.ac47
2 files changed, 48 insertions, 5 deletions
diff --git a/Makefile.am b/Makefile.am
index 84378ab..fea8bdc 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,8 +3,12 @@ root_sbindir = "/sbin"
root_sbin_PROGRAMS = mount.cifs
mount_cifs_SOURCES = mount.cifs.c mtab.c util.c
+man_MANS = mount.cifs.8
+
+if CONFIG_CIFSUPCALL
sbin_PROGRAMS = cifs.upcall
cifs_upcall_SOURCES = cifs.upcall.c data_blob.c asn1.c spnego.c util.c
cifs_upcall_LDADD = -ltalloc -lkrb5 -lkeyutils
+man_MANS += cifs.upcall.8
+endif
-man_MANS = cifs.upcall.8 mount.cifs.8
diff --git a/configure.ac b/configure.ac
index 10f7f07..4048549 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,6 +8,13 @@ AC_CONFIG_FILES([Makefile])
AM_INIT_AUTOMAKE([cifs-utils], [4.0])
+# "with" options
+AC_ARG_ENABLE(cifsupcall,
+ [AC_HELP_STRING([--enable-cifsupcall],
+ [Create cifs.upcall binary @<:@default=yes@:>@])],
+ enable_cifsupcall=$enableval,
+ enable_cifsupcall="maybe")
+
# Checks for programs.
AC_PROG_CC
AC_GNU_SOURCE
@@ -16,9 +23,37 @@ AC_GNU_SOURCE
# Checks for header files.
AC_CHECK_HEADERS([arpa/inet.h fcntl.h inttypes.h limits.h mntent.h netdb.h stddef.h stdint.h stdlib.h string.h strings.h sys/mount.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h], , [AC_MSG_ERROR([necessary header(s) not found])])
-AC_CHECK_HEADERS([talloc.h], , [AC_MSG_ERROR([talloc.h not found, install libtalloc-devel])])
-AC_CHECK_HEADERS([krb5/krb5.h], , [AC_MSG_ERROR([krb5/krb5.h not found, install krb5-devel])])
-AC_CHECK_HEADERS([keyutils.h], , [AC_MSG_ERROR([keyutils.h not found, install keyutils-libs-devel])])
+
+if test $enable_cifsupcall != "no"; then
+ AC_CHECK_HEADERS([krb5/krb5.h], ,[
+ if test "$enable_cifsupcall" = "yes"; then
+ AC_MSG_ERROR([krb5/krb5.h not found, consider installing krb5-libs-devel.])
+ else
+ AC_MSG_WARN([krb5/krb5.h not found, consider installing krb5-libs-devel. Disabling cifs.upcall.])
+ enable_cifsupcall="no"
+ fi
+ ])
+fi
+if test $enable_cifsupcall != "no"; then
+ AC_CHECK_HEADERS([talloc.h], , [
+ if test "$enable_cifsupcall" = "yes"; then
+ AC_MSG_ERROR([talloc.h not found, consider installing libtalloc-devel.])
+ else
+ AC_MSG_WARN([talloc.h not found, consider installing libtalloc-devel. Disabling cifs.upcall.])
+ enable_cifsupcall="no"
+ fi
+ ])
+fi
+if test $enable_cifsupcall != "no"; then
+ AC_CHECK_HEADERS([keyutils.h], , [
+ if test "$enable_cifsupcall" = "yes"; then
+ AC_MSG_ERROR([keyutils.h not found, consider installing keyutils-libs-devel.])
+ else
+ AC_MSG_WARN([keyutils.h not found, consider installing keyutils-libs-devel. Disabling cifs.upcall.])
+ enable_cifsupcall="no"
+ fi
+ ])
+fi
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
@@ -39,6 +74,10 @@ AC_FUNC_STRNLEN
AC_CHECK_FUNCS([alarm atexit endpwent getmntent getpass gettimeofday inet_ntop memset realpath setenv strchr strdup strerror strncasecmp strndup strpbrk strrchr strstr strtol strtoul uname], , [AC_MSG_ERROR([necessary functions(s) not found])])
# non-critical functions (we have workarounds for these)
-AC_CHECK_FUNCS([krb5_principal_get_realm krb5_free_unparsed_name])
+if test $enable_cifsupcall != "no"; then
+ AC_CHECK_FUNCS([krb5_principal_get_realm krb5_free_unparsed_name])
+fi
+
+AM_CONDITIONAL(CONFIG_CIFSUPCALL, [test "$enable_cifsupcall" != "no"])
AC_OUTPUT