]> git.saurik.com Git - wxWidgets.git/commitdiff
check for missing statfs() prototype (happens at least under AIX 4)
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 23 Aug 2005 23:12:37 +0000 (23:12 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 23 Aug 2005 23:12:37 +0000 (23:12 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

configure
configure.in
setup.h.in
setup.h_vms
src/unix/utilsunx.cpp

index fad4443545c80ecde912e8d9bcce5fbf780777fd..a34369af1691f8bd6afa40c7e1d8004aa479c05f 100755 (executable)
--- a/configure
+++ b/configure
@@ -32732,10 +32732,10 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
              #if defined(__BSD__)
-               #include <sys/param.h>
-               #include <sys/mount.h>
+             #include <sys/param.h>
+             #include <sys/mount.h>
              #else
-               #include <sys/vfs.h>
+             #include <sys/vfs.h>
              #endif
 
 int
@@ -32774,16 +32774,12 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-
-             wx_cv_func_statfs=yes
-
+  wx_cv_func_statfs=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-
-             wx_cv_func_statfs=no
-
+wx_cv_func_statfs=no
 
 fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
@@ -32793,6 +32789,44 @@ echo "$as_me:$LINENO: result: $wx_cv_func_statfs" >&5
 echo "${ECHO_T}$wx_cv_func_statfs" >&6
 
 if test "$wx_cv_func_statfs" = "yes"; then
+
+
+    ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+    echo "$as_me:$LINENO: checking for statfs declaration" >&5
+echo $ECHO_N "checking for statfs declaration... $ECHO_C" >&6
+if test "${wx_cv_func_statfs_decl+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+             #if defined(__BSD__)
+             #include <sys/param.h>
+             #include <sys/mount.h>
+             #else
+             #include <sys/vfs.h>
+             #endif
+
+fi
+echo "$as_me:$LINENO: result: $wx_cv_func_statfs_decl" >&5
+echo "${ECHO_T}$wx_cv_func_statfs_decl" >&6
+    ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+    if test "$wx_cv_func_statfs_decl" = "yes"; then
+        cat >>confdefs.h <<\_ACEOF
+#define HAVE_STATFS_DECL 1
+_ACEOF
+
+    fi
+
     wx_cv_type_statvfs_t="struct statfs"
     cat >>confdefs.h <<\_ACEOF
 #define HAVE_STATFS 1
index f557bd7da953d8f2804067670f3bc1ee937efcbe..ed32ab7bfc5e7a78261da0064f91945a5e3204bc 100644 (file)
@@ -4135,10 +4135,10 @@ AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
     AC_TRY_COMPILE(
         [
              #if defined(__BSD__)
-               #include <sys/param.h>
-               #include <sys/mount.h>
+             #include <sys/param.h>
+             #include <sys/mount.h>
              #else
-               #include <sys/vfs.h>
+             #include <sys/vfs.h>
              #endif
         ],
         [
@@ -4149,16 +4149,37 @@ AC_CACHE_CHECK(for statfs, wx_cv_func_statfs,
              l += fs.f_blocks;
              l += fs.f_bavail;
         ],
+         wx_cv_func_statfs=yes,
+         wx_cv_func_statfs=no
+    )
+)
+
+if test "$wx_cv_func_statfs" = "yes"; then
+    dnl check whether we have its dcelaration too: some systems (AIX 4) lack it
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+    AC_CACHE_CHECK(for statfs declaration, wx_cv_func_statfs_decl,
         [
-             wx_cv_func_statfs=yes
+             #if defined(__BSD__)
+             #include <sys/param.h>
+             #include <sys/mount.h>
+             #else
+             #include <sys/vfs.h>
+             #endif
         ],
         [
-             wx_cv_func_statfs=no
-        ]
+            struct statfs fs;
+            statfs("", &fs);
+        ],
+        wx_cv_func_statfs_decl=yes,
+        wx_cv_func_statfs_decl=no
     )
-)
+    AC_LANG_RESTORE
+
+    if test "$wx_cv_func_statfs_decl" = "yes"; then
+        AC_DEFINE(HAVE_STATFS_DECL)
+    fi
 
-if test "$wx_cv_func_statfs" = "yes"; then
     wx_cv_type_statvfs_t="struct statfs"
     AC_DEFINE(HAVE_STATFS)
 else
index 9308b9b34c908bb0bf809634565d3271383674d6..521f6c1df36ecfa0d9393719a702258b8774a2b0 100644 (file)
 /* define if you have statfs function */
 #undef HAVE_STATFS
 
+/* define if you have statfs prototype */
+#undef HAVE_STATFS_DECL
+
 /* define if you have statvfs function */
 #undef HAVE_STATVFS
 
index af1e6594b9289279777437bcf7ad3a8bf78a08fc..cbcc769f299b384f3bc82d267f25ca3a598412d7 100644 (file)
 /* define if you have statfs function */
 #undef HAVE_STATFS
 
+/* define if you have statfs prototype */
+#undef HAVE_STATFS_DECL
+
 /* define if you have statvfs function */
 #undef HAVE_STATVFS
 
index 4d670f4ea0ef2ddfac9726f33f3c006b6279eb2e..b9e17c0c145fdbb4d4ebc4c51123678085f1fae2 100644 (file)
     #endif // __BSD__/!__BSD__
 
     #define wxStatfs statfs
+
+    #ifndef HAVE_STATFS_DECL
+        // some systems lack statfs() prototype in the system headers (AIX 4)
+        extern "C" int statfs(const char *path, struct statfs *buf);
+    #endif
 #endif // HAVE_STATFS
 
 #ifdef HAVE_STATVFS