📄 configure.ac
字号:
for t in int size_t unsigned long "unsigned long"; do AC_TRY_COMPILE([ #include <sys/types.h> #include <sys/socket.h> int getpeername (int, $arg2 *, $t *); ],[ $t len; getpeername(0,0,&len); ],[ socklen_t_equiv="$t" break ]) done done if test "x$socklen_t_equiv" = x; then AC_MSG_ERROR([Cannot find a type to use in place of socklen_t]) fi ]) AC_MSG_RESULT($socklen_t_equiv) AC_DEFINE_UNQUOTED(socklen_t, $socklen_t_equiv, [type to use in place of socklen_t if not defined])], [#include <sys/types.h>#include <sys/socket.h>])])TYPE_SOCKLEN_T## statfs stuff#AC_CHECK_HEADERS(sys/vfs.h)AC_CHECK_HEADERS(sys/statvfs.h)AC_CHECK_HEADERS(sys/statfs.h)AC_CHECK_HEADERS(sys/param.h)mount_includes="\ $ac_includes_default #if HAVE_SYS_PARAM_H # include <sys/param.h> #endif "AC_CHECK_HEADERS(sys/mount.h,,,[$mount_includes])################################################## these tests are taken from the GNU fileutils packageAC_CHECKING(how to get filesystem space usage)space=no# Test for statvfs64.if test $space = no; then # SVR4 AC_CACHE_CHECK([statvfs64 function (SVR4)], fu_cv_sys_stat_statvfs64, [AC_TRY_RUN([#if defined(HAVE_UNISTD_H)#include <unistd.h>#endif#include <sys/types.h>#include <sys/statvfs.h> main () { struct statvfs64 fsd; exit (statvfs64 (".", &fsd)); }], fu_cv_sys_stat_statvfs64=yes, fu_cv_sys_stat_statvfs64=no, fu_cv_sys_stat_statvfs64=cross)]) if test $fu_cv_sys_stat_statvfs64 = yes; then space=yes AC_DEFINE(STAT_STATVFS64,1,[Whether statvfs64() is available]) fifi# Perform only the link test since it seems there are no variants of the# statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs)# because that got a false positive on SCO OSR5. Adding the declaration# of a `struct statvfs' causes this test to fail (as it should) on such# systems. That system is reported to work fine with STAT_STATFS4 which# is what it gets when this test fails.if test $space = no; then # SVR4 AC_CACHE_CHECK([statvfs function (SVR4)], fu_cv_sys_stat_statvfs, [AC_TRY_LINK([#include <sys/types.h>#include <sys/statvfs.h>], [struct statvfs fsd; statvfs (0, &fsd);], fu_cv_sys_stat_statvfs=yes, fu_cv_sys_stat_statvfs=no)]) if test $fu_cv_sys_stat_statvfs = yes; then space=yes AC_DEFINE(STAT_STATVFS,1,[Whether statvfs() is available]) fifiif test $space = no; then # DEC Alpha running OSF/1 AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1, [AC_TRY_RUN([#include <sys/param.h>#include <sys/types.h>#include <sys/mount.h> main () { struct statfs fsd; fsd.f_fsize = 0; exit (statfs (".", &fsd, sizeof (struct statfs))); }], fu_cv_sys_stat_statfs3_osf1=yes, fu_cv_sys_stat_statfs3_osf1=no, fu_cv_sys_stat_statfs3_osf1=no)])#C_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1) if test $fu_cv_sys_stat_statfs3_osf1 = yes; then space=yes AC_DEFINE(STAT_STATFS3_OSF1,1,[Whether statfs requires 3 arguments]) fifiif test $space = no; then# AIX AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnlmember (AIX, 4.3BSD)]) AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize, [AC_TRY_RUN([#ifdef HAVE_SYS_PARAM_H#include <sys/param.h>#endif#ifdef HAVE_SYS_MOUNT_H#include <sys/mount.h>#endif#ifdef HAVE_SYS_VFS_H#include <sys/vfs.h>#endif main () { struct statfs fsd; fsd.f_bsize = 0; exit (statfs (".", &fsd)); }], fu_cv_sys_stat_statfs2_bsize=yes, fu_cv_sys_stat_statfs2_bsize=no, fu_cv_sys_stat_statfs2_bsize=no)]) AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize) if test $fu_cv_sys_stat_statfs2_bsize = yes; then space=yes AC_DEFINE(STAT_STATFS2_BSIZE,1,[Whether statfs requires two arguments and struct statfs has bsize property]) fifiif test $space = no; then# SVR3 AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)]) AC_CACHE_VAL(fu_cv_sys_stat_statfs4, [AC_TRY_RUN([#include <sys/types.h>#include <sys/statfs.h> main () { struct statfs fsd; exit (statfs (".", &fsd, sizeof fsd, 0)); }], fu_cv_sys_stat_statfs4=yes, fu_cv_sys_stat_statfs4=no, fu_cv_sys_stat_statfs4=no)]) AC_MSG_RESULT($fu_cv_sys_stat_statfs4) if test $fu_cv_sys_stat_statfs4 = yes; then space=yes AC_DEFINE(STAT_STATFS4,1,[Whether statfs requires 4 arguments]) fifiif test $space = no; then# 4.4BSD and NetBSD AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnlmember (4.4BSD and NetBSD)]) AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize, [AC_TRY_RUN([#include <sys/types.h>#ifdef HAVE_SYS_PARAM_H#include <sys/param.h>#endif#ifdef HAVE_SYS_MOUNT_H#include <sys/mount.h>#endif main () { struct statfs fsd; fsd.f_fsize = 0; exit (statfs (".", &fsd)); }], fu_cv_sys_stat_statfs2_fsize=yes, fu_cv_sys_stat_statfs2_fsize=no, fu_cv_sys_stat_statfs2_fsize=no)]) AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize) if test $fu_cv_sys_stat_statfs2_fsize = yes; then space=yes AC_DEFINE(STAT_STATFS2_FSIZE,1,[Whether statfs requires 2 arguments and struct statfs has fsize]) fifiif test $space = no; then # Ultrix AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)]) AC_CACHE_VAL(fu_cv_sys_stat_fs_data, [AC_TRY_RUN([#include <sys/types.h>#ifdef HAVE_SYS_PARAM_H#include <sys/param.h>#endif#ifdef HAVE_SYS_MOUNT_H#include <sys/mount.h>#endif#ifdef HAVE_SYS_FS_TYPES_H#include <sys/fs_types.h>#endif main () { struct fs_data fsd; /* Ultrix's statfs returns 1 for success, 0 for not mounted, -1 for failure. */ exit (statfs (".", &fsd) != 1); }], fu_cv_sys_stat_fs_data=yes, fu_cv_sys_stat_fs_data=no, fu_cv_sys_stat_fs_data=no)]) AC_MSG_RESULT($fu_cv_sys_stat_fs_data) if test $fu_cv_sys_stat_fs_data = yes; then space=yes AC_DEFINE(STAT_STATFS2_FS_DATA,1,[Whether statfs requires 2 arguments and struct fs_data is available]) fifi statxfs_includes="\$ac_includes_default#if HAVE_SYS_STATVFS_H# include <sys/statvfs.h>#endif#if HAVE_SYS_VFS_H# include <sys/vfs.h>#endif#if !HAVE_SYS_STATVFS_H && !HAVE_SYS_VFS_H# if HAVE_SYS_MOUNT_H && HAVE_SYS_PARAM_H/* NetBSD 1.5.2 needs these, for the declaration of struct statfs. */# include <sys/param.h># include <sys/mount.h># elif HAVE_NETINET_IN_H && HAVE_NFS_NFS_CLNT_H && HAVE_NFS_VFS_H/* Ultrix 4.4 needs these for the declaration of struct statfs. */# include <netinet/in.h># include <nfs/nfs_clnt.h># include <nfs/vfs.h># endif#endif"AC_CHECK_MEMBERS([struct statfs.f_namemax],,,[$statxfs_includes])AC_CHECK_MEMBERS([struct statvfs.f_namemax],,,[$statxfs_includes])AC_CHECK_MEMBERS([struct statfs.f_namelen],,,[$statxfs_includes])AC_CHECK_MEMBERS([struct statvfs.f_namelen],,,[$statxfs_includes])## Large file support#AC_SYS_LARGEFILE## mntent#AC_CHECK_HEADER(mntent.h, AC_DEFINE(HAVE_MNTENT_H))AC_CHECK_FUNCS(setmntent)## IPv6#AC_ARG_WITH(ipv6, [ --with-ipv6 enable IPv6-support], [ if test $withval != "no"; then AC_DEFINE(IPv6,1) fi ])## debugging#AC_ARG_WITH(debug, [ --with-debug enable protocol debugging output], [ if test $withval != "no"; then AC_DEFINE(WITH_DEBUG,1) fi ])AC_ARG_WITH(debug-kbd, [ --with-debug-kbd enable debugging of keyboard handling], [ if test $withval != "no"; then AC_DEFINE(WITH_DEBUG_KBD,1) fi ])AC_ARG_WITH(debug-rdp5, [ --with-debug-rdp5 enable debugging of RDP5 code], [ if test $withval != "no"; then AC_DEFINE(WITH_DEBUG_RDP5,1) fi ])AC_ARG_WITH(debug-clipboard, [ --with-debug-clipboard enable debugging of clipboard code], [ if test $withval != "no"; then AC_DEFINE(WITH_DEBUG_CLIPBOARD,1) fi ])AC_ARG_WITH(debug-channel, [ --with-debug-channel enable debugging of virtual channel code], [ if test $withval != "no"; then AC_DEFINE(WITH_DEBUG_CHANNEL,1) fi ])## target-specific stuff## strip leading colon from rpathrpath=`echo $rpath |sed 's/^://'`AC_CANONICAL_HOSTcase "$host" in*-*-solaris*) LDFLAGS="$LDFLAGS -R$rpath" ;;*-dec-osf*) LDFLAGS="$LDFLAGS -Wl,-rpath,$rpath" ;;*-*-hpux*) CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED" ;;*-*-irix6.5*) LIBS="$LIBS -L$ssldir/lib32 -lcrypto" CFLAGS="$CFLAGS -D__SGI_IRIX__" ;;esacAC_OUTPUT(Makefile)dnl Local Variables:dnl comment-start: "dnl "dnl comment-end: ""dnl comment-start-skip: "\\bdnl\\b\\s *"dnl compile-command: "autoconf"dnl End:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -