added configure test for WX_STATVFS_T

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2003-01-13 21:54:29 +00:00
parent 9cbee2ceee
commit 54ab82b3f9
3 changed files with 682 additions and 535 deletions

1136
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -3270,37 +3270,85 @@ AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
)
if test "$wx_cv_func_statfs" = "yes"; then
wx_cv_type_statvfs_t="struct statfs"
AC_DEFINE(HAVE_STATFS)
else
AC_CACHE_CHECK(for statvfs, wx_cv_func_statvfs,
AC_TRY_COMPILE(
[
#include <sys/statvfs.h>
#include <stddef.h>
#include <sys/statvfs.h>
],
[
long l;
struct statvfs fs;
statvfs("/", &fs);
l = fs.f_bsize;
l += fs.f_blocks;
l += fs.f_bavail;
statvfs("/", NULL);
],
[
wx_cv_func_statvfs=yes
],
[
wx_cv_func_statvfs=no
]
wx_cv_func_statvfs=yes,
wx_cv_func_statvfs=no
)
)
if test "$wx_cv_func_statvfs" = "yes"; then
AC_DEFINE(HAVE_STATVFS)
dnl we also have to check whether we should use statvfs_t (works under
dnl Solaris 8, doesn't work under Solaris 7) or "struct statvfs" (vice
dnl versa) as the argument for statvfs in 64 bit off_t mode (in 32 bit
dnl mode both work fine)
dnl
dnl for this check C++ compiler has to be used as passing incompatible
dnl pointers is just a warning and not an error in C
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_CACHE_CHECK(for statvfs argument type, wx_cv_type_statvfs_t,
AC_TRY_COMPILE(
[
#include <sys/statvfs.h>
],
[
long l;
statvfs_t fs;
statvfs("/", &fs);
l = fs.f_bsize;
l += fs.f_blocks;
l += fs.f_bavail;
],
wx_cv_type_statvfs_t=statvfs_t,
[
AC_TRY_COMPILE(
[
#include <sys/statvfs.h>
],
[
long l;
statvfs_t fs;
statvfs("/", &fs);
l = fs.f_bsize;
l += fs.f_blocks;
l += fs.f_bavail;
],
wx_cv_type_statvfs_t="struct statvfs",
wx_cv_type_statvfs_t="unknown"
)
]
)
)
AC_LANG_RESTORE
if test "$wx_cv_type_statvfs_t" != "unknown"; then
AC_DEFINE(HAVE_STATVFS)
fi
else
AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
dnl set it for the test below
wx_cv_type_statvfs_t="unknown"
fi
fi
if test "$wx_cv_type_statvfs_t" != "unknown"; then
AC_DEFINE_UNQUOTED(WX_STATFS_T, $wx_cv_type_statvfs_t)
else
AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
fi
dnl check for fcntl() or at least flock() needed by Unix implementation of
dnl wxSingleInstanceChecker
if test "$wxUSE_SNGLINST_CHECKER" = "yes"; then

View File

@ -881,6 +881,9 @@
/* The type of 3rd argument to getsockname() - usually size_t or int */
#undef SOCKLEN_T
/* The type of statvfs(2) argument */
#undef WX_STATFS_T
/* The signal handler prototype */
#undef wxTYPE_SA_HANDLER