]> andersk Git - openssh.git/blobdiff - configure.ac
- djm@cvs.openbsd.org 2010/01/28 00:21:18
[openssh.git] / configure.ac
index febeb147f48afd92875edc80f2008fe08619502c..5c84984adef6c0732222f92d057e944a7d4a84fb 100644 (file)
@@ -279,7 +279,6 @@ AC_CHECK_HEADERS( \
        sys/cdefs.h \
        sys/dir.h \
        sys/mman.h \
-       sys/mount.h \
        sys/ndir.h \
        sys/poll.h \
        sys/prctl.h \
@@ -326,6 +325,11 @@ AC_CHECK_HEADERS(login_cap.h, [], [], [
 #include <sys/types.h>
 ])
 
+# older BSDs need sys/param.h before sys/mount.h
+AC_CHECK_HEADERS(sys/mount.h, [], [], [
+#include <sys/param.h>
+])
+
 # Messages for features tested for in target-specific section
 SIA_MSG="no"
 SPC_MSG="no"
@@ -434,8 +438,6 @@ int main(void) { exit(0); }
        AC_DEFINE(USE_PIPES, 1, [Use PIPES instead of a socketpair()])
        AC_DEFINE(DISABLE_SHADOW, 1,
                [Define if you want to disable shadow passwords])
-       AC_DEFINE(IP_TOS_IS_BROKEN, 1,
-               [Define if your system choked on IP TOS setting])
        AC_DEFINE(NO_X11_UNIX_SOCKETS, 1,
                [Define if X11 doesn't support AF_UNIX sockets on that system])
        AC_DEFINE(NO_IPPORT_RESERVED_CONCEPT, 1,
@@ -444,9 +446,11 @@ int main(void) { exit(0); }
        AC_DEFINE(DISABLE_FD_PASSING, 1,
                [Define if your platform needs to skip post auth
                file descriptor passing])
+       AC_DEFINE(SSH_IOBUFSZ, 65535, [Windows is sensitive to read buffer size])
        ;;
 *-*-dgux*)
-       AC_DEFINE(IP_TOS_IS_BROKEN)
+       AC_DEFINE(IP_TOS_IS_BROKEN, 1,
+               [Define if your system choked on IP TOS setting])
        AC_DEFINE(SETEUID_BREAKS_SETUID)
        AC_DEFINE(BROKEN_SETREUID)
        AC_DEFINE(BROKEN_SETREGID)
@@ -477,6 +481,8 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
        AC_CHECK_DECL(AU_IPv4, [], 
            AC_DEFINE(AU_IPv4, 0, [System only supports IPv4 audit records])
            [#include <bsm/audit.h>]
+       AC_DEFINE(LASTLOG_WRITE_PUTUTXLINE, 1,
+           [Define if pututxline updates lastlog too])
        )
        ;;
 *-*-dragonfly*)
@@ -561,6 +567,14 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
        AC_DEFINE(WITH_ABBREV_NO_TTY)
        AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*")
        ;;
+*-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
+       check_for_libcrypt_later=1
+       AC_DEFINE(PAM_TTY_KLUDGE)
+       AC_DEFINE(LOCKED_PASSWD_PREFIX, "!")
+       AC_DEFINE(SPT_TYPE,SPT_REUSEARGV)
+       AC_DEFINE(_PATH_BTMP, "/var/log/btmp", [log for bad login attempts])
+       AC_DEFINE(USE_BTMP, 1, [Use btmp to log bad logins])
+       ;;
 *-*-linux*)
        no_dev_ptmx=1
        check_for_libcrypt_later=1
@@ -575,6 +589,7 @@ main() { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16))
                if it doesn't return EOPNOTSUPP.])
        AC_DEFINE(_PATH_BTMP, "/var/log/btmp", [log for bad login attempts])
        AC_DEFINE(USE_BTMP)
+       AC_DEFINE(LINUX_OOM_ADJUST, 1, [Adjust Linux out-of-memory killer])
        inet6_default_4in6=yes
        case `uname -r` in
        1.*|2.0.*)
@@ -658,6 +673,7 @@ mips-sony-bsd|mips-sony-newsos4)
                after setsid()])
        AC_DEFINE(PASSWD_NEEDS_USERNAME, 1, [must supply username to passwd
                in case the name is longer than 8 chars])
