Prevent double-starting client on RHEL7
[openafs.git] / configure.ac
index c040b74..087cae1 100644 (file)
@@ -9,22 +9,13 @@ AC_CONFIG_SRCDIR([src/config/stds.h])
 AM_INIT_AUTOMAKE([foreign])
 
 AC_CONFIG_HEADER([src/config/afsconfig.h])
-MACOS_VERSION=1.5.76
-#LINUX_PKGREL=0.pre3
-LINUX_PKGREL=1.1
-
-dnl Debian wants the release candidate version in the main upstream version,
-dnl and wants ~ before it.
-DEB_PKGVER=m4_esyscmd([build-tools/git-version .])
-if echo "$LINUX_PKGREL" | grep pre >/dev/null 2>/dev/null ; then
-    DEB_PKGVER="$DEB_PKGVER"`echo "$LINUX_PKGREL" | sed 's/0.pre/~rc/'`
-fi
+MACOS_VERSION=1.8.0fc1
+LINUX_PKGREL=1.8.0pre1
 
 AC_SUBST([MACOS_VERSION])
-AC_SUBST([DEB_PKGVER])
 
 dnl If the user hasn't specified CFLAGS don't let configure pick -g -O2
-AS_IF([test -z "$CFLAGS"], [CFLAGS=" "], [])
+AS_IF([test -z "$CFLAGS"], [CFLAGS=" "])
 
 AC_USE_SYSTEM_EXTENSIONS
 
