X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/blobdiff_plain/91b8065d952b74546b53c9577b69e3f69ab5ac33..906a2515941ad1805f1dbf1203108cfda9908287:/configure.in diff --git a/configure.in b/configure.in index 0b54fd58..19372e2d 100644 --- a/configure.in +++ b/configure.in @@ -6,8 +6,12 @@ dnl Checks for programs. AC_PROG_CC AC_PROG_CPP AC_PROG_RANLIB +AC_PROG_INSTALL AC_CHECK_PROG(AR, ar, ar) + +dnl Checks for compiler characteristics if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -Wall"; fi +AC_C_INLINE dnl Check for OpenSSL/SSLeay directories. AC_MSG_CHECKING([for OpenSSL/SSLeay directory]) @@ -30,7 +34,7 @@ AC_SUBST(ssldir) AC_DEFINE_UNQUOTED(ssldir, "$ssldir") if test "$ssldir" != "/usr"; then CFLAGS="$CFLAGS -I$ssldir/include" - LIBS="$LIBS -L$ssldir/lib" + LDFLAGS="$LDFLAGS -L$ssldir/lib" fi LIBS="$LIBS -lssl -lcrypto" AC_MSG_RESULT($ssldir) @@ -55,51 +59,104 @@ AC_CHECK_LIB(dl, dlopen, , ) AC_CHECK_LIB(pam, pam_authenticate, , ) dnl Checks for header files. -AC_CHECK_HEADERS(pty.h endian.h paths.h lastlog.h shadow.h netgroup.h maillock.h sys/select.h) +AC_CHECK_HEADERS(endian.h lastlog.h login.h maillock.h netgroup.h paths.h poll.h pty.h shadow.h util.h utmp.h utmpx.h sys/poll.h sys/select.h sys/stropts.h sys/time.h) dnl Checks for library functions. -AC_CHECK_FUNCS(openpty strlcpy mkdtemp arc4random setproctitle setlogin) +AC_CHECK_FUNCS(arc4random mkdtemp openpty _getpty setenv setlogin setproctitle snprintf strlcat strlcpy vsnprintf) + +AC_CHECK_FUNC(login, + [AC_DEFINE(HAVE_LOGIN)], + [AC_CHECK_LIB(bsd, login, [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_LOGIN)])] +) + +AC_CHECK_FUNC(daemon, + [AC_DEFINE(HAVE_DAEMON)], + [AC_CHECK_LIB(bsd, daemon, [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_DAEMON)])] +) + +dnl Checks for data types +AC_CHECK_SIZEOF(short int, 2) +AC_CHECK_SIZEOF(int, 4) +AC_CHECK_SIZEOF(long int, 4) +AC_CHECK_SIZEOF(long long int, 8) -dnl Check whether use wants to disable the external ssh-askpass -INSTALL_ASKPASS="yes" -AC_MSG_CHECKING([whether to enable external ssh-askpass support]) -AC_ARG_WITH(askpass, - [ --with-askpass=yes/no Enable external ssh-askpass support (default=no)], +dnl More checks for data types +AC_MSG_CHECKING([for quad_t]) +AC_TRY_COMPILE( + [#include ], + [quad_t a; a = 1235;], + [ + AC_DEFINE(HAVE_QUAD_T) + AC_MSG_RESULT(yes) + ], + [AC_MSG_RESULT(no)] +) + +AC_MSG_CHECKING([for intXX_t types]) +AC_TRY_COMPILE( + [#include ], + [int16_t a; int32_t b; a = 1235; b = 1235;], + [ + AC_DEFINE(HAVE_INTXX_T) + AC_MSG_RESULT(yes) + ], + [AC_MSG_RESULT(no)] +) + +AC_MSG_CHECKING([for u_intXX_t types]) +AC_TRY_COMPILE( + [#include ], + [u_int16_t c; u_int32_t d; c = 1235; d = 1235;], + [ + AC_DEFINE(HAVE_U_INTXX_T) + AC_MSG_RESULT(yes) + ], + [AC_MSG_RESULT(no)] +) + +AC_MSG_CHECKING([For uintXX_t types]) +AC_TRY_COMPILE( + [#include ], + [uint16_t c; uint32_t d; c = 1235; d = 1235;], + [ + AC_DEFINE(HAVE_UINTXX_T) + AC_MSG_RESULT(yes) + ], + [AC_MSG_RESULT(no)] +) + +dnl Check PAM strerror arguments +AC_MSG_CHECKING([whether pam_strerror takes only one argument]) +AC_TRY_COMPILE( + [ + #include + #include + ], + [(void)pam_strerror((pam_handle_t *)NULL, -1);], + [AC_MSG_RESULT(no)], + [ + AC_DEFINE(HAVE_OLD_PAM) + AC_MSG_RESULT(yes) + ] +) + +AC_MSG_CHECKING([whether to build GNOME ssh-askpass]) +dnl Check whether user wants GNOME ssh-askpass +AC_ARG_WITH(gnome-askpass, + [ --with-gnome-askpass Build the GNOME passphrase requester (default=no)], [ if test x$withval = xno ; then - INSTALL_ASKPASS="no" + GNOME_ASKPASS=""; else - INSTALL_ASKPASS="yes" + GNOME_ASKPASS="gnome-ssh-askpass"; fi - ] -) -if test "x$INSTALL_ASKPASS" = "xyes" ; then - AC_DEFINE(USE_EXTERNAL_ASKPASS) - AC_SUBST(INSTALL_ASKPASS) - AC_MSG_RESULT(yes) -else - AC_MSG_RESULT(no) -fi + ]) +AC_SUBST(GNOME_ASKPASS) -if test "x$INSTALL_ASKPASS" = "xyes" ; then - AC_MSG_CHECKING([whether to build GNOME ssh-askpass]) - dnl Check whether user wants GNOME ssh-askpass - AC_ARG_WITH(gnome-askpass, - [ --with-gnome-askpass Build the GNOME passphrase requester (default=no)], - [ - if test x$withval = xno ; then - GNOME_ASKPASS=""; - else - GNOME_ASKPASS="gnome-ssh-askpass"; - fi - ]) - AC_SUBST(GNOME_ASKPASS) - - if test -z "$GNOME_ASKPASS" ; then - AC_MSG_RESULT(no) - else - AC_MSG_RESULT(yes) - fi +if test -z "$GNOME_ASKPASS" ; then + AC_MSG_RESULT(no) +else + AC_MSG_RESULT(yes) fi dnl Check for user-specified random device @@ -144,19 +201,42 @@ AC_EGREP_HEADER(ut_host, utmp.h, [AC_MSG_RESULT(no)] ) +dnl Check for ut_host field in utmpx +AC_MSG_CHECKING([whether utmpx.h has ut_host field]) +AC_EGREP_HEADER(ut_host, utmpx.h, + [AC_DEFINE(HAVE_HOST_IN_UTMPX) AC_MSG_RESULT(yes); ], + [AC_MSG_RESULT(no)] +) + dnl Look for lastlog location AC_MSG_CHECKING([location of lastlog file]) for lastlog in /var/log/lastlog /var/adm/lastlog /etc/security/lastlog ; do if test -f $lastlog ; then - AC_MSG_RESULT($lastlog) - AC_DEFINE_UNQUOTED(LASTLOG_LOCATION, "$lastlog") + gotlastlog="file" + break + fi + if test -d $lastlog ; then + gotlastlog="dir" break fi done +if test -z "$gotlastlog" ; then + AC_MSG_ERROR([*** Cannot find lastlog ***]) +else + if test "x$gotlastlog" = "xdir" ; then + AC_DEFINE(LASTLOG_IS_DIR) + AC_MSG_ERROR([*** Directory-based lastlogs are not yet supported ***]) + fi + AC_MSG_RESULT($lastlog) + AC_DEFINE_UNQUOTED(LASTLOG_LOCATION, "$lastlog") +fi + +AC_CHECK_FILE("/dev/ptmx", AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX)) +AC_CHECK_FILE("/dev/ptc", AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC)) AC_MSG_CHECKING([whether libc defines __progname]) AC_TRY_LINK([], - [extern char *__progname;], + [extern char *__progname; printf("%s", __progname);], [ AC_DEFINE(HAVE___PROGNAME) AC_MSG_RESULT(yes) @@ -177,7 +257,7 @@ AC_ARG_WITH(kerberos4, ) dnl Check whether user wants AFS support -AC_ARG_WITH(kerberos4, +AC_ARG_WITH(afs, [ --with-afs Enable AFS support], [ AC_DEFINE(AFS) @@ -195,12 +275,23 @@ AC_ARG_WITH(skey, ) dnl Check whether user wants TCP wrappers support -AC_ARG_WITH(skey, +AC_ARG_WITH(tcp-wrappers, [ --with-tcp-wrappers Enable tcpwrappers support], [ AC_DEFINE(LIBWRAP) - LIBS="$LIBS -lwrap" + LIBWRAP="-lwrap" ] ) +AC_SUBST(LIBWRAP) + +dnl Check whether to enable MD5 passwords +AC_ARG_WITH(md5-passwords, + [ --with-md5-passwords Enable use of MD5 passwords], + [AC_DEFINE(HAVE_MD5_PASSWORDS)] +) + +dnl Check for the path to xauth +AC_PATH_PROG(xauth_path, xauth) +AC_DEFINE_UNQUOTED(XAUTH_PATH, "$xauth_path") AC_OUTPUT(Makefile)