Blame m4/getpagesize.m4

Packit aea12f
# getpagesize.m4 serial 10
Packit Service 991b93
dnl Copyright (C) 2002, 2004-2005, 2007, 2009-2020 Free Software Foundation,
Packit aea12f
dnl Inc.
Packit aea12f
dnl This file is free software; the Free Software Foundation
Packit aea12f
dnl gives unlimited permission to copy and/or distribute it,
Packit aea12f
dnl with or without modifications, as long as this notice is preserved.
Packit aea12f
Packit aea12f
AC_DEFUN([gl_FUNC_GETPAGESIZE],
Packit aea12f
[
Packit aea12f
  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
Packit aea12f
  AC_REQUIRE([AC_CANONICAL_HOST])
Packit aea12f
  gl_CHECK_FUNC_GETPAGESIZE
Packit aea12f
  if test $gl_cv_func_getpagesize = no; then
Packit aea12f
    HAVE_GETPAGESIZE=0
Packit aea12f
    AC_CHECK_HEADERS([OS.h])
Packit aea12f
    if test $ac_cv_header_OS_h = yes; then
Packit aea12f
      HAVE_OS_H=1
Packit aea12f
    fi
Packit aea12f
    AC_CHECK_HEADERS([sys/param.h])
Packit aea12f
    if test $ac_cv_header_sys_param_h = yes; then
Packit aea12f
      HAVE_SYS_PARAM_H=1
Packit aea12f
    fi
Packit aea12f
  fi
Packit aea12f
  case "$host_os" in
Packit aea12f
    mingw*)
Packit aea12f
      REPLACE_GETPAGESIZE=1
Packit aea12f
      ;;
Packit aea12f
  esac
Packit aea12f
  dnl Also check whether it's declared.
Packit aea12f
  dnl mingw has getpagesize() in libgcc.a but doesn't declare it.
Packit aea12f
  AC_CHECK_DECL([getpagesize], , [HAVE_DECL_GETPAGESIZE=0])
Packit aea12f
])
Packit aea12f
Packit aea12f
dnl Tests whether the function getpagesize() exists.
Packit aea12f
dnl Sets gl_cv_func_getpagesize.
Packit aea12f
AC_DEFUN([gl_CHECK_FUNC_GETPAGESIZE],
Packit aea12f
[
Packit aea12f
  dnl We can't use AC_CHECK_FUNC here, because getpagesize() is defined as a
Packit aea12f
  dnl static inline function when compiling for Android 4.4 or older.
Packit aea12f
  AC_CACHE_CHECK([for getpagesize], [gl_cv_func_getpagesize],
Packit aea12f
    [AC_LINK_IFELSE(
Packit aea12f
       [AC_LANG_PROGRAM(
Packit aea12f
          [[#include <unistd.h>]],
Packit aea12f
          [[return getpagesize();]])
Packit aea12f
       ],
Packit aea12f
       [gl_cv_func_getpagesize=yes],
Packit aea12f
       [gl_cv_func_getpagesize=no])
Packit aea12f
    ])
Packit aea12f
])