📄 configure.ac
字号:
AC_CACHE_CHECK([for pw_expire field in struct passwd], ac_cv_have_pw_expire_in_struct_passwd, [ AC_TRY_COMPILE( [#include <pwd.h> ], [ struct passwd p; p.pw_expire = 0; ], [ ac_cv_have_pw_expire_in_struct_passwd="yes" ], [ ac_cv_have_pw_expire_in_struct_passwd="no" ] )])if test "x$ac_cv_have_pw_expire_in_struct_passwd" = "xyes" ; then AC_DEFINE(HAVE_PW_EXPIRE_IN_PASSWD)fiAC_CACHE_CHECK([for pw_change field in struct passwd], ac_cv_have_pw_change_in_struct_passwd, [ AC_TRY_COMPILE( [#include <pwd.h> ], [ struct passwd p; p.pw_change = 0; ], [ ac_cv_have_pw_change_in_struct_passwd="yes" ], [ ac_cv_have_pw_change_in_struct_passwd="no" ] )])if test "x$ac_cv_have_pw_change_in_struct_passwd" = "xyes" ; then AC_DEFINE(HAVE_PW_CHANGE_IN_PASSWD)fidnl make sure we're using the real structure members and not definesAC_CACHE_CHECK([for msg_accrights field in struct msghdr], ac_cv_have_accrights_in_msghdr, [ AC_TRY_RUN( [#include <sys/types.h>#include <sys/socket.h>#include <sys/uio.h>int main() {#ifdef msg_accrightsexit(1);#endifstruct msghdr m;m.msg_accrights = 0;exit(0);} ], [ ac_cv_have_accrights_in_msghdr="yes" ], [ ac_cv_have_accrights_in_msghdr="no" ] )])if test "x$ac_cv_have_accrights_in_msghdr" = "xyes" ; then AC_DEFINE(HAVE_ACCRIGHTS_IN_MSGHDR)fiAC_CACHE_CHECK([for msg_control field in struct msghdr], ac_cv_have_control_in_msghdr, [ AC_TRY_RUN( [#include <sys/types.h>#include <sys/socket.h>#include <sys/uio.h>int main() {#ifdef msg_controlexit(1);#endifstruct msghdr m;m.msg_control = 0;exit(0);} ], [ ac_cv_have_control_in_msghdr="yes" ], [ ac_cv_have_control_in_msghdr="no" ] )])if test "x$ac_cv_have_control_in_msghdr" = "xyes" ; then AC_DEFINE(HAVE_CONTROL_IN_MSGHDR)fiAC_CACHE_CHECK([if libc defines __progname], ac_cv_libc_defines___progname, [ AC_TRY_LINK([], [ extern char *__progname; printf("%s", __progname); ], [ ac_cv_libc_defines___progname="yes" ], [ ac_cv_libc_defines___progname="no" ] )])if test "x$ac_cv_libc_defines___progname" = "xyes" ; then AC_DEFINE(HAVE___PROGNAME)fiAC_CACHE_CHECK([whether $CC implements __FUNCTION__], ac_cv_cc_implements___FUNCTION__, [ AC_TRY_LINK([#include <stdio.h>], [ printf("%s", __FUNCTION__); ], [ ac_cv_cc_implements___FUNCTION__="yes" ], [ ac_cv_cc_implements___FUNCTION__="no" ] )])if test "x$ac_cv_cc_implements___FUNCTION__" = "xyes" ; then AC_DEFINE(HAVE___FUNCTION__)fiAC_CACHE_CHECK([whether $CC implements __func__], ac_cv_cc_implements___func__, [ AC_TRY_LINK([#include <stdio.h>], [ printf("%s", __func__); ], [ ac_cv_cc_implements___func__="yes" ], [ ac_cv_cc_implements___func__="no" ] )])if test "x$ac_cv_cc_implements___func__" = "xyes" ; then AC_DEFINE(HAVE___func__)fiAC_CACHE_CHECK([whether getopt has optreset support], ac_cv_have_getopt_optreset, [ AC_TRY_LINK( [#include <getopt.h> ], [ extern int optreset; optreset = 0; ], [ ac_cv_have_getopt_optreset="yes" ], [ ac_cv_have_getopt_optreset="no" ] )])if test "x$ac_cv_have_getopt_optreset" = "xyes" ; then AC_DEFINE(HAVE_GETOPT_OPTRESET)fiAC_CACHE_CHECK([if libc defines sys_errlist], ac_cv_libc_defines_sys_errlist, [ AC_TRY_LINK([], [ extern const char *const sys_errlist[]; printf("%s", sys_errlist[0]);], [ ac_cv_libc_defines_sys_errlist="yes" ], [ ac_cv_libc_defines_sys_errlist="no" ] )])if test "x$ac_cv_libc_defines_sys_errlist" = "xyes" ; then AC_DEFINE(HAVE_SYS_ERRLIST)fiAC_CACHE_CHECK([if libc defines sys_nerr], ac_cv_libc_defines_sys_nerr, [ AC_TRY_LINK([], [ extern int sys_nerr; printf("%i", sys_nerr);], [ ac_cv_libc_defines_sys_nerr="yes" ], [ ac_cv_libc_defines_sys_nerr="no" ] )])if test "x$ac_cv_libc_defines_sys_nerr" = "xyes" ; then AC_DEFINE(HAVE_SYS_NERR)fiSCARD_MSG="no" # Check whether user wants sectok supportAC_ARG_WITH(sectok, [ --with-sectok Enable smartcard support using libsectok], [ if test "x$withval" != "xno" ; then if test "x$withval" != "xyes" ; then CPPFLAGS="$CPPFLAGS -I${withval}" LDFLAGS="$LDFLAGS -L${withval}" if test ! -z "$need_dash_r" ; then LDFLAGS="$LDFLAGS -R${withval}" fi if test ! -z "$blibpath" ; then blibpath="$blibpath:${withval}" fi fi AC_CHECK_HEADERS(sectok.h) if test "$ac_cv_header_sectok_h" != yes; then AC_MSG_ERROR(Can't find sectok.h) fi AC_CHECK_LIB(sectok, sectok_open) if test "$ac_cv_lib_sectok_sectok_open" != yes; then AC_MSG_ERROR(Can't find libsectok) fi AC_DEFINE(SMARTCARD) AC_DEFINE(USE_SECTOK) SCARD_MSG="yes, using sectok" fi ])# Check whether user wants OpenSC supportAC_ARG_WITH(opensc, AC_HELP_STRING([--with-opensc=PFX], [Enable smartcard support using OpenSC]), opensc_config_prefix="$withval", opensc_config_prefix="")if test x$opensc_config_prefix != x ; then OPENSC_CONFIG=$opensc_config_prefix/bin/opensc-config AC_PATH_PROG(OPENSC_CONFIG, opensc-config, no) if test "$OPENSC_CONFIG" != "no"; then LIBOPENSC_CFLAGS=`$OPENSC_CONFIG --cflags` LIBOPENSC_LIBS=`$OPENSC_CONFIG --libs` CPPFLAGS="$CPPFLAGS $LIBOPENSC_CFLAGS" LDFLAGS="$LDFLAGS $LIBOPENSC_LIBS" AC_DEFINE(SMARTCARD) AC_DEFINE(USE_OPENSC) SCARD_MSG="yes, using OpenSC" fifi# Check whether user wants Kerberos 5 supportKRB5_MSG="no" AC_ARG_WITH(kerberos5, [ --with-kerberos5=PATH Enable Kerberos 5 support], [ if test "x$withval" != "xno" ; then if test "x$withval" = "xyes" ; then KRB5ROOT="/usr/local" else KRB5ROOT=${withval} fi CPPFLAGS="$CPPFLAGS -I${KRB5ROOT}/include" LDFLAGS="$LDFLAGS -L${KRB5ROOT}/lib" AC_DEFINE(KRB5) KRB5_MSG="yes" AC_MSG_CHECKING(whether we are using Heimdal) AC_TRY_COMPILE([ #include <krb5.h> ], [ char *tmp = heimdal_version; ], [ AC_MSG_RESULT(yes) AC_DEFINE(HEIMDAL) K5LIBS="-lkrb5 -ldes -lcom_err -lasn1 -lroken" ], [ AC_MSG_RESULT(no) K5LIBS="-lkrb5 -lk5crypto -lcom_err" ] ) if test ! -z "$need_dash_r" ; then LDFLAGS="$LDFLAGS -R${KRB5ROOT}/lib" fi if test ! -z "$blibpath" ; then blibpath="$blibpath:${KRB5ROOT}/lib" fi AC_CHECK_LIB(resolv, dn_expand, , ) KRB5=yes fi ])# Check whether user wants Kerberos 4 supportKRB4_MSG="no" AC_ARG_WITH(kerberos4, [ --with-kerberos4=PATH Enable Kerberos 4 support], [ if test "x$withval" != "xno" ; then if test "x$withval" != "xyes" ; then CPPFLAGS="$CPPFLAGS -I${withval}/include" LDFLAGS="$LDFLAGS -L${withval}/lib" if test ! -z "$need_dash_r" ; then LDFLAGS="$LDFLAGS -R${withval}/lib" fi if test ! -z "$blibpath" ; then blibpath="$blibpath:${withval}/lib" fi else if test -d /usr/include/kerberosIV ; then CPPFLAGS="$CPPFLAGS -I/usr/include/kerberosIV" fi fi AC_CHECK_HEADERS(krb.h) if test "$ac_cv_header_krb_h" != yes; then AC_MSG_WARN([Cannot find krb.h, build may fail]) fi AC_CHECK_LIB(krb, main) if test "$ac_cv_lib_krb_main" != yes; then AC_CHECK_LIB(krb4, main) if test "$ac_cv_lib_krb4_main" != yes; then AC_MSG_WARN([Cannot find libkrb nor libkrb4, build may fail]) else KLIBS="-lkrb4" fi else KLIBS="-lkrb" fi AC_CHECK_LIB(des, des_cbc_encrypt) if test "$ac_cv_lib_des_des_cbc_encrypt" != yes; then AC_CHECK_LIB(des425, des_cbc_encrypt) if test "$ac_cv_lib_des425_des_cbc_encrypt" != yes; then AC_MSG_WARN([Cannot find libdes nor libdes425, build may fail]) else KLIBS="-ldes425" fi else KLIBS="-ldes" fi AC_CHECK_LIB(resolv, dn_expand, , ) KRB4=yes KRB4_MSG="yes" AC_DEFINE(KRB4) fi ])# Check whether user wants AFS supportAFS_MSG="no" AC_ARG_WITH(afs, [ --with-afs=PATH Enable AFS support], [ if test "x$withval" != "xno" ; then if test "x$withval" != "xyes" ; then CPPFLAGS="$CPPFLAGS -I${withval}/include" LDFLAGS="$LDFLAGS -L${withval}/lib" fi if test -z "$KRB4" ; then AC_MSG_WARN([AFS requires Kerberos IV support, build may fail]) fi LIBS="-lkafs $LIBS" if test ! -z "$AFS_LIBS" ; then LIBS="$LIBS $AFS_LIBS" fi AC_DEFINE(AFS) AFS_MSG="yes" fi ])LIBS="$LIBS $KLIBS $K5LIBS"# Looking for programs, paths and filesAC_ARG_WITH(rsh, [ --with-rsh=PATH Specify path to remote shell program ], [ if test "x$withval" != "$no" ; then rsh_path=$withval fi ], [ AC_PATH_PROG(rsh_path, rsh) ])PRIVSEP_PATH=/var/emptyAC_ARG_WITH(privsep-path, [ --with-privsep-path=xxx Path for privilege separation chroot ], [ if test "x$withval" != "$no" ; then PRIVSEP_PATH=$withval fi ])AC_SUBST(PRIVSEP_PATH)AC_ARG_WITH(xauth, [ --with-xauth=PATH Specify path to xauth program ], [ if test "x$withval" != "xno" ; then xauth_path=$withval fi ], [ AC_PATH_PROG(xauth_path, xauth,,$PATH:/usr/X/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/openwin/bin) if (test ! -z "$xauth_path" && test -x "/usr/openwin/bin/xauth") ; then xauth_path="/usr/openwin/bin/xauth" fi ])if test -z "$xauth_path" ; then XAUTH_PATH="undefined" AC_SUBST(XAUTH_PATH)else AC_DEFINE_UNQUOTED(XAUTH_PATH, "$xauth_path") XAUTH_PATH=$xauth_path AC_SUBST(XAUTH_PATH)fiif test ! -z "$rsh_path" ; then AC_DEFINE_UNQUOTED(RSH_PATH, "$rsh_path")fi# Check for mail directory (last resort if we cannot get it from headers)if test ! -z "$MAIL" ; then maildir=`dirname $MAIL` AC_DEFINE_UNQUOTED(MAIL_DIRECTORY, "$maildir")fiif test -z "$no_dev_ptmx" ; then if test "x$disable_ptmx_check" != "xyes" ; then AC_CHECK_FILE("/dev/ptmx", [ AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX) have_dev_ptmx=1 ] ) fifiAC_CHECK_FILE("/dev/ptc", [ AC_DEFINE_UNQUOTED(HAVE_DEV_PTS_AND_PTC) have_dev_ptc=1 ])# Options from here on. Some of these are preset by platform aboveAC_ARG_WITH(mantype, [ --with-mantype=man|cat|doc Set man page type], [ case "$withval" in man|cat|doc) MANTYPE=$withval ;; *) AC_MSG_ERROR(invalid man type: $withval) ;; esac ])if test -z "$MANTYPE"; then AC_PATH_PROGS(NROFF, nroff awf, /bin/false, /usr/bin:/usr/ucb) if ${NROFF} -mdoc ${srcdir}/ssh.1 >/dev/null 2>&1; then MANTYPE=doc elif ${NROFF} -man ${srcdir}/ssh.1 >/dev/null 2>&1; then MANTYPE=man else MANTYPE=cat fifiAC_SUBST(MANTYPE)if test "$MANTYPE" = "doc"; then mansubdir=man;else mansubdir=$MANTYPE;fiAC_SUBST(mansubdir)# Check whether to enable MD5 passwordsMD5_MSG="no" AC_ARG_WITH(md5-passwords, [ --with-md5-passwords Enable use of MD5 passwords], [ if test "x$withval" != "xno" ; then AC_DEFINE(HAVE_MD5_PASSWORDS) MD5_MSG="yes" fi ])# Whether to disable shadow password supportAC_ARG_WITH(shadow, [ --without-shadow Disable shadow password support], [ if test "x$withval" = "xno" ; then AC_DEFINE(DISABLE_SHADOW) disable_shadow=yes fi ])if test -z "$disable_shadow" ; then AC_MSG_CHECKING([if the systems has expire shadow information]) AC_TRY_COMPILE( [#include <sys/types.h>#include <shadow.h> struct spwd sp; ],[ sp.sp_expire = sp.sp_lstchg = sp.sp_inact = 0; ], [ sp_expire_available=yes ], [] ) if test "x$sp_expire_available" = "xyes" ; then AC_MSG_RESULT(yes) AC_DEFINE(HAS_SHADOW_EXPIRE) else AC_MSG_RESULT(no) fifi# Use ip address instead of hostname in $DISPLAYif test ! -z "$IPADDR_IN_DISPLAY" ; then DISPLAY_HACK_MSG="yes" AC_DEFINE(IPADDR_IN_DISPLAY)else DISPLAY_HACK_MSG="no" AC_ARG_WITH(ipaddr-display, [ --with-ipaddr-display Use ip address instead of hostname in \$DISPLAY], [ if test "x$withval" != "xno" ; then AC_DEFINE(IPADDR_IN_DISPLAY) DISPLAY_HACK_MSG="yes" fi ]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -