]> andersk Git - openssh.git/blobdiff - configure.in
- Added better test for inline functions compiler support from
[openssh.git] / configure.in
index 0b54fd58a560dd89f123157d05a5eabd6979ac60..19372e2d5f8c2aeae422dbc867724870cdda0565 100644 (file)
@@ -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 <sys/types.h>], 
+       [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 <sys/types.h>], 
+       [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 <sys/types.h>], 
+       [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 <sys/types.h>], 
+       [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 <stdlib.h>
+               #include <security/pam_appl.h>
+       ], 
+       [(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)
This page took 0.046266 seconds and 4 git commands to generate.