New upstream version 2.3.4
This commit is contained in:
		
							parent
							
								
									e7bdd1c6c6
								
							
						
					
					
						commit
						de72f6f588
					
				
					 556 changed files with 90432 additions and 53391 deletions
				
			
		| 
						 | 
				
			
			@ -1,27 +1,82 @@
 | 
			
		|||
# 00gnulib.m4 serial 2
 | 
			
		||||
dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# 00gnulib.m4 serial 8
 | 
			
		||||
dnl Copyright (C) 2009-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl This file must be named something that sorts before all other
 | 
			
		||||
dnl gnulib-provided .m4 files.  It is needed until such time as we can
 | 
			
		||||
dnl assume Autoconf 2.64, with its improved AC_DEFUN_ONCE semantics.
 | 
			
		||||
dnl gnulib-provided .m4 files.  It is needed until the clang fix has
 | 
			
		||||
dnl been included in Autoconf.
 | 
			
		||||
 | 
			
		||||
# AC_DEFUN_ONCE([NAME], VALUE)
 | 
			
		||||
# ----------------------------
 | 
			
		||||
# Define NAME to expand to VALUE on the first use (whether by direct
 | 
			
		||||
# expansion, or by AC_REQUIRE), and to nothing on all subsequent uses.
 | 
			
		||||
# Avoid bugs in AC_REQUIRE in Autoconf 2.63 and earlier.  This
 | 
			
		||||
# definition is slower than the version in Autoconf 2.64, because it
 | 
			
		||||
# can only use interfaces that existed since 2.59; but it achieves the
 | 
			
		||||
# same effect.  Quoting is necessary to avoid confusing Automake.
 | 
			
		||||
m4_version_prereq([2.63.263], [],
 | 
			
		||||
[m4_define([AC][_DEFUN_ONCE],
 | 
			
		||||
  [AC][_DEFUN([$1],
 | 
			
		||||
    [AC_REQUIRE([_gl_DEFUN_ONCE([$1])],
 | 
			
		||||
      [m4_indir([_gl_DEFUN_ONCE([$1])])])])]dnl
 | 
			
		||||
[AC][_DEFUN([_gl_DEFUN_ONCE([$1])], [$2])])])
 | 
			
		||||
# The following definitions arrange to use a compiler option
 | 
			
		||||
# -Werror=implicit-function-declaration in AC_CHECK_DECL, when the
 | 
			
		||||
# compiler is clang.  Without it, clang implicitly declares "known"
 | 
			
		||||
# library functions in C mode, but not in C++ mode, which would cause
 | 
			
		||||
# Gnulib to omit a declaration and thus later produce an error in C++
 | 
			
		||||
# mode.  As of clang 9.0, these "known" functions are identified through
 | 
			
		||||
# LIBBUILTIN invocations in the LLVM source file
 | 
			
		||||
# llvm/tools/clang/include/clang/Basic/Builtins.def.
 | 
			
		||||
# It's not possible to AC_REQUIRE the extra tests from AC_CHECK_DECL,
 | 
			
		||||
# because AC_CHECK_DECL, like other Autoconf built-ins, is not supposed
 | 
			
		||||
# to AC_REQUIRE anything: some configure.ac files have their first
 | 
			
		||||
# AC_CHECK_DECL executed conditionally.  Therefore append the extra tests
 | 
			
		||||
# to AC_PROG_CC.
 | 
			
		||||
AC_DEFUN([gl_COMPILER_CLANG],
 | 
			
		||||
[
 | 
			
		||||
dnl AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
  AC_CACHE_CHECK([whether the compiler is clang],
 | 
			
		||||
    [gl_cv_compiler_clang],
 | 
			
		||||
    [dnl Use _AC_COMPILE_IFELSE instead of AC_EGREP_CPP, to avoid error
 | 
			
		||||
     dnl "circular dependency of AC_LANG_COMPILER(C)" if AC_PROG_CC has
 | 
			
		||||
     dnl not yet been invoked.
 | 
			
		||||
     _AC_COMPILE_IFELSE(
 | 
			
		||||
        [AC_LANG_PROGRAM([[
 | 
			
		||||
           #ifdef __clang__
 | 
			
		||||
           barfbarf
 | 
			
		||||
           #endif
 | 
			
		||||
           ]],[[]])
 | 
			
		||||
        ],
 | 
			
		||||
        [gl_cv_compiler_clang=no],
 | 
			
		||||
        [gl_cv_compiler_clang=yes])
 | 
			
		||||
    ])
 | 
			
		||||
])
 | 
			
		||||
AC_DEFUN([gl_COMPILER_PREPARE_CHECK_DECL],
 | 
			
		||||
[
 | 
			
		||||
dnl AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
dnl AC_REQUIRE([gl_COMPILER_CLANG])
 | 
			
		||||
  AC_CACHE_CHECK([for compiler option needed when checking for declarations],
 | 
			
		||||
    [gl_cv_compiler_check_decl_option],
 | 
			
		||||
    [if test $gl_cv_compiler_clang = yes; then
 | 
			
		||||
       dnl Test whether the compiler supports the option
 | 
			
		||||
       dnl '-Werror=implicit-function-declaration'.
 | 
			
		||||
       save_ac_compile="$ac_compile"
 | 
			
		||||
       ac_compile="$ac_compile -Werror=implicit-function-declaration"
 | 
			
		||||
       dnl Use _AC_COMPILE_IFELSE instead of AC_COMPILE_IFELSE, to avoid a
 | 
			
		||||
       dnl warning "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS".
 | 
			
		||||
       _AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])],
 | 
			
		||||
         [gl_cv_compiler_check_decl_option='-Werror=implicit-function-declaration'],
 | 
			
		||||
         [gl_cv_compiler_check_decl_option=none])
 | 
			
		||||
       ac_compile="$save_ac_compile"
 | 
			
		||||
     else
 | 
			
		||||
       gl_cv_compiler_check_decl_option=none
 | 
			
		||||
     fi
 | 
			
		||||
    ])
 | 
			
		||||
  if test "x$gl_cv_compiler_check_decl_option" != xnone; then
 | 
			
		||||
    ac_compile_for_check_decl="$ac_compile $gl_cv_compiler_check_decl_option"
 | 
			
		||||
  else
 | 
			
		||||
    ac_compile_for_check_decl="$ac_compile"
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
dnl Redefine _AC_CHECK_DECL_BODY so that it references ac_compile_for_check_decl
 | 
			
		||||
dnl instead of ac_compile.  If, for whatever reason, the override of AC_PROG_CC
 | 
			
		||||
dnl in zzgnulib.m4 is inactive, use the original ac_compile.
 | 
			
		||||
m4_define([_AC_CHECK_DECL_BODY],
 | 
			
		||||
[  ac_save_ac_compile="$ac_compile"
 | 
			
		||||
  if test -n "$ac_compile_for_check_decl"; then
 | 
			
		||||
    ac_compile="$ac_compile_for_check_decl"
 | 
			
		||||
  fi]
 | 
			
		||||
m4_defn([_AC_CHECK_DECL_BODY])[  ac_compile="$ac_save_ac_compile"
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_00GNULIB
 | 
			
		||||
# -----------
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										22
									
								
								gl/m4/__inline.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								gl/m4/__inline.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
# Test for __inline keyword
 | 
			
		||||
dnl Copyright 2017-2023 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___INLINE],
 | 
			
		||||
[
 | 
			
		||||
  AC_CACHE_CHECK([whether the compiler supports the __inline keyword],
 | 
			
		||||
    [gl_cv_c___inline],
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
         [[typedef int foo_t;
 | 
			
		||||
           static __inline foo_t foo (void) { return 0; }]],
 | 
			
		||||
         [[return foo ();]])],
 | 
			
		||||
       [gl_cv_c___inline=yes],
 | 
			
		||||
       [gl_cv_c___inline=no])])
 | 
			
		||||
  if test $gl_cv_c___inline = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE___INLINE], [1],
 | 
			
		||||
      [Define to 1 if the compiler supports the keyword '__inline'.])
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										100
									
								
								gl/m4/absolute-header.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								gl/m4/absolute-header.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,100 @@
 | 
			
		|||
# absolute-header.m4 serial 17
 | 
			
		||||
dnl Copyright (C) 2006-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl From Derek Price.
 | 
			
		||||
 | 
			
		||||
# gl_ABSOLUTE_HEADER(HEADER1 HEADER2 ...)
 | 
			
		||||
# ---------------------------------------
 | 
			
		||||
# Find the absolute name of a header file, testing first if the header exists.
 | 
			
		||||
# If the header were sys/inttypes.h, this macro would define
 | 
			
		||||
# ABSOLUTE_SYS_INTTYPES_H to the '""' quoted absolute name of sys/inttypes.h
 | 
			
		||||
# in config.h
 | 
			
		||||
# (e.g. '#define ABSOLUTE_SYS_INTTYPES_H "///usr/include/sys/inttypes.h"').
 | 
			
		||||
# The three "///" are to pacify Sun C 5.8, which otherwise would say
 | 
			
		||||
# "warning: #include of /usr/include/... may be non-portable".
 | 
			
		||||
# Use '""', not '<>', so that the /// cannot be confused with a C99 comment.
 | 
			
		||||
# Note: This macro assumes that the header file is not empty after
 | 
			
		||||
# preprocessing, i.e. it does not only define preprocessor macros but also
 | 
			
		||||
# provides some type/enum definitions or function/variable declarations.
 | 
			
		||||
AC_DEFUN([gl_ABSOLUTE_HEADER],
 | 
			
		||||
[AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
AC_LANG_PREPROC_REQUIRE()dnl
 | 
			
		||||
m4_foreach_w([gl_HEADER_NAME], [$1],
 | 
			
		||||
  [AS_VAR_PUSHDEF([gl_absolute_header],
 | 
			
		||||
                  [gl_cv_absolute_]m4_defn([gl_HEADER_NAME]))dnl
 | 
			
		||||
  AC_CACHE_CHECK([absolute name of <]m4_defn([gl_HEADER_NAME])[>],
 | 
			
		||||
    [gl_absolute_header],
 | 
			
		||||
    [AS_VAR_PUSHDEF([ac_header_exists],
 | 
			
		||||
                    [ac_cv_header_]m4_defn([gl_HEADER_NAME]))dnl
 | 
			
		||||
    AC_CHECK_HEADERS_ONCE(m4_defn([gl_HEADER_NAME]))dnl
 | 
			
		||||
    if test AS_VAR_GET([ac_header_exists]) = yes; then
 | 
			
		||||
      gl_ABSOLUTE_HEADER_ONE(m4_defn([gl_HEADER_NAME]))
 | 
			
		||||
    fi
 | 
			
		||||
    AS_VAR_POPDEF([ac_header_exists])dnl
 | 
			
		||||
    ])dnl
 | 
			
		||||
  AC_DEFINE_UNQUOTED(AS_TR_CPP([ABSOLUTE_]m4_defn([gl_HEADER_NAME])),
 | 
			
		||||
                     ["AS_VAR_GET([gl_absolute_header])"],
 | 
			
		||||
                     [Define this to an absolute name of <]m4_defn([gl_HEADER_NAME])[>.])
 | 
			
		||||
  AS_VAR_POPDEF([gl_absolute_header])dnl
 | 
			
		||||
])dnl
 | 
			
		||||
])# gl_ABSOLUTE_HEADER
 | 
			
		||||
 | 
			
		||||
# gl_ABSOLUTE_HEADER_ONE(HEADER)
 | 
			
		||||
# ------------------------------
 | 
			
		||||
# Like gl_ABSOLUTE_HEADER, except that:
 | 
			
		||||
#   - it assumes that the header exists,
 | 
			
		||||
#   - it uses the current CPPFLAGS,
 | 
			
		||||
#   - it does not cache the result,
 | 
			
		||||
#   - it is silent.
 | 
			
		||||
AC_DEFUN([gl_ABSOLUTE_HEADER_ONE],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_LANG_CONFTEST([AC_LANG_SOURCE([[#include <]]m4_dquote([$1])[[>]])])
 | 
			
		||||
  dnl AIX "xlc -E" and "cc -E" omit #line directives for header files
 | 
			
		||||
  dnl that contain only a #include of other header files and no
 | 
			
		||||
  dnl non-comment tokens of their own. This leads to a failure to
 | 
			
		||||
  dnl detect the absolute name of <dirent.h>, <signal.h>, <poll.h>
 | 
			
		||||
  dnl and others. The workaround is to force preservation of comments
 | 
			
		||||
  dnl through option -C. This ensures all necessary #line directives
 | 
			
		||||
  dnl are present. GCC supports option -C as well.
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    aix*) gl_absname_cpp="$ac_cpp -C" ;;
 | 
			
		||||
    *)    gl_absname_cpp="$ac_cpp" ;;
 | 
			
		||||
  esac
 | 
			
		||||
changequote(,)
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    mingw*)
 | 
			
		||||
      dnl For the sake of native Windows compilers (excluding gcc),
 | 
			
		||||
      dnl treat backslash as a directory separator, like /.
 | 
			
		||||
      dnl Actually, these compilers use a double-backslash as
 | 
			
		||||
      dnl directory separator, inside the
 | 
			
		||||
      dnl   # line "filename"
 | 
			
		||||
      dnl directives.
 | 
			
		||||
      gl_dirsep_regex='[/\\]'
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      gl_dirsep_regex='\/'
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
  dnl A sed expression that turns a string into a basic regular
 | 
			
		||||
  dnl expression, for use within "/.../".
 | 
			
		||||
  gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 | 
			
		||||
  gl_header_literal_regex=`echo '$1' \
 | 
			
		||||
                           | sed -e "$gl_make_literal_regex_sed"`
 | 
			
		||||
  gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
 | 
			
		||||
      s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
 | 
			
		||||
      s|^/[^/]|//&|
 | 
			
		||||
      p
 | 
			
		||||
      q
 | 
			
		||||
    }'
 | 
			
		||||
changequote([,])
 | 
			
		||||
  dnl eval is necessary to expand gl_absname_cpp.
 | 
			
		||||
  dnl Ultrix and Pyramid sh refuse to redirect output of eval,
 | 
			
		||||
  dnl so use subshell.
 | 
			
		||||
  AS_VAR_SET([gl_cv_absolute_]AS_TR_SH([[$1]]),
 | 
			
		||||
[`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
 | 
			
		||||
  sed -n "$gl_absolute_header_sed"`])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										57
									
								
								gl/m4/af_alg.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								gl/m4/af_alg.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,57 @@
 | 
			
		|||
# af_alg.m4 serial 6
 | 
			
		||||
dnl Copyright 2018-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl From Matteo Croce.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN_ONCE([gl_AF_ALG],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_SYS_SOCKET_H])
 | 
			
		||||
  AC_REQUIRE([AC_C_INLINE])
 | 
			
		||||
 | 
			
		||||
  dnl Check whether linux/if_alg.h has needed features.
 | 
			
		||||
  AC_CACHE_CHECK([whether linux/if_alg.h has struct sockaddr_alg.],
 | 
			
		||||
    [gl_cv_header_linux_if_alg_salg],
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM([[#include <sys/socket.h>
 | 
			
		||||
                          #include <linux/if_alg.h>
 | 
			
		||||
                          struct sockaddr_alg salg = {
 | 
			
		||||
                            .salg_family = AF_ALG,
 | 
			
		||||
                            .salg_type = "hash",
 | 
			
		||||
                            .salg_name = "sha1",
 | 
			
		||||
                          };]])],
 | 
			
		||||
       [gl_cv_header_linux_if_alg_salg=yes],
 | 
			
		||||
       [gl_cv_header_linux_if_alg_salg=no])])
 | 
			
		||||
  if test "$gl_cv_header_linux_if_alg_salg" = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE_LINUX_IF_ALG_H], [1],
 | 
			
		||||
      [Define to 1 if you have 'struct sockaddr_alg' defined.])
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  dnl The default is to not use AF_ALG if available,
 | 
			
		||||
  dnl as it's system dependent as to whether the kernel
 | 
			
		||||
  dnl routines are faster than libcrypto for example.
 | 
			
		||||
  use_af_alg=no
 | 
			
		||||
  AC_ARG_WITH([linux-crypto],
 | 
			
		||||
    [AS_HELP_STRING([[--with-linux-crypto]],
 | 
			
		||||
       [use Linux kernel cryptographic API (if available) for the hash functions
 | 
			
		||||
        MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 on files])],
 | 
			
		||||
    [use_af_alg=$withval],
 | 
			
		||||
    [use_af_alg=no])
 | 
			
		||||
  dnl We cannot use it if it is not available.
 | 
			
		||||
  if test "$gl_cv_header_linux_if_alg_salg" != yes; then
 | 
			
		||||
    if test "$use_af_alg" != no; then
 | 
			
		||||
      AC_MSG_WARN([Linux kernel cryptographic API not found])
 | 
			
		||||
    fi
 | 
			
		||||
    use_af_alg=no
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test "$use_af_alg" != no; then
 | 
			
		||||
    USE_AF_ALG=1
 | 
			
		||||
  else
 | 
			
		||||
    USE_AF_ALG=0
 | 
			
		||||
  fi
 | 
			
		||||
  AC_DEFINE_UNQUOTED([USE_LINUX_CRYPTO_API], [$USE_AF_ALG],
 | 
			
		||||
    [Define to 1 if you want to use the Linux kernel cryptographic API.])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# alloca.m4 serial 14
 | 
			
		||||
dnl Copyright (C) 2002-2004, 2006-2007, 2009-2013 Free Software Foundation,
 | 
			
		||||
# alloca.m4 serial 21
 | 
			
		||||
dnl Copyright (C) 2002-2004, 2006-2007, 2009-2023 Free Software Foundation,
 | 
			
		||||
dnl Inc.
 | 
			
		||||
dnl This file is free software; the Free Software Foundation
 | 
			
		||||
dnl gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
| 
						 | 
				
			
			@ -26,30 +26,35 @@ AC_DEFUN([gl_FUNC_ALLOCA],
 | 
			
		|||
      AC_DEFINE([HAVE_ALLOCA], [1],
 | 
			
		||||
        [Define to 1 if you have 'alloca' after including <alloca.h>,
 | 
			
		||||
         a header that may be supplied by this distribution.])
 | 
			
		||||
      ALLOCA_H=alloca.h
 | 
			
		||||
      GL_GENERATE_ALLOCA_H=true
 | 
			
		||||
    else
 | 
			
		||||
      dnl alloca exists as a library function, i.e. it is slow and probably
 | 
			
		||||
      dnl a memory leak. Don't define HAVE_ALLOCA in this case.
 | 
			
		||||
      ALLOCA_H=
 | 
			
		||||
      GL_GENERATE_ALLOCA_H=false
 | 
			
		||||
    fi
 | 
			
		||||
  else
 | 
			
		||||
    ALLOCA_H=alloca.h
 | 
			
		||||
    GL_GENERATE_ALLOCA_H=true
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([ALLOCA_H])
 | 
			
		||||
  AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$ALLOCA_H"])
 | 
			
		||||
 | 
			
		||||
  if test $ac_cv_working_alloca_h = yes; then
 | 
			
		||||
    HAVE_ALLOCA_H=1
 | 
			
		||||
  else
 | 
			
		||||
    HAVE_ALLOCA_H=0
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([HAVE_ALLOCA_H])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/alloca.c.
 | 
			
		||||
# STACK_DIRECTION is already handled by AC_FUNC_ALLOCA.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_ALLOCA], [:])
 | 
			
		||||
 | 
			
		||||
# This works around a bug in autoconf <= 2.68.
 | 
			
		||||
# See <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00277.html>.
 | 
			
		||||
m4_version_prereq([2.70], [], [
 | 
			
		||||
 | 
			
		||||
m4_version_prereq([2.69], [] ,[
 | 
			
		||||
 | 
			
		||||
# This is taken from the following Autoconf patch:
 | 
			
		||||
# http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497
 | 
			
		||||
# This works around a bug in autoconf <= 2.68 and has simplifications
 | 
			
		||||
# from 2.70.  See:
 | 
			
		||||
# https://lists.gnu.org/r/bug-gnulib/2011-06/msg00277.html
 | 
			
		||||
# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497
 | 
			
		||||
# https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=15edf7fd8094fd14a89d9891dd72a9624762597a
 | 
			
		||||
 | 
			
		||||
# _AC_LIBOBJ_ALLOCA
 | 
			
		||||
# -----------------
 | 
			
		||||
| 
						 | 
				
			
			@ -65,26 +70,6 @@ AC_LIBSOURCES(alloca.c)
 | 
			
		|||
AC_SUBST([ALLOCA], [\${LIBOBJDIR}alloca.$ac_objext])dnl
 | 
			
		||||
AC_DEFINE(C_ALLOCA, 1, [Define to 1 if using 'alloca.c'.])
 | 
			
		||||
 | 
			
		||||
AC_CACHE_CHECK(whether 'alloca.c' needs Cray hooks, ac_cv_os_cray,
 | 
			
		||||
[AC_EGREP_CPP(webecray,
 | 
			
		||||
[#if defined CRAY && ! defined CRAY2
 | 
			
		||||
webecray
 | 
			
		||||
#else
 | 
			
		||||
wenotbecray
 | 
			
		||||
#endif
 | 
			
		||||
], ac_cv_os_cray=yes, ac_cv_os_cray=no)])
 | 
			
		||||
if test $ac_cv_os_cray = yes; then
 | 
			
		||||
  for ac_func in _getb67 GETB67 getb67; do
 | 
			
		||||
    AC_CHECK_FUNC($ac_func,
 | 
			
		||||
                  [AC_DEFINE_UNQUOTED(CRAY_STACKSEG_END, $ac_func,
 | 
			
		||||
                                      [Define to one of '_getb67', 'GETB67',
 | 
			
		||||
                                       'getb67' for Cray-2 and Cray-YMP
 | 
			
		||||
                                       systems. This function is required for
 | 
			
		||||
                                       'alloca.c' support on those systems.])
 | 
			
		||||
    break])
 | 
			
		||||
  done
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
AC_CACHE_CHECK([stack direction for C alloca],
 | 
			
		||||
               [ac_cv_c_stack_direction],
 | 
			
		||||
[AC_RUN_IFELSE([AC_LANG_SOURCE(
 | 
			
		||||
| 
						 | 
				
			
			@ -115,7 +100,7 @@ AH_VERBATIM([STACK_DIRECTION],
 | 
			
		|||
        STACK_DIRECTION > 0 => grows toward higher addresses
 | 
			
		||||
        STACK_DIRECTION < 0 => grows toward lower addresses
 | 
			
		||||
        STACK_DIRECTION = 0 => direction of growth unknown */
 | 
			
		||||
@%:@undef STACK_DIRECTION])dnl
 | 
			
		||||
#undef STACK_DIRECTION])dnl
 | 
			
		||||
AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction)
 | 
			
		||||
])# _AC_LIBOBJ_ALLOCA
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,15 +1,15 @@
 | 
			
		|||
# arpa_inet_h.m4 serial 13
 | 
			
		||||
dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
# arpa_inet_h.m4 serial 17
 | 
			
		||||
dnl Copyright (C) 2006, 2008-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl Written by Simon Josefsson and Bruno Haible
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_HEADER_ARPA_INET],
 | 
			
		||||
AC_DEFUN_ONCE([gl_ARPA_INET_H],
 | 
			
		||||
[
 | 
			
		||||
  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
 | 
			
		||||
  dnl once only, before all statements that occur in other macros.
 | 
			
		||||
  dnl Ensure to expand the default settings once only, before all statements
 | 
			
		||||
  dnl that occur in other macros.
 | 
			
		||||
  AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS])
 | 
			
		||||
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([arpa/inet.h])
 | 
			
		||||
| 
						 | 
				
			
			@ -24,6 +24,8 @@ AC_DEFUN([gl_HEADER_ARPA_INET],
 | 
			
		|||
 | 
			
		||||
  AC_REQUIRE([gl_FEATURES_H])
 | 
			
		||||
 | 
			
		||||
  gl_PREREQ_SYS_H_WS2TCPIP
 | 
			
		||||
 | 
			
		||||
  dnl Check for declarations of anything we want to poison if the
 | 
			
		||||
  dnl corresponding gnulib module is not in use.
 | 
			
		||||
  gl_WARN_ON_USE_PREPARE([[
 | 
			
		||||
| 
						 | 
				
			
			@ -38,17 +40,32 @@ AC_DEFUN([gl_HEADER_ARPA_INET],
 | 
			
		|||
    ]], [inet_ntop inet_pton])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_ARPA_INET_MODULE_INDICATOR([modulename])
 | 
			
		||||
# sets the shell variable that indicates the presence of the given module
 | 
			
		||||
# to a C preprocessor expression that will evaluate to 1.
 | 
			
		||||
# This macro invocation must not occur in macros that are AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_ARPA_INET_MODULE_INDICATOR],
 | 
			
		||||
[
 | 
			
		||||
  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
 | 
			
		||||
  AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS])
 | 
			
		||||
  dnl Ensure to expand the default settings once only.
 | 
			
		||||
  gl_ARPA_INET_H_REQUIRE_DEFAULTS
 | 
			
		||||
  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Initializes the default values for AC_SUBSTed shell variables.
 | 
			
		||||
# This macro must not be AC_REQUIREd.  It must only be invoked, and only
 | 
			
		||||
# outside of macros or in macros that are not AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_ARPA_INET_H_REQUIRE_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  m4_defun(GL_MODULE_INDICATOR_PREFIX[_ARPA_INET_H_MODULE_INDICATOR_DEFAULTS], [
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_INET_NTOP])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_INET_PTON])
 | 
			
		||||
  ])
 | 
			
		||||
  m4_require(GL_MODULE_INDICATOR_PREFIX[_ARPA_INET_H_MODULE_INDICATOR_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_ARPA_INET_H_DEFAULTS])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_ARPA_INET_H_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  GNULIB_INET_NTOP=0;     AC_SUBST([GNULIB_INET_NTOP])
 | 
			
		||||
  GNULIB_INET_PTON=0;     AC_SUBST([GNULIB_INET_PTON])
 | 
			
		||||
  dnl Assume proper GNU behavior unless another module says otherwise.
 | 
			
		||||
  HAVE_DECL_INET_NTOP=1;  AC_SUBST([HAVE_DECL_INET_NTOP])
 | 
			
		||||
  HAVE_DECL_INET_PTON=1;  AC_SUBST([HAVE_DECL_INET_PTON])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										67
									
								
								gl/m4/assert_h.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								gl/m4/assert_h.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,67 @@
 | 
			
		|||
# assert-h.m4
 | 
			
		||||
dnl Copyright (C) 2011-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl From Paul Eggert.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_ASSERT_H],
 | 
			
		||||
[
 | 
			
		||||
  AC_CACHE_CHECK([for static_assert], [gl_cv_static_assert],
 | 
			
		||||
    [gl_save_CFLAGS=$CFLAGS
 | 
			
		||||
     for gl_working in "yes, a keyword" "yes, an <assert.h> macro"; do
 | 
			
		||||
      AS_CASE([$gl_working],
 | 
			
		||||
        [*assert.h*], [CFLAGS="$gl_save_CFLAGS -DINCLUDE_ASSERT_H"])
 | 
			
		||||
 | 
			
		||||
      AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
          [[#if defined __clang__ && __STDC_VERSION__ < 202311
 | 
			
		||||
             #pragma clang diagnostic error "-Wc2x-extensions"
 | 
			
		||||
             #pragma clang diagnostic error "-Wc++17-extensions"
 | 
			
		||||
            #endif
 | 
			
		||||
            #ifdef INCLUDE_ASSERT_H
 | 
			
		||||
             #include <assert.h>
 | 
			
		||||
            #endif
 | 
			
		||||
            static_assert (2 + 2 == 4, "arithmetic does not work");
 | 
			
		||||
            static_assert (2 + 2 == 4);
 | 
			
		||||
          ]],
 | 
			
		||||
          [[
 | 
			
		||||
            static_assert (sizeof (char) == 1, "sizeof does not work");
 | 
			
		||||
            static_assert (sizeof (char) == 1);
 | 
			
		||||
          ]])],
 | 
			
		||||
       [gl_cv_static_assert=$gl_working],
 | 
			
		||||
       [gl_cv_static_assert=no])
 | 
			
		||||
      CFLAGS=$gl_save_CFLAGS
 | 
			
		||||
      test "$gl_cv_static_assert" != no && break
 | 
			
		||||
     done])
 | 
			
		||||
 | 
			
		||||
  GL_GENERATE_ASSERT_H=false
 | 
			
		||||
  AS_CASE([$gl_cv_static_assert],
 | 
			
		||||
    [yes*keyword*],
 | 
			
		||||
      [AC_DEFINE([HAVE_C_STATIC_ASSERT], [1],
 | 
			
		||||
         [Define to 1 if the static_assert keyword works.])],
 | 
			
		||||
    [no],
 | 
			
		||||
      [GL_GENERATE_ASSERT_H=true
 | 
			
		||||
       gl_NEXT_HEADERS([assert.h])])
 | 
			
		||||
 | 
			
		||||
  dnl The "zz" puts this toward config.h's end, to avoid potential
 | 
			
		||||
  dnl collisions with other definitions.  #undef assert so that
 | 
			
		||||
  dnl programs are not tempted to use it without specifically
 | 
			
		||||
  dnl including assert.h.  Break the #undef apart with a comment
 | 
			
		||||
  dnl so that 'configure' does not comment it out.
 | 
			
		||||
  AH_VERBATIM([zzstatic_assert],
 | 
			
		||||
[#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \
 | 
			
		||||
     && (!defined __cplusplus \
 | 
			
		||||
         || (__cpp_static_assert < 201411 \
 | 
			
		||||
             && __GNUG__ < 6 && __clang_major__ < 6)))
 | 
			
		||||
 #include <assert.h>
 | 
			
		||||
 #undef/**/assert
 | 
			
		||||
 /* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments.
 | 
			
		||||
    We need it also to be invocable with a single argument.  */
 | 
			
		||||
 #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
 | 
			
		||||
  #undef/**/static_assert
 | 
			
		||||
  #define static_assert _Static_assert
 | 
			
		||||
 #endif
 | 
			
		||||
#endif])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# base64.m4 serial 4
 | 
			
		||||
dnl Copyright (C) 2004, 2006, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
dnl Copyright (C) 2004, 2006, 2009-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# btowc.m4 serial 10
 | 
			
		||||
dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
# btowc.m4 serial 12
 | 
			
		||||
dnl Copyright (C) 2008-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -10,7 +10,7 @@ AC_DEFUN([gl_FUNC_BTOWC],
 | 
			
		|||
 | 
			
		||||
  dnl Check whether <wchar.h> is usable at all, first. Otherwise the test
 | 
			
		||||
  dnl program below may lead to an endless loop. See
 | 
			
		||||
  dnl <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42440>.
 | 
			
		||||
  dnl <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42440>.
 | 
			
		||||
  AC_REQUIRE([gl_WCHAR_H_INLINE_OK])
 | 
			
		||||
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([btowc])
 | 
			
		||||
| 
						 | 
				
			
			@ -28,14 +28,6 @@ AC_DEFUN([gl_FUNC_BTOWC],
 | 
			
		|||
      [
 | 
			
		||||
        AC_RUN_IFELSE(
 | 
			
		||||
          [AC_LANG_SOURCE([[
 | 
			
		||||
#include <string.h>
 | 
			
		||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 | 
			
		||||
   <wchar.h>.
 | 
			
		||||
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
 | 
			
		||||
   included before <wchar.h>.  */
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -50,6 +42,8 @@ changequote(,)dnl
 | 
			
		|||
           case "$host_os" in
 | 
			
		||||
                      # Guess no on Cygwin.
 | 
			
		||||
             cygwin*) gl_cv_func_btowc_nul="guessing no" ;;
 | 
			
		||||
                      # Guess yes on native Windows.
 | 
			
		||||
             mingw*)  gl_cv_func_btowc_nul="guessing yes" ;;
 | 
			
		||||
                      # Guess yes otherwise.
 | 
			
		||||
             *)       gl_cv_func_btowc_nul="guessing yes" ;;
 | 
			
		||||
           esac
 | 
			
		||||
| 
						 | 
				
			
			@ -65,24 +59,19 @@ changequote([,])dnl
 | 
			
		|||
        dnl is present.
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
        case "$host_os" in
 | 
			
		||||
                 # Guess no on IRIX.
 | 
			
		||||
          irix*) gl_cv_func_btowc_eof="guessing no" ;;
 | 
			
		||||
                 # Guess yes otherwise.
 | 
			
		||||
          *)     gl_cv_func_btowc_eof="guessing yes" ;;
 | 
			
		||||
                  # Guess no on IRIX.
 | 
			
		||||
          irix*)  gl_cv_func_btowc_eof="guessing no" ;;
 | 
			
		||||
                  # Guess yes on native Windows.
 | 
			
		||||
          mingw*) gl_cv_func_btowc_eof="guessing yes" ;;
 | 
			
		||||
                  # Guess yes otherwise.
 | 
			
		||||
          *)      gl_cv_func_btowc_eof="guessing yes" ;;
 | 
			
		||||
        esac
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
        if test $LOCALE_FR != none; then
 | 
			
		||||
          AC_RUN_IFELSE(
 | 
			
		||||
            [AC_LANG_SOURCE([[
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 | 
			
		||||
   <wchar.h>.
 | 
			
		||||
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
 | 
			
		||||
   included before <wchar.h>.  */
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										49
									
								
								gl/m4/builtin-expect.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								gl/m4/builtin-expect.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,49 @@
 | 
			
		|||
dnl Check for __builtin_expect.
 | 
			
		||||
 | 
			
		||||
dnl Copyright 2016-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl Written by Paul Eggert.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl___BUILTIN_EXPECT],
 | 
			
		||||
[
 | 
			
		||||
  AC_CACHE_CHECK([for __builtin_expect],
 | 
			
		||||
    [gl_cv___builtin_expect],
 | 
			
		||||
    [AC_LINK_IFELSE(
 | 
			
		||||
       [AC_LANG_SOURCE([[
 | 
			
		||||
         int
 | 
			
		||||
         main (int argc, char **argv)
 | 
			
		||||
         {
 | 
			
		||||
           argc = __builtin_expect (argc, 100);
 | 
			
		||||
           return argv[argc != 100][0];
 | 
			
		||||
         }]])],
 | 
			
		||||
       [gl_cv___builtin_expect=yes],
 | 
			
		||||
       [AC_LINK_IFELSE(
 | 
			
		||||
          [AC_LANG_SOURCE([[
 | 
			
		||||
             #include <builtins.h>
 | 
			
		||||
             int
 | 
			
		||||
             main (int argc, char **argv)
 | 
			
		||||
             {
 | 
			
		||||
               argc = __builtin_expect (argc, 100);
 | 
			
		||||
               return argv[argc != 100][0];
 | 
			
		||||
             }]])],
 | 
			
		||||
          [gl_cv___builtin_expect="in <builtins.h>"],
 | 
			
		||||
          [gl_cv___builtin_expect=no])])])
 | 
			
		||||
  if test "$gl_cv___builtin_expect" = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE___BUILTIN_EXPECT], [1])
 | 
			
		||||
  elif test "$gl_cv___builtin_expect" = "in <builtins.h>"; then
 | 
			
		||||
    AC_DEFINE([HAVE___BUILTIN_EXPECT], [2])
 | 
			
		||||
  fi
 | 
			
		||||
  AH_VERBATIM([HAVE___BUILTIN_EXPECT],
 | 
			
		||||
    [/* Define to 1 if the compiler supports __builtin_expect,
 | 
			
		||||
   and to 2 if <builtins.h> does.  */
 | 
			
		||||
#undef HAVE___BUILTIN_EXPECT
 | 
			
		||||
#ifndef HAVE___BUILTIN_EXPECT
 | 
			
		||||
# define __builtin_expect(e, c) (e)
 | 
			
		||||
#elif HAVE___BUILTIN_EXPECT == 2
 | 
			
		||||
# include <builtins.h>
 | 
			
		||||
#endif
 | 
			
		||||
    ])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										17
									
								
								gl/m4/byteswap.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								gl/m4/byteswap.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,17 @@
 | 
			
		|||
# byteswap.m4 serial 5
 | 
			
		||||
dnl Copyright (C) 2005, 2007, 2009-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl Written by Oskar Liljeblad.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_BYTESWAP],
 | 
			
		||||
[
 | 
			
		||||
  dnl Prerequisites of lib/byteswap.in.h.
 | 
			
		||||
  AC_CHECK_HEADERS([byteswap.h], [
 | 
			
		||||
    GL_GENERATE_BYTESWAP_H=false
 | 
			
		||||
  ], [
 | 
			
		||||
    GL_GENERATE_BYTESWAP_H=true
 | 
			
		||||
  ])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										51
									
								
								gl/m4/c-bool.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								gl/m4/c-bool.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,51 @@
 | 
			
		|||
# Check for bool that conforms to C2023.
 | 
			
		||||
 | 
			
		||||
dnl Copyright 2022-2023 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_C_BOOL],
 | 
			
		||||
[
 | 
			
		||||
  AC_CACHE_CHECK([for bool, true, false], [gl_cv_c_bool],
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_SOURCE([[
 | 
			
		||||
          #if true == false
 | 
			
		||||
           #error "true == false"
 | 
			
		||||
          #endif
 | 
			
		||||
          extern bool b;
 | 
			
		||||
          bool b = true == false;]])],
 | 
			
		||||
       [gl_cv_c_bool=yes],
 | 
			
		||||
       [gl_cv_c_bool=no])])
 | 
			
		||||
  if test "$gl_cv_c_bool" = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE_C_BOOL], [1],
 | 
			
		||||
      [Define to 1 if bool, true and false work as per C2023.])
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([stdbool.h])
 | 
			
		||||
 | 
			
		||||
  dnl The "zz" puts this toward config.h's end, to avoid potential
 | 
			
		||||
  dnl collisions with other definitions.
 | 
			
		||||
  dnl If 'bool', 'true' and 'false' do not work, arrange for them to work.
 | 
			
		||||
  dnl In C, this means including <stdbool.h> if it is not already included.
 | 
			
		||||
  dnl However, if the preprocessor mistakenly treats 'true' as 0,
 | 
			
		||||
  dnl define it to a bool expression equal to 1; this is needed in
 | 
			
		||||
  dnl Sun C++ 5.11 (Oracle Solaris Studio 12.2, 2010) and older.
 | 
			
		||||
  AH_VERBATIM([zzbool],
 | 
			
		||||
[#ifndef HAVE_C_BOOL
 | 
			
		||||
# if !defined __cplusplus && !defined __bool_true_false_are_defined
 | 
			
		||||
#  if HAVE_STDBOOL_H
 | 
			
		||||
#   include <stdbool.h>
 | 
			
		||||
#  else
 | 
			
		||||
#   if defined __SUNPRO_C
 | 
			
		||||
#    error "<stdbool.h> is not usable with this configuration. To make it usable, add -D_STDC_C99= to $CC."
 | 
			
		||||
#   else
 | 
			
		||||
#    error "<stdbool.h> does not exist on this platform. Use gnulib module 'stdbool-c99' instead of gnulib module 'stdbool'."
 | 
			
		||||
#   endif
 | 
			
		||||
#  endif
 | 
			
		||||
# endif
 | 
			
		||||
# if !true
 | 
			
		||||
#  define true (!false)
 | 
			
		||||
# endif
 | 
			
		||||
#endif])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										83
									
								
								gl/m4/calloc.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								gl/m4/calloc.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,83 @@
 | 
			
		|||
# calloc.m4 serial 29
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2004-2023 Free Software Foundation, Inc.
 | 
			
		||||
# This file is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
# with or without modifications, as long as this notice is preserved.
 | 
			
		||||
 | 
			
		||||
# Written by Jim Meyering.
 | 
			
		||||
 | 
			
		||||
# Determine whether calloc (N, S) returns non-NULL when N*S is zero,
 | 
			
		||||
# and returns NULL when N*S overflows.
 | 
			
		||||
# If so, define HAVE_CALLOC.  Otherwise, define calloc to rpl_calloc
 | 
			
		||||
# and arrange to use a calloc wrapper function that does work in that case.
 | 
			
		||||
 | 
			
		||||
# _AC_FUNC_CALLOC_IF([IF-WORKS], [IF-NOT])
 | 
			
		||||
# -------------------------------------
 | 
			
		||||
# If calloc is compatible with GNU calloc, run IF-WORKS, otherwise, IF-NOT.
 | 
			
		||||
AC_DEFUN([_AC_FUNC_CALLOC_IF],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 | 
			
		||||
  AC_CACHE_CHECK([whether calloc (0, n) and calloc (n, 0) return nonnull],
 | 
			
		||||
    [ac_cv_func_calloc_0_nonnull],
 | 
			
		||||
    [if test $cross_compiling != yes; then
 | 
			
		||||
       ac_cv_func_calloc_0_nonnull=yes
 | 
			
		||||
       AC_RUN_IFELSE(
 | 
			
		||||
         [AC_LANG_PROGRAM(
 | 
			
		||||
            [AC_INCLUDES_DEFAULT],
 | 
			
		||||
            [[int result = 0;
 | 
			
		||||
              char * volatile p = calloc (0, 0);
 | 
			
		||||
              if (!p)
 | 
			
		||||
                result |= 1;
 | 
			
		||||
              free (p);
 | 
			
		||||
              return result;
 | 
			
		||||
            ]])],
 | 
			
		||||
         [],
 | 
			
		||||
         [ac_cv_func_calloc_0_nonnull=no])
 | 
			
		||||
     else
 | 
			
		||||
       case "$host_os" in
 | 
			
		||||
                        # Guess yes on glibc systems.
 | 
			
		||||
         *-gnu* | gnu*) ac_cv_func_calloc_0_nonnull="guessing yes" ;;
 | 
			
		||||
                        # Guess yes on musl systems.
 | 
			
		||||
         *-musl*)       ac_cv_func_calloc_0_nonnull="guessing yes" ;;
 | 
			
		||||
                        # Guess yes on native Windows.
 | 
			
		||||
         mingw*)        ac_cv_func_calloc_0_nonnull="guessing yes" ;;
 | 
			
		||||
                        # If we don't know, obey --enable-cross-guesses.
 | 
			
		||||
         *)             ac_cv_func_calloc_0_nonnull="$gl_cross_guess_normal" ;;
 | 
			
		||||
       esac
 | 
			
		||||
     fi
 | 
			
		||||
    ])
 | 
			
		||||
  AS_CASE([$ac_cv_func_calloc_0_nonnull], [*yes], [$1], [$2])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# gl_FUNC_CALLOC_GNU
 | 
			
		||||
# ------------------
 | 
			
		||||
# Replace calloc if it is not compatible with GNU libc.
 | 
			
		||||
AC_DEFUN([gl_FUNC_CALLOC_GNU],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_FUNC_CALLOC_POSIX])
 | 
			
		||||
  REPLACE_CALLOC_FOR_CALLOC_GNU="$REPLACE_CALLOC_FOR_CALLOC_POSIX"
 | 
			
		||||
  if test $REPLACE_CALLOC_FOR_CALLOC_GNU = 0; then
 | 
			
		||||
    _AC_FUNC_CALLOC_IF([], [REPLACE_CALLOC_FOR_CALLOC_GNU=1])
 | 
			
		||||
  fi
 | 
			
		||||
])# gl_FUNC_CALLOC_GNU
 | 
			
		||||
 | 
			
		||||
# gl_FUNC_CALLOC_POSIX
 | 
			
		||||
# --------------------
 | 
			
		||||
# Test whether 'calloc' is POSIX compliant (sets errno to ENOMEM when it
 | 
			
		||||
# fails, and doesn't mess up with ptrdiff_t or size_t overflow),
 | 
			
		||||
# and replace calloc if it is not.
 | 
			
		||||
AC_DEFUN([gl_FUNC_CALLOC_POSIX],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_FUNC_MALLOC_POSIX])
 | 
			
		||||
  if test $REPLACE_MALLOC_FOR_MALLOC_POSIX = 1; then
 | 
			
		||||
    REPLACE_CALLOC_FOR_CALLOC_POSIX=1
 | 
			
		||||
  fi
 | 
			
		||||
  dnl Although in theory we should also test for size_t overflow,
 | 
			
		||||
  dnl in practice testing for ptrdiff_t overflow suffices
 | 
			
		||||
  dnl since PTRDIFF_MAX <= SIZE_MAX on all known Gnulib porting targets.
 | 
			
		||||
  dnl A separate size_t test would slow down 'configure'.
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										35
									
								
								gl/m4/close.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								gl/m4/close.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,35 @@
 | 
			
		|||
# close.m4 serial 9
 | 
			
		||||
dnl Copyright (C) 2008-2023 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_CLOSE],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
 | 
			
		||||
  m4_ifdef([gl_MSVC_INVAL], [
 | 
			
		||||
    AC_REQUIRE([gl_MSVC_INVAL])
 | 
			
		||||
    if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
 | 
			
		||||
      REPLACE_CLOSE=1
 | 
			
		||||
    fi
 | 
			
		||||
  ])
 | 
			
		||||
  m4_ifdef([gl_PREREQ_SYS_H_WINSOCK2], [
 | 
			
		||||
    gl_PREREQ_SYS_H_WINSOCK2
 | 
			
		||||
    if test $UNISTD_H_HAVE_WINSOCK2_H = 1; then
 | 
			
		||||
      dnl Even if the 'socket' module is not used here, another part of the
 | 
			
		||||
      dnl application may use it and pass file descriptors that refer to
 | 
			
		||||
      dnl sockets to the close() function. So enable the support for sockets.
 | 
			
		||||
      REPLACE_CLOSE=1
 | 
			
		||||
    fi
 | 
			
		||||
  ])
 | 
			
		||||
  dnl Replace close() for supporting the gnulib-defined fchdir() function,
 | 
			
		||||
  dnl to keep fchdir's bookkeeping up-to-date.
 | 
			
		||||
  m4_ifdef([gl_FUNC_FCHDIR], [
 | 
			
		||||
    if test $REPLACE_CLOSE = 0; then
 | 
			
		||||
      gl_TEST_FCHDIR
 | 
			
		||||
      if test $HAVE_FCHDIR = 0; then
 | 
			
		||||
        REPLACE_CLOSE=1
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
  ])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
# codeset.m4 serial 5 (gettext-0.18.2)
 | 
			
		||||
dnl Copyright (C) 2000-2002, 2006, 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2023 Free Software
 | 
			
		||||
dnl 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,50 +0,0 @@
 | 
			
		|||
# configmake.m4 serial 1
 | 
			
		||||
dnl Copyright (C) 2010-2013 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.
 | 
			
		||||
 | 
			
		||||
# gl_CONFIGMAKE_PREP
 | 
			
		||||
# ------------------
 | 
			
		||||
# Guarantee all of the standard directory variables, even when used with
 | 
			
		||||
# autoconf 2.59 (datarootdir wasn't supported until 2.59c) or automake
 | 
			
		||||
# 1.9.6 (pkglibexecdir wasn't supported until 1.10b.).
 | 
			
		||||
AC_DEFUN([gl_CONFIGMAKE_PREP],
 | 
			
		||||
[
 | 
			
		||||
  dnl Technically, datadir should default to datarootdir.  But if
 | 
			
		||||
  dnl autoconf is too old to provide datarootdir, then reversing the
 | 
			
		||||
  dnl definition is a reasonable compromise.  Only AC_SUBST a variable
 | 
			
		||||
  dnl if it was not already defined earlier by autoconf.
 | 
			
		||||
  if test "x$datarootdir" = x; then
 | 
			
		||||
    AC_SUBST([datarootdir], ['${datadir}'])
 | 
			
		||||
  fi
 | 
			
		||||
  dnl Copy the approach used in autoconf 2.60.
 | 
			
		||||
  if test "x$docdir" = x; then
 | 
			
		||||
    AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
 | 
			
		||||
      ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
 | 
			
		||||
      ['${datarootdir}/doc/${PACKAGE}'])])
 | 
			
		||||
  fi
 | 
			
		||||
  dnl The remaining variables missing from autoconf 2.59 are easier.
 | 
			
		||||
  if test "x$htmldir" = x; then
 | 
			
		||||
    AC_SUBST([htmldir], ['${docdir}'])
 | 
			
		||||
  fi
 | 
			
		||||
  if test "x$dvidir" = x; then
 | 
			
		||||
    AC_SUBST([dvidir], ['${docdir}'])
 | 
			
		||||
  fi
 | 
			
		||||
  if test "x$pdfdir" = x; then
 | 
			
		||||
    AC_SUBST([pdfdir], ['${docdir}'])
 | 
			
		||||
  fi
 | 
			
		||||
  if test "x$psdir" = x; then
 | 
			
		||||
    AC_SUBST([psdir], ['${docdir}'])
 | 
			
		||||
  fi
 | 
			
		||||
  if test "x$lispdir" = x; then
 | 
			
		||||
    AC_SUBST([lispdir], ['${datarootdir}/emacs/site-lisp'])
 | 
			
		||||
  fi
 | 
			
		||||
  if test "x$localedir" = x; then
 | 
			
		||||
    AC_SUBST([localedir], ['${datarootdir}/locale'])
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  dnl Automake 1.9.6 only lacks pkglibexecdir; and since 1.11 merely
 | 
			
		||||
  dnl provides it without AC_SUBST, this blind use of AC_SUBST is safe.
 | 
			
		||||
  AC_SUBST([pkglibexecdir], ['${libexecdir}/${PACKAGE}'])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,19 +0,0 @@
 | 
			
		|||
#serial 10   -*- autoconf -*-
 | 
			
		||||
dnl Copyright (C) 2002-2006, 2009-2013 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_DIRNAME],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_DIRNAME_LGPL])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_DIRNAME_LGPL],
 | 
			
		||||
[
 | 
			
		||||
  dnl Prerequisites of lib/dirname.h.
 | 
			
		||||
  AC_REQUIRE([gl_DOUBLE_SLASH_ROOT])
 | 
			
		||||
 | 
			
		||||
  dnl No prerequisites of lib/basename-lgpl.c, lib/dirname-lgpl.c,
 | 
			
		||||
  dnl lib/stripslash.c.
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# double-slash-root.m4 serial 4   -*- Autoconf -*-
 | 
			
		||||
dnl Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
dnl Copyright (C) 2006, 2008-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										105
									
								
								gl/m4/dup2.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								gl/m4/dup2.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,105 @@
 | 
			
		|||
#serial 27
 | 
			
		||||
dnl Copyright (C) 2002, 2005, 2007, 2009-2023 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_DUP2],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_CACHE_CHECK([whether dup2 works], [gl_cv_func_dup2_works],
 | 
			
		||||
    [AC_RUN_IFELSE([
 | 
			
		||||
       AC_LANG_PROGRAM(
 | 
			
		||||
         [[#include <errno.h>
 | 
			
		||||
           #include <fcntl.h>
 | 
			
		||||
           #include <limits.h>
 | 
			
		||||
           #include <sys/resource.h>
 | 
			
		||||
           #include <unistd.h>
 | 
			
		||||
           ]GL_MDA_DEFINES[
 | 
			
		||||
           #ifndef RLIM_SAVED_CUR
 | 
			
		||||
           # define RLIM_SAVED_CUR RLIM_INFINITY
 | 
			
		||||
           #endif
 | 
			
		||||
           #ifndef RLIM_SAVED_MAX
 | 
			
		||||
           # define RLIM_SAVED_MAX RLIM_INFINITY
 | 
			
		||||
           #endif
 | 
			
		||||
         ]],
 | 
			
		||||
         [[int result = 0;
 | 
			
		||||
           int bad_fd = INT_MAX;
 | 
			
		||||
           struct rlimit rlim;
 | 
			
		||||
           if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
 | 
			
		||||
               && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
 | 
			
		||||
               && rlim.rlim_cur != RLIM_INFINITY
 | 
			
		||||
               && rlim.rlim_cur != RLIM_SAVED_MAX
 | 
			
		||||
               && rlim.rlim_cur != RLIM_SAVED_CUR)
 | 
			
		||||
             bad_fd = rlim.rlim_cur;
 | 
			
		||||
           #ifdef FD_CLOEXEC
 | 
			
		||||
             if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1)
 | 
			
		||||
               result |= 1;
 | 
			
		||||
           #endif
 | 
			
		||||
           if (dup2 (1, 1) != 1)
 | 
			
		||||
             result |= 2;
 | 
			
		||||
           #ifdef FD_CLOEXEC
 | 
			
		||||
             if (fcntl (1, F_GETFD) != FD_CLOEXEC)
 | 
			
		||||
               result |= 4;
 | 
			
		||||
           #endif
 | 
			
		||||
           close (0);
 | 
			
		||||
           if (dup2 (0, 0) != -1)
 | 
			
		||||
             result |= 8;
 | 
			
		||||
           /* Many gnulib modules require POSIX conformance of EBADF.  */
 | 
			
		||||
           if (dup2 (2, bad_fd) == -1 && errno != EBADF)
 | 
			
		||||
             result |= 16;
 | 
			
		||||
           /* Flush out some cygwin core dumps.  */
 | 
			
		||||
           if (dup2 (2, -1) != -1 || errno != EBADF)
 | 
			
		||||
             result |= 32;
 | 
			
		||||
           dup2 (2, 255);
 | 
			
		||||
           dup2 (2, 256);
 | 
			
		||||
           /* On OS/2 kLIBC, dup2() does not work on a directory fd.  */
 | 
			
		||||
           {
 | 
			
		||||
             int fd = open (".", O_RDONLY);
 | 
			
		||||
             if (fd == -1)
 | 
			
		||||
               result |= 64;
 | 
			
		||||
             else if (dup2 (fd, fd + 1) == -1)
 | 
			
		||||
               result |= 128;
 | 
			
		||||
             close (fd);
 | 
			
		||||
           }
 | 
			
		||||
           return result;]])
 | 
			
		||||
      ],
 | 
			
		||||
      [gl_cv_func_dup2_works=yes], [gl_cv_func_dup2_works=no],
 | 
			
		||||
      [case "$host_os" in
 | 
			
		||||
         mingw*) # on this platform, dup2 always returns 0 for success
 | 
			
		||||
           gl_cv_func_dup2_works="guessing no" ;;
 | 
			
		||||
         cygwin*) # on cygwin 1.5.x, dup2(1,1) returns 0
 | 
			
		||||
           gl_cv_func_dup2_works="guessing no" ;;
 | 
			
		||||
         aix* | freebsd*)
 | 
			
		||||
                 # on AIX 7.1 and FreeBSD 6.1, dup2 (1,toobig) gives EMFILE,
 | 
			
		||||
                 # not EBADF.
 | 
			
		||||
           gl_cv_func_dup2_works="guessing no" ;;
 | 
			
		||||
         haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC.
 | 
			
		||||
           gl_cv_func_dup2_works="guessing no" ;;
 | 
			
		||||
         *-android*) # implemented using dup3(), which fails if oldfd == newfd
 | 
			
		||||
           gl_cv_func_dup2_works="guessing no" ;;
 | 
			
		||||
         os2*) # on OS/2 kLIBC, dup2() does not work on a directory fd.
 | 
			
		||||
           gl_cv_func_dup2_works="guessing no" ;;
 | 
			
		||||
         *) gl_cv_func_dup2_works="guessing yes" ;;
 | 
			
		||||
       esac])
 | 
			
		||||
    ])
 | 
			
		||||
  case "$gl_cv_func_dup2_works" in
 | 
			
		||||
    *yes) ;;
 | 
			
		||||
    *)
 | 
			
		||||
      REPLACE_DUP2=1
 | 
			
		||||
      AC_CHECK_FUNCS([setdtablesize])
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
  dnl Replace dup2() for supporting the gnulib-defined fchdir() function,
 | 
			
		||||
  dnl to keep fchdir's bookkeeping up-to-date.
 | 
			
		||||
  m4_ifdef([gl_FUNC_FCHDIR], [
 | 
			
		||||
    gl_TEST_FCHDIR
 | 
			
		||||
    if test $HAVE_FCHDIR = 0; then
 | 
			
		||||
      REPLACE_DUP2=1
 | 
			
		||||
    fi
 | 
			
		||||
  ])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/dup2.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_DUP2], [])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# eealloc.m4 serial 3
 | 
			
		||||
dnl Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
dnl Copyright (C) 2003, 2009-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# environ.m4 serial 6
 | 
			
		||||
dnl Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc.
 | 
			
		||||
# environ.m4 serial 8
 | 
			
		||||
dnl Copyright (C) 2001-2004, 2006-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -29,16 +29,15 @@ AC_DEFUN_ONCE([gl_ENVIRON],
 | 
			
		|||
AC_DEFUN([gt_CHECK_VAR_DECL],
 | 
			
		||||
[
 | 
			
		||||
  define([gt_cv_var], [gt_cv_var_]$2[_declaration])
 | 
			
		||||
  AC_MSG_CHECKING([if $2 is properly declared])
 | 
			
		||||
  AC_CACHE_VAL([gt_cv_var], [
 | 
			
		||||
    AC_COMPILE_IFELSE(
 | 
			
		||||
      [AC_LANG_PROGRAM(
 | 
			
		||||
         [[$1
 | 
			
		||||
           extern struct { int foo; } $2;]],
 | 
			
		||||
         [[$2.foo = 1;]])],
 | 
			
		||||
      [gt_cv_var=no],
 | 
			
		||||
      [gt_cv_var=yes])])
 | 
			
		||||
  AC_MSG_RESULT([$gt_cv_var])
 | 
			
		||||
  AC_CACHE_CHECK([if $2 is properly declared], [gt_cv_var],
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
          [[$1
 | 
			
		||||
            typedef struct { int foo; } foo_t;
 | 
			
		||||
            extern foo_t $2;]],
 | 
			
		||||
          [[$2.foo = 1;]])],
 | 
			
		||||
       [gt_cv_var=no],
 | 
			
		||||
       [gt_cv_var=yes])])
 | 
			
		||||
  if test $gt_cv_var = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1,
 | 
			
		||||
              [Define if you have the declaration of $2.])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +1,11 @@
 | 
			
		|||
# errno_h.m4 serial 12
 | 
			
		||||
dnl Copyright (C) 2004, 2006, 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
# errno_h.m4 serial 14
 | 
			
		||||
dnl Copyright (C) 2004, 2006, 2008-2023 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_PREREQ([2.61])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN_ONCE([gl_HEADER_ERRNO_H],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
| 
						 | 
				
			
			@ -66,13 +68,11 @@ booboo
 | 
			
		|||
      [gl_cv_header_errno_h_complete=yes])
 | 
			
		||||
  ])
 | 
			
		||||
  if test $gl_cv_header_errno_h_complete = yes; then
 | 
			
		||||
    ERRNO_H=''
 | 
			
		||||
    GL_GENERATE_ERRNO_H=false
 | 
			
		||||
  else
 | 
			
		||||
    gl_NEXT_HEADERS([errno.h])
 | 
			
		||||
    ERRNO_H='errno.h'
 | 
			
		||||
    GL_GENERATE_ERRNO_H=true
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([ERRNO_H])
 | 
			
		||||
  AM_CONDITIONAL([GL_GENERATE_ERRNO_H], [test -n "$ERRNO_H"])
 | 
			
		||||
  gl_REPLACE_ERRNO_VALUE([EMULTIHOP])
 | 
			
		||||
  gl_REPLACE_ERRNO_VALUE([ENOLINK])
 | 
			
		||||
  gl_REPLACE_ERRNO_VALUE([EOVERFLOW])
 | 
			
		||||
| 
						 | 
				
			
			@ -86,7 +86,7 @@ booboo
 | 
			
		|||
# Set the variables EOVERFLOW_HIDDEN and EOVERFLOW_VALUE.
 | 
			
		||||
AC_DEFUN([gl_REPLACE_ERRNO_VALUE],
 | 
			
		||||
[
 | 
			
		||||
  if test -n "$ERRNO_H"; then
 | 
			
		||||
  if $GL_GENERATE_ERRNO_H; then
 | 
			
		||||
    AC_CACHE_CHECK([for ]$1[ value], [gl_cv_header_errno_h_]$1, [
 | 
			
		||||
      AC_EGREP_CPP([yes],[
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -129,9 +129,3 @@ yes
 | 
			
		|||
    AC_SUBST($1[_VALUE])
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
 | 
			
		||||
dnl Remove this when we can assume autoconf >= 2.61.
 | 
			
		||||
m4_ifdef([AC_COMPUTE_INT], [], [
 | 
			
		||||
  AC_DEFUN([AC_COMPUTE_INT], [_AC_COMPUTE_INT([$2],[$1],[$3],[$4])])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
#serial 14
 | 
			
		||||
#serial 15
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1996-1998, 2001-2004, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# Copyright (C) 1996-1998, 2001-2004, 2009-2023 Free Software Foundation, Inc.
 | 
			
		||||
#
 | 
			
		||||
# This file is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
| 
						 | 
				
			
			@ -22,6 +22,10 @@ AC_DEFUN([gl_ERROR],
 | 
			
		|||
# Prerequisites of lib/error.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_ERROR],
 | 
			
		||||
[
 | 
			
		||||
  dnl Use system extensions on Android, so that AC_FUNC_STRERROR_R
 | 
			
		||||
  dnl discovers the GNU API for strerror_r on Android API level 23 and later.
 | 
			
		||||
  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([AC_FUNC_STRERROR_R])
 | 
			
		||||
  :
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# exponentd.m4 serial 3
 | 
			
		||||
dnl Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc.
 | 
			
		||||
dnl Copyright (C) 2007-2008, 2010-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,14 +1,19 @@
 | 
			
		|||
# serial 13  -*- Autoconf -*-
 | 
			
		||||
# serial 23  -*- Autoconf -*-
 | 
			
		||||
# Enable extensions on systems that normally disable them.
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2003, 2006-2013 Free Software Foundation, Inc.
 | 
			
		||||
# Copyright (C) 2003, 2006-2023 Free Software Foundation, Inc.
 | 
			
		||||
# This file is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
# with or without modifications, as long as this notice is preserved.
 | 
			
		||||
 | 
			
		||||
dnl Define to empty for the benefit of Autoconf 2.69 and earlier, so that
 | 
			
		||||
dnl AC_USE_SYSTEM_EXTENSIONS (below) can be used unchanged from Autoconf 2.70+.
 | 
			
		||||
m4_ifndef([AC_CHECK_INCLUDES_DEFAULT],
 | 
			
		||||
  [AC_DEFUN([AC_CHECK_INCLUDES_DEFAULT], [])])
 | 
			
		||||
 | 
			
		||||
# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from git
 | 
			
		||||
# Autoconf.  Perhaps we can remove this once we can assume Autoconf
 | 
			
		||||
# 2.70 or later everywhere, but since Autoconf mutates rapidly
 | 
			
		||||
# is recent-enough everywhere, but since Autoconf mutates rapidly
 | 
			
		||||
# enough in this area it's likely we'll need to redefine
 | 
			
		||||
# AC_USE_SYSTEM_EXTENSIONS for quite some time.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -26,67 +31,125 @@
 | 
			
		|||
#      its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS
 | 
			
		||||
#      invocation occurs in gl_EARLY, not in gl_INIT.
 | 
			
		||||
 | 
			
		||||
m4_version_prereq([2.72], [], [
 | 
			
		||||
 | 
			
		||||
# AC_USE_SYSTEM_EXTENSIONS
 | 
			
		||||
# ------------------------
 | 
			
		||||
# Enable extensions on systems that normally disable them,
 | 
			
		||||
# typically due to standards-conformance issues.
 | 
			
		||||
#
 | 
			
		||||
# Remember that #undef in AH_VERBATIM gets replaced with #define by
 | 
			
		||||
# AC_DEFINE.  The goal here is to define all known feature-enabling
 | 
			
		||||
# macros, then, if reports of conflicts are made, disable macros that
 | 
			
		||||
# cause problems on some platforms (such as __EXTENSIONS__).
 | 
			
		||||
# We unconditionally define as many of the known feature-enabling
 | 
			
		||||
# as possible, reserving conditional behavior for macros that are
 | 
			
		||||
# known to cause problems on some platforms (such as __EXTENSIONS__).
 | 
			
		||||
AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS],
 | 
			
		||||
[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
 | 
			
		||||
[AC_BEFORE([$0], [AC_PREPROC_IFELSE])dnl
 | 
			
		||||
AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
 | 
			
		||||
AC_BEFORE([$0], [AC_LINK_IFELSE])dnl
 | 
			
		||||
AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
 | 
			
		||||
 | 
			
		||||
  AC_CHECK_HEADER([minix/config.h], [MINIX=yes], [MINIX=])
 | 
			
		||||
  if test "$MINIX" = yes; then
 | 
			
		||||
    AC_DEFINE([_POSIX_SOURCE], [1],
 | 
			
		||||
      [Define to 1 if you need to in order for 'stat' and other
 | 
			
		||||
       things to work.])
 | 
			
		||||
    AC_DEFINE([_POSIX_1_SOURCE], [2],
 | 
			
		||||
      [Define to 2 if the system does not provide POSIX.1 features
 | 
			
		||||
       except with this defined.])
 | 
			
		||||
    AC_DEFINE([_MINIX], [1],
 | 
			
		||||
      [Define to 1 if on MINIX.])
 | 
			
		||||
    AC_DEFINE([_NETBSD_SOURCE], [1],
 | 
			
		||||
      [Define to 1 to make NetBSD features available.  MINIX 3 needs this.])
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
AC_BEFORE([$0], [AC_CHECK_INCLUDES_DEFAULT])dnl
 | 
			
		||||
dnl #undef in AH_VERBATIM gets replaced with #define by AC_DEFINE.
 | 
			
		||||
dnl Use a different key than __EXTENSIONS__, as that name broke existing
 | 
			
		||||
dnl configure.ac when using autoheader 2.62.
 | 
			
		||||
  AH_VERBATIM([USE_SYSTEM_EXTENSIONS],
 | 
			
		||||
dnl The macros below are in alphabetical order ignoring leading _ or __
 | 
			
		||||
dnl prefixes.
 | 
			
		||||
AH_VERBATIM([USE_SYSTEM_EXTENSIONS],
 | 
			
		||||
[/* Enable extensions on AIX 3, Interix.  */
 | 
			
		||||
#ifndef _ALL_SOURCE
 | 
			
		||||
# undef _ALL_SOURCE
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable general extensions on OS X.  */
 | 
			
		||||
/* Enable general extensions on macOS.  */
 | 
			
		||||
#ifndef _DARWIN_C_SOURCE
 | 
			
		||||
# undef _DARWIN_C_SOURCE
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable GNU extensions on systems that have them.  */
 | 
			
		||||
#ifndef _GNU_SOURCE
 | 
			
		||||
# undef _GNU_SOURCE
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable threading extensions on Solaris.  */
 | 
			
		||||
#ifndef _POSIX_PTHREAD_SEMANTICS
 | 
			
		||||
# undef _POSIX_PTHREAD_SEMANTICS
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable extensions on HP NonStop.  */
 | 
			
		||||
#ifndef _TANDEM_SOURCE
 | 
			
		||||
# undef _TANDEM_SOURCE
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable X/Open extensions if necessary.  HP-UX 11.11 defines
 | 
			
		||||
   mbstate_t only if _XOPEN_SOURCE is defined to 500, regardless of
 | 
			
		||||
   whether compiling with -Ae or -D_HPUX_SOURCE=1.  */
 | 
			
		||||
#ifndef _XOPEN_SOURCE
 | 
			
		||||
# undef _XOPEN_SOURCE
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable general extensions on Solaris.  */
 | 
			
		||||
#ifndef __EXTENSIONS__
 | 
			
		||||
# undef __EXTENSIONS__
 | 
			
		||||
#endif
 | 
			
		||||
])
 | 
			
		||||
/* Enable GNU extensions on systems that have them.  */
 | 
			
		||||
#ifndef _GNU_SOURCE
 | 
			
		||||
# undef _GNU_SOURCE
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable X/Open compliant socket functions that do not require linking
 | 
			
		||||
   with -lxnet on HP-UX 11.11.  */
 | 
			
		||||
#ifndef _HPUX_ALT_XOPEN_SOCKET_API
 | 
			
		||||
# undef _HPUX_ALT_XOPEN_SOCKET_API
 | 
			
		||||
#endif
 | 
			
		||||
/* Identify the host operating system as Minix.
 | 
			
		||||
   This macro does not affect the system headers' behavior.
 | 
			
		||||
   A future release of Autoconf may stop defining this macro.  */
 | 
			
		||||
#ifndef _MINIX
 | 
			
		||||
# undef _MINIX
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable general extensions on NetBSD.
 | 
			
		||||
   Enable NetBSD compatibility extensions on Minix.  */
 | 
			
		||||
#ifndef _NETBSD_SOURCE
 | 
			
		||||
# undef _NETBSD_SOURCE
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable OpenBSD compatibility extensions on NetBSD.
 | 
			
		||||
   Oddly enough, this does nothing on OpenBSD.  */
 | 
			
		||||
#ifndef _OPENBSD_SOURCE
 | 
			
		||||
# undef _OPENBSD_SOURCE
 | 
			
		||||
#endif
 | 
			
		||||
/* Define to 1 if needed for POSIX-compatible behavior.  */
 | 
			
		||||
#ifndef _POSIX_SOURCE
 | 
			
		||||
# undef _POSIX_SOURCE
 | 
			
		||||
#endif
 | 
			
		||||
/* Define to 2 if needed for POSIX-compatible behavior.  */
 | 
			
		||||
#ifndef _POSIX_1_SOURCE
 | 
			
		||||
# undef _POSIX_1_SOURCE
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable POSIX-compatible threading on Solaris.  */
 | 
			
		||||
#ifndef _POSIX_PTHREAD_SEMANTICS
 | 
			
		||||
# undef _POSIX_PTHREAD_SEMANTICS
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
 | 
			
		||||
#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
 | 
			
		||||
# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
 | 
			
		||||
#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
 | 
			
		||||
# undef __STDC_WANT_IEC_60559_BFP_EXT__
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
 | 
			
		||||
#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
 | 
			
		||||
# undef __STDC_WANT_IEC_60559_DFP_EXT__
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable extensions specified by C23 Annex F.  */
 | 
			
		||||
#ifndef __STDC_WANT_IEC_60559_EXT__
 | 
			
		||||
# undef __STDC_WANT_IEC_60559_EXT__
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
 | 
			
		||||
#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
 | 
			
		||||
# undef __STDC_WANT_IEC_60559_FUNCS_EXT__
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015.  */
 | 
			
		||||
#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
 | 
			
		||||
# undef __STDC_WANT_IEC_60559_TYPES_EXT__
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
 | 
			
		||||
#ifndef __STDC_WANT_LIB_EXT2__
 | 
			
		||||
# undef __STDC_WANT_LIB_EXT2__
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable extensions specified by ISO/IEC 24747:2009.  */
 | 
			
		||||
#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
 | 
			
		||||
# undef __STDC_WANT_MATH_SPEC_FUNCS__
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable extensions on HP NonStop.  */
 | 
			
		||||
#ifndef _TANDEM_SOURCE
 | 
			
		||||
# undef _TANDEM_SOURCE
 | 
			
		||||
#endif
 | 
			
		||||
/* Enable X/Open extensions.  Define to 500 only if necessary
 | 
			
		||||
   to make mbstate_t available.  */
 | 
			
		||||
#ifndef _XOPEN_SOURCE
 | 
			
		||||
# undef _XOPEN_SOURCE
 | 
			
		||||
#endif
 | 
			
		||||
])dnl
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([AC_CHECK_INCLUDES_DEFAULT])dnl
 | 
			
		||||
  _AC_CHECK_HEADER_ONCE([wchar.h])
 | 
			
		||||
  _AC_CHECK_HEADER_ONCE([minix/config.h])
 | 
			
		||||
 | 
			
		||||
dnl Defining __EXTENSIONS__ may break the system headers on some systems.
 | 
			
		||||
dnl (FIXME: Which ones?)
 | 
			
		||||
  AC_CACHE_CHECK([whether it is safe to define __EXTENSIONS__],
 | 
			
		||||
    [ac_cv_safe_to_define___extensions__],
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
| 
						 | 
				
			
			@ -95,30 +158,57 @@ dnl configure.ac when using autoheader 2.62.
 | 
			
		|||
          ]AC_INCLUDES_DEFAULT])],
 | 
			
		||||
       [ac_cv_safe_to_define___extensions__=yes],
 | 
			
		||||
       [ac_cv_safe_to_define___extensions__=no])])
 | 
			
		||||
  test $ac_cv_safe_to_define___extensions__ = yes &&
 | 
			
		||||
    AC_DEFINE([__EXTENSIONS__])
 | 
			
		||||
  AC_DEFINE([_ALL_SOURCE])
 | 
			
		||||
  AC_DEFINE([_DARWIN_C_SOURCE])
 | 
			
		||||
  AC_DEFINE([_GNU_SOURCE])
 | 
			
		||||
  AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
 | 
			
		||||
  AC_DEFINE([_TANDEM_SOURCE])
 | 
			
		||||
 | 
			
		||||
dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to
 | 
			
		||||
dnl 500, regardless of whether compiling with -Ae or -D_HPUX_SOURCE=1.
 | 
			
		||||
dnl But defining _XOPEN_SOURCE may turn *off* extensions on platforms
 | 
			
		||||
dnl not covered by turn-on-extensions macros (notably Dragonfly, Free,
 | 
			
		||||
dnl and OpenBSD, which don't have any equivalent of _NETBSD_SOURCE) so
 | 
			
		||||
dnl it should only be defined when necessary.
 | 
			
		||||
  AC_CACHE_CHECK([whether _XOPEN_SOURCE should be defined],
 | 
			
		||||
    [ac_cv_should_define__xopen_source],
 | 
			
		||||
    [ac_cv_should_define__xopen_source=no
 | 
			
		||||
     AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM([[
 | 
			
		||||
    AS_IF([test $ac_cv_header_wchar_h = yes],
 | 
			
		||||
      [AC_COMPILE_IFELSE(
 | 
			
		||||
        [AC_LANG_PROGRAM([[
 | 
			
		||||
          #include <wchar.h>
 | 
			
		||||
          mbstate_t x;]])],
 | 
			
		||||
       [],
 | 
			
		||||
       [AC_COMPILE_IFELSE(
 | 
			
		||||
        [],
 | 
			
		||||
        [AC_COMPILE_IFELSE(
 | 
			
		||||
          [AC_LANG_PROGRAM([[
 | 
			
		||||
             #define _XOPEN_SOURCE 500
 | 
			
		||||
             #include <wchar.h>
 | 
			
		||||
             mbstate_t x;]])],
 | 
			
		||||
          [ac_cv_should_define__xopen_source=yes])])])
 | 
			
		||||
  test $ac_cv_should_define__xopen_source = yes &&
 | 
			
		||||
    AC_DEFINE([_XOPEN_SOURCE], [500])
 | 
			
		||||
            #define _XOPEN_SOURCE 500
 | 
			
		||||
            #include <wchar.h>
 | 
			
		||||
            mbstate_t x;]])],
 | 
			
		||||
          [ac_cv_should_define__xopen_source=yes])])])])
 | 
			
		||||
 | 
			
		||||
  AC_DEFINE([_ALL_SOURCE])
 | 
			
		||||
  AC_DEFINE([_DARWIN_C_SOURCE])
 | 
			
		||||
  AC_DEFINE([_GNU_SOURCE])
 | 
			
		||||
  AC_DEFINE([_HPUX_ALT_XOPEN_SOCKET_API])
 | 
			
		||||
  AC_DEFINE([_NETBSD_SOURCE])
 | 
			
		||||
  AC_DEFINE([_OPENBSD_SOURCE])
 | 
			
		||||
  AC_DEFINE([_POSIX_PTHREAD_SEMANTICS])
 | 
			
		||||
  AC_DEFINE([__STDC_WANT_IEC_60559_ATTRIBS_EXT__])
 | 
			
		||||
  AC_DEFINE([__STDC_WANT_IEC_60559_BFP_EXT__])
 | 
			
		||||
  AC_DEFINE([__STDC_WANT_IEC_60559_DFP_EXT__])
 | 
			
		||||
  AC_DEFINE([__STDC_WANT_IEC_60559_EXT__])
 | 
			
		||||
  AC_DEFINE([__STDC_WANT_IEC_60559_FUNCS_EXT__])
 | 
			
		||||
  AC_DEFINE([__STDC_WANT_IEC_60559_TYPES_EXT__])
 | 
			
		||||
  AC_DEFINE([__STDC_WANT_LIB_EXT2__])
 | 
			
		||||
  AC_DEFINE([__STDC_WANT_MATH_SPEC_FUNCS__])
 | 
			
		||||
  AC_DEFINE([_TANDEM_SOURCE])
 | 
			
		||||
  AS_IF([test $ac_cv_header_minix_config_h = yes],
 | 
			
		||||
    [MINIX=yes
 | 
			
		||||
    AC_DEFINE([_MINIX])
 | 
			
		||||
    AC_DEFINE([_POSIX_SOURCE])
 | 
			
		||||
    AC_DEFINE([_POSIX_1_SOURCE], [2])],
 | 
			
		||||
    [MINIX=])
 | 
			
		||||
  AS_IF([test $ac_cv_safe_to_define___extensions__ = yes],
 | 
			
		||||
    [AC_DEFINE([__EXTENSIONS__])])
 | 
			
		||||
  AS_IF([test $ac_cv_should_define__xopen_source = yes],
 | 
			
		||||
    [AC_DEFINE([_XOPEN_SOURCE], [500])])
 | 
			
		||||
])# AC_USE_SYSTEM_EXTENSIONS
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_USE_SYSTEM_EXTENSIONS
 | 
			
		||||
# ------------------------
 | 
			
		||||
| 
						 | 
				
			
			@ -126,13 +216,17 @@ dnl configure.ac when using autoheader 2.62.
 | 
			
		|||
# typically due to standards-conformance issues.
 | 
			
		||||
AC_DEFUN_ONCE([gl_USE_SYSTEM_EXTENSIONS],
 | 
			
		||||
[
 | 
			
		||||
  dnl Require this macro before AC_USE_SYSTEM_EXTENSIONS.
 | 
			
		||||
  dnl gnulib does not need it. But if it gets required by third-party macros
 | 
			
		||||
  dnl after AC_USE_SYSTEM_EXTENSIONS is required, autoconf 2.62..2.63 emit a
 | 
			
		||||
  dnl warning: "AC_COMPILE_IFELSE was called before AC_USE_SYSTEM_EXTENSIONS".
 | 
			
		||||
  dnl Note: We can do this only for one of the macros AC_AIX, AC_GNU_SOURCE,
 | 
			
		||||
  dnl AC_MINIX. If people still use AC_AIX or AC_MINIX, they are out of luck.
 | 
			
		||||
  AC_REQUIRE([AC_GNU_SOURCE])
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 | 
			
		||||
 | 
			
		||||
  dnl On OpenBSD 6.8 with GCC, the include files contain a couple of
 | 
			
		||||
  dnl definitions that are only activated with an explicit -D_ISOC11_SOURCE.
 | 
			
		||||
  dnl That's because this version of GCC (4.2.1) supports the option
 | 
			
		||||
  dnl '-std=gnu99' but not the option '-std=gnu11'.
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    openbsd*)
 | 
			
		||||
      AC_DEFINE([_ISOC11_SOURCE], [1],
 | 
			
		||||
        [Define to enable the declarations of ISO C 11 types and functions.])
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,61 +1,121 @@
 | 
			
		|||
dnl 'extern inline' a la ISO C99.
 | 
			
		||||
 | 
			
		||||
dnl Copyright 2012-2013 Free Software Foundation, Inc.
 | 
			
		||||
dnl Copyright 2012-2023 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_EXTERN_INLINE],
 | 
			
		||||
[
 | 
			
		||||
  AH_VERBATIM([extern_inline],
 | 
			
		||||
  AC_CACHE_CHECK([whether ctype.h defines __header_inline],
 | 
			
		||||
    [gl_cv_have___header_inline],
 | 
			
		||||
    [AC_PREPROC_IFELSE(
 | 
			
		||||
       [AC_LANG_SOURCE([[#include <ctype.h>
 | 
			
		||||
                         #ifndef __header_inline
 | 
			
		||||
                          #error "<ctype.h> does not define __header_inline"
 | 
			
		||||
                         #endif
 | 
			
		||||
                        ]])],
 | 
			
		||||
       [gl_cv_have___header_inline=yes],
 | 
			
		||||
       [gl_cv_have___header_inline=no])])
 | 
			
		||||
  if test "$gl_cv_have___header_inline" = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE___HEADER_INLINE], [1],
 | 
			
		||||
      [Define to 1 if ctype.h defines __header_inline.])
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  AH_VERBATIM([HAVE___HEADER_INLINE_1],
 | 
			
		||||
[/* Please see the Gnulib manual for how to use these macros.
 | 
			
		||||
 | 
			
		||||
   Suppress extern inline with HP-UX cc, as it appears to be broken; see
 | 
			
		||||
   <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
 | 
			
		||||
   <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
 | 
			
		||||
 | 
			
		||||
   Suppress extern inline with Sun C in standards-conformance mode, as it
 | 
			
		||||
   mishandles inline functions that call each other.  E.g., for 'inline void f
 | 
			
		||||
   (void) { } inline void g (void) { f (); }', c99 incorrectly complains
 | 
			
		||||
   'reference to static identifier "f" in extern inline function'.
 | 
			
		||||
   This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
 | 
			
		||||
   This bug was observed with Oracle Developer Studio 12.6
 | 
			
		||||
   (Sun C 5.15 SunOS_sparc 2017/05/30).
 | 
			
		||||
 | 
			
		||||
   Suppress the use of extern inline on Apple's platforms, as Libc at least
 | 
			
		||||
   through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g.,
 | 
			
		||||
   <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
 | 
			
		||||
   Perhaps Apple will fix this some day.  */
 | 
			
		||||
   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
 | 
			
		||||
   on configurations that mistakenly use 'static inline' to implement
 | 
			
		||||
   functions or macros in standard C headers like <ctype.h>.  For example,
 | 
			
		||||
   if isdigit is mistakenly implemented via a static inline function,
 | 
			
		||||
   a program containing an extern inline function that calls isdigit
 | 
			
		||||
   may not work since the C standard prohibits extern inline functions
 | 
			
		||||
   from calling static functions (ISO C 99 section 6.7.4.(3).
 | 
			
		||||
   This bug is known to occur on:
 | 
			
		||||
 | 
			
		||||
     OS X 10.8 and earlier; see:
 | 
			
		||||
     https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
 | 
			
		||||
 | 
			
		||||
     DragonFly; see
 | 
			
		||||
     http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log
 | 
			
		||||
 | 
			
		||||
     FreeBSD; see:
 | 
			
		||||
     https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
 | 
			
		||||
 | 
			
		||||
   OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
 | 
			
		||||
   for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
 | 
			
		||||
   Assume DragonFly and FreeBSD will be similar.
 | 
			
		||||
 | 
			
		||||
   GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
 | 
			
		||||
   inline semantics, unless -fgnu89-inline is used.  It defines a macro
 | 
			
		||||
   __GNUC_STDC_INLINE__ to indicate this situation or a macro
 | 
			
		||||
   __GNUC_GNU_INLINE__ to indicate the opposite situation.
 | 
			
		||||
   GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
 | 
			
		||||
   semantics but warns, unless -fgnu89-inline is used:
 | 
			
		||||
     warning: C99 inline functions are not supported; using GNU89
 | 
			
		||||
     warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
 | 
			
		||||
   It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
 | 
			
		||||
 */
 | 
			
		||||
#if (((defined __APPLE__ && defined __MACH__) \
 | 
			
		||||
      || defined __DragonFly__ || defined __FreeBSD__) \
 | 
			
		||||
     && (defined HAVE___HEADER_INLINE \
 | 
			
		||||
         ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
 | 
			
		||||
            && ! defined __clang__) \
 | 
			
		||||
         : ((! defined _DONT_USE_CTYPE_INLINE_ \
 | 
			
		||||
             && (defined __GNUC__ || defined __cplusplus)) \
 | 
			
		||||
            || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
 | 
			
		||||
                && defined __GNUC__ && ! defined __cplusplus))))
 | 
			
		||||
# define _GL_EXTERN_INLINE_STDHEADER_BUG
 | 
			
		||||
#endif
 | 
			
		||||
#if ((__GNUC__ \
 | 
			
		||||
      ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
 | 
			
		||||
      : (199901L <= __STDC_VERSION__ \
 | 
			
		||||
         && !defined __HP_cc \
 | 
			
		||||
         && !defined __PGI \
 | 
			
		||||
         && !(defined __SUNPRO_C && __STDC__))) \
 | 
			
		||||
     && !defined __APPLE__)
 | 
			
		||||
     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 | 
			
		||||
# define _GL_INLINE inline
 | 
			
		||||
# define _GL_EXTERN_INLINE extern inline
 | 
			
		||||
# define _GL_EXTERN_INLINE_IN_USE
 | 
			
		||||
#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
 | 
			
		||||
       && !defined __APPLE__)
 | 
			
		||||
# if __GNUC_GNU_INLINE__
 | 
			
		||||
       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
 | 
			
		||||
# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
 | 
			
		||||
   /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
 | 
			
		||||
#  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
 | 
			
		||||
# else
 | 
			
		||||
#  define _GL_INLINE extern inline
 | 
			
		||||
# endif
 | 
			
		||||
# define _GL_EXTERN_INLINE extern
 | 
			
		||||
# define _GL_EXTERN_INLINE_IN_USE
 | 
			
		||||
#else
 | 
			
		||||
# define _GL_INLINE static _GL_UNUSED
 | 
			
		||||
# define _GL_EXTERN_INLINE static _GL_UNUSED
 | 
			
		||||
# define _GL_INLINE _GL_UNUSED static
 | 
			
		||||
# define _GL_EXTERN_INLINE _GL_UNUSED static
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#if 4 < __GNUC__ + (6 <= __GNUC_MINOR__)
 | 
			
		||||
/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
 | 
			
		||||
   suppress bogus "no previous prototype for 'FOO'"
 | 
			
		||||
   and "no previous declaration for 'FOO'" diagnostics,
 | 
			
		||||
   when FOO is an inline function in the header; see
 | 
			
		||||
   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
 | 
			
		||||
   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
 | 
			
		||||
#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
 | 
			
		||||
# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
 | 
			
		||||
#  define _GL_INLINE_HEADER_CONST_PRAGMA
 | 
			
		||||
# else
 | 
			
		||||
#  define _GL_INLINE_HEADER_CONST_PRAGMA \
 | 
			
		||||
     _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
 | 
			
		||||
# endif
 | 
			
		||||
  /* Suppress GCC's bogus "no previous prototype for 'FOO'"
 | 
			
		||||
     and "no previous declaration for 'FOO'"  diagnostics,
 | 
			
		||||
     when FOO is an inline function in the header; see
 | 
			
		||||
     <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.  */
 | 
			
		||||
# define _GL_INLINE_HEADER_BEGIN \
 | 
			
		||||
    _Pragma ("GCC diagnostic push") \
 | 
			
		||||
    _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,23 +1,22 @@
 | 
			
		|||
# fcntl-o.m4 serial 4
 | 
			
		||||
dnl Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# fcntl-o.m4 serial 7
 | 
			
		||||
dnl Copyright (C) 2006, 2009-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl Written by Paul Eggert.
 | 
			
		||||
 | 
			
		||||
AC_PREREQ([2.60])
 | 
			
		||||
 | 
			
		||||
# Test whether the flags O_NOATIME and O_NOFOLLOW actually work.
 | 
			
		||||
# Define HAVE_WORKING_O_NOATIME to 1 if O_NOATIME works, or to 0 otherwise.
 | 
			
		||||
# Define HAVE_WORKING_O_NOFOLLOW to 1 if O_NOFOLLOW works, or to 0 otherwise.
 | 
			
		||||
AC_DEFUN([gl_FCNTL_O_FLAGS],
 | 
			
		||||
[
 | 
			
		||||
  dnl Persuade glibc <fcntl.h> to define O_NOATIME and O_NOFOLLOW.
 | 
			
		||||
  dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
 | 
			
		||||
  dnl AC_GNU_SOURCE.
 | 
			
		||||
  m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
 | 
			
		||||
    [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
 | 
			
		||||
    [AC_REQUIRE([AC_GNU_SOURCE])])
 | 
			
		||||
  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([unistd.h])
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([symlink])
 | 
			
		||||
  AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h],
 | 
			
		||||
| 
						 | 
				
			
			@ -33,6 +32,7 @@ AC_DEFUN([gl_FCNTL_O_FLAGS],
 | 
			
		|||
           # defined sleep(n) _sleep ((n) * 1000)
 | 
			
		||||
           #endif
 | 
			
		||||
           #include <fcntl.h>
 | 
			
		||||
           ]GL_MDA_DEFINES[
 | 
			
		||||
           #ifndef O_NOATIME
 | 
			
		||||
            #define O_NOATIME 0
 | 
			
		||||
           #endif
 | 
			
		||||
| 
						 | 
				
			
			@ -116,7 +116,13 @@ AC_DEFUN([gl_FCNTL_O_FLAGS],
 | 
			
		|||
        68) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
 | 
			
		||||
         *) gl_cv_header_working_fcntl_h='no';;
 | 
			
		||||
        esac],
 | 
			
		||||
       [gl_cv_header_working_fcntl_h=cross-compiling])])
 | 
			
		||||
       [case "$host_os" in
 | 
			
		||||
                  # Guess 'no' on native Windows.
 | 
			
		||||
          mingw*) gl_cv_header_working_fcntl_h='no' ;;
 | 
			
		||||
          *)      gl_cv_header_working_fcntl_h=cross-compiling ;;
 | 
			
		||||
        esac
 | 
			
		||||
       ])
 | 
			
		||||
    ])
 | 
			
		||||
 | 
			
		||||
  case $gl_cv_header_working_fcntl_h in #(
 | 
			
		||||
  *O_NOATIME* | no | cross-compiling) ac_val=0;; #(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										151
									
								
								gl/m4/fcntl.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								gl/m4/fcntl.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,151 @@
 | 
			
		|||
# fcntl.m4 serial 11
 | 
			
		||||
dnl Copyright (C) 2009-2023 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.
 | 
			
		||||
 | 
			
		||||
# For now, this module ensures that fcntl()
 | 
			
		||||
# - supports F_DUPFD correctly
 | 
			
		||||
# - supports or emulates F_DUPFD_CLOEXEC
 | 
			
		||||
# - supports F_GETFD
 | 
			
		||||
# Still to be ported to mingw:
 | 
			
		||||
# - F_SETFD
 | 
			
		||||
# - F_GETFL, F_SETFL
 | 
			
		||||
# - F_GETOWN, F_SETOWN
 | 
			
		||||
# - F_GETLK, F_SETLK, F_SETLKW
 | 
			
		||||
AC_DEFUN([gl_FUNC_FCNTL],
 | 
			
		||||
[
 | 
			
		||||
  dnl Persuade glibc to expose F_DUPFD_CLOEXEC.
 | 
			
		||||
  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
 | 
			
		||||
  AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([fcntl])
 | 
			
		||||
  if test $ac_cv_func_fcntl = no; then
 | 
			
		||||
    gl_REPLACE_FCNTL
 | 
			
		||||
  else
 | 
			
		||||
    dnl cygwin 1.5.x F_DUPFD has wrong errno, and allows negative target
 | 
			
		||||
    dnl haiku alpha 2 F_DUPFD has wrong errno
 | 
			
		||||
    AC_CACHE_CHECK([whether fcntl handles F_DUPFD correctly],
 | 
			
		||||
      [gl_cv_func_fcntl_f_dupfd_works],
 | 
			
		||||
      [AC_RUN_IFELSE(
 | 
			
		||||
         [AC_LANG_PROGRAM(
 | 
			
		||||
            [[#include <errno.h>
 | 
			
		||||
              #include <fcntl.h>
 | 
			
		||||
              #include <limits.h>
 | 
			
		||||
              #include <sys/resource.h>
 | 
			
		||||
              #include <unistd.h>
 | 
			
		||||
              ]GL_MDA_DEFINES[
 | 
			
		||||
              #ifndef RLIM_SAVED_CUR
 | 
			
		||||
              # define RLIM_SAVED_CUR RLIM_INFINITY
 | 
			
		||||
              #endif
 | 
			
		||||
              #ifndef RLIM_SAVED_MAX
 | 
			
		||||
              # define RLIM_SAVED_MAX RLIM_INFINITY
 | 
			
		||||
              #endif
 | 
			
		||||
            ]],
 | 
			
		||||
            [[int result = 0;
 | 
			
		||||
              int bad_fd = INT_MAX;
 | 
			
		||||
              struct rlimit rlim;
 | 
			
		||||
              if (getrlimit (RLIMIT_NOFILE, &rlim) == 0
 | 
			
		||||
                  && 0 <= rlim.rlim_cur && rlim.rlim_cur <= INT_MAX
 | 
			
		||||
                  && rlim.rlim_cur != RLIM_INFINITY
 | 
			
		||||
                  && rlim.rlim_cur != RLIM_SAVED_MAX
 | 
			
		||||
                  && rlim.rlim_cur != RLIM_SAVED_CUR)
 | 
			
		||||
                bad_fd = rlim.rlim_cur;
 | 
			
		||||
              if (fcntl (0, F_DUPFD, -1) != -1) result |= 1;
 | 
			
		||||
              if (errno != EINVAL) result |= 2;
 | 
			
		||||
              if (fcntl (0, F_DUPFD, bad_fd) != -1) result |= 4;
 | 
			
		||||
              if (errno != EINVAL) result |= 8;
 | 
			
		||||
              /* On OS/2 kLIBC, F_DUPFD does not work on a directory fd */
 | 
			
		||||
              {
 | 
			
		||||
                int fd;
 | 
			
		||||
                fd = open (".", O_RDONLY);
 | 
			
		||||
                if (fd == -1)
 | 
			
		||||
                  result |= 16;
 | 
			
		||||
                else if (fcntl (fd, F_DUPFD, STDERR_FILENO + 1) == -1)
 | 
			
		||||
                  result |= 32;
 | 
			
		||||
 | 
			
		||||
                close (fd);
 | 
			
		||||
              }
 | 
			
		||||
              return result;]])],
 | 
			
		||||
         [gl_cv_func_fcntl_f_dupfd_works=yes],
 | 
			
		||||
         [gl_cv_func_fcntl_f_dupfd_works=no],
 | 
			
		||||
         [case $host_os in
 | 
			
		||||
            aix* | cygwin* | haiku*)
 | 
			
		||||
               gl_cv_func_fcntl_f_dupfd_works="guessing no" ;;
 | 
			
		||||
            *) gl_cv_func_fcntl_f_dupfd_works="guessing yes" ;;
 | 
			
		||||
          esac])])
 | 
			
		||||
    case $gl_cv_func_fcntl_f_dupfd_works in
 | 
			
		||||
      *yes) ;;
 | 
			
		||||
      *) gl_REPLACE_FCNTL
 | 
			
		||||
        AC_DEFINE([FCNTL_DUPFD_BUGGY], [1], [Define this to 1 if F_DUPFD
 | 
			
		||||
          behavior does not match POSIX]) ;;
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    dnl Many systems lack F_DUPFD_CLOEXEC.
 | 
			
		||||
    dnl NetBSD 9.0 declares F_DUPFD_CLOEXEC but it works only like F_DUPFD.
 | 
			
		||||
    AC_CACHE_CHECK([whether fcntl understands F_DUPFD_CLOEXEC],
 | 
			
		||||
      [gl_cv_func_fcntl_f_dupfd_cloexec],
 | 
			
		||||
      [AC_RUN_IFELSE(
 | 
			
		||||
         [AC_LANG_SOURCE(
 | 
			
		||||
            [[#include <fcntl.h>
 | 
			
		||||
              #include <unistd.h>
 | 
			
		||||
              int main (int argc, char *argv[])
 | 
			
		||||
              {
 | 
			
		||||
                if (argc == 1)
 | 
			
		||||
                  /* parent process */
 | 
			
		||||
                  {
 | 
			
		||||
                    if (fcntl (1, F_DUPFD_CLOEXEC, 10) < 0)
 | 
			
		||||
                      return 1;
 | 
			
		||||
                    return execl ("./conftest", "./conftest", "child", NULL);
 | 
			
		||||
                  }
 | 
			
		||||
                else
 | 
			
		||||
                  /* child process */
 | 
			
		||||
                  return (fcntl (10, F_GETFL) < 0 ? 0 : 42);
 | 
			
		||||
              }
 | 
			
		||||
            ]])
 | 
			
		||||
         ],
 | 
			
		||||
         [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 | 
			
		||||
#ifdef __linux__
 | 
			
		||||
/* The Linux kernel only added F_DUPFD_CLOEXEC in 2.6.24, so we always replace
 | 
			
		||||
   it to support the semantics on older kernels that failed with EINVAL.  */
 | 
			
		||||
choke me
 | 
			
		||||
#endif
 | 
			
		||||
           ]])],
 | 
			
		||||
           [gl_cv_func_fcntl_f_dupfd_cloexec=yes],
 | 
			
		||||
           [gl_cv_func_fcntl_f_dupfd_cloexec="needs runtime check"])
 | 
			
		||||
         ],
 | 
			
		||||
         [gl_cv_func_fcntl_f_dupfd_cloexec=no],
 | 
			
		||||
         [case "$host_os" in
 | 
			
		||||
                     # Guess no on NetBSD.
 | 
			
		||||
            netbsd*) gl_cv_func_fcntl_f_dupfd_cloexec="guessing no" ;;
 | 
			
		||||
            *)       gl_cv_func_fcntl_f_dupfd_cloexec="$gl_cross_guess_normal" ;;
 | 
			
		||||
          esac
 | 
			
		||||
         ])
 | 
			
		||||
      ])
 | 
			
		||||
    case "$gl_cv_func_fcntl_f_dupfd_cloexec" in
 | 
			
		||||
      *yes) ;;
 | 
			
		||||
      *)    gl_REPLACE_FCNTL
 | 
			
		||||
            dnl No witness macro needed for this bug.
 | 
			
		||||
            ;;
 | 
			
		||||
    esac
 | 
			
		||||
  fi
 | 
			
		||||
  dnl Replace fcntl() for supporting the gnulib-defined fchdir() function,
 | 
			
		||||
  dnl to keep fchdir's bookkeeping up-to-date.
 | 
			
		||||
  m4_ifdef([gl_FUNC_FCHDIR], [
 | 
			
		||||
    gl_TEST_FCHDIR
 | 
			
		||||
    if test $HAVE_FCHDIR = 0; then
 | 
			
		||||
      gl_REPLACE_FCNTL
 | 
			
		||||
    fi
 | 
			
		||||
  ])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_REPLACE_FCNTL],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([fcntl])
 | 
			
		||||
  if test $ac_cv_func_fcntl = no; then
 | 
			
		||||
    HAVE_FCNTL=0
 | 
			
		||||
  else
 | 
			
		||||
    REPLACE_FCNTL=1
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										70
									
								
								gl/m4/fcntl_h.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								gl/m4/fcntl_h.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,70 @@
 | 
			
		|||
# serial 20
 | 
			
		||||
# Configure fcntl.h.
 | 
			
		||||
dnl Copyright (C) 2006-2007, 2009-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl Written by Paul Eggert.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN_ONCE([gl_FCNTL_H],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_FCNTL_O_FLAGS])
 | 
			
		||||
  gl_NEXT_HEADERS([fcntl.h])
 | 
			
		||||
 | 
			
		||||
  dnl Ensure the type pid_t gets defined.
 | 
			
		||||
  AC_REQUIRE([AC_TYPE_PID_T])
 | 
			
		||||
 | 
			
		||||
  dnl Ensure the type mode_t gets defined.
 | 
			
		||||
  AC_REQUIRE([AC_TYPE_MODE_T])
 | 
			
		||||
 | 
			
		||||
  dnl Check for declarations of anything we want to poison if the
 | 
			
		||||
  dnl corresponding gnulib module is not in use, if it is not common
 | 
			
		||||
  dnl enough to be declared everywhere.
 | 
			
		||||
  gl_WARN_ON_USE_PREPARE([[#include <fcntl.h>
 | 
			
		||||
    ]], [fcntl openat])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_FCNTL_MODULE_INDICATOR([modulename])
 | 
			
		||||
# sets the shell variable that indicates the presence of the given module
 | 
			
		||||
# to a C preprocessor expression that will evaluate to 1.
 | 
			
		||||
# This macro invocation must not occur in macros that are AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_FCNTL_MODULE_INDICATOR],
 | 
			
		||||
[
 | 
			
		||||
  dnl Ensure to expand the default settings once only.
 | 
			
		||||
  gl_FCNTL_H_REQUIRE_DEFAULTS
 | 
			
		||||
  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
 | 
			
		||||
  dnl Define it also as a C macro, for the benefit of the unit tests.
 | 
			
		||||
  gl_MODULE_INDICATOR_FOR_TESTS([$1])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Initializes the default values for AC_SUBSTed shell variables.
 | 
			
		||||
# This macro must not be AC_REQUIREd.  It must only be invoked, and only
 | 
			
		||||
# outside of macros or in macros that are not AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_FCNTL_H_REQUIRE_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  m4_defun(GL_MODULE_INDICATOR_PREFIX[_FCNTL_H_MODULE_INDICATOR_DEFAULTS], [
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CREAT])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCNTL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NONBLOCKING])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPEN])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OPENAT])
 | 
			
		||||
    dnl Support Microsoft deprecated alias function names by default.
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_CREAT], [1])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_OPEN], [1])
 | 
			
		||||
  ])
 | 
			
		||||
  m4_require(GL_MODULE_INDICATOR_PREFIX[_FCNTL_H_MODULE_INDICATOR_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_FCNTL_H_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  dnl Assume proper GNU behavior unless another module says otherwise.
 | 
			
		||||
  HAVE_FCNTL=1;          AC_SUBST([HAVE_FCNTL])
 | 
			
		||||
  HAVE_OPENAT=1;         AC_SUBST([HAVE_OPENAT])
 | 
			
		||||
  REPLACE_CREAT=0;       AC_SUBST([REPLACE_CREAT])
 | 
			
		||||
  REPLACE_FCNTL=0;       AC_SUBST([REPLACE_FCNTL])
 | 
			
		||||
  REPLACE_OPEN=0;        AC_SUBST([REPLACE_OPEN])
 | 
			
		||||
  REPLACE_OPENAT=0;      AC_SUBST([REPLACE_OPENAT])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										100
									
								
								gl/m4/fflush.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								gl/m4/fflush.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,100 @@
 | 
			
		|||
# fflush.m4 serial 18
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2007-2023 Free Software Foundation, Inc.
 | 
			
		||||
# This file is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
# with or without modifications, as long as this notice is preserved.
 | 
			
		||||
 | 
			
		||||
dnl From Eric Blake
 | 
			
		||||
 | 
			
		||||
dnl Find out how to obey POSIX semantics of fflush(stdin) discarding
 | 
			
		||||
dnl unread input on seekable streams, rather than C99 undefined semantics.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_FUNC_FFLUSH],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
 | 
			
		||||
  gl_FUNC_FFLUSH_STDIN
 | 
			
		||||
  case "$gl_cv_func_fflush_stdin" in
 | 
			
		||||
    *yes) ;;
 | 
			
		||||
    *) REPLACE_FFLUSH=1 ;;
 | 
			
		||||
  esac
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl Determine whether fflush works on input streams.
 | 
			
		||||
dnl Sets gl_cv_func_fflush_stdin.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_FUNC_FFLUSH_STDIN],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([unistd.h])
 | 
			
		||||
  AC_CACHE_CHECK([whether fflush works on input streams],
 | 
			
		||||
    [gl_cv_func_fflush_stdin],
 | 
			
		||||
    [echo hello world > conftest.txt
 | 
			
		||||
     AC_RUN_IFELSE([AC_LANG_PROGRAM(
 | 
			
		||||
       [[
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#if HAVE_UNISTD_H
 | 
			
		||||
# include <unistd.h>
 | 
			
		||||
#else /* on Windows with MSVC */
 | 
			
		||||
# include <io.h>
 | 
			
		||||
#endif
 | 
			
		||||
       ]GL_MDA_DEFINES],
 | 
			
		||||
       [[FILE *f = fopen ("conftest.txt", "r");
 | 
			
		||||
         char buffer[10];
 | 
			
		||||
         int fd;
 | 
			
		||||
         int c;
 | 
			
		||||
         if (f == NULL)
 | 
			
		||||
           return 1;
 | 
			
		||||
         fd = fileno (f);
 | 
			
		||||
         if (fd < 0 || fread (buffer, 1, 5, f) != 5)
 | 
			
		||||
           { fclose (f); return 2; }
 | 
			
		||||
         /* For deterministic results, ensure f read a bigger buffer.  */
 | 
			
		||||
         if (lseek (fd, 0, SEEK_CUR) == 5)
 | 
			
		||||
           { fclose (f); return 3; }
 | 
			
		||||
         /* POSIX requires fflush-fseek to set file offset of fd.  This fails
 | 
			
		||||
            on BSD systems and on mingw.  */
 | 
			
		||||
         if (fflush (f) != 0 || fseek (f, 0, SEEK_CUR) != 0)
 | 
			
		||||
           { fclose (f); return 4; }
 | 
			
		||||
         if (lseek (fd, 0, SEEK_CUR) != 5)
 | 
			
		||||
           { fclose (f); return 5; }
 | 
			
		||||
         /* Verify behaviour of fflush after ungetc. See
 | 
			
		||||
            <https://www.opengroup.org/austin/aardvark/latest/xshbug3.txt>  */
 | 
			
		||||
         /* Verify behaviour of fflush after a backup ungetc.  This fails on
 | 
			
		||||
            mingw.  */
 | 
			
		||||
         c = fgetc (f);
 | 
			
		||||
         ungetc (c, f);
 | 
			
		||||
         fflush (f);
 | 
			
		||||
         if (fgetc (f) != c)
 | 
			
		||||
           { fclose (f); return 6; }
 | 
			
		||||
         /* Verify behaviour of fflush after a non-backup ungetc.  This fails
 | 
			
		||||
            on glibc 2.8 and on BSD systems.  */
 | 
			
		||||
         c = fgetc (f);
 | 
			
		||||
         ungetc ('@', f);
 | 
			
		||||
         fflush (f);
 | 
			
		||||
         if (fgetc (f) != c)
 | 
			
		||||
           { fclose (f); return 7; }
 | 
			
		||||
         fclose (f);
 | 
			
		||||
         return 0;
 | 
			
		||||
       ]])],
 | 
			
		||||
       [gl_cv_func_fflush_stdin=yes],
 | 
			
		||||
       [gl_cv_func_fflush_stdin=no],
 | 
			
		||||
       [case "$host_os" in
 | 
			
		||||
                  # Guess no on native Windows.
 | 
			
		||||
          mingw*) gl_cv_func_fflush_stdin="guessing no" ;;
 | 
			
		||||
          *)      gl_cv_func_fflush_stdin=cross ;;
 | 
			
		||||
        esac
 | 
			
		||||
       ])
 | 
			
		||||
     rm conftest.txt
 | 
			
		||||
    ])
 | 
			
		||||
  case "$gl_cv_func_fflush_stdin" in
 | 
			
		||||
    *yes) gl_func_fflush_stdin=1 ;;
 | 
			
		||||
    *no)  gl_func_fflush_stdin=0 ;;
 | 
			
		||||
    *)    gl_func_fflush_stdin='(-1)' ;;
 | 
			
		||||
  esac
 | 
			
		||||
  AC_DEFINE_UNQUOTED([FUNC_FFLUSH_STDIN], [$gl_func_fflush_stdin],
 | 
			
		||||
    [Define to 1 if fflush is known to work on stdin as per POSIX.1-2008,
 | 
			
		||||
     0 if fflush is known to not work, -1 if unknown.])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/fflush.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_FFLUSH], [:])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# float_h.m4 serial 9
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# float_h.m4 serial 13
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -8,42 +8,46 @@ AC_DEFUN([gl_FLOAT_H],
 | 
			
		|||
[
 | 
			
		||||
  AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  FLOAT_H=
 | 
			
		||||
  GL_GENERATE_FLOAT_H=false
 | 
			
		||||
  REPLACE_FLOAT_LDBL=0
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    aix* | beos* | openbsd* | mirbsd* | irix*)
 | 
			
		||||
      FLOAT_H=float.h
 | 
			
		||||
      GL_GENERATE_FLOAT_H=true
 | 
			
		||||
      ;;
 | 
			
		||||
    freebsd*)
 | 
			
		||||
    freebsd* | dragonfly*)
 | 
			
		||||
      case "$host_cpu" in
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
        i[34567]86 )
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
          FLOAT_H=float.h
 | 
			
		||||
          GL_GENERATE_FLOAT_H=true
 | 
			
		||||
          ;;
 | 
			
		||||
        x86_64 )
 | 
			
		||||
          # On x86_64 systems, the C compiler may still be generating
 | 
			
		||||
          # 32-bit code.
 | 
			
		||||
          AC_EGREP_CPP([yes],
 | 
			
		||||
            [#if defined __LP64__ || defined __x86_64__ || defined __amd64__
 | 
			
		||||
             yes
 | 
			
		||||
             #endif],
 | 
			
		||||
          AC_COMPILE_IFELSE(
 | 
			
		||||
            [AC_LANG_SOURCE(
 | 
			
		||||
               [[#if defined __LP64__ || defined __x86_64__ || defined __amd64__
 | 
			
		||||
                  int ok;
 | 
			
		||||
                 #else
 | 
			
		||||
                  error fail
 | 
			
		||||
                 #endif
 | 
			
		||||
               ]])],
 | 
			
		||||
            [],
 | 
			
		||||
            [FLOAT_H=float.h])
 | 
			
		||||
            [GL_GENERATE_FLOAT_H=true])
 | 
			
		||||
          ;;
 | 
			
		||||
      esac
 | 
			
		||||
      ;;
 | 
			
		||||
    linux*)
 | 
			
		||||
      case "$host_cpu" in
 | 
			
		||||
        powerpc*)
 | 
			
		||||
          FLOAT_H=float.h
 | 
			
		||||
          GL_GENERATE_FLOAT_H=true
 | 
			
		||||
          ;;
 | 
			
		||||
      esac
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    aix* | freebsd* | linux*)
 | 
			
		||||
      if test -n "$FLOAT_H"; then
 | 
			
		||||
    aix* | freebsd* | dragonfly* | linux*)
 | 
			
		||||
      if $GL_GENERATE_FLOAT_H; then
 | 
			
		||||
        REPLACE_FLOAT_LDBL=1
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
| 
						 | 
				
			
			@ -69,14 +73,20 @@ int main ()
 | 
			
		|||
        [gl_cv_func_itold_works=no],
 | 
			
		||||
        [case "$host" in
 | 
			
		||||
           sparc*-*-linux*)
 | 
			
		||||
             AC_EGREP_CPP([yes],
 | 
			
		||||
               [#if defined __LP64__ || defined __arch64__
 | 
			
		||||
                yes
 | 
			
		||||
                #endif],
 | 
			
		||||
             AC_COMPILE_IFELSE(
 | 
			
		||||
               [AC_LANG_SOURCE(
 | 
			
		||||
                 [[#if defined __LP64__ || defined __arch64__
 | 
			
		||||
                    int ok;
 | 
			
		||||
                   #else
 | 
			
		||||
                    error fail
 | 
			
		||||
                   #endif
 | 
			
		||||
                 ]])],
 | 
			
		||||
               [gl_cv_func_itold_works="guessing no"],
 | 
			
		||||
               [gl_cv_func_itold_works="guessing yes"])
 | 
			
		||||
             ;;
 | 
			
		||||
           *) gl_cv_func_itold_works="guessing yes" ;;
 | 
			
		||||
                   # Guess yes on native Windows.
 | 
			
		||||
           mingw*) gl_cv_func_itold_works="guessing yes" ;;
 | 
			
		||||
           *)      gl_cv_func_itold_works="guessing yes" ;;
 | 
			
		||||
         esac
 | 
			
		||||
        ])
 | 
			
		||||
    ])
 | 
			
		||||
| 
						 | 
				
			
			@ -85,14 +95,12 @@ int main ()
 | 
			
		|||
      REPLACE_ITOLD=1
 | 
			
		||||
      dnl We add the workaround to <float.h> but also to <math.h>,
 | 
			
		||||
      dnl to increase the chances that the fix function gets pulled in.
 | 
			
		||||
      FLOAT_H=float.h
 | 
			
		||||
      GL_GENERATE_FLOAT_H=true
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
 | 
			
		||||
  if test -n "$FLOAT_H"; then
 | 
			
		||||
  if $GL_GENERATE_FLOAT_H; then
 | 
			
		||||
    gl_NEXT_HEADERS([float.h])
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([FLOAT_H])
 | 
			
		||||
  AM_CONDITIONAL([GL_GENERATE_FLOAT_H], [test -n "$FLOAT_H"])
 | 
			
		||||
  AC_SUBST([REPLACE_ITOLD])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# floorf.m4 serial 13
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# floorf.m4 serial 18
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -39,7 +39,7 @@ AC_DEFUN([gl_FUNC_FLOORF],
 | 
			
		|||
static float dummy (float f) { return 0; }
 | 
			
		||||
int main (int argc, char *argv[])
 | 
			
		||||
{
 | 
			
		||||
  float (*my_floorf) (float) = argc ? floorf : dummy;
 | 
			
		||||
  float (* volatile my_floorf) (float) = argc ? floorf : dummy;
 | 
			
		||||
  /* Test whether floorf (-0.0f) is -0.0f.  */
 | 
			
		||||
  if (signbitf (minus_zerof) && !signbitf (my_floorf (minus_zerof)))
 | 
			
		||||
    return 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -49,10 +49,14 @@ int main (int argc, char *argv[])
 | 
			
		|||
              [gl_cv_func_floorf_ieee=yes],
 | 
			
		||||
              [gl_cv_func_floorf_ieee=no],
 | 
			
		||||
              [case "$host_os" in
 | 
			
		||||
                         # Guess yes on glibc systems.
 | 
			
		||||
                 *-gnu*) gl_cv_func_floorf_ieee="guessing yes" ;;
 | 
			
		||||
                         # If we don't know, assume the worst.
 | 
			
		||||
                 *)      gl_cv_func_floorf_ieee="guessing no" ;;
 | 
			
		||||
                                # Guess yes on glibc systems.
 | 
			
		||||
                 *-gnu* | gnu*) gl_cv_func_floorf_ieee="guessing yes" ;;
 | 
			
		||||
                                # Guess yes on musl systems.
 | 
			
		||||
                 *-musl*)       gl_cv_func_floorf_ieee="guessing yes" ;;
 | 
			
		||||
                                # Guess yes on native Windows.
 | 
			
		||||
                 mingw*)        gl_cv_func_floorf_ieee="guessing yes" ;;
 | 
			
		||||
                                # If we don't know, obey --enable-cross-guesses.
 | 
			
		||||
                 *)             gl_cv_func_floorf_ieee="$gl_cross_guess_normal" ;;
 | 
			
		||||
               esac
 | 
			
		||||
              ])
 | 
			
		||||
            LIBS="$save_LIBS"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										149
									
								
								gl/m4/fopen.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										149
									
								
								gl/m4/fopen.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,149 @@
 | 
			
		|||
# fopen.m4 serial 13
 | 
			
		||||
dnl Copyright (C) 2007-2023 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_FOPEN],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    mingw* | pw*)
 | 
			
		||||
      dnl Replace fopen, for handling of "/dev/null".
 | 
			
		||||
      REPLACE_FOPEN=1
 | 
			
		||||
      dnl fopen on mingw also has the trailing slash bug.
 | 
			
		||||
      gl_cv_func_fopen_slash="guessing no"
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      dnl fopen("foo/", "w") should not create a file when the file name has a
 | 
			
		||||
      dnl trailing slash.
 | 
			
		||||
      AC_CACHE_CHECK([whether fopen recognizes a trailing slash],
 | 
			
		||||
        [gl_cv_func_fopen_slash],
 | 
			
		||||
        [
 | 
			
		||||
          AC_RUN_IFELSE(
 | 
			
		||||
            [AC_LANG_SOURCE([[
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
  FILE *fp = fopen ("conftest.sl/", "w");
 | 
			
		||||
  int result = (fp != NULL);
 | 
			
		||||
  if (fp != NULL)
 | 
			
		||||
    fclose (fp);
 | 
			
		||||
  return result;
 | 
			
		||||
}]])],
 | 
			
		||||
            [gl_cv_func_fopen_slash=yes],
 | 
			
		||||
            [gl_cv_func_fopen_slash=no],
 | 
			
		||||
            [
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
             case "$host_os" in
 | 
			
		||||
               aix* | hpux* | solaris2.[0-9] | solaris2.[0-9].*)
 | 
			
		||||
                 gl_cv_func_fopen_slash="guessing no" ;;
 | 
			
		||||
               *)
 | 
			
		||||
                 gl_cv_func_fopen_slash="guessing yes" ;;
 | 
			
		||||
             esac
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
            ])
 | 
			
		||||
          rm -f conftest.sl
 | 
			
		||||
        ])
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
  case "$gl_cv_func_fopen_slash" in
 | 
			
		||||
    *no)
 | 
			
		||||
      AC_DEFINE([FOPEN_TRAILING_SLASH_BUG], [1],
 | 
			
		||||
        [Define to 1 if fopen() fails to recognize a trailing slash.])
 | 
			
		||||
      REPLACE_FOPEN=1
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_FUNC_FOPEN_GNU],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_FUNC_FOPEN])
 | 
			
		||||
  AC_CACHE_CHECK([whether fopen supports the mode character 'x'],
 | 
			
		||||
    [gl_cv_func_fopen_mode_x],
 | 
			
		||||
    [rm -f conftest.x
 | 
			
		||||
     AC_RUN_IFELSE(
 | 
			
		||||
       [AC_LANG_SOURCE([[
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
  FILE *fp;
 | 
			
		||||
  fp = fopen ("conftest.x", "w");
 | 
			
		||||
  fclose (fp);
 | 
			
		||||
  fp = fopen ("conftest.x", "wx");
 | 
			
		||||
  if (fp != NULL)
 | 
			
		||||
    /* 'x' ignored */
 | 
			
		||||
    return 1;
 | 
			
		||||
  else if (errno == EEXIST)
 | 
			
		||||
    return 0;
 | 
			
		||||
  else
 | 
			
		||||
    /* 'x' rejected */
 | 
			
		||||
    return 2;
 | 
			
		||||
}]])],
 | 
			
		||||
       [gl_cv_func_fopen_mode_x=yes],
 | 
			
		||||
       [gl_cv_func_fopen_mode_x=no],
 | 
			
		||||
       [case "$host_os" in
 | 
			
		||||
          # Guess yes on glibc and musl systems.
 | 
			
		||||
          linux*-gnu* | gnu* | kfreebsd*-gnu | *-musl*)
 | 
			
		||||
            gl_cv_func_fopen_mode_x="guessing yes" ;;
 | 
			
		||||
          # If we don't know, obey --enable-cross-guesses.
 | 
			
		||||
          *)
 | 
			
		||||
            gl_cv_func_fopen_mode_x="$gl_cross_guess_normal" ;;
 | 
			
		||||
        esac
 | 
			
		||||
       ])
 | 
			
		||||
     rm -f conftest.x
 | 
			
		||||
    ])
 | 
			
		||||
  AC_CACHE_CHECK([whether fopen supports the mode character 'e'],
 | 
			
		||||
    [gl_cv_func_fopen_mode_e],
 | 
			
		||||
    [echo foo > conftest.x
 | 
			
		||||
     AC_RUN_IFELSE(
 | 
			
		||||
       [AC_LANG_SOURCE([[
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <fcntl.h>
 | 
			
		||||
]GL_MDA_DEFINES[
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
  FILE *fp = fopen ("conftest.x", "re");
 | 
			
		||||
  if (fp != NULL)
 | 
			
		||||
    {
 | 
			
		||||
      if (fcntl (fileno (fp), F_GETFD) & FD_CLOEXEC)
 | 
			
		||||
        return 0;
 | 
			
		||||
      else
 | 
			
		||||
        /* 'e' ignored */
 | 
			
		||||
        return 1;
 | 
			
		||||
    }
 | 
			
		||||
  else
 | 
			
		||||
    /* 'e' rejected */
 | 
			
		||||
    return 2;
 | 
			
		||||
}]])],
 | 
			
		||||
       [gl_cv_func_fopen_mode_e=yes],
 | 
			
		||||
       [gl_cv_func_fopen_mode_e=no],
 | 
			
		||||
       [case "$host_os" in
 | 
			
		||||
          # Guess yes on glibc and musl systems.
 | 
			
		||||
          linux*-gnu* | gnu* | kfreebsd*-gnu | *-musl*)
 | 
			
		||||
            gl_cv_func_fopen_mode_e="guessing yes" ;;
 | 
			
		||||
          # Guess no on native Windows.
 | 
			
		||||
          mingw*)
 | 
			
		||||
            gl_cv_func_fopen_mode_e="guessing no" ;;
 | 
			
		||||
          # If we don't know, obey --enable-cross-guesses.
 | 
			
		||||
          *)
 | 
			
		||||
            gl_cv_func_fopen_mode_e="$gl_cross_guess_normal" ;;
 | 
			
		||||
        esac
 | 
			
		||||
       ])
 | 
			
		||||
     rm -f conftest.x
 | 
			
		||||
    ])
 | 
			
		||||
  REPLACE_FOPEN_FOR_FOPEN_GNU="$REPLACE_FOPEN"
 | 
			
		||||
  case "$gl_cv_func_fopen_mode_x" in
 | 
			
		||||
    *no) REPLACE_FOPEN_FOR_FOPEN_GNU=1 ;;
 | 
			
		||||
  esac
 | 
			
		||||
  case "$gl_cv_func_fopen_mode_e" in
 | 
			
		||||
    *no) REPLACE_FOPEN_FOR_FOPEN_GNU=1 ;;
 | 
			
		||||
  esac
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/fopen.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_FOPEN], [:])
 | 
			
		||||
							
								
								
									
										73
									
								
								gl/m4/fpurge.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								gl/m4/fpurge.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,73 @@
 | 
			
		|||
# fpurge.m4 serial 12
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2023 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_FPURGE],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([stdio_ext.h])
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([fpurge])
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([__fpurge])
 | 
			
		||||
  AC_CHECK_DECLS([fpurge], , , [[#include <stdio.h>]])
 | 
			
		||||
  if test "x$ac_cv_func_fpurge" = xyes; then
 | 
			
		||||
    HAVE_FPURGE=1
 | 
			
		||||
    # Detect BSD bug.  Only cygwin 1.7 and musl are known to be immune.
 | 
			
		||||
    AC_CACHE_CHECK([whether fpurge works], [gl_cv_func_fpurge_works],
 | 
			
		||||
      [AC_RUN_IFELSE(
 | 
			
		||||
         [AC_LANG_PROGRAM(
 | 
			
		||||
            [[#include <stdio.h>
 | 
			
		||||
]],
 | 
			
		||||
            [[FILE *f = fopen ("conftest.txt", "w+");
 | 
			
		||||
              if (!f)
 | 
			
		||||
                return 1;
 | 
			
		||||
              if (fputc ('a', f) != 'a')
 | 
			
		||||
                { fclose (f); return 2; }
 | 
			
		||||
              rewind (f);
 | 
			
		||||
              if (fgetc (f) != 'a')
 | 
			
		||||
                { fclose (f); return 3; }
 | 
			
		||||
              if (fgetc (f) != EOF)
 | 
			
		||||
                { fclose (f); return 4; }
 | 
			
		||||
              if (fpurge (f) != 0)
 | 
			
		||||
                { fclose (f); return 5; }
 | 
			
		||||
              if (putc ('b', f) != 'b')
 | 
			
		||||
                { fclose (f); return 6; }
 | 
			
		||||
              if (fclose (f) != 0)
 | 
			
		||||
                return 7;
 | 
			
		||||
              if ((f = fopen ("conftest.txt", "r")) == NULL)
 | 
			
		||||
                return 8;
 | 
			
		||||
              if (fgetc (f) != 'a')
 | 
			
		||||
                { fclose (f); return 9; }
 | 
			
		||||
              if (fgetc (f) != 'b')
 | 
			
		||||
                { fclose (f); return 10; }
 | 
			
		||||
              if (fgetc (f) != EOF)
 | 
			
		||||
                { fclose (f); return 11; }
 | 
			
		||||
              if (fclose (f) != 0)
 | 
			
		||||
                return 12;
 | 
			
		||||
              if (remove ("conftest.txt") != 0)
 | 
			
		||||
                return 13;
 | 
			
		||||
              return 0;
 | 
			
		||||
            ]])],
 | 
			
		||||
         [gl_cv_func_fpurge_works=yes],
 | 
			
		||||
         [gl_cv_func_fpurge_works=no],
 | 
			
		||||
         [case "$host_os" in
 | 
			
		||||
                     # Guess yes on musl systems.
 | 
			
		||||
            *-musl*) gl_cv_func_fpurge_works="guessing yes" ;;
 | 
			
		||||
                     # Otherwise obey --enable-cross-guesses.
 | 
			
		||||
            *)       gl_cv_func_fpurge_works="$gl_cross_guess_normal" ;;
 | 
			
		||||
          esac
 | 
			
		||||
         ])
 | 
			
		||||
      ])
 | 
			
		||||
    case "$gl_cv_func_fpurge_works" in
 | 
			
		||||
      *yes) ;;
 | 
			
		||||
      *) REPLACE_FPURGE=1 ;;
 | 
			
		||||
    esac
 | 
			
		||||
  else
 | 
			
		||||
    HAVE_FPURGE=0
 | 
			
		||||
  fi
 | 
			
		||||
  if test "x$ac_cv_have_decl_fpurge" = xno; then
 | 
			
		||||
    HAVE_DECL_FPURGE=0
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,12 +1,11 @@
 | 
			
		|||
# sha1.m4 serial 11
 | 
			
		||||
dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
# freading.m4 serial 2
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2023 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_SHA1],
 | 
			
		||||
AC_DEFUN([gl_FUNC_FREADING],
 | 
			
		||||
[
 | 
			
		||||
  dnl Prerequisites of lib/sha1.c.
 | 
			
		||||
  AC_REQUIRE([gl_BIGENDIAN])
 | 
			
		||||
  :
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([stdio_ext.h])
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([__freading])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										52
									
								
								gl/m4/free.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								gl/m4/free.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,52 @@
 | 
			
		|||
# free.m4 serial 6
 | 
			
		||||
# Copyright (C) 2003-2005, 2009-2023 Free Software Foundation, Inc.
 | 
			
		||||
# This file is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
# with or without modifications, as long as this notice is preserved.
 | 
			
		||||
 | 
			
		||||
# Written by Paul Eggert and Bruno Haible.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_FUNC_FREE],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
 | 
			
		||||
 | 
			
		||||
  dnl In the next release of POSIX, free must preserve errno.
 | 
			
		||||
  dnl https://www.austingroupbugs.net/view.php?id=385
 | 
			
		||||
  dnl https://sourceware.org/bugzilla/show_bug.cgi?id=17924
 | 
			
		||||
  dnl So far, we know of three platforms that do this:
 | 
			
		||||
  dnl * glibc >= 2.33, thanks to the fix for this bug:
 | 
			
		||||
  dnl   <https://sourceware.org/bugzilla/show_bug.cgi?id=17924>
 | 
			
		||||
  dnl * OpenBSD >= 4.5, thanks to this commit:
 | 
			
		||||
  dnl   <https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libc/stdlib/malloc.c.diff?r1=1.100&r2=1.101&f=h>
 | 
			
		||||
  dnl * Solaris, because its malloc() implementation is based on brk(),
 | 
			
		||||
  dnl   not mmap(); hence its free() implementation makes no system calls.
 | 
			
		||||
  dnl For other platforms, you can only be sure if they state it in their
 | 
			
		||||
  dnl documentation, or by code inspection of the free() implementation in libc.
 | 
			
		||||
  AC_CACHE_CHECK([whether free is known to preserve errno],
 | 
			
		||||
    [gl_cv_func_free_preserves_errno],
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
          [[#include <stdlib.h>
 | 
			
		||||
          ]],
 | 
			
		||||
          [[#if 2 < __GLIBC__ + (33 <= __GLIBC_MINOR__)
 | 
			
		||||
            #elif defined __OpenBSD__
 | 
			
		||||
            #elif defined __sun
 | 
			
		||||
            #else
 | 
			
		||||
              #error "'free' is not known to preserve errno"
 | 
			
		||||
            #endif
 | 
			
		||||
          ]])],
 | 
			
		||||
       [gl_cv_func_free_preserves_errno=yes],
 | 
			
		||||
       [gl_cv_func_free_preserves_errno=no])
 | 
			
		||||
    ])
 | 
			
		||||
 | 
			
		||||
  case $gl_cv_func_free_preserves_errno in
 | 
			
		||||
   *yes)
 | 
			
		||||
    AC_DEFINE([HAVE_FREE_POSIX], [1],
 | 
			
		||||
      [Define if the 'free' function is guaranteed to preserve errno.])
 | 
			
		||||
    ;;
 | 
			
		||||
   *) REPLACE_FREE=1 ;;
 | 
			
		||||
  esac
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/free.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_FREE], [:])
 | 
			
		||||
							
								
								
									
										15
									
								
								gl/m4/fseek.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								gl/m4/fseek.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
# fseek.m4 serial 4
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2023 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_FSEEK],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_FUNC_FSEEKO])
 | 
			
		||||
  dnl When fseeko needs fixes, fseek needs them too.
 | 
			
		||||
  if test $HAVE_FSEEKO = 0 || test $REPLACE_FSEEKO = 1; then
 | 
			
		||||
    REPLACE_FSEEK=1
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										77
									
								
								gl/m4/fseeko.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										77
									
								
								gl/m4/fseeko.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,77 @@
 | 
			
		|||
# fseeko.m4 serial 20
 | 
			
		||||
dnl Copyright (C) 2007-2023 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_FSEEKO],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_STDIN_LARGE_OFFSET])
 | 
			
		||||
  AC_REQUIRE([gl_SYS_TYPES_H])
 | 
			
		||||
  AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
 | 
			
		||||
  dnl Persuade glibc <stdio.h> to declare fseeko().
 | 
			
		||||
  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 | 
			
		||||
 | 
			
		||||
  AC_CACHE_CHECK([for fseeko], [gl_cv_func_fseeko],
 | 
			
		||||
    [
 | 
			
		||||
      AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
 | 
			
		||||
]], [[fseeko (stdin, 0, 0);]])],
 | 
			
		||||
        [gl_cv_func_fseeko=yes], [gl_cv_func_fseeko=no])
 | 
			
		||||
    ])
 | 
			
		||||
 | 
			
		||||
  AC_CHECK_DECLS_ONCE([fseeko])
 | 
			
		||||
  if test $ac_cv_have_decl_fseeko = no; then
 | 
			
		||||
    HAVE_DECL_FSEEKO=0
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test $gl_cv_func_fseeko = no; then
 | 
			
		||||
    HAVE_FSEEKO=0
 | 
			
		||||
  else
 | 
			
		||||
    if test $WINDOWS_64_BIT_OFF_T = 1; then
 | 
			
		||||
      REPLACE_FSEEKO=1
 | 
			
		||||
    fi
 | 
			
		||||
    if test $gl_cv_var_stdin_large_offset = no; then
 | 
			
		||||
      REPLACE_FSEEKO=1
 | 
			
		||||
    fi
 | 
			
		||||
    m4_ifdef([gl_FUNC_FFLUSH_STDIN], [
 | 
			
		||||
      gl_FUNC_FFLUSH_STDIN
 | 
			
		||||
      case "$gl_cv_func_fflush_stdin" in
 | 
			
		||||
        *yes) ;;
 | 
			
		||||
        *) REPLACE_FSEEKO=1 ;;
 | 
			
		||||
      esac
 | 
			
		||||
    ])
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl Code shared by fseeko and ftello.  Determine if large files are supported,
 | 
			
		||||
dnl but stdin does not start as a large file by default.
 | 
			
		||||
AC_DEFUN([gl_STDIN_LARGE_OFFSET],
 | 
			
		||||
  [
 | 
			
		||||
    AC_CACHE_CHECK([whether stdin defaults to large file offsets],
 | 
			
		||||
      [gl_cv_var_stdin_large_offset],
 | 
			
		||||
      [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>]],
 | 
			
		||||
[[#if defined __SL64 && defined __SCLE /* cygwin */
 | 
			
		||||
  /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making
 | 
			
		||||
     fseeko/ftello needlessly fail.  This bug was fixed in 1.5.25, and
 | 
			
		||||
     it is easier to do a version check than building a runtime test.  */
 | 
			
		||||
# include <cygwin/version.h>
 | 
			
		||||
# if CYGWIN_VERSION_DLL_COMBINED < CYGWIN_VERSION_DLL_MAKE_COMBINED (1005, 25)
 | 
			
		||||
  choke me
 | 
			
		||||
# endif
 | 
			
		||||
#endif]])],
 | 
			
		||||
        [gl_cv_var_stdin_large_offset=yes],
 | 
			
		||||
        [gl_cv_var_stdin_large_offset=no])])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/fseeko.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_FSEEKO],
 | 
			
		||||
[
 | 
			
		||||
  dnl Native Windows has the function _fseeki64. mingw hides it in some
 | 
			
		||||
  dnl circumstances, but mingw64 makes it usable again.
 | 
			
		||||
  AC_CHECK_FUNCS([_fseeki64])
 | 
			
		||||
  if test $ac_cv_func__fseeki64 = yes; then
 | 
			
		||||
    AC_CHECK_DECLS([_fseeki64])
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										40
									
								
								gl/m4/fstat.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								gl/m4/fstat.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,40 @@
 | 
			
		|||
# fstat.m4 serial 8
 | 
			
		||||
dnl Copyright (C) 2011-2023 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_FSTAT],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_REQUIRE([gl_SYS_STAT_H_DEFAULTS])
 | 
			
		||||
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    mingw* | solaris*)
 | 
			
		||||
      dnl On MinGW, the original stat() returns st_atime, st_mtime,
 | 
			
		||||
      dnl st_ctime values that are affected by the time zone.
 | 
			
		||||
      dnl Solaris stat can return a negative tv_nsec.
 | 
			
		||||
      REPLACE_FSTAT=1
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
 | 
			
		||||
  dnl Replace fstat() for supporting the gnulib-defined open() on directories.
 | 
			
		||||
  m4_ifdef([gl_FUNC_FCHDIR], [
 | 
			
		||||
    gl_TEST_FCHDIR
 | 
			
		||||
    if test $HAVE_FCHDIR = 0; then
 | 
			
		||||
      case "$gl_cv_func_open_directory_works" in
 | 
			
		||||
        *yes) ;;
 | 
			
		||||
        *)
 | 
			
		||||
          REPLACE_FSTAT=1
 | 
			
		||||
          ;;
 | 
			
		||||
      esac
 | 
			
		||||
    fi
 | 
			
		||||
  ])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/fstat.c and lib/stat-w32.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_FSTAT], [
 | 
			
		||||
  AC_REQUIRE([gl_SYS_STAT_H])
 | 
			
		||||
  AC_REQUIRE([gl_PREREQ_STAT_W32])
 | 
			
		||||
  :
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -6,7 +6,7 @@ dnl See if struct statfs has the f_fstypename member.
 | 
			
		|||
dnl If so, define HAVE_STRUCT_STATFS_F_FSTYPENAME.
 | 
			
		||||
dnl
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1998-1999, 2001, 2004, 2006, 2009-2013 Free Software
 | 
			
		||||
# Copyright (C) 1998-1999, 2001, 2004, 2006, 2009-2023 Free Software
 | 
			
		||||
# Foundation, Inc.
 | 
			
		||||
# This file is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										363
									
								
								gl/m4/fsusage.m4
									
										
									
									
									
								
							
							
						
						
									
										363
									
								
								gl/m4/fsusage.m4
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
# serial 30
 | 
			
		||||
# serial 35
 | 
			
		||||
# Obtaining file system usage information.
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1997-1998, 2000-2001, 2003-2013 Free Software Foundation, Inc.
 | 
			
		||||
# Copyright (C) 1997-1998, 2000-2001, 2003-2023 Free Software Foundation, Inc.
 | 
			
		||||
#
 | 
			
		||||
# This file is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
| 
						 | 
				
			
			@ -29,27 +29,29 @@ AC_DEFUN([gl_FSUSAGE],
 | 
			
		|||
 | 
			
		||||
AC_DEFUN([gl_FILE_SYSTEM_USAGE],
 | 
			
		||||
[
 | 
			
		||||
dnl Enable large-file support. This has the effect of changing the size
 | 
			
		||||
dnl of field f_blocks in 'struct statvfs' from 32 bit to 64 bit on
 | 
			
		||||
dnl glibc/Hurd, HP-UX 11, Solaris (32-bit mode). It also changes the size
 | 
			
		||||
dnl of field f_blocks in 'struct statfs' from 32 bit to 64 bit on
 | 
			
		||||
dnl Mac OS X >= 10.5 (32-bit mode).
 | 
			
		||||
AC_REQUIRE([AC_SYS_LARGEFILE])
 | 
			
		||||
  dnl Enable large-file support. This has the effect of changing the size
 | 
			
		||||
  dnl of field f_blocks in 'struct statvfs' from 32 bit to 64 bit on
 | 
			
		||||
  dnl glibc/Hurd, HP-UX 11, Solaris (32-bit mode). It also changes the size
 | 
			
		||||
  dnl of field f_blocks in 'struct statfs' from 32 bit to 64 bit on
 | 
			
		||||
  dnl Mac OS X >= 10.5 (32-bit mode).
 | 
			
		||||
  AC_REQUIRE([AC_SYS_LARGEFILE])
 | 
			
		||||
 | 
			
		||||
AC_MSG_NOTICE([checking how to get file system space usage])
 | 
			
		||||
ac_fsusage_space=no
 | 
			
		||||
  ac_fsusage_space=no
 | 
			
		||||
 | 
			
		||||
# Perform only the link test since it seems there are no variants of the
 | 
			
		||||
# statvfs function.  This check is more than just AC_CHECK_FUNCS([statvfs])
 | 
			
		||||
# because that got a false positive on SCO OSR5.  Adding the declaration
 | 
			
		||||
# of a 'struct statvfs' causes this test to fail (as it should) on such
 | 
			
		||||
# systems.  That system is reported to work fine with STAT_STATFS4 which
 | 
			
		||||
# is what it gets when this test fails.
 | 
			
		||||
if test $ac_fsusage_space = no; then
 | 
			
		||||
  # glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0,
 | 
			
		||||
  # OpenBSD >= 4.4, AIX, HP-UX, IRIX, Solaris, Cygwin, Interix, BeOS.
 | 
			
		||||
  AC_CACHE_CHECK([for statvfs function (SVR4)], [fu_cv_sys_stat_statvfs],
 | 
			
		||||
                 [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
 | 
			
		||||
  # Perform only the link test since it seems there are no variants of the
 | 
			
		||||
  # statvfs function.  This check is more than just AC_CHECK_FUNCS([statvfs])
 | 
			
		||||
  # because that got a false positive on SCO OSR5.  Adding the declaration
 | 
			
		||||
  # of a 'struct statvfs' causes this test to fail (as it should) on such
 | 
			
		||||
  # systems.  That system is reported to work fine with STAT_STATFS4 which
 | 
			
		||||
  # is what it gets when this test fails.
 | 
			
		||||
  if test $ac_fsusage_space = no; then
 | 
			
		||||
    # glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0,
 | 
			
		||||
    # OpenBSD >= 4.4, AIX, HP-UX, IRIX, Solaris, Cygwin, Interix, BeOS.
 | 
			
		||||
    AC_CACHE_CHECK([for statvfs function (SVR4)],
 | 
			
		||||
      [fu_cv_sys_stat_statvfs],
 | 
			
		||||
      [AC_LINK_IFELSE(
 | 
			
		||||
         [AC_LANG_PROGRAM([[
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#ifdef __osf__
 | 
			
		||||
"Do not use Tru64's statvfs implementation"
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -68,45 +70,47 @@ struct statvfs fsd;
 | 
			
		|||
int check_f_blocks_size[sizeof fsd.f_blocks * CHAR_BIT <= 32 ? -1 : 1];
 | 
			
		||||
#endif
 | 
			
		||||
]],
 | 
			
		||||
                                    [[statvfs (0, &fsd);]])],
 | 
			
		||||
                                 [fu_cv_sys_stat_statvfs=yes],
 | 
			
		||||
                                 [fu_cv_sys_stat_statvfs=no])])
 | 
			
		||||
  if test $fu_cv_sys_stat_statvfs = yes; then
 | 
			
		||||
    ac_fsusage_space=yes
 | 
			
		||||
    # AIX >= 5.2 has statvfs64 that has a wider f_blocks field than statvfs.
 | 
			
		||||
    # glibc, HP-UX, IRIX, Solaris have statvfs64 as well, but on these systems
 | 
			
		||||
    # statvfs with large-file support is already equivalent to statvfs64.
 | 
			
		||||
    AC_CACHE_CHECK([whether to use statvfs64],
 | 
			
		||||
      [fu_cv_sys_stat_statvfs64],
 | 
			
		||||
      [AC_LINK_IFELSE(
 | 
			
		||||
         [AC_LANG_PROGRAM(
 | 
			
		||||
            [[#include <sys/types.h>
 | 
			
		||||
              #include <sys/statvfs.h>
 | 
			
		||||
              struct statvfs64 fsd;
 | 
			
		||||
              int check_f_blocks_larger_in_statvfs64
 | 
			
		||||
                [sizeof (((struct statvfs64 *) 0)->f_blocks)
 | 
			
		||||
                 > sizeof (((struct statvfs *) 0)->f_blocks)
 | 
			
		||||
                 ? 1 : -1];
 | 
			
		||||
            ]],
 | 
			
		||||
            [[statvfs64 (0, &fsd);]])],
 | 
			
		||||
         [fu_cv_sys_stat_statvfs64=yes],
 | 
			
		||||
         [fu_cv_sys_stat_statvfs64=no])
 | 
			
		||||
            [[statvfs (0, &fsd);]])],
 | 
			
		||||
         [fu_cv_sys_stat_statvfs=yes],
 | 
			
		||||
         [fu_cv_sys_stat_statvfs=no])
 | 
			
		||||
      ])
 | 
			
		||||
    if test $fu_cv_sys_stat_statvfs64 = yes; then
 | 
			
		||||
      AC_DEFINE([STAT_STATVFS64], [1],
 | 
			
		||||
                [  Define if statvfs64 should be preferred over statvfs.])
 | 
			
		||||
    else
 | 
			
		||||
      AC_DEFINE([STAT_STATVFS], [1],
 | 
			
		||||
                [  Define if there is a function named statvfs.  (SVR4)])
 | 
			
		||||
    if test $fu_cv_sys_stat_statvfs = yes; then
 | 
			
		||||
      ac_fsusage_space=yes
 | 
			
		||||
      # AIX >= 5.2 has statvfs64 that has a wider f_blocks field than statvfs.
 | 
			
		||||
      # glibc, HP-UX, IRIX, Solaris have statvfs64 as well, but on these systems
 | 
			
		||||
      # statvfs with large-file support is already equivalent to statvfs64.
 | 
			
		||||
      AC_CACHE_CHECK([whether to use statvfs64],
 | 
			
		||||
        [fu_cv_sys_stat_statvfs64],
 | 
			
		||||
        [AC_LINK_IFELSE(
 | 
			
		||||
           [AC_LANG_PROGRAM(
 | 
			
		||||
              [[#include <sys/types.h>
 | 
			
		||||
                #include <sys/statvfs.h>
 | 
			
		||||
                struct statvfs64 fsd;
 | 
			
		||||
                int check_f_blocks_larger_in_statvfs64
 | 
			
		||||
                  [sizeof (((struct statvfs64 *) 0)->f_blocks)
 | 
			
		||||
                   > sizeof (((struct statvfs *) 0)->f_blocks)
 | 
			
		||||
                   ? 1 : -1];
 | 
			
		||||
              ]],
 | 
			
		||||
              [[statvfs64 (0, &fsd);]])],
 | 
			
		||||
           [fu_cv_sys_stat_statvfs64=yes],
 | 
			
		||||
           [fu_cv_sys_stat_statvfs64=no])
 | 
			
		||||
        ])
 | 
			
		||||
      if test $fu_cv_sys_stat_statvfs64 = yes; then
 | 
			
		||||
        AC_DEFINE([STAT_STATVFS64], [1],
 | 
			
		||||
          [Define if statvfs64 should be preferred over statvfs.])
 | 
			
		||||
      else
 | 
			
		||||
        AC_DEFINE([STAT_STATVFS], [1],
 | 
			
		||||
          [Define if there is a function named statvfs.  (SVR4)])
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Check for this unconditionally so we have a
 | 
			
		||||
# good fallback on glibc/Linux > 2.6 < 2.6.36
 | 
			
		||||
AC_MSG_CHECKING([for two-argument statfs with statfs.f_frsize member])
 | 
			
		||||
AC_CACHE_VAL([fu_cv_sys_stat_statfs2_frsize],
 | 
			
		||||
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
  # Check for this unconditionally so we have a
 | 
			
		||||
  # good fallback on glibc/Linux > 2.6 < 2.6.36
 | 
			
		||||
  AC_CACHE_CHECK([for two-argument statfs with statfs.f_frsize member],
 | 
			
		||||
    [fu_cv_sys_stat_statfs2_frsize],
 | 
			
		||||
    [AC_RUN_IFELSE(
 | 
			
		||||
       [AC_LANG_SOURCE([[
 | 
			
		||||
#ifdef HAVE_SYS_PARAM_H
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -119,26 +123,26 @@ AC_CACHE_VAL([fu_cv_sys_stat_statfs2_frsize],
 | 
			
		|||
  int
 | 
			
		||||
  main ()
 | 
			
		||||
  {
 | 
			
		||||
  struct statfs fsd;
 | 
			
		||||
  fsd.f_frsize = 0;
 | 
			
		||||
  return statfs (".", &fsd) != 0;
 | 
			
		||||
    struct statfs fsd;
 | 
			
		||||
    fsd.f_frsize = 0;
 | 
			
		||||
    return statfs (".", &fsd) != 0;
 | 
			
		||||
  }]])],
 | 
			
		||||
  [fu_cv_sys_stat_statfs2_frsize=yes],
 | 
			
		||||
  [fu_cv_sys_stat_statfs2_frsize=no],
 | 
			
		||||
  [fu_cv_sys_stat_statfs2_frsize=no])])
 | 
			
		||||
AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_frsize])
 | 
			
		||||
if test $fu_cv_sys_stat_statfs2_frsize = yes; then
 | 
			
		||||
       [fu_cv_sys_stat_statfs2_frsize=yes],
 | 
			
		||||
       [fu_cv_sys_stat_statfs2_frsize=no],
 | 
			
		||||
       [fu_cv_sys_stat_statfs2_frsize=no])
 | 
			
		||||
    ])
 | 
			
		||||
  if test $fu_cv_sys_stat_statfs2_frsize = yes; then
 | 
			
		||||
    ac_fsusage_space=yes
 | 
			
		||||
    AC_DEFINE([STAT_STATFS2_FRSIZE], [1],
 | 
			
		||||
[  Define if statfs takes 2 args and struct statfs has a field named f_frsize.
 | 
			
		||||
   (glibc/Linux > 2.6)])
 | 
			
		||||
fi
 | 
			
		||||
      [Define if statfs takes 2 args and struct statfs has a field named f_frsize.
 | 
			
		||||
       (glibc/Linux > 2.6)])
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
if test $ac_fsusage_space = no; then
 | 
			
		||||
  # DEC Alpha running OSF/1
 | 
			
		||||
  AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_stat_statfs3_osf1],
 | 
			
		||||
  [AC_RUN_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
  if test $ac_fsusage_space = no; then
 | 
			
		||||
    # DEC Alpha running OSF/1
 | 
			
		||||
    AC_CACHE_CHECK([for 3-argument statfs function (DEC OSF/1)],
 | 
			
		||||
      [fu_cv_sys_stat_statfs3_osf1],
 | 
			
		||||
      [AC_RUN_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -149,28 +153,27 @@ if test $ac_fsusage_space = no; then
 | 
			
		|||
    fsd.f_fsize = 0;
 | 
			
		||||
    return statfs (".", &fsd, sizeof (struct statfs)) != 0;
 | 
			
		||||
  }]])],
 | 
			
		||||
    [fu_cv_sys_stat_statfs3_osf1=yes],
 | 
			
		||||
    [fu_cv_sys_stat_statfs3_osf1=no],
 | 
			
		||||
    [fu_cv_sys_stat_statfs3_osf1=no])])
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_stat_statfs3_osf1])
 | 
			
		||||
  if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
 | 
			
		||||
    ac_fsusage_space=yes
 | 
			
		||||
    AC_DEFINE([STAT_STATFS3_OSF1], [1],
 | 
			
		||||
              [   Define if  statfs takes 3 args.  (DEC Alpha running OSF/1)])
 | 
			
		||||
         [fu_cv_sys_stat_statfs3_osf1=yes],
 | 
			
		||||
         [fu_cv_sys_stat_statfs3_osf1=no],
 | 
			
		||||
         [fu_cv_sys_stat_statfs3_osf1=no])
 | 
			
		||||
      ])
 | 
			
		||||
    if test $fu_cv_sys_stat_statfs3_osf1 = yes; then
 | 
			
		||||
      ac_fsusage_space=yes
 | 
			
		||||
      AC_DEFINE([STAT_STATFS3_OSF1], [1],
 | 
			
		||||
        [Define if statfs takes 3 args.  (DEC Alpha running OSF/1)])
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $ac_fsusage_space = no; then
 | 
			
		||||
  # glibc/Linux, Mac OS X, FreeBSD < 5.0, NetBSD < 3.0, OpenBSD < 4.4.
 | 
			
		||||
  # (glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0,
 | 
			
		||||
  # OpenBSD >= 4.4, AIX, HP-UX, OSF/1, Cygwin already handled above.)
 | 
			
		||||
  # (On IRIX you need to include <sys/statfs.h>, not only <sys/mount.h> and
 | 
			
		||||
  # <sys/vfs.h>.)
 | 
			
		||||
  # (On Solaris, statfs has 4 arguments.)
 | 
			
		||||
  AC_MSG_CHECKING([for two-argument statfs with statfs.f_bsize dnl
 | 
			
		||||
member (AIX, 4.3BSD)])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_stat_statfs2_bsize],
 | 
			
		||||
  [AC_RUN_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
  if test $ac_fsusage_space = no; then
 | 
			
		||||
    # glibc/Linux, Mac OS X, FreeBSD < 5.0, NetBSD < 3.0, OpenBSD < 4.4.
 | 
			
		||||
    # (glibc/{Hurd,kFreeBSD}, FreeBSD >= 5.0, NetBSD >= 3.0,
 | 
			
		||||
    # OpenBSD >= 4.4, AIX, HP-UX, OSF/1, Cygwin already handled above.)
 | 
			
		||||
    # (On IRIX you need to include <sys/statfs.h>, not only <sys/mount.h> and
 | 
			
		||||
    # <sys/vfs.h>.)
 | 
			
		||||
    # (On Solaris, statfs has 4 arguments.)
 | 
			
		||||
    AC_CACHE_CHECK([for two-argument statfs with statfs.f_bsize member (AIX, 4.3BSD)],
 | 
			
		||||
      [fu_cv_sys_stat_statfs2_bsize],
 | 
			
		||||
      [AC_RUN_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
#ifdef HAVE_SYS_PARAM_H
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			@ -183,57 +186,56 @@ member (AIX, 4.3BSD)])
 | 
			
		|||
  int
 | 
			
		||||
  main ()
 | 
			
		||||
  {
 | 
			
		||||
  struct statfs fsd;
 | 
			
		||||
  fsd.f_bsize = 0;
 | 
			
		||||
  return statfs (".", &fsd) != 0;
 | 
			
		||||
    struct statfs fsd;
 | 
			
		||||
    fsd.f_bsize = 0;
 | 
			
		||||
    return statfs (".", &fsd) != 0;
 | 
			
		||||
  }]])],
 | 
			
		||||
    [fu_cv_sys_stat_statfs2_bsize=yes],
 | 
			
		||||
    [fu_cv_sys_stat_statfs2_bsize=no],
 | 
			
		||||
    [fu_cv_sys_stat_statfs2_bsize=no])])
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_bsize])
 | 
			
		||||
  if test $fu_cv_sys_stat_statfs2_bsize = yes; then
 | 
			
		||||
    ac_fsusage_space=yes
 | 
			
		||||
    AC_DEFINE([STAT_STATFS2_BSIZE], [1],
 | 
			
		||||
[  Define if statfs takes 2 args and struct statfs has a field named f_bsize.
 | 
			
		||||
   (4.3BSD, SunOS 4, HP-UX, AIX PS/2)])
 | 
			
		||||
         [fu_cv_sys_stat_statfs2_bsize=yes],
 | 
			
		||||
         [fu_cv_sys_stat_statfs2_bsize=no],
 | 
			
		||||
         [fu_cv_sys_stat_statfs2_bsize=no])
 | 
			
		||||
      ])
 | 
			
		||||
    if test $fu_cv_sys_stat_statfs2_bsize = yes; then
 | 
			
		||||
      ac_fsusage_space=yes
 | 
			
		||||
      AC_DEFINE([STAT_STATFS2_BSIZE], [1],
 | 
			
		||||
        [Define if statfs takes 2 args and struct statfs has a field named f_bsize.
 | 
			
		||||
         (4.3BSD, SunOS 4, HP-UX)])
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $ac_fsusage_space = no; then
 | 
			
		||||
  # SVR3
 | 
			
		||||
  # (Solaris already handled above.)
 | 
			
		||||
  AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_stat_statfs4],
 | 
			
		||||
  [AC_RUN_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
  if test $ac_fsusage_space = no; then
 | 
			
		||||
    # SVR3
 | 
			
		||||
    # (Solaris already handled above.)
 | 
			
		||||
    AC_CACHE_CHECK([for four-argument statfs (SVR3)],
 | 
			
		||||
      [fu_cv_sys_stat_statfs4],
 | 
			
		||||
      [AC_RUN_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/statfs.h>
 | 
			
		||||
  int
 | 
			
		||||
  main ()
 | 
			
		||||
  {
 | 
			
		||||
  struct statfs fsd;
 | 
			
		||||
  return statfs (".", &fsd, sizeof fsd, 0) != 0;
 | 
			
		||||
    struct statfs fsd;
 | 
			
		||||
    return statfs (".", &fsd, sizeof fsd, 0) != 0;
 | 
			
		||||
  }]])],
 | 
			
		||||
    [fu_cv_sys_stat_statfs4=yes],
 | 
			
		||||
    [fu_cv_sys_stat_statfs4=no],
 | 
			
		||||
    [fu_cv_sys_stat_statfs4=no])])
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_stat_statfs4])
 | 
			
		||||
  if test $fu_cv_sys_stat_statfs4 = yes; then
 | 
			
		||||
    ac_fsusage_space=yes
 | 
			
		||||
    AC_DEFINE([STAT_STATFS4], [1],
 | 
			
		||||
      [  Define if statfs takes 4 args.  (SVR3, Dynix, old Irix, old AIX, Dolphin)])
 | 
			
		||||
         [fu_cv_sys_stat_statfs4=yes],
 | 
			
		||||
         [fu_cv_sys_stat_statfs4=no],
 | 
			
		||||
         [fu_cv_sys_stat_statfs4=no])
 | 
			
		||||
      ])
 | 
			
		||||
    if test $fu_cv_sys_stat_statfs4 = yes; then
 | 
			
		||||
      ac_fsusage_space=yes
 | 
			
		||||
      AC_DEFINE([STAT_STATFS4], [1],
 | 
			
		||||
        [Define if statfs takes 4 args.  (SVR3, old Irix)])
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $ac_fsusage_space = no; then
 | 
			
		||||
  # 4.4BSD and older NetBSD
 | 
			
		||||
  # (OSF/1 already handled above.)
 | 
			
		||||
  # (On AIX, you need to include <sys/statfs.h>, not only <sys/mount.h>.)
 | 
			
		||||
  # (On Solaris, statfs has 4 arguments and 'struct statfs' is not declared in
 | 
			
		||||
  # <sys/mount.h>.)
 | 
			
		||||
  AC_MSG_CHECKING([for two-argument statfs with statfs.f_fsize dnl
 | 
			
		||||
member (4.4BSD and NetBSD)])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_stat_statfs2_fsize],
 | 
			
		||||
  [AC_RUN_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
  if test $ac_fsusage_space = no; then
 | 
			
		||||
    # 4.4BSD and older NetBSD
 | 
			
		||||
    # (OSF/1 already handled above.)
 | 
			
		||||
    # (On AIX, you need to include <sys/statfs.h>, not only <sys/mount.h>.)
 | 
			
		||||
    # (On Solaris, statfs has 4 arguments and 'struct statfs' is not declared in
 | 
			
		||||
    # <sys/mount.h>.)
 | 
			
		||||
    AC_CACHE_CHECK([for two-argument statfs with statfs.f_fsize member (4.4BSD and NetBSD)],
 | 
			
		||||
      [fu_cv_sys_stat_statfs2_fsize],
 | 
			
		||||
      [AC_RUN_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#ifdef HAVE_SYS_PARAM_H
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -244,69 +246,23 @@ member (4.4BSD and NetBSD)])
 | 
			
		|||
  int
 | 
			
		||||
  main ()
 | 
			
		||||
  {
 | 
			
		||||
  struct statfs fsd;
 | 
			
		||||
  fsd.f_fsize = 0;
 | 
			
		||||
  return statfs (".", &fsd) != 0;
 | 
			
		||||
    struct statfs fsd;
 | 
			
		||||
    fsd.f_fsize = 0;
 | 
			
		||||
    return statfs (".", &fsd) != 0;
 | 
			
		||||
  }]])],
 | 
			
		||||
    [fu_cv_sys_stat_statfs2_fsize=yes],
 | 
			
		||||
    [fu_cv_sys_stat_statfs2_fsize=no],
 | 
			
		||||
    [fu_cv_sys_stat_statfs2_fsize=no])])
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_stat_statfs2_fsize])
 | 
			
		||||
  if test $fu_cv_sys_stat_statfs2_fsize = yes; then
 | 
			
		||||
    ac_fsusage_space=yes
 | 
			
		||||
    AC_DEFINE([STAT_STATFS2_FSIZE], [1],
 | 
			
		||||
[  Define if statfs takes 2 args and struct statfs has a field named f_fsize.
 | 
			
		||||
   (4.4BSD, NetBSD)])
 | 
			
		||||
         [fu_cv_sys_stat_statfs2_fsize=yes],
 | 
			
		||||
         [fu_cv_sys_stat_statfs2_fsize=no],
 | 
			
		||||
         [fu_cv_sys_stat_statfs2_fsize=no])
 | 
			
		||||
      ])
 | 
			
		||||
    if test $fu_cv_sys_stat_statfs2_fsize = yes; then
 | 
			
		||||
      ac_fsusage_space=yes
 | 
			
		||||
      AC_DEFINE([STAT_STATFS2_FSIZE], [1],
 | 
			
		||||
        [Define if statfs takes 2 args and struct statfs has a field named f_fsize.
 | 
			
		||||
         (4.4BSD, NetBSD)])
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $ac_fsusage_space = no; then
 | 
			
		||||
  # Ultrix
 | 
			
		||||
  AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_stat_fs_data],
 | 
			
		||||
  [AC_RUN_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#ifdef HAVE_SYS_PARAM_H
 | 
			
		||||
#include <sys/param.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef HAVE_SYS_MOUNT_H
 | 
			
		||||
#include <sys/mount.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef HAVE_SYS_FS_TYPES_H
 | 
			
		||||
#include <sys/fs_types.h>
 | 
			
		||||
#endif
 | 
			
		||||
  int
 | 
			
		||||
  main ()
 | 
			
		||||
  {
 | 
			
		||||
  struct fs_data fsd;
 | 
			
		||||
  /* Ultrix's statfs returns 1 for success,
 | 
			
		||||
     0 for not mounted, -1 for failure.  */
 | 
			
		||||
  return statfs (".", &fsd) != 1;
 | 
			
		||||
  }]])],
 | 
			
		||||
    [fu_cv_sys_stat_fs_data=yes],
 | 
			
		||||
    [fu_cv_sys_stat_fs_data=no],
 | 
			
		||||
    [fu_cv_sys_stat_fs_data=no])])
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_stat_fs_data])
 | 
			
		||||
  if test $fu_cv_sys_stat_fs_data = yes; then
 | 
			
		||||
    ac_fsusage_space=yes
 | 
			
		||||
    AC_DEFINE([STAT_STATFS2_FS_DATA], [1],
 | 
			
		||||
[  Define if statfs takes 2 args and the second argument has
 | 
			
		||||
   type struct fs_data.  (Ultrix)])
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $ac_fsusage_space = no; then
 | 
			
		||||
  # SVR2
 | 
			
		||||
  # (AIX, HP-UX, OSF/1 already handled above.)
 | 
			
		||||
  AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <sys/filsys.h>
 | 
			
		||||
        ]])],
 | 
			
		||||
    [AC_DEFINE([STAT_READ_FILSYS], [1],
 | 
			
		||||
      [Define if there is no specific function for reading file systems usage
 | 
			
		||||
       information and you have the <sys/filsys.h> header file.  (SVR2)])
 | 
			
		||||
     ac_fsusage_space=yes])
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
 | 
			
		||||
  AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
 | 
			
		||||
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -316,18 +272,22 @@ AS_IF([test $ac_fsusage_space = yes], [$1], [$2])
 | 
			
		|||
# enable the work-around code in fsusage.c.
 | 
			
		||||
AC_DEFUN([gl_STATFS_TRUNCATES],
 | 
			
		||||
[
 | 
			
		||||
  AC_MSG_CHECKING([for statfs that truncates block counts])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_truncating_statfs],
 | 
			
		||||
  [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 | 
			
		||||
  AC_CACHE_CHECK([for statfs that truncates block counts],
 | 
			
		||||
    [fu_cv_sys_truncating_statfs],
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM([[
 | 
			
		||||
#if !defined(sun) && !defined(__sun)
 | 
			
		||||
choke -- this is a workaround for a Sun-specific problem
 | 
			
		||||
#endif
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/vfs.h>]],
 | 
			
		||||
      [[struct statfs t; long c = *(t.f_spare);
 | 
			
		||||
        if (c) return 0;]])],
 | 
			
		||||
    [fu_cv_sys_truncating_statfs=yes],
 | 
			
		||||
    [fu_cv_sys_truncating_statfs=no])])
 | 
			
		||||
#include <sys/vfs.h>
 | 
			
		||||
         ]],
 | 
			
		||||
         [[struct statfs t; long c = *(t.f_spare);
 | 
			
		||||
           if (c) return 0;
 | 
			
		||||
         ]])],
 | 
			
		||||
       [fu_cv_sys_truncating_statfs=yes],
 | 
			
		||||
       [fu_cv_sys_truncating_statfs=no])
 | 
			
		||||
    ])
 | 
			
		||||
  if test $fu_cv_sys_truncating_statfs = yes; then
 | 
			
		||||
    AC_DEFINE([STATFS_TRUNCATES_BLOCK_COUNTS], [1],
 | 
			
		||||
      [Define if the block counts reported by statfs may be truncated to 2GB
 | 
			
		||||
| 
						 | 
				
			
			@ -335,13 +295,12 @@ choke -- this is a workaround for a Sun-specific problem
 | 
			
		|||
       (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem.
 | 
			
		||||
       SunOS 4.1.1 seems not to be affected.)])
 | 
			
		||||
  fi
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_truncating_statfs])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/fsusage.c not done by gl_FILE_SYSTEM_USAGE.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_FSUSAGE_EXTRA],
 | 
			
		||||
[
 | 
			
		||||
  AC_CHECK_HEADERS([dustat.h sys/fs/s5param.h sys/filsys.h sys/statfs.h])
 | 
			
		||||
  AC_CHECK_HEADERS([sys/fs/s5param.h sys/statfs.h])
 | 
			
		||||
  gl_STATFS_TRUNCATES
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										15
									
								
								gl/m4/ftell.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								gl/m4/ftell.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
# ftell.m4 serial 3
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2023 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_FTELL],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_FUNC_FTELLO])
 | 
			
		||||
  dnl When ftello needs fixes, ftell needs them too.
 | 
			
		||||
  if test $HAVE_FTELLO = 0 || test $REPLACE_FTELLO = 1; then
 | 
			
		||||
    REPLACE_FTELL=1
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										151
									
								
								gl/m4/ftello.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								gl/m4/ftello.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,151 @@
 | 
			
		|||
# ftello.m4 serial 14
 | 
			
		||||
dnl Copyright (C) 2007-2023 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_FTELLO],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
  AC_REQUIRE([gl_STDIN_LARGE_OFFSET])
 | 
			
		||||
  AC_REQUIRE([gl_SYS_TYPES_H])
 | 
			
		||||
 | 
			
		||||
  dnl Persuade glibc <stdio.h> to declare ftello().
 | 
			
		||||
  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 | 
			
		||||
 | 
			
		||||
  AC_CHECK_DECLS_ONCE([ftello])
 | 
			
		||||
  if test $ac_cv_have_decl_ftello = no; then
 | 
			
		||||
    HAVE_DECL_FTELLO=0
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  AC_CACHE_CHECK([for ftello], [gl_cv_func_ftello],
 | 
			
		||||
    [
 | 
			
		||||
      AC_LINK_IFELSE(
 | 
			
		||||
        [AC_LANG_PROGRAM(
 | 
			
		||||
           [[#include <stdio.h>]],
 | 
			
		||||
           [[ftello (stdin);]])],
 | 
			
		||||
        [gl_cv_func_ftello=yes],
 | 
			
		||||
        [gl_cv_func_ftello=no])
 | 
			
		||||
    ])
 | 
			
		||||
  if test $gl_cv_func_ftello = no; then
 | 
			
		||||
    HAVE_FTELLO=0
 | 
			
		||||
  else
 | 
			
		||||
    if test $WINDOWS_64_BIT_OFF_T = 1; then
 | 
			
		||||
      REPLACE_FTELLO=1
 | 
			
		||||
    fi
 | 
			
		||||
    if test $gl_cv_var_stdin_large_offset = no; then
 | 
			
		||||
      REPLACE_FTELLO=1
 | 
			
		||||
    fi
 | 
			
		||||
    if test $REPLACE_FTELLO = 0; then
 | 
			
		||||
      dnl Detect bug on Solaris.
 | 
			
		||||
      dnl ftell and ftello produce incorrect results after putc that followed a
 | 
			
		||||
      dnl getc call that reached EOF on Solaris. This is because the _IOREAD
 | 
			
		||||
      dnl flag does not get cleared in this case, even though _IOWRT gets set,
 | 
			
		||||
      dnl and ftell and ftello look whether the _IOREAD flag is set.
 | 
			
		||||
      AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
      AC_CACHE_CHECK([whether ftello works],
 | 
			
		||||
        [gl_cv_func_ftello_works],
 | 
			
		||||
        [
 | 
			
		||||
          dnl Initial guess, used when cross-compiling or when /dev/tty cannot
 | 
			
		||||
          dnl be opened.
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
          case "$host_os" in
 | 
			
		||||
                      # Guess no on Solaris.
 | 
			
		||||
            solaris*) gl_cv_func_ftello_works="guessing no" ;;
 | 
			
		||||
                      # Guess yes on native Windows.
 | 
			
		||||
            mingw*)   gl_cv_func_ftello_works="guessing yes" ;;
 | 
			
		||||
                      # Guess yes otherwise.
 | 
			
		||||
            *)        gl_cv_func_ftello_works="guessing yes" ;;
 | 
			
		||||
          esac
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
          AC_RUN_IFELSE(
 | 
			
		||||
            [AC_LANG_SOURCE([[
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#define TESTFILE "conftest.tmp"
 | 
			
		||||
int
 | 
			
		||||
main (void)
 | 
			
		||||
{
 | 
			
		||||
  FILE *fp;
 | 
			
		||||
 | 
			
		||||
  /* Create a file with some contents.  */
 | 
			
		||||
  fp = fopen (TESTFILE, "w");
 | 
			
		||||
  if (fp == NULL)
 | 
			
		||||
    return 70;
 | 
			
		||||
  if (fwrite ("foogarsh", 1, 8, fp) < 8)
 | 
			
		||||
    { fclose (fp); return 71; }
 | 
			
		||||
  if (fclose (fp))
 | 
			
		||||
    return 72;
 | 
			
		||||
 | 
			
		||||
  /* The file's contents is now "foogarsh".  */
 | 
			
		||||
 | 
			
		||||
  /* Try writing after reading to EOF.  */
 | 
			
		||||
  fp = fopen (TESTFILE, "r+");
 | 
			
		||||
  if (fp == NULL)
 | 
			
		||||
    return 73;
 | 
			
		||||
  if (fseek (fp, -1, SEEK_END))
 | 
			
		||||
    { fclose (fp); return 74; }
 | 
			
		||||
  if (!(getc (fp) == 'h'))
 | 
			
		||||
    { fclose (fp); return 1; }
 | 
			
		||||
  if (!(getc (fp) == EOF))
 | 
			
		||||
    { fclose (fp); return 2; }
 | 
			
		||||
  if (!(ftell (fp) == 8))
 | 
			
		||||
    { fclose (fp); return 3; }
 | 
			
		||||
  if (!(ftell (fp) == 8))
 | 
			
		||||
    { fclose (fp); return 4; }
 | 
			
		||||
  if (!(putc ('!', fp) == '!'))
 | 
			
		||||
    { fclose (fp); return 5; }
 | 
			
		||||
  if (!(ftell (fp) == 9))
 | 
			
		||||
    { fclose (fp); return 6; }
 | 
			
		||||
  if (!(fclose (fp) == 0))
 | 
			
		||||
    return 7;
 | 
			
		||||
  fp = fopen (TESTFILE, "r");
 | 
			
		||||
  if (fp == NULL)
 | 
			
		||||
    return 75;
 | 
			
		||||
  {
 | 
			
		||||
    char buf[10];
 | 
			
		||||
    if (!(fread (buf, 1, 10, fp) == 9))
 | 
			
		||||
      { fclose (fp); return 10; }
 | 
			
		||||
    if (!(memcmp (buf, "foogarsh!", 9) == 0))
 | 
			
		||||
      { fclose (fp); return 11; }
 | 
			
		||||
  }
 | 
			
		||||
  if (!(fclose (fp) == 0))
 | 
			
		||||
    return 12;
 | 
			
		||||
 | 
			
		||||
  /* The file's contents is now "foogarsh!".  */
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}]])],
 | 
			
		||||
            [gl_cv_func_ftello_works=yes],
 | 
			
		||||
            [gl_cv_func_ftello_works=no], [:])
 | 
			
		||||
        ])
 | 
			
		||||
      case "$gl_cv_func_ftello_works" in
 | 
			
		||||
        *yes) ;;
 | 
			
		||||
        *)
 | 
			
		||||
          REPLACE_FTELLO=1
 | 
			
		||||
          AC_DEFINE([FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE], [1],
 | 
			
		||||
            [Define to 1 if the system's ftello function has the Solaris bug.])
 | 
			
		||||
          ;;
 | 
			
		||||
      esac
 | 
			
		||||
    fi
 | 
			
		||||
    if test $REPLACE_FTELLO = 0; then
 | 
			
		||||
      dnl Detect bug on macOS >= 10.15.
 | 
			
		||||
      gl_FUNC_UNGETC_WORKS
 | 
			
		||||
      if test $gl_ftello_broken_after_ungetc = yes; then
 | 
			
		||||
        REPLACE_FTELLO=1
 | 
			
		||||
        AC_DEFINE([FTELLO_BROKEN_AFTER_UNGETC], [1],
 | 
			
		||||
          [Define to 1 if the system's ftello function has the macOS bug.])
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/ftello.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_FTELLO],
 | 
			
		||||
[
 | 
			
		||||
  dnl Native Windows has the function _ftelli64. mingw hides it, but mingw64
 | 
			
		||||
  dnl makes it usable again.
 | 
			
		||||
  AC_CHECK_FUNCS([_ftelli64])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,14 +1,13 @@
 | 
			
		|||
# getaddrinfo.m4 serial 30
 | 
			
		||||
dnl Copyright (C) 2004-2013 Free Software Foundation, Inc.
 | 
			
		||||
# getaddrinfo.m4 serial 34
 | 
			
		||||
dnl Copyright (C) 2004-2023 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_GETADDRINFO],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H
 | 
			
		||||
  AC_REQUIRE([gl_HEADER_NETDB])dnl for HAVE_NETDB_H
 | 
			
		||||
  AC_MSG_NOTICE([checking how to do getaddrinfo, freeaddrinfo and getnameinfo])
 | 
			
		||||
  AC_REQUIRE([gl_SYS_SOCKET_H])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H
 | 
			
		||||
  AC_REQUIRE([gl_NETDB_H])dnl for HAVE_NETDB_H
 | 
			
		||||
  GETADDRINFO_LIB=
 | 
			
		||||
  gai_saved_LIBS="$LIBS"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -55,10 +54,40 @@ AC_DEFUN([gl_GETADDRINFO],
 | 
			
		|||
    if test "$gl_cv_w32_getaddrinfo" = "yes"; then
 | 
			
		||||
      GETADDRINFO_LIB="-lws2_32"
 | 
			
		||||
      LIBS="$gai_saved_LIBS $GETADDRINFO_LIB"
 | 
			
		||||
      dnl Check for correct signature, in particular for a cdecl-compatible
 | 
			
		||||
      dnl calling convention.
 | 
			
		||||
      AC_CACHE_CHECK([for getaddrinfo with POSIX signature],
 | 
			
		||||
        [gl_cv_func_getaddrinfo_posix_signature],
 | 
			
		||||
        [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#ifdef HAVE_SYS_SOCKET_H
 | 
			
		||||
#include <sys/socket.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef HAVE_NETDB_H
 | 
			
		||||
#include <netdb.h>
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef HAVE_WS2TCPIP_H
 | 
			
		||||
#include <ws2tcpip.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
extern
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
"C"
 | 
			
		||||
#endif
 | 
			
		||||
int getaddrinfo (const char *, const char *, const struct addrinfo *, struct addrinfo **);
 | 
			
		||||
]])],
 | 
			
		||||
           [gl_cv_func_getaddrinfo_posix_signature=yes],
 | 
			
		||||
           [gl_cv_func_getaddrinfo_posix_signature=no])
 | 
			
		||||
        ])
 | 
			
		||||
      if test $gl_cv_func_getaddrinfo_posix_signature = no; then
 | 
			
		||||
        REPLACE_GETADDRINFO=1
 | 
			
		||||
      fi
 | 
			
		||||
    else
 | 
			
		||||
      HAVE_GETADDRINFO=0
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
  AC_DEFINE_UNQUOTED([HAVE_GETADDRINFO], [$HAVE_GETADDRINFO],
 | 
			
		||||
    [Define to 1 if getaddrinfo exists, or to 0 otherwise.])
 | 
			
		||||
 | 
			
		||||
  # We can't use AC_REPLACE_FUNCS here because gai_strerror may be an
 | 
			
		||||
  # inline function declared in ws2tcpip.h, so we need to get that
 | 
			
		||||
| 
						 | 
				
			
			@ -127,13 +156,13 @@ const char *gai_strerror(int);]])],
 | 
			
		|||
# Prerequisites of lib/netdb.in.h and lib/getaddrinfo.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_GETADDRINFO], [
 | 
			
		||||
  AC_REQUIRE([gl_NETDB_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H
 | 
			
		||||
  AC_REQUIRE([gl_SYS_SOCKET_H])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H
 | 
			
		||||
  AC_REQUIRE([gl_HOSTENT]) dnl for HOSTENT_LIB
 | 
			
		||||
  AC_REQUIRE([gl_SERVENT]) dnl for SERVENT_LIB
 | 
			
		||||
  AC_REQUIRE([gl_FUNC_INET_NTOP]) dnl for INET_NTOP_LIB
 | 
			
		||||
  AC_REQUIRE([AC_C_RESTRICT])
 | 
			
		||||
  AC_REQUIRE([gl_SOCKET_FAMILIES])
 | 
			
		||||
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])
 | 
			
		||||
  AC_REQUIRE([gl_SYS_SOCKET_H])
 | 
			
		||||
  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 | 
			
		||||
 | 
			
		||||
  dnl Including sys/socket.h is wrong for Windows, but Windows does not
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										111
									
								
								gl/m4/getdelim.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								gl/m4/getdelim.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,111 @@
 | 
			
		|||
# getdelim.m4 serial 16
 | 
			
		||||
 | 
			
		||||
dnl Copyright (C) 2005-2007, 2009-2023 Free Software Foundation, Inc.
 | 
			
		||||
dnl
 | 
			
		||||
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_PREREQ([2.59])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_FUNC_GETDELIM],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
 | 
			
		||||
  dnl Persuade glibc <stdio.h> to declare getdelim().
 | 
			
		||||
  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 | 
			
		||||
 | 
			
		||||
  AC_CHECK_DECLS_ONCE([getdelim])
 | 
			
		||||
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([getdelim])
 | 
			
		||||
  if test $ac_cv_func_getdelim = yes; then
 | 
			
		||||
    HAVE_GETDELIM=1
 | 
			
		||||
    dnl Found it in some library.  Verify that it works.
 | 
			
		||||
    AC_CACHE_CHECK([for working getdelim function],
 | 
			
		||||
      [gl_cv_func_working_getdelim],
 | 
			
		||||
      [case "$host_os" in
 | 
			
		||||
         darwin*)
 | 
			
		||||
           dnl On macOS 10.13, valgrind detected an out-of-bounds read during
 | 
			
		||||
           dnl the GNU sed test suite:
 | 
			
		||||
           dnl   Invalid read of size 16
 | 
			
		||||
           dnl      at 0x100EE6A05: _platform_memchr$VARIANT$Base (in /usr/lib/system/libsystem_platform.dylib)
 | 
			
		||||
           dnl      by 0x100B7B0BD: getdelim (in /usr/lib/system/libsystem_c.dylib)
 | 
			
		||||
           dnl      by 0x10000B0BE: ck_getdelim (utils.c:254)
 | 
			
		||||
           gl_cv_func_working_getdelim=no ;;
 | 
			
		||||
         *)
 | 
			
		||||
           echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
 | 
			
		||||
           AC_RUN_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
#    include <stdio.h>
 | 
			
		||||
#    include <stdlib.h>
 | 
			
		||||
#    include <string.h>
 | 
			
		||||
    int main ()
 | 
			
		||||
    {
 | 
			
		||||
      FILE *in = fopen ("./conftest.data", "r");
 | 
			
		||||
      if (!in)
 | 
			
		||||
        return 1;
 | 
			
		||||
      {
 | 
			
		||||
        /* Test result for a NULL buffer and a zero size.
 | 
			
		||||
           Based on a test program from Karl Heuer.  */
 | 
			
		||||
        char *line = NULL;
 | 
			
		||||
        size_t siz = 0;
 | 
			
		||||
        int len = getdelim (&line, &siz, '\n', in);
 | 
			
		||||
        if (!(len == 4 && line && strcmp (line, "foo\n") == 0))
 | 
			
		||||
          { free (line); fclose (in); return 2; }
 | 
			
		||||
        free (line);
 | 
			
		||||
      }
 | 
			
		||||
      {
 | 
			
		||||
        /* Test result for a NULL buffer and a non-zero size.
 | 
			
		||||
           This crashes on FreeBSD 8.0.  */
 | 
			
		||||
        char *line = NULL;
 | 
			
		||||
        size_t siz = (size_t)(~0) / 4;
 | 
			
		||||
        if (getdelim (&line, &siz, '\n', in) == -1)
 | 
			
		||||
          { fclose (in); return 3; }
 | 
			
		||||
        free (line);
 | 
			
		||||
      }
 | 
			
		||||
      fclose (in);
 | 
			
		||||
      return 0;
 | 
			
		||||
    }
 | 
			
		||||
    ]])],
 | 
			
		||||
             [gl_cv_func_working_getdelim=yes],
 | 
			
		||||
             [gl_cv_func_working_getdelim=no],
 | 
			
		||||
             [dnl We're cross compiling.
 | 
			
		||||
              dnl Guess it works on glibc2 systems and musl systems.
 | 
			
		||||
              AC_EGREP_CPP([Lucky GNU user],
 | 
			
		||||
                [
 | 
			
		||||
#include <features.h>
 | 
			
		||||
#ifdef __GNU_LIBRARY__
 | 
			
		||||
 #if (__GLIBC__ >= 2) && !defined __UCLIBC__
 | 
			
		||||
  Lucky GNU user
 | 
			
		||||
 #endif
 | 
			
		||||
#endif
 | 
			
		||||
                ],
 | 
			
		||||
                [gl_cv_func_working_getdelim="guessing yes"],
 | 
			
		||||
                [case "$host_os" in
 | 
			
		||||
                   *-musl*) gl_cv_func_working_getdelim="guessing yes" ;;
 | 
			
		||||
                   *)       gl_cv_func_working_getdelim="$gl_cross_guess_normal" ;;
 | 
			
		||||
                 esac
 | 
			
		||||
                ])
 | 
			
		||||
             ])
 | 
			
		||||
           ;;
 | 
			
		||||
       esac
 | 
			
		||||
      ])
 | 
			
		||||
    case "$gl_cv_func_working_getdelim" in
 | 
			
		||||
      *yes) ;;
 | 
			
		||||
      *) REPLACE_GETDELIM=1 ;;
 | 
			
		||||
    esac
 | 
			
		||||
  else
 | 
			
		||||
    HAVE_GETDELIM=0
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test $ac_cv_have_decl_getdelim = no; then
 | 
			
		||||
    HAVE_DECL_GETDELIM=0
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/getdelim.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_GETDELIM],
 | 
			
		||||
[
 | 
			
		||||
  AC_CHECK_FUNCS([flockfile funlockfile])
 | 
			
		||||
  AC_CHECK_DECLS([getc_unlocked])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										63
									
								
								gl/m4/getdtablesize.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								gl/m4/getdtablesize.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,63 @@
 | 
			
		|||
# getdtablesize.m4 serial 8
 | 
			
		||||
dnl Copyright (C) 2008-2023 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_GETDTABLESIZE],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([getdtablesize])
 | 
			
		||||
  AC_CHECK_DECLS_ONCE([getdtablesize])
 | 
			
		||||
  if test $ac_cv_func_getdtablesize = yes &&
 | 
			
		||||
     test $ac_cv_have_decl_getdtablesize = yes; then
 | 
			
		||||
    AC_CACHE_CHECK([whether getdtablesize works],
 | 
			
		||||
      [gl_cv_func_getdtablesize_works],
 | 
			
		||||
      [dnl There are two concepts: the "maximum possible file descriptor value + 1"
 | 
			
		||||
       dnl and the "maximum number of open file descriptors in a process".
 | 
			
		||||
       dnl Per SUSv2 and POSIX, getdtablesize() should return the first one.
 | 
			
		||||
       dnl On most platforms, the first and the second concept are the same.
 | 
			
		||||
       dnl On OpenVMS, however, they are different and getdtablesize() returns
 | 
			
		||||
       dnl the second one; thus the test below fails. But we don't care
 | 
			
		||||
       dnl because there's no good way to write a replacement getdtablesize().
 | 
			
		||||
       case "$host_os" in
 | 
			
		||||
         vms*) gl_cv_func_getdtablesize_works="no (limitation)" ;;
 | 
			
		||||
         *)
 | 
			
		||||
           dnl Cygwin 1.7.25 automatically increases the RLIMIT_NOFILE soft
 | 
			
		||||
           dnl limit up to an unchangeable hard limit; all other platforms
 | 
			
		||||
           dnl correctly require setrlimit before getdtablesize() can report
 | 
			
		||||
           dnl a larger value.
 | 
			
		||||
           AC_RUN_IFELSE([
 | 
			
		||||
             AC_LANG_PROGRAM(
 | 
			
		||||
               [[#include <unistd.h>]
 | 
			
		||||
                GL_MDA_DEFINES
 | 
			
		||||
               ],
 | 
			
		||||
               [[int size = getdtablesize();
 | 
			
		||||
                 if (dup2 (0, getdtablesize()) != -1)
 | 
			
		||||
                   return 1;
 | 
			
		||||
                 if (size != getdtablesize())
 | 
			
		||||
                   return 2;
 | 
			
		||||
               ]])],
 | 
			
		||||
             [gl_cv_func_getdtablesize_works=yes],
 | 
			
		||||
             [gl_cv_func_getdtablesize_works=no],
 | 
			
		||||
             [case "$host_os" in
 | 
			
		||||
                cygwin*) # on cygwin 1.5.25, getdtablesize() automatically grows
 | 
			
		||||
                  gl_cv_func_getdtablesize_works="guessing no" ;;
 | 
			
		||||
                *) gl_cv_func_getdtablesize_works="guessing yes" ;;
 | 
			
		||||
              esac
 | 
			
		||||
             ])
 | 
			
		||||
           ;;
 | 
			
		||||
       esac
 | 
			
		||||
      ])
 | 
			
		||||
    case "$gl_cv_func_getdtablesize_works" in
 | 
			
		||||
      *yes | "no (limitation)") ;;
 | 
			
		||||
      *) REPLACE_GETDTABLESIZE=1 ;;
 | 
			
		||||
    esac
 | 
			
		||||
  else
 | 
			
		||||
    HAVE_GETDTABLESIZE=0
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/getdtablesize.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_GETDTABLESIZE], [:])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# gethostname.m4 serial 13
 | 
			
		||||
dnl Copyright (C) 2002, 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
# gethostname.m4 serial 15
 | 
			
		||||
dnl Copyright (C) 2002, 2008-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -48,7 +48,7 @@ AC_DEFUN([gl_PREREQ_HOST_NAME_MAX], [
 | 
			
		|||
  dnl - On most Unix systems, use MAXHOSTNAMELEN from <sys/param.h> instead.
 | 
			
		||||
  dnl - On Solaris, Cygwin, BeOS, use MAXHOSTNAMELEN from <netdb.h> instead.
 | 
			
		||||
  dnl - On mingw, use 256, because
 | 
			
		||||
  dnl   <http://msdn.microsoft.com/en-us/library/ms738527.aspx> says:
 | 
			
		||||
  dnl   <https://docs.microsoft.com/en-us/windows/desktop/api/winsock/nf-winsock-gethostname> says:
 | 
			
		||||
  dnl   "if a buffer of 256 bytes is passed in the name parameter and
 | 
			
		||||
  dnl    the namelen parameter is set to 256, the buffer size will always
 | 
			
		||||
  dnl    be adequate."
 | 
			
		||||
| 
						 | 
				
			
			@ -74,7 +74,7 @@ lucky
 | 
			
		|||
        dnl mingw.
 | 
			
		||||
        gl_cv_decl_HOST_NAME_MAX=256
 | 
			
		||||
      else
 | 
			
		||||
        _AC_COMPUTE_INT([MAXHOSTNAMELEN], [gl_cv_decl_HOST_NAME_MAX], [
 | 
			
		||||
        AC_COMPUTE_INT([gl_cv_decl_HOST_NAME_MAX], [MAXHOSTNAMELEN], [
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#if HAVE_SYS_PARAM_H
 | 
			
		||||
# include <sys/param.h>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										109
									
								
								gl/m4/getline.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										109
									
								
								gl/m4/getline.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,109 @@
 | 
			
		|||
# getline.m4 serial 30
 | 
			
		||||
 | 
			
		||||
dnl Copyright (C) 1998-2003, 2005-2007, 2009-2023 Free Software Foundation,
 | 
			
		||||
dnl Inc.
 | 
			
		||||
dnl
 | 
			
		||||
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_PREREQ([2.59])
 | 
			
		||||
 | 
			
		||||
dnl See if there's a working, system-supplied version of the getline function.
 | 
			
		||||
dnl We can't just do AC_REPLACE_FUNCS([getline]) because some systems
 | 
			
		||||
dnl have a function by that name in -linet that doesn't have anything
 | 
			
		||||
dnl to do with the function we need.
 | 
			
		||||
AC_DEFUN([gl_FUNC_GETLINE],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 | 
			
		||||
 | 
			
		||||
  dnl Persuade glibc <stdio.h> to declare getline().
 | 
			
		||||
  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 | 
			
		||||
 | 
			
		||||
  AC_CHECK_DECLS_ONCE([getline])
 | 
			
		||||
 | 
			
		||||
  gl_getline_needs_run_time_check=no
 | 
			
		||||
  AC_CHECK_FUNC([getline],
 | 
			
		||||
                [dnl Found it in some library.  Verify that it works.
 | 
			
		||||
                 gl_getline_needs_run_time_check=yes],
 | 
			
		||||
                [am_cv_func_working_getline=no])
 | 
			
		||||
  if test $gl_getline_needs_run_time_check = yes; then
 | 
			
		||||
    AC_CACHE_CHECK([for working getline function],
 | 
			
		||||
      [am_cv_func_working_getline],
 | 
			
		||||
      [echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
 | 
			
		||||
       AC_RUN_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
#    include <stdio.h>
 | 
			
		||||
#    include <stdlib.h>
 | 
			
		||||
#    include <string.h>
 | 
			
		||||
    int main ()
 | 
			
		||||
    {
 | 
			
		||||
      FILE *in = fopen ("./conftest.data", "r");
 | 
			
		||||
      if (!in)
 | 
			
		||||
        return 1;
 | 
			
		||||
      {
 | 
			
		||||
        /* Test result for a NULL buffer and a zero size.
 | 
			
		||||
           Based on a test program from Karl Heuer.  */
 | 
			
		||||
        char *line = NULL;
 | 
			
		||||
        size_t siz = 0;
 | 
			
		||||
        int len = getline (&line, &siz, in);
 | 
			
		||||
        if (!(len == 4 && line && strcmp (line, "foo\n") == 0))
 | 
			
		||||
          { free (line); fclose (in); return 2; }
 | 
			
		||||
        free (line);
 | 
			
		||||
      }
 | 
			
		||||
      {
 | 
			
		||||
        /* Test result for a NULL buffer and a non-zero size.
 | 
			
		||||
           This crashes on FreeBSD 8.0.  */
 | 
			
		||||
        char *line = NULL;
 | 
			
		||||
        size_t siz = (size_t)(~0) / 4;
 | 
			
		||||
        if (getline (&line, &siz, in) == -1)
 | 
			
		||||
          { fclose (in); return 3; }
 | 
			
		||||
        free (line);
 | 
			
		||||
      }
 | 
			
		||||
      fclose (in);
 | 
			
		||||
      return 0;
 | 
			
		||||
    }
 | 
			
		||||
    ]])],
 | 
			
		||||
         [am_cv_func_working_getline=yes],
 | 
			
		||||
         [am_cv_func_working_getline=no],
 | 
			
		||||
         [dnl We're cross compiling.
 | 
			
		||||
          dnl Guess it works on glibc2 systems and musl systems.
 | 
			
		||||
          AC_EGREP_CPP([Lucky GNU user],
 | 
			
		||||
            [
 | 
			
		||||
#include <features.h>
 | 
			
		||||
#ifdef __GNU_LIBRARY__
 | 
			
		||||
 #if (__GLIBC__ >= 2) && !defined __UCLIBC__
 | 
			
		||||
  Lucky GNU user
 | 
			
		||||
 #endif
 | 
			
		||||
#endif
 | 
			
		||||
            ],
 | 
			
		||||
            [am_cv_func_working_getline="guessing yes"],
 | 
			
		||||
            [case "$host_os" in
 | 
			
		||||
               *-musl*) am_cv_func_working_getline="guessing yes" ;;
 | 
			
		||||
               *)       am_cv_func_working_getline="$gl_cross_guess_normal" ;;
 | 
			
		||||
             esac
 | 
			
		||||
            ])
 | 
			
		||||
         ])
 | 
			
		||||
      ])
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test $ac_cv_have_decl_getline = no; then
 | 
			
		||||
    HAVE_DECL_GETLINE=0
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  case "$am_cv_func_working_getline" in
 | 
			
		||||
    *yes) ;;
 | 
			
		||||
    *)
 | 
			
		||||
      dnl Set REPLACE_GETLINE always: Even if we have not found the broken
 | 
			
		||||
      dnl getline function among $LIBS, it may exist in libinet and the
 | 
			
		||||
      dnl executable may be linked with -linet.
 | 
			
		||||
      REPLACE_GETLINE=1
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/getline.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_GETLINE],
 | 
			
		||||
[
 | 
			
		||||
  :
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,13 +1,13 @@
 | 
			
		|||
# Check for getloadavg.
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2013 Free Software
 | 
			
		||||
# Copyright (C) 1992-1996, 1999-2000, 2002-2003, 2006, 2008-2023 Free Software
 | 
			
		||||
# Foundation, Inc.
 | 
			
		||||
 | 
			
		||||
# This file is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
# with or without modifications, as long as this notice is preserved.
 | 
			
		||||
 | 
			
		||||
#serial 6
 | 
			
		||||
#serial 10
 | 
			
		||||
 | 
			
		||||
# Autoconf defines AC_FUNC_GETLOADAVG, but that is obsolescent.
 | 
			
		||||
# New applications should use gl_GETLOADAVG instead.
 | 
			
		||||
| 
						 | 
				
			
			@ -22,7 +22,7 @@ AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
 | 
			
		|||
 | 
			
		||||
gl_save_LIBS=$LIBS
 | 
			
		||||
 | 
			
		||||
# getloadvg is present in libc on glibc >= 2.2, Mac OS X, FreeBSD >= 2.0,
 | 
			
		||||
# getloadavg is present in libc on glibc >= 2.2, Mac OS X, FreeBSD >= 2.0,
 | 
			
		||||
# NetBSD >= 0.9, OpenBSD >= 2.0, Solaris >= 7.
 | 
			
		||||
HAVE_GETLOADAVG=1
 | 
			
		||||
AC_CHECK_FUNC([getloadavg], [],
 | 
			
		||||
| 
						 | 
				
			
			@ -45,7 +45,9 @@ AC_CHECK_FUNC([getloadavg], [],
 | 
			
		|||
     # There is a commonly available library for RS/6000 AIX.
 | 
			
		||||
     # Since it is not a standard part of AIX, it might be installed locally.
 | 
			
		||||
     gl_getloadavg_LIBS=$LIBS
 | 
			
		||||
     LIBS="-L/usr/local/lib $LIBS"
 | 
			
		||||
     if test $cross_compiling != yes; then
 | 
			
		||||
       LIBS="-L/usr/local/lib $LIBS"
 | 
			
		||||
     fi
 | 
			
		||||
     AC_CHECK_LIB([getloadavg], [getloadavg],
 | 
			
		||||
                  [LIBS="-lgetloadavg $LIBS" gl_func_getloadavg_done=yes],
 | 
			
		||||
                  [LIBS=$gl_getloadavg_LIBS])
 | 
			
		||||
| 
						 | 
				
			
			@ -92,6 +94,9 @@ else
 | 
			
		|||
fi
 | 
			
		||||
AC_CHECK_DECL([getloadavg], [], [HAVE_DECL_GETLOADAVG=0],
 | 
			
		||||
  [[#if HAVE_SYS_LOADAVG_H
 | 
			
		||||
    /* OpenIndiana has a bug: <sys/time.h> must be included before
 | 
			
		||||
       <sys/loadavg.h>.  */
 | 
			
		||||
    # include <sys/time.h>
 | 
			
		||||
    # include <sys/loadavg.h>
 | 
			
		||||
    #endif
 | 
			
		||||
    #include <stdlib.h>]])
 | 
			
		||||
| 
						 | 
				
			
			@ -105,7 +110,7 @@ AC_DEFUN([gl_PREREQ_GETLOADAVG],
 | 
			
		|||
[
 | 
			
		||||
# Figure out what our getloadavg.c needs.
 | 
			
		||||
 | 
			
		||||
AC_CHECK_HEADERS_ONCE([sys/param.h])
 | 
			
		||||
AC_CHECK_HEADERS_ONCE([sys/param.h unistd.h])
 | 
			
		||||
 | 
			
		||||
# On HPUX9, an unprivileged user can get load averages this way.
 | 
			
		||||
if test $gl_func_getloadavg_done = no; then
 | 
			
		||||
| 
						 | 
				
			
			@ -142,7 +147,7 @@ fi
 | 
			
		|||
AC_CHECK_HEADERS([nlist.h],
 | 
			
		||||
[AC_CHECK_MEMBERS([struct nlist.n_un.n_name],
 | 
			
		||||
                  [], [],
 | 
			
		||||
                  [@%:@include <nlist.h>])
 | 
			
		||||
                  [#include <nlist.h>])
 | 
			
		||||
 AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <nlist.h>]],
 | 
			
		||||
                   [[struct nlist x;
 | 
			
		||||
                    #ifdef HAVE_STRUCT_NLIST_N_UN_N_NAME
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# getopt.m4 serial 44
 | 
			
		||||
dnl Copyright (C) 2002-2006, 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
# getopt.m4 serial 48
 | 
			
		||||
dnl Copyright (C) 2002-2006, 2008-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -21,6 +21,8 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX],
 | 
			
		|||
      REPLACE_GETOPT=1
 | 
			
		||||
    fi
 | 
			
		||||
  ])
 | 
			
		||||
  GL_GENERATE_GETOPT_H=false
 | 
			
		||||
  GL_GENERATE_GETOPT_CDEFS_H=false
 | 
			
		||||
  if test $REPLACE_GETOPT = 1; then
 | 
			
		||||
    dnl Arrange for getopt.h to be created.
 | 
			
		||||
    gl_GETOPT_SUBSTITUTE_HEADER
 | 
			
		||||
| 
						 | 
				
			
			@ -32,9 +34,16 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX],
 | 
			
		|||
# getopt_long_only.
 | 
			
		||||
AC_DEFUN([gl_FUNC_GETOPT_GNU],
 | 
			
		||||
[
 | 
			
		||||
  dnl Set the variable gl_getopt_required, so that all invocations of
 | 
			
		||||
  dnl gl_GETOPT_CHECK_HEADERS in the scope of the current configure file
 | 
			
		||||
  dnl will check for getopt with GNU extensions.
 | 
			
		||||
  dnl This means that if one gnulib-tool invocation requests getopt-posix
 | 
			
		||||
  dnl and another gnulib-tool invocation requests getopt-gnu, it is as if
 | 
			
		||||
  dnl both had requested getopt-gnu.
 | 
			
		||||
  m4_divert_text([INIT_PREPARE], [gl_getopt_required=GNU])
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([gl_FUNC_GETOPT_POSIX])
 | 
			
		||||
  dnl No need to invoke gl_FUNC_GETOPT_POSIX here; this is automatically
 | 
			
		||||
  dnl done through the module dependency getopt-gnu -> getopt-posix.
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Determine whether to replace the entire getopt facility.
 | 
			
		||||
| 
						 | 
				
			
			@ -295,8 +304,10 @@ dnl is ambiguous with environment values that contain newlines.
 | 
			
		|||
           ]])],
 | 
			
		||||
        [gl_cv_func_getopt_gnu=yes],
 | 
			
		||||
        [gl_cv_func_getopt_gnu=no],
 | 
			
		||||
        [dnl Cross compiling. Assume the worst, even on glibc platforms.
 | 
			
		||||
         gl_cv_func_getopt_gnu="guessing no"
 | 
			
		||||
        [dnl Cross compiling.
 | 
			
		||||
         dnl Assume the worst, even on glibc platforms.
 | 
			
		||||
         dnl But obey --enable-cross-guesses.
 | 
			
		||||
         gl_cv_func_getopt_gnu="$gl_cross_guess_normal"
 | 
			
		||||
        ])
 | 
			
		||||
       case $gl_had_POSIXLY_CORRECT in
 | 
			
		||||
         exported) ;;
 | 
			
		||||
| 
						 | 
				
			
			@ -354,15 +365,17 @@ dnl is ambiguous with environment values that contain newlines.
 | 
			
		|||
 | 
			
		||||
AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
 | 
			
		||||
[
 | 
			
		||||
  GETOPT_H=getopt.h
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([sys/cdefs.h])
 | 
			
		||||
  if test $ac_cv_header_sys_cdefs_h = yes; then
 | 
			
		||||
    HAVE_SYS_CDEFS_H=1
 | 
			
		||||
  else
 | 
			
		||||
    HAVE_SYS_CDEFS_H=0
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([HAVE_SYS_CDEFS_H])
 | 
			
		||||
 | 
			
		||||
  AC_DEFINE([__GETOPT_PREFIX], [[rpl_]],
 | 
			
		||||
    [Define to rpl_ if the getopt replacement functions and variables
 | 
			
		||||
     should be used.])
 | 
			
		||||
  AC_SUBST([GETOPT_H])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/getopt*.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_GETOPT],
 | 
			
		||||
[
 | 
			
		||||
  AC_CHECK_DECLS_ONCE([getenv])
 | 
			
		||||
  GL_GENERATE_GETOPT_H=true
 | 
			
		||||
  GL_GENERATE_GETOPT_CDEFS_H=true
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										43
									
								
								gl/m4/getprogname.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								gl/m4/getprogname.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,43 @@
 | 
			
		|||
# getprogname.m4 - check for getprogname or replacements for it
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2016-2023 Free Software Foundation, Inc.
 | 
			
		||||
# This file is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
# with or without modifications, as long as this notice is preserved.
 | 
			
		||||
 | 
			
		||||
# serial 4
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_FUNC_GETPROGNAME],
 | 
			
		||||
[
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([getprogname getexecname])
 | 
			
		||||
  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
 | 
			
		||||
  ac_found=0
 | 
			
		||||
  AC_CHECK_DECLS([program_invocation_name], [ac_found=1], [],
 | 
			
		||||
    [#include <errno.h>])
 | 
			
		||||
  AC_CHECK_DECLS([program_invocation_short_name], [ac_found=1], [],
 | 
			
		||||
    [#include <errno.h>])
 | 
			
		||||
  AC_CHECK_DECLS([__argv], [ac_found=1], [], [#include <stdlib.h>])
 | 
			
		||||
 | 
			
		||||
  # Incur the cost of this test only if none of the above worked.
 | 
			
		||||
  if test $ac_found = 0; then
 | 
			
		||||
    # On OpenBSD 5.1, using the global __progname variable appears to be
 | 
			
		||||
    # the only way to implement getprogname.
 | 
			
		||||
    AC_CACHE_CHECK([whether __progname is defined in default libraries],
 | 
			
		||||
      [gl_cv_var___progname],
 | 
			
		||||
      [
 | 
			
		||||
        gl_cv_var___progname=
 | 
			
		||||
        AC_LINK_IFELSE(
 | 
			
		||||
          [AC_LANG_PROGRAM(
 | 
			
		||||
            [[extern char *__progname;]],
 | 
			
		||||
            [[return *__progname;]]
 | 
			
		||||
          )],
 | 
			
		||||
          [gl_cv_var___progname=yes]
 | 
			
		||||
        )
 | 
			
		||||
      ]
 | 
			
		||||
    )
 | 
			
		||||
    if test "$gl_cv_var___progname" = yes; then
 | 
			
		||||
      AC_DEFINE([HAVE_VAR___PROGNAME], 1,
 | 
			
		||||
        [Define if you have a global __progname variable])
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										401
									
								
								gl/m4/gettext.m4
									
										
									
									
									
								
							
							
						
						
									
										401
									
								
								gl/m4/gettext.m4
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,401 +0,0 @@
 | 
			
		|||
# gettext.m4 serial 66 (gettext-0.18.2)
 | 
			
		||||
dnl Copyright (C) 1995-2013 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.
 | 
			
		||||
dnl
 | 
			
		||||
dnl This file can can be used in projects which are not available under
 | 
			
		||||
dnl the GNU General Public License or the GNU Library General Public
 | 
			
		||||
dnl License but which still want to provide support for the GNU gettext
 | 
			
		||||
dnl functionality.
 | 
			
		||||
dnl Please note that the actual code of the GNU gettext library is covered
 | 
			
		||||
dnl by the GNU Library General Public License, and the rest of the GNU
 | 
			
		||||
dnl gettext package package is covered by the GNU General Public License.
 | 
			
		||||
dnl They are *not* in the public domain.
 | 
			
		||||
 | 
			
		||||
dnl Authors:
 | 
			
		||||
dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
 | 
			
		||||
dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
 | 
			
		||||
 | 
			
		||||
dnl Macro to add for using GNU gettext.
 | 
			
		||||
 | 
			
		||||
dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
 | 
			
		||||
dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
 | 
			
		||||
dnl    default (if it is not specified or empty) is 'no-libtool'.
 | 
			
		||||
dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
 | 
			
		||||
dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
 | 
			
		||||
dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
 | 
			
		||||
dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
 | 
			
		||||
dnl    depending on --{enable,disable}-{shared,static} and on the presence of
 | 
			
		||||
dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
 | 
			
		||||
dnl    $(top_builddir)/intl/libintl.a will be created.
 | 
			
		||||
dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
 | 
			
		||||
dnl    implementations (in libc or libintl) without the ngettext() function
 | 
			
		||||
dnl    will be ignored.  If NEEDSYMBOL is specified and is
 | 
			
		||||
dnl    'need-formatstring-macros', then GNU gettext implementations that don't
 | 
			
		||||
dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
 | 
			
		||||
dnl INTLDIR is used to find the intl libraries.  If empty,
 | 
			
		||||
dnl    the value '$(top_builddir)/intl/' is used.
 | 
			
		||||
dnl
 | 
			
		||||
dnl The result of the configuration is one of three cases:
 | 
			
		||||
dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
 | 
			
		||||
dnl    and used.
 | 
			
		||||
dnl    Catalog format: GNU --> install in $(datadir)
 | 
			
		||||
dnl    Catalog extension: .mo after installation, .gmo in source tree
 | 
			
		||||
dnl 2) GNU gettext has been found in the system's C library.
 | 
			
		||||
dnl    Catalog format: GNU --> install in $(datadir)
 | 
			
		||||
dnl    Catalog extension: .mo after installation, .gmo in source tree
 | 
			
		||||
dnl 3) No internationalization, always use English msgid.
 | 
			
		||||
dnl    Catalog format: none
 | 
			
		||||
dnl    Catalog extension: none
 | 
			
		||||
dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
 | 
			
		||||
dnl The use of .gmo is historical (it was needed to avoid overwriting the
 | 
			
		||||
dnl GNU format catalogs when building on a platform with an X/Open gettext),
 | 
			
		||||
dnl but we keep it in order not to force irrelevant filename changes on the
 | 
			
		||||
dnl maintainers.
 | 
			
		||||
dnl
 | 
			
		||||
AC_DEFUN([AM_GNU_GETTEXT],
 | 
			
		||||
[
 | 
			
		||||
  dnl Argument checking.
 | 
			
		||||
  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
 | 
			
		||||
    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
 | 
			
		||||
])])])])])
 | 
			
		||||
  ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
 | 
			
		||||
    [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
 | 
			
		||||
  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
 | 
			
		||||
    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
 | 
			
		||||
])])])])
 | 
			
		||||
  define([gt_included_intl],
 | 
			
		||||
    ifelse([$1], [external],
 | 
			
		||||
      ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
 | 
			
		||||
      [yes]))
 | 
			
		||||
  define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
 | 
			
		||||
  gt_NEEDS_INIT
 | 
			
		||||
  AM_GNU_GETTEXT_NEED([$2])
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([AM_PO_SUBDIRS])dnl
 | 
			
		||||
  ifelse(gt_included_intl, yes, [
 | 
			
		||||
    AC_REQUIRE([AM_INTL_SUBDIR])dnl
 | 
			
		||||
  ])
 | 
			
		||||
 | 
			
		||||
  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
 | 
			
		||||
  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
 | 
			
		||||
  AC_REQUIRE([AC_LIB_RPATH])
 | 
			
		||||
 | 
			
		||||
  dnl Sometimes libintl requires libiconv, so first search for libiconv.
 | 
			
		||||
  dnl Ideally we would do this search only after the
 | 
			
		||||
  dnl      if test "$USE_NLS" = "yes"; then
 | 
			
		||||
  dnl        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
 | 
			
		||||
  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
 | 
			
		||||
  dnl the configure script would need to contain the same shell code
 | 
			
		||||
  dnl again, outside any 'if'. There are two solutions:
 | 
			
		||||
  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
 | 
			
		||||
  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
 | 
			
		||||
  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
 | 
			
		||||
  dnl documented, we avoid it.
 | 
			
		||||
  ifelse(gt_included_intl, yes, , [
 | 
			
		||||
    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
 | 
			
		||||
  ])
 | 
			
		||||
 | 
			
		||||
  dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
 | 
			
		||||
  gt_INTL_MACOSX
 | 
			
		||||
 | 
			
		||||
  dnl Set USE_NLS.
 | 
			
		||||
  AC_REQUIRE([AM_NLS])
 | 
			
		||||
 | 
			
		||||
  ifelse(gt_included_intl, yes, [
 | 
			
		||||
    BUILD_INCLUDED_LIBINTL=no
 | 
			
		||||
    USE_INCLUDED_LIBINTL=no
 | 
			
		||||
  ])
 | 
			
		||||
  LIBINTL=
 | 
			
		||||
  LTLIBINTL=
 | 
			
		||||
  POSUB=
 | 
			
		||||
 | 
			
		||||
  dnl Add a version number to the cache macros.
 | 
			
		||||
  case " $gt_needs " in
 | 
			
		||||
    *" need-formatstring-macros "*) gt_api_version=3 ;;
 | 
			
		||||
    *" need-ngettext "*) gt_api_version=2 ;;
 | 
			
		||||
    *) gt_api_version=1 ;;
 | 
			
		||||
  esac
 | 
			
		||||
  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
 | 
			
		||||
  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
 | 
			
		||||
 | 
			
		||||
  dnl If we use NLS figure out what method
 | 
			
		||||
  if test "$USE_NLS" = "yes"; then
 | 
			
		||||
    gt_use_preinstalled_gnugettext=no
 | 
			
		||||
    ifelse(gt_included_intl, yes, [
 | 
			
		||||
      AC_MSG_CHECKING([whether included gettext is requested])
 | 
			
		||||
      AC_ARG_WITH([included-gettext],
 | 
			
		||||
        [  --with-included-gettext use the GNU gettext library included here],
 | 
			
		||||
        nls_cv_force_use_gnu_gettext=$withval,
 | 
			
		||||
        nls_cv_force_use_gnu_gettext=no)
 | 
			
		||||
      AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
 | 
			
		||||
 | 
			
		||||
      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
 | 
			
		||||
      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
 | 
			
		||||
    ])
 | 
			
		||||
        dnl User does not insist on using GNU NLS library.  Figure out what
 | 
			
		||||
        dnl to use.  If GNU gettext is available we use this.  Else we have
 | 
			
		||||
        dnl to fall back to GNU NLS library.
 | 
			
		||||
 | 
			
		||||
        if test $gt_api_version -ge 3; then
 | 
			
		||||
          gt_revision_test_code='
 | 
			
		||||
#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
 | 
			
		||||
#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
 | 
			
		||||
#endif
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
'
 | 
			
		||||
        else
 | 
			
		||||
          gt_revision_test_code=
 | 
			
		||||
        fi
 | 
			
		||||
        if test $gt_api_version -ge 2; then
 | 
			
		||||
          gt_expression_test_code=' + * ngettext ("", "", 0)'
 | 
			
		||||
        else
 | 
			
		||||
          gt_expression_test_code=
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
 | 
			
		||||
         [AC_LINK_IFELSE(
 | 
			
		||||
            [AC_LANG_PROGRAM(
 | 
			
		||||
               [[
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
$gt_revision_test_code
 | 
			
		||||
extern int _nl_msg_cat_cntr;
 | 
			
		||||
extern int *_nl_domain_bindings;
 | 
			
		||||
               ]],
 | 
			
		||||
               [[
 | 
			
		||||
bindtextdomain ("", "");
 | 
			
		||||
return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
 | 
			
		||||
               ]])],
 | 
			
		||||
            [eval "$gt_func_gnugettext_libc=yes"],
 | 
			
		||||
            [eval "$gt_func_gnugettext_libc=no"])])
 | 
			
		||||
 | 
			
		||||
        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
 | 
			
		||||
          dnl Sometimes libintl requires libiconv, so first search for libiconv.
 | 
			
		||||
          ifelse(gt_included_intl, yes, , [
 | 
			
		||||
            AM_ICONV_LINK
 | 
			
		||||
          ])
 | 
			
		||||
          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
 | 
			
		||||
          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
 | 
			
		||||
          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
 | 
			
		||||
          dnl even if libiconv doesn't exist.
 | 
			
		||||
          AC_LIB_LINKFLAGS_BODY([intl])
 | 
			
		||||
          AC_CACHE_CHECK([for GNU gettext in libintl],
 | 
			
		||||
            [$gt_func_gnugettext_libintl],
 | 
			
		||||
           [gt_save_CPPFLAGS="$CPPFLAGS"
 | 
			
		||||
            CPPFLAGS="$CPPFLAGS $INCINTL"
 | 
			
		||||
            gt_save_LIBS="$LIBS"
 | 
			
		||||
            LIBS="$LIBS $LIBINTL"
 | 
			
		||||
            dnl Now see whether libintl exists and does not depend on libiconv.
 | 
			
		||||
            AC_LINK_IFELSE(
 | 
			
		||||
              [AC_LANG_PROGRAM(
 | 
			
		||||
                 [[
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
$gt_revision_test_code
 | 
			
		||||
extern int _nl_msg_cat_cntr;
 | 
			
		||||
extern
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
"C"
 | 
			
		||||
#endif
 | 
			
		||||
const char *_nl_expand_alias (const char *);
 | 
			
		||||
                 ]],
 | 
			
		||||
                 [[
 | 
			
		||||
bindtextdomain ("", "");
 | 
			
		||||
return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
 | 
			
		||||
                 ]])],
 | 
			
		||||
              [eval "$gt_func_gnugettext_libintl=yes"],
 | 
			
		||||
              [eval "$gt_func_gnugettext_libintl=no"])
 | 
			
		||||
            dnl Now see whether libintl exists and depends on libiconv.
 | 
			
		||||
            if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
 | 
			
		||||
              LIBS="$LIBS $LIBICONV"
 | 
			
		||||
              AC_LINK_IFELSE(
 | 
			
		||||
                [AC_LANG_PROGRAM(
 | 
			
		||||
                   [[
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
$gt_revision_test_code
 | 
			
		||||
extern int _nl_msg_cat_cntr;
 | 
			
		||||
extern
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
"C"
 | 
			
		||||
#endif
 | 
			
		||||
const char *_nl_expand_alias (const char *);
 | 
			
		||||
                   ]],
 | 
			
		||||
                   [[
 | 
			
		||||
bindtextdomain ("", "");
 | 
			
		||||
return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
 | 
			
		||||
                   ]])],
 | 
			
		||||
                [LIBINTL="$LIBINTL $LIBICONV"
 | 
			
		||||
                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
 | 
			
		||||
                 eval "$gt_func_gnugettext_libintl=yes"
 | 
			
		||||
                ])
 | 
			
		||||
            fi
 | 
			
		||||
            CPPFLAGS="$gt_save_CPPFLAGS"
 | 
			
		||||
            LIBS="$gt_save_LIBS"])
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        dnl If an already present or preinstalled GNU gettext() is found,
 | 
			
		||||
        dnl use it.  But if this macro is used in GNU gettext, and GNU
 | 
			
		||||
        dnl gettext is already preinstalled in libintl, we update this
 | 
			
		||||
        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
 | 
			
		||||
        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
 | 
			
		||||
           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
 | 
			
		||||
                && test "$PACKAGE" != gettext-runtime \
 | 
			
		||||
                && test "$PACKAGE" != gettext-tools; }; then
 | 
			
		||||
          gt_use_preinstalled_gnugettext=yes
 | 
			
		||||
        else
 | 
			
		||||
          dnl Reset the values set by searching for libintl.
 | 
			
		||||
          LIBINTL=
 | 
			
		||||
          LTLIBINTL=
 | 
			
		||||
          INCINTL=
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
    ifelse(gt_included_intl, yes, [
 | 
			
		||||
        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
 | 
			
		||||
          dnl GNU gettext is not found in the C library.
 | 
			
		||||
          dnl Fall back on included GNU gettext library.
 | 
			
		||||
          nls_cv_use_gnu_gettext=yes
 | 
			
		||||
        fi
 | 
			
		||||
      fi
 | 
			
		||||
 | 
			
		||||
      if test "$nls_cv_use_gnu_gettext" = "yes"; then
 | 
			
		||||
        dnl Mark actions used to generate GNU NLS library.
 | 
			
		||||
        BUILD_INCLUDED_LIBINTL=yes
 | 
			
		||||
        USE_INCLUDED_LIBINTL=yes
 | 
			
		||||
        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
 | 
			
		||||
        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
 | 
			
		||||
        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
 | 
			
		||||
      fi
 | 
			
		||||
 | 
			
		||||
      CATOBJEXT=
 | 
			
		||||
      if test "$gt_use_preinstalled_gnugettext" = "yes" \
 | 
			
		||||
         || test "$nls_cv_use_gnu_gettext" = "yes"; then
 | 
			
		||||
        dnl Mark actions to use GNU gettext tools.
 | 
			
		||||
        CATOBJEXT=.gmo
 | 
			
		||||
      fi
 | 
			
		||||
    ])
 | 
			
		||||
 | 
			
		||||
    if test -n "$INTL_MACOSX_LIBS"; then
 | 
			
		||||
      if test "$gt_use_preinstalled_gnugettext" = "yes" \
 | 
			
		||||
         || test "$nls_cv_use_gnu_gettext" = "yes"; then
 | 
			
		||||
        dnl Some extra flags are needed during linking.
 | 
			
		||||
        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
 | 
			
		||||
        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if test "$gt_use_preinstalled_gnugettext" = "yes" \
 | 
			
		||||
       || test "$nls_cv_use_gnu_gettext" = "yes"; then
 | 
			
		||||
      AC_DEFINE([ENABLE_NLS], [1],
 | 
			
		||||
        [Define to 1 if translation of program messages to the user's native language
 | 
			
		||||
   is requested.])
 | 
			
		||||
    else
 | 
			
		||||
      USE_NLS=no
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  AC_MSG_CHECKING([whether to use NLS])
 | 
			
		||||
  AC_MSG_RESULT([$USE_NLS])
 | 
			
		||||
  if test "$USE_NLS" = "yes"; then
 | 
			
		||||
    AC_MSG_CHECKING([where the gettext function comes from])
 | 
			
		||||
    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
 | 
			
		||||
      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
 | 
			
		||||
        gt_source="external libintl"
 | 
			
		||||
      else
 | 
			
		||||
        gt_source="libc"
 | 
			
		||||
      fi
 | 
			
		||||
    else
 | 
			
		||||
      gt_source="included intl directory"
 | 
			
		||||
    fi
 | 
			
		||||
    AC_MSG_RESULT([$gt_source])
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test "$USE_NLS" = "yes"; then
 | 
			
		||||
 | 
			
		||||
    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
 | 
			
		||||
      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
 | 
			
		||||
        AC_MSG_CHECKING([how to link with libintl])
 | 
			
		||||
        AC_MSG_RESULT([$LIBINTL])
 | 
			
		||||
        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
 | 
			
		||||
      fi
 | 
			
		||||
 | 
			
		||||
      dnl For backward compatibility. Some packages may be using this.
 | 
			
		||||
      AC_DEFINE([HAVE_GETTEXT], [1],
 | 
			
		||||
       [Define if the GNU gettext() function is already present or preinstalled.])
 | 
			
		||||
      AC_DEFINE([HAVE_DCGETTEXT], [1],
 | 
			
		||||
       [Define if the GNU dcgettext() function is already present or preinstalled.])
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    dnl We need to process the po/ directory.
 | 
			
		||||
    POSUB=po
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  ifelse(gt_included_intl, yes, [
 | 
			
		||||
    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
 | 
			
		||||
    dnl to 'yes' because some of the testsuite requires it.
 | 
			
		||||
    if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
 | 
			
		||||
      BUILD_INCLUDED_LIBINTL=yes
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    dnl Make all variables we use known to autoconf.
 | 
			
		||||
    AC_SUBST([BUILD_INCLUDED_LIBINTL])
 | 
			
		||||
    AC_SUBST([USE_INCLUDED_LIBINTL])
 | 
			
		||||
    AC_SUBST([CATOBJEXT])
 | 
			
		||||
 | 
			
		||||
    dnl For backward compatibility. Some configure.ins may be using this.
 | 
			
		||||
    nls_cv_header_intl=
 | 
			
		||||
    nls_cv_header_libgt=
 | 
			
		||||
 | 
			
		||||
    dnl For backward compatibility. Some Makefiles may be using this.
 | 
			
		||||
    DATADIRNAME=share
 | 
			
		||||
    AC_SUBST([DATADIRNAME])
 | 
			
		||||
 | 
			
		||||
    dnl For backward compatibility. Some Makefiles may be using this.
 | 
			
		||||
    INSTOBJEXT=.mo
 | 
			
		||||
    AC_SUBST([INSTOBJEXT])
 | 
			
		||||
 | 
			
		||||
    dnl For backward compatibility. Some Makefiles may be using this.
 | 
			
		||||
    GENCAT=gencat
 | 
			
		||||
    AC_SUBST([GENCAT])
 | 
			
		||||
 | 
			
		||||
    dnl For backward compatibility. Some Makefiles may be using this.
 | 
			
		||||
    INTLOBJS=
 | 
			
		||||
    if test "$USE_INCLUDED_LIBINTL" = yes; then
 | 
			
		||||
      INTLOBJS="\$(GETTOBJS)"
 | 
			
		||||
    fi
 | 
			
		||||
    AC_SUBST([INTLOBJS])
 | 
			
		||||
 | 
			
		||||
    dnl Enable libtool support if the surrounding package wishes it.
 | 
			
		||||
    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
 | 
			
		||||
    AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
 | 
			
		||||
  ])
 | 
			
		||||
 | 
			
		||||
  dnl For backward compatibility. Some Makefiles may be using this.
 | 
			
		||||
  INTLLIBS="$LIBINTL"
 | 
			
		||||
  AC_SUBST([INTLLIBS])
 | 
			
		||||
 | 
			
		||||
  dnl Make all documented variables known to autoconf.
 | 
			
		||||
  AC_SUBST([LIBINTL])
 | 
			
		||||
  AC_SUBST([LTLIBINTL])
 | 
			
		||||
  AC_SUBST([POSUB])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
 | 
			
		||||
m4_define([gt_NEEDS_INIT],
 | 
			
		||||
[
 | 
			
		||||
  m4_divert_text([DEFAULTS], [gt_needs=])
 | 
			
		||||
  m4_define([gt_NEEDS_INIT], [])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
 | 
			
		||||
AC_DEFUN([AM_GNU_GETTEXT_NEED],
 | 
			
		||||
[
 | 
			
		||||
  m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
 | 
			
		||||
AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
 | 
			
		||||
							
								
								
									
										76
									
								
								gl/m4/gl-openssl.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								gl/m4/gl-openssl.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,76 @@
 | 
			
		|||
# gl-openssl.m4 serial 6
 | 
			
		||||
dnl Copyright (C) 2013-2023 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_SET_CRYPTO_CHECK_DEFAULT],
 | 
			
		||||
[
 | 
			
		||||
  m4_define([gl_CRYPTO_CHECK_DEFAULT], [$1])
 | 
			
		||||
])
 | 
			
		||||
gl_SET_CRYPTO_CHECK_DEFAULT([no])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_CRYPTO_CHECK],
 | 
			
		||||
[
 | 
			
		||||
  dnl gnulib users set this before gl_INIT with gl_SET_CRYPTO_CHECK_DEFAULT()
 | 
			
		||||
  m4_divert_once([DEFAULTS], [with_openssl_default='gl_CRYPTO_CHECK_DEFAULT'])
 | 
			
		||||
 | 
			
		||||
  dnl Only clear once, so crypto routines can be checked for individually
 | 
			
		||||
  m4_divert_once([DEFAULTS], [LIB_CRYPTO=])
 | 
			
		||||
 | 
			
		||||
  AC_ARG_WITH([openssl],
 | 
			
		||||
    [[  --with-openssl[=ARG]    use libcrypto hash routines for the hash functions
 | 
			
		||||
                          MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512.
 | 
			
		||||
                          Valid ARGs are:
 | 
			
		||||
                            'yes',
 | 
			
		||||
                            'no',
 | 
			
		||||
                            'auto' => use if any version available,
 | 
			
		||||
                            'auto-gpl-compat' => use if GPL compatible version
 | 
			
		||||
                                                 available,
 | 
			
		||||
                            'optional' => use if available
 | 
			
		||||
                                          and warn if not available;
 | 
			
		||||
                          Default is ']gl_CRYPTO_CHECK_DEFAULT['.]m4_ifdef([gl_AF_ALG], [
 | 
			
		||||
                          Note also --with-linux-crypto, which will enable the
 | 
			
		||||
                          use of Linux kernel crypto routines (if available),
 | 
			
		||||
                          which has precedence for files.])],
 | 
			
		||||
    [],
 | 
			
		||||
    [with_openssl=$with_openssl_default])
 | 
			
		||||
 | 
			
		||||
  AC_SUBST([LIB_CRYPTO])
 | 
			
		||||
  if test "x$with_openssl" != xno; then
 | 
			
		||||
    if test "x$with_openssl" = xauto-gpl-compat; then
 | 
			
		||||
      AC_CACHE_CHECK([whether openssl is GPL compatible],
 | 
			
		||||
                     [gl_cv_openssl_gpl_compat],
 | 
			
		||||
        [AC_COMPILE_IFELSE(
 | 
			
		||||
           [AC_LANG_PROGRAM([[
 | 
			
		||||
                #include <openssl/opensslv.h>
 | 
			
		||||
                #if OPENSSL_VERSION_MAJOR < 3
 | 
			
		||||
                  #error "openssl >= version 3 not found"
 | 
			
		||||
                #endif
 | 
			
		||||
              ]])],
 | 
			
		||||
           [gl_cv_openssl_gpl_compat=yes],
 | 
			
		||||
           [gl_cv_openssl_gpl_compat=no])])
 | 
			
		||||
    fi
 | 
			
		||||
    if test "x$with_openssl" != xauto-gpl-compat ||
 | 
			
		||||
       test "x$gl_cv_openssl_gpl_compat" = xyes; then
 | 
			
		||||
      AC_CHECK_LIB([crypto], [$1],
 | 
			
		||||
        [AC_CHECK_HEADERS(
 | 
			
		||||
           m4_if([$1], [MD5], [openssl/md5.h], [openssl/sha.h]),
 | 
			
		||||
           [LIB_CRYPTO=-lcrypto
 | 
			
		||||
            AC_DEFINE([HAVE_OPENSSL_$1], [1],
 | 
			
		||||
              [Define to 1 if libcrypto is used for $1.])])])
 | 
			
		||||
    fi
 | 
			
		||||
    if test "x$LIB_CRYPTO" = x; then
 | 
			
		||||
      message='openssl development library not found for $1.
 | 
			
		||||
  If you want to install it, first find the pre-built package name:
 | 
			
		||||
    - On Debian and Debian-based systems: libssl-dev,
 | 
			
		||||
    - On Red Hat distributions: openssl-devel.
 | 
			
		||||
    - Other: https://repology.org/project/openssl/versions'
 | 
			
		||||
      if test "x$with_openssl" = xyes; then
 | 
			
		||||
        AC_MSG_ERROR([$message])
 | 
			
		||||
      elif test "x$with_openssl" = xoptional; then
 | 
			
		||||
        AC_MSG_WARN([$message])
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,34 +0,0 @@
 | 
			
		|||
# glibc21.m4 serial 5
 | 
			
		||||
dnl Copyright (C) 2000-2002, 2004, 2008, 2010-2013 Free Software Foundation,
 | 
			
		||||
dnl 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.
 | 
			
		||||
 | 
			
		||||
# Test for the GNU C Library, version 2.1 or newer, or uClibc.
 | 
			
		||||
# From Bruno Haible.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_GLIBC21],
 | 
			
		||||
  [
 | 
			
		||||
    AC_CACHE_CHECK([whether we are using the GNU C Library >= 2.1 or uClibc],
 | 
			
		||||
      [ac_cv_gnu_library_2_1],
 | 
			
		||||
      [AC_EGREP_CPP([Lucky],
 | 
			
		||||
        [
 | 
			
		||||
#include <features.h>
 | 
			
		||||
#ifdef __GNU_LIBRARY__
 | 
			
		||||
 #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2)
 | 
			
		||||
  Lucky GNU user
 | 
			
		||||
 #endif
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef __UCLIBC__
 | 
			
		||||
 Lucky user
 | 
			
		||||
#endif
 | 
			
		||||
        ],
 | 
			
		||||
        [ac_cv_gnu_library_2_1=yes],
 | 
			
		||||
        [ac_cv_gnu_library_2_1=no])
 | 
			
		||||
      ]
 | 
			
		||||
    )
 | 
			
		||||
    AC_SUBST([GLIBC21])
 | 
			
		||||
    GLIBC21="$ac_cv_gnu_library_2_1"
 | 
			
		||||
  ]
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,8 +1,8 @@
 | 
			
		|||
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
 | 
			
		||||
# Copyright (C) 2002-2023 Free Software Foundation, Inc.
 | 
			
		||||
#
 | 
			
		||||
# This file is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation; either version 3 of the License, or
 | 
			
		||||
# the Free Software Foundation, either version 3 of the License, or
 | 
			
		||||
# (at your option) any later version.
 | 
			
		||||
#
 | 
			
		||||
# This file is distributed in the hope that it will be useful,
 | 
			
		||||
| 
						 | 
				
			
			@ -11,7 +11,7 @@
 | 
			
		|||
# GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with this file.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
# along with this file.  If not, see <https://www.gnu.org/licenses/>.
 | 
			
		||||
#
 | 
			
		||||
# As a special exception to the GNU General Public License,
 | 
			
		||||
# this file may be distributed as part of a program that
 | 
			
		||||
| 
						 | 
				
			
			@ -27,13 +27,45 @@
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
# Specification in the form of a command-line invocation:
 | 
			
		||||
#   gnulib-tool --import --dir=. --lib=libgnu --source-base=gl --m4-base=gl/m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files base64 crypto/sha1 dirname environ floorf fsusage getaddrinfo gethostname getloadavg getopt-gnu gettext idpriv-droptemp mountlist regex setenv strcase strcasestr strsep timegm unsetenv vasprintf vsnprintf
 | 
			
		||||
# gnulib-tool --import \
 | 
			
		||||
#  --lib=libgnu \
 | 
			
		||||
#  --source-base=gl \
 | 
			
		||||
#  --m4-base=gl/m4 \
 | 
			
		||||
#  --doc-base=doc \
 | 
			
		||||
#  --tests-base=tests \
 | 
			
		||||
#  --aux-dir=build-aux \
 | 
			
		||||
#  --no-conditional-dependencies \
 | 
			
		||||
#  --no-libtool \
 | 
			
		||||
#  --macro-prefix=gl \
 | 
			
		||||
#  --no-vc-files \
 | 
			
		||||
#  base64 \
 | 
			
		||||
#  crypto/sha256 \
 | 
			
		||||
#  dirname \
 | 
			
		||||
#  environ \
 | 
			
		||||
#  floorf \
 | 
			
		||||
#  fsusage \
 | 
			
		||||
#  getaddrinfo \
 | 
			
		||||
#  gethostname \
 | 
			
		||||
#  getloadavg \
 | 
			
		||||
#  getopt-gnu \
 | 
			
		||||
#  gettext-h \
 | 
			
		||||
#  idpriv-droptemp \
 | 
			
		||||
#  mountlist \
 | 
			
		||||
#  regex \
 | 
			
		||||
#  setenv \
 | 
			
		||||
#  strcase \
 | 
			
		||||
#  strcasestr \
 | 
			
		||||
#  strsep \
 | 
			
		||||
#  timegm \
 | 
			
		||||
#  unsetenv \
 | 
			
		||||
#  vasprintf \
 | 
			
		||||
#  vsnprintf
 | 
			
		||||
 | 
			
		||||
# Specification in the form of a few gnulib-tool.m4 macro invocations:
 | 
			
		||||
gl_LOCAL_DIR([])
 | 
			
		||||
gl_MODULES([
 | 
			
		||||
  base64
 | 
			
		||||
  crypto/sha1
 | 
			
		||||
  crypto/sha256
 | 
			
		||||
  dirname
 | 
			
		||||
  environ
 | 
			
		||||
  floorf
 | 
			
		||||
| 
						 | 
				
			
			@ -42,7 +74,7 @@ gl_MODULES([
 | 
			
		|||
  gethostname
 | 
			
		||||
  getloadavg
 | 
			
		||||
  getopt-gnu
 | 
			
		||||
  gettext
 | 
			
		||||
  gettext-h
 | 
			
		||||
  idpriv-droptemp
 | 
			
		||||
  mountlist
 | 
			
		||||
  regex
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# hostent.m4 serial 2
 | 
			
		||||
dnl Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc.
 | 
			
		||||
# hostent.m4 serial 4
 | 
			
		||||
dnl Copyright (C) 2008, 2010-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -8,12 +8,12 @@ AC_DEFUN([gl_HOSTENT],
 | 
			
		|||
[
 | 
			
		||||
  dnl Where are gethostent(), sethostent(), endhostent(), gethostbyname(),
 | 
			
		||||
  dnl gethostbyaddr() defined?
 | 
			
		||||
  dnl - On Solaris, they are in libnsl. Ignore libxnet.
 | 
			
		||||
  dnl - On Solaris < 11.4, they are in libnsl. Ignore libxnet.
 | 
			
		||||
  dnl - On Haiku, they are in libnetwork.
 | 
			
		||||
  dnl - On BeOS, they are in libnet.
 | 
			
		||||
  dnl - On native Windows, they are in ws2_32.dll.
 | 
			
		||||
  dnl - Otherwise they are in libc.
 | 
			
		||||
  AC_REQUIRE([gl_HEADER_SYS_SOCKET])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H
 | 
			
		||||
  AC_REQUIRE([gl_SYS_SOCKET_H])dnl for HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H
 | 
			
		||||
  HOSTENT_LIB=
 | 
			
		||||
  gl_saved_libs="$LIBS"
 | 
			
		||||
  AC_SEARCH_LIBS([gethostbyname], [nsl network net],
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										268
									
								
								gl/m4/iconv.m4
									
										
									
									
									
								
							
							
						
						
									
										268
									
								
								gl/m4/iconv.m4
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,268 +0,0 @@
 | 
			
		|||
# iconv.m4 serial 18 (gettext-0.18.2)
 | 
			
		||||
dnl Copyright (C) 2000-2002, 2007-2013 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.
 | 
			
		||||
 | 
			
		||||
dnl From Bruno Haible.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
 | 
			
		||||
[
 | 
			
		||||
  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
 | 
			
		||||
  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
 | 
			
		||||
  AC_REQUIRE([AC_LIB_RPATH])
 | 
			
		||||
 | 
			
		||||
  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
 | 
			
		||||
  dnl accordingly.
 | 
			
		||||
  AC_LIB_LINKFLAGS_BODY([iconv])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([AM_ICONV_LINK],
 | 
			
		||||
[
 | 
			
		||||
  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
 | 
			
		||||
  dnl those with the standalone portable GNU libiconv installed).
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 | 
			
		||||
 | 
			
		||||
  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
 | 
			
		||||
  dnl accordingly.
 | 
			
		||||
  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
 | 
			
		||||
 | 
			
		||||
  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
 | 
			
		||||
  dnl because if the user has installed libiconv and not disabled its use
 | 
			
		||||
  dnl via --without-libiconv-prefix, he wants to use it. The first
 | 
			
		||||
  dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
 | 
			
		||||
  am_save_CPPFLAGS="$CPPFLAGS"
 | 
			
		||||
  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
 | 
			
		||||
 | 
			
		||||
  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
 | 
			
		||||
    am_cv_func_iconv="no, consider installing GNU libiconv"
 | 
			
		||||
    am_cv_lib_iconv=no
 | 
			
		||||
    AC_LINK_IFELSE(
 | 
			
		||||
      [AC_LANG_PROGRAM(
 | 
			
		||||
         [[
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <iconv.h>
 | 
			
		||||
         ]],
 | 
			
		||||
         [[iconv_t cd = iconv_open("","");
 | 
			
		||||
           iconv(cd,NULL,NULL,NULL,NULL);
 | 
			
		||||
           iconv_close(cd);]])],
 | 
			
		||||
      [am_cv_func_iconv=yes])
 | 
			
		||||
    if test "$am_cv_func_iconv" != yes; then
 | 
			
		||||
      am_save_LIBS="$LIBS"
 | 
			
		||||
      LIBS="$LIBS $LIBICONV"
 | 
			
		||||
      AC_LINK_IFELSE(
 | 
			
		||||
        [AC_LANG_PROGRAM(
 | 
			
		||||
           [[
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <iconv.h>
 | 
			
		||||
           ]],
 | 
			
		||||
           [[iconv_t cd = iconv_open("","");
 | 
			
		||||
             iconv(cd,NULL,NULL,NULL,NULL);
 | 
			
		||||
             iconv_close(cd);]])],
 | 
			
		||||
        [am_cv_lib_iconv=yes]
 | 
			
		||||
        [am_cv_func_iconv=yes])
 | 
			
		||||
      LIBS="$am_save_LIBS"
 | 
			
		||||
    fi
 | 
			
		||||
  ])
 | 
			
		||||
  if test "$am_cv_func_iconv" = yes; then
 | 
			
		||||
    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
 | 
			
		||||
      dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
 | 
			
		||||
      dnl Solaris 10.
 | 
			
		||||
      am_save_LIBS="$LIBS"
 | 
			
		||||
      if test $am_cv_lib_iconv = yes; then
 | 
			
		||||
        LIBS="$LIBS $LIBICONV"
 | 
			
		||||
      fi
 | 
			
		||||
      AC_RUN_IFELSE(
 | 
			
		||||
        [AC_LANG_SOURCE([[
 | 
			
		||||
#include <iconv.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
  int result = 0;
 | 
			
		||||
  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
 | 
			
		||||
     returns.  */
 | 
			
		||||
  {
 | 
			
		||||
    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
 | 
			
		||||
    if (cd_utf8_to_88591 != (iconv_t)(-1))
 | 
			
		||||
      {
 | 
			
		||||
        static const char input[] = "\342\202\254"; /* EURO SIGN */
 | 
			
		||||
        char buf[10];
 | 
			
		||||
        const char *inptr = input;
 | 
			
		||||
        size_t inbytesleft = strlen (input);
 | 
			
		||||
        char *outptr = buf;
 | 
			
		||||
        size_t outbytesleft = sizeof (buf);
 | 
			
		||||
        size_t res = iconv (cd_utf8_to_88591,
 | 
			
		||||
                            (char **) &inptr, &inbytesleft,
 | 
			
		||||
                            &outptr, &outbytesleft);
 | 
			
		||||
        if (res == 0)
 | 
			
		||||
          result |= 1;
 | 
			
		||||
        iconv_close (cd_utf8_to_88591);
 | 
			
		||||
      }
 | 
			
		||||
  }
 | 
			
		||||
  /* Test against Solaris 10 bug: Failures are not distinguishable from
 | 
			
		||||
     successful returns.  */
 | 
			
		||||
  {
 | 
			
		||||
    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
 | 
			
		||||
    if (cd_ascii_to_88591 != (iconv_t)(-1))
 | 
			
		||||
      {
 | 
			
		||||
        static const char input[] = "\263";
 | 
			
		||||
        char buf[10];
 | 
			
		||||
        const char *inptr = input;
 | 
			
		||||
        size_t inbytesleft = strlen (input);
 | 
			
		||||
        char *outptr = buf;
 | 
			
		||||
        size_t outbytesleft = sizeof (buf);
 | 
			
		||||
        size_t res = iconv (cd_ascii_to_88591,
 | 
			
		||||
                            (char **) &inptr, &inbytesleft,
 | 
			
		||||
                            &outptr, &outbytesleft);
 | 
			
		||||
        if (res == 0)
 | 
			
		||||
          result |= 2;
 | 
			
		||||
        iconv_close (cd_ascii_to_88591);
 | 
			
		||||
      }
 | 
			
		||||
  }
 | 
			
		||||
  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
 | 
			
		||||
  {
 | 
			
		||||
    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
 | 
			
		||||
    if (cd_88591_to_utf8 != (iconv_t)(-1))
 | 
			
		||||
      {
 | 
			
		||||
        static const char input[] = "\304";
 | 
			
		||||
        static char buf[2] = { (char)0xDE, (char)0xAD };
 | 
			
		||||
        const char *inptr = input;
 | 
			
		||||
        size_t inbytesleft = 1;
 | 
			
		||||
        char *outptr = buf;
 | 
			
		||||
        size_t outbytesleft = 1;
 | 
			
		||||
        size_t res = iconv (cd_88591_to_utf8,
 | 
			
		||||
                            (char **) &inptr, &inbytesleft,
 | 
			
		||||
                            &outptr, &outbytesleft);
 | 
			
		||||
        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
 | 
			
		||||
          result |= 4;
 | 
			
		||||
        iconv_close (cd_88591_to_utf8);
 | 
			
		||||
      }
 | 
			
		||||
  }
 | 
			
		||||
#if 0 /* This bug could be worked around by the caller.  */
 | 
			
		||||
  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
 | 
			
		||||
  {
 | 
			
		||||
    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
 | 
			
		||||
    if (cd_88591_to_utf8 != (iconv_t)(-1))
 | 
			
		||||
      {
 | 
			
		||||
        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
 | 
			
		||||
        char buf[50];
 | 
			
		||||
        const char *inptr = input;
 | 
			
		||||
        size_t inbytesleft = strlen (input);
 | 
			
		||||
        char *outptr = buf;
 | 
			
		||||
        size_t outbytesleft = sizeof (buf);
 | 
			
		||||
        size_t res = iconv (cd_88591_to_utf8,
 | 
			
		||||
                            (char **) &inptr, &inbytesleft,
 | 
			
		||||
                            &outptr, &outbytesleft);
 | 
			
		||||
        if ((int)res > 0)
 | 
			
		||||
          result |= 8;
 | 
			
		||||
        iconv_close (cd_88591_to_utf8);
 | 
			
		||||
      }
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
 | 
			
		||||
     provided.  */
 | 
			
		||||
  if (/* Try standardized names.  */
 | 
			
		||||
      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
 | 
			
		||||
      /* Try IRIX, OSF/1 names.  */
 | 
			
		||||
      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
 | 
			
		||||
      /* Try AIX names.  */
 | 
			
		||||
      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
 | 
			
		||||
      /* Try HP-UX names.  */
 | 
			
		||||
      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
 | 
			
		||||
    result |= 16;
 | 
			
		||||
  return result;
 | 
			
		||||
}]])],
 | 
			
		||||
        [am_cv_func_iconv_works=yes],
 | 
			
		||||
        [am_cv_func_iconv_works=no],
 | 
			
		||||
        [
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
         case "$host_os" in
 | 
			
		||||
           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
 | 
			
		||||
           *)            am_cv_func_iconv_works="guessing yes" ;;
 | 
			
		||||
         esac
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
        ])
 | 
			
		||||
      LIBS="$am_save_LIBS"
 | 
			
		||||
    ])
 | 
			
		||||
    case "$am_cv_func_iconv_works" in
 | 
			
		||||
      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
 | 
			
		||||
      *)   am_func_iconv=yes ;;
 | 
			
		||||
    esac
 | 
			
		||||
  else
 | 
			
		||||
    am_func_iconv=no am_cv_lib_iconv=no
 | 
			
		||||
  fi
 | 
			
		||||
  if test "$am_func_iconv" = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE_ICONV], [1],
 | 
			
		||||
      [Define if you have the iconv() function and it works.])
 | 
			
		||||
  fi
 | 
			
		||||
  if test "$am_cv_lib_iconv" = yes; then
 | 
			
		||||
    AC_MSG_CHECKING([how to link with libiconv])
 | 
			
		||||
    AC_MSG_RESULT([$LIBICONV])
 | 
			
		||||
  else
 | 
			
		||||
    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
 | 
			
		||||
    dnl either.
 | 
			
		||||
    CPPFLAGS="$am_save_CPPFLAGS"
 | 
			
		||||
    LIBICONV=
 | 
			
		||||
    LTLIBICONV=
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([LIBICONV])
 | 
			
		||||
  AC_SUBST([LTLIBICONV])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
 | 
			
		||||
dnl avoid warnings like
 | 
			
		||||
dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
 | 
			
		||||
dnl This is tricky because of the way 'aclocal' is implemented:
 | 
			
		||||
dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
 | 
			
		||||
dnl   Otherwise aclocal's initial scan pass would miss the macro definition.
 | 
			
		||||
dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
 | 
			
		||||
dnl   Otherwise aclocal would emit many "Use of uninitialized value $1"
 | 
			
		||||
dnl   warnings.
 | 
			
		||||
m4_define([gl_iconv_AC_DEFUN],
 | 
			
		||||
  m4_version_prereq([2.64],
 | 
			
		||||
    [[AC_DEFUN_ONCE(
 | 
			
		||||
        [$1], [$2])]],
 | 
			
		||||
    [m4_ifdef([gl_00GNULIB],
 | 
			
		||||
       [[AC_DEFUN_ONCE(
 | 
			
		||||
           [$1], [$2])]],
 | 
			
		||||
       [[AC_DEFUN(
 | 
			
		||||
           [$1], [$2])]])]))
 | 
			
		||||
gl_iconv_AC_DEFUN([AM_ICONV],
 | 
			
		||||
[
 | 
			
		||||
  AM_ICONV_LINK
 | 
			
		||||
  if test "$am_cv_func_iconv" = yes; then
 | 
			
		||||
    AC_MSG_CHECKING([for iconv declaration])
 | 
			
		||||
    AC_CACHE_VAL([am_cv_proto_iconv], [
 | 
			
		||||
      AC_COMPILE_IFELSE(
 | 
			
		||||
        [AC_LANG_PROGRAM(
 | 
			
		||||
           [[
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <iconv.h>
 | 
			
		||||
extern
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
"C"
 | 
			
		||||
#endif
 | 
			
		||||
#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
 | 
			
		||||
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
 | 
			
		||||
#else
 | 
			
		||||
size_t iconv();
 | 
			
		||||
#endif
 | 
			
		||||
           ]],
 | 
			
		||||
           [[]])],
 | 
			
		||||
        [am_cv_proto_iconv_arg1=""],
 | 
			
		||||
        [am_cv_proto_iconv_arg1="const"])
 | 
			
		||||
      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
 | 
			
		||||
    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
 | 
			
		||||
    AC_MSG_RESULT([
 | 
			
		||||
         $am_cv_proto_iconv])
 | 
			
		||||
    AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
 | 
			
		||||
      [Define as const if the declaration of iconv() needs const.])
 | 
			
		||||
    dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
 | 
			
		||||
    m4_ifdef([gl_ICONV_H_DEFAULTS],
 | 
			
		||||
      [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
 | 
			
		||||
       if test -n "$am_cv_proto_iconv_arg1"; then
 | 
			
		||||
         ICONV_CONST="const"
 | 
			
		||||
       fi
 | 
			
		||||
      ])
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# idpriv.m4 serial 1
 | 
			
		||||
dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
dnl Copyright (C) 2009-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,12 +1,13 @@
 | 
			
		|||
# include_next.m4 serial 23
 | 
			
		||||
dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
 | 
			
		||||
# include_next.m4 serial 26
 | 
			
		||||
dnl Copyright (C) 2006-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl From Paul Eggert and Derek Price.
 | 
			
		||||
 | 
			
		||||
dnl Sets INCLUDE_NEXT and PRAGMA_SYSTEM_HEADER.
 | 
			
		||||
dnl Sets INCLUDE_NEXT, INCLUDE_NEXT_AS_FIRST_DIRECTIVE, PRAGMA_SYSTEM_HEADER,
 | 
			
		||||
dnl and PRAGMA_COLUMNS.
 | 
			
		||||
dnl
 | 
			
		||||
dnl INCLUDE_NEXT expands to 'include_next' if the compiler supports it, or to
 | 
			
		||||
dnl 'include' otherwise.
 | 
			
		||||
| 
						 | 
				
			
			@ -105,19 +106,21 @@ dnl We intentionally avoid using AC_LANG_SOURCE here.
 | 
			
		|||
  AC_SUBST([INCLUDE_NEXT])
 | 
			
		||||
  AC_SUBST([INCLUDE_NEXT_AS_FIRST_DIRECTIVE])
 | 
			
		||||
  AC_SUBST([PRAGMA_SYSTEM_HEADER])
 | 
			
		||||
  AC_CACHE_CHECK([whether system header files limit the line length],
 | 
			
		||||
    [gl_cv_pragma_columns],
 | 
			
		||||
    [dnl HP NonStop systems, which define __TANDEM, have this misfeature.
 | 
			
		||||
     AC_EGREP_CPP([choke me],
 | 
			
		||||
 | 
			
		||||
  dnl HP NonStop systems, which define __TANDEM, limit the line length
 | 
			
		||||
  dnl after including some system header files.
 | 
			
		||||
  AC_CACHE_CHECK([whether source code line length is unlimited],
 | 
			
		||||
    [gl_cv_source_line_length_unlimited],
 | 
			
		||||
    [AC_EGREP_CPP([choke me],
 | 
			
		||||
       [
 | 
			
		||||
#ifdef __TANDEM
 | 
			
		||||
choke me
 | 
			
		||||
#endif
 | 
			
		||||
       ],
 | 
			
		||||
       [gl_cv_pragma_columns=yes],
 | 
			
		||||
       [gl_cv_pragma_columns=no])
 | 
			
		||||
       [gl_cv_source_line_length_unlimited=no],
 | 
			
		||||
       [gl_cv_source_line_length_unlimited=yes])
 | 
			
		||||
    ])
 | 
			
		||||
  if test $gl_cv_pragma_columns = yes; then
 | 
			
		||||
  if test $gl_cv_source_line_length_unlimited = no; then
 | 
			
		||||
    PRAGMA_COLUMNS="#pragma COLUMNS 10000"
 | 
			
		||||
  else
 | 
			
		||||
    PRAGMA_COLUMNS=
 | 
			
		||||
| 
						 | 
				
			
			@ -175,89 +178,40 @@ AC_DEFUN([gl_NEXT_HEADERS_INTERNAL],
 | 
			
		|||
    [AC_CHECK_HEADERS_ONCE([$1])
 | 
			
		||||
    ])
 | 
			
		||||
 | 
			
		||||
dnl FIXME: gl_next_header and gl_header_exists must be used unquoted
 | 
			
		||||
dnl until we can assume autoconf 2.64 or newer.
 | 
			
		||||
  m4_foreach_w([gl_HEADER_NAME], [$1],
 | 
			
		||||
    [AS_VAR_PUSHDEF([gl_next_header],
 | 
			
		||||
                    [gl_cv_next_]m4_defn([gl_HEADER_NAME]))
 | 
			
		||||
     if test $gl_cv_have_include_next = yes; then
 | 
			
		||||
       AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
 | 
			
		||||
       AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
 | 
			
		||||
     else
 | 
			
		||||
       AC_CACHE_CHECK(
 | 
			
		||||
         [absolute name of <]m4_defn([gl_HEADER_NAME])[>],
 | 
			
		||||
         m4_defn([gl_next_header]),
 | 
			
		||||
         [gl_next_header],
 | 
			
		||||
         [m4_if([$2], [check],
 | 
			
		||||
            [AS_VAR_PUSHDEF([gl_header_exists],
 | 
			
		||||
                            [ac_cv_header_]m4_defn([gl_HEADER_NAME]))
 | 
			
		||||
             if test AS_VAR_GET(gl_header_exists) = yes; then
 | 
			
		||||
             if test AS_VAR_GET([gl_header_exists]) = yes; then
 | 
			
		||||
             AS_VAR_POPDEF([gl_header_exists])
 | 
			
		||||
            ])
 | 
			
		||||
               AC_LANG_CONFTEST(
 | 
			
		||||
                 [AC_LANG_SOURCE(
 | 
			
		||||
                    [[#include <]]m4_dquote(m4_defn([gl_HEADER_NAME]))[[>]]
 | 
			
		||||
                  )])
 | 
			
		||||
               dnl AIX "xlc -E" and "cc -E" omit #line directives for header
 | 
			
		||||
               dnl files that contain only a #include of other header files and
 | 
			
		||||
               dnl no non-comment tokens of their own. This leads to a failure
 | 
			
		||||
               dnl to detect the absolute name of <dirent.h>, <signal.h>,
 | 
			
		||||
               dnl <poll.h> and others. The workaround is to force preservation
 | 
			
		||||
               dnl of comments through option -C. This ensures all necessary
 | 
			
		||||
               dnl #line directives are present. GCC supports option -C as well.
 | 
			
		||||
               case "$host_os" in
 | 
			
		||||
                 aix*) gl_absname_cpp="$ac_cpp -C" ;;
 | 
			
		||||
                 *)    gl_absname_cpp="$ac_cpp" ;;
 | 
			
		||||
               esac
 | 
			
		||||
changequote(,)
 | 
			
		||||
               case "$host_os" in
 | 
			
		||||
                 mingw*)
 | 
			
		||||
                   dnl For the sake of native Windows compilers (excluding gcc),
 | 
			
		||||
                   dnl treat backslash as a directory separator, like /.
 | 
			
		||||
                   dnl Actually, these compilers use a double-backslash as
 | 
			
		||||
                   dnl directory separator, inside the
 | 
			
		||||
                   dnl   # line "filename"
 | 
			
		||||
                   dnl directives.
 | 
			
		||||
                   gl_dirsep_regex='[/\\]'
 | 
			
		||||
                   ;;
 | 
			
		||||
                 *)
 | 
			
		||||
                   gl_dirsep_regex='\/'
 | 
			
		||||
                   ;;
 | 
			
		||||
               esac
 | 
			
		||||
               dnl A sed expression that turns a string into a basic regular
 | 
			
		||||
               dnl expression, for use within "/.../".
 | 
			
		||||
               gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g'
 | 
			
		||||
changequote([,])
 | 
			
		||||
               gl_header_literal_regex=`echo ']m4_defn([gl_HEADER_NAME])[' \
 | 
			
		||||
                                        | sed -e "$gl_make_literal_regex_sed"`
 | 
			
		||||
               gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{
 | 
			
		||||
                   s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
                   s|^/[^/]|//&|
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
                   p
 | 
			
		||||
                   q
 | 
			
		||||
                 }'
 | 
			
		||||
               dnl eval is necessary to expand gl_absname_cpp.
 | 
			
		||||
               dnl Ultrix and Pyramid sh refuse to redirect output of eval,
 | 
			
		||||
               dnl so use subshell.
 | 
			
		||||
               AS_VAR_SET(gl_next_header,
 | 
			
		||||
                 ['"'`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD |
 | 
			
		||||
                      sed -n "$gl_absolute_header_sed"`'"'])
 | 
			
		||||
          gl_ABSOLUTE_HEADER_ONE(gl_HEADER_NAME)
 | 
			
		||||
          AS_VAR_COPY([gl_header], [gl_cv_absolute_]AS_TR_SH(gl_HEADER_NAME))
 | 
			
		||||
          AS_VAR_SET([gl_next_header], ['"'$gl_header'"'])
 | 
			
		||||
          m4_if([$2], [check],
 | 
			
		||||
            [else
 | 
			
		||||
               AS_VAR_SET(gl_next_header, ['<'gl_HEADER_NAME'>'])
 | 
			
		||||
               AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
 | 
			
		||||
             fi
 | 
			
		||||
            ])
 | 
			
		||||
         ])
 | 
			
		||||
     fi
 | 
			
		||||
     AC_SUBST(
 | 
			
		||||
       AS_TR_CPP([NEXT_]m4_defn([gl_HEADER_NAME])),
 | 
			
		||||
       [AS_VAR_GET(gl_next_header)])
 | 
			
		||||
       [AS_VAR_GET([gl_next_header])])
 | 
			
		||||
     if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then
 | 
			
		||||
       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next'
 | 
			
		||||
       gl_next_as_first_directive='<'gl_HEADER_NAME'>'
 | 
			
		||||
     else
 | 
			
		||||
       # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include'
 | 
			
		||||
       gl_next_as_first_directive=AS_VAR_GET(gl_next_header)
 | 
			
		||||
       gl_next_as_first_directive=AS_VAR_GET([gl_next_header])
 | 
			
		||||
     fi
 | 
			
		||||
     AC_SUBST(
 | 
			
		||||
       AS_TR_CPP([NEXT_AS_FIRST_DIRECTIVE_]m4_defn([gl_HEADER_NAME])),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# inet_ntop.m4 serial 19
 | 
			
		||||
dnl Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
# inet_ntop.m4 serial 21
 | 
			
		||||
dnl Copyright (C) 2005-2006, 2008-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -16,6 +16,7 @@ AC_DEFUN([gl_FUNC_INET_NTOP],
 | 
			
		|||
  dnl Most platforms that provide inet_ntop define it in libc.
 | 
			
		||||
  dnl Solaris 8..10 provide inet_ntop in libnsl instead.
 | 
			
		||||
  dnl Solaris 2.6..7 provide inet_ntop in libresolv instead.
 | 
			
		||||
  dnl Haiku provides it in -lnetwork.
 | 
			
		||||
  dnl Native Windows provides it in -lws2_32 instead, with a declaration in
 | 
			
		||||
  dnl <ws2tcpip.h>, and it uses stdcall calling convention, not cdecl
 | 
			
		||||
  dnl (hence we cannot use AC_CHECK_FUNCS, AC_SEARCH_LIBS to find it).
 | 
			
		||||
| 
						 | 
				
			
			@ -23,19 +24,20 @@ AC_DEFUN([gl_FUNC_INET_NTOP],
 | 
			
		|||
  INET_NTOP_LIB=
 | 
			
		||||
  gl_PREREQ_SYS_H_WINSOCK2
 | 
			
		||||
  if test $HAVE_WINSOCK2_H = 1; then
 | 
			
		||||
    dnl It needs to be overridden, because the stdcall calling convention
 | 
			
		||||
    dnl is not compliant with POSIX.  Set REPLACE_INET_NTOP in order to avoid
 | 
			
		||||
    dnl a name conflict at the linker level, even though the header file
 | 
			
		||||
    dnl <ws2tcpip.h> declares inet_ntop only if _WIN32_WINNT >= 0x0600.
 | 
			
		||||
    REPLACE_INET_NTOP=1
 | 
			
		||||
    AC_CHECK_DECLS([inet_ntop],,, [[#include <ws2tcpip.h>]])
 | 
			
		||||
    if test $ac_cv_have_decl_inet_ntop = yes; then
 | 
			
		||||
      dnl It needs to be overridden, because the stdcall calling convention
 | 
			
		||||
      dnl is not compliant with POSIX.
 | 
			
		||||
      REPLACE_INET_NTOP=1
 | 
			
		||||
      INET_NTOP_LIB="-lws2_32"
 | 
			
		||||
    else
 | 
			
		||||
      HAVE_DECL_INET_NTOP=0
 | 
			
		||||
      HAVE_INET_NTOP=0
 | 
			
		||||
    fi
 | 
			
		||||
  else
 | 
			
		||||
    gl_save_LIBS=$LIBS
 | 
			
		||||
    AC_SEARCH_LIBS([inet_ntop], [nsl resolv], [],
 | 
			
		||||
    AC_SEARCH_LIBS([inet_ntop], [nsl resolv network], [],
 | 
			
		||||
      [AC_CHECK_FUNCS([inet_ntop])
 | 
			
		||||
       if test $ac_cv_func_inet_ntop = no; then
 | 
			
		||||
         HAVE_INET_NTOP=0
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,56 +0,0 @@
 | 
			
		|||
# intlmacosx.m4 serial 5 (gettext-0.18.2)
 | 
			
		||||
dnl Copyright (C) 2004-2013 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.
 | 
			
		||||
dnl
 | 
			
		||||
dnl This file can can be used in projects which are not available under
 | 
			
		||||
dnl the GNU General Public License or the GNU Library General Public
 | 
			
		||||
dnl License but which still want to provide support for the GNU gettext
 | 
			
		||||
dnl functionality.
 | 
			
		||||
dnl Please note that the actual code of the GNU gettext library is covered
 | 
			
		||||
dnl by the GNU Library General Public License, and the rest of the GNU
 | 
			
		||||
dnl gettext package package is covered by the GNU General Public License.
 | 
			
		||||
dnl They are *not* in the public domain.
 | 
			
		||||
 | 
			
		||||
dnl Checks for special options needed on Mac OS X.
 | 
			
		||||
dnl Defines INTL_MACOSX_LIBS.
 | 
			
		||||
AC_DEFUN([gt_INTL_MACOSX],
 | 
			
		||||
[
 | 
			
		||||
  dnl Check for API introduced in Mac OS X 10.2.
 | 
			
		||||
  AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
 | 
			
		||||
    [gt_cv_func_CFPreferencesCopyAppValue],
 | 
			
		||||
    [gt_save_LIBS="$LIBS"
 | 
			
		||||
     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
 | 
			
		||||
     AC_LINK_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
          [[#include <CoreFoundation/CFPreferences.h>]],
 | 
			
		||||
          [[CFPreferencesCopyAppValue(NULL, NULL)]])],
 | 
			
		||||
       [gt_cv_func_CFPreferencesCopyAppValue=yes],
 | 
			
		||||
       [gt_cv_func_CFPreferencesCopyAppValue=no])
 | 
			
		||||
     LIBS="$gt_save_LIBS"])
 | 
			
		||||
  if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
 | 
			
		||||
      [Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
 | 
			
		||||
  fi
 | 
			
		||||
  dnl Check for API introduced in Mac OS X 10.3.
 | 
			
		||||
  AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
 | 
			
		||||
    [gt_save_LIBS="$LIBS"
 | 
			
		||||
     LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
 | 
			
		||||
     AC_LINK_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
          [[#include <CoreFoundation/CFLocale.h>]],
 | 
			
		||||
          [[CFLocaleCopyCurrent();]])],
 | 
			
		||||
       [gt_cv_func_CFLocaleCopyCurrent=yes],
 | 
			
		||||
       [gt_cv_func_CFLocaleCopyCurrent=no])
 | 
			
		||||
     LIBS="$gt_save_LIBS"])
 | 
			
		||||
  if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
 | 
			
		||||
      [Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
 | 
			
		||||
  fi
 | 
			
		||||
  INTL_MACOSX_LIBS=
 | 
			
		||||
  if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then
 | 
			
		||||
    INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([INTL_MACOSX_LIBS])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# intmax_t.m4 serial 8
 | 
			
		||||
dnl Copyright (C) 1997-2004, 2006-2007, 2009-2013 Free Software Foundation,
 | 
			
		||||
# intmax_t.m4 serial 9
 | 
			
		||||
dnl Copyright (C) 1997-2004, 2006-2007, 2009-2023 Free Software Foundation,
 | 
			
		||||
dnl Inc.
 | 
			
		||||
dnl This file is free software; the Free Software Foundation
 | 
			
		||||
dnl gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
| 
						 | 
				
			
			@ -19,11 +19,7 @@ AC_DEFUN([gl_AC_TYPE_INTMAX_T],
 | 
			
		|||
  AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
 | 
			
		||||
  AC_REQUIRE([gl_AC_HEADER_STDINT_H])
 | 
			
		||||
  if test $gl_cv_header_inttypes_h = no && test $gl_cv_header_stdint_h = no; then
 | 
			
		||||
    AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
 | 
			
		||||
    test $ac_cv_type_long_long_int = yes \
 | 
			
		||||
      && ac_type='long long' \
 | 
			
		||||
      || ac_type='long'
 | 
			
		||||
    AC_DEFINE_UNQUOTED([intmax_t], [$ac_type],
 | 
			
		||||
    AC_DEFINE_UNQUOTED([intmax_t], [long long],
 | 
			
		||||
     [Define to long or long long if <inttypes.h> and <stdint.h> don't define.])
 | 
			
		||||
  else
 | 
			
		||||
    AC_DEFINE([HAVE_INTMAX_T], [1],
 | 
			
		||||
| 
						 | 
				
			
			@ -57,11 +53,7 @@ AC_DEFUN([gt_AC_TYPE_INTMAX_T],
 | 
			
		|||
    AC_DEFINE([HAVE_INTMAX_T], [1],
 | 
			
		||||
      [Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>.])
 | 
			
		||||
  else
 | 
			
		||||
    AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
 | 
			
		||||
    test $ac_cv_type_long_long_int = yes \
 | 
			
		||||
      && ac_type='long long' \
 | 
			
		||||
      || ac_type='long'
 | 
			
		||||
    AC_DEFINE_UNQUOTED([intmax_t], [$ac_type],
 | 
			
		||||
    AC_DEFINE_UNQUOTED([intmax_t], [long long],
 | 
			
		||||
     [Define to long or long long if <stdint.h> and <inttypes.h> don't define.])
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										180
									
								
								gl/m4/inttypes.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										180
									
								
								gl/m4/inttypes.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,180 @@
 | 
			
		|||
# inttypes.m4 serial 36
 | 
			
		||||
dnl Copyright (C) 2006-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl From Derek Price, Bruno Haible.
 | 
			
		||||
dnl Test whether <inttypes.h> is supported or must be substituted.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN_ONCE([gl_INTTYPES_H],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_INTTYPES_INCOMPLETE])
 | 
			
		||||
  gl_INTTYPES_PRI_SCN
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN_ONCE([gl_INTTYPES_INCOMPLETE],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDINT_H])
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([inttypes.h])
 | 
			
		||||
 | 
			
		||||
  dnl Override <inttypes.h> always, so that the portability warnings work.
 | 
			
		||||
  AC_REQUIRE([gl_INTTYPES_H_DEFAULTS])
 | 
			
		||||
  gl_CHECK_NEXT_HEADERS([inttypes.h])
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([gl_MULTIARCH])
 | 
			
		||||
 | 
			
		||||
  dnl Check for declarations of anything we want to poison if the
 | 
			
		||||
  dnl corresponding gnulib module is not in use.
 | 
			
		||||
  gl_WARN_ON_USE_PREPARE([[#include <inttypes.h>
 | 
			
		||||
    ]], [imaxabs imaxdiv strtoimax strtoumax])
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([AC_C_RESTRICT])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Ensure that the PRI* and SCN* macros are defined appropriately.
 | 
			
		||||
AC_DEFUN([gl_INTTYPES_PRI_SCN],
 | 
			
		||||
[
 | 
			
		||||
  PRIPTR_PREFIX=
 | 
			
		||||
  if $GL_GENERATE_STDINT_H; then
 | 
			
		||||
    dnl Using the gnulib <stdint.h>. It defines intptr_t to 'long' or
 | 
			
		||||
    dnl 'long long', depending on _WIN64.
 | 
			
		||||
    AC_COMPILE_IFELSE(
 | 
			
		||||
      [AC_LANG_PROGRAM([[
 | 
			
		||||
         #ifdef _WIN64
 | 
			
		||||
         LLP64
 | 
			
		||||
         #endif
 | 
			
		||||
         ]])
 | 
			
		||||
      ],
 | 
			
		||||
      [PRIPTR_PREFIX='"l"'],
 | 
			
		||||
      [PRIPTR_PREFIX='"ll"'])
 | 
			
		||||
  else
 | 
			
		||||
    dnl Using the system's <stdint.h>.
 | 
			
		||||
    for glpfx in '' l ll I64; do
 | 
			
		||||
      case $glpfx in
 | 
			
		||||
        '')  gltype1='int';;
 | 
			
		||||
        l)   gltype1='long int';;
 | 
			
		||||
        ll)  gltype1='long long int';;
 | 
			
		||||
        I64) gltype1='__int64';;
 | 
			
		||||
      esac
 | 
			
		||||
      AC_COMPILE_IFELSE(
 | 
			
		||||
        [AC_LANG_PROGRAM([[#include <stdint.h>
 | 
			
		||||
           extern intptr_t foo;
 | 
			
		||||
           extern $gltype1 foo;]])],
 | 
			
		||||
        [PRIPTR_PREFIX='"'$glpfx'"'])
 | 
			
		||||
      test -n "$PRIPTR_PREFIX" && break
 | 
			
		||||
    done
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([PRIPTR_PREFIX])
 | 
			
		||||
 | 
			
		||||
  gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION(
 | 
			
		||||
    [INT32_MAX_LT_INTMAX_MAX],
 | 
			
		||||
    [defined INT32_MAX && defined INTMAX_MAX],
 | 
			
		||||
    [INT32_MAX < INTMAX_MAX],
 | 
			
		||||
    [sizeof (int) < sizeof (long long int)])
 | 
			
		||||
  if test $APPLE_UNIVERSAL_BUILD = 0; then
 | 
			
		||||
    gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION(
 | 
			
		||||
      [INT64_MAX_EQ_LONG_MAX],
 | 
			
		||||
      [defined INT64_MAX],
 | 
			
		||||
      [INT64_MAX == LONG_MAX],
 | 
			
		||||
      [sizeof (long long int) == sizeof (long int)])
 | 
			
		||||
  else
 | 
			
		||||
    INT64_MAX_EQ_LONG_MAX=-1
 | 
			
		||||
  fi
 | 
			
		||||
  gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION(
 | 
			
		||||
    [UINT32_MAX_LT_UINTMAX_MAX],
 | 
			
		||||
    [defined UINT32_MAX && defined UINTMAX_MAX],
 | 
			
		||||
    [UINT32_MAX < UINTMAX_MAX],
 | 
			
		||||
    [sizeof (unsigned int) < sizeof (unsigned long long int)])
 | 
			
		||||
  if test $APPLE_UNIVERSAL_BUILD = 0; then
 | 
			
		||||
    gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION(
 | 
			
		||||
      [UINT64_MAX_EQ_ULONG_MAX],
 | 
			
		||||
      [defined UINT64_MAX],
 | 
			
		||||
      [UINT64_MAX == ULONG_MAX],
 | 
			
		||||
      [sizeof (unsigned long long int) == sizeof (unsigned long int)])
 | 
			
		||||
  else
 | 
			
		||||
    UINT64_MAX_EQ_ULONG_MAX=-1
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Define the symbol $1 to be 1 if the condition is true, 0 otherwise.
 | 
			
		||||
# If $2 is true, the condition is $3; otherwise if long long int is supported
 | 
			
		||||
# approximate the condition with $4; otherwise, assume the condition is false.
 | 
			
		||||
# The condition should work on all C99 platforms; the approximations should be
 | 
			
		||||
# good enough to work on all practical pre-C99 platforms.
 | 
			
		||||
# $2 is evaluated by the C preprocessor, $3 and $4 as compile-time constants.
 | 
			
		||||
AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION],
 | 
			
		||||
[
 | 
			
		||||
  AC_CACHE_CHECK([whether $3],
 | 
			
		||||
    [gl_cv_test_$1],
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
          [[/* Work also in C++ mode.  */
 | 
			
		||||
            #define __STDC_LIMIT_MACROS 1
 | 
			
		||||
 | 
			
		||||
            /* Work if build is not clean.  */
 | 
			
		||||
            #define _GL_JUST_INCLUDE_SYSTEM_STDINT_H
 | 
			
		||||
 | 
			
		||||
            #include <limits.h>
 | 
			
		||||
            #if HAVE_STDINT_H
 | 
			
		||||
             #include <stdint.h>
 | 
			
		||||
            #endif
 | 
			
		||||
 | 
			
		||||
            #if $2
 | 
			
		||||
             #define CONDITION ($3)
 | 
			
		||||
            #else
 | 
			
		||||
             #define CONDITION ($4)
 | 
			
		||||
            #endif
 | 
			
		||||
            int test[CONDITION ? 1 : -1];]])],
 | 
			
		||||
       [gl_cv_test_$1=yes],
 | 
			
		||||
       [gl_cv_test_$1=no])])
 | 
			
		||||
  if test $gl_cv_test_$1 = yes; then
 | 
			
		||||
    $1=1;
 | 
			
		||||
  else
 | 
			
		||||
    $1=0;
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([$1])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_INTTYPES_MODULE_INDICATOR([modulename])
 | 
			
		||||
# sets the shell variable that indicates the presence of the given module
 | 
			
		||||
# to a C preprocessor expression that will evaluate to 1.
 | 
			
		||||
# This macro invocation must not occur in macros that are AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_INTTYPES_MODULE_INDICATOR],
 | 
			
		||||
[
 | 
			
		||||
  dnl Ensure to expand the default settings once only.
 | 
			
		||||
  gl_INTTYPES_H_REQUIRE_DEFAULTS
 | 
			
		||||
  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Initializes the default values for AC_SUBSTed shell variables.
 | 
			
		||||
# This macro must not be AC_REQUIREd.  It must only be invoked, and only
 | 
			
		||||
# outside of macros or in macros that are not AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_INTTYPES_H_REQUIRE_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  m4_defun(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULTS], [
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXABS])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXDIV])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOIMAX])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUMAX])
 | 
			
		||||
  ])
 | 
			
		||||
  m4_require(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_INTTYPES_H_DEFAULTS])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_INTTYPES_H_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  dnl Assume proper GNU behavior unless another module says otherwise.
 | 
			
		||||
  HAVE_DECL_IMAXABS=1;   AC_SUBST([HAVE_DECL_IMAXABS])
 | 
			
		||||
  HAVE_DECL_IMAXDIV=1;   AC_SUBST([HAVE_DECL_IMAXDIV])
 | 
			
		||||
  HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX])
 | 
			
		||||
  HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX])
 | 
			
		||||
  HAVE_IMAXDIV_T=1;      AC_SUBST([HAVE_IMAXDIV_T])
 | 
			
		||||
  REPLACE_STRTOIMAX=0;   AC_SUBST([REPLACE_STRTOIMAX])
 | 
			
		||||
  REPLACE_STRTOUMAX=0;   AC_SUBST([REPLACE_STRTOUMAX])
 | 
			
		||||
  INT32_MAX_LT_INTMAX_MAX=1;  AC_SUBST([INT32_MAX_LT_INTMAX_MAX])
 | 
			
		||||
  INT64_MAX_EQ_LONG_MAX='defined _LP64';  AC_SUBST([INT64_MAX_EQ_LONG_MAX])
 | 
			
		||||
  PRIPTR_PREFIX=__PRIPTR_PREFIX;  AC_SUBST([PRIPTR_PREFIX])
 | 
			
		||||
  UINT32_MAX_LT_UINTMAX_MAX=1;  AC_SUBST([UINT32_MAX_LT_UINTMAX_MAX])
 | 
			
		||||
  UINT64_MAX_EQ_ULONG_MAX='defined _LP64';  AC_SUBST([UINT64_MAX_EQ_ULONG_MAX])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# inttypes_h.m4 serial 10
 | 
			
		||||
dnl Copyright (C) 1997-2004, 2006, 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
dnl Copyright (C) 1997-2004, 2006, 2008-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,10 +1,10 @@
 | 
			
		|||
# langinfo_h.m4 serial 7
 | 
			
		||||
dnl Copyright (C) 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# langinfo_h.m4 serial 12
 | 
			
		||||
dnl Copyright (C) 2009-2023 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_LANGINFO_H],
 | 
			
		||||
AC_DEFUN_ONCE([gl_LANGINFO_H],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_LANGINFO_H_DEFAULTS])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -17,13 +17,17 @@ AC_DEFUN([gl_LANGINFO_H],
 | 
			
		|||
  dnl Determine whether <langinfo.h> exists. It is missing on mingw and BeOS.
 | 
			
		||||
  HAVE_LANGINFO_CODESET=0
 | 
			
		||||
  HAVE_LANGINFO_T_FMT_AMPM=0
 | 
			
		||||
  HAVE_LANGINFO_ALTMON=0
 | 
			
		||||
  HAVE_LANGINFO_ERA=0
 | 
			
		||||
  HAVE_LANGINFO_YESEXPR=0
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([langinfo.h])
 | 
			
		||||
  if test $ac_cv_header_langinfo_h = yes; then
 | 
			
		||||
    HAVE_LANGINFO_H=1
 | 
			
		||||
    dnl Determine what <langinfo.h> defines. CODESET and ERA etc. are missing
 | 
			
		||||
    dnl on OpenBSD 3.8. T_FMT_AMPM and YESEXPR, NOEXPR are missing on IRIX 5.3.
 | 
			
		||||
    dnl Determine what <langinfo.h> defines.
 | 
			
		||||
    dnl CODESET is missing on OpenBSD 3.8.
 | 
			
		||||
    dnl ERA etc. are missing on OpenBSD 6.7.
 | 
			
		||||
    dnl T_FMT_AMPM and YESEXPR, NOEXPR are missing on IRIX 5.3.
 | 
			
		||||
    dnl ALTMON_* are missing on glibc 2.26 and many other systems.
 | 
			
		||||
    AC_CACHE_CHECK([whether langinfo.h defines CODESET],
 | 
			
		||||
      [gl_cv_header_langinfo_codeset],
 | 
			
		||||
      [AC_COMPILE_IFELSE(
 | 
			
		||||
| 
						 | 
				
			
			@ -48,6 +52,18 @@ int a = T_FMT_AMPM;
 | 
			
		|||
    if test $gl_cv_header_langinfo_t_fmt_ampm = yes; then
 | 
			
		||||
      HAVE_LANGINFO_T_FMT_AMPM=1
 | 
			
		||||
    fi
 | 
			
		||||
    AC_CACHE_CHECK([whether langinfo.h defines ALTMON_1],
 | 
			
		||||
      [gl_cv_header_langinfo_altmon],
 | 
			
		||||
      [AC_COMPILE_IFELSE(
 | 
			
		||||
         [AC_LANG_PROGRAM([[#include <langinfo.h>
 | 
			
		||||
int a = ALTMON_1;
 | 
			
		||||
]])],
 | 
			
		||||
         [gl_cv_header_langinfo_altmon=yes],
 | 
			
		||||
         [gl_cv_header_langinfo_altmon=no])
 | 
			
		||||
      ])
 | 
			
		||||
    if test $gl_cv_header_langinfo_altmon = yes; then
 | 
			
		||||
      HAVE_LANGINFO_ALTMON=1
 | 
			
		||||
    fi
 | 
			
		||||
    AC_CACHE_CHECK([whether langinfo.h defines ERA],
 | 
			
		||||
      [gl_cv_header_langinfo_era],
 | 
			
		||||
      [AC_COMPILE_IFELSE(
 | 
			
		||||
| 
						 | 
				
			
			@ -78,6 +94,7 @@ int a = YESEXPR;
 | 
			
		|||
  AC_SUBST([HAVE_LANGINFO_H])
 | 
			
		||||
  AC_SUBST([HAVE_LANGINFO_CODESET])
 | 
			
		||||
  AC_SUBST([HAVE_LANGINFO_T_FMT_AMPM])
 | 
			
		||||
  AC_SUBST([HAVE_LANGINFO_ALTMON])
 | 
			
		||||
  AC_SUBST([HAVE_LANGINFO_ERA])
 | 
			
		||||
  AC_SUBST([HAVE_LANGINFO_YESEXPR])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -87,18 +104,33 @@ int a = YESEXPR;
 | 
			
		|||
    ]], [nl_langinfo])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_LANGINFO_MODULE_INDICATOR([modulename])
 | 
			
		||||
# sets the shell variable that indicates the presence of the given module
 | 
			
		||||
# to a C preprocessor expression that will evaluate to 1.
 | 
			
		||||
# This macro invocation must not occur in macros that are AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_LANGINFO_MODULE_INDICATOR],
 | 
			
		||||
[
 | 
			
		||||
  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
 | 
			
		||||
  AC_REQUIRE([gl_LANGINFO_H_DEFAULTS])
 | 
			
		||||
  dnl Ensure to expand the default settings once only.
 | 
			
		||||
  gl_LANGINFO_H_REQUIRE_DEFAULTS
 | 
			
		||||
  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
 | 
			
		||||
  dnl Define it also as a C macro, for the benefit of the unit tests.
 | 
			
		||||
  gl_MODULE_INDICATOR_FOR_TESTS([$1])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Initializes the default values for AC_SUBSTed shell variables.
 | 
			
		||||
# This macro must not be AC_REQUIREd.  It must only be invoked, and only
 | 
			
		||||
# outside of macros or in macros that are not AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_LANGINFO_H_REQUIRE_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  m4_defun(GL_MODULE_INDICATOR_PREFIX[_LANGINFO_H_MODULE_INDICATOR_DEFAULTS], [
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NL_LANGINFO])
 | 
			
		||||
  ])
 | 
			
		||||
  m4_require(GL_MODULE_INDICATOR_PREFIX[_LANGINFO_H_MODULE_INDICATOR_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_LANGINFO_H_DEFAULTS])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_LANGINFO_H_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  GNULIB_NL_LANGINFO=0;  AC_SUBST([GNULIB_NL_LANGINFO])
 | 
			
		||||
  dnl Assume proper GNU behavior unless another module says otherwise.
 | 
			
		||||
  HAVE_NL_LANGINFO=1;    AC_SUBST([HAVE_NL_LANGINFO])
 | 
			
		||||
  REPLACE_NL_LANGINFO=0; AC_SUBST([REPLACE_NL_LANGINFO])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,104 +1,319 @@
 | 
			
		|||
# Enable large files on systems where this is not the default.
 | 
			
		||||
# Enable support for files on Linux file systems with 64-bit inode numbers.
 | 
			
		||||
 | 
			
		||||
# Copyright 1992-1996, 1998-2013 Free Software Foundation, Inc.
 | 
			
		||||
# Copyright 1992-1996, 1998-2023 Free Software Foundation, Inc.
 | 
			
		||||
# This file is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
# with or without modifications, as long as this notice is preserved.
 | 
			
		||||
 | 
			
		||||
# The following implementation works around a problem in autoconf <= 2.69;
 | 
			
		||||
# The following macro works around a problem in Autoconf's AC_FUNC_FSEEKO:
 | 
			
		||||
# It does not set _LARGEFILE_SOURCE=1 on HP-UX/ia64 32-bit, although this
 | 
			
		||||
# setting of _LARGEFILE_SOURCE is needed so that <stdio.h> declares fseeko
 | 
			
		||||
# and ftello in C++ mode as well.
 | 
			
		||||
# Fixed in Autoconf 2.72, which has AC_SYS_YEAR2038.
 | 
			
		||||
AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
 | 
			
		||||
 m4_ifndef([AC_SYS_YEAR2038], [[
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_FUNC_FSEEKO
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    hpux*)
 | 
			
		||||
      AC_DEFINE([_LARGEFILE_SOURCE], [1],
 | 
			
		||||
        [Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2).])
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
 ]])
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
# Work around a problem in autoconf <= 2.69:
 | 
			
		||||
# AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
 | 
			
		||||
# or configures them incorrectly in some cases.
 | 
			
		||||
m4_version_prereq([2.70], [] ,[
 | 
			
		||||
m4_version_prereq([2.70], [], [
 | 
			
		||||
 | 
			
		||||
# _AC_SYS_LARGEFILE_TEST_INCLUDES
 | 
			
		||||
# -------------------------------
 | 
			
		||||
m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES],
 | 
			
		||||
[#include <sys/types.h>
 | 
			
		||||
 /* Check that off_t can represent 2**63 - 1 correctly.
 | 
			
		||||
    We can't simply define LARGE_OFF_T to be 9223372036854775807,
 | 
			
		||||
    since some C++ compilers masquerading as C compilers
 | 
			
		||||
    incorrectly reject 9223372036854775807.  */
 | 
			
		||||
#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
 | 
			
		||||
  int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
 | 
			
		||||
                       && LARGE_OFF_T % 2147483647 == 1)
 | 
			
		||||
                      ? 1 : -1]];[]dnl
 | 
			
		||||
])
 | 
			
		||||
])# m4_version_prereq 2.70
 | 
			
		||||
 | 
			
		||||
# Support AC_SYS_YEAR2038, even if Autoconf 2.71 or earlier.
 | 
			
		||||
# This code is taken from Autoconf master.
 | 
			
		||||
m4_ifndef([AC_SYS_YEAR2038], [
 | 
			
		||||
 | 
			
		||||
# _AC_SYS_YEAR2038_TEST_CODE
 | 
			
		||||
# --------------------------
 | 
			
		||||
# C code used to probe for time_t that can represent time points more
 | 
			
		||||
# than 2**31 - 1 seconds after the epoch.  With the usual Unix epoch,
 | 
			
		||||
# these correspond to dates after 2038-01-18 22:14:07 +0000 (Gregorian),
 | 
			
		||||
# hence the name.
 | 
			
		||||
AC_DEFUN([_AC_SYS_YEAR2038_TEST_CODE],
 | 
			
		||||
[[
 | 
			
		||||
  #include <time.h>
 | 
			
		||||
  /* Check that time_t can represent 2**32 - 1 correctly.  */
 | 
			
		||||
  #define LARGE_TIME_T \\
 | 
			
		||||
    ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30)))
 | 
			
		||||
  int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535
 | 
			
		||||
                           && LARGE_TIME_T % 65537 == 0)
 | 
			
		||||
                          ? 1 : -1];
 | 
			
		||||
]])
 | 
			
		||||
 | 
			
		||||
# _AC_SYS_YEAR2038_OPTIONS
 | 
			
		||||
# ------------------------
 | 
			
		||||
# List of known ways to enable support for large time_t.  If you change
 | 
			
		||||
# this list you probably also need to change the AS_CASE at the end of
 | 
			
		||||
# _AC_SYS_YEAR2038_PROBE.
 | 
			
		||||
m4_define([_AC_SYS_YEAR2038_OPTIONS], m4_normalize(
 | 
			
		||||
    ["none needed"]                   dnl 64-bit and newer 32-bit Unix
 | 
			
		||||
    ["-D_TIME_BITS=64"]               dnl glibc 2.34 with some 32-bit ABIs
 | 
			
		||||
    ["-D__MINGW_USE_VC2005_COMPAT"]   dnl 32-bit MinGW
 | 
			
		||||
    ["-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"]
 | 
			
		||||
                                      dnl 32-bit MinGW (misconfiguration)
 | 
			
		||||
))
 | 
			
		||||
 | 
			
		||||
# _AC_SYS_YEAR2038_PROBE([IF-NOT-DETECTED])
 | 
			
		||||
# -----------------------------------------
 | 
			
		||||
# Subroutine of AC_SYS_YEAR2038.  Probe for time_t that can represent
 | 
			
		||||
# time points more than 2**31 - 1 seconds after the epoch (dates after
 | 
			
		||||
# 2038-01-18, see above) and set the cache variable ac_cv_sys_year2038_opts
 | 
			
		||||
# to one of the values in the _AC_SYS_YEAR2038_OPTIONS list, or to
 | 
			
		||||
# "support not detected" if none of them worked.  Then, set compilation
 | 
			
		||||
# options and #defines as necessary to enable large time_t support.
 | 
			
		||||
#
 | 
			
		||||
# Note that we do not test whether mktime, localtime, etc. handle
 | 
			
		||||
# large values of time_t correctly, as that would require use of
 | 
			
		||||
# AC_TRY_RUN.  Note also that some systems only support large time_t
 | 
			
		||||
# together with large off_t.
 | 
			
		||||
#
 | 
			
		||||
# If support is not detected, the behavior depends on which of the
 | 
			
		||||
# top-level AC_SYS_YEAR2038 macros was used (see below).
 | 
			
		||||
#
 | 
			
		||||
# If you change this macro you may also need to change
 | 
			
		||||
# _AC_SYS_YEAR2038_OPTIONS.
 | 
			
		||||
AC_DEFUN([_AC_SYS_YEAR2038_PROBE],
 | 
			
		||||
[AC_CACHE_CHECK([for $CC option to enable timestamps after Jan 2038],
 | 
			
		||||
  [ac_cv_sys_year2038_opts],
 | 
			
		||||
  [ac_save_CPPFLAGS="$CPPFLAGS"
 | 
			
		||||
  ac_opt_found=no
 | 
			
		||||
  for ac_opt in _AC_SYS_YEAR2038_OPTIONS; do
 | 
			
		||||
    AS_IF([test x"$ac_opt" != x"none needed"],
 | 
			
		||||
      [CPPFLAGS="$ac_save_CPPFLAGS $ac_opt"])
 | 
			
		||||
    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_YEAR2038_TEST_CODE])],
 | 
			
		||||
      [ac_cv_sys_year2038_opts="$ac_opt"
 | 
			
		||||
      ac_opt_found=yes])
 | 
			
		||||
    test $ac_opt_found = no || break
 | 
			
		||||
  done
 | 
			
		||||
  CPPFLAGS="$ac_save_CPPFLAGS"
 | 
			
		||||
  test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected"])
 | 
			
		||||
 | 
			
		||||
ac_have_year2038=yes
 | 
			
		||||
AS_CASE([$ac_cv_sys_year2038_opts],
 | 
			
		||||
  ["none needed"], [],
 | 
			
		||||
  ["support not detected"],
 | 
			
		||||
    [ac_have_year2038=no
 | 
			
		||||
     AS_CASE([$enable_year2038],
 | 
			
		||||
      [yes],
 | 
			
		||||
        [# If we're not cross compiling and 'touch' works with a large
 | 
			
		||||
        # timestamp, then we can presume the system supports wider time_t
 | 
			
		||||
        # *somehow* and we just weren't able to detect it.  One common
 | 
			
		||||
        # case that we deliberately *don't* probe for is a system that
 | 
			
		||||
        # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers
 | 
			
		||||
        # wide time_t.  (It would be inappropriate for us to override an
 | 
			
		||||
        # intentional use of -m32.)  Error out, demanding use of
 | 
			
		||||
        # --disable-year2038 if this is intentional.
 | 
			
		||||
        AS_IF([test $cross_compiling = no],
 | 
			
		||||
          [AS_IF([TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null],
 | 
			
		||||
            [AS_CASE([`TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null`],
 | 
			
		||||
              [*'Feb  7  2106'* | *'Feb  7 17:10'*],
 | 
			
		||||
              [AC_MSG_FAILURE(m4_text_wrap(
 | 
			
		||||
      [this system appears to support timestamps after January 2038,
 | 
			
		||||
       but no mechanism for enabling wide 'time_t' was detected.
 | 
			
		||||
       Did you mean to build a 64-bit binary? (e.g. 'CC="${CC} -m64"'.)
 | 
			
		||||
       To proceed with 32-bit time_t, configure with '--disable-year2038'.],
 | 
			
		||||
      [], [], [55]))])])])])],
 | 
			
		||||
 | 
			
		||||
  ["-D_TIME_BITS=64"],
 | 
			
		||||
    [AC_DEFINE([_TIME_BITS], [64],
 | 
			
		||||
      [Number of bits in time_t, on hosts where this is settable.])],
 | 
			
		||||
 | 
			
		||||
  ["-D__MINGW_USE_VC2005_COMPAT=1"],
 | 
			
		||||
    [AC_DEFINE([__MINGW_USE_VC2005_COMPAT], [1],
 | 
			
		||||
      [Define to 1 on platforms where this makes time_t a 64-bit type.])],
 | 
			
		||||
 | 
			
		||||
  ["-U_USE_32_BIT_TIME_T"*],
 | 
			
		||||
    [AC_MSG_FAILURE(m4_text_wrap(
 | 
			
		||||
      [the 'time_t' type is currently forced to be 32-bit.
 | 
			
		||||
       It will stop working after January 2038.
 | 
			
		||||
       Remove _USE_32BIT_TIME_T from the compiler flags.],
 | 
			
		||||
      [], [], [55]))],
 | 
			
		||||
 | 
			
		||||
  [AC_MSG_ERROR(
 | 
			
		||||
    [internal error: bad value for \$ac_cv_sys_year2038_opts])])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# _AC_SYS_YEAR2038_ENABLE
 | 
			
		||||
# -----------------------
 | 
			
		||||
# Subroutine of AC_SYS_YEAR2038 and _AC_SYS_YEAR2038_OPT_IN.
 | 
			
		||||
# Depending on which of the YEAR2038 macros was used, add either an
 | 
			
		||||
# --enable-year2038, or a --disable-year2038, or no option at all to
 | 
			
		||||
# the configure script.  Note that this is expanded very late and
 | 
			
		||||
# therefore there cannot be any code in the AC_ARG_ENABLE.  The
 | 
			
		||||
# default value for enable_year2038 is emitted unconditionally
 | 
			
		||||
# because the generated code always looks at this variable.
 | 
			
		||||
m4_define([_AC_SYS_YEAR2038_ENABLE],
 | 
			
		||||
[m4_divert_text([DEFAULTS],
 | 
			
		||||
  m4_provide_if([AC_SYS_YEAR2038],
 | 
			
		||||
    [enable_year2038=yes],
 | 
			
		||||
    [enable_year2038=no]))]dnl
 | 
			
		||||
[AC_ARG_ENABLE([year2038],
 | 
			
		||||
  m4_provide_if([AC_SYS_YEAR2038],
 | 
			
		||||
    [AS_HELP_STRING([--disable-year2038],
 | 
			
		||||
      [do not support timestamps after 2038])],
 | 
			
		||||
    [AS_HELP_STRING([--enable-year2038],
 | 
			
		||||
      [support timestamps after 2038])]))])
 | 
			
		||||
 | 
			
		||||
# _AC_SYS_YEAR2038_OPT_IN
 | 
			
		||||
# -----------------------
 | 
			
		||||
# If the --enable-year2038 option is given to configure, attempt to
 | 
			
		||||
# detect and activate support for large time_t on 32-bit systems.
 | 
			
		||||
# This macro is automatically invoked by AC_SYS_LARGEFILE when large
 | 
			
		||||
# *file* support is detected.  It does not AC_REQUIRE AC_SYS_LARGEFILE
 | 
			
		||||
# to avoid a dependency loop, and is therefore unsafe to expose as a
 | 
			
		||||
# documented macro.
 | 
			
		||||
AC_DEFUN([_AC_SYS_YEAR2038_OPT_IN],
 | 
			
		||||
[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
 | 
			
		||||
  AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
 | 
			
		||||
  AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
 | 
			
		||||
])])
 | 
			
		||||
 | 
			
		||||
# AC_SYS_YEAR2038
 | 
			
		||||
# ---------------
 | 
			
		||||
# Attempt to detect and activate support for large time_t.
 | 
			
		||||
# On systems where time_t is not always 64 bits, this probe can be
 | 
			
		||||
# skipped by passing the --disable-year2038 option to configure.
 | 
			
		||||
AC_DEFUN([AC_SYS_YEAR2038],
 | 
			
		||||
[AC_REQUIRE([AC_SYS_LARGEFILE])]dnl
 | 
			
		||||
[m4_provide_if([_AC_SYS_YEAR2038_PROBE], [], [dnl
 | 
			
		||||
  AS_IF([test "$enable_year2038" != no], [_AC_SYS_YEAR2038_PROBE])
 | 
			
		||||
  AC_CONFIG_COMMANDS_PRE([_AC_SYS_YEAR2038_ENABLE])
 | 
			
		||||
])])
 | 
			
		||||
 | 
			
		||||
# _AC_SYS_LARGEFILE_TEST_CODE
 | 
			
		||||
# ---------------------------
 | 
			
		||||
# C code used to probe for large file support.
 | 
			
		||||
m4_define([_AC_SYS_LARGEFILE_TEST_CODE],
 | 
			
		||||
[@%:@include <sys/types.h>
 | 
			
		||||
 /* Check that off_t can represent 2**63 - 1 correctly.
 | 
			
		||||
    We can't simply define LARGE_OFF_T to be 9223372036854775807,
 | 
			
		||||
    since some C++ compilers masquerading as C compilers
 | 
			
		||||
    incorrectly reject 9223372036854775807.  */
 | 
			
		||||
@%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
 | 
			
		||||
@%:@define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
 | 
			
		||||
  int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721
 | 
			
		||||
                       && LARGE_OFF_T % 2147483647 == 1)
 | 
			
		||||
                      ? 1 : -1]];[]dnl
 | 
			
		||||
		       && LARGE_OFF_T % 2147483647 == 1)
 | 
			
		||||
		      ? 1 : -1]];[]dnl
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# _AC_SYS_LARGEFILE_OPTIONS
 | 
			
		||||
# -------------------------
 | 
			
		||||
# List of known ways to enable support for large files.  If you change
 | 
			
		||||
# this list you probably also need to change the AS_CASE at the end of
 | 
			
		||||
# _AC_SYS_LARGEFILE_PROBE.
 | 
			
		||||
m4_define([_AC_SYS_LARGEFILE_OPTIONS], m4_normalize(
 | 
			
		||||
    ["none needed"]                   dnl Most current systems
 | 
			
		||||
    ["-D_FILE_OFFSET_BITS=64"]        dnl X/Open LFS spec
 | 
			
		||||
    ["-D_LARGE_FILES=1"]              dnl AIX (which versions?)
 | 
			
		||||
    ["-n32"]                          dnl Irix 6.2 w/ SGI compiler
 | 
			
		||||
))
 | 
			
		||||
 | 
			
		||||
# _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE,
 | 
			
		||||
#                               CACHE-VAR,
 | 
			
		||||
#                               DESCRIPTION,
 | 
			
		||||
#                               PROLOGUE, [FUNCTION-BODY])
 | 
			
		||||
# --------------------------------------------------------
 | 
			
		||||
m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE],
 | 
			
		||||
[AC_CACHE_CHECK([for $1 value needed for large files], [$3],
 | 
			
		||||
[while :; do
 | 
			
		||||
  m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
 | 
			
		||||
    [AC_LANG_PROGRAM([$5], [$6])],
 | 
			
		||||
    [$3=no; break])
 | 
			
		||||
  m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])(
 | 
			
		||||
    [AC_LANG_PROGRAM([@%:@define $1 $2
 | 
			
		||||
$5], [$6])],
 | 
			
		||||
    [$3=$2; break])
 | 
			
		||||
  $3=unknown
 | 
			
		||||
  break
 | 
			
		||||
done])
 | 
			
		||||
case $$3 in #(
 | 
			
		||||
  no | unknown) ;;
 | 
			
		||||
  *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);;
 | 
			
		||||
esac
 | 
			
		||||
rm -rf conftest*[]dnl
 | 
			
		||||
])# _AC_SYS_LARGEFILE_MACRO_VALUE
 | 
			
		||||
# _AC_SYS_LARGEFILE_PROBE
 | 
			
		||||
# -----------------------
 | 
			
		||||
# Subroutine of AC_SYS_LARGEFILE. Probe for large file support and set
 | 
			
		||||
# the cache variable ac_cv_sys_largefile_opts to one of the values in
 | 
			
		||||
# the _AC_SYS_LARGEFILE_OPTIONS list, or to "support not detected" if
 | 
			
		||||
# none of the options in that list worked.  Then, set compilation
 | 
			
		||||
# options and #defines as necessary to enable large file support.
 | 
			
		||||
#
 | 
			
		||||
# If large file support is not detected, the behavior depends on which of
 | 
			
		||||
# the top-level AC_SYS_LARGEFILE macros was used (see below).
 | 
			
		||||
#
 | 
			
		||||
# If you change this macro you may also need to change
 | 
			
		||||
# _AC_SYS_LARGEFILE_OPTIONS.
 | 
			
		||||
AC_DEFUN([_AC_SYS_LARGEFILE_PROBE],
 | 
			
		||||
[AC_CACHE_CHECK([for $CC option to enable large file support],
 | 
			
		||||
  [ac_cv_sys_largefile_opts],
 | 
			
		||||
  [ac_save_CC="$CC"
 | 
			
		||||
  ac_opt_found=no
 | 
			
		||||
  for ac_opt in _AC_SYS_LARGEFILE_OPTIONS; do
 | 
			
		||||
    AS_IF([test x"$ac_opt" != x"none needed"],
 | 
			
		||||
      [CC="$ac_save_CC $ac_opt"])
 | 
			
		||||
    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_CODE])],
 | 
			
		||||
      [ac_cv_sys_largefile_opts="$ac_opt"
 | 
			
		||||
      ac_opt_found=yes])
 | 
			
		||||
    test $ac_opt_found = no || break
 | 
			
		||||
  done
 | 
			
		||||
  CC="$ac_save_CC"
 | 
			
		||||
  test $ac_opt_found = yes || ac_cv_sys_largefile_opts="support not detected"])
 | 
			
		||||
 | 
			
		||||
ac_have_largefile=yes
 | 
			
		||||
AS_CASE([$ac_cv_sys_largefile_opts],
 | 
			
		||||
  ["none needed"], [],
 | 
			
		||||
  ["support not detected"],
 | 
			
		||||
    [ac_have_largefile=no],
 | 
			
		||||
 | 
			
		||||
  ["-D_FILE_OFFSET_BITS=64"],
 | 
			
		||||
    [AC_DEFINE([_FILE_OFFSET_BITS], [64],
 | 
			
		||||
      [Number of bits in a file offset, on hosts where this is settable.])],
 | 
			
		||||
 | 
			
		||||
  ["-D_LARGE_FILES=1"],
 | 
			
		||||
    [AC_DEFINE([_LARGE_FILES], [1],
 | 
			
		||||
      [Define to 1 on platforms where this makes off_t a 64-bit type.])],
 | 
			
		||||
 | 
			
		||||
  ["-n32"],
 | 
			
		||||
    [CC="$CC -n32"],
 | 
			
		||||
 | 
			
		||||
  [AC_MSG_ERROR(
 | 
			
		||||
    [internal error: bad value for \$ac_cv_sys_largefile_opts])])
 | 
			
		||||
 | 
			
		||||
_AC_SYS_YEAR2038_OPT_IN
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# _AC_SYS_LARGEFILE_ENABLE
 | 
			
		||||
# ------------------------
 | 
			
		||||
# Subroutine of AC_SYS_LARGEFILE.  Note that this
 | 
			
		||||
# is expanded very late and therefore there cannot be any code in the
 | 
			
		||||
# AC_ARG_ENABLE.  The default value for enable_largefile is emitted
 | 
			
		||||
# unconditionally because the generated shell code always looks at
 | 
			
		||||
# this variable.
 | 
			
		||||
m4_define([_AC_SYS_LARGEFILE_ENABLE],
 | 
			
		||||
[m4_divert_text([DEFAULTS],
 | 
			
		||||
  enable_largefile=yes)]dnl
 | 
			
		||||
[AC_ARG_ENABLE([largefile],
 | 
			
		||||
  [AS_HELP_STRING([--disable-largefile], [omit support for large files])])])
 | 
			
		||||
 | 
			
		||||
# AC_SYS_LARGEFILE
 | 
			
		||||
# ----------------
 | 
			
		||||
# By default, many hosts won't let programs access large files;
 | 
			
		||||
# one must use special compiler options to get large-file access to work.
 | 
			
		||||
# For more details about this brain damage please see:
 | 
			
		||||
# http://www.unix-systems.org/version2/whatsnew/lfs20mar.html
 | 
			
		||||
# http://www.unix.org/version2/whatsnew/lfs20mar.html
 | 
			
		||||
# Additionally, on Linux file systems with 64-bit inodes a file that happens
 | 
			
		||||
# to have a 64-bit inode number cannot be accessed by 32-bit applications on
 | 
			
		||||
# Linux x86/x86_64.  This can occur with file systems such as XFS and NFS.
 | 
			
		||||
# This macro allows configuration to continue if the system doesn't support
 | 
			
		||||
# large files.
 | 
			
		||||
AC_DEFUN([AC_SYS_LARGEFILE],
 | 
			
		||||
[AC_ARG_ENABLE(largefile,
 | 
			
		||||
               [  --disable-largefile     omit support for large files])
 | 
			
		||||
if test "$enable_largefile" != no; then
 | 
			
		||||
 | 
			
		||||
  AC_CACHE_CHECK([for special C compiler options needed for large files],
 | 
			
		||||
    ac_cv_sys_largefile_CC,
 | 
			
		||||
    [ac_cv_sys_largefile_CC=no
 | 
			
		||||
     if test "$GCC" != yes; then
 | 
			
		||||
       ac_save_CC=$CC
 | 
			
		||||
       while :; do
 | 
			
		||||
         # IRIX 6.2 and later do not support large files by default,
 | 
			
		||||
         # so use the C compiler's -n32 option if that helps.
 | 
			
		||||
         AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])])
 | 
			
		||||
         AC_COMPILE_IFELSE([], [break])
 | 
			
		||||
         CC="$CC -n32"
 | 
			
		||||
         AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break])
 | 
			
		||||
         break
 | 
			
		||||
       done
 | 
			
		||||
       CC=$ac_save_CC
 | 
			
		||||
       rm -f conftest.$ac_ext
 | 
			
		||||
    fi])
 | 
			
		||||
  if test "$ac_cv_sys_largefile_CC" != no; then
 | 
			
		||||
    CC=$CC$ac_cv_sys_largefile_CC
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64,
 | 
			
		||||
    ac_cv_sys_file_offset_bits,
 | 
			
		||||
    [Number of bits in a file offset, on hosts where this is settable.],
 | 
			
		||||
    [_AC_SYS_LARGEFILE_TEST_INCLUDES])
 | 
			
		||||
  if test $ac_cv_sys_file_offset_bits = unknown; then
 | 
			
		||||
    _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1,
 | 
			
		||||
      ac_cv_sys_large_files,
 | 
			
		||||
      [Define for large files, on AIX-style hosts.],
 | 
			
		||||
      [_AC_SYS_LARGEFILE_TEST_INCLUDES])
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  AC_DEFINE([_DARWIN_USE_64_BIT_INODE], [1],
 | 
			
		||||
    [Enable large inode numbers on Mac OS X 10.5.])
 | 
			
		||||
fi
 | 
			
		||||
])# AC_SYS_LARGEFILE
 | 
			
		||||
])# m4_version_prereq 2.70
 | 
			
		||||
[m4_provide_if([_AC_SYS_LARGEFILE_PROBE], [], [dnl
 | 
			
		||||
  AS_IF([test "$enable_largefile" != no], [_AC_SYS_LARGEFILE_PROBE])
 | 
			
		||||
  AC_CONFIG_COMMANDS_PRE([_AC_SYS_LARGEFILE_ENABLE])
 | 
			
		||||
])])
 | 
			
		||||
])# m4_ifndef AC_SYS_YEAR2038
 | 
			
		||||
 | 
			
		||||
# Enable large files on systems where this is implemented by Gnulib, not by the
 | 
			
		||||
# system headers.
 | 
			
		||||
| 
						 | 
				
			
			@ -126,9 +341,24 @@ AC_DEFUN([gl_LARGEFILE],
 | 
			
		|||
      else
 | 
			
		||||
        WINDOWS_64_BIT_OFF_T=0
 | 
			
		||||
      fi
 | 
			
		||||
      dnl But all native Windows platforms (including mingw64) have a 32-bit
 | 
			
		||||
      dnl st_size member in 'struct stat'.
 | 
			
		||||
      WINDOWS_64_BIT_ST_SIZE=1
 | 
			
		||||
      dnl Some mingw versions define, if _FILE_OFFSET_BITS=64, 'struct stat'
 | 
			
		||||
      dnl to 'struct _stat32i64' or 'struct _stat64' (depending on
 | 
			
		||||
      dnl _USE_32BIT_TIME_T), which has a 32-bit st_size member.
 | 
			
		||||
      AC_CACHE_CHECK([for 64-bit st_size], [gl_cv_member_st_size_64],
 | 
			
		||||
        [AC_COMPILE_IFELSE(
 | 
			
		||||
           [AC_LANG_PROGRAM(
 | 
			
		||||
              [[#include <sys/types.h>
 | 
			
		||||
                struct stat buf;
 | 
			
		||||
                int verify_st_size_size[sizeof (buf.st_size) >= 8 ? 1 : -1];
 | 
			
		||||
              ]],
 | 
			
		||||
              [[]])],
 | 
			
		||||
           [gl_cv_member_st_size_64=yes], [gl_cv_member_st_size_64=no])
 | 
			
		||||
        ])
 | 
			
		||||
      if test $gl_cv_member_st_size_64 = no; then
 | 
			
		||||
        WINDOWS_64_BIT_ST_SIZE=1
 | 
			
		||||
      else
 | 
			
		||||
        WINDOWS_64_BIT_ST_SIZE=0
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      dnl Nothing to do on gnulib's side.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										119
									
								
								gl/m4/lib-ld.m4
									
										
									
									
									
								
							
							
						
						
									
										119
									
								
								gl/m4/lib-ld.m4
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,119 +0,0 @@
 | 
			
		|||
# lib-ld.m4 serial 6
 | 
			
		||||
dnl Copyright (C) 1996-2003, 2009-2013 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.
 | 
			
		||||
 | 
			
		||||
dnl Subroutines of libtool.m4,
 | 
			
		||||
dnl with replacements s/_*LT_PATH/AC_LIB_PROG/ and s/lt_/acl_/ to avoid
 | 
			
		||||
dnl collision with libtool.m4.
 | 
			
		||||
 | 
			
		||||
dnl From libtool-2.4. Sets the variable with_gnu_ld to yes or no.
 | 
			
		||||
AC_DEFUN([AC_LIB_PROG_LD_GNU],
 | 
			
		||||
[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld],
 | 
			
		||||
[# I'd rather use --version here, but apparently some GNU lds only accept -v.
 | 
			
		||||
case `$LD -v 2>&1 </dev/null` in
 | 
			
		||||
*GNU* | *'with BFD'*)
 | 
			
		||||
  acl_cv_prog_gnu_ld=yes
 | 
			
		||||
  ;;
 | 
			
		||||
*)
 | 
			
		||||
  acl_cv_prog_gnu_ld=no
 | 
			
		||||
  ;;
 | 
			
		||||
esac])
 | 
			
		||||
with_gnu_ld=$acl_cv_prog_gnu_ld
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl From libtool-2.4. Sets the variable LD.
 | 
			
		||||
AC_DEFUN([AC_LIB_PROG_LD],
 | 
			
		||||
[AC_REQUIRE([AC_PROG_CC])dnl
 | 
			
		||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
 | 
			
		||||
 | 
			
		||||
AC_ARG_WITH([gnu-ld],
 | 
			
		||||
    [AS_HELP_STRING([--with-gnu-ld],
 | 
			
		||||
        [assume the C compiler uses GNU ld [default=no]])],
 | 
			
		||||
    [test "$withval" = no || with_gnu_ld=yes],
 | 
			
		||||
    [with_gnu_ld=no])dnl
 | 
			
		||||
 | 
			
		||||
# Prepare PATH_SEPARATOR.
 | 
			
		||||
# The user is always right.
 | 
			
		||||
if test "${PATH_SEPARATOR+set}" != set; then
 | 
			
		||||
  # Determine PATH_SEPARATOR by trying to find /bin/sh in a PATH which
 | 
			
		||||
  # contains only /bin. Note that ksh looks also at the FPATH variable,
 | 
			
		||||
  # so we have to set that as well for the test.
 | 
			
		||||
  PATH_SEPARATOR=:
 | 
			
		||||
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
 | 
			
		||||
    && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 \
 | 
			
		||||
           || PATH_SEPARATOR=';'
 | 
			
		||||
       }
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
ac_prog=ld
 | 
			
		||||
if test "$GCC" = yes; then
 | 
			
		||||
  # Check if gcc -print-prog-name=ld gives a path.
 | 
			
		||||
  AC_MSG_CHECKING([for ld used by $CC])
 | 
			
		||||
  case $host in
 | 
			
		||||
  *-*-mingw*)
 | 
			
		||||
    # gcc leaves a trailing carriage return which upsets mingw
 | 
			
		||||
    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
 | 
			
		||||
  *)
 | 
			
		||||
    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
 | 
			
		||||
  esac
 | 
			
		||||
  case $ac_prog in
 | 
			
		||||
    # Accept absolute paths.
 | 
			
		||||
    [[\\/]]* | ?:[[\\/]]*)
 | 
			
		||||
      re_direlt='/[[^/]][[^/]]*/\.\./'
 | 
			
		||||
      # Canonicalize the pathname of ld
 | 
			
		||||
      ac_prog=`echo "$ac_prog"| sed 's%\\\\%/%g'`
 | 
			
		||||
      while echo "$ac_prog" | grep "$re_direlt" > /dev/null 2>&1; do
 | 
			
		||||
        ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"`
 | 
			
		||||
      done
 | 
			
		||||
      test -z "$LD" && LD="$ac_prog"
 | 
			
		||||
      ;;
 | 
			
		||||
  "")
 | 
			
		||||
    # If it fails, then pretend we aren't using GCC.
 | 
			
		||||
    ac_prog=ld
 | 
			
		||||
    ;;
 | 
			
		||||
  *)
 | 
			
		||||
    # If it is relative, then search for the first ld in PATH.
 | 
			
		||||
    with_gnu_ld=unknown
 | 
			
		||||
    ;;
 | 
			
		||||
  esac
 | 
			
		||||
elif test "$with_gnu_ld" = yes; then
 | 
			
		||||
  AC_MSG_CHECKING([for GNU ld])
 | 
			
		||||
else
 | 
			
		||||
  AC_MSG_CHECKING([for non-GNU ld])
 | 
			
		||||
fi
 | 
			
		||||
AC_CACHE_VAL([acl_cv_path_LD],
 | 
			
		||||
[if test -z "$LD"; then
 | 
			
		||||
  acl_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
 | 
			
		||||
  for ac_dir in $PATH; do
 | 
			
		||||
    IFS="$acl_save_ifs"
 | 
			
		||||
    test -z "$ac_dir" && ac_dir=.
 | 
			
		||||
    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
 | 
			
		||||
      acl_cv_path_LD="$ac_dir/$ac_prog"
 | 
			
		||||
      # Check to see if the program is GNU ld.  I'd rather use --version,
 | 
			
		||||
      # but apparently some variants of GNU ld only accept -v.
 | 
			
		||||
      # Break only if it was the GNU/non-GNU ld that we prefer.
 | 
			
		||||
      case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
 | 
			
		||||
      *GNU* | *'with BFD'*)
 | 
			
		||||
        test "$with_gnu_ld" != no && break
 | 
			
		||||
        ;;
 | 
			
		||||
      *)
 | 
			
		||||
        test "$with_gnu_ld" != yes && break
 | 
			
		||||
        ;;
 | 
			
		||||
      esac
 | 
			
		||||
    fi
 | 
			
		||||
  done
 | 
			
		||||
  IFS="$acl_save_ifs"
 | 
			
		||||
else
 | 
			
		||||
  acl_cv_path_LD="$LD" # Let the user override the test with a path.
 | 
			
		||||
fi])
 | 
			
		||||
LD="$acl_cv_path_LD"
 | 
			
		||||
if test -n "$LD"; then
 | 
			
		||||
  AC_MSG_RESULT([$LD])
 | 
			
		||||
else
 | 
			
		||||
  AC_MSG_RESULT([no])
 | 
			
		||||
fi
 | 
			
		||||
test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
 | 
			
		||||
AC_LIB_PROG_LD_GNU
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,777 +0,0 @@
 | 
			
		|||
# lib-link.m4 serial 26 (gettext-0.18.2)
 | 
			
		||||
dnl Copyright (C) 2001-2013 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.
 | 
			
		||||
 | 
			
		||||
dnl From Bruno Haible.
 | 
			
		||||
 | 
			
		||||
AC_PREREQ([2.54])
 | 
			
		||||
 | 
			
		||||
dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and
 | 
			
		||||
dnl the libraries corresponding to explicit and implicit dependencies.
 | 
			
		||||
dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and
 | 
			
		||||
dnl augments the CPPFLAGS variable.
 | 
			
		||||
dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
 | 
			
		||||
dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 | 
			
		||||
AC_DEFUN([AC_LIB_LINKFLAGS],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
 | 
			
		||||
  AC_REQUIRE([AC_LIB_RPATH])
 | 
			
		||||
  pushdef([Name],[m4_translit([$1],[./+-], [____])])
 | 
			
		||||
  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
 | 
			
		||||
                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
 | 
			
		||||
  AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
 | 
			
		||||
    AC_LIB_LINKFLAGS_BODY([$1], [$2])
 | 
			
		||||
    ac_cv_lib[]Name[]_libs="$LIB[]NAME"
 | 
			
		||||
    ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME"
 | 
			
		||||
    ac_cv_lib[]Name[]_cppflags="$INC[]NAME"
 | 
			
		||||
    ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX"
 | 
			
		||||
  ])
 | 
			
		||||
  LIB[]NAME="$ac_cv_lib[]Name[]_libs"
 | 
			
		||||
  LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs"
 | 
			
		||||
  INC[]NAME="$ac_cv_lib[]Name[]_cppflags"
 | 
			
		||||
  LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix"
 | 
			
		||||
  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
 | 
			
		||||
  AC_SUBST([LIB]NAME)
 | 
			
		||||
  AC_SUBST([LTLIB]NAME)
 | 
			
		||||
  AC_SUBST([LIB]NAME[_PREFIX])
 | 
			
		||||
  dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the
 | 
			
		||||
  dnl results of this search when this library appears as a dependency.
 | 
			
		||||
  HAVE_LIB[]NAME=yes
 | 
			
		||||
  popdef([NAME])
 | 
			
		||||
  popdef([Name])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message])
 | 
			
		||||
dnl searches for libname and the libraries corresponding to explicit and
 | 
			
		||||
dnl implicit dependencies, together with the specified include files and
 | 
			
		||||
dnl the ability to compile and link the specified testcode. The missing-message
 | 
			
		||||
dnl defaults to 'no' and may contain additional hints for the user.
 | 
			
		||||
dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME}
 | 
			
		||||
dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and
 | 
			
		||||
dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs
 | 
			
		||||
dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty.
 | 
			
		||||
dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname
 | 
			
		||||
dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 | 
			
		||||
AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
 | 
			
		||||
  AC_REQUIRE([AC_LIB_RPATH])
 | 
			
		||||
  pushdef([Name],[m4_translit([$1],[./+-], [____])])
 | 
			
		||||
  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
 | 
			
		||||
                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
 | 
			
		||||
 | 
			
		||||
  dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
 | 
			
		||||
  dnl accordingly.
 | 
			
		||||
  AC_LIB_LINKFLAGS_BODY([$1], [$2])
 | 
			
		||||
 | 
			
		||||
  dnl Add $INC[]NAME to CPPFLAGS before performing the following checks,
 | 
			
		||||
  dnl because if the user has installed lib[]Name and not disabled its use
 | 
			
		||||
  dnl via --without-lib[]Name-prefix, he wants to use it.
 | 
			
		||||
  ac_save_CPPFLAGS="$CPPFLAGS"
 | 
			
		||||
  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME)
 | 
			
		||||
 | 
			
		||||
  AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [
 | 
			
		||||
    ac_save_LIBS="$LIBS"
 | 
			
		||||
    dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS,
 | 
			
		||||
    dnl because these -l options might require -L options that are present in
 | 
			
		||||
    dnl LIBS. -l options benefit only from the -L options listed before it.
 | 
			
		||||
    dnl Otherwise, add it to the front of LIBS, because it may be a static
 | 
			
		||||
    dnl library that depends on another static library that is present in LIBS.
 | 
			
		||||
    dnl Static libraries benefit only from the static libraries listed after
 | 
			
		||||
    dnl it.
 | 
			
		||||
    case " $LIB[]NAME" in
 | 
			
		||||
      *" -l"*) LIBS="$LIBS $LIB[]NAME" ;;
 | 
			
		||||
      *)       LIBS="$LIB[]NAME $LIBS" ;;
 | 
			
		||||
    esac
 | 
			
		||||
    AC_LINK_IFELSE(
 | 
			
		||||
      [AC_LANG_PROGRAM([[$3]], [[$4]])],
 | 
			
		||||
      [ac_cv_lib[]Name=yes],
 | 
			
		||||
      [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])'])
 | 
			
		||||
    LIBS="$ac_save_LIBS"
 | 
			
		||||
  ])
 | 
			
		||||
  if test "$ac_cv_lib[]Name" = yes; then
 | 
			
		||||
    HAVE_LIB[]NAME=yes
 | 
			
		||||
    AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.])
 | 
			
		||||
    AC_MSG_CHECKING([how to link with lib[]$1])
 | 
			
		||||
    AC_MSG_RESULT([$LIB[]NAME])
 | 
			
		||||
  else
 | 
			
		||||
    HAVE_LIB[]NAME=no
 | 
			
		||||
    dnl If $LIB[]NAME didn't lead to a usable library, we don't need
 | 
			
		||||
    dnl $INC[]NAME either.
 | 
			
		||||
    CPPFLAGS="$ac_save_CPPFLAGS"
 | 
			
		||||
    LIB[]NAME=
 | 
			
		||||
    LTLIB[]NAME=
 | 
			
		||||
    LIB[]NAME[]_PREFIX=
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([HAVE_LIB]NAME)
 | 
			
		||||
  AC_SUBST([LIB]NAME)
 | 
			
		||||
  AC_SUBST([LTLIB]NAME)
 | 
			
		||||
  AC_SUBST([LIB]NAME[_PREFIX])
 | 
			
		||||
  popdef([NAME])
 | 
			
		||||
  popdef([Name])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl Determine the platform dependent parameters needed to use rpath:
 | 
			
		||||
dnl   acl_libext,
 | 
			
		||||
dnl   acl_shlibext,
 | 
			
		||||
dnl   acl_libname_spec,
 | 
			
		||||
dnl   acl_library_names_spec,
 | 
			
		||||
dnl   acl_hardcode_libdir_flag_spec,
 | 
			
		||||
dnl   acl_hardcode_libdir_separator,
 | 
			
		||||
dnl   acl_hardcode_direct,
 | 
			
		||||
dnl   acl_hardcode_minus_L.
 | 
			
		||||
AC_DEFUN([AC_LIB_RPATH],
 | 
			
		||||
[
 | 
			
		||||
  dnl Tell automake >= 1.10 to complain if config.rpath is missing.
 | 
			
		||||
  m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])])
 | 
			
		||||
  AC_REQUIRE([AC_PROG_CC])                dnl we use $CC, $GCC, $LDFLAGS
 | 
			
		||||
  AC_REQUIRE([AC_LIB_PROG_LD])            dnl we use $LD, $with_gnu_ld
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])         dnl we use $host
 | 
			
		||||
  AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir
 | 
			
		||||
  AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [
 | 
			
		||||
    CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \
 | 
			
		||||
    ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh
 | 
			
		||||
    . ./conftest.sh
 | 
			
		||||
    rm -f ./conftest.sh
 | 
			
		||||
    acl_cv_rpath=done
 | 
			
		||||
  ])
 | 
			
		||||
  wl="$acl_cv_wl"
 | 
			
		||||
  acl_libext="$acl_cv_libext"
 | 
			
		||||
  acl_shlibext="$acl_cv_shlibext"
 | 
			
		||||
  acl_libname_spec="$acl_cv_libname_spec"
 | 
			
		||||
  acl_library_names_spec="$acl_cv_library_names_spec"
 | 
			
		||||
  acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec"
 | 
			
		||||
  acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator"
 | 
			
		||||
  acl_hardcode_direct="$acl_cv_hardcode_direct"
 | 
			
		||||
  acl_hardcode_minus_L="$acl_cv_hardcode_minus_L"
 | 
			
		||||
  dnl Determine whether the user wants rpath handling at all.
 | 
			
		||||
  AC_ARG_ENABLE([rpath],
 | 
			
		||||
    [  --disable-rpath         do not hardcode runtime library paths],
 | 
			
		||||
    :, enable_rpath=yes)
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl AC_LIB_FROMPACKAGE(name, package)
 | 
			
		||||
dnl declares that libname comes from the given package. The configure file
 | 
			
		||||
dnl will then not have a --with-libname-prefix option but a
 | 
			
		||||
dnl --with-package-prefix option. Several libraries can come from the same
 | 
			
		||||
dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar
 | 
			
		||||
dnl macro call that searches for libname.
 | 
			
		||||
AC_DEFUN([AC_LIB_FROMPACKAGE],
 | 
			
		||||
[
 | 
			
		||||
  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
 | 
			
		||||
                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
 | 
			
		||||
  define([acl_frompackage_]NAME, [$2])
 | 
			
		||||
  popdef([NAME])
 | 
			
		||||
  pushdef([PACK],[$2])
 | 
			
		||||
  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
 | 
			
		||||
                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
 | 
			
		||||
  define([acl_libsinpackage_]PACKUP,
 | 
			
		||||
    m4_ifdef([acl_libsinpackage_]PACKUP, [m4_defn([acl_libsinpackage_]PACKUP)[, ]],)[lib$1])
 | 
			
		||||
  popdef([PACKUP])
 | 
			
		||||
  popdef([PACK])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and
 | 
			
		||||
dnl the libraries corresponding to explicit and implicit dependencies.
 | 
			
		||||
dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables.
 | 
			
		||||
dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found
 | 
			
		||||
dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem.
 | 
			
		||||
AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
 | 
			
		||||
  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
 | 
			
		||||
                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
 | 
			
		||||
  pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])])
 | 
			
		||||
  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
 | 
			
		||||
                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
 | 
			
		||||
  pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])])
 | 
			
		||||
  dnl Autoconf >= 2.61 supports dots in --with options.
 | 
			
		||||
  pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
 | 
			
		||||
  dnl By default, look in $includedir and $libdir.
 | 
			
		||||
  use_additional=yes
 | 
			
		||||
  AC_LIB_WITH_FINAL_PREFIX([
 | 
			
		||||
    eval additional_includedir=\"$includedir\"
 | 
			
		||||
    eval additional_libdir=\"$libdir\"
 | 
			
		||||
  ])
 | 
			
		||||
  AC_ARG_WITH(P_A_C_K[-prefix],
 | 
			
		||||
[[  --with-]]P_A_C_K[[-prefix[=DIR]  search for ]PACKLIBS[ in DIR/include and DIR/lib
 | 
			
		||||
  --without-]]P_A_C_K[[-prefix     don't search for ]PACKLIBS[ in includedir and libdir]],
 | 
			
		||||
[
 | 
			
		||||
    if test "X$withval" = "Xno"; then
 | 
			
		||||
      use_additional=no
 | 
			
		||||
    else
 | 
			
		||||
      if test "X$withval" = "X"; then
 | 
			
		||||
        AC_LIB_WITH_FINAL_PREFIX([
 | 
			
		||||
          eval additional_includedir=\"$includedir\"
 | 
			
		||||
          eval additional_libdir=\"$libdir\"
 | 
			
		||||
        ])
 | 
			
		||||
      else
 | 
			
		||||
        additional_includedir="$withval/include"
 | 
			
		||||
        additional_libdir="$withval/$acl_libdirstem"
 | 
			
		||||
        if test "$acl_libdirstem2" != "$acl_libdirstem" \
 | 
			
		||||
           && ! test -d "$withval/$acl_libdirstem"; then
 | 
			
		||||
          additional_libdir="$withval/$acl_libdirstem2"
 | 
			
		||||
        fi
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
])
 | 
			
		||||
  dnl Search the library and its dependencies in $additional_libdir and
 | 
			
		||||
  dnl $LDFLAGS. Using breadth-first-seach.
 | 
			
		||||
  LIB[]NAME=
 | 
			
		||||
  LTLIB[]NAME=
 | 
			
		||||
  INC[]NAME=
 | 
			
		||||
  LIB[]NAME[]_PREFIX=
 | 
			
		||||
  dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been
 | 
			
		||||
  dnl computed. So it has to be reset here.
 | 
			
		||||
  HAVE_LIB[]NAME=
 | 
			
		||||
  rpathdirs=
 | 
			
		||||
  ltrpathdirs=
 | 
			
		||||
  names_already_handled=
 | 
			
		||||
  names_next_round='$1 $2'
 | 
			
		||||
  while test -n "$names_next_round"; do
 | 
			
		||||
    names_this_round="$names_next_round"
 | 
			
		||||
    names_next_round=
 | 
			
		||||
    for name in $names_this_round; do
 | 
			
		||||
      already_handled=
 | 
			
		||||
      for n in $names_already_handled; do
 | 
			
		||||
        if test "$n" = "$name"; then
 | 
			
		||||
          already_handled=yes
 | 
			
		||||
          break
 | 
			
		||||
        fi
 | 
			
		||||
      done
 | 
			
		||||
      if test -z "$already_handled"; then
 | 
			
		||||
        names_already_handled="$names_already_handled $name"
 | 
			
		||||
        dnl See if it was already located by an earlier AC_LIB_LINKFLAGS
 | 
			
		||||
        dnl or AC_LIB_HAVE_LINKFLAGS call.
 | 
			
		||||
        uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./+-|ABCDEFGHIJKLMNOPQRSTUVWXYZ____|'`
 | 
			
		||||
        eval value=\"\$HAVE_LIB$uppername\"
 | 
			
		||||
        if test -n "$value"; then
 | 
			
		||||
          if test "$value" = yes; then
 | 
			
		||||
            eval value=\"\$LIB$uppername\"
 | 
			
		||||
            test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value"
 | 
			
		||||
            eval value=\"\$LTLIB$uppername\"
 | 
			
		||||
            test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value"
 | 
			
		||||
          else
 | 
			
		||||
            dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined
 | 
			
		||||
            dnl that this library doesn't exist. So just drop it.
 | 
			
		||||
            :
 | 
			
		||||
          fi
 | 
			
		||||
        else
 | 
			
		||||
          dnl Search the library lib$name in $additional_libdir and $LDFLAGS
 | 
			
		||||
          dnl and the already constructed $LIBNAME/$LTLIBNAME.
 | 
			
		||||
          found_dir=
 | 
			
		||||
          found_la=
 | 
			
		||||
          found_so=
 | 
			
		||||
          found_a=
 | 
			
		||||
          eval libname=\"$acl_libname_spec\"    # typically: libname=lib$name
 | 
			
		||||
          if test -n "$acl_shlibext"; then
 | 
			
		||||
            shrext=".$acl_shlibext"             # typically: shrext=.so
 | 
			
		||||
          else
 | 
			
		||||
            shrext=
 | 
			
		||||
          fi
 | 
			
		||||
          if test $use_additional = yes; then
 | 
			
		||||
            dir="$additional_libdir"
 | 
			
		||||
            dnl The same code as in the loop below:
 | 
			
		||||
            dnl First look for a shared library.
 | 
			
		||||
            if test -n "$acl_shlibext"; then
 | 
			
		||||
              if test -f "$dir/$libname$shrext"; then
 | 
			
		||||
                found_dir="$dir"
 | 
			
		||||
                found_so="$dir/$libname$shrext"
 | 
			
		||||
              else
 | 
			
		||||
                if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
 | 
			
		||||
                  ver=`(cd "$dir" && \
 | 
			
		||||
                        for f in "$libname$shrext".*; do echo "$f"; done \
 | 
			
		||||
                        | sed -e "s,^$libname$shrext\\\\.,," \
 | 
			
		||||
                        | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
 | 
			
		||||
                        | sed 1q ) 2>/dev/null`
 | 
			
		||||
                  if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
 | 
			
		||||
                    found_dir="$dir"
 | 
			
		||||
                    found_so="$dir/$libname$shrext.$ver"
 | 
			
		||||
                  fi
 | 
			
		||||
                else
 | 
			
		||||
                  eval library_names=\"$acl_library_names_spec\"
 | 
			
		||||
                  for f in $library_names; do
 | 
			
		||||
                    if test -f "$dir/$f"; then
 | 
			
		||||
                      found_dir="$dir"
 | 
			
		||||
                      found_so="$dir/$f"
 | 
			
		||||
                      break
 | 
			
		||||
                    fi
 | 
			
		||||
                  done
 | 
			
		||||
                fi
 | 
			
		||||
              fi
 | 
			
		||||
            fi
 | 
			
		||||
            dnl Then look for a static library.
 | 
			
		||||
            if test "X$found_dir" = "X"; then
 | 
			
		||||
              if test -f "$dir/$libname.$acl_libext"; then
 | 
			
		||||
                found_dir="$dir"
 | 
			
		||||
                found_a="$dir/$libname.$acl_libext"
 | 
			
		||||
              fi
 | 
			
		||||
            fi
 | 
			
		||||
            if test "X$found_dir" != "X"; then
 | 
			
		||||
              if test -f "$dir/$libname.la"; then
 | 
			
		||||
                found_la="$dir/$libname.la"
 | 
			
		||||
              fi
 | 
			
		||||
            fi
 | 
			
		||||
          fi
 | 
			
		||||
          if test "X$found_dir" = "X"; then
 | 
			
		||||
            for x in $LDFLAGS $LTLIB[]NAME; do
 | 
			
		||||
              AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 | 
			
		||||
              case "$x" in
 | 
			
		||||
                -L*)
 | 
			
		||||
                  dir=`echo "X$x" | sed -e 's/^X-L//'`
 | 
			
		||||
                  dnl First look for a shared library.
 | 
			
		||||
                  if test -n "$acl_shlibext"; then
 | 
			
		||||
                    if test -f "$dir/$libname$shrext"; then
 | 
			
		||||
                      found_dir="$dir"
 | 
			
		||||
                      found_so="$dir/$libname$shrext"
 | 
			
		||||
                    else
 | 
			
		||||
                      if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
 | 
			
		||||
                        ver=`(cd "$dir" && \
 | 
			
		||||
                              for f in "$libname$shrext".*; do echo "$f"; done \
 | 
			
		||||
                              | sed -e "s,^$libname$shrext\\\\.,," \
 | 
			
		||||
                              | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
 | 
			
		||||
                              | sed 1q ) 2>/dev/null`
 | 
			
		||||
                        if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
 | 
			
		||||
                          found_dir="$dir"
 | 
			
		||||
                          found_so="$dir/$libname$shrext.$ver"
 | 
			
		||||
                        fi
 | 
			
		||||
                      else
 | 
			
		||||
                        eval library_names=\"$acl_library_names_spec\"
 | 
			
		||||
                        for f in $library_names; do
 | 
			
		||||
                          if test -f "$dir/$f"; then
 | 
			
		||||
                            found_dir="$dir"
 | 
			
		||||
                            found_so="$dir/$f"
 | 
			
		||||
                            break
 | 
			
		||||
                          fi
 | 
			
		||||
                        done
 | 
			
		||||
                      fi
 | 
			
		||||
                    fi
 | 
			
		||||
                  fi
 | 
			
		||||
                  dnl Then look for a static library.
 | 
			
		||||
                  if test "X$found_dir" = "X"; then
 | 
			
		||||
                    if test -f "$dir/$libname.$acl_libext"; then
 | 
			
		||||
                      found_dir="$dir"
 | 
			
		||||
                      found_a="$dir/$libname.$acl_libext"
 | 
			
		||||
                    fi
 | 
			
		||||
                  fi
 | 
			
		||||
                  if test "X$found_dir" != "X"; then
 | 
			
		||||
                    if test -f "$dir/$libname.la"; then
 | 
			
		||||
                      found_la="$dir/$libname.la"
 | 
			
		||||
                    fi
 | 
			
		||||
                  fi
 | 
			
		||||
                  ;;
 | 
			
		||||
              esac
 | 
			
		||||
              if test "X$found_dir" != "X"; then
 | 
			
		||||
                break
 | 
			
		||||
              fi
 | 
			
		||||
            done
 | 
			
		||||
          fi
 | 
			
		||||
          if test "X$found_dir" != "X"; then
 | 
			
		||||
            dnl Found the library.
 | 
			
		||||
            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name"
 | 
			
		||||
            if test "X$found_so" != "X"; then
 | 
			
		||||
              dnl Linking with a shared library. We attempt to hardcode its
 | 
			
		||||
              dnl directory into the executable's runpath, unless it's the
 | 
			
		||||
              dnl standard /usr/lib.
 | 
			
		||||
              if test "$enable_rpath" = no \
 | 
			
		||||
                 || test "X$found_dir" = "X/usr/$acl_libdirstem" \
 | 
			
		||||
                 || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
 | 
			
		||||
                dnl No hardcoding is needed.
 | 
			
		||||
                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
 | 
			
		||||
              else
 | 
			
		||||
                dnl Use an explicit option to hardcode DIR into the resulting
 | 
			
		||||
                dnl binary.
 | 
			
		||||
                dnl Potentially add DIR to ltrpathdirs.
 | 
			
		||||
                dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
 | 
			
		||||
                haveit=
 | 
			
		||||
                for x in $ltrpathdirs; do
 | 
			
		||||
                  if test "X$x" = "X$found_dir"; then
 | 
			
		||||
                    haveit=yes
 | 
			
		||||
                    break
 | 
			
		||||
                  fi
 | 
			
		||||
                done
 | 
			
		||||
                if test -z "$haveit"; then
 | 
			
		||||
                  ltrpathdirs="$ltrpathdirs $found_dir"
 | 
			
		||||
                fi
 | 
			
		||||
                dnl The hardcoding into $LIBNAME is system dependent.
 | 
			
		||||
                if test "$acl_hardcode_direct" = yes; then
 | 
			
		||||
                  dnl Using DIR/libNAME.so during linking hardcodes DIR into the
 | 
			
		||||
                  dnl resulting binary.
 | 
			
		||||
                  LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
 | 
			
		||||
                else
 | 
			
		||||
                  if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
 | 
			
		||||
                    dnl Use an explicit option to hardcode DIR into the resulting
 | 
			
		||||
                    dnl binary.
 | 
			
		||||
                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
 | 
			
		||||
                    dnl Potentially add DIR to rpathdirs.
 | 
			
		||||
                    dnl The rpathdirs will be appended to $LIBNAME at the end.
 | 
			
		||||
                    haveit=
 | 
			
		||||
                    for x in $rpathdirs; do
 | 
			
		||||
                      if test "X$x" = "X$found_dir"; then
 | 
			
		||||
                        haveit=yes
 | 
			
		||||
                        break
 | 
			
		||||
                      fi
 | 
			
		||||
                    done
 | 
			
		||||
                    if test -z "$haveit"; then
 | 
			
		||||
                      rpathdirs="$rpathdirs $found_dir"
 | 
			
		||||
                    fi
 | 
			
		||||
                  else
 | 
			
		||||
                    dnl Rely on "-L$found_dir".
 | 
			
		||||
                    dnl But don't add it if it's already contained in the LDFLAGS
 | 
			
		||||
                    dnl or the already constructed $LIBNAME
 | 
			
		||||
                    haveit=
 | 
			
		||||
                    for x in $LDFLAGS $LIB[]NAME; do
 | 
			
		||||
                      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 | 
			
		||||
                      if test "X$x" = "X-L$found_dir"; then
 | 
			
		||||
                        haveit=yes
 | 
			
		||||
                        break
 | 
			
		||||
                      fi
 | 
			
		||||
                    done
 | 
			
		||||
                    if test -z "$haveit"; then
 | 
			
		||||
                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir"
 | 
			
		||||
                    fi
 | 
			
		||||
                    if test "$acl_hardcode_minus_L" != no; then
 | 
			
		||||
                      dnl FIXME: Not sure whether we should use
 | 
			
		||||
                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
 | 
			
		||||
                      dnl here.
 | 
			
		||||
                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
 | 
			
		||||
                    else
 | 
			
		||||
                      dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH
 | 
			
		||||
                      dnl here, because this doesn't fit in flags passed to the
 | 
			
		||||
                      dnl compiler. So give up. No hardcoding. This affects only
 | 
			
		||||
                      dnl very old systems.
 | 
			
		||||
                      dnl FIXME: Not sure whether we should use
 | 
			
		||||
                      dnl "-L$found_dir -l$name" or "-L$found_dir $found_so"
 | 
			
		||||
                      dnl here.
 | 
			
		||||
                      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
 | 
			
		||||
                    fi
 | 
			
		||||
                  fi
 | 
			
		||||
                fi
 | 
			
		||||
              fi
 | 
			
		||||
            else
 | 
			
		||||
              if test "X$found_a" != "X"; then
 | 
			
		||||
                dnl Linking with a static library.
 | 
			
		||||
                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a"
 | 
			
		||||
              else
 | 
			
		||||
                dnl We shouldn't come here, but anyway it's good to have a
 | 
			
		||||
                dnl fallback.
 | 
			
		||||
                LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name"
 | 
			
		||||
              fi
 | 
			
		||||
            fi
 | 
			
		||||
            dnl Assume the include files are nearby.
 | 
			
		||||
            additional_includedir=
 | 
			
		||||
            case "$found_dir" in
 | 
			
		||||
              */$acl_libdirstem | */$acl_libdirstem/)
 | 
			
		||||
                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'`
 | 
			
		||||
                if test "$name" = '$1'; then
 | 
			
		||||
                  LIB[]NAME[]_PREFIX="$basedir"
 | 
			
		||||
                fi
 | 
			
		||||
                additional_includedir="$basedir/include"
 | 
			
		||||
                ;;
 | 
			
		||||
              */$acl_libdirstem2 | */$acl_libdirstem2/)
 | 
			
		||||
                basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'`
 | 
			
		||||
                if test "$name" = '$1'; then
 | 
			
		||||
                  LIB[]NAME[]_PREFIX="$basedir"
 | 
			
		||||
                fi
 | 
			
		||||
                additional_includedir="$basedir/include"
 | 
			
		||||
                ;;
 | 
			
		||||
            esac
 | 
			
		||||
            if test "X$additional_includedir" != "X"; then
 | 
			
		||||
              dnl Potentially add $additional_includedir to $INCNAME.
 | 
			
		||||
              dnl But don't add it
 | 
			
		||||
              dnl   1. if it's the standard /usr/include,
 | 
			
		||||
              dnl   2. if it's /usr/local/include and we are using GCC on Linux,
 | 
			
		||||
              dnl   3. if it's already present in $CPPFLAGS or the already
 | 
			
		||||
              dnl      constructed $INCNAME,
 | 
			
		||||
              dnl   4. if it doesn't exist as a directory.
 | 
			
		||||
              if test "X$additional_includedir" != "X/usr/include"; then
 | 
			
		||||
                haveit=
 | 
			
		||||
                if test "X$additional_includedir" = "X/usr/local/include"; then
 | 
			
		||||
                  if test -n "$GCC"; then
 | 
			
		||||
                    case $host_os in
 | 
			
		||||
                      linux* | gnu* | k*bsd*-gnu) haveit=yes;;
 | 
			
		||||
                    esac
 | 
			
		||||
                  fi
 | 
			
		||||
                fi
 | 
			
		||||
                if test -z "$haveit"; then
 | 
			
		||||
                  for x in $CPPFLAGS $INC[]NAME; do
 | 
			
		||||
                    AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 | 
			
		||||
                    if test "X$x" = "X-I$additional_includedir"; then
 | 
			
		||||
                      haveit=yes
 | 
			
		||||
                      break
 | 
			
		||||
                    fi
 | 
			
		||||
                  done
 | 
			
		||||
                  if test -z "$haveit"; then
 | 
			
		||||
                    if test -d "$additional_includedir"; then
 | 
			
		||||
                      dnl Really add $additional_includedir to $INCNAME.
 | 
			
		||||
                      INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir"
 | 
			
		||||
                    fi
 | 
			
		||||
                  fi
 | 
			
		||||
                fi
 | 
			
		||||
              fi
 | 
			
		||||
            fi
 | 
			
		||||
            dnl Look for dependencies.
 | 
			
		||||
            if test -n "$found_la"; then
 | 
			
		||||
              dnl Read the .la file. It defines the variables
 | 
			
		||||
              dnl dlname, library_names, old_library, dependency_libs, current,
 | 
			
		||||
              dnl age, revision, installed, dlopen, dlpreopen, libdir.
 | 
			
		||||
              save_libdir="$libdir"
 | 
			
		||||
              case "$found_la" in
 | 
			
		||||
                */* | *\\*) . "$found_la" ;;
 | 
			
		||||
                *) . "./$found_la" ;;
 | 
			
		||||
              esac
 | 
			
		||||
              libdir="$save_libdir"
 | 
			
		||||
              dnl We use only dependency_libs.
 | 
			
		||||
              for dep in $dependency_libs; do
 | 
			
		||||
                case "$dep" in
 | 
			
		||||
                  -L*)
 | 
			
		||||
                    additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
 | 
			
		||||
                    dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
 | 
			
		||||
                    dnl But don't add it
 | 
			
		||||
                    dnl   1. if it's the standard /usr/lib,
 | 
			
		||||
                    dnl   2. if it's /usr/local/lib and we are using GCC on Linux,
 | 
			
		||||
                    dnl   3. if it's already present in $LDFLAGS or the already
 | 
			
		||||
                    dnl      constructed $LIBNAME,
 | 
			
		||||
                    dnl   4. if it doesn't exist as a directory.
 | 
			
		||||
                    if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
 | 
			
		||||
                       && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
 | 
			
		||||
                      haveit=
 | 
			
		||||
                      if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
 | 
			
		||||
                         || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
 | 
			
		||||
                        if test -n "$GCC"; then
 | 
			
		||||
                          case $host_os in
 | 
			
		||||
                            linux* | gnu* | k*bsd*-gnu) haveit=yes;;
 | 
			
		||||
                          esac
 | 
			
		||||
                        fi
 | 
			
		||||
                      fi
 | 
			
		||||
                      if test -z "$haveit"; then
 | 
			
		||||
                        haveit=
 | 
			
		||||
                        for x in $LDFLAGS $LIB[]NAME; do
 | 
			
		||||
                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 | 
			
		||||
                          if test "X$x" = "X-L$additional_libdir"; then
 | 
			
		||||
                            haveit=yes
 | 
			
		||||
                            break
 | 
			
		||||
                          fi
 | 
			
		||||
                        done
 | 
			
		||||
                        if test -z "$haveit"; then
 | 
			
		||||
                          if test -d "$additional_libdir"; then
 | 
			
		||||
                            dnl Really add $additional_libdir to $LIBNAME.
 | 
			
		||||
                            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
 | 
			
		||||
                          fi
 | 
			
		||||
                        fi
 | 
			
		||||
                        haveit=
 | 
			
		||||
                        for x in $LDFLAGS $LTLIB[]NAME; do
 | 
			
		||||
                          AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 | 
			
		||||
                          if test "X$x" = "X-L$additional_libdir"; then
 | 
			
		||||
                            haveit=yes
 | 
			
		||||
                            break
 | 
			
		||||
                          fi
 | 
			
		||||
                        done
 | 
			
		||||
                        if test -z "$haveit"; then
 | 
			
		||||
                          if test -d "$additional_libdir"; then
 | 
			
		||||
                            dnl Really add $additional_libdir to $LTLIBNAME.
 | 
			
		||||
                            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
 | 
			
		||||
                          fi
 | 
			
		||||
                        fi
 | 
			
		||||
                      fi
 | 
			
		||||
                    fi
 | 
			
		||||
                    ;;
 | 
			
		||||
                  -R*)
 | 
			
		||||
                    dir=`echo "X$dep" | sed -e 's/^X-R//'`
 | 
			
		||||
                    if test "$enable_rpath" != no; then
 | 
			
		||||
                      dnl Potentially add DIR to rpathdirs.
 | 
			
		||||
                      dnl The rpathdirs will be appended to $LIBNAME at the end.
 | 
			
		||||
                      haveit=
 | 
			
		||||
                      for x in $rpathdirs; do
 | 
			
		||||
                        if test "X$x" = "X$dir"; then
 | 
			
		||||
                          haveit=yes
 | 
			
		||||
                          break
 | 
			
		||||
                        fi
 | 
			
		||||
                      done
 | 
			
		||||
                      if test -z "$haveit"; then
 | 
			
		||||
                        rpathdirs="$rpathdirs $dir"
 | 
			
		||||
                      fi
 | 
			
		||||
                      dnl Potentially add DIR to ltrpathdirs.
 | 
			
		||||
                      dnl The ltrpathdirs will be appended to $LTLIBNAME at the end.
 | 
			
		||||
                      haveit=
 | 
			
		||||
                      for x in $ltrpathdirs; do
 | 
			
		||||
                        if test "X$x" = "X$dir"; then
 | 
			
		||||
                          haveit=yes
 | 
			
		||||
                          break
 | 
			
		||||
                        fi
 | 
			
		||||
                      done
 | 
			
		||||
                      if test -z "$haveit"; then
 | 
			
		||||
                        ltrpathdirs="$ltrpathdirs $dir"
 | 
			
		||||
                      fi
 | 
			
		||||
                    fi
 | 
			
		||||
                    ;;
 | 
			
		||||
                  -l*)
 | 
			
		||||
                    dnl Handle this in the next round.
 | 
			
		||||
                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
 | 
			
		||||
                    ;;
 | 
			
		||||
                  *.la)
 | 
			
		||||
                    dnl Handle this in the next round. Throw away the .la's
 | 
			
		||||
                    dnl directory; it is already contained in a preceding -L
 | 
			
		||||
                    dnl option.
 | 
			
		||||
                    names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'`
 | 
			
		||||
                    ;;
 | 
			
		||||
                  *)
 | 
			
		||||
                    dnl Most likely an immediate library name.
 | 
			
		||||
                    LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep"
 | 
			
		||||
                    LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep"
 | 
			
		||||
                    ;;
 | 
			
		||||
                esac
 | 
			
		||||
              done
 | 
			
		||||
            fi
 | 
			
		||||
          else
 | 
			
		||||
            dnl Didn't find the library; assume it is in the system directories
 | 
			
		||||
            dnl known to the linker and runtime loader. (All the system
 | 
			
		||||
            dnl directories known to the linker should also be known to the
 | 
			
		||||
            dnl runtime loader, otherwise the system is severely misconfigured.)
 | 
			
		||||
            LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name"
 | 
			
		||||
            LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name"
 | 
			
		||||
          fi
 | 
			
		||||
        fi
 | 
			
		||||
      fi
 | 
			
		||||
    done
 | 
			
		||||
  done
 | 
			
		||||
  if test "X$rpathdirs" != "X"; then
 | 
			
		||||
    if test -n "$acl_hardcode_libdir_separator"; then
 | 
			
		||||
      dnl Weird platform: only the last -rpath option counts, the user must
 | 
			
		||||
      dnl pass all path elements in one option. We can arrange that for a
 | 
			
		||||
      dnl single library, but not when more than one $LIBNAMEs are used.
 | 
			
		||||
      alldirs=
 | 
			
		||||
      for found_dir in $rpathdirs; do
 | 
			
		||||
        alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir"
 | 
			
		||||
      done
 | 
			
		||||
      dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl.
 | 
			
		||||
      acl_save_libdir="$libdir"
 | 
			
		||||
      libdir="$alldirs"
 | 
			
		||||
      eval flag=\"$acl_hardcode_libdir_flag_spec\"
 | 
			
		||||
      libdir="$acl_save_libdir"
 | 
			
		||||
      LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
 | 
			
		||||
    else
 | 
			
		||||
      dnl The -rpath options are cumulative.
 | 
			
		||||
      for found_dir in $rpathdirs; do
 | 
			
		||||
        acl_save_libdir="$libdir"
 | 
			
		||||
        libdir="$found_dir"
 | 
			
		||||
        eval flag=\"$acl_hardcode_libdir_flag_spec\"
 | 
			
		||||
        libdir="$acl_save_libdir"
 | 
			
		||||
        LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag"
 | 
			
		||||
      done
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
  if test "X$ltrpathdirs" != "X"; then
 | 
			
		||||
    dnl When using libtool, the option that works for both libraries and
 | 
			
		||||
    dnl executables is -R. The -R options are cumulative.
 | 
			
		||||
    for found_dir in $ltrpathdirs; do
 | 
			
		||||
      LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir"
 | 
			
		||||
    done
 | 
			
		||||
  fi
 | 
			
		||||
  popdef([P_A_C_K])
 | 
			
		||||
  popdef([PACKLIBS])
 | 
			
		||||
  popdef([PACKUP])
 | 
			
		||||
  popdef([PACK])
 | 
			
		||||
  popdef([NAME])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR,
 | 
			
		||||
dnl unless already present in VAR.
 | 
			
		||||
dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes
 | 
			
		||||
dnl contains two or three consecutive elements that belong together.
 | 
			
		||||
AC_DEFUN([AC_LIB_APPENDTOVAR],
 | 
			
		||||
[
 | 
			
		||||
  for element in [$2]; do
 | 
			
		||||
    haveit=
 | 
			
		||||
    for x in $[$1]; do
 | 
			
		||||
      AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 | 
			
		||||
      if test "X$x" = "X$element"; then
 | 
			
		||||
        haveit=yes
 | 
			
		||||
        break
 | 
			
		||||
      fi
 | 
			
		||||
    done
 | 
			
		||||
    if test -z "$haveit"; then
 | 
			
		||||
      [$1]="${[$1]}${[$1]:+ }$element"
 | 
			
		||||
    fi
 | 
			
		||||
  done
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl For those cases where a variable contains several -L and -l options
 | 
			
		||||
dnl referring to unknown libraries and directories, this macro determines the
 | 
			
		||||
dnl necessary additional linker options for the runtime path.
 | 
			
		||||
dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL])
 | 
			
		||||
dnl sets LDADDVAR to linker options needed together with LIBSVALUE.
 | 
			
		||||
dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed,
 | 
			
		||||
dnl otherwise linking without libtool is assumed.
 | 
			
		||||
AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_LIB_RPATH])
 | 
			
		||||
  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
 | 
			
		||||
  $1=
 | 
			
		||||
  if test "$enable_rpath" != no; then
 | 
			
		||||
    if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then
 | 
			
		||||
      dnl Use an explicit option to hardcode directories into the resulting
 | 
			
		||||
      dnl binary.
 | 
			
		||||
      rpathdirs=
 | 
			
		||||
      next=
 | 
			
		||||
      for opt in $2; do
 | 
			
		||||
        if test -n "$next"; then
 | 
			
		||||
          dir="$next"
 | 
			
		||||
          dnl No need to hardcode the standard /usr/lib.
 | 
			
		||||
          if test "X$dir" != "X/usr/$acl_libdirstem" \
 | 
			
		||||
             && test "X$dir" != "X/usr/$acl_libdirstem2"; then
 | 
			
		||||
            rpathdirs="$rpathdirs $dir"
 | 
			
		||||
          fi
 | 
			
		||||
          next=
 | 
			
		||||
        else
 | 
			
		||||
          case $opt in
 | 
			
		||||
            -L) next=yes ;;
 | 
			
		||||
            -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
 | 
			
		||||
                 dnl No need to hardcode the standard /usr/lib.
 | 
			
		||||
                 if test "X$dir" != "X/usr/$acl_libdirstem" \
 | 
			
		||||
                    && test "X$dir" != "X/usr/$acl_libdirstem2"; then
 | 
			
		||||
                   rpathdirs="$rpathdirs $dir"
 | 
			
		||||
                 fi
 | 
			
		||||
                 next= ;;
 | 
			
		||||
            *) next= ;;
 | 
			
		||||
          esac
 | 
			
		||||
        fi
 | 
			
		||||
      done
 | 
			
		||||
      if test "X$rpathdirs" != "X"; then
 | 
			
		||||
        if test -n ""$3""; then
 | 
			
		||||
          dnl libtool is used for linking. Use -R options.
 | 
			
		||||
          for dir in $rpathdirs; do
 | 
			
		||||
            $1="${$1}${$1:+ }-R$dir"
 | 
			
		||||
          done
 | 
			
		||||
        else
 | 
			
		||||
          dnl The linker is used for linking directly.
 | 
			
		||||
          if test -n "$acl_hardcode_libdir_separator"; then
 | 
			
		||||
            dnl Weird platform: only the last -rpath option counts, the user
 | 
			
		||||
            dnl must pass all path elements in one option.
 | 
			
		||||
            alldirs=
 | 
			
		||||
            for dir in $rpathdirs; do
 | 
			
		||||
              alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir"
 | 
			
		||||
            done
 | 
			
		||||
            acl_save_libdir="$libdir"
 | 
			
		||||
            libdir="$alldirs"
 | 
			
		||||
            eval flag=\"$acl_hardcode_libdir_flag_spec\"
 | 
			
		||||
            libdir="$acl_save_libdir"
 | 
			
		||||
            $1="$flag"
 | 
			
		||||
          else
 | 
			
		||||
            dnl The -rpath options are cumulative.
 | 
			
		||||
            for dir in $rpathdirs; do
 | 
			
		||||
              acl_save_libdir="$libdir"
 | 
			
		||||
              libdir="$dir"
 | 
			
		||||
              eval flag=\"$acl_hardcode_libdir_flag_spec\"
 | 
			
		||||
              libdir="$acl_save_libdir"
 | 
			
		||||
              $1="${$1}${$1:+ }$flag"
 | 
			
		||||
            done
 | 
			
		||||
          fi
 | 
			
		||||
        fi
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([$1])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,224 +0,0 @@
 | 
			
		|||
# lib-prefix.m4 serial 7 (gettext-0.18)
 | 
			
		||||
dnl Copyright (C) 2001-2005, 2008-2013 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.
 | 
			
		||||
 | 
			
		||||
dnl From Bruno Haible.
 | 
			
		||||
 | 
			
		||||
dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and
 | 
			
		||||
dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't
 | 
			
		||||
dnl require excessive bracketing.
 | 
			
		||||
ifdef([AC_HELP_STRING],
 | 
			
		||||
[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])],
 | 
			
		||||
[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])])
 | 
			
		||||
 | 
			
		||||
dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed
 | 
			
		||||
dnl to access previously installed libraries. The basic assumption is that
 | 
			
		||||
dnl a user will want packages to use other packages he previously installed
 | 
			
		||||
dnl with the same --prefix option.
 | 
			
		||||
dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate
 | 
			
		||||
dnl libraries, but is otherwise very convenient.
 | 
			
		||||
AC_DEFUN([AC_LIB_PREFIX],
 | 
			
		||||
[
 | 
			
		||||
  AC_BEFORE([$0], [AC_LIB_LINKFLAGS])
 | 
			
		||||
  AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
 | 
			
		||||
  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
 | 
			
		||||
  dnl By default, look in $includedir and $libdir.
 | 
			
		||||
  use_additional=yes
 | 
			
		||||
  AC_LIB_WITH_FINAL_PREFIX([
 | 
			
		||||
    eval additional_includedir=\"$includedir\"
 | 
			
		||||
    eval additional_libdir=\"$libdir\"
 | 
			
		||||
  ])
 | 
			
		||||
  AC_LIB_ARG_WITH([lib-prefix],
 | 
			
		||||
[  --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib
 | 
			
		||||
  --without-lib-prefix    don't search for libraries in includedir and libdir],
 | 
			
		||||
[
 | 
			
		||||
    if test "X$withval" = "Xno"; then
 | 
			
		||||
      use_additional=no
 | 
			
		||||
    else
 | 
			
		||||
      if test "X$withval" = "X"; then
 | 
			
		||||
        AC_LIB_WITH_FINAL_PREFIX([
 | 
			
		||||
          eval additional_includedir=\"$includedir\"
 | 
			
		||||
          eval additional_libdir=\"$libdir\"
 | 
			
		||||
        ])
 | 
			
		||||
      else
 | 
			
		||||
        additional_includedir="$withval/include"
 | 
			
		||||
        additional_libdir="$withval/$acl_libdirstem"
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
])
 | 
			
		||||
  if test $use_additional = yes; then
 | 
			
		||||
    dnl Potentially add $additional_includedir to $CPPFLAGS.
 | 
			
		||||
    dnl But don't add it
 | 
			
		||||
    dnl   1. if it's the standard /usr/include,
 | 
			
		||||
    dnl   2. if it's already present in $CPPFLAGS,
 | 
			
		||||
    dnl   3. if it's /usr/local/include and we are using GCC on Linux,
 | 
			
		||||
    dnl   4. if it doesn't exist as a directory.
 | 
			
		||||
    if test "X$additional_includedir" != "X/usr/include"; then
 | 
			
		||||
      haveit=
 | 
			
		||||
      for x in $CPPFLAGS; do
 | 
			
		||||
        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 | 
			
		||||
        if test "X$x" = "X-I$additional_includedir"; then
 | 
			
		||||
          haveit=yes
 | 
			
		||||
          break
 | 
			
		||||
        fi
 | 
			
		||||
      done
 | 
			
		||||
      if test -z "$haveit"; then
 | 
			
		||||
        if test "X$additional_includedir" = "X/usr/local/include"; then
 | 
			
		||||
          if test -n "$GCC"; then
 | 
			
		||||
            case $host_os in
 | 
			
		||||
              linux* | gnu* | k*bsd*-gnu) haveit=yes;;
 | 
			
		||||
            esac
 | 
			
		||||
          fi
 | 
			
		||||
        fi
 | 
			
		||||
        if test -z "$haveit"; then
 | 
			
		||||
          if test -d "$additional_includedir"; then
 | 
			
		||||
            dnl Really add $additional_includedir to $CPPFLAGS.
 | 
			
		||||
            CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir"
 | 
			
		||||
          fi
 | 
			
		||||
        fi
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
    dnl Potentially add $additional_libdir to $LDFLAGS.
 | 
			
		||||
    dnl But don't add it
 | 
			
		||||
    dnl   1. if it's the standard /usr/lib,
 | 
			
		||||
    dnl   2. if it's already present in $LDFLAGS,
 | 
			
		||||
    dnl   3. if it's /usr/local/lib and we are using GCC on Linux,
 | 
			
		||||
    dnl   4. if it doesn't exist as a directory.
 | 
			
		||||
    if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then
 | 
			
		||||
      haveit=
 | 
			
		||||
      for x in $LDFLAGS; do
 | 
			
		||||
        AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
 | 
			
		||||
        if test "X$x" = "X-L$additional_libdir"; then
 | 
			
		||||
          haveit=yes
 | 
			
		||||
          break
 | 
			
		||||
        fi
 | 
			
		||||
      done
 | 
			
		||||
      if test -z "$haveit"; then
 | 
			
		||||
        if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then
 | 
			
		||||
          if test -n "$GCC"; then
 | 
			
		||||
            case $host_os in
 | 
			
		||||
              linux*) haveit=yes;;
 | 
			
		||||
            esac
 | 
			
		||||
          fi
 | 
			
		||||
        fi
 | 
			
		||||
        if test -z "$haveit"; then
 | 
			
		||||
          if test -d "$additional_libdir"; then
 | 
			
		||||
            dnl Really add $additional_libdir to $LDFLAGS.
 | 
			
		||||
            LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir"
 | 
			
		||||
          fi
 | 
			
		||||
        fi
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix,
 | 
			
		||||
dnl acl_final_exec_prefix, containing the values to which $prefix and
 | 
			
		||||
dnl $exec_prefix will expand at the end of the configure script.
 | 
			
		||||
AC_DEFUN([AC_LIB_PREPARE_PREFIX],
 | 
			
		||||
[
 | 
			
		||||
  dnl Unfortunately, prefix and exec_prefix get only finally determined
 | 
			
		||||
  dnl at the end of configure.
 | 
			
		||||
  if test "X$prefix" = "XNONE"; then
 | 
			
		||||
    acl_final_prefix="$ac_default_prefix"
 | 
			
		||||
  else
 | 
			
		||||
    acl_final_prefix="$prefix"
 | 
			
		||||
  fi
 | 
			
		||||
  if test "X$exec_prefix" = "XNONE"; then
 | 
			
		||||
    acl_final_exec_prefix='${prefix}'
 | 
			
		||||
  else
 | 
			
		||||
    acl_final_exec_prefix="$exec_prefix"
 | 
			
		||||
  fi
 | 
			
		||||
  acl_save_prefix="$prefix"
 | 
			
		||||
  prefix="$acl_final_prefix"
 | 
			
		||||
  eval acl_final_exec_prefix=\"$acl_final_exec_prefix\"
 | 
			
		||||
  prefix="$acl_save_prefix"
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the
 | 
			
		||||
dnl variables prefix and exec_prefix bound to the values they will have
 | 
			
		||||
dnl at the end of the configure script.
 | 
			
		||||
AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
 | 
			
		||||
[
 | 
			
		||||
  acl_save_prefix="$prefix"
 | 
			
		||||
  prefix="$acl_final_prefix"
 | 
			
		||||
  acl_save_exec_prefix="$exec_prefix"
 | 
			
		||||
  exec_prefix="$acl_final_exec_prefix"
 | 
			
		||||
  $1
 | 
			
		||||
  exec_prefix="$acl_save_exec_prefix"
 | 
			
		||||
  prefix="$acl_save_prefix"
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl AC_LIB_PREPARE_MULTILIB creates
 | 
			
		||||
dnl - a variable acl_libdirstem, containing the basename of the libdir, either
 | 
			
		||||
dnl   "lib" or "lib64" or "lib/64",
 | 
			
		||||
dnl - a variable acl_libdirstem2, as a secondary possible value for
 | 
			
		||||
dnl   acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
 | 
			
		||||
dnl   "lib/amd64".
 | 
			
		||||
AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
 | 
			
		||||
[
 | 
			
		||||
  dnl There is no formal standard regarding lib and lib64.
 | 
			
		||||
  dnl On glibc systems, the current practice is that on a system supporting
 | 
			
		||||
  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
 | 
			
		||||
  dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
 | 
			
		||||
  dnl the compiler's default mode by looking at the compiler's library search
 | 
			
		||||
  dnl path. If at least one of its elements ends in /lib64 or points to a
 | 
			
		||||
  dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
 | 
			
		||||
  dnl Otherwise we use the default, namely "lib".
 | 
			
		||||
  dnl On Solaris systems, the current practice is that on a system supporting
 | 
			
		||||
  dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
 | 
			
		||||
  dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
 | 
			
		||||
  dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib.
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  acl_libdirstem=lib
 | 
			
		||||
  acl_libdirstem2=
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    solaris*)
 | 
			
		||||
      dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
 | 
			
		||||
      dnl <http://docs.sun.com/app/docs/doc/816-5138/dev-env?l=en&a=view>.
 | 
			
		||||
      dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
 | 
			
		||||
      dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
 | 
			
		||||
      dnl symlink is missing, so we set acl_libdirstem2 too.
 | 
			
		||||
      AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
 | 
			
		||||
        [AC_EGREP_CPP([sixtyfour bits], [
 | 
			
		||||
#ifdef _LP64
 | 
			
		||||
sixtyfour bits
 | 
			
		||||
#endif
 | 
			
		||||
           ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no])
 | 
			
		||||
        ])
 | 
			
		||||
      if test $gl_cv_solaris_64bit = yes; then
 | 
			
		||||
        acl_libdirstem=lib/64
 | 
			
		||||
        case "$host_cpu" in
 | 
			
		||||
          sparc*)        acl_libdirstem2=lib/sparcv9 ;;
 | 
			
		||||
          i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
 | 
			
		||||
        esac
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
 | 
			
		||||
      if test -n "$searchpath"; then
 | 
			
		||||
        acl_save_IFS="${IFS= 	}"; IFS=":"
 | 
			
		||||
        for searchdir in $searchpath; do
 | 
			
		||||
          if test -d "$searchdir"; then
 | 
			
		||||
            case "$searchdir" in
 | 
			
		||||
              */lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
 | 
			
		||||
              */../ | */.. )
 | 
			
		||||
                # Better ignore directories of this form. They are misleading.
 | 
			
		||||
                ;;
 | 
			
		||||
              *) searchdir=`cd "$searchdir" && pwd`
 | 
			
		||||
                 case "$searchdir" in
 | 
			
		||||
                   */lib64 ) acl_libdirstem=lib64 ;;
 | 
			
		||||
                 esac ;;
 | 
			
		||||
            esac
 | 
			
		||||
          fi
 | 
			
		||||
        done
 | 
			
		||||
        IFS="$acl_save_IFS"
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
  test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										41
									
								
								gl/m4/limits-h.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								gl/m4/limits-h.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,41 @@
 | 
			
		|||
dnl Check whether limits.h has needed features.
 | 
			
		||||
 | 
			
		||||
dnl Copyright 2016-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl From Paul Eggert.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN_ONCE([gl_LIMITS_H],
 | 
			
		||||
[
 | 
			
		||||
  gl_CHECK_NEXT_HEADERS([limits.h])
 | 
			
		||||
 | 
			
		||||
  AC_CACHE_CHECK([whether limits.h has WORD_BIT, BOOL_WIDTH etc.],
 | 
			
		||||
    [gl_cv_header_limits_width],
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
          [[#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
 | 
			
		||||
             #define __STDC_WANT_IEC_60559_BFP_EXT__ 1
 | 
			
		||||
            #endif
 | 
			
		||||
            #include <limits.h>
 | 
			
		||||
            long long llm = LLONG_MAX;
 | 
			
		||||
            int wb = WORD_BIT;
 | 
			
		||||
            int ullw = ULLONG_WIDTH;
 | 
			
		||||
            int bw = BOOL_WIDTH;
 | 
			
		||||
          ]])],
 | 
			
		||||
       [gl_cv_header_limits_width=yes],
 | 
			
		||||
       [gl_cv_header_limits_width=no])])
 | 
			
		||||
  if test "$gl_cv_header_limits_width" = yes; then
 | 
			
		||||
    GL_GENERATE_LIMITS_H=false
 | 
			
		||||
  else
 | 
			
		||||
    GL_GENERATE_LIMITS_H=true
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl Unconditionally enables the replacement of <limits.h>.
 | 
			
		||||
AC_DEFUN([gl_REPLACE_LIMITS_H],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_LIMITS_H])
 | 
			
		||||
  GL_GENERATE_LIMITS_H=true
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# localcharset.m4 serial 7
 | 
			
		||||
dnl Copyright (C) 2002, 2004, 2006, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# localcharset.m4 serial 8
 | 
			
		||||
dnl Copyright (C) 2002, 2004, 2006, 2009-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -8,10 +8,4 @@ AC_DEFUN([gl_LOCALCHARSET],
 | 
			
		|||
[
 | 
			
		||||
  dnl Prerequisites of lib/localcharset.c.
 | 
			
		||||
  AC_REQUIRE([AM_LANGINFO_CODESET])
 | 
			
		||||
  AC_REQUIRE([gl_FCNTL_O_FLAGS])
 | 
			
		||||
  AC_CHECK_DECLS_ONCE([getc_unlocked])
 | 
			
		||||
 | 
			
		||||
  dnl Prerequisites of the lib/Makefile.am snippet.
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_REQUIRE([gl_GLIBC21])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# locale-fr.m4 serial 17
 | 
			
		||||
dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc.
 | 
			
		||||
# locale-fr.m4 serial 20
 | 
			
		||||
dnl Copyright (C) 2003, 2005-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -12,8 +12,7 @@ AC_DEFUN([gt_LOCALE_FR],
 | 
			
		|||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_REQUIRE([AM_LANGINFO_CODESET])
 | 
			
		||||
  AC_CACHE_CHECK([for a traditional french locale], [gt_cv_locale_fr], [
 | 
			
		||||
    AC_LANG_CONFTEST([AC_LANG_SOURCE([
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
    AC_LANG_CONFTEST([AC_LANG_SOURCE([[
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#if HAVE_LANGINFO_CODESET
 | 
			
		||||
| 
						 | 
				
			
			@ -24,8 +23,14 @@ changequote(,)dnl
 | 
			
		|||
struct tm t;
 | 
			
		||||
char buf[16];
 | 
			
		||||
int main () {
 | 
			
		||||
  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
 | 
			
		||||
     imitates locale dependent behaviour by looking at the environment
 | 
			
		||||
     variables, and all locales use the UTF-8 encoding.  */
 | 
			
		||||
#if defined __BEOS__ || defined __HAIKU__
 | 
			
		||||
  return 1;
 | 
			
		||||
#else
 | 
			
		||||
  /* Check whether the given locale name is recognized by the system.  */
 | 
			
		||||
#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
 | 
			
		||||
# if defined _WIN32 && !defined __CYGWIN__
 | 
			
		||||
  /* On native Windows, setlocale(category, "") looks at the system settings,
 | 
			
		||||
     not at the environment variables.  Also, when an encoding suffix such
 | 
			
		||||
     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
 | 
			
		||||
| 
						 | 
				
			
			@ -33,9 +38,9 @@ int main () {
 | 
			
		|||
  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
 | 
			
		||||
      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
 | 
			
		||||
    return 1;
 | 
			
		||||
#else
 | 
			
		||||
# else
 | 
			
		||||
  if (setlocale (LC_ALL, "") == NULL) return 1;
 | 
			
		||||
#endif
 | 
			
		||||
# endif
 | 
			
		||||
  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
 | 
			
		||||
     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
 | 
			
		||||
     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
 | 
			
		||||
| 
						 | 
				
			
			@ -44,35 +49,35 @@ int main () {
 | 
			
		|||
     some unit tests fail.
 | 
			
		||||
     On MirBSD 10, when an unsupported locale is specified, setlocale()
 | 
			
		||||
     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
 | 
			
		||||
#if HAVE_LANGINFO_CODESET
 | 
			
		||||
# if HAVE_LANGINFO_CODESET
 | 
			
		||||
  {
 | 
			
		||||
    const char *cs = nl_langinfo (CODESET);
 | 
			
		||||
    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
 | 
			
		||||
        || strcmp (cs, "UTF-8") == 0)
 | 
			
		||||
      return 1;
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef __CYGWIN__
 | 
			
		||||
# endif
 | 
			
		||||
# ifdef __CYGWIN__
 | 
			
		||||
  /* On Cygwin, avoid locale names without encoding suffix, because the
 | 
			
		||||
     locale_charset() function relies on the encoding suffix.  Note that
 | 
			
		||||
     LC_ALL is set on the command line.  */
 | 
			
		||||
  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
 | 
			
		||||
#endif
 | 
			
		||||
# endif
 | 
			
		||||
  /* Check whether in the abbreviation of the second month, the second
 | 
			
		||||
     character (should be U+00E9: LATIN SMALL LETTER E WITH ACUTE) is only
 | 
			
		||||
     one byte long. This excludes the UTF-8 encoding.  */
 | 
			
		||||
  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
 | 
			
		||||
  if (strftime (buf, sizeof (buf), "%b", &t) < 3 || buf[2] != 'v') return 1;
 | 
			
		||||
#if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
 | 
			
		||||
# if !defined __BIONIC__ /* Bionic libc's 'struct lconv' is just a dummy.  */
 | 
			
		||||
  /* Check whether the decimal separator is a comma.
 | 
			
		||||
     On NetBSD 3.0 in the fr_FR.ISO8859-1 locale, localeconv()->decimal_point
 | 
			
		||||
     are nl_langinfo(RADIXCHAR) are both ".".  */
 | 
			
		||||
  if (localeconv () ->decimal_point[0] != ',') return 1;
 | 
			
		||||
#endif
 | 
			
		||||
# endif
 | 
			
		||||
  return 0;
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
      ])])
 | 
			
		||||
      ]])])
 | 
			
		||||
    if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
 | 
			
		||||
      case "$host_os" in
 | 
			
		||||
        # Handle native Windows specially, because there setlocale() interprets
 | 
			
		||||
| 
						 | 
				
			
			@ -136,8 +141,7 @@ AC_DEFUN([gt_LOCALE_FR_UTF8],
 | 
			
		|||
[
 | 
			
		||||
  AC_REQUIRE([AM_LANGINFO_CODESET])
 | 
			
		||||
  AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [
 | 
			
		||||
    AC_LANG_CONFTEST([AC_LANG_SOURCE([
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
    AC_LANG_CONFTEST([AC_LANG_SOURCE([[
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#if HAVE_LANGINFO_CODESET
 | 
			
		||||
| 
						 | 
				
			
			@ -153,7 +157,7 @@ int main () {
 | 
			
		|||
     variables, and all locales use the UTF-8 encoding.  */
 | 
			
		||||
#if !(defined __BEOS__ || defined __HAIKU__)
 | 
			
		||||
  /* Check whether the given locale name is recognized by the system.  */
 | 
			
		||||
# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
 | 
			
		||||
# if defined _WIN32 && !defined __CYGWIN__
 | 
			
		||||
  /* On native Windows, setlocale(category, "") looks at the system settings,
 | 
			
		||||
     not at the environment variables.  Also, when an encoding suffix such
 | 
			
		||||
     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
 | 
			
		||||
| 
						 | 
				
			
			@ -199,8 +203,7 @@ int main () {
 | 
			
		|||
#endif
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
      ])])
 | 
			
		||||
      ]])])
 | 
			
		||||
    if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
 | 
			
		||||
      case "$host_os" in
 | 
			
		||||
        # Handle native Windows specially, because there setlocale() interprets
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# locale-ja.m4 serial 12
 | 
			
		||||
dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc.
 | 
			
		||||
# locale-ja.m4 serial 15
 | 
			
		||||
dnl Copyright (C) 2003, 2005-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -12,8 +12,7 @@ AC_DEFUN([gt_LOCALE_JA],
 | 
			
		|||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_REQUIRE([AM_LANGINFO_CODESET])
 | 
			
		||||
  AC_CACHE_CHECK([for a traditional japanese locale], [gt_cv_locale_ja], [
 | 
			
		||||
    AC_LANG_CONFTEST([AC_LANG_SOURCE([
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
    AC_LANG_CONFTEST([AC_LANG_SOURCE([[
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#if HAVE_LANGINFO_CODESET
 | 
			
		||||
| 
						 | 
				
			
			@ -25,9 +24,14 @@ struct tm t;
 | 
			
		|||
char buf[16];
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
  const char *p;
 | 
			
		||||
  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
 | 
			
		||||
     imitates locale dependent behaviour by looking at the environment
 | 
			
		||||
     variables, and all locales use the UTF-8 encoding.  */
 | 
			
		||||
#if defined __BEOS__ || defined __HAIKU__
 | 
			
		||||
  return 1;
 | 
			
		||||
#else
 | 
			
		||||
  /* Check whether the given locale name is recognized by the system.  */
 | 
			
		||||
#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
 | 
			
		||||
# if defined _WIN32 && !defined __CYGWIN__
 | 
			
		||||
  /* On native Windows, setlocale(category, "") looks at the system settings,
 | 
			
		||||
     not at the environment variables.  Also, when an encoding suffix such
 | 
			
		||||
     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
 | 
			
		||||
| 
						 | 
				
			
			@ -35,9 +39,9 @@ int main ()
 | 
			
		|||
  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
 | 
			
		||||
      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
 | 
			
		||||
    return 1;
 | 
			
		||||
#else
 | 
			
		||||
# else
 | 
			
		||||
  if (setlocale (LC_ALL, "") == NULL) return 1;
 | 
			
		||||
#endif
 | 
			
		||||
# endif
 | 
			
		||||
  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
 | 
			
		||||
     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
 | 
			
		||||
     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
 | 
			
		||||
| 
						 | 
				
			
			@ -46,35 +50,38 @@ int main ()
 | 
			
		|||
     some unit tests fail.
 | 
			
		||||
     On MirBSD 10, when an unsupported locale is specified, setlocale()
 | 
			
		||||
     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
 | 
			
		||||
#if HAVE_LANGINFO_CODESET
 | 
			
		||||
# if HAVE_LANGINFO_CODESET
 | 
			
		||||
  {
 | 
			
		||||
    const char *cs = nl_langinfo (CODESET);
 | 
			
		||||
    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
 | 
			
		||||
        || strcmp (cs, "UTF-8") == 0)
 | 
			
		||||
      return 1;
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef __CYGWIN__
 | 
			
		||||
# endif
 | 
			
		||||
# ifdef __CYGWIN__
 | 
			
		||||
  /* On Cygwin, avoid locale names without encoding suffix, because the
 | 
			
		||||
     locale_charset() function relies on the encoding suffix.  Note that
 | 
			
		||||
     LC_ALL is set on the command line.  */
 | 
			
		||||
  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
 | 
			
		||||
#endif
 | 
			
		||||
# endif
 | 
			
		||||
  /* Check whether MB_CUR_MAX is > 1.  This excludes the dysfunctional locales
 | 
			
		||||
     on Cygwin 1.5.x.  */
 | 
			
		||||
  if (MB_CUR_MAX == 1)
 | 
			
		||||
    return 1;
 | 
			
		||||
  /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
 | 
			
		||||
     This excludes the UTF-8 encoding (except on MirBSD).  */
 | 
			
		||||
  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
 | 
			
		||||
  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
 | 
			
		||||
  for (p = buf; *p != '\0'; p++)
 | 
			
		||||
    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
 | 
			
		||||
      return 1;
 | 
			
		||||
  {
 | 
			
		||||
    const char *p;
 | 
			
		||||
    t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
 | 
			
		||||
    if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
 | 
			
		||||
    for (p = buf; *p != '\0'; p++)
 | 
			
		||||
      if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
 | 
			
		||||
        return 1;
 | 
			
		||||
  }
 | 
			
		||||
  return 0;
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
      ])])
 | 
			
		||||
      ]])])
 | 
			
		||||
    if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
 | 
			
		||||
      case "$host_os" in
 | 
			
		||||
        # Handle native Windows specially, because there setlocale() interprets
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# locale-zh.m4 serial 12
 | 
			
		||||
dnl Copyright (C) 2003, 2005-2013 Free Software Foundation, Inc.
 | 
			
		||||
# locale-zh.m4 serial 15
 | 
			
		||||
dnl Copyright (C) 2003, 2005-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -12,8 +12,7 @@ AC_DEFUN([gt_LOCALE_ZH_CN],
 | 
			
		|||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_REQUIRE([AM_LANGINFO_CODESET])
 | 
			
		||||
  AC_CACHE_CHECK([for a transitional chinese locale], [gt_cv_locale_zh_CN], [
 | 
			
		||||
    AC_LANG_CONFTEST([AC_LANG_SOURCE([
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
    AC_LANG_CONFTEST([AC_LANG_SOURCE([[
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -26,9 +25,14 @@ struct tm t;
 | 
			
		|||
char buf[16];
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
  const char *p;
 | 
			
		||||
  /* On BeOS and Haiku, locales are not implemented in libc.  Rather, libintl
 | 
			
		||||
     imitates locale dependent behaviour by looking at the environment
 | 
			
		||||
     variables, and all locales use the UTF-8 encoding.  */
 | 
			
		||||
#if defined __BEOS__ || defined __HAIKU__
 | 
			
		||||
  return 1;
 | 
			
		||||
#else
 | 
			
		||||
  /* Check whether the given locale name is recognized by the system.  */
 | 
			
		||||
#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
 | 
			
		||||
# if defined _WIN32 && !defined __CYGWIN__
 | 
			
		||||
  /* On native Windows, setlocale(category, "") looks at the system settings,
 | 
			
		||||
     not at the environment variables.  Also, when an encoding suffix such
 | 
			
		||||
     as ".65001" or ".54936" is specified, it succeeds but sets the LC_CTYPE
 | 
			
		||||
| 
						 | 
				
			
			@ -36,9 +40,9 @@ int main ()
 | 
			
		|||
  if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
 | 
			
		||||
      || strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
 | 
			
		||||
    return 1;
 | 
			
		||||
#else
 | 
			
		||||
# else
 | 
			
		||||
  if (setlocale (LC_ALL, "") == NULL) return 1;
 | 
			
		||||
#endif
 | 
			
		||||
# endif
 | 
			
		||||
  /* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
 | 
			
		||||
     On Mac OS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
 | 
			
		||||
     is empty, and the behaviour of Tcl 8.4 in this locale is not useful.
 | 
			
		||||
| 
						 | 
				
			
			@ -47,35 +51,38 @@ int main ()
 | 
			
		|||
     some unit tests fail.
 | 
			
		||||
     On MirBSD 10, when an unsupported locale is specified, setlocale()
 | 
			
		||||
     succeeds but then nl_langinfo(CODESET) is "UTF-8".  */
 | 
			
		||||
#if HAVE_LANGINFO_CODESET
 | 
			
		||||
# if HAVE_LANGINFO_CODESET
 | 
			
		||||
  {
 | 
			
		||||
    const char *cs = nl_langinfo (CODESET);
 | 
			
		||||
    if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
 | 
			
		||||
        || strcmp (cs, "UTF-8") == 0)
 | 
			
		||||
      return 1;
 | 
			
		||||
  }
 | 
			
		||||
#endif
 | 
			
		||||
#ifdef __CYGWIN__
 | 
			
		||||
# endif
 | 
			
		||||
# ifdef __CYGWIN__
 | 
			
		||||
  /* On Cygwin, avoid locale names without encoding suffix, because the
 | 
			
		||||
     locale_charset() function relies on the encoding suffix.  Note that
 | 
			
		||||
     LC_ALL is set on the command line.  */
 | 
			
		||||
  if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
 | 
			
		||||
#endif
 | 
			
		||||
# endif
 | 
			
		||||
  /* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
 | 
			
		||||
     This excludes the UTF-8 encoding (except on MirBSD).  */
 | 
			
		||||
  t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
 | 
			
		||||
  if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
 | 
			
		||||
  for (p = buf; *p != '\0'; p++)
 | 
			
		||||
    if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
 | 
			
		||||
      return 1;
 | 
			
		||||
  {
 | 
			
		||||
    const char *p;
 | 
			
		||||
    t.tm_year = 1975 - 1900; t.tm_mon = 2 - 1; t.tm_mday = 4;
 | 
			
		||||
    if (strftime (buf, sizeof (buf), "%B", &t) < 2) return 1;
 | 
			
		||||
    for (p = buf; *p != '\0'; p++)
 | 
			
		||||
      if ((unsigned char) *p >= 0x80 && (unsigned char) *p < 0xa0)
 | 
			
		||||
        return 1;
 | 
			
		||||
  }
 | 
			
		||||
  /* Check whether a typical GB18030 multibyte sequence is recognized as a
 | 
			
		||||
     single wide character.  This excludes the GB2312 and GBK encodings.  */
 | 
			
		||||
  if (mblen ("\203\062\332\066", 5) != 4)
 | 
			
		||||
    return 1;
 | 
			
		||||
  return 0;
 | 
			
		||||
#endif
 | 
			
		||||
}
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
      ])])
 | 
			
		||||
      ]])])
 | 
			
		||||
    if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
 | 
			
		||||
      case "$host_os" in
 | 
			
		||||
        # Handle native Windows specially, because there setlocale() interprets
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,13 +1,13 @@
 | 
			
		|||
# locale_h.m4 serial 19
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# locale_h.m4 serial 28
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2023 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_LOCALE_H],
 | 
			
		||||
AC_DEFUN_ONCE([gl_LOCALE_H],
 | 
			
		||||
[
 | 
			
		||||
  dnl Use AC_REQUIRE here, so that the default behavior below is expanded
 | 
			
		||||
  dnl once only, before all statements that occur in other macros.
 | 
			
		||||
  dnl Ensure to expand the default settings once only, before all statements
 | 
			
		||||
  dnl that occur in other macros.
 | 
			
		||||
  AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
 | 
			
		||||
 | 
			
		||||
  dnl Persuade glibc <locale.h> to define locale_t and the int_p_*, int_n_*
 | 
			
		||||
| 
						 | 
				
			
			@ -17,7 +17,9 @@ AC_DEFUN([gl_LOCALE_H],
 | 
			
		|||
  dnl If <stddef.h> is replaced, then <locale.h> must also be replaced.
 | 
			
		||||
  AC_REQUIRE([gl_STDDEF_H])
 | 
			
		||||
 | 
			
		||||
  dnl Solaris 11 2011-11 defines the int_p_*, int_n_* members of 'struct lconv'
 | 
			
		||||
  AC_REQUIRE([gl_LOCALE_T])
 | 
			
		||||
 | 
			
		||||
  dnl Solaris 11.0 defines the int_p_*, int_n_* members of 'struct lconv'
 | 
			
		||||
  dnl only if _LCONV_C99 is defined.
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
| 
						 | 
				
			
			@ -37,34 +39,6 @@ AC_DEFUN([gl_LOCALE_H],
 | 
			
		|||
       [gl_cv_header_locale_h_posix2001=yes],
 | 
			
		||||
       [gl_cv_header_locale_h_posix2001=no])])
 | 
			
		||||
 | 
			
		||||
  dnl Check for <xlocale.h>.
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([xlocale.h])
 | 
			
		||||
  if test $ac_cv_header_xlocale_h = yes; then
 | 
			
		||||
    HAVE_XLOCALE_H=1
 | 
			
		||||
    dnl Check whether use of locale_t requires inclusion of <xlocale.h>,
 | 
			
		||||
    dnl e.g. on Mac OS X 10.5. If <locale.h> does not define locale_t by
 | 
			
		||||
    dnl itself, we assume that <xlocale.h> will do so.
 | 
			
		||||
    AC_CACHE_CHECK([whether locale.h defines locale_t],
 | 
			
		||||
      [gl_cv_header_locale_has_locale_t],
 | 
			
		||||
      [AC_COMPILE_IFELSE(
 | 
			
		||||
         [AC_LANG_PROGRAM(
 | 
			
		||||
            [[#include <locale.h>
 | 
			
		||||
              locale_t x;]],
 | 
			
		||||
            [[]])],
 | 
			
		||||
         [gl_cv_header_locale_has_locale_t=yes],
 | 
			
		||||
         [gl_cv_header_locale_has_locale_t=no])
 | 
			
		||||
      ])
 | 
			
		||||
    if test $gl_cv_header_locale_has_locale_t = yes; then
 | 
			
		||||
      gl_cv_header_locale_h_needs_xlocale_h=no
 | 
			
		||||
    else
 | 
			
		||||
      gl_cv_header_locale_h_needs_xlocale_h=yes
 | 
			
		||||
    fi
 | 
			
		||||
  else
 | 
			
		||||
    HAVE_XLOCALE_H=0
 | 
			
		||||
    gl_cv_header_locale_h_needs_xlocale_h=no
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([HAVE_XLOCALE_H])
 | 
			
		||||
 | 
			
		||||
  dnl Check whether 'struct lconv' is complete.
 | 
			
		||||
  dnl Bionic libc's 'struct lconv' is just a dummy.
 | 
			
		||||
  dnl On OpenBSD 4.9, HP-UX 11, IRIX 6.5, OSF/1 5.1, Solaris 9, Cygwin 1.5.x,
 | 
			
		||||
| 
						 | 
				
			
			@ -82,7 +56,20 @@ AC_DEFUN([gl_LOCALE_H],
 | 
			
		|||
       [gl_cv_sys_struct_lconv_ok=no])
 | 
			
		||||
    ])
 | 
			
		||||
  if test $gl_cv_sys_struct_lconv_ok = no; then
 | 
			
		||||
    REPLACE_STRUCT_LCONV=1
 | 
			
		||||
    dnl On native Windows with MSVC, merely define these member names as macros.
 | 
			
		||||
    dnl This avoids trouble in C++ mode.
 | 
			
		||||
    case "$host_os" in
 | 
			
		||||
      mingw*)
 | 
			
		||||
        AC_EGREP_CPP([Special], [
 | 
			
		||||
#ifdef _MSC_VER
 | 
			
		||||
 Special
 | 
			
		||||
#endif
 | 
			
		||||
          ],
 | 
			
		||||
          [],
 | 
			
		||||
          [REPLACE_STRUCT_LCONV=1])
 | 
			
		||||
        ;;
 | 
			
		||||
      *) REPLACE_STRUCT_LCONV=1 ;;
 | 
			
		||||
    esac
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  dnl <locale.h> is always overridden, because of GNULIB_POSIXCHECK.
 | 
			
		||||
| 
						 | 
				
			
			@ -96,27 +83,92 @@ AC_DEFUN([gl_LOCALE_H],
 | 
			
		|||
# include <xlocale.h>
 | 
			
		||||
#endif
 | 
			
		||||
    ]],
 | 
			
		||||
    [setlocale duplocale])
 | 
			
		||||
    [setlocale newlocale duplocale freelocale])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl Checks to determine whether the system has the locale_t type,
 | 
			
		||||
dnl and how to obtain it.
 | 
			
		||||
AC_DEFUN([gl_LOCALE_T],
 | 
			
		||||
[
 | 
			
		||||
  dnl Persuade glibc and Solaris <locale.h> to define locale_t.
 | 
			
		||||
  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
 | 
			
		||||
 | 
			
		||||
  dnl Check whether use of locale_t requires inclusion of <xlocale.h>,
 | 
			
		||||
  dnl e.g. on Mac OS X 10.5. If <locale.h> does not define locale_t by
 | 
			
		||||
  dnl itself, we assume that <xlocale.h> will do so.
 | 
			
		||||
  AC_CACHE_CHECK([whether locale.h defines locale_t],
 | 
			
		||||
    [gl_cv_header_locale_has_locale_t],
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
          [[#include <locale.h>
 | 
			
		||||
            locale_t x;]],
 | 
			
		||||
          [[]])],
 | 
			
		||||
       [gl_cv_header_locale_has_locale_t=yes],
 | 
			
		||||
       [gl_cv_header_locale_has_locale_t=no])
 | 
			
		||||
    ])
 | 
			
		||||
 | 
			
		||||
  dnl Check for <xlocale.h>.
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([xlocale.h])
 | 
			
		||||
  if test $ac_cv_header_xlocale_h = yes; then
 | 
			
		||||
    HAVE_XLOCALE_H=1
 | 
			
		||||
    if test $gl_cv_header_locale_has_locale_t = yes; then
 | 
			
		||||
      gl_cv_header_locale_h_needs_xlocale_h=no
 | 
			
		||||
    else
 | 
			
		||||
      gl_cv_header_locale_h_needs_xlocale_h=yes
 | 
			
		||||
    fi
 | 
			
		||||
    HAVE_LOCALE_T=1
 | 
			
		||||
  else
 | 
			
		||||
    HAVE_XLOCALE_H=0
 | 
			
		||||
    gl_cv_header_locale_h_needs_xlocale_h=no
 | 
			
		||||
    if test $gl_cv_header_locale_has_locale_t = yes; then
 | 
			
		||||
      HAVE_LOCALE_T=1
 | 
			
		||||
    else
 | 
			
		||||
      HAVE_LOCALE_T=0
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([HAVE_XLOCALE_H])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_LOCALE_MODULE_INDICATOR([modulename])
 | 
			
		||||
# sets the shell variable that indicates the presence of the given module
 | 
			
		||||
# to a C preprocessor expression that will evaluate to 1.
 | 
			
		||||
# This macro invocation must not occur in macros that are AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_LOCALE_MODULE_INDICATOR],
 | 
			
		||||
[
 | 
			
		||||
  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
 | 
			
		||||
  AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
 | 
			
		||||
  dnl Ensure to expand the default settings once only.
 | 
			
		||||
  gl_LOCALE_H_REQUIRE_DEFAULTS
 | 
			
		||||
  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
 | 
			
		||||
  dnl Define it also as a C macro, for the benefit of the unit tests.
 | 
			
		||||
  gl_MODULE_INDICATOR_FOR_TESTS([$1])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Initializes the default values for AC_SUBSTed shell variables.
 | 
			
		||||
# This macro must not be AC_REQUIREd.  It must only be invoked, and only
 | 
			
		||||
# outside of macros or in macros that are not AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_LOCALE_H_REQUIRE_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  m4_defun(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS], [
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALECONV])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SETLOCALE_NULL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DUPLOCALE])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOCALENAME])
 | 
			
		||||
  ])
 | 
			
		||||
  m4_require(GL_MODULE_INDICATOR_PREFIX[_LOCALE_H_MODULE_INDICATOR_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_LOCALE_H_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  GNULIB_LOCALECONV=0; AC_SUBST([GNULIB_LOCALECONV])
 | 
			
		||||
  GNULIB_SETLOCALE=0;  AC_SUBST([GNULIB_SETLOCALE])
 | 
			
		||||
  GNULIB_DUPLOCALE=0;  AC_SUBST([GNULIB_DUPLOCALE])
 | 
			
		||||
  dnl Assume proper GNU behavior unless another module says otherwise.
 | 
			
		||||
  HAVE_NEWLOCALE=1;       AC_SUBST([HAVE_NEWLOCALE])
 | 
			
		||||
  HAVE_DUPLOCALE=1;       AC_SUBST([HAVE_DUPLOCALE])
 | 
			
		||||
  HAVE_FREELOCALE=1;      AC_SUBST([HAVE_FREELOCALE])
 | 
			
		||||
  REPLACE_LOCALECONV=0;   AC_SUBST([REPLACE_LOCALECONV])
 | 
			
		||||
  REPLACE_SETLOCALE=0;    AC_SUBST([REPLACE_SETLOCALE])
 | 
			
		||||
  REPLACE_NEWLOCALE=0;    AC_SUBST([REPLACE_NEWLOCALE])
 | 
			
		||||
  REPLACE_DUPLOCALE=0;    AC_SUBST([REPLACE_DUPLOCALE])
 | 
			
		||||
  REPLACE_FREELOCALE=0;   AC_SUBST([REPLACE_FREELOCALE])
 | 
			
		||||
  REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV])
 | 
			
		||||
  LOCALENAME_ENHANCE_LOCALE_FUNCS=0; AC_SUBST([LOCALENAME_ENHANCE_LOCALE_FUNCS])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# localeconv.m4 serial 1
 | 
			
		||||
dnl Copyright (C) 2012-2013 Free Software Foundation, Inc.
 | 
			
		||||
dnl Copyright (C) 2012-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# lock.m4 serial 13 (gettext-0.18.2)
 | 
			
		||||
dnl Copyright (C) 2005-2013 Free Software Foundation, Inc.
 | 
			
		||||
# lock.m4 serial 14
 | 
			
		||||
dnl Copyright (C) 2005-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -12,11 +12,16 @@ AC_DEFUN([gl_LOCK],
 | 
			
		|||
  if test "$gl_threads_api" = posix; then
 | 
			
		||||
    # OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the
 | 
			
		||||
    # pthread_rwlock_* functions.
 | 
			
		||||
    has_rwlock=false
 | 
			
		||||
    AC_CHECK_TYPE([pthread_rwlock_t],
 | 
			
		||||
      [AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1],
 | 
			
		||||
      [has_rwlock=true
 | 
			
		||||
       AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1],
 | 
			
		||||
         [Define if the POSIX multithreading library has read/write locks.])],
 | 
			
		||||
      [],
 | 
			
		||||
      [#include <pthread.h>])
 | 
			
		||||
    if $has_rwlock; then
 | 
			
		||||
      gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER
 | 
			
		||||
    fi
 | 
			
		||||
    # glibc defines PTHREAD_MUTEX_RECURSIVE as enum, not as a macro.
 | 
			
		||||
    AC_COMPILE_IFELSE([
 | 
			
		||||
      AC_LANG_PROGRAM(
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,113 +0,0 @@
 | 
			
		|||
# longlong.m4 serial 17
 | 
			
		||||
dnl Copyright (C) 1999-2007, 2009-2013 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.
 | 
			
		||||
 | 
			
		||||
dnl From Paul Eggert.
 | 
			
		||||
 | 
			
		||||
# Define HAVE_LONG_LONG_INT if 'long long int' works.
 | 
			
		||||
# This fixes a bug in Autoconf 2.61, and can be faster
 | 
			
		||||
# than what's in Autoconf 2.62 through 2.68.
 | 
			
		||||
 | 
			
		||||
# Note: If the type 'long long int' exists but is only 32 bits large
 | 
			
		||||
# (as on some very old compilers), HAVE_LONG_LONG_INT will not be
 | 
			
		||||
# defined. In this case you can treat 'long long int' like 'long int'.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([AC_TYPE_LONG_LONG_INT],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_TYPE_UNSIGNED_LONG_LONG_INT])
 | 
			
		||||
  AC_CACHE_CHECK([for long long int], [ac_cv_type_long_long_int],
 | 
			
		||||
     [ac_cv_type_long_long_int=yes
 | 
			
		||||
      if test "x${ac_cv_prog_cc_c99-no}" = xno; then
 | 
			
		||||
        ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int
 | 
			
		||||
        if test $ac_cv_type_long_long_int = yes; then
 | 
			
		||||
          dnl Catch a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
 | 
			
		||||
          dnl If cross compiling, assume the bug is not important, since
 | 
			
		||||
          dnl nobody cross compiles for this platform as far as we know.
 | 
			
		||||
          AC_RUN_IFELSE(
 | 
			
		||||
            [AC_LANG_PROGRAM(
 | 
			
		||||
               [[@%:@include <limits.h>
 | 
			
		||||
                 @%:@ifndef LLONG_MAX
 | 
			
		||||
                 @%:@ define HALF \
 | 
			
		||||
                          (1LL << (sizeof (long long int) * CHAR_BIT - 2))
 | 
			
		||||
                 @%:@ define LLONG_MAX (HALF - 1 + HALF)
 | 
			
		||||
                 @%:@endif]],
 | 
			
		||||
               [[long long int n = 1;
 | 
			
		||||
                 int i;
 | 
			
		||||
                 for (i = 0; ; i++)
 | 
			
		||||
                   {
 | 
			
		||||
                     long long int m = n << i;
 | 
			
		||||
                     if (m >> i != n)
 | 
			
		||||
                       return 1;
 | 
			
		||||
                     if (LLONG_MAX / 2 < m)
 | 
			
		||||
                       break;
 | 
			
		||||
                   }
 | 
			
		||||
                 return 0;]])],
 | 
			
		||||
            [],
 | 
			
		||||
            [ac_cv_type_long_long_int=no],
 | 
			
		||||
            [:])
 | 
			
		||||
        fi
 | 
			
		||||
      fi])
 | 
			
		||||
  if test $ac_cv_type_long_long_int = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE_LONG_LONG_INT], [1],
 | 
			
		||||
      [Define to 1 if the system has the type 'long long int'.])
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Define HAVE_UNSIGNED_LONG_LONG_INT if 'unsigned long long int' works.
 | 
			
		||||
# This fixes a bug in Autoconf 2.61, and can be faster
 | 
			
		||||
# than what's in Autoconf 2.62 through 2.68.
 | 
			
		||||
 | 
			
		||||
# Note: If the type 'unsigned long long int' exists but is only 32 bits
 | 
			
		||||
# large (as on some very old compilers), AC_TYPE_UNSIGNED_LONG_LONG_INT
 | 
			
		||||
# will not be defined. In this case you can treat 'unsigned long long int'
 | 
			
		||||
# like 'unsigned long int'.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
 | 
			
		||||
[
 | 
			
		||||
  AC_CACHE_CHECK([for unsigned long long int],
 | 
			
		||||
    [ac_cv_type_unsigned_long_long_int],
 | 
			
		||||
    [ac_cv_type_unsigned_long_long_int=yes
 | 
			
		||||
     if test "x${ac_cv_prog_cc_c99-no}" = xno; then
 | 
			
		||||
       AC_LINK_IFELSE(
 | 
			
		||||
         [_AC_TYPE_LONG_LONG_SNIPPET],
 | 
			
		||||
         [],
 | 
			
		||||
         [ac_cv_type_unsigned_long_long_int=no])
 | 
			
		||||
     fi])
 | 
			
		||||
  if test $ac_cv_type_unsigned_long_long_int = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE_UNSIGNED_LONG_LONG_INT], [1],
 | 
			
		||||
      [Define to 1 if the system has the type 'unsigned long long int'.])
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Expands to a C program that can be used to test for simultaneous support
 | 
			
		||||
# of 'long long' and 'unsigned long long'. We don't want to say that
 | 
			
		||||
# 'long long' is available if 'unsigned long long' is not, or vice versa,
 | 
			
		||||
# because too many programs rely on the symmetry between signed and unsigned
 | 
			
		||||
# integer types (excluding 'bool').
 | 
			
		||||
AC_DEFUN([_AC_TYPE_LONG_LONG_SNIPPET],
 | 
			
		||||
[
 | 
			
		||||
  AC_LANG_PROGRAM(
 | 
			
		||||
    [[/* For now, do not test the preprocessor; as of 2007 there are too many
 | 
			
		||||
         implementations with broken preprocessors.  Perhaps this can
 | 
			
		||||
         be revisited in 2012.  In the meantime, code should not expect
 | 
			
		||||
         #if to work with literals wider than 32 bits.  */
 | 
			
		||||
      /* Test literals.  */
 | 
			
		||||
      long long int ll = 9223372036854775807ll;
 | 
			
		||||
      long long int nll = -9223372036854775807LL;
 | 
			
		||||
      unsigned long long int ull = 18446744073709551615ULL;
 | 
			
		||||
      /* Test constant expressions.   */
 | 
			
		||||
      typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
 | 
			
		||||
                     ? 1 : -1)];
 | 
			
		||||
      typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
 | 
			
		||||
                     ? 1 : -1)];
 | 
			
		||||
      int i = 63;]],
 | 
			
		||||
    [[/* Test availability of runtime routines for shift and division.  */
 | 
			
		||||
      long long int llmax = 9223372036854775807ll;
 | 
			
		||||
      unsigned long long int ullmax = 18446744073709551615ull;
 | 
			
		||||
      return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
 | 
			
		||||
              | (llmax / ll) | (llmax % ll)
 | 
			
		||||
              | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
 | 
			
		||||
              | (ullmax / ull) | (ullmax % ull));]])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,357 +0,0 @@
 | 
			
		|||
# serial 30
 | 
			
		||||
# How to list mounted file systems.
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1998-2004, 2006, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
#
 | 
			
		||||
# This file is free software; the Free Software Foundation
 | 
			
		||||
# gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
# with or without modifications, as long as this notice is preserved.
 | 
			
		||||
 | 
			
		||||
dnl From Jim Meyering.
 | 
			
		||||
dnl
 | 
			
		||||
dnl This is not pretty.  I've just taken the autoconf code and wrapped
 | 
			
		||||
dnl it in an AC_DEFUN and made some other fixes.
 | 
			
		||||
dnl
 | 
			
		||||
 | 
			
		||||
# Replace Autoconf's AC_FUNC_GETMNTENT to work around a bug in Autoconf
 | 
			
		||||
# through Autoconf 2.59.  We can remove this once we assume Autoconf 2.60
 | 
			
		||||
# or later.
 | 
			
		||||
AC_DEFUN([AC_FUNC_GETMNTENT],
 | 
			
		||||
[# getmntent is in the standard C library on UNICOS, in -lsun on Irix 4,
 | 
			
		||||
# -lseq on Dynix/PTX, -lgen on Unixware.
 | 
			
		||||
AC_SEARCH_LIBS([getmntent], [sun seq gen])
 | 
			
		||||
AC_CHECK_FUNCS([getmntent])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_LIST_MOUNTED_FILE_SYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
 | 
			
		||||
AC_DEFUN([gl_LIST_MOUNTED_FILE_SYSTEMS],
 | 
			
		||||
  [
 | 
			
		||||
AC_CHECK_FUNCS([listmntent getmntinfo])
 | 
			
		||||
AC_CHECK_HEADERS_ONCE([sys/param.h sys/statvfs.h])
 | 
			
		||||
 | 
			
		||||
# We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses
 | 
			
		||||
# NGROUPS (as the array dimension for a struct member) without a definition.
 | 
			
		||||
AC_CHECK_HEADERS([sys/ucred.h], [], [], [#include <grp.h>])
 | 
			
		||||
 | 
			
		||||
AC_CHECK_HEADERS([sys/mount.h], [], [],
 | 
			
		||||
  [AC_INCLUDES_DEFAULT
 | 
			
		||||
   [#if HAVE_SYS_PARAM_H
 | 
			
		||||
     #include <sys/param.h>
 | 
			
		||||
    #endif]])
 | 
			
		||||
 | 
			
		||||
AC_CHECK_HEADERS([mntent.h sys/fs_types.h])
 | 
			
		||||
    getfsstat_includes="\
 | 
			
		||||
$ac_includes_default
 | 
			
		||||
#if HAVE_SYS_PARAM_H
 | 
			
		||||
# include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
 | 
			
		||||
#endif
 | 
			
		||||
#if HAVE_SYS_UCRED_H
 | 
			
		||||
# include <grp.h> /* needed for definition of NGROUPS */
 | 
			
		||||
# include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
 | 
			
		||||
#endif
 | 
			
		||||
#if HAVE_SYS_MOUNT_H
 | 
			
		||||
# include <sys/mount.h>
 | 
			
		||||
#endif
 | 
			
		||||
#if HAVE_SYS_FS_TYPES_H
 | 
			
		||||
# include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
 | 
			
		||||
#endif
 | 
			
		||||
"
 | 
			
		||||
AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes])
 | 
			
		||||
 | 
			
		||||
# Determine how to get the list of mounted file systems.
 | 
			
		||||
ac_list_mounted_fs=
 | 
			
		||||
 | 
			
		||||
# If the getmntent function is available but not in the standard library,
 | 
			
		||||
# make sure LIBS contains the appropriate -l option.
 | 
			
		||||
AC_FUNC_GETMNTENT
 | 
			
		||||
 | 
			
		||||
# This test must precede the ones for getmntent because Unicos-9 is
 | 
			
		||||
# reported to have the getmntent function, but its support is incompatible
 | 
			
		||||
# with other getmntent implementations.
 | 
			
		||||
 | 
			
		||||
# NOTE: Normally, I wouldn't use a check for system type as I've done for
 | 
			
		||||
# 'CRAY' below since that goes against the whole autoconf philosophy.  But
 | 
			
		||||
# I think there is too great a chance that some non-Cray system has a
 | 
			
		||||
# function named listmntent to risk the false positive.
 | 
			
		||||
 | 
			
		||||
if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
  # Cray UNICOS 9
 | 
			
		||||
  AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_mounted_cray_listmntent],
 | 
			
		||||
    [fu_cv_sys_mounted_cray_listmntent=no
 | 
			
		||||
      AC_EGREP_CPP([yes],
 | 
			
		||||
        [#ifdef _CRAY
 | 
			
		||||
yes
 | 
			
		||||
#endif
 | 
			
		||||
        ], [test $ac_cv_func_listmntent = yes \
 | 
			
		||||
            && fu_cv_sys_mounted_cray_listmntent=yes]
 | 
			
		||||
      )
 | 
			
		||||
    ]
 | 
			
		||||
  )
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_mounted_cray_listmntent])
 | 
			
		||||
  if test $fu_cv_sys_mounted_cray_listmntent = yes; then
 | 
			
		||||
    ac_list_mounted_fs=found
 | 
			
		||||
    AC_DEFINE([MOUNTED_LISTMNTENT], [1],
 | 
			
		||||
      [Define if there is a function named listmntent that can be used to
 | 
			
		||||
       list all mounted file systems.  (UNICOS)])
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
  # AIX.
 | 
			
		||||
  AC_MSG_CHECKING([for mntctl function and struct vmount])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_mounted_vmount],
 | 
			
		||||
  [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <fshelp.h>]])],
 | 
			
		||||
    [fu_cv_sys_mounted_vmount=yes],
 | 
			
		||||
    [fu_cv_sys_mounted_vmount=no])])
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_mounted_vmount])
 | 
			
		||||
  if test $fu_cv_sys_mounted_vmount = yes; then
 | 
			
		||||
    ac_list_mounted_fs=found
 | 
			
		||||
    AC_DEFINE([MOUNTED_VMOUNT], [1],
 | 
			
		||||
        [Define if there is a function named mntctl that can be used to read
 | 
			
		||||
         the list of mounted file systems, and there is a system header file
 | 
			
		||||
         that declares 'struct vmount'.  (AIX)])
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $ac_cv_func_getmntent = yes; then
 | 
			
		||||
 | 
			
		||||
  # This system has the getmntent function.
 | 
			
		||||
  # Determine whether it's the one-argument variant or the two-argument one.
 | 
			
		||||
 | 
			
		||||
  if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
    # 4.3BSD, SunOS, HP-UX, Dynix, Irix
 | 
			
		||||
    AC_MSG_CHECKING([for one-argument getmntent function])
 | 
			
		||||
    AC_CACHE_VAL([fu_cv_sys_mounted_getmntent1],
 | 
			
		||||
                 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 | 
			
		||||
/* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#include <mntent.h>
 | 
			
		||||
#if !defined MOUNTED
 | 
			
		||||
# if defined _PATH_MOUNTED      /* GNU libc  */
 | 
			
		||||
#  define MOUNTED _PATH_MOUNTED
 | 
			
		||||
# endif
 | 
			
		||||
# if defined MNT_MNTTAB /* HP-UX.  */
 | 
			
		||||
#  define MOUNTED MNT_MNTTAB
 | 
			
		||||
# endif
 | 
			
		||||
# if defined MNTTABNAME /* Dynix.  */
 | 
			
		||||
#  define MOUNTED MNTTABNAME
 | 
			
		||||
# endif
 | 
			
		||||
#endif
 | 
			
		||||
]],
 | 
			
		||||
                      [[ struct mntent *mnt = 0; char *table = MOUNTED;
 | 
			
		||||
                         if (sizeof mnt && sizeof table) return 0;]])],
 | 
			
		||||
                    [fu_cv_sys_mounted_getmntent1=yes],
 | 
			
		||||
                    [fu_cv_sys_mounted_getmntent1=no])])
 | 
			
		||||
    AC_MSG_RESULT([$fu_cv_sys_mounted_getmntent1])
 | 
			
		||||
    if test $fu_cv_sys_mounted_getmntent1 = yes; then
 | 
			
		||||
      ac_list_mounted_fs=found
 | 
			
		||||
      AC_DEFINE([MOUNTED_GETMNTENT1], [1],
 | 
			
		||||
        [Define if there is a function named getmntent for reading the list
 | 
			
		||||
         of mounted file systems, and that function takes a single argument.
 | 
			
		||||
         (4.3BSD, SunOS, HP-UX, Dynix, Irix)])
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
    # SVR4
 | 
			
		||||
    AC_MSG_CHECKING([for two-argument getmntent function])
 | 
			
		||||
    AC_CACHE_VAL([fu_cv_sys_mounted_getmntent2],
 | 
			
		||||
    [AC_EGREP_HEADER([getmntent], [sys/mnttab.h],
 | 
			
		||||
      fu_cv_sys_mounted_getmntent2=yes,
 | 
			
		||||
      fu_cv_sys_mounted_getmntent2=no)])
 | 
			
		||||
    AC_MSG_RESULT([$fu_cv_sys_mounted_getmntent2])
 | 
			
		||||
    if test $fu_cv_sys_mounted_getmntent2 = yes; then
 | 
			
		||||
      ac_list_mounted_fs=found
 | 
			
		||||
      AC_DEFINE([MOUNTED_GETMNTENT2], [1],
 | 
			
		||||
        [Define if there is a function named getmntent for reading the list of
 | 
			
		||||
         mounted file systems, and that function takes two arguments.  (SVR4)])
 | 
			
		||||
      AC_CHECK_FUNCS([hasmntopt])
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
  # DEC Alpha running OSF/1, and Apple Darwin 1.3.
 | 
			
		||||
  # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h
 | 
			
		||||
 | 
			
		||||
  AC_MSG_CHECKING([for getfsstat function])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_mounted_getfsstat],
 | 
			
		||||
  [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
 | 
			
		||||
# define FS_TYPE(Ent) ((Ent).f_fstypename)
 | 
			
		||||
#else
 | 
			
		||||
# define FS_TYPE(Ent) mnt_names[(Ent).f_type]
 | 
			
		||||
#endif
 | 
			
		||||
$getfsstat_includes]]
 | 
			
		||||
,
 | 
			
		||||
      [[struct statfs *stats;
 | 
			
		||||
        int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
 | 
			
		||||
        char *t = FS_TYPE (*stats); ]])],
 | 
			
		||||
    [fu_cv_sys_mounted_getfsstat=yes],
 | 
			
		||||
    [fu_cv_sys_mounted_getfsstat=no])])
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_mounted_getfsstat])
 | 
			
		||||
  if test $fu_cv_sys_mounted_getfsstat = yes; then
 | 
			
		||||
    ac_list_mounted_fs=found
 | 
			
		||||
    AC_DEFINE([MOUNTED_GETFSSTAT], [1],
 | 
			
		||||
              [Define if there is a function named getfsstat for reading the
 | 
			
		||||
               list of mounted file systems.  (DEC Alpha running OSF/1)])
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
  # SVR3
 | 
			
		||||
  AC_MSG_CHECKING([for FIXME existence of three headers])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_mounted_fread_fstyp],
 | 
			
		||||
    [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
#include <sys/statfs.h>
 | 
			
		||||
#include <sys/fstyp.h>
 | 
			
		||||
#include <mnttab.h>]])],
 | 
			
		||||
                       [fu_cv_sys_mounted_fread_fstyp=yes],
 | 
			
		||||
                       [fu_cv_sys_mounted_fread_fstyp=no])])
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_mounted_fread_fstyp])
 | 
			
		||||
  if test $fu_cv_sys_mounted_fread_fstyp = yes; then
 | 
			
		||||
    ac_list_mounted_fs=found
 | 
			
		||||
    AC_DEFINE([MOUNTED_FREAD_FSTYP], [1],
 | 
			
		||||
      [Define if (like SVR2) there is no specific function for reading the
 | 
			
		||||
       list of mounted file systems, and your system has these header files:
 | 
			
		||||
       <sys/fstyp.h> and <sys/statfs.h>.  (SVR3)])
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
  # 4.4BSD and DEC OSF/1.
 | 
			
		||||
  AC_MSG_CHECKING([for getmntinfo function])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo],
 | 
			
		||||
    [
 | 
			
		||||
      test "$ac_cv_func_getmntinfo" = yes \
 | 
			
		||||
          && fu_cv_sys_mounted_getmntinfo=yes \
 | 
			
		||||
          || fu_cv_sys_mounted_getmntinfo=no
 | 
			
		||||
    ])
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo])
 | 
			
		||||
  if test $fu_cv_sys_mounted_getmntinfo = yes; then
 | 
			
		||||
    AC_MSG_CHECKING([whether getmntinfo returns statvfs structures])
 | 
			
		||||
    AC_CACHE_VAL([fu_cv_sys_mounted_getmntinfo2],
 | 
			
		||||
      [
 | 
			
		||||
        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 | 
			
		||||
#if HAVE_SYS_PARAM_H
 | 
			
		||||
# include <sys/param.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#if HAVE_SYS_MOUNT_H
 | 
			
		||||
# include <sys/mount.h>
 | 
			
		||||
#endif
 | 
			
		||||
#if HAVE_SYS_STATVFS_H
 | 
			
		||||
# include <sys/statvfs.h>
 | 
			
		||||
#endif
 | 
			
		||||
extern
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
"C"
 | 
			
		||||
#endif
 | 
			
		||||
int getmntinfo (struct statfs **, int);
 | 
			
		||||
            ]], [])],
 | 
			
		||||
          [fu_cv_sys_mounted_getmntinfo2=no],
 | 
			
		||||
          [fu_cv_sys_mounted_getmntinfo2=yes])
 | 
			
		||||
      ])
 | 
			
		||||
    AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo2])
 | 
			
		||||
    if test $fu_cv_sys_mounted_getmntinfo2 = no; then
 | 
			
		||||
      ac_list_mounted_fs=found
 | 
			
		||||
      AC_DEFINE([MOUNTED_GETMNTINFO], [1],
 | 
			
		||||
                [Define if there is a function named getmntinfo for reading the
 | 
			
		||||
                 list of mounted file systems and it returns an array of
 | 
			
		||||
                 'struct statfs'.  (4.4BSD, Darwin)])
 | 
			
		||||
    else
 | 
			
		||||
      ac_list_mounted_fs=found
 | 
			
		||||
      AC_DEFINE([MOUNTED_GETMNTINFO2], [1],
 | 
			
		||||
                [Define if there is a function named getmntinfo for reading the
 | 
			
		||||
                 list of mounted file systems and it returns an array of
 | 
			
		||||
                 'struct statvfs'.  (NetBSD 3.0)])
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
  # Ultrix
 | 
			
		||||
  AC_MSG_CHECKING([for getmnt function])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_mounted_getmnt],
 | 
			
		||||
    [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
#include <sys/fs_types.h>
 | 
			
		||||
#include <sys/mount.h>]])],
 | 
			
		||||
                       [fu_cv_sys_mounted_getmnt=yes],
 | 
			
		||||
                       [fu_cv_sys_mounted_getmnt=no])])
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_mounted_getmnt])
 | 
			
		||||
  if test $fu_cv_sys_mounted_getmnt = yes; then
 | 
			
		||||
    ac_list_mounted_fs=found
 | 
			
		||||
    AC_DEFINE([MOUNTED_GETMNT], [1],
 | 
			
		||||
      [Define if there is a function named getmnt for reading the list of
 | 
			
		||||
       mounted file systems.  (Ultrix)])
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
  # BeOS
 | 
			
		||||
  AC_CHECK_FUNCS([next_dev fs_stat_dev])
 | 
			
		||||
  AC_CHECK_HEADERS([fs_info.h])
 | 
			
		||||
  AC_MSG_CHECKING([for BEOS mounted file system support functions])
 | 
			
		||||
  if test $ac_cv_header_fs_info_h = yes \
 | 
			
		||||
      && test $ac_cv_func_next_dev = yes \
 | 
			
		||||
        && test $ac_cv_func_fs_stat_dev = yes; then
 | 
			
		||||
    fu_result=yes
 | 
			
		||||
  else
 | 
			
		||||
    fu_result=no
 | 
			
		||||
  fi
 | 
			
		||||
  AC_MSG_RESULT([$fu_result])
 | 
			
		||||
  if test $fu_result = yes; then
 | 
			
		||||
    ac_list_mounted_fs=found
 | 
			
		||||
    AC_DEFINE([MOUNTED_FS_STAT_DEV], [1],
 | 
			
		||||
      [Define if there are functions named next_dev and fs_stat_dev for
 | 
			
		||||
       reading the list of mounted file systems.  (BeOS)])
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
  # SVR2
 | 
			
		||||
  AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
 | 
			
		||||
  AC_CACHE_VAL([fu_cv_sys_mounted_fread],
 | 
			
		||||
    [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <mnttab.h>]])],
 | 
			
		||||
                       [fu_cv_sys_mounted_fread=yes],
 | 
			
		||||
                       [fu_cv_sys_mounted_fread=no])])
 | 
			
		||||
  AC_MSG_RESULT([$fu_cv_sys_mounted_fread])
 | 
			
		||||
  if test $fu_cv_sys_mounted_fread = yes; then
 | 
			
		||||
    ac_list_mounted_fs=found
 | 
			
		||||
    AC_DEFINE([MOUNTED_FREAD], [1],
 | 
			
		||||
              [Define if there is no specific function for reading the list of
 | 
			
		||||
               mounted file systems.  fread will be used to read /etc/mnttab.
 | 
			
		||||
               (SVR2) ])
 | 
			
		||||
  fi
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
  # Interix / BSD alike statvfs
 | 
			
		||||
  # the code is really interix specific, so make sure, we're on it.
 | 
			
		||||
  case "$host" in
 | 
			
		||||
  *-interix*)
 | 
			
		||||
    AC_CHECK_FUNCS([statvfs])
 | 
			
		||||
    if test $ac_cv_func_statvfs = yes; then
 | 
			
		||||
      ac_list_mounted_fs=found
 | 
			
		||||
      AC_DEFINE([MOUNTED_INTERIX_STATVFS], [1],
 | 
			
		||||
                [Define if we are on interix, and ought to use statvfs plus
 | 
			
		||||
                 some special knowledge on where mounted file systems can be
 | 
			
		||||
                 found. (Interix)])
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
  esac
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
  AC_MSG_ERROR([could not determine how to read list of mounted file systems])
 | 
			
		||||
  # FIXME -- no need to abort building the whole package
 | 
			
		||||
  # Can't build mountlist.c or anything that needs its functions
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
AS_IF([test $ac_list_mounted_fs = found], [$1], [$2])
 | 
			
		||||
 | 
			
		||||
  ])
 | 
			
		||||
							
								
								
									
										78
									
								
								gl/m4/lseek.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								gl/m4/lseek.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,78 @@
 | 
			
		|||
# lseek.m4 serial 12
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2023 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_LSEEK],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([unistd.h])
 | 
			
		||||
  AC_CACHE_CHECK([whether lseek detects pipes], [gl_cv_func_lseek_pipe],
 | 
			
		||||
    [case "$host_os" in
 | 
			
		||||
       mingw*)
 | 
			
		||||
         dnl Native Windows.
 | 
			
		||||
         dnl The result of lseek (fd, (off_t)0, SEEK_CUR) or
 | 
			
		||||
         dnl SetFilePointer(handle, 0, NULL, FILE_CURRENT)
 | 
			
		||||
         dnl for a pipe depends on the environment: In a Cygwin 1.5
 | 
			
		||||
         dnl environment it succeeds (wrong); in a Cygwin 1.7 environment
 | 
			
		||||
         dnl it fails with a wrong errno value.
 | 
			
		||||
         gl_cv_func_lseek_pipe=no
 | 
			
		||||
         ;;
 | 
			
		||||
       *)
 | 
			
		||||
         if test $cross_compiling = no; then
 | 
			
		||||
           AC_LINK_IFELSE([AC_LANG_PROGRAM([[
 | 
			
		||||
#include <sys/types.h> /* for off_t */
 | 
			
		||||
#include <stdio.h> /* for SEEK_CUR */
 | 
			
		||||
#if HAVE_UNISTD_H
 | 
			
		||||
# include <unistd.h>
 | 
			
		||||
#else /* on Windows with MSVC */
 | 
			
		||||
# include <io.h>
 | 
			
		||||
#endif
 | 
			
		||||
]GL_MDA_DEFINES],
 | 
			
		||||
[[
 | 
			
		||||
  /* Exit with success only if stdin is seekable.  */
 | 
			
		||||
  return lseek (0, (off_t)0, SEEK_CUR) < 0;
 | 
			
		||||
]])],
 | 
			
		||||
             [if test -s conftest$ac_exeext \
 | 
			
		||||
                 && ./conftest$ac_exeext < conftest.$ac_ext \
 | 
			
		||||
                 && test 1 = "`echo hi \
 | 
			
		||||
                   | { ./conftest$ac_exeext; echo $?; cat >/dev/null; }`"; then
 | 
			
		||||
                gl_cv_func_lseek_pipe=yes
 | 
			
		||||
              else
 | 
			
		||||
                gl_cv_func_lseek_pipe=no
 | 
			
		||||
              fi
 | 
			
		||||
             ],
 | 
			
		||||
             [gl_cv_func_lseek_pipe=no])
 | 
			
		||||
         else
 | 
			
		||||
           AC_COMPILE_IFELSE(
 | 
			
		||||
             [AC_LANG_SOURCE([[
 | 
			
		||||
#if defined __BEOS__
 | 
			
		||||
/* BeOS mistakenly return 0 when trying to seek on pipes.  */
 | 
			
		||||
  Choke me.
 | 
			
		||||
#endif]])],
 | 
			
		||||
             [gl_cv_func_lseek_pipe=yes], [gl_cv_func_lseek_pipe=no])
 | 
			
		||||
         fi
 | 
			
		||||
         ;;
 | 
			
		||||
     esac
 | 
			
		||||
    ])
 | 
			
		||||
  if test "$gl_cv_func_lseek_pipe" = no; then
 | 
			
		||||
    REPLACE_LSEEK=1
 | 
			
		||||
    AC_DEFINE([LSEEK_PIPE_BROKEN], [1],
 | 
			
		||||
      [Define to 1 if lseek does not detect pipes.])
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([gl_SYS_TYPES_H])
 | 
			
		||||
  if test $WINDOWS_64_BIT_OFF_T = 1; then
 | 
			
		||||
    REPLACE_LSEEK=1
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  dnl macOS SEEK_DATA is incompatible with other platforms.
 | 
			
		||||
  case $host_os in
 | 
			
		||||
    darwin*)
 | 
			
		||||
      REPLACE_LSEEK=1;;
 | 
			
		||||
  esac
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										173
									
								
								gl/m4/malloc.m4
									
										
									
									
									
								
							
							
						
						
									
										173
									
								
								gl/m4/malloc.m4
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,98 +1,175 @@
 | 
			
		|||
# malloc.m4 serial 14
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# malloc.m4 serial 28
 | 
			
		||||
dnl Copyright (C) 2007, 2009-2023 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.
 | 
			
		||||
 | 
			
		||||
m4_version_prereq([2.70], [] ,[
 | 
			
		||||
 | 
			
		||||
# This is taken from the following Autoconf patch:
 | 
			
		||||
# http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=7fbb553727ed7e0e689a17594b58559ecf3ea6e9
 | 
			
		||||
# This is adapted with modifications from upstream Autoconf here:
 | 
			
		||||
# https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/functions.m4?id=v2.70#n949
 | 
			
		||||
AC_DEFUN([_AC_FUNC_MALLOC_IF],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_HEADER_STDC])dnl
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])dnl for cross-compiles
 | 
			
		||||
  AC_CHECK_HEADERS([stdlib.h])
 | 
			
		||||
  AC_CACHE_CHECK([for GNU libc compatible malloc],
 | 
			
		||||
  AC_CACHE_CHECK([whether malloc (0) returns nonnull],
 | 
			
		||||
    [ac_cv_func_malloc_0_nonnull],
 | 
			
		||||
    [AC_RUN_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
          [[#if defined STDC_HEADERS || defined HAVE_STDLIB_H
 | 
			
		||||
            # include <stdlib.h>
 | 
			
		||||
            #else
 | 
			
		||||
            char *malloc ();
 | 
			
		||||
            #endif
 | 
			
		||||
          [[#include <stdlib.h>
 | 
			
		||||
          ]],
 | 
			
		||||
          [[return ! malloc (0);]])
 | 
			
		||||
          [[void *p = malloc (0);
 | 
			
		||||
            int result = !p;
 | 
			
		||||
            free (p);
 | 
			
		||||
            return result;]])
 | 
			
		||||
       ],
 | 
			
		||||
       [ac_cv_func_malloc_0_nonnull=yes],
 | 
			
		||||
       [ac_cv_func_malloc_0_nonnull=no],
 | 
			
		||||
       [case "$host_os" in
 | 
			
		||||
          # Guess yes on platforms where we know the result.
 | 
			
		||||
          *-gnu* | freebsd* | netbsd* | openbsd* \
 | 
			
		||||
          | hpux* | solaris* | cygwin* | mingw*)
 | 
			
		||||
            ac_cv_func_malloc_0_nonnull=yes ;;
 | 
			
		||||
          # If we don't know, assume the worst.
 | 
			
		||||
          *) ac_cv_func_malloc_0_nonnull=no ;;
 | 
			
		||||
          *-gnu* | freebsd* | netbsd* | openbsd* | bitrig* \
 | 
			
		||||
          | gnu* | *-musl* | midnightbsd* \
 | 
			
		||||
          | hpux* | solaris* | cygwin* | mingw* | msys* )
 | 
			
		||||
            ac_cv_func_malloc_0_nonnull="guessing yes" ;;
 | 
			
		||||
          # If we don't know, obey --enable-cross-guesses.
 | 
			
		||||
          *) ac_cv_func_malloc_0_nonnull="$gl_cross_guess_normal" ;;
 | 
			
		||||
        esac
 | 
			
		||||
       ])
 | 
			
		||||
    ])
 | 
			
		||||
  AS_IF([test $ac_cv_func_malloc_0_nonnull = yes], [$1], [$2])
 | 
			
		||||
  AS_CASE([$ac_cv_func_malloc_0_nonnull], [*yes], [$1], [$2])
 | 
			
		||||
])# _AC_FUNC_MALLOC_IF
 | 
			
		||||
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_FUNC_MALLOC_GNU
 | 
			
		||||
# ------------------
 | 
			
		||||
# Test whether 'malloc (0)' is handled like in GNU libc, and replace malloc if
 | 
			
		||||
# it is not.
 | 
			
		||||
# Replace malloc if it is not compatible with GNU libc.
 | 
			
		||||
AC_DEFUN([gl_FUNC_MALLOC_GNU],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
 | 
			
		||||
  dnl _AC_FUNC_MALLOC_IF is defined in Autoconf.
 | 
			
		||||
  _AC_FUNC_MALLOC_IF(
 | 
			
		||||
    [AC_DEFINE([HAVE_MALLOC_GNU], [1],
 | 
			
		||||
               [Define to 1 if your system has a GNU libc compatible 'malloc'
 | 
			
		||||
                function, and to 0 otherwise.])],
 | 
			
		||||
    [AC_DEFINE([HAVE_MALLOC_GNU], [0])
 | 
			
		||||
     REPLACE_MALLOC=1
 | 
			
		||||
  AC_REQUIRE([gl_FUNC_MALLOC_POSIX])
 | 
			
		||||
  REPLACE_MALLOC_FOR_MALLOC_GNU="$REPLACE_MALLOC_FOR_MALLOC_POSIX"
 | 
			
		||||
  if test $REPLACE_MALLOC_FOR_MALLOC_GNU = 0; then
 | 
			
		||||
    _AC_FUNC_MALLOC_IF([], [REPLACE_MALLOC_FOR_MALLOC_GNU=1])
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_FUNC_MALLOC_PTRDIFF
 | 
			
		||||
# ----------------------
 | 
			
		||||
# Test whether malloc (N) reliably fails when N exceeds PTRDIFF_MAX,
 | 
			
		||||
# and replace malloc otherwise.
 | 
			
		||||
AC_DEFUN([gl_FUNC_MALLOC_PTRDIFF],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_CHECK_MALLOC_PTRDIFF])
 | 
			
		||||
  test "$gl_cv_malloc_ptrdiff" = yes || REPLACE_MALLOC_FOR_MALLOC_POSIX=1
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Test whether malloc, realloc, calloc refuse to create objects
 | 
			
		||||
# larger than what can be expressed in ptrdiff_t.
 | 
			
		||||
# Set gl_cv_func_malloc_gnu to yes or no accordingly.
 | 
			
		||||
AC_DEFUN([gl_CHECK_MALLOC_PTRDIFF],
 | 
			
		||||
[
 | 
			
		||||
  AC_CACHE_CHECK([whether malloc is ptrdiff_t safe],
 | 
			
		||||
    [gl_cv_malloc_ptrdiff],
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
          [[#include <stdint.h>
 | 
			
		||||
          ]],
 | 
			
		||||
          [[/* 64-bit ptrdiff_t is so wide that no practical platform
 | 
			
		||||
               can exceed it.  */
 | 
			
		||||
            #define WIDE_PTRDIFF (PTRDIFF_MAX >> 31 >> 31 != 0)
 | 
			
		||||
 | 
			
		||||
            /* On rare machines where size_t fits in ptrdiff_t there
 | 
			
		||||
               is no problem.  */
 | 
			
		||||
            #define NARROW_SIZE (SIZE_MAX <= PTRDIFF_MAX)
 | 
			
		||||
 | 
			
		||||
            /* glibc 2.30 and later malloc refuses to exceed ptrdiff_t
 | 
			
		||||
               bounds even on 32-bit platforms.  We don't know which
 | 
			
		||||
               non-glibc systems are safe.  */
 | 
			
		||||
            #define KNOWN_SAFE (2 < __GLIBC__ + (30 <= __GLIBC_MINOR__))
 | 
			
		||||
 | 
			
		||||
            #if WIDE_PTRDIFF || NARROW_SIZE || KNOWN_SAFE
 | 
			
		||||
              return 0;
 | 
			
		||||
            #else
 | 
			
		||||
              #error "malloc might not be ptrdiff_t safe"
 | 
			
		||||
              syntax error
 | 
			
		||||
            #endif
 | 
			
		||||
          ]])],
 | 
			
		||||
       [gl_cv_malloc_ptrdiff=yes],
 | 
			
		||||
       [gl_cv_malloc_ptrdiff=no])
 | 
			
		||||
    ])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_FUNC_MALLOC_POSIX
 | 
			
		||||
# --------------------
 | 
			
		||||
# Test whether 'malloc' is POSIX compliant (sets errno to ENOMEM when it
 | 
			
		||||
# fails), and replace malloc if it is not.
 | 
			
		||||
# fails, and doesn't mess up with ptrdiff_t overflow), and replace
 | 
			
		||||
# malloc if it is not.
 | 
			
		||||
AC_DEFUN([gl_FUNC_MALLOC_POSIX],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_FUNC_MALLOC_PTRDIFF])
 | 
			
		||||
  AC_REQUIRE([gl_CHECK_MALLOC_POSIX])
 | 
			
		||||
  if test $gl_cv_func_malloc_posix = yes; then
 | 
			
		||||
  if test "$gl_cv_func_malloc_posix" = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE_MALLOC_POSIX], [1],
 | 
			
		||||
      [Define if the 'malloc' function is POSIX compliant.])
 | 
			
		||||
      [Define if malloc, realloc, and calloc set errno on allocation failure.])
 | 
			
		||||
  else
 | 
			
		||||
    REPLACE_MALLOC=1
 | 
			
		||||
    REPLACE_MALLOC_FOR_MALLOC_POSIX=1
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Test whether malloc, realloc, calloc are POSIX compliant,
 | 
			
		||||
# Test whether malloc, realloc, calloc set errno to ENOMEM on failure.
 | 
			
		||||
# Set gl_cv_func_malloc_posix to yes or no accordingly.
 | 
			
		||||
AC_DEFUN([gl_CHECK_MALLOC_POSIX],
 | 
			
		||||
[
 | 
			
		||||
  AC_CACHE_CHECK([whether malloc, realloc, calloc are POSIX compliant],
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_CACHE_CHECK([whether malloc, realloc, calloc set errno on failure],
 | 
			
		||||
    [gl_cv_func_malloc_posix],
 | 
			
		||||
    [
 | 
			
		||||
      dnl It is too dangerous to try to allocate a large amount of memory:
 | 
			
		||||
      dnl some systems go to their knees when you do that. So assume that
 | 
			
		||||
      dnl all Unix implementations of the function are POSIX compliant.
 | 
			
		||||
      AC_COMPILE_IFELSE(
 | 
			
		||||
        [AC_LANG_PROGRAM(
 | 
			
		||||
           [[]],
 | 
			
		||||
           [[#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
 | 
			
		||||
             choke me
 | 
			
		||||
             #endif
 | 
			
		||||
            ]])],
 | 
			
		||||
        [gl_cv_func_malloc_posix=yes],
 | 
			
		||||
        [gl_cv_func_malloc_posix=no])
 | 
			
		||||
      dnl all Unix implementations of the function set errno on failure,
 | 
			
		||||
      dnl except on those platforms where we have seen 'test-malloc-gnu',
 | 
			
		||||
      dnl 'test-realloc-gnu', 'test-calloc-gnu' fail.
 | 
			
		||||
      case "$host_os" in
 | 
			
		||||
        mingw*)
 | 
			
		||||
          gl_cv_func_malloc_posix=no ;;
 | 
			
		||||
        irix* | solaris*)
 | 
			
		||||
          dnl On IRIX 6.5, the three functions return NULL with errno unset
 | 
			
		||||
          dnl when the argument is larger than PTRDIFF_MAX.
 | 
			
		||||
          dnl On Solaris 11.3, the three functions return NULL with errno set
 | 
			
		||||
          dnl to EAGAIN, not ENOMEM, when the argument is larger than
 | 
			
		||||
          dnl PTRDIFF_MAX.
 | 
			
		||||
          dnl Here is a test program:
 | 
			
		||||
m4_divert_push([KILL])
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#define ptrdiff_t long
 | 
			
		||||
#ifndef PTRDIFF_MAX
 | 
			
		||||
# define PTRDIFF_MAX ((ptrdiff_t) ((1UL << (8 * sizeof (ptrdiff_t) - 1)) - 1))
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
  void *p;
 | 
			
		||||
 | 
			
		||||
  fprintf (stderr, "PTRDIFF_MAX = %lu\n", (unsigned long) PTRDIFF_MAX);
 | 
			
		||||
 | 
			
		||||
  errno = 0;
 | 
			
		||||
  p = malloc ((unsigned long) PTRDIFF_MAX + 1);
 | 
			
		||||
  fprintf (stderr, "p=%p errno=%d\n", p, errno);
 | 
			
		||||
 | 
			
		||||
  errno = 0;
 | 
			
		||||
  p = calloc (PTRDIFF_MAX / 2 + 1, 2);
 | 
			
		||||
  fprintf (stderr, "p=%p errno=%d\n", p, errno);
 | 
			
		||||
 | 
			
		||||
  errno = 0;
 | 
			
		||||
  p = realloc (NULL, (unsigned long) PTRDIFF_MAX + 1);
 | 
			
		||||
  fprintf (stderr, "p=%p errno=%d\n", p, errno);
 | 
			
		||||
 | 
			
		||||
  return 0;
 | 
			
		||||
}
 | 
			
		||||
m4_divert_pop([KILL])
 | 
			
		||||
          gl_cv_func_malloc_posix=no ;;
 | 
			
		||||
        *)
 | 
			
		||||
          gl_cv_func_malloc_posix=yes ;;
 | 
			
		||||
      esac
 | 
			
		||||
    ])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# malloca.m4 serial 1
 | 
			
		||||
dnl Copyright (C) 2003-2004, 2006-2007, 2009-2013 Free Software Foundation,
 | 
			
		||||
# malloca.m4 serial 2
 | 
			
		||||
dnl Copyright (C) 2003-2004, 2006-2007, 2009-2023 Free Software Foundation,
 | 
			
		||||
dnl Inc.
 | 
			
		||||
dnl This file is free software; the Free Software Foundation
 | 
			
		||||
dnl gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
| 
						 | 
				
			
			@ -11,5 +11,4 @@ AC_DEFUN([gl_MALLOCA],
 | 
			
		|||
  dnl @ALLOCA@ and @LTALLOCA@.
 | 
			
		||||
  dnl gl_FUNC_ALLOCA   dnl Already brought in by the module dependencies.
 | 
			
		||||
  AC_REQUIRE([gl_EEMALLOC])
 | 
			
		||||
  AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										560
									
								
								gl/m4/math_h.m4
									
										
									
									
									
								
							
							
						
						
									
										560
									
								
								gl/m4/math_h.m4
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,16 +1,16 @@
 | 
			
		|||
# math_h.m4 serial 114
 | 
			
		||||
dnl Copyright (C) 2007-2013 Free Software Foundation, Inc.
 | 
			
		||||
# math_h.m4 serial 125
 | 
			
		||||
dnl Copyright (C) 2007-2023 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_MATH_H],
 | 
			
		||||
AC_DEFUN_ONCE([gl_MATH_H],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_MATH_H_DEFAULTS])
 | 
			
		||||
  gl_CHECK_NEXT_HEADERS([math.h])
 | 
			
		||||
 | 
			
		||||
  AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works],
 | 
			
		||||
    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]],
 | 
			
		||||
    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],
 | 
			
		||||
      [[/* Solaris 10 has a broken definition of NAN.  Other platforms
 | 
			
		||||
        fail to provide NAN, or provide it only in C99 mode; this
 | 
			
		||||
        test only needs to fail when NAN is provided but wrong.  */
 | 
			
		||||
| 
						 | 
				
			
			@ -25,7 +25,7 @@ AC_DEFUN([gl_MATH_H],
 | 
			
		|||
    REPLACE_NAN=1
 | 
			
		||||
  fi
 | 
			
		||||
  AC_CACHE_CHECK([whether HUGE_VAL works], [gl_cv_header_math_huge_val_works],
 | 
			
		||||
    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]],
 | 
			
		||||
    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <math.h>]],
 | 
			
		||||
      [[/* Solaris 10 has a broken definition of HUGE_VAL.  */
 | 
			
		||||
         double d = HUGE_VAL;
 | 
			
		||||
         return d == 0;]])],
 | 
			
		||||
| 
						 | 
				
			
			@ -53,272 +53,310 @@ AC_DEFUN([gl_MATH_H],
 | 
			
		|||
     tanf tanl tanhf trunc truncf truncl])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_MATH_MODULE_INDICATOR([modulename])
 | 
			
		||||
# sets the shell variable that indicates the presence of the given module
 | 
			
		||||
# to a C preprocessor expression that will evaluate to 1.
 | 
			
		||||
# This macro invocation must not occur in macros that are AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_MATH_MODULE_INDICATOR],
 | 
			
		||||
[
 | 
			
		||||
  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
 | 
			
		||||
  AC_REQUIRE([gl_MATH_H_DEFAULTS])
 | 
			
		||||
  dnl Ensure to expand the default settings once only.
 | 
			
		||||
  gl_MATH_H_REQUIRE_DEFAULTS
 | 
			
		||||
  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
 | 
			
		||||
  dnl Define it also as a C macro, for the benefit of the unit tests.
 | 
			
		||||
  gl_MODULE_INDICATOR_FOR_TESTS([$1])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Initializes the default values for AC_SUBSTed shell variables.
 | 
			
		||||
# This macro must not be AC_REQUIREd.  It must only be invoked, and only
 | 
			
		||||
# outside of macros or in macros that are not AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_MATH_H_REQUIRE_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  m4_defun(GL_MODULE_INDICATOR_PREFIX[_MATH_H_MODULE_INDICATOR_DEFAULTS], [
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACOSF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ACOSL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ASINF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ASINL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATANF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATANL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ATAN2F])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CBRT])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CBRTF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CBRTL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CEIL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CEILF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CEILL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPYSIGN])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPYSIGNF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COPYSIGNL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COSF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COSL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_COSHF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXP2])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXP2F])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXP2L])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPM1])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPM1F])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_EXPM1L])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FABSF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FABSL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FLOOR])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FLOORF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FLOORL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMA])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMAF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMAL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMOD])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMODF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FMODL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXPF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXP])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREXPL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOT])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOTF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_HYPOTL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ILOGB])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ILOGBF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ILOGBL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISFINITE])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISINF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNAN])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNANF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNAND])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISNANL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXPF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LDEXPL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG10])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG10F])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG10L])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG1P])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG1PF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG1PL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG2])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG2F])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOG2L])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGB])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGBF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_LOGBL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MODF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MODFF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MODFL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POWF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMAINDER])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMAINDERF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REMAINDERL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RINT])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RINTF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RINTL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUND])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUNDF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ROUNDL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SIGNBIT])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SINHF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SQRTF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SQRTL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANL])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TANHF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNC])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCF])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TRUNCL])
 | 
			
		||||
    dnl Support Microsoft deprecated alias function names by default.
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_J0], [1])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_J1], [1])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_JN], [1])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_Y0], [1])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_Y1], [1])
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_YN], [1])
 | 
			
		||||
  ])
 | 
			
		||||
  m4_require(GL_MODULE_INDICATOR_PREFIX[_MATH_H_MODULE_INDICATOR_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_MATH_H_DEFAULTS])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_MATH_H_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  GNULIB_ACOSF=0;      AC_SUBST([GNULIB_ACOSF])
 | 
			
		||||
  GNULIB_ACOSL=0;      AC_SUBST([GNULIB_ACOSL])
 | 
			
		||||
  GNULIB_ASINF=0;      AC_SUBST([GNULIB_ASINF])
 | 
			
		||||
  GNULIB_ASINL=0;      AC_SUBST([GNULIB_ASINL])
 | 
			
		||||
  GNULIB_ATANF=0;      AC_SUBST([GNULIB_ATANF])
 | 
			
		||||
  GNULIB_ATANL=0;      AC_SUBST([GNULIB_ATANL])
 | 
			
		||||
  GNULIB_ATAN2F=0;     AC_SUBST([GNULIB_ATAN2F])
 | 
			
		||||
  GNULIB_CBRT=0;       AC_SUBST([GNULIB_CBRT])
 | 
			
		||||
  GNULIB_CBRTF=0;      AC_SUBST([GNULIB_CBRTF])
 | 
			
		||||
  GNULIB_CBRTL=0;      AC_SUBST([GNULIB_CBRTL])
 | 
			
		||||
  GNULIB_CEIL=0;       AC_SUBST([GNULIB_CEIL])
 | 
			
		||||
  GNULIB_CEILF=0;      AC_SUBST([GNULIB_CEILF])
 | 
			
		||||
  GNULIB_CEILL=0;      AC_SUBST([GNULIB_CEILL])
 | 
			
		||||
  GNULIB_COPYSIGN=0;   AC_SUBST([GNULIB_COPYSIGN])
 | 
			
		||||
  GNULIB_COPYSIGNF=0;  AC_SUBST([GNULIB_COPYSIGNF])
 | 
			
		||||
  GNULIB_COPYSIGNL=0;  AC_SUBST([GNULIB_COPYSIGNL])
 | 
			
		||||
  GNULIB_COSF=0;       AC_SUBST([GNULIB_COSF])
 | 
			
		||||
  GNULIB_COSL=0;       AC_SUBST([GNULIB_COSL])
 | 
			
		||||
  GNULIB_COSHF=0;      AC_SUBST([GNULIB_COSHF])
 | 
			
		||||
  GNULIB_EXPF=0;       AC_SUBST([GNULIB_EXPF])
 | 
			
		||||
  GNULIB_EXPL=0;       AC_SUBST([GNULIB_EXPL])
 | 
			
		||||
  GNULIB_EXP2=0;       AC_SUBST([GNULIB_EXP2])
 | 
			
		||||
  GNULIB_EXP2F=0;      AC_SUBST([GNULIB_EXP2F])
 | 
			
		||||
  GNULIB_EXP2L=0;      AC_SUBST([GNULIB_EXP2L])
 | 
			
		||||
  GNULIB_EXPM1=0;      AC_SUBST([GNULIB_EXPM1])
 | 
			
		||||
  GNULIB_EXPM1F=0;     AC_SUBST([GNULIB_EXPM1F])
 | 
			
		||||
  GNULIB_EXPM1L=0;     AC_SUBST([GNULIB_EXPM1L])
 | 
			
		||||
  GNULIB_FABSF=0;      AC_SUBST([GNULIB_FABSF])
 | 
			
		||||
  GNULIB_FABSL=0;      AC_SUBST([GNULIB_FABSL])
 | 
			
		||||
  GNULIB_FLOOR=0;      AC_SUBST([GNULIB_FLOOR])
 | 
			
		||||
  GNULIB_FLOORF=0;     AC_SUBST([GNULIB_FLOORF])
 | 
			
		||||
  GNULIB_FLOORL=0;     AC_SUBST([GNULIB_FLOORL])
 | 
			
		||||
  GNULIB_FMA=0;        AC_SUBST([GNULIB_FMA])
 | 
			
		||||
  GNULIB_FMAF=0;       AC_SUBST([GNULIB_FMAF])
 | 
			
		||||
  GNULIB_FMAL=0;       AC_SUBST([GNULIB_FMAL])
 | 
			
		||||
  GNULIB_FMOD=0;       AC_SUBST([GNULIB_FMOD])
 | 
			
		||||
  GNULIB_FMODF=0;      AC_SUBST([GNULIB_FMODF])
 | 
			
		||||
  GNULIB_FMODL=0;      AC_SUBST([GNULIB_FMODL])
 | 
			
		||||
  GNULIB_FREXPF=0;     AC_SUBST([GNULIB_FREXPF])
 | 
			
		||||
  GNULIB_FREXP=0;      AC_SUBST([GNULIB_FREXP])
 | 
			
		||||
  GNULIB_FREXPL=0;     AC_SUBST([GNULIB_FREXPL])
 | 
			
		||||
  GNULIB_HYPOT=0;      AC_SUBST([GNULIB_HYPOT])
 | 
			
		||||
  GNULIB_HYPOTF=0;     AC_SUBST([GNULIB_HYPOTF])
 | 
			
		||||
  GNULIB_HYPOTL=0;     AC_SUBST([GNULIB_HYPOTL])
 | 
			
		||||
  GNULIB_ILOGB=0;      AC_SUBST([GNULIB_ILOGB])
 | 
			
		||||
  GNULIB_ILOGBF=0;     AC_SUBST([GNULIB_ILOGBF])
 | 
			
		||||
  GNULIB_ILOGBL=0;     AC_SUBST([GNULIB_ILOGBL])
 | 
			
		||||
  GNULIB_ISFINITE=0;   AC_SUBST([GNULIB_ISFINITE])
 | 
			
		||||
  GNULIB_ISINF=0;      AC_SUBST([GNULIB_ISINF])
 | 
			
		||||
  GNULIB_ISNAN=0;      AC_SUBST([GNULIB_ISNAN])
 | 
			
		||||
  GNULIB_ISNANF=0;     AC_SUBST([GNULIB_ISNANF])
 | 
			
		||||
  GNULIB_ISNAND=0;     AC_SUBST([GNULIB_ISNAND])
 | 
			
		||||
  GNULIB_ISNANL=0;     AC_SUBST([GNULIB_ISNANL])
 | 
			
		||||
  GNULIB_LDEXPF=0;     AC_SUBST([GNULIB_LDEXPF])
 | 
			
		||||
  GNULIB_LDEXPL=0;     AC_SUBST([GNULIB_LDEXPL])
 | 
			
		||||
  GNULIB_LOG=0;        AC_SUBST([GNULIB_LOG])
 | 
			
		||||
  GNULIB_LOGF=0;       AC_SUBST([GNULIB_LOGF])
 | 
			
		||||
  GNULIB_LOGL=0;       AC_SUBST([GNULIB_LOGL])
 | 
			
		||||
  GNULIB_LOG10=0;      AC_SUBST([GNULIB_LOG10])
 | 
			
		||||
  GNULIB_LOG10F=0;     AC_SUBST([GNULIB_LOG10F])
 | 
			
		||||
  GNULIB_LOG10L=0;     AC_SUBST([GNULIB_LOG10L])
 | 
			
		||||
  GNULIB_LOG1P=0;      AC_SUBST([GNULIB_LOG1P])
 | 
			
		||||
  GNULIB_LOG1PF=0;     AC_SUBST([GNULIB_LOG1PF])
 | 
			
		||||
  GNULIB_LOG1PL=0;     AC_SUBST([GNULIB_LOG1PL])
 | 
			
		||||
  GNULIB_LOG2=0;       AC_SUBST([GNULIB_LOG2])
 | 
			
		||||
  GNULIB_LOG2F=0;      AC_SUBST([GNULIB_LOG2F])
 | 
			
		||||
  GNULIB_LOG2L=0;      AC_SUBST([GNULIB_LOG2L])
 | 
			
		||||
  GNULIB_LOGB=0;       AC_SUBST([GNULIB_LOGB])
 | 
			
		||||
  GNULIB_LOGBF=0;      AC_SUBST([GNULIB_LOGBF])
 | 
			
		||||
  GNULIB_LOGBL=0;      AC_SUBST([GNULIB_LOGBL])
 | 
			
		||||
  GNULIB_MODF=0;       AC_SUBST([GNULIB_MODF])
 | 
			
		||||
  GNULIB_MODFF=0;      AC_SUBST([GNULIB_MODFF])
 | 
			
		||||
  GNULIB_MODFL=0;      AC_SUBST([GNULIB_MODFL])
 | 
			
		||||
  GNULIB_POWF=0;       AC_SUBST([GNULIB_POWF])
 | 
			
		||||
  GNULIB_REMAINDER=0;  AC_SUBST([GNULIB_REMAINDER])
 | 
			
		||||
  GNULIB_REMAINDERF=0; AC_SUBST([GNULIB_REMAINDERF])
 | 
			
		||||
  GNULIB_REMAINDERL=0; AC_SUBST([GNULIB_REMAINDERL])
 | 
			
		||||
  GNULIB_RINT=0;       AC_SUBST([GNULIB_RINT])
 | 
			
		||||
  GNULIB_RINTF=0;      AC_SUBST([GNULIB_RINTF])
 | 
			
		||||
  GNULIB_RINTL=0;      AC_SUBST([GNULIB_RINTL])
 | 
			
		||||
  GNULIB_ROUND=0;      AC_SUBST([GNULIB_ROUND])
 | 
			
		||||
  GNULIB_ROUNDF=0;     AC_SUBST([GNULIB_ROUNDF])
 | 
			
		||||
  GNULIB_ROUNDL=0;     AC_SUBST([GNULIB_ROUNDL])
 | 
			
		||||
  GNULIB_SIGNBIT=0;    AC_SUBST([GNULIB_SIGNBIT])
 | 
			
		||||
  GNULIB_SINF=0;       AC_SUBST([GNULIB_SINF])
 | 
			
		||||
  GNULIB_SINL=0;       AC_SUBST([GNULIB_SINL])
 | 
			
		||||
  GNULIB_SINHF=0;      AC_SUBST([GNULIB_SINHF])
 | 
			
		||||
  GNULIB_SQRTF=0;      AC_SUBST([GNULIB_SQRTF])
 | 
			
		||||
  GNULIB_SQRTL=0;      AC_SUBST([GNULIB_SQRTL])
 | 
			
		||||
  GNULIB_TANF=0;       AC_SUBST([GNULIB_TANF])
 | 
			
		||||
  GNULIB_TANL=0;       AC_SUBST([GNULIB_TANL])
 | 
			
		||||
  GNULIB_TANHF=0;      AC_SUBST([GNULIB_TANHF])
 | 
			
		||||
  GNULIB_TRUNC=0;      AC_SUBST([GNULIB_TRUNC])
 | 
			
		||||
  GNULIB_TRUNCF=0;     AC_SUBST([GNULIB_TRUNCF])
 | 
			
		||||
  GNULIB_TRUNCL=0;     AC_SUBST([GNULIB_TRUNCL])
 | 
			
		||||
  dnl Assume proper GNU behavior unless another module says otherwise.
 | 
			
		||||
  HAVE_ACOSF=1;                AC_SUBST([HAVE_ACOSF])
 | 
			
		||||
  HAVE_ACOSL=1;                AC_SUBST([HAVE_ACOSL])
 | 
			
		||||
  HAVE_ASINF=1;                AC_SUBST([HAVE_ASINF])
 | 
			
		||||
  HAVE_ASINL=1;                AC_SUBST([HAVE_ASINL])
 | 
			
		||||
  HAVE_ATANF=1;                AC_SUBST([HAVE_ATANF])
 | 
			
		||||
  HAVE_ATANL=1;                AC_SUBST([HAVE_ATANL])
 | 
			
		||||
  HAVE_ATAN2F=1;               AC_SUBST([HAVE_ATAN2F])
 | 
			
		||||
  HAVE_CBRT=1;                 AC_SUBST([HAVE_CBRT])
 | 
			
		||||
  HAVE_CBRTF=1;                AC_SUBST([HAVE_CBRTF])
 | 
			
		||||
  HAVE_CBRTL=1;                AC_SUBST([HAVE_CBRTL])
 | 
			
		||||
  HAVE_COPYSIGN=1;             AC_SUBST([HAVE_COPYSIGN])
 | 
			
		||||
  HAVE_COPYSIGNL=1;            AC_SUBST([HAVE_COPYSIGNL])
 | 
			
		||||
  HAVE_COSF=1;                 AC_SUBST([HAVE_COSF])
 | 
			
		||||
  HAVE_COSL=1;                 AC_SUBST([HAVE_COSL])
 | 
			
		||||
  HAVE_COSHF=1;                AC_SUBST([HAVE_COSHF])
 | 
			
		||||
  HAVE_EXPF=1;                 AC_SUBST([HAVE_EXPF])
 | 
			
		||||
  HAVE_EXPL=1;                 AC_SUBST([HAVE_EXPL])
 | 
			
		||||
  HAVE_EXPM1=1;                AC_SUBST([HAVE_EXPM1])
 | 
			
		||||
  HAVE_EXPM1F=1;               AC_SUBST([HAVE_EXPM1F])
 | 
			
		||||
  HAVE_FABSF=1;                AC_SUBST([HAVE_FABSF])
 | 
			
		||||
  HAVE_FABSL=1;                AC_SUBST([HAVE_FABSL])
 | 
			
		||||
  HAVE_FMA=1;                  AC_SUBST([HAVE_FMA])
 | 
			
		||||
  HAVE_FMAF=1;                 AC_SUBST([HAVE_FMAF])
 | 
			
		||||
  HAVE_FMAL=1;                 AC_SUBST([HAVE_FMAL])
 | 
			
		||||
  HAVE_FMODF=1;                AC_SUBST([HAVE_FMODF])
 | 
			
		||||
  HAVE_FMODL=1;                AC_SUBST([HAVE_FMODL])
 | 
			
		||||
  HAVE_FREXPF=1;               AC_SUBST([HAVE_FREXPF])
 | 
			
		||||
  HAVE_HYPOTF=1;               AC_SUBST([HAVE_HYPOTF])
 | 
			
		||||
  HAVE_HYPOTL=1;               AC_SUBST([HAVE_HYPOTL])
 | 
			
		||||
  HAVE_ILOGB=1;                AC_SUBST([HAVE_ILOGB])
 | 
			
		||||
  HAVE_ILOGBF=1;               AC_SUBST([HAVE_ILOGBF])
 | 
			
		||||
  HAVE_ILOGBL=1;               AC_SUBST([HAVE_ILOGBL])
 | 
			
		||||
  HAVE_ISNANF=1;               AC_SUBST([HAVE_ISNANF])
 | 
			
		||||
  HAVE_ISNAND=1;               AC_SUBST([HAVE_ISNAND])
 | 
			
		||||
  HAVE_ISNANL=1;               AC_SUBST([HAVE_ISNANL])
 | 
			
		||||
  HAVE_LDEXPF=1;               AC_SUBST([HAVE_LDEXPF])
 | 
			
		||||
  HAVE_LOGF=1;                 AC_SUBST([HAVE_LOGF])
 | 
			
		||||
  HAVE_LOGL=1;                 AC_SUBST([HAVE_LOGL])
 | 
			
		||||
  HAVE_LOG10F=1;               AC_SUBST([HAVE_LOG10F])
 | 
			
		||||
  HAVE_LOG10L=1;               AC_SUBST([HAVE_LOG10L])
 | 
			
		||||
  HAVE_LOG1P=1;                AC_SUBST([HAVE_LOG1P])
 | 
			
		||||
  HAVE_LOG1PF=1;               AC_SUBST([HAVE_LOG1PF])
 | 
			
		||||
  HAVE_LOG1PL=1;               AC_SUBST([HAVE_LOG1PL])
 | 
			
		||||
  HAVE_LOGBF=1;                AC_SUBST([HAVE_LOGBF])
 | 
			
		||||
  HAVE_LOGBL=1;                AC_SUBST([HAVE_LOGBL])
 | 
			
		||||
  HAVE_MODFF=1;                AC_SUBST([HAVE_MODFF])
 | 
			
		||||
  HAVE_MODFL=1;                AC_SUBST([HAVE_MODFL])
 | 
			
		||||
  HAVE_POWF=1;                 AC_SUBST([HAVE_POWF])
 | 
			
		||||
  HAVE_REMAINDER=1;            AC_SUBST([HAVE_REMAINDER])
 | 
			
		||||
  HAVE_REMAINDERF=1;           AC_SUBST([HAVE_REMAINDERF])
 | 
			
		||||
  HAVE_RINT=1;                 AC_SUBST([HAVE_RINT])
 | 
			
		||||
  HAVE_RINTL=1;                AC_SUBST([HAVE_RINTL])
 | 
			
		||||
  HAVE_SINF=1;                 AC_SUBST([HAVE_SINF])
 | 
			
		||||
  HAVE_SINL=1;                 AC_SUBST([HAVE_SINL])
 | 
			
		||||
  HAVE_SINHF=1;                AC_SUBST([HAVE_SINHF])
 | 
			
		||||
  HAVE_SQRTF=1;                AC_SUBST([HAVE_SQRTF])
 | 
			
		||||
  HAVE_SQRTL=1;                AC_SUBST([HAVE_SQRTL])
 | 
			
		||||
  HAVE_TANF=1;                 AC_SUBST([HAVE_TANF])
 | 
			
		||||
  HAVE_TANL=1;                 AC_SUBST([HAVE_TANL])
 | 
			
		||||
  HAVE_TANHF=1;                AC_SUBST([HAVE_TANHF])
 | 
			
		||||
  HAVE_DECL_ACOSL=1;           AC_SUBST([HAVE_DECL_ACOSL])
 | 
			
		||||
  HAVE_DECL_ASINL=1;           AC_SUBST([HAVE_DECL_ASINL])
 | 
			
		||||
  HAVE_DECL_ATANL=1;           AC_SUBST([HAVE_DECL_ATANL])
 | 
			
		||||
  HAVE_DECL_CBRTF=1;           AC_SUBST([HAVE_DECL_CBRTF])
 | 
			
		||||
  HAVE_DECL_CBRTL=1;           AC_SUBST([HAVE_DECL_CBRTL])
 | 
			
		||||
  HAVE_DECL_CEILF=1;           AC_SUBST([HAVE_DECL_CEILF])
 | 
			
		||||
  HAVE_DECL_CEILL=1;           AC_SUBST([HAVE_DECL_CEILL])
 | 
			
		||||
  HAVE_DECL_COPYSIGNF=1;       AC_SUBST([HAVE_DECL_COPYSIGNF])
 | 
			
		||||
  HAVE_DECL_COSL=1;            AC_SUBST([HAVE_DECL_COSL])
 | 
			
		||||
  HAVE_DECL_EXPL=1;            AC_SUBST([HAVE_DECL_EXPL])
 | 
			
		||||
  HAVE_DECL_EXP2=1;            AC_SUBST([HAVE_DECL_EXP2])
 | 
			
		||||
  HAVE_DECL_EXP2F=1;           AC_SUBST([HAVE_DECL_EXP2F])
 | 
			
		||||
  HAVE_DECL_EXP2L=1;           AC_SUBST([HAVE_DECL_EXP2L])
 | 
			
		||||
  HAVE_DECL_EXPM1L=1;          AC_SUBST([HAVE_DECL_EXPM1L])
 | 
			
		||||
  HAVE_DECL_FLOORF=1;          AC_SUBST([HAVE_DECL_FLOORF])
 | 
			
		||||
  HAVE_DECL_FLOORL=1;          AC_SUBST([HAVE_DECL_FLOORL])
 | 
			
		||||
  HAVE_DECL_FREXPL=1;          AC_SUBST([HAVE_DECL_FREXPL])
 | 
			
		||||
  HAVE_DECL_LDEXPL=1;          AC_SUBST([HAVE_DECL_LDEXPL])
 | 
			
		||||
  HAVE_DECL_LOGL=1;            AC_SUBST([HAVE_DECL_LOGL])
 | 
			
		||||
  HAVE_DECL_LOG10L=1;          AC_SUBST([HAVE_DECL_LOG10L])
 | 
			
		||||
  HAVE_DECL_LOG2=1;            AC_SUBST([HAVE_DECL_LOG2])
 | 
			
		||||
  HAVE_DECL_LOG2F=1;           AC_SUBST([HAVE_DECL_LOG2F])
 | 
			
		||||
  HAVE_DECL_LOG2L=1;           AC_SUBST([HAVE_DECL_LOG2L])
 | 
			
		||||
  HAVE_DECL_LOGB=1;            AC_SUBST([HAVE_DECL_LOGB])
 | 
			
		||||
  HAVE_DECL_REMAINDER=1;       AC_SUBST([HAVE_DECL_REMAINDER])
 | 
			
		||||
  HAVE_DECL_REMAINDERL=1;      AC_SUBST([HAVE_DECL_REMAINDERL])
 | 
			
		||||
  HAVE_DECL_RINTF=1;           AC_SUBST([HAVE_DECL_RINTF])
 | 
			
		||||
  HAVE_DECL_ROUND=1;           AC_SUBST([HAVE_DECL_ROUND])
 | 
			
		||||
  HAVE_DECL_ROUNDF=1;          AC_SUBST([HAVE_DECL_ROUNDF])
 | 
			
		||||
  HAVE_DECL_ROUNDL=1;          AC_SUBST([HAVE_DECL_ROUNDL])
 | 
			
		||||
  HAVE_DECL_SINL=1;            AC_SUBST([HAVE_DECL_SINL])
 | 
			
		||||
  HAVE_DECL_SQRTL=1;           AC_SUBST([HAVE_DECL_SQRTL])
 | 
			
		||||
  HAVE_DECL_TANL=1;            AC_SUBST([HAVE_DECL_TANL])
 | 
			
		||||
  HAVE_DECL_TRUNC=1;           AC_SUBST([HAVE_DECL_TRUNC])
 | 
			
		||||
  HAVE_DECL_TRUNCF=1;          AC_SUBST([HAVE_DECL_TRUNCF])
 | 
			
		||||
  HAVE_DECL_TRUNCL=1;          AC_SUBST([HAVE_DECL_TRUNCL])
 | 
			
		||||
  REPLACE_CBRTF=0;             AC_SUBST([REPLACE_CBRTF])
 | 
			
		||||
  REPLACE_CBRTL=0;             AC_SUBST([REPLACE_CBRTL])
 | 
			
		||||
  REPLACE_CEIL=0;              AC_SUBST([REPLACE_CEIL])
 | 
			
		||||
  REPLACE_CEILF=0;             AC_SUBST([REPLACE_CEILF])
 | 
			
		||||
  REPLACE_CEILL=0;             AC_SUBST([REPLACE_CEILL])
 | 
			
		||||
  REPLACE_EXPM1=0;             AC_SUBST([REPLACE_EXPM1])
 | 
			
		||||
  REPLACE_EXPM1F=0;            AC_SUBST([REPLACE_EXPM1F])
 | 
			
		||||
  REPLACE_EXP2=0;              AC_SUBST([REPLACE_EXP2])
 | 
			
		||||
  REPLACE_EXP2L=0;             AC_SUBST([REPLACE_EXP2L])
 | 
			
		||||
  REPLACE_FABSL=0;             AC_SUBST([REPLACE_FABSL])
 | 
			
		||||
  REPLACE_FLOOR=0;             AC_SUBST([REPLACE_FLOOR])
 | 
			
		||||
  REPLACE_FLOORF=0;            AC_SUBST([REPLACE_FLOORF])
 | 
			
		||||
  REPLACE_FLOORL=0;            AC_SUBST([REPLACE_FLOORL])
 | 
			
		||||
  REPLACE_FMA=0;               AC_SUBST([REPLACE_FMA])
 | 
			
		||||
  REPLACE_FMAF=0;              AC_SUBST([REPLACE_FMAF])
 | 
			
		||||
  REPLACE_FMAL=0;              AC_SUBST([REPLACE_FMAL])
 | 
			
		||||
  REPLACE_FMOD=0;              AC_SUBST([REPLACE_FMOD])
 | 
			
		||||
  REPLACE_FMODF=0;             AC_SUBST([REPLACE_FMODF])
 | 
			
		||||
  REPLACE_FMODL=0;             AC_SUBST([REPLACE_FMODL])
 | 
			
		||||
  REPLACE_FREXPF=0;            AC_SUBST([REPLACE_FREXPF])
 | 
			
		||||
  REPLACE_FREXP=0;             AC_SUBST([REPLACE_FREXP])
 | 
			
		||||
  REPLACE_FREXPL=0;            AC_SUBST([REPLACE_FREXPL])
 | 
			
		||||
  REPLACE_HUGE_VAL=0;          AC_SUBST([REPLACE_HUGE_VAL])
 | 
			
		||||
  REPLACE_HYPOT=0;             AC_SUBST([REPLACE_HYPOT])
 | 
			
		||||
  REPLACE_HYPOTF=0;            AC_SUBST([REPLACE_HYPOTF])
 | 
			
		||||
  REPLACE_HYPOTL=0;            AC_SUBST([REPLACE_HYPOTL])
 | 
			
		||||
  REPLACE_ILOGB=0;             AC_SUBST([REPLACE_ILOGB])
 | 
			
		||||
  REPLACE_ILOGBF=0;            AC_SUBST([REPLACE_ILOGBF])
 | 
			
		||||
  REPLACE_ISFINITE=0;          AC_SUBST([REPLACE_ISFINITE])
 | 
			
		||||
  REPLACE_ISINF=0;             AC_SUBST([REPLACE_ISINF])
 | 
			
		||||
  REPLACE_ISNAN=0;             AC_SUBST([REPLACE_ISNAN])
 | 
			
		||||
  REPLACE_LDEXPL=0;            AC_SUBST([REPLACE_LDEXPL])
 | 
			
		||||
  REPLACE_LOG=0;               AC_SUBST([REPLACE_LOG])
 | 
			
		||||
  REPLACE_LOGF=0;              AC_SUBST([REPLACE_LOGF])
 | 
			
		||||
  REPLACE_LOGL=0;              AC_SUBST([REPLACE_LOGL])
 | 
			
		||||
  REPLACE_LOG10=0;             AC_SUBST([REPLACE_LOG10])
 | 
			
		||||
  REPLACE_LOG10F=0;            AC_SUBST([REPLACE_LOG10F])
 | 
			
		||||
  REPLACE_LOG10L=0;            AC_SUBST([REPLACE_LOG10L])
 | 
			
		||||
  REPLACE_LOG1P=0;             AC_SUBST([REPLACE_LOG1P])
 | 
			
		||||
  REPLACE_LOG1PF=0;            AC_SUBST([REPLACE_LOG1PF])
 | 
			
		||||
  REPLACE_LOG1PL=0;            AC_SUBST([REPLACE_LOG1PL])
 | 
			
		||||
  REPLACE_LOG2=0;              AC_SUBST([REPLACE_LOG2])
 | 
			
		||||
  REPLACE_LOG2F=0;             AC_SUBST([REPLACE_LOG2F])
 | 
			
		||||
  REPLACE_LOG2L=0;             AC_SUBST([REPLACE_LOG2L])
 | 
			
		||||
  REPLACE_LOGB=0;              AC_SUBST([REPLACE_LOGB])
 | 
			
		||||
  REPLACE_LOGBF=0;             AC_SUBST([REPLACE_LOGBF])
 | 
			
		||||
  REPLACE_LOGBL=0;             AC_SUBST([REPLACE_LOGBL])
 | 
			
		||||
  REPLACE_MODF=0;              AC_SUBST([REPLACE_MODF])
 | 
			
		||||
  REPLACE_MODFF=0;             AC_SUBST([REPLACE_MODFF])
 | 
			
		||||
  REPLACE_MODFL=0;             AC_SUBST([REPLACE_MODFL])
 | 
			
		||||
  REPLACE_NAN=0;               AC_SUBST([REPLACE_NAN])
 | 
			
		||||
  REPLACE_REMAINDER=0;         AC_SUBST([REPLACE_REMAINDER])
 | 
			
		||||
  REPLACE_REMAINDERF=0;        AC_SUBST([REPLACE_REMAINDERF])
 | 
			
		||||
  REPLACE_REMAINDERL=0;        AC_SUBST([REPLACE_REMAINDERL])
 | 
			
		||||
  REPLACE_ROUND=0;             AC_SUBST([REPLACE_ROUND])
 | 
			
		||||
  REPLACE_ROUNDF=0;            AC_SUBST([REPLACE_ROUNDF])
 | 
			
		||||
  REPLACE_ROUNDL=0;            AC_SUBST([REPLACE_ROUNDL])
 | 
			
		||||
  REPLACE_SIGNBIT=0;           AC_SUBST([REPLACE_SIGNBIT])
 | 
			
		||||
  REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC])
 | 
			
		||||
  REPLACE_SQRTL=0;             AC_SUBST([REPLACE_SQRTL])
 | 
			
		||||
  REPLACE_TRUNC=0;             AC_SUBST([REPLACE_TRUNC])
 | 
			
		||||
  REPLACE_TRUNCF=0;            AC_SUBST([REPLACE_TRUNCF])
 | 
			
		||||
  REPLACE_TRUNCL=0;            AC_SUBST([REPLACE_TRUNCL])
 | 
			
		||||
  HAVE_ACOSF=1;                     AC_SUBST([HAVE_ACOSF])
 | 
			
		||||
  HAVE_ACOSL=1;                     AC_SUBST([HAVE_ACOSL])
 | 
			
		||||
  HAVE_ASINF=1;                     AC_SUBST([HAVE_ASINF])
 | 
			
		||||
  HAVE_ASINL=1;                     AC_SUBST([HAVE_ASINL])
 | 
			
		||||
  HAVE_ATANF=1;                     AC_SUBST([HAVE_ATANF])
 | 
			
		||||
  HAVE_ATANL=1;                     AC_SUBST([HAVE_ATANL])
 | 
			
		||||
  HAVE_ATAN2F=1;                    AC_SUBST([HAVE_ATAN2F])
 | 
			
		||||
  HAVE_CBRT=1;                      AC_SUBST([HAVE_CBRT])
 | 
			
		||||
  HAVE_CBRTF=1;                     AC_SUBST([HAVE_CBRTF])
 | 
			
		||||
  HAVE_CBRTL=1;                     AC_SUBST([HAVE_CBRTL])
 | 
			
		||||
  HAVE_COPYSIGN=1;                  AC_SUBST([HAVE_COPYSIGN])
 | 
			
		||||
  HAVE_COPYSIGNL=1;                 AC_SUBST([HAVE_COPYSIGNL])
 | 
			
		||||
  HAVE_COSF=1;                      AC_SUBST([HAVE_COSF])
 | 
			
		||||
  HAVE_COSL=1;                      AC_SUBST([HAVE_COSL])
 | 
			
		||||
  HAVE_COSHF=1;                     AC_SUBST([HAVE_COSHF])
 | 
			
		||||
  HAVE_EXPF=1;                      AC_SUBST([HAVE_EXPF])
 | 
			
		||||
  HAVE_EXPL=1;                      AC_SUBST([HAVE_EXPL])
 | 
			
		||||
  HAVE_EXPM1=1;                     AC_SUBST([HAVE_EXPM1])
 | 
			
		||||
  HAVE_EXPM1F=1;                    AC_SUBST([HAVE_EXPM1F])
 | 
			
		||||
  HAVE_FABSF=1;                     AC_SUBST([HAVE_FABSF])
 | 
			
		||||
  HAVE_FABSL=1;                     AC_SUBST([HAVE_FABSL])
 | 
			
		||||
  HAVE_FMA=1;                       AC_SUBST([HAVE_FMA])
 | 
			
		||||
  HAVE_FMAF=1;                      AC_SUBST([HAVE_FMAF])
 | 
			
		||||
  HAVE_FMAL=1;                      AC_SUBST([HAVE_FMAL])
 | 
			
		||||
  HAVE_FMODF=1;                     AC_SUBST([HAVE_FMODF])
 | 
			
		||||
  HAVE_FMODL=1;                     AC_SUBST([HAVE_FMODL])
 | 
			
		||||
  HAVE_FREXPF=1;                    AC_SUBST([HAVE_FREXPF])
 | 
			
		||||
  HAVE_HYPOTF=1;                    AC_SUBST([HAVE_HYPOTF])
 | 
			
		||||
  HAVE_HYPOTL=1;                    AC_SUBST([HAVE_HYPOTL])
 | 
			
		||||
  HAVE_ILOGB=1;                     AC_SUBST([HAVE_ILOGB])
 | 
			
		||||
  HAVE_ILOGBF=1;                    AC_SUBST([HAVE_ILOGBF])
 | 
			
		||||
  HAVE_ILOGBL=1;                    AC_SUBST([HAVE_ILOGBL])
 | 
			
		||||
  HAVE_ISNANF=1;                    AC_SUBST([HAVE_ISNANF])
 | 
			
		||||
  HAVE_ISNAND=1;                    AC_SUBST([HAVE_ISNAND])
 | 
			
		||||
  HAVE_ISNANL=1;                    AC_SUBST([HAVE_ISNANL])
 | 
			
		||||
  HAVE_LDEXPF=1;                    AC_SUBST([HAVE_LDEXPF])
 | 
			
		||||
  HAVE_LOGF=1;                      AC_SUBST([HAVE_LOGF])
 | 
			
		||||
  HAVE_LOGL=1;                      AC_SUBST([HAVE_LOGL])
 | 
			
		||||
  HAVE_LOG10F=1;                    AC_SUBST([HAVE_LOG10F])
 | 
			
		||||
  HAVE_LOG10L=1;                    AC_SUBST([HAVE_LOG10L])
 | 
			
		||||
  HAVE_LOG1P=1;                     AC_SUBST([HAVE_LOG1P])
 | 
			
		||||
  HAVE_LOG1PF=1;                    AC_SUBST([HAVE_LOG1PF])
 | 
			
		||||
  HAVE_LOG1PL=1;                    AC_SUBST([HAVE_LOG1PL])
 | 
			
		||||
  HAVE_LOGBF=1;                     AC_SUBST([HAVE_LOGBF])
 | 
			
		||||
  HAVE_LOGBL=1;                     AC_SUBST([HAVE_LOGBL])
 | 
			
		||||
  HAVE_MODFF=1;                     AC_SUBST([HAVE_MODFF])
 | 
			
		||||
  HAVE_MODFL=1;                     AC_SUBST([HAVE_MODFL])
 | 
			
		||||
  HAVE_POWF=1;                      AC_SUBST([HAVE_POWF])
 | 
			
		||||
  HAVE_REMAINDER=1;                 AC_SUBST([HAVE_REMAINDER])
 | 
			
		||||
  HAVE_REMAINDERF=1;                AC_SUBST([HAVE_REMAINDERF])
 | 
			
		||||
  HAVE_RINT=1;                      AC_SUBST([HAVE_RINT])
 | 
			
		||||
  HAVE_RINTL=1;                     AC_SUBST([HAVE_RINTL])
 | 
			
		||||
  HAVE_SINF=1;                      AC_SUBST([HAVE_SINF])
 | 
			
		||||
  HAVE_SINL=1;                      AC_SUBST([HAVE_SINL])
 | 
			
		||||
  HAVE_SINHF=1;                     AC_SUBST([HAVE_SINHF])
 | 
			
		||||
  HAVE_SQRTF=1;                     AC_SUBST([HAVE_SQRTF])
 | 
			
		||||
  HAVE_SQRTL=1;                     AC_SUBST([HAVE_SQRTL])
 | 
			
		||||
  HAVE_TANF=1;                      AC_SUBST([HAVE_TANF])
 | 
			
		||||
  HAVE_TANL=1;                      AC_SUBST([HAVE_TANL])
 | 
			
		||||
  HAVE_TANHF=1;                     AC_SUBST([HAVE_TANHF])
 | 
			
		||||
  HAVE_DECL_ACOSL=1;                AC_SUBST([HAVE_DECL_ACOSL])
 | 
			
		||||
  HAVE_DECL_ASINL=1;                AC_SUBST([HAVE_DECL_ASINL])
 | 
			
		||||
  HAVE_DECL_ATANL=1;                AC_SUBST([HAVE_DECL_ATANL])
 | 
			
		||||
  HAVE_DECL_CBRTF=1;                AC_SUBST([HAVE_DECL_CBRTF])
 | 
			
		||||
  HAVE_DECL_CBRTL=1;                AC_SUBST([HAVE_DECL_CBRTL])
 | 
			
		||||
  HAVE_DECL_CEILF=1;                AC_SUBST([HAVE_DECL_CEILF])
 | 
			
		||||
  HAVE_DECL_CEILL=1;                AC_SUBST([HAVE_DECL_CEILL])
 | 
			
		||||
  HAVE_DECL_COPYSIGNF=1;            AC_SUBST([HAVE_DECL_COPYSIGNF])
 | 
			
		||||
  HAVE_DECL_COSL=1;                 AC_SUBST([HAVE_DECL_COSL])
 | 
			
		||||
  HAVE_DECL_EXPL=1;                 AC_SUBST([HAVE_DECL_EXPL])
 | 
			
		||||
  HAVE_DECL_EXP2=1;                 AC_SUBST([HAVE_DECL_EXP2])
 | 
			
		||||
  HAVE_DECL_EXP2F=1;                AC_SUBST([HAVE_DECL_EXP2F])
 | 
			
		||||
  HAVE_DECL_EXP2L=1;                AC_SUBST([HAVE_DECL_EXP2L])
 | 
			
		||||
  HAVE_DECL_EXPM1L=1;               AC_SUBST([HAVE_DECL_EXPM1L])
 | 
			
		||||
  HAVE_DECL_FLOORF=1;               AC_SUBST([HAVE_DECL_FLOORF])
 | 
			
		||||
  HAVE_DECL_FLOORL=1;               AC_SUBST([HAVE_DECL_FLOORL])
 | 
			
		||||
  HAVE_DECL_FREXPL=1;               AC_SUBST([HAVE_DECL_FREXPL])
 | 
			
		||||
  HAVE_DECL_LDEXPL=1;               AC_SUBST([HAVE_DECL_LDEXPL])
 | 
			
		||||
  HAVE_DECL_LOGL=1;                 AC_SUBST([HAVE_DECL_LOGL])
 | 
			
		||||
  HAVE_DECL_LOG10L=1;               AC_SUBST([HAVE_DECL_LOG10L])
 | 
			
		||||
  HAVE_DECL_LOG2=1;                 AC_SUBST([HAVE_DECL_LOG2])
 | 
			
		||||
  HAVE_DECL_LOG2F=1;                AC_SUBST([HAVE_DECL_LOG2F])
 | 
			
		||||
  HAVE_DECL_LOG2L=1;                AC_SUBST([HAVE_DECL_LOG2L])
 | 
			
		||||
  HAVE_DECL_LOGB=1;                 AC_SUBST([HAVE_DECL_LOGB])
 | 
			
		||||
  HAVE_DECL_REMAINDER=1;            AC_SUBST([HAVE_DECL_REMAINDER])
 | 
			
		||||
  HAVE_DECL_REMAINDERL=1;           AC_SUBST([HAVE_DECL_REMAINDERL])
 | 
			
		||||
  HAVE_DECL_RINTF=1;                AC_SUBST([HAVE_DECL_RINTF])
 | 
			
		||||
  HAVE_DECL_ROUND=1;                AC_SUBST([HAVE_DECL_ROUND])
 | 
			
		||||
  HAVE_DECL_ROUNDF=1;               AC_SUBST([HAVE_DECL_ROUNDF])
 | 
			
		||||
  HAVE_DECL_ROUNDL=1;               AC_SUBST([HAVE_DECL_ROUNDL])
 | 
			
		||||
  HAVE_DECL_SINL=1;                 AC_SUBST([HAVE_DECL_SINL])
 | 
			
		||||
  HAVE_DECL_SQRTL=1;                AC_SUBST([HAVE_DECL_SQRTL])
 | 
			
		||||
  HAVE_DECL_TANL=1;                 AC_SUBST([HAVE_DECL_TANL])
 | 
			
		||||
  HAVE_DECL_TRUNC=1;                AC_SUBST([HAVE_DECL_TRUNC])
 | 
			
		||||
  HAVE_DECL_TRUNCF=1;               AC_SUBST([HAVE_DECL_TRUNCF])
 | 
			
		||||
  HAVE_DECL_TRUNCL=1;               AC_SUBST([HAVE_DECL_TRUNCL])
 | 
			
		||||
  REPLACE_ACOSF=0;                  AC_SUBST([REPLACE_ACOSF])
 | 
			
		||||
  REPLACE_ASINF=0;                  AC_SUBST([REPLACE_ASINF])
 | 
			
		||||
  REPLACE_ATANF=0;                  AC_SUBST([REPLACE_ATANF])
 | 
			
		||||
  REPLACE_ATAN2F=0;                 AC_SUBST([REPLACE_ATAN2F])
 | 
			
		||||
  REPLACE_CBRTF=0;                  AC_SUBST([REPLACE_CBRTF])
 | 
			
		||||
  REPLACE_CBRTL=0;                  AC_SUBST([REPLACE_CBRTL])
 | 
			
		||||
  REPLACE_CEIL=0;                   AC_SUBST([REPLACE_CEIL])
 | 
			
		||||
  REPLACE_CEILF=0;                  AC_SUBST([REPLACE_CEILF])
 | 
			
		||||
  REPLACE_CEILL=0;                  AC_SUBST([REPLACE_CEILL])
 | 
			
		||||
  REPLACE_COSF=0;                   AC_SUBST([REPLACE_COSF])
 | 
			
		||||
  REPLACE_COSHF=0;                  AC_SUBST([REPLACE_COSHF])
 | 
			
		||||
  REPLACE_EXPF=0;                   AC_SUBST([REPLACE_EXPF])
 | 
			
		||||
  REPLACE_EXPL=0;                   AC_SUBST([REPLACE_EXPL])
 | 
			
		||||
  REPLACE_EXPM1=0;                  AC_SUBST([REPLACE_EXPM1])
 | 
			
		||||
  REPLACE_EXPM1F=0;                 AC_SUBST([REPLACE_EXPM1F])
 | 
			
		||||
  REPLACE_EXPM1L=0;                 AC_SUBST([REPLACE_EXPM1L])
 | 
			
		||||
  REPLACE_EXP2=0;                   AC_SUBST([REPLACE_EXP2])
 | 
			
		||||
  REPLACE_EXP2L=0;                  AC_SUBST([REPLACE_EXP2L])
 | 
			
		||||
  REPLACE_FABSL=0;                  AC_SUBST([REPLACE_FABSL])
 | 
			
		||||
  REPLACE_FLOOR=0;                  AC_SUBST([REPLACE_FLOOR])
 | 
			
		||||
  REPLACE_FLOORF=0;                 AC_SUBST([REPLACE_FLOORF])
 | 
			
		||||
  REPLACE_FLOORL=0;                 AC_SUBST([REPLACE_FLOORL])
 | 
			
		||||
  REPLACE_FMA=0;                    AC_SUBST([REPLACE_FMA])
 | 
			
		||||
  REPLACE_FMAF=0;                   AC_SUBST([REPLACE_FMAF])
 | 
			
		||||
  REPLACE_FMAL=0;                   AC_SUBST([REPLACE_FMAL])
 | 
			
		||||
  REPLACE_FMOD=0;                   AC_SUBST([REPLACE_FMOD])
 | 
			
		||||
  REPLACE_FMODF=0;                  AC_SUBST([REPLACE_FMODF])
 | 
			
		||||
  REPLACE_FMODL=0;                  AC_SUBST([REPLACE_FMODL])
 | 
			
		||||
  REPLACE_FREXPF=0;                 AC_SUBST([REPLACE_FREXPF])
 | 
			
		||||
  REPLACE_FREXP=0;                  AC_SUBST([REPLACE_FREXP])
 | 
			
		||||
  REPLACE_FREXPL=0;                 AC_SUBST([REPLACE_FREXPL])
 | 
			
		||||
  REPLACE_HUGE_VAL=0;               AC_SUBST([REPLACE_HUGE_VAL])
 | 
			
		||||
  REPLACE_HYPOT=0;                  AC_SUBST([REPLACE_HYPOT])
 | 
			
		||||
  REPLACE_HYPOTF=0;                 AC_SUBST([REPLACE_HYPOTF])
 | 
			
		||||
  REPLACE_HYPOTL=0;                 AC_SUBST([REPLACE_HYPOTL])
 | 
			
		||||
  REPLACE_ILOGB=0;                  AC_SUBST([REPLACE_ILOGB])
 | 
			
		||||
  REPLACE_ILOGBF=0;                 AC_SUBST([REPLACE_ILOGBF])
 | 
			
		||||
  REPLACE_ILOGBL=0;                 AC_SUBST([REPLACE_ILOGBL])
 | 
			
		||||
  REPLACE_ISFINITE=0;               AC_SUBST([REPLACE_ISFINITE])
 | 
			
		||||
  REPLACE_ISINF=0;                  AC_SUBST([REPLACE_ISINF])
 | 
			
		||||
  REPLACE_ISNAN=0;                  AC_SUBST([REPLACE_ISNAN])
 | 
			
		||||
  REPLACE_LDEXPL=0;                 AC_SUBST([REPLACE_LDEXPL])
 | 
			
		||||
  REPLACE_LOG=0;                    AC_SUBST([REPLACE_LOG])
 | 
			
		||||
  REPLACE_LOGF=0;                   AC_SUBST([REPLACE_LOGF])
 | 
			
		||||
  REPLACE_LOGL=0;                   AC_SUBST([REPLACE_LOGL])
 | 
			
		||||
  REPLACE_LOG10=0;                  AC_SUBST([REPLACE_LOG10])
 | 
			
		||||
  REPLACE_LOG10F=0;                 AC_SUBST([REPLACE_LOG10F])
 | 
			
		||||
  REPLACE_LOG10L=0;                 AC_SUBST([REPLACE_LOG10L])
 | 
			
		||||
  REPLACE_LOG1P=0;                  AC_SUBST([REPLACE_LOG1P])
 | 
			
		||||
  REPLACE_LOG1PF=0;                 AC_SUBST([REPLACE_LOG1PF])
 | 
			
		||||
  REPLACE_LOG1PL=0;                 AC_SUBST([REPLACE_LOG1PL])
 | 
			
		||||
  REPLACE_LOG2=0;                   AC_SUBST([REPLACE_LOG2])
 | 
			
		||||
  REPLACE_LOG2F=0;                  AC_SUBST([REPLACE_LOG2F])
 | 
			
		||||
  REPLACE_LOG2L=0;                  AC_SUBST([REPLACE_LOG2L])
 | 
			
		||||
  REPLACE_LOGB=0;                   AC_SUBST([REPLACE_LOGB])
 | 
			
		||||
  REPLACE_LOGBF=0;                  AC_SUBST([REPLACE_LOGBF])
 | 
			
		||||
  REPLACE_LOGBL=0;                  AC_SUBST([REPLACE_LOGBL])
 | 
			
		||||
  REPLACE_MODF=0;                   AC_SUBST([REPLACE_MODF])
 | 
			
		||||
  REPLACE_MODFF=0;                  AC_SUBST([REPLACE_MODFF])
 | 
			
		||||
  REPLACE_MODFL=0;                  AC_SUBST([REPLACE_MODFL])
 | 
			
		||||
  REPLACE_NAN=0;                    AC_SUBST([REPLACE_NAN])
 | 
			
		||||
  REPLACE_REMAINDER=0;              AC_SUBST([REPLACE_REMAINDER])
 | 
			
		||||
  REPLACE_REMAINDERF=0;             AC_SUBST([REPLACE_REMAINDERF])
 | 
			
		||||
  REPLACE_REMAINDERL=0;             AC_SUBST([REPLACE_REMAINDERL])
 | 
			
		||||
  REPLACE_RINTL=0;                  AC_SUBST([REPLACE_RINTL])
 | 
			
		||||
  REPLACE_ROUND=0;                  AC_SUBST([REPLACE_ROUND])
 | 
			
		||||
  REPLACE_ROUNDF=0;                 AC_SUBST([REPLACE_ROUNDF])
 | 
			
		||||
  REPLACE_ROUNDL=0;                 AC_SUBST([REPLACE_ROUNDL])
 | 
			
		||||
  REPLACE_SIGNBIT=0;                AC_SUBST([REPLACE_SIGNBIT])
 | 
			
		||||
  REPLACE_SIGNBIT_USING_BUILTINS=0; AC_SUBST([REPLACE_SIGNBIT_USING_BUILTINS])
 | 
			
		||||
  REPLACE_SINF=0;                   AC_SUBST([REPLACE_SINF])
 | 
			
		||||
  REPLACE_SINHF=0;                  AC_SUBST([REPLACE_SINHF])
 | 
			
		||||
  REPLACE_SQRTF=0;                  AC_SUBST([REPLACE_SQRTF])
 | 
			
		||||
  REPLACE_SQRTL=0;                  AC_SUBST([REPLACE_SQRTL])
 | 
			
		||||
  REPLACE_TANF=0;                   AC_SUBST([REPLACE_TANF])
 | 
			
		||||
  REPLACE_TANHF=0;                  AC_SUBST([REPLACE_TANHF])
 | 
			
		||||
  REPLACE_TRUNC=0;                  AC_SUBST([REPLACE_TRUNC])
 | 
			
		||||
  REPLACE_TRUNCF=0;                 AC_SUBST([REPLACE_TRUNCF])
 | 
			
		||||
  REPLACE_TRUNCL=0;                 AC_SUBST([REPLACE_TRUNCL])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_LONG_DOUBLE_VS_DOUBLE
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										358
									
								
								gl/m4/mbrtowc.m4
									
										
									
									
									
								
							
							
						
						
									
										358
									
								
								gl/m4/mbrtowc.m4
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# mbrtowc.m4 serial 25
 | 
			
		||||
dnl Copyright (C) 2001-2002, 2004-2005, 2008-2013 Free Software Foundation,
 | 
			
		||||
# mbrtowc.m4 serial 38  -*- coding: utf-8 -*-
 | 
			
		||||
dnl Copyright (C) 2001-2002, 2004-2005, 2008-2023 Free Software Foundation,
 | 
			
		||||
dnl Inc.
 | 
			
		||||
dnl This file is free software; the Free Software Foundation
 | 
			
		||||
dnl gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
| 
						 | 
				
			
			@ -8,6 +8,8 @@ dnl with or without modifications, as long as this notice is preserved.
 | 
			
		|||
AC_DEFUN([gl_FUNC_MBRTOWC],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_PTHREADLIB])
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([threads.h])
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([AC_TYPE_MBSTATE_T])
 | 
			
		||||
  gl_MBSTATE_T_BROKEN
 | 
			
		||||
| 
						 | 
				
			
			@ -16,15 +18,8 @@ AC_DEFUN([gl_FUNC_MBRTOWC],
 | 
			
		|||
  if test $ac_cv_func_mbrtowc = no; then
 | 
			
		||||
    HAVE_MBRTOWC=0
 | 
			
		||||
    AC_CHECK_DECLS([mbrtowc],,, [[
 | 
			
		||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 | 
			
		||||
   <wchar.h>.
 | 
			
		||||
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
 | 
			
		||||
   included before <wchar.h>.  */
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
]])
 | 
			
		||||
      #include <wchar.h>
 | 
			
		||||
    ]])
 | 
			
		||||
    if test $ac_cv_have_decl_mbrtowc = yes; then
 | 
			
		||||
      dnl On Minix 3.1.8, the system's <wchar.h> declares mbrtowc() although
 | 
			
		||||
      dnl it does not have the function. Avoid a collision with gnulib's
 | 
			
		||||
| 
						 | 
				
			
			@ -39,6 +34,9 @@ AC_DEFUN([gl_FUNC_MBRTOWC],
 | 
			
		|||
      gl_MBRTOWC_NULL_ARG2
 | 
			
		||||
      gl_MBRTOWC_RETVAL
 | 
			
		||||
      gl_MBRTOWC_NUL_RETVAL
 | 
			
		||||
      gl_MBRTOWC_STORES_INCOMPLETE
 | 
			
		||||
      gl_MBRTOWC_EMPTY_INPUT
 | 
			
		||||
      gl_MBRTOWC_C_LOCALE
 | 
			
		||||
      case "$gl_cv_func_mbrtowc_null_arg1" in
 | 
			
		||||
        *yes) ;;
 | 
			
		||||
        *) AC_DEFINE([MBRTOWC_NULL_ARG1_BUG], [1],
 | 
			
		||||
| 
						 | 
				
			
			@ -67,8 +65,47 @@ AC_DEFUN([gl_FUNC_MBRTOWC],
 | 
			
		|||
           REPLACE_MBRTOWC=1
 | 
			
		||||
           ;;
 | 
			
		||||
      esac
 | 
			
		||||
      case "$gl_cv_func_mbrtowc_stores_incomplete" in
 | 
			
		||||
        *no) ;;
 | 
			
		||||
        *) AC_DEFINE([MBRTOWC_STORES_INCOMPLETE_BUG], [1],
 | 
			
		||||
             [Define if the mbrtowc function stores a wide character when reporting incomplete input.])
 | 
			
		||||
           REPLACE_MBRTOWC=1
 | 
			
		||||
           ;;
 | 
			
		||||
      esac
 | 
			
		||||
      case "$gl_cv_func_mbrtowc_empty_input" in
 | 
			
		||||
        *yes) ;;
 | 
			
		||||
        *) AC_DEFINE([MBRTOWC_EMPTY_INPUT_BUG], [1],
 | 
			
		||||
             [Define if the mbrtowc function does not return (size_t) -2
 | 
			
		||||
              for empty input.])
 | 
			
		||||
           REPLACE_MBRTOWC=1
 | 
			
		||||
           ;;
 | 
			
		||||
      esac
 | 
			
		||||
      case "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" in
 | 
			
		||||
        *yes) ;;
 | 
			
		||||
        *) AC_DEFINE([MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ], [1],
 | 
			
		||||
             [Define if the mbrtowc function may signal encoding errors in the C locale.])
 | 
			
		||||
           REPLACE_MBRTOWC=1
 | 
			
		||||
           ;;
 | 
			
		||||
      esac
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
  if test $REPLACE_MBSTATE_T = 1; then
 | 
			
		||||
    case "$host_os" in
 | 
			
		||||
      mingw*) LIB_MBRTOWC= ;;
 | 
			
		||||
      *)
 | 
			
		||||
        gl_WEAK_SYMBOLS
 | 
			
		||||
        case "$gl_cv_have_weak" in
 | 
			
		||||
          *yes) LIB_MBRTOWC= ;;
 | 
			
		||||
          *)    LIB_MBRTOWC="$LIBPTHREAD" ;;
 | 
			
		||||
        esac
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
  else
 | 
			
		||||
    LIB_MBRTOWC=
 | 
			
		||||
  fi
 | 
			
		||||
  dnl LIB_MBRTOWC is expected to be '-pthread' or '-lpthread' on AIX
 | 
			
		||||
  dnl with gcc or xlc, and empty otherwise.
 | 
			
		||||
  AC_SUBST([LIB_MBRTOWC])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl Test whether mbsinit() and mbrtowc() need to be overridden in a way that
 | 
			
		||||
| 
						 | 
				
			
			@ -80,11 +117,19 @@ dnl avoid inconsistencies.
 | 
			
		|||
AC_DEFUN([gl_MBSTATE_T_BROKEN],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([AC_TYPE_MBSTATE_T])
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([mbsinit])
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([mbrtowc])
 | 
			
		||||
  if test $ac_cv_func_mbsinit = yes && test $ac_cv_func_mbrtowc = yes; then
 | 
			
		||||
  dnl On native Windows, we know exactly how mbsinit() behaves and don't need
 | 
			
		||||
  dnl to override it, even if - like on MSVC - mbsinit() is only defined as
 | 
			
		||||
  dnl an inline function, not as a global function.
 | 
			
		||||
  if case "$host_os" in
 | 
			
		||||
       mingw*) true ;;
 | 
			
		||||
       *) test $ac_cv_func_mbsinit = yes ;;
 | 
			
		||||
     esac \
 | 
			
		||||
    && test $ac_cv_func_mbrtowc = yes; then
 | 
			
		||||
    gl_MBRTOWC_INCOMPLETE_STATE
 | 
			
		||||
    gl_MBRTOWC_SANITYCHECK
 | 
			
		||||
    REPLACE_MBSTATE_T=0
 | 
			
		||||
| 
						 | 
				
			
			@ -109,6 +154,7 @@ AC_DEFUN([gl_MBRTOWC_INCOMPLETE_STATE],
 | 
			
		|||
[
 | 
			
		||||
  AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
  AC_REQUIRE([gt_LOCALE_JA])
 | 
			
		||||
  AC_REQUIRE([gt_LOCALE_FR_UTF8])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 | 
			
		||||
  AC_CACHE_CHECK([whether mbrtowc handles incomplete characters],
 | 
			
		||||
    [gl_cv_func_mbrtowc_incomplete_state],
 | 
			
		||||
| 
						 | 
				
			
			@ -128,13 +174,6 @@ changequote([,])dnl
 | 
			
		|||
          [AC_LANG_SOURCE([[
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 | 
			
		||||
   <wchar.h>.
 | 
			
		||||
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
 | 
			
		||||
   included before <wchar.h>.  */
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -147,13 +186,39 @@ int main ()
 | 
			
		|||
      memset (&state, '\0', sizeof (mbstate_t));
 | 
			
		||||
      if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
 | 
			
		||||
        if (mbsinit (&state))
 | 
			
		||||
          return 1;
 | 
			
		||||
          return 2;
 | 
			
		||||
    }
 | 
			
		||||
  return 0;
 | 
			
		||||
}]])],
 | 
			
		||||
          [gl_cv_func_mbrtowc_incomplete_state=yes],
 | 
			
		||||
          [gl_cv_func_mbrtowc_incomplete_state=no],
 | 
			
		||||
          [:])
 | 
			
		||||
      else
 | 
			
		||||
        if test $LOCALE_FR_UTF8 != none; then
 | 
			
		||||
          AC_RUN_IFELSE(
 | 
			
		||||
            [AC_LANG_SOURCE([[
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
  if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
 | 
			
		||||
    {
 | 
			
		||||
      const char input[] = "B\303\274\303\237er"; /* "Büßer" */
 | 
			
		||||
      mbstate_t state;
 | 
			
		||||
      wchar_t wc;
 | 
			
		||||
 | 
			
		||||
      memset (&state, '\0', sizeof (mbstate_t));
 | 
			
		||||
      if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
 | 
			
		||||
        if (mbsinit (&state))
 | 
			
		||||
          return 2;
 | 
			
		||||
    }
 | 
			
		||||
  return 0;
 | 
			
		||||
}]])],
 | 
			
		||||
          [gl_cv_func_mbrtowc_incomplete_state=yes],
 | 
			
		||||
          [gl_cv_func_mbrtowc_incomplete_state=no],
 | 
			
		||||
          [:])
 | 
			
		||||
        fi
 | 
			
		||||
      fi
 | 
			
		||||
    ])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -185,13 +250,6 @@ changequote([,])dnl
 | 
			
		|||
#include <locale.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 | 
			
		||||
   <wchar.h>.
 | 
			
		||||
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
 | 
			
		||||
   included before <wchar.h>.  */
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -207,7 +265,7 @@ int main ()
 | 
			
		|||
      memset (&state, '\0', sizeof (mbstate_t));
 | 
			
		||||
      if (mbrtowc (&wc, input + 3, 6, &state) != 4
 | 
			
		||||
          && mbtowc (&wc, input + 3, 6) == 4)
 | 
			
		||||
        return 1;
 | 
			
		||||
        return 2;
 | 
			
		||||
    }
 | 
			
		||||
  return 0;
 | 
			
		||||
}]])],
 | 
			
		||||
| 
						 | 
				
			
			@ -245,13 +303,6 @@ changequote([,])dnl
 | 
			
		|||
#include <locale.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 | 
			
		||||
   <wchar.h>.
 | 
			
		||||
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
 | 
			
		||||
   included before <wchar.h>.  */
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -314,13 +365,6 @@ changequote([,])dnl
 | 
			
		|||
          [AC_LANG_SOURCE([[
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 | 
			
		||||
   <wchar.h>.
 | 
			
		||||
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
 | 
			
		||||
   included before <wchar.h>.  */
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -335,7 +379,7 @@ int main ()
 | 
			
		|||
      mbrtowc (&wc, NULL, 5, &state);
 | 
			
		||||
      /* Check that wc was not modified.  */
 | 
			
		||||
      if (wc != (wchar_t) 0xBADFACE)
 | 
			
		||||
        return 1;
 | 
			
		||||
        return 2;
 | 
			
		||||
    }
 | 
			
		||||
  return 0;
 | 
			
		||||
}]])],
 | 
			
		||||
| 
						 | 
				
			
			@ -376,13 +420,6 @@ changequote([,])dnl
 | 
			
		|||
          [AC_LANG_SOURCE([[
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 | 
			
		||||
   <wchar.h>.
 | 
			
		||||
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
 | 
			
		||||
   included before <wchar.h>.  */
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -504,13 +541,6 @@ changequote([,])dnl
 | 
			
		|||
          [AC_LANG_SOURCE([[
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 | 
			
		||||
   <wchar.h>.
 | 
			
		||||
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
 | 
			
		||||
   included before <wchar.h>.  */
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -522,7 +552,7 @@ int main ()
 | 
			
		|||
 | 
			
		||||
      memset (&state, '\0', sizeof (mbstate_t));
 | 
			
		||||
      if (mbrtowc (&wc, "", 1, &state) != 0)
 | 
			
		||||
        return 1;
 | 
			
		||||
        return 2;
 | 
			
		||||
    }
 | 
			
		||||
  return 0;
 | 
			
		||||
}]])],
 | 
			
		||||
| 
						 | 
				
			
			@ -533,11 +563,206 @@ int main ()
 | 
			
		|||
    ])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/mbrtowc.c.
 | 
			
		||||
dnl Test whether mbrtowc stores a wide character when reporting incomplete
 | 
			
		||||
dnl input.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_MBRTOWC_STORES_INCOMPLETE],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 | 
			
		||||
  AC_CACHE_CHECK([whether mbrtowc stores incomplete characters],
 | 
			
		||||
    [gl_cv_func_mbrtowc_stores_incomplete],
 | 
			
		||||
    [
 | 
			
		||||
     dnl Initial guess, used when cross-compiling or when no suitable locale
 | 
			
		||||
     dnl is present.
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
     case "$host_os" in
 | 
			
		||||
               # Guess yes on native Windows.
 | 
			
		||||
       mingw*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;;
 | 
			
		||||
       *)      gl_cv_func_mbrtowc_stores_incomplete="guessing no" ;;
 | 
			
		||||
     esac
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
     case "$host_os" in
 | 
			
		||||
       mingw*)
 | 
			
		||||
         AC_RUN_IFELSE(
 | 
			
		||||
           [AC_LANG_SOURCE([[
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
  int result = 0;
 | 
			
		||||
  if (setlocale (LC_ALL, "French_France.65001") != NULL)
 | 
			
		||||
    {
 | 
			
		||||
      wchar_t wc = (wchar_t) 0xBADFACE;
 | 
			
		||||
      mbstate_t state;
 | 
			
		||||
 | 
			
		||||
      memset (&state, '\0', sizeof (mbstate_t));
 | 
			
		||||
      if (mbrtowc (&wc, "\303", 1, &state) == (size_t)(-2)
 | 
			
		||||
          && wc != (wchar_t) 0xBADFACE)
 | 
			
		||||
        result |= 1;
 | 
			
		||||
    }
 | 
			
		||||
  if (setlocale (LC_ALL, "Japanese_Japan.932") != NULL)
 | 
			
		||||
    {
 | 
			
		||||
      wchar_t wc = (wchar_t) 0xBADFACE;
 | 
			
		||||
      mbstate_t state;
 | 
			
		||||
 | 
			
		||||
      memset (&state, '\0', sizeof (mbstate_t));
 | 
			
		||||
      if (mbrtowc (&wc, "\226", 1, &state) == (size_t)(-2)
 | 
			
		||||
          && wc != (wchar_t) 0xBADFACE)
 | 
			
		||||
        result |= 2;
 | 
			
		||||
    }
 | 
			
		||||
  if (setlocale (LC_ALL, "Chinese_Taiwan.950") != NULL)
 | 
			
		||||
    {
 | 
			
		||||
      wchar_t wc = (wchar_t) 0xBADFACE;
 | 
			
		||||
      mbstate_t state;
 | 
			
		||||
 | 
			
		||||
      memset (&state, '\0', sizeof (mbstate_t));
 | 
			
		||||
      if (mbrtowc (&wc, "\245", 1, &state) == (size_t)(-2)
 | 
			
		||||
          && wc != (wchar_t) 0xBADFACE)
 | 
			
		||||
        result |= 4;
 | 
			
		||||
    }
 | 
			
		||||
  if (setlocale (LC_ALL, "Chinese_China.936") != NULL)
 | 
			
		||||
    {
 | 
			
		||||
      wchar_t wc = (wchar_t) 0xBADFACE;
 | 
			
		||||
      mbstate_t state;
 | 
			
		||||
 | 
			
		||||
      memset (&state, '\0', sizeof (mbstate_t));
 | 
			
		||||
      if (mbrtowc (&wc, "\261", 1, &state) == (size_t)(-2)
 | 
			
		||||
          && wc != (wchar_t) 0xBADFACE)
 | 
			
		||||
        result |= 8;
 | 
			
		||||
    }
 | 
			
		||||
  return result;
 | 
			
		||||
}]])],
 | 
			
		||||
           [gl_cv_func_mbrtowc_stores_incomplete=no],
 | 
			
		||||
           [gl_cv_func_mbrtowc_stores_incomplete=yes],
 | 
			
		||||
           [:])
 | 
			
		||||
         ;;
 | 
			
		||||
       *)
 | 
			
		||||
         AC_REQUIRE([gt_LOCALE_FR_UTF8])
 | 
			
		||||
         if test $LOCALE_FR_UTF8 != none; then
 | 
			
		||||
           AC_RUN_IFELSE(
 | 
			
		||||
             [AC_LANG_SOURCE([[
 | 
			
		||||
#include <locale.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
int main ()
 | 
			
		||||
{
 | 
			
		||||
  if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
 | 
			
		||||
    {
 | 
			
		||||
      wchar_t wc = (wchar_t) 0xBADFACE;
 | 
			
		||||
      mbstate_t state;
 | 
			
		||||
 | 
			
		||||
      memset (&state, '\0', sizeof (mbstate_t));
 | 
			
		||||
      if (mbrtowc (&wc, "\303", 1, &state) == (size_t)(-2)
 | 
			
		||||
          && wc != (wchar_t) 0xBADFACE)
 | 
			
		||||
        return 1;
 | 
			
		||||
    }
 | 
			
		||||
  return 0;
 | 
			
		||||
}]])],
 | 
			
		||||
             [gl_cv_func_mbrtowc_stores_incomplete=no],
 | 
			
		||||
             [gl_cv_func_mbrtowc_stores_incomplete=yes],
 | 
			
		||||
             [:])
 | 
			
		||||
         fi
 | 
			
		||||
         ;;
 | 
			
		||||
     esac
 | 
			
		||||
    ])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl Test whether mbrtowc returns the correct value on empty input.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_MBRTOWC_EMPTY_INPUT],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_PROG_CC])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 | 
			
		||||
  AC_CACHE_CHECK([whether mbrtowc works on empty input],
 | 
			
		||||
    [gl_cv_func_mbrtowc_empty_input],
 | 
			
		||||
    [
 | 
			
		||||
      dnl Initial guess, used when cross-compiling or when no suitable locale
 | 
			
		||||
      dnl is present.
 | 
			
		||||
changequote(,)dnl
 | 
			
		||||
      case "$host_os" in
 | 
			
		||||
                              # Guess no on AIX and glibc systems.
 | 
			
		||||
        aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;;
 | 
			
		||||
                              # Guess yes on native Windows.
 | 
			
		||||
        mingw*)               gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
 | 
			
		||||
        *)                    gl_cv_func_mbrtowc_empty_input="guessing yes" ;;
 | 
			
		||||
      esac
 | 
			
		||||
changequote([,])dnl
 | 
			
		||||
      AC_RUN_IFELSE(
 | 
			
		||||
        [AC_LANG_SOURCE([[
 | 
			
		||||
           #include <wchar.h>
 | 
			
		||||
           static wchar_t wc;
 | 
			
		||||
           static mbstate_t mbs;
 | 
			
		||||
           int
 | 
			
		||||
           main (void)
 | 
			
		||||
           {
 | 
			
		||||
             return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2;
 | 
			
		||||
           }]])],
 | 
			
		||||
        [gl_cv_func_mbrtowc_empty_input=yes],
 | 
			
		||||
        [gl_cv_func_mbrtowc_empty_input=no],
 | 
			
		||||
        [:])
 | 
			
		||||
    ])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl Test whether mbrtowc reports encoding errors in the C locale.
 | 
			
		||||
dnl Although POSIX was never intended to allow this, the GNU C Library
 | 
			
		||||
dnl and other implementations do it.  See:
 | 
			
		||||
dnl https://sourceware.org/bugzilla/show_bug.cgi?id=19932
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_MBRTOWC_C_LOCALE],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 | 
			
		||||
  AC_CACHE_CHECK([whether the C locale is free of encoding errors],
 | 
			
		||||
    [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ],
 | 
			
		||||
    [
 | 
			
		||||
     dnl Initial guess, used when cross-compiling or when no suitable locale
 | 
			
		||||
     dnl is present.
 | 
			
		||||
     gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal"
 | 
			
		||||
 | 
			
		||||
     AC_RUN_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
          [[#include <limits.h>
 | 
			
		||||
            #include <locale.h>
 | 
			
		||||
            #include <wchar.h>
 | 
			
		||||
          ]], [[
 | 
			
		||||
            int i;
 | 
			
		||||
            char *locale = setlocale (LC_ALL, "C");
 | 
			
		||||
            if (! locale)
 | 
			
		||||
              return 2;
 | 
			
		||||
            for (i = CHAR_MIN; i <= CHAR_MAX; i++)
 | 
			
		||||
              {
 | 
			
		||||
                char c = i;
 | 
			
		||||
                wchar_t wc;
 | 
			
		||||
                mbstate_t mbs = { 0, };
 | 
			
		||||
                size_t ss = mbrtowc (&wc, &c, 1, &mbs);
 | 
			
		||||
                if (1 < ss)
 | 
			
		||||
                  return 3;
 | 
			
		||||
              }
 | 
			
		||||
            return 0;
 | 
			
		||||
          ]])],
 | 
			
		||||
      [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes],
 | 
			
		||||
      [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no],
 | 
			
		||||
      [case "$host_os" in
 | 
			
		||||
                 # Guess yes on native Windows.
 | 
			
		||||
         mingw*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;;
 | 
			
		||||
       esac
 | 
			
		||||
      ])
 | 
			
		||||
    ])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/mbrtowc.c and lib/lc-charset-dispatch.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_MBRTOWC], [
 | 
			
		||||
  AC_REQUIRE([AC_C_INLINE])
 | 
			
		||||
  :
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/mbtowc-lock.c.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_MBTOWC_LOCK],
 | 
			
		||||
[
 | 
			
		||||
  gl_VISIBILITY
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
dnl From Paul Eggert
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -547,24 +772,17 @@ AC_DEFUN([AC_FUNC_MBRTOWC],
 | 
			
		|||
[
 | 
			
		||||
  dnl Same as AC_FUNC_MBRTOWC in autoconf-2.60.
 | 
			
		||||
  AC_CACHE_CHECK([whether mbrtowc and mbstate_t are properly declared],
 | 
			
		||||
    gl_cv_func_mbrtowc,
 | 
			
		||||
    [gl_cv_func_mbrtowc],
 | 
			
		||||
    [AC_LINK_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
            [[/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be
 | 
			
		||||
                 included before <wchar.h>.
 | 
			
		||||
                 BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h>
 | 
			
		||||
                 must be included before <wchar.h>.  */
 | 
			
		||||
              #include <stddef.h>
 | 
			
		||||
              #include <stdio.h>
 | 
			
		||||
              #include <time.h>
 | 
			
		||||
              #include <wchar.h>]],
 | 
			
		||||
            [[#include <wchar.h>]],
 | 
			
		||||
            [[wchar_t wc;
 | 
			
		||||
              char const s[] = "";
 | 
			
		||||
              size_t n = 1;
 | 
			
		||||
              mbstate_t state;
 | 
			
		||||
              return ! (sizeof state && (mbrtowc) (&wc, s, n, &state));]])],
 | 
			
		||||
       gl_cv_func_mbrtowc=yes,
 | 
			
		||||
       gl_cv_func_mbrtowc=no)])
 | 
			
		||||
       [gl_cv_func_mbrtowc=yes],
 | 
			
		||||
       [gl_cv_func_mbrtowc=no])])
 | 
			
		||||
  if test $gl_cv_func_mbrtowc = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE_MBRTOWC], [1],
 | 
			
		||||
      [Define to 1 if mbrtowc and mbstate_t are properly declared.])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# mbsinit.m4 serial 8
 | 
			
		||||
dnl Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc.
 | 
			
		||||
# mbsinit.m4 serial 9
 | 
			
		||||
dnl Copyright (C) 2008, 2010-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -16,15 +16,8 @@ AC_DEFUN([gl_FUNC_MBSINIT],
 | 
			
		|||
  if test $ac_cv_func_mbsinit = no; then
 | 
			
		||||
    HAVE_MBSINIT=0
 | 
			
		||||
    AC_CHECK_DECLS([mbsinit],,, [[
 | 
			
		||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 | 
			
		||||
   <wchar.h>.
 | 
			
		||||
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
 | 
			
		||||
   included before <wchar.h>.  */
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
]])
 | 
			
		||||
      #include <wchar.h>
 | 
			
		||||
    ]])
 | 
			
		||||
    if test $ac_cv_have_decl_mbsinit = yes; then
 | 
			
		||||
      dnl On Minix 3.1.8, the system's <wchar.h> declares mbsinit() although
 | 
			
		||||
      dnl it does not have the function. Avoid a collision with gnulib's
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# mbstate_t.m4 serial 13
 | 
			
		||||
dnl Copyright (C) 2000-2002, 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
# mbstate_t.m4 serial 14
 | 
			
		||||
dnl Copyright (C) 2000-2002, 2008-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -20,14 +20,7 @@ AC_DEFUN([AC_TYPE_MBSTATE_T],
 | 
			
		|||
     [AC_COMPILE_IFELSE(
 | 
			
		||||
        [AC_LANG_PROGRAM(
 | 
			
		||||
           [AC_INCLUDES_DEFAULT[
 | 
			
		||||
/* Tru64 with Desktop Toolkit C has a bug: <stdio.h> must be included before
 | 
			
		||||
   <wchar.h>.
 | 
			
		||||
   BSD/OS 4.0.1 has a bug: <stddef.h>, <stdio.h> and <time.h> must be
 | 
			
		||||
   included before <wchar.h>.  */
 | 
			
		||||
#include <stddef.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <wchar.h>]],
 | 
			
		||||
             #include <wchar.h>]],
 | 
			
		||||
           [[mbstate_t x; return sizeof x;]])],
 | 
			
		||||
        [ac_cv_type_mbstate_t=yes],
 | 
			
		||||
        [ac_cv_type_mbstate_t=no])])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# mbtowc.m4 serial 2
 | 
			
		||||
dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
 | 
			
		||||
# mbtowc.m4 serial 3
 | 
			
		||||
dnl Copyright (C) 2011-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -8,8 +8,13 @@ AC_DEFUN([gl_FUNC_MBTOWC],
 | 
			
		|||
[
 | 
			
		||||
  AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
 | 
			
		||||
 | 
			
		||||
  if false; then
 | 
			
		||||
    REPLACE_MBTOWC=1
 | 
			
		||||
  AC_CHECK_FUNCS([mbtowc])
 | 
			
		||||
  if test $ac_cv_func_mbtowc = no; then
 | 
			
		||||
    HAVE_MBTOWC=0
 | 
			
		||||
  else
 | 
			
		||||
    if false; then
 | 
			
		||||
      REPLACE_MBTOWC=1
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,35 +1,30 @@
 | 
			
		|||
# memchr.m4 serial 12
 | 
			
		||||
dnl Copyright (C) 2002-2004, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# memchr.m4 serial 18
 | 
			
		||||
dnl Copyright (C) 2002-2004, 2009-2023 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_ONCE([gl_FUNC_MEMCHR],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 | 
			
		||||
 | 
			
		||||
  dnl Check for prerequisites for memory fence checks.
 | 
			
		||||
  gl_FUNC_MMAP_ANON
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([sys/mman.h])
 | 
			
		||||
  AC_CHECK_FUNCS_ONCE([mprotect])
 | 
			
		||||
 | 
			
		||||
  AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
 | 
			
		||||
  m4_ifdef([gl_FUNC_MEMCHR_OBSOLETE], [
 | 
			
		||||
    dnl These days, we assume memchr is present.  But if support for old
 | 
			
		||||
    dnl platforms is desired:
 | 
			
		||||
    AC_CHECK_FUNCS_ONCE([memchr])
 | 
			
		||||
    if test $ac_cv_func_memchr = no; then
 | 
			
		||||
      HAVE_MEMCHR=0
 | 
			
		||||
    fi
 | 
			
		||||
  ])
 | 
			
		||||
  if test $HAVE_MEMCHR = 1; then
 | 
			
		||||
    # Detect platform-specific bugs in some versions of glibc:
 | 
			
		||||
    # memchr should not dereference anything with length 0
 | 
			
		||||
    #   http://bugzilla.redhat.com/499689
 | 
			
		||||
    # memchr should not dereference overestimated length after a match
 | 
			
		||||
    #   http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737
 | 
			
		||||
    #   http://sourceware.org/bugzilla/show_bug.cgi?id=10162
 | 
			
		||||
    # Assume that memchr works on platforms that lack mprotect.
 | 
			
		||||
    AC_CACHE_CHECK([whether memchr works], [gl_cv_func_memchr_works],
 | 
			
		||||
      [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
 | 
			
		||||
  AC_REQUIRE([gl_STRING_H_DEFAULTS])
 | 
			
		||||
  # Detect platform-specific bugs in some versions of glibc:
 | 
			
		||||
  # memchr should not dereference anything with length 0
 | 
			
		||||
  #   https://bugzilla.redhat.com/show_bug.cgi?id=499689
 | 
			
		||||
  # memchr should not dereference overestimated length after a match
 | 
			
		||||
  #   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=521737
 | 
			
		||||
  #   https://sourceware.org/bugzilla/show_bug.cgi?id=10162
 | 
			
		||||
  # memchr should cast the second argument to 'unsigned char'.
 | 
			
		||||
  #   This bug exists in Android 4.3.
 | 
			
		||||
  # Assume that memchr works on platforms that lack mprotect.
 | 
			
		||||
  AC_CACHE_CHECK([whether memchr works], [gl_cv_func_memchr_works],
 | 
			
		||||
    [AC_RUN_IFELSE([AC_LANG_PROGRAM([[
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#if HAVE_SYS_MMAN_H
 | 
			
		||||
# include <fcntl.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -64,6 +59,7 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR],
 | 
			
		|||
#endif
 | 
			
		||||
  if (fence)
 | 
			
		||||
    {
 | 
			
		||||
      /* Test against bugs on glibc systems.  */
 | 
			
		||||
      if (memchr (fence, 0, 0))
 | 
			
		||||
        result |= 1;
 | 
			
		||||
      strcpy (fence - 9, "12345678");
 | 
			
		||||
| 
						 | 
				
			
			@ -71,15 +67,37 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR],
 | 
			
		|||
        result |= 2;
 | 
			
		||||
      if (memchr (fence - 1, 0, 3) != fence - 1)
 | 
			
		||||
        result |= 4;
 | 
			
		||||
      /* Test against bug on AIX 7.2.  */
 | 
			
		||||
      if (memchr (fence - 4, '6', 16) != fence - 4)
 | 
			
		||||
        result |= 8;
 | 
			
		||||
    }
 | 
			
		||||
  /* Test against bug on Android 4.3.  */
 | 
			
		||||
  {
 | 
			
		||||
    char input[3];
 | 
			
		||||
    input[0] = 'a';
 | 
			
		||||
    input[1] = 'b';
 | 
			
		||||
    input[2] = 'c';
 | 
			
		||||
    if (memchr (input, 0x789abc00 | 'b', 3) != input + 1)
 | 
			
		||||
      result |= 16;
 | 
			
		||||
  }
 | 
			
		||||
  return result;
 | 
			
		||||
]])], [gl_cv_func_memchr_works=yes], [gl_cv_func_memchr_works=no],
 | 
			
		||||
      [dnl Be pessimistic for now.
 | 
			
		||||
       gl_cv_func_memchr_works="guessing no"])])
 | 
			
		||||
    if test "$gl_cv_func_memchr_works" != yes; then
 | 
			
		||||
      REPLACE_MEMCHR=1
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
]])],
 | 
			
		||||
       [gl_cv_func_memchr_works=yes],
 | 
			
		||||
       [gl_cv_func_memchr_works=no],
 | 
			
		||||
       [case "$host_os" in
 | 
			
		||||
                           # Guess no on Android.
 | 
			
		||||
          linux*-android*) gl_cv_func_memchr_works="guessing no" ;;
 | 
			
		||||
                           # Guess yes on native Windows.
 | 
			
		||||
          mingw*)          gl_cv_func_memchr_works="guessing yes" ;;
 | 
			
		||||
                           # If we don't know, obey --enable-cross-guesses.
 | 
			
		||||
          *)               gl_cv_func_memchr_works="$gl_cross_guess_normal" ;;
 | 
			
		||||
        esac
 | 
			
		||||
       ])
 | 
			
		||||
    ])
 | 
			
		||||
  case "$gl_cv_func_memchr_works" in
 | 
			
		||||
    *yes) ;;
 | 
			
		||||
    *) REPLACE_MEMCHR=1 ;;
 | 
			
		||||
  esac
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/memchr.c.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										44
									
								
								gl/m4/minmax.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								gl/m4/minmax.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,44 @@
 | 
			
		|||
# minmax.m4 serial 4
 | 
			
		||||
dnl Copyright (C) 2005, 2009-2023 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_PREREQ([2.53])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_MINMAX],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_PREREQ_MINMAX])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/minmax.h.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_MINMAX],
 | 
			
		||||
[
 | 
			
		||||
  gl_MINMAX_IN_HEADER([limits.h])
 | 
			
		||||
  gl_MINMAX_IN_HEADER([sys/param.h])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl gl_MINMAX_IN_HEADER(HEADER)
 | 
			
		||||
dnl The parameter has to be a literal header name; it cannot be macro,
 | 
			
		||||
dnl nor a shell variable. (Because autoheader collects only AC_DEFINE
 | 
			
		||||
dnl invocations with a literal macro name.)
 | 
			
		||||
AC_DEFUN([gl_MINMAX_IN_HEADER],
 | 
			
		||||
[
 | 
			
		||||
  m4_pushdef([header], AS_TR_SH([$1]))
 | 
			
		||||
  m4_pushdef([HEADER], AS_TR_CPP([$1]))
 | 
			
		||||
  AC_CACHE_CHECK([whether <$1> defines MIN and MAX],
 | 
			
		||||
    [gl_cv_minmax_in_]header,
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM(
 | 
			
		||||
          [[#include <$1>
 | 
			
		||||
            int x = MIN (42, 17);]],
 | 
			
		||||
          [[]])],
 | 
			
		||||
       [gl_cv_minmax_in_]header[=yes],
 | 
			
		||||
       [gl_cv_minmax_in_]header[=no])])
 | 
			
		||||
  if test $gl_cv_minmax_in_[]header = yes; then
 | 
			
		||||
    AC_DEFINE([HAVE_MINMAX_IN_]HEADER, 1,
 | 
			
		||||
      [Define to 1 if <$1> defines the MIN and MAX macros.])
 | 
			
		||||
  fi
 | 
			
		||||
  m4_popdef([HEADER])
 | 
			
		||||
  m4_popdef([header])
 | 
			
		||||
])
 | 
			
		||||
							
								
								
									
										148
									
								
								gl/m4/mktime.m4
									
										
									
									
									
								
							
							
						
						
									
										148
									
								
								gl/m4/mktime.m4
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# serial 25
 | 
			
		||||
dnl Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation,
 | 
			
		||||
# serial 37
 | 
			
		||||
dnl Copyright (C) 2002-2003, 2005-2007, 2009-2023 Free Software Foundation,
 | 
			
		||||
dnl Inc.
 | 
			
		||||
dnl This file is free software; the Free Software Foundation
 | 
			
		||||
dnl gives unlimited permission to copy and/or distribute it,
 | 
			
		||||
| 
						 | 
				
			
			@ -7,24 +7,40 @@ dnl with or without modifications, as long as this notice is preserved.
 | 
			
		|||
 | 
			
		||||
dnl From Jim Meyering.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_FUNC_MKTIME],
 | 
			
		||||
AC_DEFUN([gl_TIME_T_IS_SIGNED],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_HEADER_TIME_H_DEFAULTS])
 | 
			
		||||
  AC_CACHE_CHECK([whether time_t is signed],
 | 
			
		||||
    [gl_cv_time_t_is_signed],
 | 
			
		||||
    [AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_PROGRAM([[#include <time.h>
 | 
			
		||||
                          char time_t_signed[(time_t) -1 < 0 ? 1 : -1];]])],
 | 
			
		||||
       [gl_cv_time_t_is_signed=yes],
 | 
			
		||||
       [gl_cv_time_t_is_signed=no])])
 | 
			
		||||
  if test $gl_cv_time_t_is_signed = yes; then
 | 
			
		||||
    AC_DEFINE([TIME_T_IS_SIGNED], [1], [Define to 1 if time_t is signed.])
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl Test whether mktime works. Set gl_cv_func_working_mktime.
 | 
			
		||||
AC_DEFUN([gl_FUNC_MKTIME_WORKS],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_TIME_T_IS_SIGNED])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
 | 
			
		||||
 | 
			
		||||
  dnl We don't use AC_FUNC_MKTIME any more, because it is no longer maintained
 | 
			
		||||
  dnl in Autoconf and because it invokes AC_LIBOBJ.
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([unistd.h])
 | 
			
		||||
  AC_CHECK_DECLS_ONCE([alarm])
 | 
			
		||||
  AC_REQUIRE([gl_MULTIARCH])
 | 
			
		||||
  if test $APPLE_UNIVERSAL_BUILD = 1; then
 | 
			
		||||
    # A universal build on Apple Mac OS X platforms.
 | 
			
		||||
    # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode.
 | 
			
		||||
    # But we need a configuration result that is valid in both modes.
 | 
			
		||||
    gl_cv_func_working_mktime=no
 | 
			
		||||
  fi
 | 
			
		||||
  AC_CACHE_CHECK([for working mktime], [gl_cv_func_working_mktime],
 | 
			
		||||
    [AC_RUN_IFELSE(
 | 
			
		||||
       [AC_LANG_SOURCE(
 | 
			
		||||
    [if test $APPLE_UNIVERSAL_BUILD = 1; then
 | 
			
		||||
       # A universal build on Apple Mac OS X platforms.
 | 
			
		||||
       # The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode.
 | 
			
		||||
       # But we need a configuration result that is valid in both modes.
 | 
			
		||||
       gl_cv_func_working_mktime="guessing no"
 | 
			
		||||
     else
 | 
			
		||||
       AC_RUN_IFELSE(
 | 
			
		||||
         [AC_LANG_SOURCE(
 | 
			
		||||
[[/* Test program from Paul Eggert and Tony Leneis.  */
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -38,8 +54,11 @@ AC_DEFUN([gl_FUNC_MKTIME],
 | 
			
		|||
# include <signal.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* Work around redefinition to rpl_putenv by other config tests.  */
 | 
			
		||||
#undef putenv
 | 
			
		||||
]GL_MDA_DEFINES[
 | 
			
		||||
 | 
			
		||||
#ifndef TIME_T_IS_SIGNED
 | 
			
		||||
# define TIME_T_IS_SIGNED 0
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static time_t time_t_max;
 | 
			
		||||
static time_t time_t_min;
 | 
			
		||||
| 
						 | 
				
			
			@ -63,7 +82,8 @@ spring_forward_gap ()
 | 
			
		|||
     instead of "TZ=America/Vancouver" in order to detect the bug even
 | 
			
		||||
     on systems that don't support the Olson extension, or don't have the
 | 
			
		||||
     full zoneinfo tables installed.  */
 | 
			
		||||
  putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
 | 
			
		||||
  if (putenv ("TZ=PST8PDT,M4.1.0,M10.5.0") != 0)
 | 
			
		||||
    return -1;
 | 
			
		||||
 | 
			
		||||
  tm.tm_year = 98;
 | 
			
		||||
  tm.tm_mon = 3;
 | 
			
		||||
| 
						 | 
				
			
			@ -151,7 +171,8 @@ year_2050_test ()
 | 
			
		|||
     instead of "TZ=America/Vancouver" in order to detect the bug even
 | 
			
		||||
     on systems that don't support the Olson extension, or don't have the
 | 
			
		||||
     full zoneinfo tables installed.  */
 | 
			
		||||
  putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
 | 
			
		||||
  if (putenv ("TZ=PST8PDT,M4.1.0,M10.5.0") != 0)
 | 
			
		||||
    return -1;
 | 
			
		||||
 | 
			
		||||
  t = mktime (&tm);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -162,6 +183,25 @@ year_2050_test ()
 | 
			
		|||
          || (0 < t && answer - 120 <= t && t <= answer + 120));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int
 | 
			
		||||
indiana_test ()
 | 
			
		||||
{
 | 
			
		||||
  if (putenv ("TZ=America/Indiana/Indianapolis") != 0)
 | 
			
		||||
    return -1;
 | 
			
		||||
  struct tm tm;
 | 
			
		||||
  tm.tm_year = 1986 - 1900; tm.tm_mon = 4 - 1; tm.tm_mday = 28;
 | 
			
		||||
  tm.tm_hour = 16; tm.tm_min = 24; tm.tm_sec = 50; tm.tm_isdst = 0;
 | 
			
		||||
  time_t std = mktime (&tm);
 | 
			
		||||
  if (! (std == 515107490 || std == 515107503))
 | 
			
		||||
    return 1;
 | 
			
		||||
 | 
			
		||||
  /* This platform supports TZDB, either without or with leap seconds.
 | 
			
		||||
     Return true if GNU Bug#48085 is absent.  */
 | 
			
		||||
  tm.tm_isdst = 1;
 | 
			
		||||
  time_t dst = mktime (&tm);
 | 
			
		||||
  return std - dst == 60 * 60;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
main ()
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			@ -169,7 +209,6 @@ main ()
 | 
			
		|||
  time_t t, delta;
 | 
			
		||||
  int i, j;
 | 
			
		||||
  int time_t_signed_magnitude = (time_t) ~ (time_t) 0 < (time_t) -1;
 | 
			
		||||
  int time_t_signed = ! ((time_t) 0 < (time_t) -1);
 | 
			
		||||
 | 
			
		||||
#if HAVE_DECL_ALARM
 | 
			
		||||
  /* This test makes some buggy mktime implementations loop.
 | 
			
		||||
| 
						 | 
				
			
			@ -179,11 +218,11 @@ main ()
 | 
			
		|||
  alarm (60);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
  time_t_max = (! time_t_signed
 | 
			
		||||
  time_t_max = (! TIME_T_IS_SIGNED
 | 
			
		||||
                ? (time_t) -1
 | 
			
		||||
                : ((((time_t) 1 << (sizeof (time_t) * CHAR_BIT - 2)) - 1)
 | 
			
		||||
                   * 2 + 1));
 | 
			
		||||
  time_t_min = (! time_t_signed
 | 
			
		||||
  time_t_min = (! TIME_T_IS_SIGNED
 | 
			
		||||
                ? (time_t) 0
 | 
			
		||||
                : time_t_signed_magnitude
 | 
			
		||||
                ? ~ (time_t) 0
 | 
			
		||||
| 
						 | 
				
			
			@ -218,35 +257,62 @@ main ()
 | 
			
		|||
    result |= 16;
 | 
			
		||||
  if (! spring_forward_gap ())
 | 
			
		||||
    result |= 32;
 | 
			
		||||
  if (! year_2050_test ())
 | 
			
		||||
  if (! year_2050_test () || ! indiana_test ())
 | 
			
		||||
    result |= 64;
 | 
			
		||||
  return result;
 | 
			
		||||
}]])],
 | 
			
		||||
       [gl_cv_func_working_mktime=yes],
 | 
			
		||||
       [gl_cv_func_working_mktime=no],
 | 
			
		||||
       [gl_cv_func_working_mktime=no])
 | 
			
		||||
         [gl_cv_func_working_mktime=yes],
 | 
			
		||||
         [gl_cv_func_working_mktime=no],
 | 
			
		||||
         [case "$host_os" in
 | 
			
		||||
                    # Guess no on native Windows.
 | 
			
		||||
            mingw*) gl_cv_func_working_mktime="guessing no" ;;
 | 
			
		||||
            *)      gl_cv_func_working_mktime="$gl_cross_guess_normal" ;;
 | 
			
		||||
          esac
 | 
			
		||||
         ])
 | 
			
		||||
     fi
 | 
			
		||||
    ])
 | 
			
		||||
 | 
			
		||||
  if test $gl_cv_func_working_mktime = no; then
 | 
			
		||||
    REPLACE_MKTIME=1
 | 
			
		||||
  else
 | 
			
		||||
    REPLACE_MKTIME=0
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_FUNC_MKTIME_INTERNAL], [
 | 
			
		||||
  AC_REQUIRE([gl_FUNC_MKTIME])
 | 
			
		||||
  if test $REPLACE_MKTIME = 0; then
 | 
			
		||||
    dnl BeOS has __mktime_internal in libc, but other platforms don't.
 | 
			
		||||
    AC_CHECK_FUNC([__mktime_internal],
 | 
			
		||||
      [AC_DEFINE([mktime_internal], [__mktime_internal],
 | 
			
		||||
         [Define to the real name of the mktime_internal function.])
 | 
			
		||||
      ],
 | 
			
		||||
      [dnl mktime works but it doesn't export __mktime_internal,
 | 
			
		||||
       dnl so we need to substitute our own mktime implementation.
 | 
			
		||||
       REPLACE_MKTIME=1
 | 
			
		||||
      ])
 | 
			
		||||
dnl Main macro of module 'mktime'.
 | 
			
		||||
AC_DEFUN([gl_FUNC_MKTIME],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_TIME_H_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_REQUIRE([gl_FUNC_MKTIME_WORKS])
 | 
			
		||||
 | 
			
		||||
  REPLACE_MKTIME=0
 | 
			
		||||
  if test "$gl_cv_func_working_mktime" != yes; then
 | 
			
		||||
    REPLACE_MKTIME=1
 | 
			
		||||
    AC_DEFINE([NEED_MKTIME_WORKING], [1],
 | 
			
		||||
      [Define if the compilation of mktime.c should define 'mktime'
 | 
			
		||||
       with the algorithmic workarounds.])
 | 
			
		||||
  fi
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    mingw*)
 | 
			
		||||
      REPLACE_MKTIME=1
 | 
			
		||||
      AC_DEFINE([NEED_MKTIME_WINDOWS], [1],
 | 
			
		||||
        [Define if the compilation of mktime.c should define 'mktime'
 | 
			
		||||
         with the native Windows TZ workaround.])
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
dnl Main macro of module 'mktime-internal'.
 | 
			
		||||
AC_DEFUN([gl_FUNC_MKTIME_INTERNAL], [
 | 
			
		||||
  AC_REQUIRE([gl_FUNC_MKTIME_WORKS])
 | 
			
		||||
 | 
			
		||||
  WANT_MKTIME_INTERNAL=0
 | 
			
		||||
  dnl BeOS has __mktime_internal in libc, but other platforms don't.
 | 
			
		||||
  AC_CHECK_FUNC([__mktime_internal],
 | 
			
		||||
    [AC_DEFINE([mktime_internal], [__mktime_internal],
 | 
			
		||||
       [Define to the real name of the mktime_internal function.])
 | 
			
		||||
    ],
 | 
			
		||||
    [dnl mktime works but it doesn't export __mktime_internal,
 | 
			
		||||
     dnl so we need to substitute our own mktime implementation.
 | 
			
		||||
     WANT_MKTIME_INTERNAL=1
 | 
			
		||||
     AC_DEFINE([NEED_MKTIME_INTERNAL], [1],
 | 
			
		||||
       [Define if the compilation of mktime.c should define 'mktime_internal'.])
 | 
			
		||||
    ])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/mktime.c.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# mmap-anon.m4 serial 10
 | 
			
		||||
dnl Copyright (C) 2005, 2007, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# mmap-anon.m4 serial 12
 | 
			
		||||
dnl Copyright (C) 2005, 2007, 2009-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -9,11 +9,11 @@ dnl with or without modifications, as long as this notice is preserved.
 | 
			
		|||
# - On Linux, AIX, OSF/1, Solaris, Cygwin, Interix, Haiku, both MAP_ANONYMOUS
 | 
			
		||||
#   and MAP_ANON exist and have the same value.
 | 
			
		||||
# - On HP-UX, only MAP_ANONYMOUS exists.
 | 
			
		||||
# - On Mac OS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists.
 | 
			
		||||
# - On Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix, only MAP_ANON exists.
 | 
			
		||||
# - On IRIX, neither exists, and a file descriptor opened to /dev/zero must be
 | 
			
		||||
#   used.
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_FUNC_MMAP_ANON],
 | 
			
		||||
AC_DEFUN_ONCE([gl_FUNC_MMAP_ANON],
 | 
			
		||||
[
 | 
			
		||||
  dnl Persuade glibc <sys/mman.h> to define MAP_ANONYMOUS.
 | 
			
		||||
  AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										26
									
								
								gl/m4/mode_t.m4
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								gl/m4/mode_t.m4
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,26 @@
 | 
			
		|||
# mode_t.m4 serial 2
 | 
			
		||||
dnl Copyright (C) 2009-2023 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.
 | 
			
		||||
 | 
			
		||||
# For using mode_t, it's sufficient to use AC_TYPE_MODE_T and
 | 
			
		||||
# include <sys/types.h>.
 | 
			
		||||
 | 
			
		||||
# Define PROMOTED_MODE_T to the type that is the result of "default argument
 | 
			
		||||
# promotion" (ISO C 6.5.2.2.(6)) of the type mode_t.
 | 
			
		||||
AC_DEFUN([gl_PROMOTED_TYPE_MODE_T],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([AC_TYPE_MODE_T])
 | 
			
		||||
  AC_CACHE_CHECK([for promoted mode_t type], [gl_cv_promoted_mode_t], [
 | 
			
		||||
    dnl Assume mode_t promotes to 'int' if and only if it is smaller than 'int',
 | 
			
		||||
    dnl and to itself otherwise. This assumption is not guaranteed by the ISO C
 | 
			
		||||
    dnl standard, but we don't know of any real-world counterexamples.
 | 
			
		||||
    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>]],
 | 
			
		||||
      [[typedef int array[2 * (sizeof (mode_t) < sizeof (int)) - 1];]])],
 | 
			
		||||
      [gl_cv_promoted_mode_t='int'],
 | 
			
		||||
      [gl_cv_promoted_mode_t='mode_t'])
 | 
			
		||||
  ])
 | 
			
		||||
  AC_DEFINE_UNQUOTED([PROMOTED_MODE_T], [$gl_cv_promoted_mode_t],
 | 
			
		||||
    [Define to the type that is the result of default argument promotions of type mode_t.])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			@ -1,19 +1,338 @@
 | 
			
		|||
# serial 11
 | 
			
		||||
dnl Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
 | 
			
		||||
# serial 15
 | 
			
		||||
dnl Copyright (C) 2002-2006, 2009-2023 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.
 | 
			
		||||
 | 
			
		||||
dnl From Jim Meyering.
 | 
			
		||||
 | 
			
		||||
AC_PREREQ([2.60])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_MOUNTLIST],
 | 
			
		||||
[
 | 
			
		||||
  gl_LIST_MOUNTED_FILE_SYSTEMS([gl_cv_list_mounted_fs=yes],
 | 
			
		||||
                               [gl_cv_list_mounted_fs=no])
 | 
			
		||||
  AC_REQUIRE([AC_CANONICAL_HOST])
 | 
			
		||||
  AC_CHECK_FUNCS([listmntent])
 | 
			
		||||
  AC_CHECK_HEADERS_ONCE([sys/param.h sys/statvfs.h])
 | 
			
		||||
 | 
			
		||||
  # We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses
 | 
			
		||||
  # NGROUPS (as the array dimension for a struct member) without a definition.
 | 
			
		||||
  AC_CHECK_HEADERS([sys/ucred.h], [], [], [#include <grp.h>])
 | 
			
		||||
 | 
			
		||||
  AC_CHECK_HEADERS([sys/mount.h], [], [],
 | 
			
		||||
    [AC_INCLUDES_DEFAULT
 | 
			
		||||
     [#if HAVE_SYS_PARAM_H
 | 
			
		||||
       #include <sys/param.h>
 | 
			
		||||
      #endif
 | 
			
		||||
    ]])
 | 
			
		||||
 | 
			
		||||
  AC_CHECK_HEADERS([mntent.h sys/fs_types.h])
 | 
			
		||||
  getfsstat_includes="\
 | 
			
		||||
$ac_includes_default
 | 
			
		||||
#if HAVE_SYS_PARAM_H
 | 
			
		||||
# include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
 | 
			
		||||
#endif
 | 
			
		||||
#if HAVE_SYS_UCRED_H
 | 
			
		||||
# include <grp.h> /* needed for definition of NGROUPS */
 | 
			
		||||
# include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
 | 
			
		||||
#endif
 | 
			
		||||
#if HAVE_SYS_MOUNT_H
 | 
			
		||||
# include <sys/mount.h>
 | 
			
		||||
#endif
 | 
			
		||||
#if HAVE_SYS_FS_TYPES_H
 | 
			
		||||
# include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
 | 
			
		||||
#endif
 | 
			
		||||
"
 | 
			
		||||
  AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes])
 | 
			
		||||
 | 
			
		||||
  # Determine how to get the list of mounted file systems.
 | 
			
		||||
  ac_list_mounted_fs=
 | 
			
		||||
 | 
			
		||||
  # If the getmntent function is available but not in the standard library,
 | 
			
		||||
  # make sure LIBS contains the appropriate -l option.
 | 
			
		||||
  AC_FUNC_GETMNTENT
 | 
			
		||||
 | 
			
		||||
  if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
    # AIX.
 | 
			
		||||
    AC_CACHE_CHECK([for mntctl function and struct vmount],
 | 
			
		||||
      [fu_cv_sys_mounted_vmount],
 | 
			
		||||
      [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[#include <fshelp.h>]])],
 | 
			
		||||
         [fu_cv_sys_mounted_vmount=yes],
 | 
			
		||||
         [fu_cv_sys_mounted_vmount=no])])
 | 
			
		||||
    if test $fu_cv_sys_mounted_vmount = yes; then
 | 
			
		||||
      ac_list_mounted_fs=found
 | 
			
		||||
      AC_DEFINE([MOUNTED_VMOUNT], [1],
 | 
			
		||||
        [Define if there is a function named mntctl that can be used to read
 | 
			
		||||
         the list of mounted file systems, and there is a system header file
 | 
			
		||||
         that declares 'struct vmount'.  (AIX)])
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test $ac_cv_func_getmntent = yes; then
 | 
			
		||||
 | 
			
		||||
    # This system has the getmntent function.
 | 
			
		||||
    # Determine whether it's the one-argument variant or the two-argument one.
 | 
			
		||||
 | 
			
		||||
    if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
      # glibc, HP-UX, IRIX, Cygwin, Android, also (obsolete) 4.3BSD, SunOS.
 | 
			
		||||
      AC_CACHE_CHECK([for one-argument getmntent function],
 | 
			
		||||
        [fu_cv_sys_mounted_getmntent1],
 | 
			
		||||
        [AC_COMPILE_IFELSE(
 | 
			
		||||
           [AC_LANG_PROGRAM([[
 | 
			
		||||
/* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
#include <mntent.h>
 | 
			
		||||
#if defined __ANDROID__        /* Android */
 | 
			
		||||
# undef MOUNTED
 | 
			
		||||
# define MOUNTED "/proc/mounts"
 | 
			
		||||
#elif !defined MOUNTED
 | 
			
		||||
# if defined _PATH_MOUNTED     /* GNU libc  */
 | 
			
		||||
#  define MOUNTED _PATH_MOUNTED
 | 
			
		||||
# endif
 | 
			
		||||
# if defined MNT_MNTTAB        /* HP-UX.  */
 | 
			
		||||
#  define MOUNTED MNT_MNTTAB
 | 
			
		||||
# endif
 | 
			
		||||
#endif
 | 
			
		||||
]],
 | 
			
		||||
              [[struct mntent *mnt = 0; char *table = MOUNTED;
 | 
			
		||||
                if (sizeof mnt && sizeof table) return 0;
 | 
			
		||||
              ]])],
 | 
			
		||||
           [fu_cv_sys_mounted_getmntent1=yes],
 | 
			
		||||
           [fu_cv_sys_mounted_getmntent1=no])
 | 
			
		||||
        ])
 | 
			
		||||
      if test $fu_cv_sys_mounted_getmntent1 = yes; then
 | 
			
		||||
        ac_list_mounted_fs=found
 | 
			
		||||
        AC_DEFINE([MOUNTED_GETMNTENT1], [1],
 | 
			
		||||
          [Define if there is a function named getmntent for reading the list
 | 
			
		||||
           of mounted file systems, and that function takes a single argument.
 | 
			
		||||
           (4.3BSD, SunOS, HP-UX, Irix)])
 | 
			
		||||
        AC_CHECK_FUNCS([setmntent endmntent hasmntopt])
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
      # Solaris >= 8.
 | 
			
		||||
      AC_CACHE_CHECK([for getextmntent function],
 | 
			
		||||
        [fu_cv_sys_mounted_getextmntent],
 | 
			
		||||
        [AC_EGREP_HEADER([getextmntent], [sys/mnttab.h],
 | 
			
		||||
           [fu_cv_sys_mounted_getextmntent=yes],
 | 
			
		||||
           [fu_cv_sys_mounted_getextmntent=no])])
 | 
			
		||||
      if test $fu_cv_sys_mounted_getextmntent = yes; then
 | 
			
		||||
        ac_list_mounted_fs=found
 | 
			
		||||
        AC_DEFINE([MOUNTED_GETEXTMNTENT], [1],
 | 
			
		||||
          [Define if there is a function named getextmntent for reading the list
 | 
			
		||||
           of mounted file systems.  (Solaris)])
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
      # Solaris < 8, also (obsolete) SVR4.
 | 
			
		||||
      # Solaris >= 8 has the two-argument getmntent but is already handled above.
 | 
			
		||||
      AC_CACHE_CHECK([for two-argument getmntent function],
 | 
			
		||||
        [fu_cv_sys_mounted_getmntent2],
 | 
			
		||||
        [AC_EGREP_HEADER([getmntent], [sys/mnttab.h],
 | 
			
		||||
           [fu_cv_sys_mounted_getmntent2=yes],
 | 
			
		||||
           [fu_cv_sys_mounted_getmntent2=no])
 | 
			
		||||
        ])
 | 
			
		||||
      if test $fu_cv_sys_mounted_getmntent2 = yes; then
 | 
			
		||||
        ac_list_mounted_fs=found
 | 
			
		||||
        AC_DEFINE([MOUNTED_GETMNTENT2], [1],
 | 
			
		||||
          [Define if there is a function named getmntent for reading the list of
 | 
			
		||||
           mounted file systems, and that function takes two arguments.  (SVR4)])
 | 
			
		||||
        AC_CHECK_FUNCS([hasmntopt])
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
    # OSF/1, also (obsolete) Apple Darwin 1.3.
 | 
			
		||||
    # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h
 | 
			
		||||
 | 
			
		||||
    AC_CACHE_CHECK([for getfsstat function],
 | 
			
		||||
      [fu_cv_sys_mounted_getfsstat],
 | 
			
		||||
      [AC_LINK_IFELSE(
 | 
			
		||||
         [AC_LANG_PROGRAM([[
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
 | 
			
		||||
# define FS_TYPE(Ent) ((Ent).f_fstypename)
 | 
			
		||||
#else
 | 
			
		||||
# define FS_TYPE(Ent) mnt_names[(Ent).f_type]
 | 
			
		||||
#endif
 | 
			
		||||
$getfsstat_includes
 | 
			
		||||
            ]],
 | 
			
		||||
            [[struct statfs *stats;
 | 
			
		||||
              int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
 | 
			
		||||
              char *t = FS_TYPE (*stats);
 | 
			
		||||
            ]])],
 | 
			
		||||
         [fu_cv_sys_mounted_getfsstat=yes],
 | 
			
		||||
         [fu_cv_sys_mounted_getfsstat=no])
 | 
			
		||||
      ])
 | 
			
		||||
    if test $fu_cv_sys_mounted_getfsstat = yes; then
 | 
			
		||||
      ac_list_mounted_fs=found
 | 
			
		||||
      AC_DEFINE([MOUNTED_GETFSSTAT], [1],
 | 
			
		||||
        [Define if there is a function named getfsstat for reading the
 | 
			
		||||
         list of mounted file systems.  (DEC Alpha running OSF/1)])
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
    # (obsolete) SVR3
 | 
			
		||||
    AC_CACHE_CHECK([for FIXME existence of three headers],
 | 
			
		||||
      [fu_cv_sys_mounted_fread_fstyp],
 | 
			
		||||
      [AC_PREPROC_IFELSE([AC_LANG_SOURCE([[
 | 
			
		||||
#include <sys/statfs.h>
 | 
			
		||||
#include <sys/fstyp.h>
 | 
			
		||||
#include <mnttab.h>
 | 
			
		||||
]])],
 | 
			
		||||
         [fu_cv_sys_mounted_fread_fstyp=yes],
 | 
			
		||||
         [fu_cv_sys_mounted_fread_fstyp=no])
 | 
			
		||||
      ])
 | 
			
		||||
    if test $fu_cv_sys_mounted_fread_fstyp = yes; then
 | 
			
		||||
      ac_list_mounted_fs=found
 | 
			
		||||
      AC_DEFINE([MOUNTED_FREAD_FSTYP], [1],
 | 
			
		||||
        [Define if (like SVR2) there is no specific function for reading the
 | 
			
		||||
         list of mounted file systems, and your system has these header files:
 | 
			
		||||
         <sys/fstyp.h> and <sys/statfs.h>.  (SVR3)])
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
    # Mac OS X, FreeBSD, NetBSD, OpenBSD, Minix, also (obsolete) 4.4BSD.
 | 
			
		||||
    # OSF/1 also has getmntinfo but is already handled above.
 | 
			
		||||
    # We cannot use AC_CHECK_FUNCS([getmntinfo]) here, because at the linker
 | 
			
		||||
    # level the function is sometimes called getmntinfo64 or getmntinfo$INODE64
 | 
			
		||||
    # on Mac OS X, __getmntinfo13 on NetBSD and Minix, _F64_getmntinfo on OSF/1.
 | 
			
		||||
    AC_CACHE_CHECK([for getmntinfo function],
 | 
			
		||||
      [fu_cv_sys_mounted_getmntinfo],
 | 
			
		||||
      [AC_LINK_IFELSE(
 | 
			
		||||
         [AC_LANG_PROGRAM([[
 | 
			
		||||
#if HAVE_SYS_PARAM_H
 | 
			
		||||
# include <sys/param.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#if HAVE_SYS_MOUNT_H
 | 
			
		||||
# include <sys/mount.h>
 | 
			
		||||
#endif
 | 
			
		||||
#if HAVE_SYS_STATVFS_H
 | 
			
		||||
# include <sys/statvfs.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
            ]],
 | 
			
		||||
            [[int count = getmntinfo (NULL, MNT_WAIT);
 | 
			
		||||
            ]])],
 | 
			
		||||
         [fu_cv_sys_mounted_getmntinfo=yes],
 | 
			
		||||
         [fu_cv_sys_mounted_getmntinfo=no])
 | 
			
		||||
      ])
 | 
			
		||||
    if test $fu_cv_sys_mounted_getmntinfo = yes; then
 | 
			
		||||
      AC_CACHE_CHECK([whether getmntinfo returns statvfs structures],
 | 
			
		||||
        [fu_cv_sys_mounted_getmntinfo2],
 | 
			
		||||
        [AC_COMPILE_IFELSE(
 | 
			
		||||
           [AC_LANG_PROGRAM([[
 | 
			
		||||
#if HAVE_SYS_PARAM_H
 | 
			
		||||
# include <sys/param.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#if HAVE_SYS_MOUNT_H
 | 
			
		||||
# include <sys/mount.h>
 | 
			
		||||
#endif
 | 
			
		||||
#if HAVE_SYS_STATVFS_H
 | 
			
		||||
# include <sys/statvfs.h>
 | 
			
		||||
#endif
 | 
			
		||||
extern
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
"C"
 | 
			
		||||
#endif
 | 
			
		||||
int getmntinfo (struct statfs **, int);
 | 
			
		||||
              ]], [[]])],
 | 
			
		||||
           [fu_cv_sys_mounted_getmntinfo2=no],
 | 
			
		||||
           [fu_cv_sys_mounted_getmntinfo2=yes])
 | 
			
		||||
        ])
 | 
			
		||||
      if test $fu_cv_sys_mounted_getmntinfo2 = no; then
 | 
			
		||||
        # Mac OS X, FreeBSD, OpenBSD, also (obsolete) 4.4BSD.
 | 
			
		||||
        ac_list_mounted_fs=found
 | 
			
		||||
        AC_DEFINE([MOUNTED_GETMNTINFO], [1],
 | 
			
		||||
          [Define if there is a function named getmntinfo for reading the
 | 
			
		||||
           list of mounted file systems and it returns an array of
 | 
			
		||||
           'struct statfs'.  (4.4BSD, Darwin)])
 | 
			
		||||
      else
 | 
			
		||||
        # NetBSD, Minix.
 | 
			
		||||
        ac_list_mounted_fs=found
 | 
			
		||||
        AC_DEFINE([MOUNTED_GETMNTINFO2], [1],
 | 
			
		||||
          [Define if there is a function named getmntinfo for reading the
 | 
			
		||||
           list of mounted file systems and it returns an array of
 | 
			
		||||
           'struct statvfs'.  (NetBSD 3.0)])
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
    # Haiku, also (obsolete) BeOS.
 | 
			
		||||
    AC_CHECK_FUNCS([next_dev fs_stat_dev])
 | 
			
		||||
    AC_CHECK_HEADERS([fs_info.h])
 | 
			
		||||
    AC_CACHE_CHECK([for BEOS mounted file system support functions],
 | 
			
		||||
      [fu_cv_sys_mounted_fs_stat_dev],
 | 
			
		||||
      [if test $ac_cv_header_fs_info_h = yes \
 | 
			
		||||
          && test $ac_cv_func_next_dev = yes \
 | 
			
		||||
          && test $ac_cv_func_fs_stat_dev = yes; then
 | 
			
		||||
         fu_cv_sys_mounted_fs_stat_dev=yes
 | 
			
		||||
       else
 | 
			
		||||
         fu_cv_sys_mounted_fs_stat_dev=no
 | 
			
		||||
       fi
 | 
			
		||||
      ])
 | 
			
		||||
    if test $fu_cv_sys_mounted_fs_stat_dev = yes; then
 | 
			
		||||
      ac_list_mounted_fs=found
 | 
			
		||||
      AC_DEFINE([MOUNTED_FS_STAT_DEV], [1],
 | 
			
		||||
        [Define if there are functions named next_dev and fs_stat_dev for
 | 
			
		||||
         reading the list of mounted file systems.  (BeOS)])
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
    # Interix / BSD alike statvfs
 | 
			
		||||
    # the code is really interix specific, so make sure, we're on it.
 | 
			
		||||
    case "$host" in
 | 
			
		||||
      *-interix*)
 | 
			
		||||
        AC_CHECK_FUNCS([statvfs])
 | 
			
		||||
        if test $ac_cv_func_statvfs = yes; then
 | 
			
		||||
          ac_list_mounted_fs=found
 | 
			
		||||
          AC_DEFINE([MOUNTED_INTERIX_STATVFS], [1],
 | 
			
		||||
            [Define if we are on interix, and ought to use statvfs plus
 | 
			
		||||
             some special knowledge on where mounted file systems can be
 | 
			
		||||
             found. (Interix)])
 | 
			
		||||
        fi
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test -z "$ac_list_mounted_fs"; then
 | 
			
		||||
    AC_MSG_ERROR([could not determine how to read list of mounted file systems])
 | 
			
		||||
    # FIXME -- no need to abort building the whole package
 | 
			
		||||
    # Can't build mountlist.c or anything that needs its functions
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test $ac_list_mounted_fs = found; then
 | 
			
		||||
    gl_cv_list_mounted_fs=yes
 | 
			
		||||
  else
 | 
			
		||||
    gl_cv_list_mounted_fs=no
 | 
			
		||||
  fi
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Prerequisites of lib/mountlist.c not done by gl_LIST_MOUNTED_FILE_SYSTEMS.
 | 
			
		||||
# Prerequisites of lib/mountlist.c not done by gl_MOUNTLIST.
 | 
			
		||||
AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA],
 | 
			
		||||
[
 | 
			
		||||
  dnl Note gl_LIST_MOUNTED_FILE_SYSTEMS checks for mntent.h, not sys/mntent.h.
 | 
			
		||||
  dnl Note gl_MOUNTLIST checks for mntent.h, not sys/mntent.h.
 | 
			
		||||
  AC_CHECK_HEADERS([sys/mntent.h])
 | 
			
		||||
  AC_HEADER_MAJOR()dnl for use of makedev ()
 | 
			
		||||
  gl_FSTYPENAME
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Replace Autoconf's AC_FUNC_GETMNTENT to omit checks that are unnecessary
 | 
			
		||||
# nowadays.
 | 
			
		||||
AC_DEFUN([AC_FUNC_GETMNTENT],
 | 
			
		||||
[
 | 
			
		||||
  # getmntent is in the standard C library on most systems, but in -lgen on
 | 
			
		||||
  # Unixware.
 | 
			
		||||
  AC_SEARCH_LIBS([getmntent], [gen])
 | 
			
		||||
  AC_CHECK_FUNCS([getmntent])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# msvc-inval.m4 serial 1
 | 
			
		||||
dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
 | 
			
		||||
dnl Copyright (C) 2011-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# msvc-nothrow.m4 serial 1
 | 
			
		||||
dnl Copyright (C) 2011-2013 Free Software Foundation, Inc.
 | 
			
		||||
dnl Copyright (C) 2011-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# multiarch.m4 serial 7
 | 
			
		||||
dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
# multiarch.m4 serial 9
 | 
			
		||||
dnl Copyright (C) 2008-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -21,37 +21,40 @@ dnl with or without modifications, as long as this notice is preserved.
 | 
			
		|||
AC_DEFUN_ONCE([gl_MULTIARCH],
 | 
			
		||||
[
 | 
			
		||||
  dnl Code similar to autoconf-2.63 AC_C_BIGENDIAN.
 | 
			
		||||
  gl_cv_c_multiarch=no
 | 
			
		||||
  AC_COMPILE_IFELSE(
 | 
			
		||||
    [AC_LANG_SOURCE(
 | 
			
		||||
      [[#ifndef __APPLE_CC__
 | 
			
		||||
         not a universal capable compiler
 | 
			
		||||
        #endif
 | 
			
		||||
        typedef int dummy;
 | 
			
		||||
      ]])],
 | 
			
		||||
    [
 | 
			
		||||
     dnl Check for potential -arch flags.  It is not universal unless
 | 
			
		||||
     dnl there are at least two -arch flags with different values.
 | 
			
		||||
     arch=
 | 
			
		||||
     prev=
 | 
			
		||||
     for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
 | 
			
		||||
       if test -n "$prev"; then
 | 
			
		||||
         case $word in
 | 
			
		||||
           i?86 | x86_64 | ppc | ppc64)
 | 
			
		||||
             if test -z "$arch" || test "$arch" = "$word"; then
 | 
			
		||||
               arch="$word"
 | 
			
		||||
             else
 | 
			
		||||
               gl_cv_c_multiarch=yes
 | 
			
		||||
             fi
 | 
			
		||||
             ;;
 | 
			
		||||
         esac
 | 
			
		||||
         prev=
 | 
			
		||||
       else
 | 
			
		||||
         if test "x$word" = "x-arch"; then
 | 
			
		||||
           prev=arch
 | 
			
		||||
         fi
 | 
			
		||||
       fi
 | 
			
		||||
     done
 | 
			
		||||
  AC_CACHE_CHECK([whether the compiler produces multi-arch binaries],
 | 
			
		||||
    [gl_cv_c_multiarch],
 | 
			
		||||
    [gl_cv_c_multiarch=no
 | 
			
		||||
     AC_COMPILE_IFELSE(
 | 
			
		||||
       [AC_LANG_SOURCE(
 | 
			
		||||
         [[#ifndef __APPLE_CC__
 | 
			
		||||
            not a universal capable compiler
 | 
			
		||||
           #endif
 | 
			
		||||
           typedef int dummy;
 | 
			
		||||
         ]])],
 | 
			
		||||
       [
 | 
			
		||||
        dnl Check for potential -arch flags.  It is not universal unless
 | 
			
		||||
        dnl there are at least two -arch flags with different values.
 | 
			
		||||
        arch=
 | 
			
		||||
        prev=
 | 
			
		||||
        for word in ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS}; do
 | 
			
		||||
          if test -n "$prev"; then
 | 
			
		||||
            case $word in
 | 
			
		||||
              i?86 | x86_64 | ppc | ppc64 | arm | arm64)
 | 
			
		||||
                if test -z "$arch" || test "$arch" = "$word"; then
 | 
			
		||||
                  arch="$word"
 | 
			
		||||
                else
 | 
			
		||||
                  gl_cv_c_multiarch=yes
 | 
			
		||||
                fi
 | 
			
		||||
                ;;
 | 
			
		||||
            esac
 | 
			
		||||
            prev=
 | 
			
		||||
          else
 | 
			
		||||
            if test "x$word" = "x-arch"; then
 | 
			
		||||
              prev=arch
 | 
			
		||||
            fi
 | 
			
		||||
          fi
 | 
			
		||||
        done
 | 
			
		||||
       ])
 | 
			
		||||
    ])
 | 
			
		||||
  if test $gl_cv_c_multiarch = yes; then
 | 
			
		||||
    APPLE_UNIVERSAL_BUILD=1
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,10 +1,10 @@
 | 
			
		|||
# netdb_h.m4 serial 11
 | 
			
		||||
dnl Copyright (C) 2008-2013 Free Software Foundation, Inc.
 | 
			
		||||
# netdb_h.m4 serial 15
 | 
			
		||||
dnl Copyright (C) 2008-2023 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_HEADER_NETDB],
 | 
			
		||||
AC_DEFUN_ONCE([gl_NETDB_H],
 | 
			
		||||
[
 | 
			
		||||
  AC_REQUIRE([gl_NETDB_H_DEFAULTS])
 | 
			
		||||
  gl_CHECK_NEXT_HEADERS([netdb.h])
 | 
			
		||||
| 
						 | 
				
			
			@ -21,18 +21,33 @@ AC_DEFUN([gl_HEADER_NETDB],
 | 
			
		|||
    [getaddrinfo freeaddrinfo gai_strerror getnameinfo])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# gl_NETDB_MODULE_INDICATOR([modulename])
 | 
			
		||||
# sets the shell variable that indicates the presence of the given module
 | 
			
		||||
# to a C preprocessor expression that will evaluate to 1.
 | 
			
		||||
# This macro invocation must not occur in macros that are AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_NETDB_MODULE_INDICATOR],
 | 
			
		||||
[
 | 
			
		||||
  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
 | 
			
		||||
  AC_REQUIRE([gl_NETDB_H_DEFAULTS])
 | 
			
		||||
  dnl Ensure to expand the default settings once only.
 | 
			
		||||
  gl_NETDB_H_REQUIRE_DEFAULTS
 | 
			
		||||
  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
 | 
			
		||||
  dnl Define it also as a C macro, for the benefit of the unit tests.
 | 
			
		||||
  gl_MODULE_INDICATOR_FOR_TESTS([$1])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
# Initializes the default values for AC_SUBSTed shell variables.
 | 
			
		||||
# This macro must not be AC_REQUIREd.  It must only be invoked, and only
 | 
			
		||||
# outside of macros or in macros that are not AC_REQUIREd.
 | 
			
		||||
AC_DEFUN([gl_NETDB_H_REQUIRE_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  m4_defun(GL_MODULE_INDICATOR_PREFIX[_NETDB_H_MODULE_INDICATOR_DEFAULTS], [
 | 
			
		||||
    gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETADDRINFO])
 | 
			
		||||
  ])
 | 
			
		||||
  m4_require(GL_MODULE_INDICATOR_PREFIX[_NETDB_H_MODULE_INDICATOR_DEFAULTS])
 | 
			
		||||
  AC_REQUIRE([gl_NETDB_H_DEFAULTS])
 | 
			
		||||
])
 | 
			
		||||
 | 
			
		||||
AC_DEFUN([gl_NETDB_H_DEFAULTS],
 | 
			
		||||
[
 | 
			
		||||
  GNULIB_GETADDRINFO=0; AC_SUBST([GNULIB_GETADDRINFO])
 | 
			
		||||
  dnl Assume proper GNU behavior unless another module says otherwise.
 | 
			
		||||
  HAVE_STRUCT_ADDRINFO=1;   AC_SUBST([HAVE_STRUCT_ADDRINFO])
 | 
			
		||||
  HAVE_DECL_FREEADDRINFO=1; AC_SUBST([HAVE_DECL_FREEADDRINFO])
 | 
			
		||||
| 
						 | 
				
			
			@ -40,4 +55,5 @@ AC_DEFUN([gl_NETDB_H_DEFAULTS],
 | 
			
		|||
  HAVE_DECL_GETADDRINFO=1;  AC_SUBST([HAVE_DECL_GETADDRINFO])
 | 
			
		||||
  HAVE_DECL_GETNAMEINFO=1;  AC_SUBST([HAVE_DECL_GETNAMEINFO])
 | 
			
		||||
  REPLACE_GAI_STRERROR=0;   AC_SUBST([REPLACE_GAI_STRERROR])
 | 
			
		||||
  REPLACE_GETADDRINFO=0;    AC_SUBST([REPLACE_GETADDRINFO])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
# netinet_in_h.m4 serial 5
 | 
			
		||||
dnl Copyright (C) 2006-2013 Free Software Foundation, Inc.
 | 
			
		||||
# netinet_in_h.m4 serial 6
 | 
			
		||||
dnl Copyright (C) 2006-2023 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.
 | 
			
		||||
| 
						 | 
				
			
			@ -14,9 +14,9 @@ AC_DEFUN([gl_HEADER_NETINET_IN],
 | 
			
		|||
        [gl_cv_header_netinet_in_h_selfcontained=no])
 | 
			
		||||
    ])
 | 
			
		||||
  if test $gl_cv_header_netinet_in_h_selfcontained = yes; then
 | 
			
		||||
    NETINET_IN_H=''
 | 
			
		||||
    GL_GENERATE_NETINET_IN_H=false
 | 
			
		||||
  else
 | 
			
		||||
    NETINET_IN_H='netinet/in.h'
 | 
			
		||||
    GL_GENERATE_NETINET_IN_H=true
 | 
			
		||||
    AC_CHECK_HEADERS([netinet/in.h])
 | 
			
		||||
    gl_CHECK_NEXT_HEADERS([netinet/in.h])
 | 
			
		||||
    if test $ac_cv_header_netinet_in_h = yes; then
 | 
			
		||||
| 
						 | 
				
			
			@ -26,6 +26,4 @@ AC_DEFUN([gl_HEADER_NETINET_IN],
 | 
			
		|||
    fi
 | 
			
		||||
    AC_SUBST([HAVE_NETINET_IN_H])
 | 
			
		||||
  fi
 | 
			
		||||
  AC_SUBST([NETINET_IN_H])
 | 
			
		||||
  AM_CONDITIONAL([GL_GENERATE_NETINET_IN_H], [test -n "$NETINET_IN_H"])
 | 
			
		||||
])
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
Some files were not shown because too many files have changed in this diff Show more
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue