diff options
Diffstat (limited to 'kdm/configure.in.in')
-rw-r--r-- | kdm/configure.in.in | 243 |
1 files changed, 243 insertions, 0 deletions
diff --git a/kdm/configure.in.in b/kdm/configure.in.in new file mode 100644 index 000000000..4f3ff82d7 --- /dev/null +++ b/kdm/configure.in.in @@ -0,0 +1,243 @@ +KDE_FIND_PATH(xmkmf, XMKMF, [], [AC_MSG_ERROR([xmkmf/imake not found. Please make sure it's in PATH!])]) + +dnl ask imake about various X settings +AC_MSG_CHECKING([X paths]) +imkv=8 +test "$kde_cv_defines_imake_version" = $imkv || unset kde_cv_defines_imake +AC_CACHE_VAL(kde_cv_defines_imake, [ + rm -fr conftestdir + if mkdir conftestdir; then + cd conftestdir + cat > Imakefile <<'EOF'[ + +acimake: + @echo "XBINDIR=\"$(BINDIR)\" XLIBDIR=\"$(LIBDIR)\"" + +]EOF + if $XMKMF >&5 2>&1 && test -f Makefile; then + kde_cv_defines_imake=`${MAKE-make} acimake 2> /dev/null | grep -v "^make"` + kde_cv_defines_imake_version=$imkv + else + AC_MSG_RESULT([failed]) + AC_MSG_ERROR([$XMKMF (imake) failed. +Make sure you have all necessary X development packages installed. +On some systems a missing /lib/cpp symlink is at fault.]) + fi + cd .. + rm -fr conftestdir + else + AC_MSG_RESULT([failed]) + AC_MSG_ERROR([cannot create temporary directory]) + fi +]) +AC_MSG_RESULT([done]) +eval "$kde_cv_defines_imake" +AC_DEFINE_UNQUOTED(XBINDIR, "$XBINDIR", [X binaries directory]) +AC_DEFINE_UNQUOTED(XLIBDIR, "$XLIBDIR", [X libraries directory]) + +if test -f /etc/ttys; then + AC_DEFINE(BSD_INIT, 1, [Define if the system uses a BSD-style init]) +fi + +AC_CHECK_FUNCS([getttyent]) +case $host_os in + linux*) ac_cv_func_getutxent=no;; + darwin*) ac_cv_func_getutxent=no;; + kfreebsd*-gnu) ac_cv_func_getutxent=no;; + *) AC_CHECK_FUNC([getutxent]);; +esac +if test $ac_cv_func_getutxent = yes; then + AC_DEFINE(HAVE_UTMPX, 1, [Define if the system uses extended utmp]) +else + AC_CHECK_FUNC([getutent], , + [AC_DEFINE(BSD_UTMP, 1, [Define if the system has no getutent])]) +fi + +AC_CHECK_MEMBERS([struct utmp.ut_user], , , [#include <utmp.h>]) +AC_CHECK_MEMBERS([struct passwd.pw_expire], , , [#include <pwd.h>]) +AC_CHECK_MEMBERS([struct sockaddr_in.sin_len], , , [ +#include <sys/socket.h> +#include <netinet/in.h> +]) + +ac_save_libs=$LIBS +LIBS="$LIBS $LIBUTIL" +AC_CHECK_FUNCS([setlogin setusercontext getusershell login_getclass auth_timeok]) +LIBS=$ac_save_libs + +dnl is getifaddrs always available without additional libs? +AC_CHECK_FUNCS([mkstemp setproctitle sysinfo strnlen getifaddrs]) + +AC_CHECK_FUNCS([arc4random], , + [ +dnl assume that /dev/random is non-blocking if /dev/urandom does not exist +for i in urandom random; do + if test -c /dev/$i; then + AC_DEFINE_UNQUOTED(DEV_RANDOM, "/dev/$i", [Define the system's entropy device]) + break + fi +done + ]) + +AC_CHECK_FUNC(vsyslog, [ + AC_DEFINE(USE_SYSLOG, 1, [Define if kdm should be built with syslog support])]) + +kdm_no_Xau=false +kdm_no_Xdmcp=false + +AC_CHECK_LIB(Xau, main, [:], + [ + kdm_no_Xau=true + DO_NOT_COMPILE="$DO_NOT_COMPILE kdm" + ], + $X_LDFLAGS -lX11 $LIBSOCKET) + +AC_ARG_WITH(xdmcp, + AC_HELP_STRING([--without-xdmcp],[build kdm without xdmcp support [default=with xdmcp]]), , + [with_xdmcp=yes]) +if test "x$with_xdmcp" = xyes; then + AC_CHECK_LIB(Xdmcp, main, [LIBXDMCP="-lXdmcp"], , $X_LDFLAGS -lX11 $LIBSOCKET) + if test -n "$LIBXDMCP"; then + cppflags_safe=$CPPFLAGS + CPPFLAGS="$CPPFLAGS $X_INCLUDES" + AC_CHECK_HEADER(X11/Xdmcp.h, [HAVE_X11_XDMCP_H=1], , [#include <X11/Xmd.h>]) + CPPFLAGS=$cppflags_safe + fi + if test -z "$HAVE_X11_XDMCP_H"; then + kdm_no_Xdmcp=true + DO_NOT_COMPILE="$DO_NOT_COMPILE kdm" + fi + AC_DEFINE(XDMCP, 1, [Define if kdm should be built with XDMCP support]) + ac_save_libs=$LIBS + LIBS="$LIBS $LIBXDMCP" + AC_CHECK_FUNC(XdmcpWrap, [ + AC_DEFINE(HASXDMAUTH, 1, [Define if kdm should be built with XDMAUTH support]) + ]) + LIBS=$ac_save_libs +fi +AC_SUBST(LIBXDMCP) + +KRB4_INCS= +KRB4_LIBS= +KRB4_RPATH= + +AC_MSG_CHECKING(whether to use Kerberos v4) +AC_ARG_WITH(krb4, +AC_HELP_STRING([--with-krb4=PATH],[Compile in Kerberos v4 support]), +[ test "x$with_krb4" = xyes && with_krb4=/usr/kerberos ], +[ with_krb4=no ] +) +case "$with_krb4" in +no) + AC_MSG_RESULT(no) + ;; +*) + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(KRB4, 1, [define if you have Kerberos IV]) + KRB4_INCS="-I$with_krb4/include" + KRB4_LIBS="-L$with_krb4/lib -lkrb -ldes" + if test "$USE_RPATH" = "yes" ; then + KRB4_RPATH="-R $with_krb4/lib" + fi + AC_CHECK_LIB(resolv, dn_expand, KRB4_LIBS="$KRB4_LIBS -lresolv") + ;; +esac + +AC_MSG_CHECKING(whether to use AFS) +AC_ARG_WITH(afs, + AC_HELP_STRING([--with-afs],[Compile in AFS support (requires KTH krb4)]), , + [ with_afs=no ]) +if test "$with_afs" = no; then + AC_MSG_RESULT(no) +else + if test "$with_krb4" = no; then + AC_MSG_RESULT(no) + AC_MSG_WARN("AFS requires Kerberos v4 support.") + with_afs=no + else + AC_MSG_RESULT(yes) + AC_DEFINE_UNQUOTED(AFS, 1, [define if you have KTH Kerberos IV and AFS]) + KRB4_LIBS="$KRB4_LIBS -lkafs" + if test -n "$os_aix"; then + KRB4_LIBS="$KRB4_LIBS -lld" + fi + fi +fi + +AC_SUBST(KRB4_INCS) +AC_SUBST(KRB4_LIBS) +AC_SUBST(KRB4_RPATH) + +AC_CHECK_LIB(s, main, [LIB_LIBS="-ls"]) dnl for AIX +AC_SUBST(LIB_LIBS) + +AC_CHECK_LIB(posix4, sched_yield, [LIBPOSIX4=-lposix4]) +AC_SUBST(LIBPOSIX4) + +KRB5_INCS= +KRB5_LIBS= +KRB5_RPATH= + +AC_MSG_CHECKING([whether to use Kerberos5 for Xauth cookies in kdm]) +AC_ARG_WITH(krb5auth, + AC_HELP_STRING([--with-krb5auth=PATH],[Use Kerberos5 for Xauth cookies in kdm]), , + [ with_krb5auth=no ]) +if test "x$with_krb5auth" = xno; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + if test "x$with_krb5auth" != xyes; then + KRB5_INCS="-I$with_krb5auth/include" + KRB5_LIBS="-L$with_krb5auth/lib" + if test "$USE_RPATH" = "yes" ; then + KRB5_RPATH="-R $with_krb5auth/lib" + fi + fi + KRB5_LIBS="$KRB5_LIBS -lkrb5" dnl -lk5crypto -lcom_err -lresolv + keepcflags=$CFLAGS + CFLAGS="$KRB5_INCS $CFLAGS" + AC_CHECK_HEADER(krb5/krb5.h, + [ AC_DEFINE(K5AUTH, 1, [Define if kdm should use Kerberos 5 for Xauth cookies.]) ], + [ AC_MSG_ERROR([--with-krb5auth requires Kerberos5 header files. +Due to a problem with X includes you probably have to run "ln -s . krb5" +in the directory where the krb5.h include resides to make things actually work.])]) + CFLAGS="$keepcflags" +fi + +AC_SUBST(KRB5_INCS) +AC_SUBST(KRB5_LIBS) +AC_SUBST(KRB5_RPATH) + +AC_MSG_CHECKING([whether to use Sun's secure RPC for Xauth cookies in kdm]) +AC_ARG_WITH(rpcauth, + AC_HELP_STRING([--with-rpcauth],[Use Sun's secure RPC for Xauth cookies in kdm.]), , + [ with_rpcauth=no ]) +if test "x$with_rpcauth" = xno; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) + AC_CHECK_HEADER(rpc/rpc.h, + [ AC_DEFINE(SECURE_RPC, 1, [Define if kdm should use Sun's secure RPC for Xauth cookies.]) ], + [ AC_MSG_ERROR([--with-rpcauth requires Sun RPC header files.])]) +fi + +if test "x$use_pam" = xyes; then + AC_DEFINE(USE_PAM, 1, [Define if kdm should use PAM]) +elif test "x$use_shadow" = xyes; then + AC_DEFINE(USESHADOW, 1, [Define if kdm should use shadow passwords]) +fi +if test "x$with_krb4" != xno; then + AC_DEFINE(KERBEROS, 1, [Define if kdm should use Kerberos IV]) + if test "x$with_afs" = xno; then + AC_DEFINE(NO_AFS, 1, [Define if kdm should not use AFS]) + fi +fi + +AC_ARG_WITH(kdm-xconsole, + AC_HELP_STRING([--with-kdm-xconsole],[build kdm with built-in xconsole [default=no]]), , + [with_kdm_xconsole=no]) +if test "x$with_kdm_xconsole" = xyes; then + AC_DEFINE(WITH_KDM_XCONSOLE, 1, [Build kdm with built-in xconsole]) +fi + +dnl AC_OUTPUT(kdm/kfrontend/sessions/kde.desktop) |