1# getpagesize.m4 serial 10
2dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2020 Free Software Foundation,
3dnl Inc.
4dnl This file is free software; the Free Software Foundation
5dnl gives unlimited permission to copy and/or distribute it,
6dnl with or without modifications, as long as this notice is preserved.
7
8AC_DEFUN([gl_FUNC_GETPAGESIZE],
9[
10  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
11  AC_REQUIRE([AC_CANONICAL_HOST])
12  gl_CHECK_FUNC_GETPAGESIZE
13  if test $gl_cv_func_getpagesize = no; then
14    HAVE_GETPAGESIZE=0
15    AC_CHECK_HEADERS([OS.h])
16    if test $ac_cv_header_OS_h = yes; then
17      HAVE_OS_H=1
18    fi
19    AC_CHECK_HEADERS([sys/param.h])
20    if test $ac_cv_header_sys_param_h = yes; then
21      HAVE_SYS_PARAM_H=1
22    fi
23  fi
24  case "$host_os" in
25    mingw*)
26      REPLACE_GETPAGESIZE=1
27      ;;
28  esac
29  dnl Also check whether it's declared.
30  dnl mingw has getpagesize() in libgcc.a but doesn't declare it.
31  AC_CHECK_DECL([getpagesize], , [HAVE_DECL_GETPAGESIZE=0])
32])
33
34dnl Tests whether the function getpagesize() exists.
35dnl Sets gl_cv_func_getpagesize.
36AC_DEFUN([gl_CHECK_FUNC_GETPAGESIZE],
37[
38  dnl We can't use AC_CHECK_FUNC here, because getpagesize() is defined as a
39  dnl static inline function when compiling for Android 4.4 or older.
40  AC_CACHE_CHECK([for getpagesize], [gl_cv_func_getpagesize],
41    [AC_LINK_IFELSE(
42       [AC_LANG_PROGRAM(
43          [[#include <unistd.h>]],
44          [[return getpagesize();]])
45       ],
46       [gl_cv_func_getpagesize=yes],
47       [gl_cv_func_getpagesize=no])
48    ])
49])
50