+       AC_DEFINE(BROKEN_TCGETATTR_ICANON, 1, [tcgetattr with ICANON may hang])
        external_path_file=/etc/default/login
        # hardwire lastlog location (can't detect it on some versions)
        conf_lastlog_location="/var/adm/lastlog"
@@ -728,10 +744,11 @@ mips-sony-bsd|mips-sony-newsos4)
        ;;
 # UnixWare 7.x, OpenUNIX 8
 *-*-sysv5*)
-       check_for_libcrypt_later=1
+       CPPFLAGS="$CPPFLAGS -Dvsnprintf=_xvsnprintf -Dsnprintf=_xsnprintf"
        AC_DEFINE(UNIXWARE_LONG_PASSWORDS, 1, [Support passwords > 8 chars])
        AC_DEFINE(USE_PIPES)
        AC_DEFINE(SETEUID_BREAKS_SETUID)
+       AC_DEFINE(BROKEN_GETADDRINFO)
        AC_DEFINE(BROKEN_SETREUID)
        AC_DEFINE(BROKEN_SETREGID)
        AC_DEFINE(PASSWD_NEEDS_USERNAME)
@@ -741,8 +758,14 @@ mips-sony-bsd|mips-sony-newsos4)
                AC_DEFINE(BROKEN_LIBIAF, 1,
                        [ia_uinfo routines not supported by OS yet])
                AC_DEFINE(BROKEN_UPDWTMPX)
+               AC_CHECK_LIB(prot, getluid,[ LIBS="$LIBS -lprot"
+                       AC_CHECK_FUNCS(getluid setluid,,,-lprot)
+                       AC_DEFINE(HAVE_SECUREWARE)
+                       AC_DEFINE(DISABLE_SHADOW)
+                       ],,)
                ;;
        *)      AC_DEFINE(LOCKED_PASSWD_STRING, "*LK*")
+               check_for_libcrypt_later=1
                ;;
        esac
        ;;
@@ -764,6 +787,7 @@ mips-sony-bsd|mips-sony-newsos4)
        AC_DEFINE(DISABLE_SHADOW)
        AC_DEFINE(DISABLE_FD_PASSING)
        AC_DEFINE(SETEUID_BREAKS_SETUID)
+       AC_DEFINE(BROKEN_GETADDRINFO)
        AC_DEFINE(BROKEN_SETREUID)
        AC_DEFINE(BROKEN_SETREGID)
        AC_DEFINE(WITH_ABBREV_NO_TTY)
@@ -964,6 +988,7 @@ AC_ARG_WITH(zlib,
        fi ]
 )
 
+AC_CHECK_HEADER([zlib.h], ,AC_MSG_ERROR([*** zlib.h missing - please install first or check config.log ***]))
 AC_CHECK_LIB(z, deflate, ,
        [
                saved_CPPFLAGS="$CPPFLAGS"
@@ -984,7 +1009,6 @@ AC_CHECK_LIB(z, deflate, ,
                )
        ]
 )
