[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Patch for the getpagesize module
From: |
Bruno Haible |
Subject: |
Re: Patch for the getpagesize module |
Date: |
Mon, 3 Dec 2007 12:38:45 +0100 |
User-agent: |
KMail/1.5.4 |
Martin Lambers wrote on 2007-11-28:
> I attached an updated patch. It now only does the following:
>
> - Do not provide getpagesize.h; modify gnulibs unistd.h instead.
> - Provide a getpagesize declaration if the system does not provide one
> (needed on MinGW).
Thanks. The first part is undoubtably the right thing to do; so I'm applying
that first (with HAVE_OS_H and HAVE_SYS_PARAM_H being AC_SUBSTed - the reason
is that some people want to copy the generated unistd.h file).
2007-12-02 Martin Lambers <address@hidden>
Bruno Haible <address@hidden>
* lib/getpagesize.h: Remove file.
* lib/unistd.in.h: Include declaration of getpagesize here.
* m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
HAVE_SYS_PARAM_H.
* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
* modules/getpagesize (Files): Remove lib/getpagesize.h.
(Depends-on): Add unistd.
(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
(Include): Use <unistd.h> instead of getpagesize.h.
* modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
*** lib/unistd.in.h.orig 2007-12-02 13:33:17.000000000 +0100
--- lib/unistd.in.h 2007-12-02 13:13:42.000000000 +0100
***************
*** 180,185 ****
--- 180,240 ----
#endif
+ #if @GNULIB_GETPAGESIZE@
+ # if address@hidden@
+ /* This is for POSIX systems. */
+ # if !defined getpagesize && defined _SC_PAGESIZE
+ # if ! (defined __VMS && __VMS_VER < 70000000)
+ # define getpagesize() sysconf (_SC_PAGESIZE)
+ # endif
+ # endif
+ /* This is for older VMS. */
+ # if !defined getpagesize && defined __VMS
+ # ifdef __ALPHA
+ # define getpagesize() 8192
+ # else
+ # define getpagesize() 512
+ # endif
+ # endif
+ /* This is for BeOS. */
+ # if !defined getpagesize && @HAVE_OS_H@
+ # include <OS.h>
+ # if defined B_PAGE_SIZE
+ # define getpagesize() B_PAGE_SIZE
+ # endif
+ # endif
+ /* This is for AmigaOS4.0. */
+ # if !defined getpagesize && defined __amigaos4__
+ # define getpagesize() 2048
+ # endif
+ /* This is for older Unix systems. */
+ # if !defined getpagesize && @HAVE_SYS_PARAM_H@
+ # include <sys/param.h>
+ # ifdef EXEC_PAGESIZE
+ # define getpagesize() EXEC_PAGESIZE
+ # else
+ # ifdef NBPG
+ # ifndef CLSIZE
+ # define CLSIZE 1
+ # endif
+ # define getpagesize() (NBPG * CLSIZE)
+ # else
+ # ifdef NBPC
+ # define getpagesize() NBPC
+ # endif
+ # endif
+ # endif
+ # endif
+ # endif
+ #elif defined GNULIB_POSIXCHECK
+ # undef getpagesize
+ # define getpagesize() \
+ (GL_LINK_WARNING ("getpagesize is unportable - " \
+ "use gnulib module getpagesize for portability"), \
+ getpagesize ())
+ #endif
+
+
#if @GNULIB_LCHOWN@
# if @REPLACE_LCHOWN@
/* Change the owner of FILE to UID (if UID is not -1) and the group of FILE
*** m4/getpagesize.m4.orig 2007-12-02 13:33:17.000000000 +0100
--- m4/getpagesize.m4 2007-12-02 13:31:14.000000000 +0100
***************
*** 1,13 ****
! # getpagesize.m4 serial 6
! dnl Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
! AC_DEFUN([gl_GETPAGESIZE],
[
! dnl Prerequisites of lib/getpagesize.h.
! AC_CHECK_HEADERS_ONCE(sys/param.h)
! AC_CHECK_HEADERS(OS.h)
! AC_CHECK_FUNCS(getpagesize)
])
--- 1,22 ----
! # getpagesize.m4 serial 7
! dnl Copyright (C) 2002, 2004-2005, 2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
! AC_DEFUN([gl_FUNC_GETPAGESIZE],
[
! AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
! AC_CHECK_FUNCS([getpagesize])
! if test $ac_cv_func_getpagesize = no; then
! HAVE_GETPAGESIZE=0
! AC_CHECK_HEADERS([OS.h])
! if test $ac_cv_header_OS_h = yes; then
! HAVE_OS_H=1
! fi
! AC_CHECK_HEADERS([sys/param.h])
! if test $ac_cv_header_sys_param_h = yes; then
! HAVE_SYS_PARAM_H=1
! fi
! fi
])
*** m4/unistd_h.m4.orig 2007-12-02 13:33:17.000000000 +0100
--- m4/unistd_h.m4 2007-12-02 13:23:45.000000000 +0100
***************
*** 1,4 ****
! # unistd_h.m4 serial 9
dnl Copyright (C) 2006-2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
--- 1,4 ----
! # unistd_h.m4 serial 10
dnl Copyright (C) 2006-2007 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
***************
*** 38,43 ****
--- 38,44 ----
GNULIB_FTRUNCATE=0; AC_SUBST([GNULIB_FTRUNCATE])
GNULIB_GETCWD=0; AC_SUBST([GNULIB_GETCWD])
GNULIB_GETLOGIN_R=0; AC_SUBST([GNULIB_GETLOGIN_R])
+ GNULIB_GETPAGESIZE=0; AC_SUBST([GNULIB_GETPAGESIZE])
GNULIB_LCHOWN=0; AC_SUBST([GNULIB_LCHOWN])
GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK])
GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK])
***************
*** 45,53 ****
--- 46,57 ----
dnl Assume proper GNU behavior unless another module says otherwise.
HAVE_DUP2=1; AC_SUBST([HAVE_DUP2])
HAVE_FTRUNCATE=1; AC_SUBST([HAVE_FTRUNCATE])
+ HAVE_GETPAGESIZE=1; AC_SUBST([HAVE_GETPAGESIZE])
HAVE_READLINK=1; AC_SUBST([HAVE_READLINK])
HAVE_SLEEP=1; AC_SUBST([HAVE_SLEEP])
HAVE_DECL_GETLOGIN_R=1; AC_SUBST([HAVE_DECL_GETLOGIN_R])
+ HAVE_OS_H=0; AC_SUBST([HAVE_OS_H])
+ HAVE_SYS_PARAM_H=0; AC_SUBST([HAVE_SYS_PARAM_H])
REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN])
REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR])
REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD])
*** modules/getpagesize.orig 2007-12-02 13:33:17.000000000 +0100
--- modules/getpagesize 2007-12-02 13:19:25.000000000 +0100
***************
*** 2,19 ****
getpagesize() function: Return memory page size.
Files:
- lib/getpagesize.h
m4/getpagesize.m4
Depends-on:
configure.ac:
! gl_GETPAGESIZE
Makefile.am:
Include:
! "getpagesize.h"
License:
LGPL
--- 2,20 ----
getpagesize() function: Return memory page size.
Files:
m4/getpagesize.m4
Depends-on:
+ unistd
configure.ac:
! gl_FUNC_GETPAGESIZE
! gl_UNISTD_MODULE_INDICATOR([getpagesize])
Makefile.am:
Include:
! <unistd.h>
License:
LGPL
*** modules/unistd.orig 2007-12-02 13:33:17.000000000 +0100
--- modules/unistd 2007-12-02 13:24:22.000000000 +0100
***************
*** 29,43 ****
--- 29,47 ----
-e 's|@''GNULIB_FTRUNCATE''@|$(GNULIB_FTRUNCATE)|g' \
-e 's|@''GNULIB_GETCWD''@|$(GNULIB_GETCWD)|g' \
-e 's|@''GNULIB_GETLOGIN_R''@|$(GNULIB_GETLOGIN_R)|g' \
+ -e 's|@''GNULIB_GETPAGESIZE''@|$(GNULIB_GETPAGESIZE)|g' \
-e 's|@''GNULIB_LCHOWN''@|$(GNULIB_LCHOWN)|g' \
-e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \
-e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \
-e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \
-e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
-e 's|@''HAVE_FTRUNCATE''@|$(HAVE_FTRUNCATE)|g' \
+ -e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
-e 's|@''HAVE_READLINK''@|$(HAVE_READLINK)|g' \
-e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
-e 's|@''HAVE_DECL_GETLOGIN_R''@|$(HAVE_DECL_GETLOGIN_R)|g' \
+ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
+ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
-e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
-e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
*** NEWS.orig 2007-12-02 13:35:06.000000000 +0100
--- NEWS 2007-12-02 13:35:00.000000000 +0100
***************
*** 6,11 ****
--- 6,14 ----
Date Modules Changes
+ 2007-12-02 getpagesize The include file is changed from "getpagesize.h"
+ to <unistd.h>.
+
2007-12-02 strcase The include file is changed from <string.h> to
<strings.h>.
- Re: Patch for the getpagesize module,
Bruno Haible <=
- Re: Patch for the getpagesize module, Bruno Haible, 2007/12/03
- Re: Patch for the getpagesize module, Martin Lambers, 2007/12/03
- Re: Patch for the getpagesize module, Bruno Haible, 2007/12/04
- Re: Patch for the getpagesize module, Martin Lambers, 2007/12/04
- Re: Patch for the getpagesize module, Bruno Haible, 2007/12/07
- Re: Patch for the getpagesize module, Martin Lambers, 2007/12/10
- Re: Patch for the getpagesize module, Bruno Haible, 2007/12/26
Re: Patch for the getpagesize module, Jim Meyering, 2007/12/03