X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/blobdiff_plain/beb43d315bfc692a8646c5b6dacf409f6141b289..87e913311d0a073ab17a966bd6b292ed21432385:/configure.in diff --git a/configure.in b/configure.in index dd74b3b4..2e7623bb 100644 --- a/configure.in +++ b/configure.in @@ -6,6 +6,7 @@ dnl Checks for programs. AC_PROG_CC AC_PROG_CPP AC_PROG_RANLIB +AC_PROG_INSTALL AC_CHECK_PROG(AR, ar, ar) if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -Wall"; fi @@ -55,10 +56,10 @@ 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 pty.h shadow.h util.h utmp.h utmpx.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)], @@ -70,46 +71,89 @@ AC_CHECK_FUNC(daemon, [AC_CHECK_LIB(bsd, daemon, [LIBS="$LIBS -lbsd"; AC_DEFINE(HAVE_DAEMON)])] ) -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 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 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 @@ -154,15 +198,38 @@ 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([], @@ -187,7 +254,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) @@ -205,12 +272,19 @@ 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)] +) AC_OUTPUT(Makefile)