-AC_CHECK_HEADER([zlib.h], ,AC_MSG_ERROR([*** zlib.h missing - please install first or check config.log ***]))
 
 AC_ARG_WITH(zlib-version-check,
        [  --without-zlib-version-check Disable zlib version check],
@@ -1330,6 +1354,7 @@ AC_CHECK_FUNCS( \
        getrlimit \
        getttyent \
        glob \
+       group_from_gid \
        inet_aton \
        inet_ntoa \
        inet_ntop \
@@ -1356,8 +1381,10 @@ AC_CHECK_FUNCS( \
        setegid \
        setenv \
        seteuid \
+       setgroupent \
        setgroups \
        setlogin \
+       setpassent\
        setpcred \
        setproctitle \
        setregid \
@@ -1386,6 +1413,7 @@ AC_CHECK_FUNCS( \
        truncate \
        unsetenv \
        updwtmpx \
+       user_from_uid \
        vasprintf \
        vhangup \
        vsnprintf \
@@ -1503,6 +1531,8 @@ AC_CHECK_FUNCS(utmpname)
 dnl    Checks for utmpx functions
 AC_CHECK_FUNCS(endutxent getutxent getutxid getutxline pututxline )
 AC_CHECK_FUNCS(setutxent utmpxname)
+dnl    Checks for lastlog functions
+AC_CHECK_FUNCS(getlastlogxbyname)
 
 AC_CHECK_FUNC(daemon,
        [AC_DEFINE(HAVE_DAEMON, 1, [Define if your libraries define daemon()])],
@@ -1875,6 +1905,8 @@ AC_TRY_LINK_FUNC(RAND_add, AC_DEFINE(HAVE_OPENSSL, 1,
                        LDFLAGS="-L/usr/local/ssl/lib ${saved_LDFLAGS}"
                fi
                CPPFLAGS="-I/usr/local/ssl/include ${saved_CPPFLAGS}"
+               AC_CHECK_HEADER([openssl/opensslv.h], ,
+                   AC_MSG_ERROR([*** OpenSSL headers missing - please install first or check config.log ***]))
                AC_TRY_LINK_FUNC(RAND_add, AC_DEFINE(HAVE_OPENSSL),
                        [
                                AC_MSG_ERROR([*** Can't find recent OpenSSL libcrypto (see config.log for details) ***])
@@ -2059,6 +2091,23 @@ int main(void) { exit(EVP_aes_192_cbc() == NULL || EVP_aes_256_cbc() == NULL);}
        ]
 )
 
+AC_MSG_CHECKING([if EVP_DigestUpdate returns an int])
+AC_LINK_IFELSE(
+       [AC_LANG_SOURCE([[
+#include <string.h>
+#include <openssl/evp.h>
+int main(void) { if(EVP_DigestUpdate(NULL, NULL,0)) exit(0); }
+       ]])],
+       [
+               AC_MSG_RESULT(yes)
+       ],
+       [
+               AC_MSG_RESULT(no)
+               AC_DEFINE(OPENSSL_EVP_DIGESTUPDATE_VOID, 1,
+                   [Define if EVP_DigestUpdate returns void])
+       ]
+)
+
 # Some systems want crypt() from libcrypt, *not* the version in OpenSSL,
 # because the system crypt() is more featureful.
 if test "x$check_for_libcrypt_before" = "x1"; then
@@ -2677,7 +2726,7 @@ AC_CHECK_TYPES([fsblkcnt_t, fsfilcnt_t],,,[
 #endif
 ])
 
-AC_CHECK_TYPES(in_addr_t,,,
+AC_CHECK_TYPES([in_addr_t, in_port_t],,,
 [#include <sys/types.h>
 #include <netinet/in.h>])
 
@@ -3047,15 +3096,41 @@ if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then
                file descriptor passing])
 fi
 
-AC_MSG_CHECKING(if f_fsid has val members)
+AC_MSG_CHECKING(if struct statvfs.f_fsid is integral type)
 AC_TRY_COMPILE([
 #include <sys/types.h>
+#include <sys/stat.h>
+#ifdef HAVE_SYS_TIME_H
+# include <sys/time.h>
+#endif
+#ifdef HAVE_SYS_MOUNT_H
+#include <sys/mount.h>
+#endif
+#ifdef HAVE_SYS_STATVFS_H
+#include <sys/statvfs.h>
+#endif
+], [struct statvfs s; s.f_fsid = 0;],
+[ AC_MSG_RESULT(yes) ],
+[ AC_MSG_RESULT(no)
+
+       AC_MSG_CHECKING(if fsid_t has member val)
+       AC_TRY_COMPILE([
+#include <sys/types.h>
 #include <sys/statvfs.h>],
-[struct fsid_t t; t.val[0] = 0;],
+       [fsid_t t; t.val[0] = 0;],
        [ AC_MSG_RESULT(yes)
-         AC_DEFINE(FSID_HAS_VAL, 1, f_fsid has members) ],
-       [ AC_MSG_RESULT(no) ]
-)
+         AC_DEFINE(FSID_HAS_VAL, 1, fsid_t has member val) ],
+       [ AC_MSG_RESULT(no) ])
+
+       AC_MSG_CHECKING(if f_fsid has member __val)
+       AC_TRY_COMPILE([
+#include <sys/types.h>
+#include <sys/statvfs.h>],
+       [fsid_t t; t.__val[0] = 0;],
+       [ AC_MSG_RESULT(yes)
+         AC_DEFINE(FSID_HAS___VAL, 1, fsid_t has member __val) ],
+       [ AC_MSG_RESULT(no) ])
+])
 
 AC_CACHE_CHECK([for msg_control field in struct msghdr],
                ac_cv_have_control_in_msghdr, [
@@ -3228,11 +3303,18 @@ AC_ARG_WITH(opensc,
        [  --with-opensc[[=PFX]]     Enable smartcard support using OpenSC (optionally in PATH)],
        [
            if test "x$withval" != "xno" ; then
-               if test "x$withval" != "xyes" ; then
-                       OPENSC_CONFIG=$withval/bin/opensc-config
+               AC_PATH_PROG(PKGCONFIG, pkg-config, no)
+               AC_MSG_CHECKING(how to get opensc config)
+               if test "x$withval" != "xyes" -a "x$PKGCONFIG" = "xno"; then
+                       OPENSC_CONFIG="$withval/bin/opensc-config"
+               elif test -f "$withval/src/libopensc/libopensc.pc"; then
+                       OPENSC_CONFIG="$PKGCONFIG $withval/src/libopensc/libopensc.pc"
+               elif test "x$PKGCONFIG" != "xno"; then
+                       OPENSC_CONFIG="$PKGCONFIG libopensc"
                else
-                       AC_PATH_PROG(OPENSC_CONFIG, opensc-config, no)
+                       AC_PATH_PROG(OPENSC_CONFIG, opensc-config, no)
                fi
+               AC_MSG_RESULT($OPENSC_CONFIG)
                if test "$OPENSC_CONFIG" != "no"; then
                        LIBOPENSC_CFLAGS=`$OPENSC_CONFIG --cflags`
                        LIBOPENSC_LIBS=`$OPENSC_CONFIG --libs`
@@ -3257,12 +3339,30 @@ AC_SEARCH_LIBS(getrrsetbyname, resolv,
                AC_SEARCH_LIBS(res_query, resolv)
                AC_SEARCH_LIBS(dn_expand, resolv)
                AC_MSG_CHECKING(if res_query will link)
-               AC_TRY_LINK_FUNC(res_query, AC_MSG_RESULT(yes),
+               AC_LINK_IFELSE([
+#include "confdefs.h"
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <netdb.h>
+#include <resolv.h>
+int main()
+{
+       res_query (0, 0, 0, 0, 0);
+       return 0;
+}
+                  ],
+                   AC_MSG_RESULT(yes),
                   [AC_MSG_RESULT(no)
                    saved_LIBS="$LIBS"
                    LIBS="$LIBS -lresolv"
                    AC_MSG_CHECKING(for res_query in -lresolv)
                    AC_LINK_IFELSE([
+#include "confdefs.h"
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <arpa/nameser.h>
+#include <netdb.h>
 #include <resolv.h>
 int main()
 {
@@ -3270,8 +3370,7 @@ int main()
        return 0;
 }
                        ],
-                       [LIBS="$LIBS -lresolv"
-                        AC_MSG_RESULT(yes)],
+                       [AC_MSG_RESULT(yes)],
                        [LIBS="$saved_LIBS"
                         AC_MSG_RESULT(no)])
                    ])
@@ -3337,10 +3436,10 @@ AC_ARG_WITH(kerberos5,
                AC_DEFINE(KRB5, 1, [Define if you want Kerberos 5 support])
                KRB5_MSG="yes"
 
-               AC_MSG_CHECKING(for krb5-config)
-               if test -x  $KRB5ROOT/bin/krb5-config ; then
-                       KRB5CONF=$KRB5ROOT/bin/krb5-config
-                       AC_MSG_RESULT($KRB5CONF)
+               AC_PATH_PROG([KRB5CONF],[krb5-config],
+                            [$KRB5ROOT/bin/krb5-config],
+                            [$KRB5ROOT/bin:$PATH])
+               if test -x $KRB5CONF ; then
 
                        AC_MSG_CHECKING(for gssapi support)
                        if $KRB5CONF | grep gssapi >/dev/null ; then
@@ -3366,7 +3465,6 @@ AC_ARG_WITH(kerberos5,
                                         AC_MSG_RESULT(no)
                        )
                else
-                       AC_MSG_RESULT(no)
                        CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include"
                        LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib"
                        AC_MSG_CHECKING(whether we are using Heimdal)
This page took 0.338324 seconds and 4 git commands to generate.