getpagesize: Fix C++ test error on mingw.
authorBruno Haible <bruno@clisp.org>
Sat, 3 Apr 2010 13:43:45 +0000 (15:43 +0200)
committerBruno Haible <bruno@clisp.org>
Sat, 3 Apr 2010 13:43:45 +0000 (15:43 +0200)
ChangeLog
lib/unistd.in.h
m4/getpagesize.m4
m4/unistd_h.m4
modules/unistd

index f39ca5a..fc64c56 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2010-04-03  Bruno Haible  <bruno@clisp.org>
 
+       getpagesize: Fix C++ test error on mingw.
+       * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
+       system does not declare the function.
+       * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
+       declared.
+       * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
+       HAVE_DECL_GETPAGESIZE.
+       * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
+
+2010-04-03  Bruno Haible  <bruno@clisp.org>
+
        stdio: Make C++ tests work on mingw.
        * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
        does not declare the function.
index cc8a629..0d39464 100644 (file)
@@ -775,7 +775,9 @@ getpagesize ()
 /* Need to cast, because on Cygwin 1.5.x systems, the return type is size_t.  */
 _GL_CXXALIAS_SYS_CAST (getpagesize, int, (void));
 # endif
+# if @HAVE_DECL_GETPAGESIZE@
 _GL_CXXALIASWARN (getpagesize);
+# endif
 #elif defined GNULIB_POSIXCHECK
 # undef getpagesize
 # if HAVE_RAW_DECL_GETPAGESIZE
index 8968516..313ad7f 100644 (file)
@@ -1,4 +1,4 @@
-# getpagesize.m4 serial 7
+# getpagesize.m4 serial 8
 dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2010 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
@@ -27,4 +27,7 @@ AC_DEFUN([gl_FUNC_GETPAGESIZE],
       AC_LIBOBJ([getpagesize])
       ;;
   esac
+  dnl Also check whether it's declared.
+  dnl mingw has getpagesize() in libgcc.a but doesn't declare it.
+  AC_CHECK_DECL([getpagesize], , [HAVE_DECL_GETPAGESIZE=0])
 ])
index 789739d..5e4515f 100644 (file)
@@ -1,4 +1,4 @@
-# unistd_h.m4 serial 43
+# unistd_h.m4 serial 44
 dnl Copyright (C) 2006-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -122,6 +122,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
   HAVE_USLEEP=1;          AC_SUBST([HAVE_USLEEP])
   HAVE_DECL_ENVIRON=1;    AC_SUBST([HAVE_DECL_ENVIRON])
   HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
+  HAVE_DECL_GETPAGESIZE=1; AC_SUBST([HAVE_DECL_GETPAGESIZE])
   HAVE_DECL_GETUSERSHELL=1; AC_SUBST([HAVE_DECL_GETUSERSHELL])
   HAVE_OS_H=0;            AC_SUBST([HAVE_OS_H])
   HAVE_SYS_PARAM_H=0;     AC_SUBST([HAVE_SYS_PARAM_H])
index f4e16bf..9fc32c8 100644 (file)
@@ -96,6 +96,7 @@ unistd.h: unistd.in.h $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
              -e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
              -e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
              -e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
+             -e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
              -e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
              -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
              -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \