Annotation of uae/acsite.m4, revision 1.1.1.1

1.1       root        1: AC_DEFUN([GNOME_FILEUTILS_CHECKS],
                      2: [      
                      3: AC_CHECK_HEADERS(fcntl.h sys/param.h sys/statfs.h sys/fstyp.h \
                      4: mnttab.h mntent.h sys/statvfs.h sys/vfs.h sys/mount.h \
                      5: sys/filsys.h sys/fs_types.h sys/fs/s5param.h)
                      6: 
                      7: AC_CHECK_FUNCS(bcopy endgrent endpwent fchdir ftime ftruncate \
                      8: getcwd getmntinfo gettimeofday isascii lchown \
                      9: listmntent memcpy mkfifo strchr strerror strrchr)
                     10: 
                     11: # Determine how to get the list of mounted filesystems.
                     12: list_mounted_fs=
                     13: 
                     14: # If the getmntent function is available but not in the standard library,
                     15: # make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX).
                     16: AC_FUNC_GETMNTENT
                     17: 
                     18: # This test must precede the ones for getmntent because Unicos-9 is
                     19: # reported to have the getmntent function, but its support is incompatible
                     20: # with other getmntent implementations.
                     21: 
                     22: # NOTE: Normally, I wouldn't use a check for system type as I've done for
                     23: # `CRAY' below since that goes against the whole autoconf philosophy.  But
                     24: # I think there is too great a chance that some non-Cray system has a
                     25: # function named listmntent to risk the false positive.
                     26: 
                     27: if test -z "$list_mounted_fs"; then
                     28: # Cray UNICOS 9
                     29: AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
                     30: AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
                     31: [fu_cv_sys_mounted_cray_listmntent=no
                     32: AC_EGREP_CPP(yes,
                     33: [#ifdef _CRAY
                     34: yes
                     35: #endif
                     36: ], [test $ac_cv_func_listmntent = yes \
                     37: && fu_cv_sys_mounted_cray_listmntent=yes]
                     38: )
                     39: ]
                     40: )
                     41: AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
                     42: if test $fu_cv_sys_mounted_cray_listmntent = yes; then
                     43: list_mounted_fs=found
                     44: AC_DEFINE(MOUNTED_LISTMNTENT)
                     45: fi
                     46: fi
                     47: 
                     48: if test $ac_cv_func_getmntent = yes; then
                     49: 
                     50: # This system has the getmntent function.
                     51: # Determine whether it's the one-argument variant or the two-argument one.
                     52: 
                     53: if test -z "$list_mounted_fs"; then
                     54: # 4.3BSD, SunOS, HP-UX, Dynix, Irix
                     55: AC_MSG_CHECKING([for one-argument getmntent function])
                     56: AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
                     57: [test $ac_cv_header_mntent_h = yes \
                     58: && fu_cv_sys_mounted_getmntent1=yes \
                     59: || fu_cv_sys_mounted_getmntent1=no])
                     60: AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
                     61: if test $fu_cv_sys_mounted_getmntent1 = yes; then
                     62: list_mounted_fs=found
                     63: AC_DEFINE(MOUNTED_GETMNTENT1)
                     64: fi
                     65: fi
                     66: 
                     67: if test -z "$list_mounted_fs"; then
                     68: # SVR4
                     69: AC_MSG_CHECKING([for two-argument getmntent function])
                     70: AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
                     71: [AC_EGREP_HEADER(getmntent, sys/mnttab.h,
                     72: fu_cv_sys_mounted_getmntent2=yes,
                     73: fu_cv_sys_mounted_getmntent2=no)])
                     74: AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
                     75: if test $fu_cv_sys_mounted_getmntent2 = yes; then
                     76: list_mounted_fs=found
                     77: AC_DEFINE(MOUNTED_GETMNTENT2)
                     78: fi
                     79: fi
                     80: 
                     81: if test -z "$list_mounted_fs"; then
                     82: AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
                     83: fi
                     84: 
                     85: fi
                     86: 
                     87: if test -z "$list_mounted_fs"; then
                     88: # DEC Alpha running OSF/1.
                     89: AC_MSG_CHECKING([for getfsstat function])
                     90: AC_CACHE_VAL(fu_cv_sys_mounted_getsstat,
                     91: [AC_TRY_LINK([
                     92: #include <sys/types.h>
                     93: #include <sys/mount.h>
                     94: #include <sys/fs_types.h>],
                     95: [struct statfs *stats;
                     96: int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); ],
                     97: fu_cv_sys_mounted_getsstat=yes,
                     98: fu_cv_sys_mounted_getsstat=no)])
                     99: AC_MSG_RESULT($fu_cv_sys_mounted_getsstat)
                    100: if test $fu_cv_sys_mounted_getsstat = yes; then
                    101: list_mounted_fs=found
                    102: AC_DEFINE(MOUNTED_GETFSSTAT)
                    103: fi
                    104: fi
                    105: 
                    106: if test -z "$list_mounted_fs"; then
                    107: # AIX.
                    108: AC_MSG_CHECKING([for mntctl function and struct vmount])
                    109: AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
                    110: [AC_TRY_CPP([#include <fshelp.h>],
                    111: fu_cv_sys_mounted_vmount=yes,
                    112: fu_cv_sys_mounted_vmount=no)])
                    113: AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
                    114: if test $fu_cv_sys_mounted_vmount = yes; then
                    115: list_mounted_fs=found
                    116: AC_DEFINE(MOUNTED_VMOUNT)
                    117: fi
                    118: fi
                    119: 
                    120: if test -z "$list_mounted_fs"; then
                    121: # SVR3
                    122: AC_MSG_CHECKING([for FIXME existence of three headers])
                    123: AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
                    124: [AC_TRY_CPP([
                    125: #include <sys/statfs.h>
                    126: #include <sys/fstyp.h>
                    127: #include <mnttab.h>],
                    128: fu_cv_sys_mounted_fread_fstyp=yes,
                    129: fu_cv_sys_mounted_fread_fstyp=no)])
                    130: AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
                    131: if test $fu_cv_sys_mounted_fread_fstyp = yes; then
                    132: list_mounted_fs=found
                    133: AC_DEFINE(MOUNTED_FREAD_FSTYP)
                    134: fi
                    135: fi
                    136: 
                    137: if test -z "$list_mounted_fs"; then
                    138: # 4.4BSD and DEC OSF/1.
                    139: AC_MSG_CHECKING([for getmntinfo function])
                    140: AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
                    141: [
                    142: ok=
                    143: if test $ac_cv_func_getmntinfo = yes; then
                    144: AC_EGREP_HEADER(f_type;, sys/mount.h,
                    145: ok=yes)
                    146: fi
                    147: test -n "$ok" \
                    148: && fu_cv_sys_mounted_getmntinfo=yes \
                    149: || fu_cv_sys_mounted_getmntinfo=no
                    150: ])
                    151: AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
                    152: if test $fu_cv_sys_mounted_getmntinfo = yes; then
                    153: list_mounted_fs=found
                    154: AC_DEFINE(MOUNTED_GETMNTINFO)
                    155: fi
                    156: fi
                    157: 
                    158: # FIXME: add a test for netbsd-1.1 here
                    159: 
                    160: if test -z "$list_mounted_fs"; then
                    161: # Ultrix
                    162: AC_MSG_CHECKING([for getmnt function])
                    163: AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
                    164: [AC_TRY_CPP([
                    165: #include <sys/fs_types.h>
                    166: #include <sys/mount.h>],
                    167: fu_cv_sys_mounted_getmnt=yes,
                    168: fu_cv_sys_mounted_getmnt=no)])
                    169: AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
                    170: if test $fu_cv_sys_mounted_getmnt = yes; then
                    171: list_mounted_fs=found
                    172: AC_DEFINE(MOUNTED_GETMNT)
                    173: fi
                    174: fi
                    175: 
                    176: if test -z "$list_mounted_fs"; then
                    177: # SVR2
                    178: AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
                    179: AC_CACHE_VAL(fu_cv_sys_mounted_fread,
                    180: [AC_TRY_CPP([#include <mnttab.h>],
                    181: fu_cv_sys_mounted_fread=yes,
                    182: fu_cv_sys_mounted_fread=no)])
                    183: AC_MSG_RESULT($fu_cv_sys_mounted_fread)
                    184: if test $fu_cv_sys_mounted_fread = yes; then
                    185: list_mounted_fs=found
                    186: AC_DEFINE(MOUNTED_FREAD)
                    187: fi
                    188: fi
                    189: 
                    190: if test -z "$list_mounted_fs"; then
                    191: AC_MSG_ERROR([could not determine how to read list of mounted filesystems])
                    192: # FIXME -- no need to abort building the whole package
                    193: # Can't build mountlist.c or anything that needs its functions
                    194: fi
                    195: 
                    196: AC_CHECKING(how to get filesystem space usage)
                    197: space=no
                    198: 
                    199: # Perform only the link test since it seems there are no variants of the
                    200: # statvfs function.  This check is more than just AC_CHECK_FUNCS(statvfs)
                    201: # because that got a false positive on SCO OSR5.  Adding the declaration
                    202: # of a `struct statvfs' causes this test to fail (as it should) on such
                    203: # systems.  That system is reported to work fine with STAT_STATFS4 which
                    204: # is what it gets when this test fails.
                    205: if test $space = no; then
                    206: # SVR4
                    207: AC_CACHE_CHECK([statvfs function (SVR4)], fu_cv_sys_stat_statvfs,
                    208: [AC_TRY_LINK([#include <sys/types.h>
                    209: #include <sys/statvfs.h>],
                    210: [struct statvfs fsd; statvfs (0, &fsd);],
                    211: fu_cv_sys_stat_statvfs=yes,
                    212: fu_cv_sys_stat_statvfs=no)])
                    213: if test $fu_cv_sys_stat_statvfs = yes; then
                    214: space=yes
                    215: AC_DEFINE(STAT_STATVFS)
                    216: fi
                    217: fi
                    218: 
                    219: if test $space = no; then
                    220: # DEC Alpha running OSF/1
                    221: AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
                    222: AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1,
                    223: [AC_TRY_RUN([
                    224: #include <sys/param.h>
                    225: #include <sys/types.h>
                    226: #include <sys/mount.h>
                    227: main ()
                    228: {
                    229: struct statfs fsd;
                    230: fsd.f_fsize = 0;
                    231: exit (statfs (".", &fsd, sizeof (struct statfs)));
                    232: }],
                    233: fu_cv_sys_stat_statfs3_osf1=yes,
                    234: fu_cv_sys_stat_statfs3_osf1=no,
                    235: fu_cv_sys_stat_statfs3_osf1=no)])
                    236: AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1)
                    237: if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
                    238: space=yes
                    239: AC_DEFINE(STAT_STATFS3_OSF1)
                    240: fi
                    241: fi
                    242: 
                    243: if test $space = no; then
                    244: # AIX
                    245: AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl
                    246: member (AIX, 4.3BSD)])
                    247: AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize,
                    248: [AC_TRY_RUN([
                    249: #ifdef HAVE_SYS_PARAM_H
                    250: #include <sys/param.h>
                    251: #endif
                    252: #ifdef HAVE_SYS_MOUNT_H
                    253: #include <sys/mount.h>
                    254: #endif
                    255: #ifdef HAVE_SYS_VFS_H
                    256: #include <sys/vfs.h>
                    257: #endif
                    258: main ()
                    259: {
                    260: struct statfs fsd;
                    261: fsd.f_bsize = 0;
                    262: exit (statfs (".", &fsd));
                    263: }],
                    264: fu_cv_sys_stat_statfs2_bsize=yes,
                    265: fu_cv_sys_stat_statfs2_bsize=no,
                    266: fu_cv_sys_stat_statfs2_bsize=no)])
                    267: AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize)
                    268: if test $fu_cv_sys_stat_statfs2_bsize = yes; then
                    269: space=yes
                    270: AC_DEFINE(STAT_STATFS2_BSIZE)
                    271: fi
                    272: fi
                    273: 
                    274: if test $space = no; then
                    275: # SVR3
                    276: AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
                    277: AC_CACHE_VAL(fu_cv_sys_stat_statfs4,
                    278: [AC_TRY_RUN([#include <sys/types.h>
                    279: #include <sys/statfs.h>
                    280: main ()
                    281: {
                    282: struct statfs fsd;
                    283: exit (statfs (".", &fsd, sizeof fsd, 0));
                    284: }],
                    285: fu_cv_sys_stat_statfs4=yes,
                    286: fu_cv_sys_stat_statfs4=no,
                    287: fu_cv_sys_stat_statfs4=no)])
                    288: AC_MSG_RESULT($fu_cv_sys_stat_statfs4)
                    289: if test $fu_cv_sys_stat_statfs4 = yes; then
                    290: space=yes
                    291: AC_DEFINE(STAT_STATFS4)
                    292: fi
                    293: fi
                    294: 
                    295: if test $space = no; then
                    296: # 4.4BSD and NetBSD
                    297: AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl
                    298: member (4.4BSD and NetBSD)])
                    299: AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize,
                    300: [AC_TRY_RUN([#include <sys/types.h>
                    301: #ifdef HAVE_SYS_PARAM_H
                    302: #include <sys/param.h>
                    303: #endif
                    304: #ifdef HAVE_SYS_MOUNT_H
                    305: #include <sys/mount.h>
                    306: #endif
                    307: main ()
                    308: {
                    309: struct statfs fsd;
                    310: fsd.f_fsize = 0;
                    311: exit (statfs (".", &fsd));
                    312: }],
                    313: fu_cv_sys_stat_statfs2_fsize=yes,
                    314: fu_cv_sys_stat_statfs2_fsize=no,
                    315: fu_cv_sys_stat_statfs2_fsize=no)])
                    316: AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize)
                    317: if test $fu_cv_sys_stat_statfs2_fsize = yes; then
                    318: space=yes
                    319: AC_DEFINE(STAT_STATFS2_FSIZE)
                    320: fi
                    321: fi
                    322: 
                    323: if test $space = no; then
                    324: # Ultrix
                    325: AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
                    326: AC_CACHE_VAL(fu_cv_sys_stat_fs_data,
                    327: [AC_TRY_RUN([#include <sys/types.h>
                    328: #ifdef HAVE_SYS_PARAM_H
                    329: #include <sys/param.h>
                    330: #endif
                    331: #ifdef HAVE_SYS_MOUNT_H
                    332: #include <sys/mount.h>
                    333: #endif
                    334: #ifdef HAVE_SYS_FS_TYPES_H
                    335: #include <sys/fs_types.h>
                    336: #endif
                    337: main ()
                    338: {
                    339: struct fs_data fsd;
                    340: /* Ultrix's statfs returns 1 for success,
                    341: 0 for not mounted, -1 for failure.  */
                    342: exit (statfs (".", &fsd) != 1);
                    343: }],
                    344: fu_cv_sys_stat_fs_data=yes,
                    345: fu_cv_sys_stat_fs_data=no,
                    346: fu_cv_sys_stat_fs_data=no)])
                    347: AC_MSG_RESULT($fu_cv_sys_stat_fs_data)
                    348: if test $fu_cv_sys_stat_fs_data = yes; then
                    349: space=yes
                    350: AC_DEFINE(STAT_STATFS2_FS_DATA)
                    351: fi
                    352: fi
                    353: 
                    354: if test $space = no; then
                    355: # SVR2
                    356: AC_TRY_CPP([#include <sys/filsys.h>],
                    357: AC_DEFINE(STAT_READ_FILSYS) space=yes)
                    358: fi
                    359: 
                    360: if test -n "$list_mounted_fs" && test $space != no; then
                    361: DF_PROG="df"
                    362: AC_LIBOBJ([fsusage])
                    363: AC_LIBOBJ([mountlist])
                    364: fi
                    365: 
                    366: AC_CHECK_FUNCS(ftruncate, , [ftruncate_missing=yes])
                    367: 
                    368: if test "$ftruncate_missing" = yes; then
                    369: AC_MSG_CHECKING([fcntl emulation of ftruncate])
                    370: AC_CACHE_VAL(fu_cv_sys_ftruncate_emulation,
                    371: [AC_TRY_LINK([
                    372: #include <sys/types.h>
                    373: #include <fcntl.h>], [
                    374: #if !defined(F_CHSIZE) && !defined(F_FREESP)
                    375: chsize();
                    376: #endif
                    377: ],
                    378: fu_cv_sys_ftruncate_emulation=yes,
                    379: fu_cv_sys_ftruncate_emulation=no)])
                    380: AC_MSG_RESULT($fu_cv_sys_ftruncate_emulation)
                    381: if test $fu_cv_sys_ftruncate_emulation = yes; then
                    382: AC_LIBOBJ([ftruncate])
                    383: fi
                    384: fi
                    385: 
                    386: # Check for SunOS statfs brokenness wrt partitions 2GB and larger.
                    387: # If <sys/vfs.h> exists and struct statfs has a member named f_spare,
                    388: # enable the work-around code in fsusage.c.
                    389: AC_MSG_CHECKING([for statfs that truncates block counts])
                    390: AC_CACHE_VAL(fu_cv_sys_truncating_statfs,
                    391: [AC_TRY_COMPILE([
                    392: #if !defined(sun) && !defined(__sun)
                    393: choke -- this is a workaround for a Sun-specific problem
                    394: #endif
                    395: #include <sys/types.h>
                    396: #include <sys/vfs.h>],
                    397: [struct statfs t; long c = *(t.f_spare);],
                    398: fu_cv_sys_truncating_statfs=yes,
                    399: fu_cv_sys_truncating_statfs=no,
                    400: )])
                    401: if test $fu_cv_sys_truncating_statfs = yes; then
                    402: AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS)
                    403: fi
                    404: AC_MSG_RESULT($fu_cv_sys_truncating_statfs)
                    405: 
                    406: AC_CHECKING(for AFS)
                    407: test -d /afs && AC_DEFINE(AFS)
                    408: ])
                    409: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.