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

1130
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -3270,35 +3270,83 @@ AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
) )
if test "$wx_cv_func_statfs" = "yes"; then if test "$wx_cv_func_statfs" = "yes"; then
wx_cv_type_statvfs_t="struct statfs"
AC_DEFINE(HAVE_STATFS) AC_DEFINE(HAVE_STATFS)
else else
AC_CACHE_CHECK(for statvfs, wx_cv_func_statvfs, AC_CACHE_CHECK(for statvfs, wx_cv_func_statvfs,
AC_TRY_COMPILE(
[
#include <stddef.h>
#include <sys/statvfs.h>
],
[
statvfs("/", NULL);
],
wx_cv_func_statvfs=yes,
wx_cv_func_statvfs=no
)
)
if test "$wx_cv_func_statvfs" = "yes"; then
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( AC_TRY_COMPILE(
[ [
#include <sys/statvfs.h> #include <sys/statvfs.h>
], ],
[ [
long l; long l;
struct statvfs fs; statvfs_t fs;
statvfs("/", &fs); statvfs("/", &fs);
l = fs.f_bsize; l = fs.f_bsize;
l += fs.f_blocks; l += fs.f_blocks;
l += fs.f_bavail; l += fs.f_bavail;
], ],
wx_cv_type_statvfs_t=statvfs_t,
[ [
wx_cv_func_statvfs=yes AC_TRY_COMPILE(
[
#include <sys/statvfs.h>
], ],
[ [
wx_cv_func_statvfs=no 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"
)
] ]
) )
) )
if test "$wx_cv_func_statvfs" = "yes"; then AC_LANG_RESTORE
if test "$wx_cv_type_statvfs_t" != "unknown"; then
AC_DEFINE(HAVE_STATVFS) AC_DEFINE(HAVE_STATVFS)
else
AC_MSG_WARN([wxGetDiskSpace() function won't work without statfs()])
fi fi
else
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 fi
dnl check for fcntl() or at least flock() needed by Unix implementation of dnl check for fcntl() or at least flock() needed by Unix implementation of

View File

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