@@ -60,77 +51,101 @@ AS_IF([test x"$KRB5_LIBS" != x],
      MAKE_KRB5=
      RRA_LIB_KRB5_SWITCH
      AC_CHECK_FUNCS([add_error_table \
-        add_to_error_table \
-        encode_krb5_enc_tkt_part \
-        encode_krb5_ticket \
+       add_to_error_table \
+       encode_krb5_enc_tkt_part \
+       encode_krb5_ticket \
        krb5_524_conv_principal \
-        krb5_allow_weak_crypto \
-        krb5_c_encrypt \
-        krb5_decode_ticket \
-        krb5_enctype_enable \
-        krb5_get_init_creds_opt_alloc \
-        krb5_get_prompt_types \
-        krb5_princ_size \
-        krb5_principal_get_comp_string])
+       krb5_allow_weak_crypto \
+       krb5_c_encrypt \
+       krb5_decode_ticket \
+       krb5_enctype_enable \
+       krb5_free_keytab_entry_contents \
+       krb5_free_unparsed_name \
+       krb5_get_init_creds_opt_alloc \
+       krb5_get_prompt_types \
+       krb5_princ_size \
+       krb5_principal_get_comp_string])
      AC_CHECK_FUNCS([krb5_524_convert_creds], [],
-        [AC_CHECK_FUNCS([krb524_convert_creds_kdc], [],
-             [AC_CHECK_LIB([krb524], [krb524_convert_creds_kdc],
-                 [LIBS="-lkrb524 $LIBS"
-                  KRB5_LIBS="-lkrb524 $KRB5_LIBS"
-                 AC_CHECK_LIB([krb524], [krb5_524_conv_principal],
-                 [AC_DEFINE([HAVE_KRB5_524_CONV_PRINCIPAL], 1,
-                    [Define to 1 if you have the `krb5_524_conv_principal' function.])])
-                  AC_DEFINE([HAVE_KRB524_CONVERT_CREDS_KDC], 1,
-                     [Define to 1 if you have the `krb524_convert_creds_kdc' function.])])])])
+       [AC_CHECK_FUNCS([krb524_convert_creds_kdc], [],
+           [AC_CHECK_LIB([krb524], [krb524_convert_creds_kdc],
+               [LIBS="-lkrb524 $LIBS"
+                KRB5_LIBS="-lkrb524 $KRB5_LIBS"
+                AC_CHECK_LIB([krb524], [krb5_524_conv_principal],
+                    [AC_DEFINE([HAVE_KRB5_524_CONV_PRINCIPAL], [1],
+                        [Define to 1 if you have the `krb5_524_conv_principal' function.])
+                ])
+                AC_DEFINE([HAVE_KRB524_CONVERT_CREDS_KDC], [1],
+                    [Define to 1 if you have the `krb524_convert_creds_kdc' function.])
+           ])
+       ])
+     ])
      AC_CHECK_HEADERS([kerberosIV/krb.h])
      AC_CHECK_HEADERS([kerberosV/heim_err.h])
+     AC_CHECK_HEADERS([com_err.h et/com_err.h krb5/com_err.h])
+     AS_IF([test x"$ac_cv_header_com_err_h" != xyes \
+             && test x"$ac_cv_header_et_com_err_h" != xyes \
+             && test x"$ac_cv_header_krb5_com_err_h" != xyes],
+       [AC_MSG_ERROR([Cannot find a usable com_err.h])])
      AC_CHECK_MEMBERS([krb5_creds.keyblock, krb5_creds.keyblock.enctype, krb5_creds.session,
                       krb5_prompt.type], [], [], [#include <krb5.h>])
+     AC_CHECK_MEMBERS([krb5_keytab_entry.key, krb5_keytab_entry.keyblock],
+                     [], [], [#include <krb5.h>])
 dnl If we have krb5_creds.session, we are using heimdal
 dnl If we're using heimdal, aklog needs libasn1 for encode_EncTicketPart and a
 dnl few other functions. But just aklog; not any of the other stuff that uses
 dnl krb5.
      AS_IF([test x"$ac_cv_member_krb5_creds_session" = xyes],
-           [AC_CHECK_LIB([asn1], [encode_EncTicketPart],
-                       [AKLOG_KRB5_LIBS="-lasn1"])])
-     RRA_LIB_KRB5_RESTORE])
+          [AC_CHECK_LIB([asn1], [encode_EncTicketPart],
+              [AKLOG_KRB5_LIBS="-lasn1"])
+     ])
+     RRA_LIB_KRB5_RESTORE
+])
 AC_SUBST([BUILD_KRB5])
 AC_SUBST([MAKE_KRB5])
 AC_SUBST([AKLOG_KRB5_LIBS])
 
 dnl Probe for GSSAPI
 RRA_LIB_GSSAPI
+dnl Check for the characteristics of whatever GSSAPI we found, if we found one
+BUILD_GSSAPI=no
+AS_IF([test x"$GSSAPI_LIBS" != x],
+    [BUILD_GSSAPI=yes
+     RRA_LIB_GSSAPI_SWITCH
+     AC_CHECK_FUNCS([gss_pseudo_random \
+       krb5_gss_register_acceptor_identity \
+       gss_krb5_ccache_name \
+     ])
+dnl We only need gssapi for rxgk (at this point).  rxgk requires pseudo_random.
+     AS_IF([test x"$ac_cv_func_gss_pseudo_random" != xyes],
+          [BUILD_GSSAPI=no])
+     RRA_LIB_GSSAPI_RESTORE
+])
+AC_SUBST([BUILD_GSSAPI])
+
+dnl Checks for summary
+OPENAFS_SUMMARY_CHECK_NAMEI
 
-if test -d 'doc/man-pages' ; then
-    MAN_MAKEFILE="doc/man-pages/Makefile doc/man-pages/install-man"
-else
-    MAN_MAKEFILE=
-fi
-if test -f 'doc/xml/AdminGuide/Makefile.in' ; then
-   ADMINGUIDE_MAKEFILE="doc/xml/AdminGuide/Makefile"
-else
-   ADMINGUIDE_MAKEFILE=
-fi
-if test -f 'doc/xml/QuickStartUnix/Makefile.in' ; then
-   QSUNIX_MAKEFILE="doc/xml/QuickStartUnix/Makefile"
-else
-   QSUNIX_MAKEFILE=
-fi
-if test -f 'doc/xml/UserGuide/Makefile.in' ; then
-   USERGUIDE_MAKEFILE="doc/xml/UserGuide/Makefile"
-else
-   USERGUIDE_MAKEFILE=
-fi
-if test -f 'doc/xml/AdminRef/Makefile.in' ; then
-   ADMINREF_MAKEFILE="doc/xml/AdminRef/Makefile"
-else
-   ADMINREF_MAKEFILE=
-fi
-if test -f 'doc/xml/mobi-fixup.xsl.in' ; then
-   MOBI_FIXUP_XSL="doc/xml/mobi-fixup.xsl"
-else
-   MOBI_FIXUP_XSL=
-fi
+AS_IF([test -d 'doc/man-pages'],
+    [MAN_MAKEFILE="doc/man-pages/Makefile doc/man-pages/install-man"],
+    [MAN_MAKEFILE=])
+AS_IF([test -f 'doc/xml/AdminGuide/Makefile.in'],
+    [ADMINGUIDE_MAKEFILE="doc/xml/AdminGuide/Makefile"],
+    [ADMINGUIDE_MAKEFILE=])
+AS_IF([test -f 'doc/xml/QuickStartUnix/Makefile.in'],
+    [QSUNIX_MAKEFILE="doc/xml/QuickStartUnix/Makefile"],
+    [QSUNIX_MAKEFILE=])
+AS_IF([test -f 'doc/xml/UserGuide/Makefile.in'],
+    [USERGUIDE_MAKEFILE="doc/xml/UserGuide/Makefile"],
+    [USERGUIDE_MAKEFILE=])
+AS_IF([test -f 'doc/xml/AdminRef/Makefile.in'],
+    [ADMINREF_MAKEFILE="doc/xml/AdminRef/Makefile"],
+    [ADMINREF_MAKEFILE=])
+AS_IF([test -f 'doc/xml/mobi-fixup.xsl.in'],
+    [MOBI_FIXUP_XSL="doc/xml/mobi-fixup.xsl"],
+    [MOBI_FIXUP_XSL=])
+AS_IF([test -f 'doc/doxygen/Doxyfile.in'],
+    [DOXYFILE="doc/doxygen/Doxyfile"],
+    [DOXYFILE=])
 
 AC_OUTPUT([
     Makefile
@@ -140,6 +155,7 @@ AC_OUTPUT([
     ${USERGUIDE_MAKEFILE}
     ${ADMINREF_MAKEFILE}
     ${MOBI_FIXUP_XSL}
+    ${DOXYFILE}
     src/afs/Makefile
     src/afsd/Makefile
     src/afsmonitor/Makefile
@@ -167,7 +183,6 @@ AC_OUTPUT([
     src/config/Makefile.lwp
     src/config/Makefile.lwptool
     src/config/Makefile.pthread
-    src/config/Makefile.shared
     src/config/Makefile.version-CML
     src/config/Makefile.version-NOCML
     src/config/shlib-build
@@ -212,13 +227,13 @@ AC_OUTPUT([
     src/lwp/Makefile
     src/lwp/test/Makefile
     src/opr/Makefile
-    src/packaging/Debian/changelog
     src/packaging/MacOS/OpenAFS-debug.Description.plist
     src/packaging/MacOS/OpenAFS-debug.Info.plist
     src/packaging/MacOS/OpenAFS.Description.plist
     src/packaging/MacOS/OpenAFS.Info.plist
     src/packaging/MacOS/OpenAFS.info
     src/packaging/MacOS/buildpkg.sh
+    src/packaging/MacOS/pkgbuild.sh
     src/pam/Makefile
     src/platform/Makefile
     src/platform/${MKAFS_OSTYPE}/Makefile
@@ -236,12 +251,12 @@ AC_OUTPUT([
     src/rx/test/Makefile
     src/rxdebug/Makefile
     src/rxgen/Makefile
+    src/rxgk/Makefile
     src/rxkad/Makefile
     src/rxkad/test/Makefile
     src/rxosd/Makefile
     src/rxstat/Makefile
     src/scout/Makefile
-    src/sgistuff/Makefile
     src/sys/Makefile
     src/tbutc/Makefile
     src/tests/Makefile
@@ -286,4 +301,4 @@ AC_OUTPUT([
  chmod a+x src/config/shlib-install])
 
 # print a final summary
-SUMMARY
+OPENAFS_SUMMARY