Import new gnulib.
This commit is contained in:
parent
93cd84df63
commit
053cfcddf1
255 changed files with 12578 additions and 4948 deletions
|
@ -1,5 +1,5 @@
|
|||
# 00gnulib.m4 serial 2
|
||||
dnl Copyright (C) 2009-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 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.
|
||||
|
|
86
m4/alloca.m4
86
m4/alloca.m4
|
@ -1,5 +1,5 @@
|
|||
# alloca.m4 serial 9
|
||||
dnl Copyright (C) 2002-2004, 2006-2007, 2009-2010 Free Software Foundation,
|
||||
# alloca.m4 serial 14
|
||||
dnl Copyright (C) 2002-2004, 2006-2007, 2009-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,
|
||||
|
@ -7,10 +7,6 @@ dnl with or without modifications, as long as this notice is preserved.
|
|||
|
||||
AC_DEFUN([gl_FUNC_ALLOCA],
|
||||
[
|
||||
dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
|
||||
AC_REQUIRE([AC_PROG_CPP])
|
||||
AC_REQUIRE([AC_PROG_EGREP])
|
||||
|
||||
AC_REQUIRE([AC_FUNC_ALLOCA])
|
||||
if test $ac_cv_func_alloca_works = no; then
|
||||
gl_PREREQ_ALLOCA
|
||||
|
@ -40,8 +36,86 @@ AC_DEFUN([gl_FUNC_ALLOCA],
|
|||
ALLOCA_H=alloca.h
|
||||
fi
|
||||
AC_SUBST([ALLOCA_H])
|
||||
AM_CONDITIONAL([GL_GENERATE_ALLOCA_H], [test -n "$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.69], [] ,[
|
||||
|
||||
# This is taken from the following Autoconf patch:
|
||||
# http://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=6cd9f12520b0d6f76d3230d7565feba1ecf29497
|
||||
|
||||
# _AC_LIBOBJ_ALLOCA
|
||||
# -----------------
|
||||
# Set up the LIBOBJ replacement of 'alloca'. Well, not exactly
|
||||
# AC_LIBOBJ since we actually set the output variable 'ALLOCA'.
|
||||
# Nevertheless, for Automake, AC_LIBSOURCES it.
|
||||
m4_define([_AC_LIBOBJ_ALLOCA],
|
||||
[# The SVR3 libPW and SVR4 libucb both contain incompatible functions
|
||||
# that cause trouble. Some versions do not even contain alloca or
|
||||
# contain a buggy version. If you still want to use their alloca,
|
||||
# use ar to extract alloca.o from them instead of compiling alloca.c.
|
||||
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(
|
||||
[AC_INCLUDES_DEFAULT
|
||||
int
|
||||
find_stack_direction (int *addr, int depth)
|
||||
{
|
||||
int dir, dummy = 0;
|
||||
if (! addr)
|
||||
addr = &dummy;
|
||||
*addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
|
||||
dir = depth ? find_stack_direction (addr, depth - 1) : 0;
|
||||
return dir + dummy;
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
return find_stack_direction (0, argc + !argv + 20) < 0;
|
||||
}])],
|
||||
[ac_cv_c_stack_direction=1],
|
||||
[ac_cv_c_stack_direction=-1],
|
||||
[ac_cv_c_stack_direction=0])])
|
||||
AH_VERBATIM([STACK_DIRECTION],
|
||||
[/* If using the C implementation of alloca, define if you know the
|
||||
direction of stack growth for your system; otherwise it will be
|
||||
automatically deduced at runtime.
|
||||
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
|
||||
AC_DEFINE_UNQUOTED(STACK_DIRECTION, $ac_cv_c_stack_direction)
|
||||
])# _AC_LIBOBJ_ALLOCA
|
||||
])
|
||||
|
|
32
m4/argp.m4
32
m4/argp.m4
|
@ -1,5 +1,5 @@
|
|||
# argp.m4 serial 11
|
||||
dnl Copyright (C) 2003-2010 Free Software Foundation, Inc.
|
||||
# argp.m4 serial 14
|
||||
dnl Copyright (C) 2003-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.
|
||||
|
@ -9,23 +9,15 @@ AC_DEFUN([gl_ARGP],
|
|||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_REQUIRE([AC_C_RESTRICT])
|
||||
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
|
||||
dnl argp-parse.c depends on GNU getopt internals, therefore use GNU getopt
|
||||
dnl always.
|
||||
gl_REPLACE_GETOPT
|
||||
dnl Note: gl_REPLACE_GETOPT does AC_LIBOBJ([getopt]), AC_LIBOBJ([getopt1]).
|
||||
|
||||
AC_CHECK_DECL([program_invocation_name],
|
||||
[AC_DEFINE([HAVE_DECL_PROGRAM_INVOCATION_NAME], [1],
|
||||
[Define if program_invocation_name is declared])],
|
||||
[AC_DEFINE([GNULIB_PROGRAM_INVOCATION_NAME], [1],
|
||||
[Define to 1 to add extern declaration of program_invocation_name to argp.h])],
|
||||
[#include <errno.h>])
|
||||
AC_CHECK_DECL([program_invocation_short_name],
|
||||
[AC_DEFINE([HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME], [1],
|
||||
[Define if program_invocation_short_name is declared])],
|
||||
[AC_DEFINE([GNULIB_PROGRAM_INVOCATION_SHORT_NAME], [1],
|
||||
[Define to 1 to add extern declaration of program_invocation_short_name to argp.h])],
|
||||
[#include <errno.h>])
|
||||
AC_CHECK_DECLS([program_invocation_name], [],
|
||||
[AC_DEFINE([GNULIB_PROGRAM_INVOCATION_NAME], [1],
|
||||
[Define to 1 to add extern declaration of program_invocation_name to argp.h])],
|
||||
[[#include <errno.h>]])
|
||||
AC_CHECK_DECLS([program_invocation_short_name], [],
|
||||
[AC_DEFINE([GNULIB_PROGRAM_INVOCATION_SHORT_NAME], [1],
|
||||
[Define to 1 to add extern declaration of program_invocation_short_name to argp.h])],
|
||||
[[#include <errno.h>]])
|
||||
|
||||
# Check if program_invocation_name and program_invocation_short_name
|
||||
# are defined elsewhere. It is improbable that only one of them will
|
||||
|
@ -63,3 +55,7 @@ AC_DEFUN([gl_ARGP],
|
|||
AC_CHECK_FUNCS_ONCE([flockfile funlockfile])
|
||||
AC_CHECK_HEADERS_ONCE([features.h linewrap.h])
|
||||
])
|
||||
|
||||
dnl argp-parse.c depends on GNU getopt internals, therefore use GNU getopt
|
||||
dnl always.
|
||||
AC_DEFUN([gl_REPLACE_GETOPT_ALWAYS], [])
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
# asm-underscore.m4 serial 1
|
||||
dnl Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible. Based on as-underscore.m4 in GNU clisp.
|
||||
|
||||
# gl_ASM_SYMBOL_PREFIX
|
||||
# Tests for the prefix of C symbols at the assembly language level and the
|
||||
# linker level. This prefix is either an underscore or empty. Defines the
|
||||
# C macro USER_LABEL_PREFIX to this prefix, and sets ASM_SYMBOL_PREFIX to
|
||||
# a stringified variant of this prefix.
|
||||
|
||||
AC_DEFUN([gl_ASM_SYMBOL_PREFIX],
|
||||
[
|
||||
dnl We don't use GCC's __USER_LABEL_PREFIX__ here, because
|
||||
dnl 1. It works only for GCC.
|
||||
dnl 2. It is incorrectly defined on some platforms, in some GCC versions.
|
||||
AC_CACHE_CHECK(
|
||||
[whether C symbols are prefixed with underscore at the linker level],
|
||||
[gl_cv_prog_as_underscore],
|
||||
[cat > conftest.c <<EOF
|
||||
#ifdef __cplusplus
|
||||
extern "C" int foo (void);
|
||||
#endif
|
||||
int foo(void) { return 0; }
|
||||
EOF
|
||||
# Look for the assembly language name in the .s file.
|
||||
AC_TRY_COMMAND(${CC-cc} $CFLAGS $CPPFLAGS -S conftest.c) >/dev/null 2>&1
|
||||
if grep _foo conftest.s >/dev/null ; then
|
||||
gl_cv_prog_as_underscore=yes
|
||||
else
|
||||
gl_cv_prog_as_underscore=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
])
|
||||
if test $gl_cv_prog_as_underscore = yes; then
|
||||
USER_LABEL_PREFIX=_
|
||||
else
|
||||
USER_LABEL_PREFIX=
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([USER_LABEL_PREFIX], [$USER_LABEL_PREFIX],
|
||||
[Define to the prefix of C symbols at the assembler and linker level,
|
||||
either an underscore or empty.])
|
||||
ASM_SYMBOL_PREFIX='"'${USER_LABEL_PREFIX}'"'
|
||||
AC_SUBST([ASM_SYMBOL_PREFIX])
|
||||
])
|
25
m4/btowc.m4
25
m4/btowc.m4
|
@ -1,5 +1,5 @@
|
|||
# btowc.m4 serial 7
|
||||
dnl Copyright (C) 2008-2010 Free Software Foundation, Inc.
|
||||
# btowc.m4 serial 10
|
||||
dnl Copyright (C) 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.
|
||||
|
@ -28,8 +28,14 @@ AC_DEFUN([gl_FUNC_BTOWC],
|
|||
[
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <stdio.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 ()
|
||||
{
|
||||
|
@ -69,8 +75,14 @@ changequote([,])dnl
|
|||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <locale.h>
|
||||
#include <stdio.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 ()
|
||||
{
|
||||
|
@ -96,11 +108,6 @@ int main ()
|
|||
*) REPLACE_BTOWC=1 ;;
|
||||
esac
|
||||
fi
|
||||
if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
|
||||
gl_REPLACE_WCHAR_H
|
||||
AC_LIBOBJ([btowc])
|
||||
gl_PREREQ_BTOWC
|
||||
fi
|
||||
])
|
||||
|
||||
# Prerequisites of lib/btowc.c.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# codeset.m4 serial 5 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2000-2002, 2006, 2008-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2000-2002, 2006, 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.
|
||||
|
|
50
m4/configmake.m4
Normal file
50
m4/configmake.m4
Normal file
|
@ -0,0 +1,50 @@
|
|||
# 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,5 +1,5 @@
|
|||
#serial 8 -*- autoconf -*-
|
||||
dnl Copyright (C) 2002-2006, 2009-2010 Free Software Foundation, Inc.
|
||||
#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.
|
||||
|
@ -7,18 +7,11 @@ dnl with or without modifications, as long as this notice is preserved.
|
|||
AC_DEFUN([gl_DIRNAME],
|
||||
[
|
||||
AC_REQUIRE([gl_DIRNAME_LGPL])
|
||||
AC_LIBOBJ([basename])
|
||||
AC_LIBOBJ([dirname])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_DIRNAME_LGPL],
|
||||
[
|
||||
AC_LIBOBJ([basename-lgpl])
|
||||
AC_LIBOBJ([dirname-lgpl])
|
||||
AC_LIBOBJ([stripslash])
|
||||
|
||||
dnl Prerequisites of lib/dirname.h.
|
||||
AC_REQUIRE([gl_AC_DOS])
|
||||
AC_REQUIRE([gl_DOUBLE_SLASH_ROOT])
|
||||
|
||||
dnl No prerequisites of lib/basename-lgpl.c, lib/dirname-lgpl.c,
|
||||
|
|
71
m4/dos.m4
71
m4/dos.m4
|
@ -1,71 +0,0 @@
|
|||
#serial 11 -*- autoconf -*-
|
||||
|
||||
# Define some macros required for proper operation of code in lib/*.c
|
||||
# on MSDOS/Windows systems.
|
||||
|
||||
# Copyright (C) 2000-2001, 2004-2006, 2009-2010 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.
|
||||
|
||||
# From Jim Meyering.
|
||||
|
||||
AC_DEFUN([gl_AC_DOS],
|
||||
[
|
||||
AC_CACHE_CHECK([whether system is Windows or MSDOS], [ac_cv_win_or_dos],
|
||||
[
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
|
||||
#if !defined _WIN32 && !defined __WIN32__ && !defined __MSDOS__ && !defined __CYGWIN__
|
||||
neither MSDOS nor Windows
|
||||
#endif]])],
|
||||
[ac_cv_win_or_dos=yes],
|
||||
[ac_cv_win_or_dos=no])
|
||||
])
|
||||
|
||||
if test x"$ac_cv_win_or_dos" = xyes; then
|
||||
ac_fs_accepts_drive_letter_prefix=1
|
||||
ac_fs_backslash_is_file_name_separator=1
|
||||
AC_CACHE_CHECK([whether drive letter can start relative path],
|
||||
[ac_cv_drive_letter_can_be_relative],
|
||||
[
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
|
||||
#if defined __CYGWIN__
|
||||
drive letters are always absolute
|
||||
#endif]])],
|
||||
[ac_cv_drive_letter_can_be_relative=yes],
|
||||
[ac_cv_drive_letter_can_be_relative=no])
|
||||
])
|
||||
if test x"$ac_cv_drive_letter_can_be_relative" = xyes; then
|
||||
ac_fs_drive_letter_can_be_relative=1
|
||||
else
|
||||
ac_fs_drive_letter_can_be_relative=0
|
||||
fi
|
||||
else
|
||||
ac_fs_accepts_drive_letter_prefix=0
|
||||
ac_fs_backslash_is_file_name_separator=0
|
||||
ac_fs_drive_letter_can_be_relative=0
|
||||
fi
|
||||
|
||||
AC_DEFINE_UNQUOTED([FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX],
|
||||
$ac_fs_accepts_drive_letter_prefix,
|
||||
[Define on systems for which file names may have a so-called
|
||||
`drive letter' prefix, define this to compute the length of that
|
||||
prefix, including the colon.])
|
||||
|
||||
AH_VERBATIM(ISSLASH,
|
||||
[#if FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR
|
||||
# define ISSLASH(C) ((C) == '/' || (C) == '\\')
|
||||
#else
|
||||
# define ISSLASH(C) ((C) == '/')
|
||||
#endif])
|
||||
|
||||
AC_DEFINE_UNQUOTED([FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR],
|
||||
$ac_fs_backslash_is_file_name_separator,
|
||||
[Define if the backslash character may also serve as a file name
|
||||
component separator.])
|
||||
|
||||
AC_DEFINE_UNQUOTED([FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE],
|
||||
$ac_fs_drive_letter_can_be_relative,
|
||||
[Define if a drive letter prefix denotes a relative path if it is
|
||||
not followed by a file name component separator.])
|
||||
])
|
|
@ -1,5 +1,5 @@
|
|||
# double-slash-root.m4 serial 4 -*- Autoconf -*-
|
||||
dnl Copyright (C) 2006, 2008-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2006, 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.
|
||||
|
|
31
m4/eealloc.m4
Normal file
31
m4/eealloc.m4
Normal file
|
@ -0,0 +1,31 @@
|
|||
# eealloc.m4 serial 3
|
||||
dnl Copyright (C) 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.
|
||||
|
||||
AC_DEFUN([gl_EEALLOC],
|
||||
[
|
||||
AC_REQUIRE([gl_EEMALLOC])
|
||||
AC_REQUIRE([gl_EEREALLOC])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_EEMALLOC],
|
||||
[
|
||||
_AC_FUNC_MALLOC_IF(
|
||||
[gl_cv_func_malloc_0_nonnull=1],
|
||||
[gl_cv_func_malloc_0_nonnull=0])
|
||||
AC_DEFINE_UNQUOTED([MALLOC_0_IS_NONNULL], [$gl_cv_func_malloc_0_nonnull],
|
||||
[If malloc(0) is != NULL, define this to 1. Otherwise define this
|
||||
to 0.])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_EEREALLOC],
|
||||
[
|
||||
_AC_FUNC_REALLOC_IF(
|
||||
[gl_cv_func_realloc_0_nonnull=1],
|
||||
[gl_cv_func_realloc_0_nonnull=0])
|
||||
AC_DEFINE_UNQUOTED([REALLOC_0_IS_NONNULL], [$gl_cv_func_realloc_0_nonnull],
|
||||
[If realloc(NULL,0) is != NULL, define this to 1. Otherwise define this
|
||||
to 0.])
|
||||
])
|
|
@ -1,5 +1,5 @@
|
|||
# errno_h.m4 serial 6
|
||||
dnl Copyright (C) 2004, 2006, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
# errno_h.m4 serial 12
|
||||
dnl Copyright (C) 2004, 2006, 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.
|
||||
|
@ -10,6 +10,9 @@ AC_DEFUN_ONCE([gl_HEADER_ERRNO_H],
|
|||
AC_CACHE_CHECK([for complete errno.h], [gl_cv_header_errno_h_complete], [
|
||||
AC_EGREP_CPP([booboo],[
|
||||
#include <errno.h>
|
||||
#if !defined ETXTBSY
|
||||
booboo
|
||||
#endif
|
||||
#if !defined ENOMSG
|
||||
booboo
|
||||
#endif
|
||||
|
@ -34,11 +37,29 @@ booboo
|
|||
#if !defined ENOTSUP
|
||||
booboo
|
||||
#endif
|
||||
#if !defined ENETRESET
|
||||
booboo
|
||||
#endif
|
||||
#if !defined ECONNABORTED
|
||||
booboo
|
||||
#endif
|
||||
#if !defined ESTALE
|
||||
booboo
|
||||
#endif
|
||||
#if !defined EDQUOT
|
||||
booboo
|
||||
#endif
|
||||
#if !defined ECANCELED
|
||||
booboo
|
||||
#endif
|
||||
#if !defined EOWNERDEAD
|
||||
booboo
|
||||
#endif
|
||||
#if !defined ENOTRECOVERABLE
|
||||
booboo
|
||||
#endif
|
||||
#if !defined EILSEQ
|
||||
booboo
|
||||
#endif
|
||||
],
|
||||
[gl_cv_header_errno_h_complete=no],
|
||||
|
@ -47,10 +68,11 @@ booboo
|
|||
if test $gl_cv_header_errno_h_complete = yes; then
|
||||
ERRNO_H=''
|
||||
else
|
||||
gl_CHECK_NEXT_HEADERS([errno.h])
|
||||
gl_NEXT_HEADERS([errno.h])
|
||||
ERRNO_H='errno.h'
|
||||
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])
|
||||
|
|
20
m4/error.m4
20
m4/error.m4
|
@ -1,6 +1,6 @@
|
|||
#serial 13
|
||||
#serial 14
|
||||
|
||||
# Copyright (C) 1996-1998, 2001-2004, 2009-2010 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-1998, 2001-2004, 2009-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -8,16 +8,8 @@
|
|||
|
||||
AC_DEFUN([gl_ERROR],
|
||||
[
|
||||
AC_FUNC_ERROR_AT_LINE
|
||||
dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]).
|
||||
gl_PREREQ_ERROR
|
||||
])
|
||||
|
||||
# Redefine AC_FUNC_ERROR_AT_LINE, because it is no longer maintained in
|
||||
# Autoconf.
|
||||
AC_DEFUN([AC_FUNC_ERROR_AT_LINE],
|
||||
[
|
||||
AC_LIBSOURCES([error.h, error.c])dnl
|
||||
dnl We don't use AC_FUNC_ERROR_AT_LINE any more, because it is no longer
|
||||
dnl maintained in Autoconf and because it invokes AC_LIBOBJ.
|
||||
AC_CACHE_CHECK([for error_at_line], [ac_cv_lib_error_at_line],
|
||||
[AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
|
@ -25,15 +17,11 @@ AC_DEFUN([AC_FUNC_ERROR_AT_LINE],
|
|||
[[error_at_line (0, 0, "", 0, "an error occurred");]])],
|
||||
[ac_cv_lib_error_at_line=yes],
|
||||
[ac_cv_lib_error_at_line=no])])
|
||||
if test $ac_cv_lib_error_at_line = no; then
|
||||
AC_LIBOBJ([error])
|
||||
fi
|
||||
])
|
||||
|
||||
# Prerequisites of lib/error.c.
|
||||
AC_DEFUN([gl_PREREQ_ERROR],
|
||||
[
|
||||
AC_REQUIRE([AC_FUNC_STRERROR_R])
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
:
|
||||
])
|
||||
|
|
116
m4/exponentd.m4
Normal file
116
m4/exponentd.m4
Normal file
|
@ -0,0 +1,116 @@
|
|||
# exponentd.m4 serial 3
|
||||
dnl Copyright (C) 2007-2008, 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.
|
||||
AC_DEFUN([gl_DOUBLE_EXPONENT_LOCATION],
|
||||
[
|
||||
AC_CACHE_CHECK([where to find the exponent in a 'double'],
|
||||
[gl_cv_cc_double_expbit0],
|
||||
[
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <float.h>
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#define NWORDS \
|
||||
((sizeof (double) + sizeof (unsigned int) - 1) / sizeof (unsigned int))
|
||||
typedef union { double value; unsigned int word[NWORDS]; } memory_double;
|
||||
static unsigned int ored_words[NWORDS];
|
||||
static unsigned int anded_words[NWORDS];
|
||||
static void add_to_ored_words (double x)
|
||||
{
|
||||
memory_double m;
|
||||
size_t i;
|
||||
/* Clear it first, in case sizeof (double) < sizeof (memory_double). */
|
||||
memset (&m, 0, sizeof (memory_double));
|
||||
m.value = x;
|
||||
for (i = 0; i < NWORDS; i++)
|
||||
{
|
||||
ored_words[i] |= m.word[i];
|
||||
anded_words[i] &= m.word[i];
|
||||
}
|
||||
}
|
||||
int main ()
|
||||
{
|
||||
size_t j;
|
||||
FILE *fp = fopen ("conftest.out", "w");
|
||||
if (fp == NULL)
|
||||
return 1;
|
||||
for (j = 0; j < NWORDS; j++)
|
||||
anded_words[j] = ~ (unsigned int) 0;
|
||||
add_to_ored_words (0.25);
|
||||
add_to_ored_words (0.5);
|
||||
add_to_ored_words (1.0);
|
||||
add_to_ored_words (2.0);
|
||||
add_to_ored_words (4.0);
|
||||
/* Remove bits that are common (e.g. if representation of the first mantissa
|
||||
bit is explicit). */
|
||||
for (j = 0; j < NWORDS; j++)
|
||||
ored_words[j] &= ~anded_words[j];
|
||||
/* Now find the nonzero word. */
|
||||
for (j = 0; j < NWORDS; j++)
|
||||
if (ored_words[j] != 0)
|
||||
break;
|
||||
if (j < NWORDS)
|
||||
{
|
||||
size_t i;
|
||||
for (i = j + 1; i < NWORDS; i++)
|
||||
if (ored_words[i] != 0)
|
||||
{
|
||||
fprintf (fp, "unknown");
|
||||
return (fclose (fp) != 0);
|
||||
}
|
||||
for (i = 0; ; i++)
|
||||
if ((ored_words[j] >> i) & 1)
|
||||
{
|
||||
fprintf (fp, "word %d bit %d", (int) j, (int) i);
|
||||
return (fclose (fp) != 0);
|
||||
}
|
||||
}
|
||||
fprintf (fp, "unknown");
|
||||
return (fclose (fp) != 0);
|
||||
}
|
||||
]])],
|
||||
[gl_cv_cc_double_expbit0=`cat conftest.out`],
|
||||
[gl_cv_cc_double_expbit0="unknown"],
|
||||
[
|
||||
dnl On ARM, there are two 'double' floating-point formats, used by
|
||||
dnl different sets of instructions: The older FPA instructions assume
|
||||
dnl that they are stored in big-endian word order, while the words
|
||||
dnl (like integer types) are stored in little-endian byte order.
|
||||
dnl The newer VFP instructions assume little-endian order
|
||||
dnl consistently.
|
||||
AC_EGREP_CPP([mixed_endianness], [
|
||||
#if defined arm || defined __arm || defined __arm__
|
||||
mixed_endianness
|
||||
#endif
|
||||
],
|
||||
[gl_cv_cc_double_expbit0="unknown"],
|
||||
[
|
||||
pushdef([AC_MSG_CHECKING],[:])dnl
|
||||
pushdef([AC_MSG_RESULT],[:])dnl
|
||||
pushdef([AC_MSG_RESULT_UNQUOTED],[:])dnl
|
||||
AC_C_BIGENDIAN(
|
||||
[gl_cv_cc_double_expbit0="word 0 bit 20"],
|
||||
[gl_cv_cc_double_expbit0="word 1 bit 20"],
|
||||
[gl_cv_cc_double_expbit0="unknown"])
|
||||
popdef([AC_MSG_RESULT_UNQUOTED])dnl
|
||||
popdef([AC_MSG_RESULT])dnl
|
||||
popdef([AC_MSG_CHECKING])dnl
|
||||
])
|
||||
])
|
||||
rm -f conftest.out
|
||||
])
|
||||
case "$gl_cv_cc_double_expbit0" in
|
||||
word*bit*)
|
||||
word=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word //' -e 's/ bit.*//'`
|
||||
bit=`echo "$gl_cv_cc_double_expbit0" | sed -e 's/word.*bit //'`
|
||||
AC_DEFINE_UNQUOTED([DBL_EXPBIT0_WORD], [$word],
|
||||
[Define as the word index where to find the exponent of 'double'.])
|
||||
AC_DEFINE_UNQUOTED([DBL_EXPBIT0_BIT], [$bit],
|
||||
[Define as the bit index in the word where to find bit 0 of the exponent of 'double'.])
|
||||
;;
|
||||
esac
|
||||
])
|
|
@ -1,14 +1,14 @@
|
|||
# serial 9 -*- Autoconf -*-
|
||||
# serial 13 -*- Autoconf -*-
|
||||
# Enable extensions on systems that normally disable them.
|
||||
|
||||
# Copyright (C) 2003, 2006-2010 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003, 2006-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.
|
||||
|
||||
# This definition of AC_USE_SYSTEM_EXTENSIONS is stolen from CVS
|
||||
# Autoconf. Perhaps we can remove this once we can assume Autoconf
|
||||
# 2.62 or later everywhere, but since CVS Autoconf mutates rapidly
|
||||
# 2.70 or later 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.
|
||||
|
||||
|
@ -30,6 +30,7 @@
|
|||
# ------------------------
|
||||
# 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
|
||||
|
@ -38,35 +39,31 @@ AC_DEFUN_ONCE([AC_USE_SYSTEM_EXTENSIONS],
|
|||
[AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl
|
||||
AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
|
||||
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
|
||||
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
|
||||
[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
|
||||
|
||||
dnl HP-UX 11.11 defines mbstate_t only if _XOPEN_SOURCE is defined to 500,
|
||||
dnl regardless of whether the flags -Ae or _D_HPUX_SOURCE=1 are already
|
||||
dnl provided.
|
||||
case "$host_os" in
|
||||
hpux*)
|
||||
AC_DEFINE([_XOPEN_SOURCE], [500],
|
||||
[Define to 500 only on HP-UX.])
|
||||
;;
|
||||
esac
|
||||
|
||||
AH_VERBATIM([__EXTENSIONS__],
|
||||
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],
|
||||
[/* Enable extensions on AIX 3, Interix. */
|
||||
#ifndef _ALL_SOURCE
|
||||
# undef _ALL_SOURCE
|
||||
#endif
|
||||
/* Enable general extensions on OS X. */
|
||||
#ifndef _DARWIN_C_SOURCE
|
||||
# undef _DARWIN_C_SOURCE
|
||||
#endif
|
||||
/* Enable GNU extensions on systems that have them. */
|
||||
#ifndef _GNU_SOURCE
|
||||
# undef _GNU_SOURCE
|
||||
|
@ -79,6 +76,12 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
|
|||
#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__
|
||||
|
@ -95,9 +98,26 @@ AC_BEFORE([$0], [AC_RUN_IFELSE])dnl
|
|||
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])
|
||||
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([[
|
||||
#include <wchar.h>
|
||||
mbstate_t x;]])],
|
||||
[],
|
||||
[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])
|
||||
])# AC_USE_SYSTEM_EXTENSIONS
|
||||
|
||||
# gl_USE_SYSTEM_EXTENSIONS
|
||||
|
|
65
m4/extern-inline.m4
Normal file
65
m4/extern-inline.m4
Normal file
|
@ -0,0 +1,65 @@
|
|||
dnl 'extern inline' a la ISO C99.
|
||||
|
||||
dnl Copyright 2012-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_EXTERN_INLINE],
|
||||
[
|
||||
AH_VERBATIM([extern_inline],
|
||||
[/* _GL_INLINE is a portable alternative to ISO C99 plain 'inline'.
|
||||
_GL_EXTERN_INLINE is a portable alternative to 'extern inline'.
|
||||
_GL_INLINE_HEADER_BEGIN contains useful stuff to put
|
||||
in an include file, before uses of _GL_INLINE.
|
||||
It suppresses GCC's bogus "no previous prototype for 'FOO'" diagnostic,
|
||||
when FOO is an inline function in the header; see
|
||||
<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113>.
|
||||
_GL_INLINE_HEADER_END contains useful stuff to put
|
||||
in the same include file, after uses of _GL_INLINE.
|
||||
|
||||
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>.
|
||||
|
||||
Suppress the use of extern inline on Apple's platforms,
|
||||
as Libc-825.25 (2012-09-19) is incompatible with it; see
|
||||
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
|
||||
Perhaps Apple will fix this some day. */
|
||||
#if ((__GNUC__ \
|
||||
? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
|
||||
: 199901L <= __STDC_VERSION__ && !defined __HP_cc) \
|
||||
&& !defined __APPLE__)
|
||||
# define _GL_INLINE inline
|
||||
# define _GL_EXTERN_INLINE extern inline
|
||||
#elif 2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __APPLE__
|
||||
# if __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
|
||||
#else
|
||||
# define _GL_INLINE static _GL_UNUSED
|
||||
# define _GL_EXTERN_INLINE static _GL_UNUSED
|
||||
#endif
|
||||
|
||||
#if 4 < __GNUC__ + (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
|
||||
# define _GL_INLINE_HEADER_BEGIN \
|
||||
_Pragma ("GCC diagnostic push") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
|
||||
_Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
|
||||
_GL_INLINE_HEADER_CONST_PRAGMA
|
||||
# define _GL_INLINE_HEADER_END \
|
||||
_Pragma ("GCC diagnostic pop")
|
||||
#else
|
||||
# define _GL_INLINE_HEADER_BEGIN
|
||||
# define _GL_INLINE_HEADER_END
|
||||
#endif])
|
||||
])
|
|
@ -1,5 +1,5 @@
|
|||
# fcntl-o.m4 serial 2
|
||||
dnl Copyright (C) 2006, 2009-2010 Free Software Foundation, Inc.
|
||||
# fcntl-o.m4 serial 4
|
||||
dnl Copyright (C) 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.
|
||||
|
@ -17,12 +17,21 @@ AC_DEFUN([gl_FCNTL_O_FLAGS],
|
|||
m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
|
||||
[AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
|
||||
[AC_REQUIRE([AC_GNU_SOURCE])])
|
||||
|
||||
AC_CHECK_HEADERS_ONCE([unistd.h])
|
||||
AC_CHECK_FUNCS_ONCE([symlink])
|
||||
AC_CACHE_CHECK([for working fcntl.h], [gl_cv_header_working_fcntl_h],
|
||||
[AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#else /* on Windows with MSVC */
|
||||
# include <io.h>
|
||||
# include <stdlib.h>
|
||||
# defined sleep(n) _sleep ((n) * 1000)
|
||||
#endif
|
||||
#include <fcntl.h>
|
||||
#ifndef O_NOATIME
|
||||
#define O_NOATIME 0
|
||||
|
@ -37,34 +46,74 @@ AC_DEFUN([gl_FCNTL_O_FLAGS],
|
|||
};
|
||||
]],
|
||||
[[
|
||||
int status = !constants;
|
||||
int result = !constants;
|
||||
#if HAVE_SYMLINK
|
||||
{
|
||||
static char const sym[] = "conftest.sym";
|
||||
if (symlink (".", sym) != 0
|
||||
|| close (open (sym, O_RDONLY | O_NOFOLLOW)) == 0)
|
||||
status |= 32;
|
||||
if (symlink ("/dev/null", sym) != 0)
|
||||
result |= 2;
|
||||
else
|
||||
{
|
||||
int fd = open (sym, O_WRONLY | O_NOFOLLOW | O_CREAT, 0);
|
||||
if (fd >= 0)
|
||||
{
|
||||
close (fd);
|
||||
result |= 4;
|
||||
}
|
||||
}
|
||||
if (unlink (sym) != 0 || symlink (".", sym) != 0)
|
||||
result |= 2;
|
||||
else
|
||||
{
|
||||
int fd = open (sym, O_RDONLY | O_NOFOLLOW);
|
||||
if (fd >= 0)
|
||||
{
|
||||
close (fd);
|
||||
result |= 4;
|
||||
}
|
||||
}
|
||||
unlink (sym);
|
||||
}
|
||||
#endif
|
||||
{
|
||||
static char const file[] = "confdefs.h";
|
||||
int fd = open (file, O_RDONLY | O_NOATIME);
|
||||
char c;
|
||||
struct stat st0, st1;
|
||||
if (fd < 0
|
||||
|| fstat (fd, &st0) != 0
|
||||
|| sleep (1) != 0
|
||||
|| read (fd, &c, 1) != 1
|
||||
|| close (fd) != 0
|
||||
|| stat (file, &st1) != 0
|
||||
|| st0.st_atime != st1.st_atime)
|
||||
status |= 64;
|
||||
if (fd < 0)
|
||||
result |= 8;
|
||||
else
|
||||
{
|
||||
struct stat st0;
|
||||
if (fstat (fd, &st0) != 0)
|
||||
result |= 16;
|
||||
else
|
||||
{
|
||||
char c;
|
||||
sleep (1);
|
||||
if (read (fd, &c, 1) != 1)
|
||||
result |= 24;
|
||||
else
|
||||
{
|
||||
if (close (fd) != 0)
|
||||
result |= 32;
|
||||
else
|
||||
{
|
||||
struct stat st1;
|
||||
if (stat (file, &st1) != 0)
|
||||
result |= 40;
|
||||
else
|
||||
if (st0.st_atime != st1.st_atime)
|
||||
result |= 64;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return status;]])],
|
||||
return result;]])],
|
||||
[gl_cv_header_working_fcntl_h=yes],
|
||||
[case $? in #(
|
||||
32) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #(
|
||||
4) gl_cv_header_working_fcntl_h='no (bad O_NOFOLLOW)';; #(
|
||||
64) gl_cv_header_working_fcntl_h='no (bad O_NOATIME)';; #(
|
||||
96) gl_cv_header_working_fcntl_h='no (bad O_NOATIME, O_NOFOLLOW)';; #(
|
||||
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])])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# float_h.m4 serial 4
|
||||
dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
# float_h.m4 serial 9
|
||||
dnl Copyright (C) 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.
|
||||
|
@ -9,11 +9,90 @@ AC_DEFUN([gl_FLOAT_H],
|
|||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
FLOAT_H=
|
||||
REPLACE_FLOAT_LDBL=0
|
||||
case "$host_os" in
|
||||
beos* | openbsd* | mirbsd*)
|
||||
aix* | beos* | openbsd* | mirbsd* | irix*)
|
||||
FLOAT_H=float.h
|
||||
gl_CHECK_NEXT_HEADERS([float.h])
|
||||
;;
|
||||
freebsd*)
|
||||
case "$host_cpu" in
|
||||
changequote(,)dnl
|
||||
i[34567]86 )
|
||||
changequote([,])dnl
|
||||
FLOAT_H=float.h
|
||||
;;
|
||||
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],
|
||||
[],
|
||||
[FLOAT_H=float.h])
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
linux*)
|
||||
case "$host_cpu" in
|
||||
powerpc*)
|
||||
FLOAT_H=float.h
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
case "$host_os" in
|
||||
aix* | freebsd* | linux*)
|
||||
if test -n "$FLOAT_H"; then
|
||||
REPLACE_FLOAT_LDBL=1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl Test against glibc-2.7 Linux/SPARC64 bug.
|
||||
REPLACE_ITOLD=0
|
||||
AC_CACHE_CHECK([whether conversion from 'int' to 'long double' works],
|
||||
[gl_cv_func_itold_works],
|
||||
[
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
int i = -1;
|
||||
volatile long double ld;
|
||||
int main ()
|
||||
{
|
||||
ld += i * 1.0L;
|
||||
if (ld > 0)
|
||||
return 1;
|
||||
return 0;
|
||||
}]])],
|
||||
[gl_cv_func_itold_works=yes],
|
||||
[gl_cv_func_itold_works=no],
|
||||
[case "$host" in
|
||||
sparc*-*-linux*)
|
||||
AC_EGREP_CPP([yes],
|
||||
[#if defined __LP64__ || defined __arch64__
|
||||
yes
|
||||
#endif],
|
||||
[gl_cv_func_itold_works="guessing no"],
|
||||
[gl_cv_func_itold_works="guessing yes"])
|
||||
;;
|
||||
*) gl_cv_func_itold_works="guessing yes" ;;
|
||||
esac
|
||||
])
|
||||
])
|
||||
case "$gl_cv_func_itold_works" in
|
||||
*no)
|
||||
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
|
||||
;;
|
||||
esac
|
||||
|
||||
if test -n "$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])
|
||||
])
|
||||
|
|
117
m4/fnmatch.m4
117
m4/fnmatch.m4
|
@ -1,6 +1,6 @@
|
|||
# Check for fnmatch - serial 4.
|
||||
# Check for fnmatch - serial 9.
|
||||
|
||||
# Copyright (C) 2000-2007, 2009-2010 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2000-2007, 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.
|
||||
|
@ -20,7 +20,9 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
|
|||
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
|
||||
|
||||
FNMATCH_H=
|
||||
gl_fnmatch_required_lowercase=`echo $gl_fnmatch_required | tr 'A-Z' 'a-z'`
|
||||
gl_fnmatch_required_lowercase=`
|
||||
echo $gl_fnmatch_required | LC_ALL=C tr '[[A-Z]]' '[[a-z]]'
|
||||
`
|
||||
gl_fnmatch_cache_var="gl_cv_func_fnmatch_${gl_fnmatch_required_lowercase}"
|
||||
AC_CACHE_CHECK([for working $gl_fnmatch_required fnmatch],
|
||||
[$gl_fnmatch_cache_var],
|
||||
|
@ -58,33 +60,62 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
|
|||
static char const a01[] = { 'a' + 1, 0 };
|
||||
static char const bs_1[] = { '\\\\' - 1, 0 };
|
||||
static char const bs01[] = { '\\\\' + 1, 0 };
|
||||
return
|
||||
!(n ("a*", "", 0)
|
||||
&& y ("a*", "abc", 0)
|
||||
&& n ("d*/*1", "d/s/1", FNM_PATHNAME)
|
||||
&& y ("a\\\\bc", "abc", 0)
|
||||
&& n ("a\\\\bc", "abc", FNM_NOESCAPE)
|
||||
&& y ("*x", ".x", 0)
|
||||
&& n ("*x", ".x", FNM_PERIOD)
|
||||
&& y (Apat, "\\\\", 0) && y (Apat, "A", 0)
|
||||
&& y (apat, "\\\\", 0) && y (apat, "a", 0)
|
||||
&& n (Apat, A_1, 0) == ('A' < '\\\\')
|
||||
&& n (apat, a_1, 0) == ('a' < '\\\\')
|
||||
&& y (Apat, A01, 0) == ('A' < '\\\\')
|
||||
&& y (apat, a01, 0) == ('a' < '\\\\')
|
||||
&& y (Apat, bs_1, 0) == ('A' < '\\\\')
|
||||
&& y (apat, bs_1, 0) == ('a' < '\\\\')
|
||||
&& n (Apat, bs01, 0) == ('A' < '\\\\')
|
||||
&& n (apat, bs01, 0) == ('a' < '\\\\')
|
||||
$gl_fnmatch_gnu_start
|
||||
&& y ("xxXX", "xXxX", FNM_CASEFOLD)
|
||||
&& y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH)
|
||||
&& n ("d*/*1", "d/s/1", FNM_FILE_NAME)
|
||||
&& y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR)
|
||||
&& y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR)
|
||||
&& y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR)
|
||||
$gl_fnmatch_gnu_end
|
||||
);
|
||||
int result = 0;
|
||||
if (!n ("a*", "", 0))
|
||||
return 1;
|
||||
if (!y ("a*", "abc", 0))
|
||||
return 1;
|
||||
if (!y ("[/b", "[/b", 0)) /*"]]"*/ /* glibc Bugzilla bug 12378 */
|
||||
return 1;
|
||||
if (!n ("d*/*1", "d/s/1", FNM_PATHNAME))
|
||||
return 2;
|
||||
if (!y ("a\\\\bc", "abc", 0))
|
||||
return 3;
|
||||
if (!n ("a\\\\bc", "abc", FNM_NOESCAPE))
|
||||
return 3;
|
||||
if (!y ("*x", ".x", 0))
|
||||
return 4;
|
||||
if (!n ("*x", ".x", FNM_PERIOD))
|
||||
return 4;
|
||||
if (!y (Apat, "\\\\", 0))
|
||||
return 5;
|
||||
if (!y (Apat, "A", 0))
|
||||
return 5;
|
||||
if (!y (apat, "\\\\", 0))
|
||||
return 5;
|
||||
if (!y (apat, "a", 0))
|
||||
return 5;
|
||||
if (!(n (Apat, A_1, 0) == ('A' < '\\\\')))
|
||||
return 5;
|
||||
if (!(n (apat, a_1, 0) == ('a' < '\\\\')))
|
||||
return 5;
|
||||
if (!(y (Apat, A01, 0) == ('A' < '\\\\')))
|
||||
return 5;
|
||||
if (!(y (apat, a01, 0) == ('a' < '\\\\')))
|
||||
return 5;
|
||||
if (!(y (Apat, bs_1, 0) == ('A' < '\\\\')))
|
||||
return 5;
|
||||
if (!(y (apat, bs_1, 0) == ('a' < '\\\\')))
|
||||
return 5;
|
||||
if (!(n (Apat, bs01, 0) == ('A' < '\\\\')))
|
||||
return 5;
|
||||
if (!(n (apat, bs01, 0) == ('a' < '\\\\')))
|
||||
return 5;
|
||||
$gl_fnmatch_gnu_start
|
||||
if (!y ("xxXX", "xXxX", FNM_CASEFOLD))
|
||||
result |= 8;
|
||||
if (!y ("a++(x|yy)b", "a+xyyyyxb", FNM_EXTMATCH))
|
||||
result |= 16;
|
||||
if (!n ("d*/*1", "d/s/1", FNM_FILE_NAME))
|
||||
result |= 32;
|
||||
if (!y ("*", "x", FNM_FILE_NAME | FNM_LEADING_DIR))
|
||||
result |= 64;
|
||||
if (!y ("x*", "x/y/z", FNM_FILE_NAME | FNM_LEADING_DIR))
|
||||
result |= 64;
|
||||
if (!y ("*c*", "c/x", FNM_FILE_NAME | FNM_LEADING_DIR))
|
||||
result |= 64;
|
||||
$gl_fnmatch_gnu_end
|
||||
return result;
|
||||
]])],
|
||||
[eval "$gl_fnmatch_cache_var=yes"],
|
||||
[eval "$gl_fnmatch_cache_var=no"],
|
||||
|
@ -97,19 +128,9 @@ AC_DEFUN([gl_FUNC_FNMATCH_POSIX],
|
|||
rm -f "$gl_source_base/fnmatch.h"
|
||||
else
|
||||
FNMATCH_H=fnmatch.h
|
||||
AC_LIBOBJ([fnmatch])
|
||||
dnl We must choose a different name for our function, since on ELF systems
|
||||
dnl a broken fnmatch() in libc.so would override our fnmatch() if it is
|
||||
dnl compiled into a shared library.
|
||||
AC_DEFINE_UNQUOTED([fnmatch], [${gl_fnmatch_required_lowercase}_fnmatch],
|
||||
[Define to a replacement function name for fnmatch().])
|
||||
dnl Prerequisites of lib/fnmatch.c.
|
||||
AC_REQUIRE([AC_TYPE_MBSTATE_T])
|
||||
AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>])
|
||||
AC_CHECK_FUNCS_ONCE([btowc isblank iswctype mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy])
|
||||
AC_CHECK_HEADERS_ONCE([wctype.h])
|
||||
fi
|
||||
AC_SUBST([FNMATCH_H])
|
||||
AM_CONDITIONAL([GL_GENERATE_FNMATCH_H], [test -n "$FNMATCH_H"])
|
||||
])
|
||||
|
||||
# Request a POSIX compliant fnmatch function with GNU extensions.
|
||||
|
@ -119,3 +140,17 @@ AC_DEFUN([gl_FUNC_FNMATCH_GNU],
|
|||
|
||||
AC_REQUIRE([gl_FUNC_FNMATCH_POSIX])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_PREREQ_FNMATCH],
|
||||
[
|
||||
dnl We must choose a different name for our function, since on ELF systems
|
||||
dnl a broken fnmatch() in libc.so would override our fnmatch() if it is
|
||||
dnl compiled into a shared library.
|
||||
AC_DEFINE_UNQUOTED([fnmatch], [${gl_fnmatch_required_lowercase}_fnmatch],
|
||||
[Define to a replacement function name for fnmatch().])
|
||||
dnl Prerequisites of lib/fnmatch.c.
|
||||
AC_REQUIRE([AC_TYPE_MBSTATE_T])
|
||||
AC_CHECK_DECLS([isblank], [], [], [[#include <ctype.h>]])
|
||||
AC_CHECK_FUNCS_ONCE([btowc isblank iswctype mbsrtowcs mempcpy wmemchr wmemcpy wmempcpy])
|
||||
AC_CHECK_HEADERS_ONCE([wctype.h])
|
||||
])
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# getdelim.m4 serial 6
|
||||
# getdelim.m4 serial 10
|
||||
|
||||
dnl Copyright (C) 2005-2007, 2009-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2005-2007, 2009-2013 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,
|
||||
|
@ -19,6 +19,7 @@ AC_DEFUN([gl_FUNC_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],
|
||||
[echo fooNbarN | tr -d '\012' | tr N '\012' > conftest.data
|
||||
|
@ -38,7 +39,7 @@ AC_DEFUN([gl_FUNC_GETDELIM],
|
|||
size_t siz = 0;
|
||||
int len = getdelim (&line, &siz, '\n', in);
|
||||
if (!(len == 4 && line && strcmp (line, "foo\n") == 0))
|
||||
return 1;
|
||||
return 2;
|
||||
}
|
||||
{
|
||||
/* Test result for a NULL buffer and a non-zero size.
|
||||
|
@ -46,7 +47,7 @@ AC_DEFUN([gl_FUNC_GETDELIM],
|
|||
char *line = NULL;
|
||||
size_t siz = (size_t)(~0) / 4;
|
||||
if (getdelim (&line, &siz, '\n', in) == -1)
|
||||
return 1;
|
||||
return 3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -57,29 +58,26 @@ AC_DEFUN([gl_FUNC_GETDELIM],
|
|||
[
|
||||
#include <features.h>
|
||||
#ifdef __GNU_LIBRARY__
|
||||
#if (__GLIBC__ >= 2)
|
||||
#if (__GLIBC__ >= 2) && !defined __UCLIBC__
|
||||
Lucky GNU user
|
||||
#endif
|
||||
#endif
|
||||
],
|
||||
[gl_cv_func_working_getdelim=yes],
|
||||
[gl_cv_func_working_getdelim=no])]
|
||||
[gl_cv_func_working_getdelim="guessing yes"],
|
||||
[gl_cv_func_working_getdelim="guessing no"])]
|
||||
)])
|
||||
case "$gl_cv_func_working_getdelim" in
|
||||
*no)
|
||||
REPLACE_GETDELIM=1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
gl_cv_func_working_getdelim=no
|
||||
HAVE_GETDELIM=0
|
||||
fi
|
||||
|
||||
if test $ac_cv_have_decl_getdelim = no; then
|
||||
HAVE_DECL_GETDELIM=0
|
||||
fi
|
||||
|
||||
if test $gl_cv_func_working_getdelim = no; then
|
||||
if test $ac_cv_func_getdelim = yes; then
|
||||
REPLACE_GETDELIM=1
|
||||
fi
|
||||
AC_LIBOBJ([getdelim])
|
||||
gl_PREREQ_GETDELIM
|
||||
fi
|
||||
])
|
||||
|
||||
# Prerequisites of lib/getdelim.c.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# getline.m4 serial 21
|
||||
# getline.m4 serial 26
|
||||
|
||||
dnl Copyright (C) 1998-2003, 2005-2007, 2009-2010 Free Software Foundation,
|
||||
dnl Copyright (C) 1998-2003, 2005-2007, 2009-2013 Free Software Foundation,
|
||||
dnl Inc.
|
||||
dnl
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
|
@ -46,7 +46,7 @@ AC_DEFUN([gl_FUNC_GETLINE],
|
|||
size_t siz = 0;
|
||||
int len = getline (&line, &siz, in);
|
||||
if (!(len == 4 && line && strcmp (line, "foo\n") == 0))
|
||||
return 1;
|
||||
return 2;
|
||||
}
|
||||
{
|
||||
/* Test result for a NULL buffer and a non-zero size.
|
||||
|
@ -54,7 +54,7 @@ AC_DEFUN([gl_FUNC_GETLINE],
|
|||
char *line = NULL;
|
||||
size_t siz = (size_t)(~0) / 4;
|
||||
if (getline (&line, &siz, in) == -1)
|
||||
return 1;
|
||||
return 3;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -65,13 +65,13 @@ AC_DEFUN([gl_FUNC_GETLINE],
|
|||
[
|
||||
#include <features.h>
|
||||
#ifdef __GNU_LIBRARY__
|
||||
#if (__GLIBC__ >= 2)
|
||||
#if (__GLIBC__ >= 2) && !defined __UCLIBC__
|
||||
Lucky GNU user
|
||||
#endif
|
||||
#endif
|
||||
],
|
||||
[am_cv_func_working_getline=yes],
|
||||
[am_cv_func_working_getline=no])]
|
||||
[am_cv_func_working_getline="guessing yes"],
|
||||
[am_cv_func_working_getline="guessing no"])]
|
||||
)])
|
||||
fi
|
||||
|
||||
|
@ -79,19 +79,18 @@ AC_DEFUN([gl_FUNC_GETLINE],
|
|||
HAVE_DECL_GETLINE=0
|
||||
fi
|
||||
|
||||
if test $am_cv_func_working_getline = no; then
|
||||
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
|
||||
AC_LIBOBJ([getline])
|
||||
|
||||
gl_PREREQ_GETLINE
|
||||
fi
|
||||
case "$am_cv_func_working_getline" in
|
||||
*no)
|
||||
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],
|
||||
[
|
||||
gl_FUNC_GETDELIM
|
||||
:
|
||||
])
|
||||
|
|
386
m4/getopt.m4
386
m4/getopt.m4
|
@ -1,5 +1,5 @@
|
|||
# getopt.m4 serial 31
|
||||
dnl Copyright (C) 2002-2006, 2008-2010 Free Software Foundation, Inc.
|
||||
# getopt.m4 serial 44
|
||||
dnl Copyright (C) 2002-2006, 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.
|
||||
|
@ -9,10 +9,22 @@ AC_DEFUN([gl_FUNC_GETOPT_POSIX],
|
|||
[
|
||||
m4_divert_text([DEFAULTS], [gl_getopt_required=POSIX])
|
||||
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
|
||||
gl_GETOPT_IFELSE([
|
||||
gl_REPLACE_GETOPT
|
||||
],
|
||||
[])
|
||||
AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
|
||||
dnl Other modules can request the gnulib implementation of the getopt
|
||||
dnl functions unconditionally, by defining gl_REPLACE_GETOPT_ALWAYS.
|
||||
dnl argp.m4 does this.
|
||||
m4_ifdef([gl_REPLACE_GETOPT_ALWAYS], [
|
||||
REPLACE_GETOPT=1
|
||||
], [
|
||||
REPLACE_GETOPT=0
|
||||
if test -n "$gl_replace_getopt"; then
|
||||
REPLACE_GETOPT=1
|
||||
fi
|
||||
])
|
||||
if test $REPLACE_GETOPT = 1; then
|
||||
dnl Arrange for getopt.h to be created.
|
||||
gl_GETOPT_SUBSTITUTE_HEADER
|
||||
fi
|
||||
])
|
||||
|
||||
# Request a POSIX compliant getopt function with GNU extensions (such as
|
||||
|
@ -25,27 +37,6 @@ AC_DEFUN([gl_FUNC_GETOPT_GNU],
|
|||
AC_REQUIRE([gl_FUNC_GETOPT_POSIX])
|
||||
])
|
||||
|
||||
# Request the gnulib implementation of the getopt functions unconditionally.
|
||||
# argp.m4 uses this.
|
||||
AC_DEFUN([gl_REPLACE_GETOPT],
|
||||
[
|
||||
dnl Arrange for getopt.h to be created.
|
||||
gl_GETOPT_SUBSTITUTE_HEADER
|
||||
dnl Arrange for unistd.h to include getopt.h.
|
||||
GNULIB_UNISTD_H_GETOPT=1
|
||||
dnl Arrange to compile the getopt implementation.
|
||||
AC_LIBOBJ([getopt])
|
||||
AC_LIBOBJ([getopt1])
|
||||
gl_PREREQ_GETOPT
|
||||
])
|
||||
|
||||
# emacs' configure.in uses this.
|
||||
AC_DEFUN([gl_GETOPT_IFELSE],
|
||||
[
|
||||
AC_REQUIRE([gl_GETOPT_CHECK_HEADERS])
|
||||
AS_IF([test -n "$gl_replace_getopt"], [$1], [$2])
|
||||
])
|
||||
|
||||
# Determine whether to replace the entire getopt facility.
|
||||
AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
|
||||
[
|
||||
|
@ -56,7 +47,6 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
|
|||
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
|
||||
|
||||
gl_CHECK_NEXT_HEADERS([getopt.h])
|
||||
AC_CHECK_HEADERS_ONCE([getopt.h])
|
||||
if test $ac_cv_header_getopt_h = yes; then
|
||||
HAVE_GETOPT_H=1
|
||||
else
|
||||
|
@ -76,25 +66,6 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
|
|||
AC_CHECK_FUNCS([getopt_long_only], [], [gl_replace_getopt=yes])
|
||||
fi
|
||||
|
||||
dnl BSD getopt_long uses an incompatible method to reset option processing.
|
||||
dnl Existence of the variable, in and of itself, is not a reason to replace
|
||||
dnl getopt, but knowledge of the variable is needed to determine how to
|
||||
dnl reset and whether a reset reparses the environment.
|
||||
dnl Solaris supports neither optreset nor optind=0, but keeps no state that
|
||||
dnl needs a reset beyond setting optind=1; detect Solaris by getopt_clip.
|
||||
if test -z "$gl_replace_getopt"; then
|
||||
AC_CHECK_DECLS([optreset], [],
|
||||
[AC_CHECK_DECLS([getopt_clip], [], [],
|
||||
[[#include <getopt.h>]])
|
||||
],
|
||||
[[#include <getopt.h>]])
|
||||
fi
|
||||
|
||||
dnl mingw's getopt (in libmingwex.a) does weird things when the options
|
||||
dnl strings starts with '+' and it's not the first call. Some internal state
|
||||
dnl is left over from earlier calls, and neither setting optind = 0 nor
|
||||
dnl setting optreset = 1 get rid of this internal state.
|
||||
dnl POSIX is silent on optind vs. optreset, so we allow either behavior.
|
||||
dnl POSIX 2008 does not specify leading '+' behavior, but see
|
||||
dnl http://austingroupbugs.net/view.php?id=191 for a recommendation on
|
||||
dnl the next version of POSIX. For now, we only guarantee leading '+'
|
||||
|
@ -103,105 +74,124 @@ AC_DEFUN([gl_GETOPT_CHECK_HEADERS],
|
|||
AC_CACHE_CHECK([whether getopt is POSIX compatible],
|
||||
[gl_cv_func_getopt_posix],
|
||||
[
|
||||
dnl This test fails on mingw and succeeds on many other platforms.
|
||||
AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
||||
dnl Merging these three different test programs into a single one
|
||||
dnl would require a reset mechanism. On BSD systems, it can be done
|
||||
dnl through 'optreset'; on some others (glibc), it can be done by
|
||||
dnl setting 'optind' to 0; on others again (HP-UX, IRIX, OSF/1,
|
||||
dnl Solaris 9, musl libc), there is no such mechanism.
|
||||
if test $cross_compiling = no; then
|
||||
dnl Sanity check. Succeeds everywhere (except on MSVC,
|
||||
dnl which lacks <unistd.h> and getopt() entirely).
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#if !HAVE_DECL_OPTRESET && !HAVE_DECL_GETOPT_CLIP
|
||||
# define OPTIND_MIN 0
|
||||
#else
|
||||
# define OPTIND_MIN 1
|
||||
#endif
|
||||
int
|
||||
main ()
|
||||
{
|
||||
static char program[] = "program";
|
||||
static char a[] = "-a";
|
||||
static char foo[] = "foo";
|
||||
static char bar[] = "bar";
|
||||
char *argv[] = { program, a, foo, bar, NULL };
|
||||
int c;
|
||||
|
||||
c = getopt (4, argv, "ab");
|
||||
if (!(c == 'a'))
|
||||
return 1;
|
||||
c = getopt (4, argv, "ab");
|
||||
if (!(c == -1))
|
||||
return 2;
|
||||
if (!(optind == 2))
|
||||
return 3;
|
||||
return 0;
|
||||
}
|
||||
]])],
|
||||
[gl_cv_func_getopt_posix=maybe],
|
||||
[gl_cv_func_getopt_posix=no])
|
||||
if test $gl_cv_func_getopt_posix = maybe; then
|
||||
dnl Sanity check with '+'. Succeeds everywhere (except on MSVC,
|
||||
dnl which lacks <unistd.h> and getopt() entirely).
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
{
|
||||
int argc = 0;
|
||||
char *argv[10];
|
||||
int c;
|
||||
|
||||
argv[argc++] = "program";
|
||||
argv[argc++] = "-a";
|
||||
argv[argc++] = "foo";
|
||||
argv[argc++] = "bar";
|
||||
argv[argc] = NULL;
|
||||
optind = OPTIND_MIN;
|
||||
opterr = 0;
|
||||
|
||||
c = getopt (argc, argv, "ab");
|
||||
if (!(c == 'a'))
|
||||
return 1;
|
||||
c = getopt (argc, argv, "ab");
|
||||
if (!(c == -1))
|
||||
return 2;
|
||||
if (!(optind == 2))
|
||||
return 3;
|
||||
}
|
||||
/* Some internal state exists at this point. */
|
||||
{
|
||||
int argc = 0;
|
||||
char *argv[10];
|
||||
int c;
|
||||
|
||||
argv[argc++] = "program";
|
||||
argv[argc++] = "donald";
|
||||
argv[argc++] = "-p";
|
||||
argv[argc++] = "billy";
|
||||
argv[argc++] = "duck";
|
||||
argv[argc++] = "-a";
|
||||
argv[argc++] = "bar";
|
||||
argv[argc] = NULL;
|
||||
optind = OPTIND_MIN;
|
||||
opterr = 0;
|
||||
|
||||
c = getopt (argc, argv, "+abp:q:");
|
||||
if (!(c == -1))
|
||||
return 4;
|
||||
if (!(strcmp (argv[0], "program") == 0))
|
||||
return 5;
|
||||
if (!(strcmp (argv[1], "donald") == 0))
|
||||
return 6;
|
||||
if (!(strcmp (argv[2], "-p") == 0))
|
||||
return 7;
|
||||
if (!(strcmp (argv[3], "billy") == 0))
|
||||
return 8;
|
||||
if (!(strcmp (argv[4], "duck") == 0))
|
||||
return 9;
|
||||
if (!(strcmp (argv[5], "-a") == 0))
|
||||
return 10;
|
||||
if (!(strcmp (argv[6], "bar") == 0))
|
||||
return 11;
|
||||
if (!(optind == 1))
|
||||
return 12;
|
||||
}
|
||||
/* Detect MacOS 10.5, AIX 7.1 bug. */
|
||||
{
|
||||
char *argv[3] = { "program", "-ab", NULL };
|
||||
optind = OPTIND_MIN;
|
||||
opterr = 0;
|
||||
if (getopt (2, argv, "ab:") != 'a')
|
||||
return 13;
|
||||
if (getopt (2, argv, "ab:") != '?')
|
||||
return 14;
|
||||
if (optopt != 'b')
|
||||
return 15;
|
||||
if (optind != 2)
|
||||
return 16;
|
||||
}
|
||||
static char program[] = "program";
|
||||
static char donald[] = "donald";
|
||||
static char p[] = "-p";
|
||||
static char billy[] = "billy";
|
||||
static char duck[] = "duck";
|
||||
static char a[] = "-a";
|
||||
static char bar[] = "bar";
|
||||
char *argv[] = { program, donald, p, billy, duck, a, bar, NULL };
|
||||
int c;
|
||||
|
||||
c = getopt (7, argv, "+abp:q:");
|
||||
if (!(c == -1))
|
||||
return 4;
|
||||
if (!(strcmp (argv[0], "program") == 0))
|
||||
return 5;
|
||||
if (!(strcmp (argv[1], "donald") == 0))
|
||||
return 6;
|
||||
if (!(strcmp (argv[2], "-p") == 0))
|
||||
return 7;
|
||||
if (!(strcmp (argv[3], "billy") == 0))
|
||||
return 8;
|
||||
if (!(strcmp (argv[4], "duck") == 0))
|
||||
return 9;
|
||||
if (!(strcmp (argv[5], "-a") == 0))
|
||||
return 10;
|
||||
if (!(strcmp (argv[6], "bar") == 0))
|
||||
return 11;
|
||||
if (!(optind == 1))
|
||||
return 12;
|
||||
return 0;
|
||||
}
|
||||
]])],
|
||||
[gl_cv_func_getopt_posix=yes], [gl_cv_func_getopt_posix=no],
|
||||
[case "$host_os" in
|
||||
mingw*) gl_cv_func_getopt_posix="guessing no";;
|
||||
darwin* | aix*) gl_cv_func_getopt_posix="guessing no";;
|
||||
*) gl_cv_func_getopt_posix="guessing yes";;
|
||||
esac
|
||||
])
|
||||
[gl_cv_func_getopt_posix=maybe],
|
||||
[gl_cv_func_getopt_posix=no])
|
||||
fi
|
||||
if test $gl_cv_func_getopt_posix = maybe; then
|
||||
dnl Detect Mac OS X 10.5, AIX 7.1, mingw bug.
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
static char program[] = "program";
|
||||
static char ab[] = "-ab";
|
||||
char *argv[3] = { program, ab, NULL };
|
||||
if (getopt (2, argv, "ab:") != 'a')
|
||||
return 13;
|
||||
if (getopt (2, argv, "ab:") != '?')
|
||||
return 14;
|
||||
if (optopt != 'b')
|
||||
return 15;
|
||||
if (optind != 2)
|
||||
return 16;
|
||||
return 0;
|
||||
}
|
||||
]])],
|
||||
[gl_cv_func_getopt_posix=yes],
|
||||
[gl_cv_func_getopt_posix=no])
|
||||
fi
|
||||
else
|
||||
case "$host_os" in
|
||||
darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";;
|
||||
*) gl_cv_func_getopt_posix="guessing yes";;
|
||||
esac
|
||||
fi
|
||||
])
|
||||
case "$gl_cv_func_getopt_posix" in
|
||||
*no) gl_replace_getopt=yes ;;
|
||||
|
@ -230,63 +220,83 @@ dnl is ambiguous with environment values that contain newlines.
|
|||
[AC_LANG_PROGRAM([[#include <getopt.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
]GL_NOCRASH[
|
||||
]], [[
|
||||
int result = 0;
|
||||
|
||||
nocrash_init();
|
||||
|
||||
/* This code succeeds on glibc 2.8, OpenBSD 4.0, Cygwin, mingw,
|
||||
and fails on MacOS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
|
||||
and fails on Mac OS X 10.5, AIX 5.2, HP-UX 11, IRIX 6.5,
|
||||
OSF/1 5.1, Solaris 10. */
|
||||
{
|
||||
char *myargv[3];
|
||||
myargv[0] = "conftest";
|
||||
myargv[1] = "-+";
|
||||
myargv[2] = 0;
|
||||
static char conftest[] = "conftest";
|
||||
static char plus[] = "-+";
|
||||
char *argv[3] = { conftest, plus, NULL };
|
||||
opterr = 0;
|
||||
if (getopt (2, myargv, "+a") != '?')
|
||||
return 1;
|
||||
if (getopt (2, argv, "+a") != '?')
|
||||
result |= 1;
|
||||
}
|
||||
/* This code succeeds on glibc 2.8, mingw,
|
||||
and fails on MacOS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
|
||||
and fails on Mac OS X 10.5, OpenBSD 4.0, AIX 5.2, HP-UX 11,
|
||||
IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x. */
|
||||
{
|
||||
char *argv[] = { "program", "-p", "foo", "bar", NULL };
|
||||
static char program[] = "program";
|
||||
static char p[] = "-p";
|
||||
static char foo[] = "foo";
|
||||
static char bar[] = "bar";
|
||||
char *argv[] = { program, p, foo, bar, NULL };
|
||||
|
||||
optind = 1;
|
||||
if (getopt (4, argv, "p::") != 'p')
|
||||
return 2;
|
||||
if (optarg != NULL)
|
||||
return 3;
|
||||
if (getopt (4, argv, "p::") != -1)
|
||||
return 4;
|
||||
if (optind != 2)
|
||||
return 5;
|
||||
result |= 2;
|
||||
else if (optarg != NULL)
|
||||
result |= 4;
|
||||
else if (getopt (4, argv, "p::") != -1)
|
||||
result |= 6;
|
||||
else if (optind != 2)
|
||||
result |= 8;
|
||||
}
|
||||
/* This code succeeds on glibc 2.8 and fails on Cygwin 1.7.0. */
|
||||
{
|
||||
char *argv[] = { "program", "foo", "-p", NULL };
|
||||
static char program[] = "program";
|
||||
static char foo[] = "foo";
|
||||
static char p[] = "-p";
|
||||
char *argv[] = { program, foo, p, NULL };
|
||||
optind = 0;
|
||||
if (getopt (3, argv, "-p") != 1)
|
||||
return 6;
|
||||
if (getopt (3, argv, "-p") != 'p')
|
||||
return 7;
|
||||
result |= 16;
|
||||
else if (getopt (3, argv, "-p") != 'p')
|
||||
result |= 16;
|
||||
}
|
||||
/* This code fails on glibc 2.11. */
|
||||
{
|
||||
char *argv[] = { "program", "-b", "-a", NULL };
|
||||
static char program[] = "program";
|
||||
static char b[] = "-b";
|
||||
static char a[] = "-a";
|
||||
char *argv[] = { program, b, a, NULL };
|
||||
optind = opterr = 0;
|
||||
if (getopt (3, argv, "+:a:b") != 'b')
|
||||
return 8;
|
||||
if (getopt (3, argv, "+:a:b") != ':')
|
||||
return 9;
|
||||
result |= 32;
|
||||
else if (getopt (3, argv, "+:a:b") != ':')
|
||||
result |= 32;
|
||||
}
|
||||
return 0;
|
||||
/* This code dumps core on glibc 2.14. */
|
||||
{
|
||||
static char program[] = "program";
|
||||
static char w[] = "-W";
|
||||
static char dummy[] = "dummy";
|
||||
char *argv[] = { program, w, dummy, NULL };
|
||||
optind = opterr = 1;
|
||||
if (getopt (3, argv, "W;") != 'W')
|
||||
result |= 64;
|
||||
}
|
||||
return result;
|
||||
]])],
|
||||
[gl_cv_func_getopt_gnu=yes],
|
||||
[gl_cv_func_getopt_gnu=no],
|
||||
[dnl Cross compiling. Guess based on host and declarations.
|
||||
case $host_os:$ac_cv_have_decl_optreset in
|
||||
*-gnu*:* | mingw*:*) gl_cv_func_getopt_gnu=no;;
|
||||
*:yes) gl_cv_func_getopt_gnu=no;;
|
||||
*) gl_cv_func_getopt_gnu=yes;;
|
||||
esac
|
||||
[dnl Cross compiling. Assume the worst, even on glibc platforms.
|
||||
gl_cv_func_getopt_gnu="guessing no"
|
||||
])
|
||||
case $gl_had_POSIXLY_CORRECT in
|
||||
exported) ;;
|
||||
|
@ -294,13 +304,54 @@ dnl is ambiguous with environment values that contain newlines.
|
|||
*) AS_UNSET([POSIXLY_CORRECT]) ;;
|
||||
esac
|
||||
])
|
||||
if test "$gl_cv_func_getopt_gnu" = "no"; then
|
||||
if test "$gl_cv_func_getopt_gnu" != yes; then
|
||||
gl_replace_getopt=yes
|
||||
else
|
||||
AC_CACHE_CHECK([for working GNU getopt_long function],
|
||||
[gl_cv_func_getopt_long_gnu],
|
||||
[AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <getopt.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
]],
|
||||
[[static const struct option long_options[] =
|
||||
{
|
||||
{ "xtremely-",no_argument, NULL, 1003 },
|
||||
{ "xtra", no_argument, NULL, 1001 },
|
||||
{ "xtreme", no_argument, NULL, 1002 },
|
||||
{ "xtremely", no_argument, NULL, 1003 },
|
||||
{ NULL, 0, NULL, 0 }
|
||||
};
|
||||
/* This code fails on OpenBSD 5.0. */
|
||||
{
|
||||
static char program[] = "program";
|
||||
static char xtremel[] = "--xtremel";
|
||||
char *argv[] = { program, xtremel, NULL };
|
||||
int option_index;
|
||||
optind = 1; opterr = 0;
|
||||
if (getopt_long (2, argv, "", long_options, &option_index) != 1003)
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
]])],
|
||||
[gl_cv_func_getopt_long_gnu=yes],
|
||||
[gl_cv_func_getopt_long_gnu=no],
|
||||
[dnl Cross compiling. Guess no on OpenBSD, yes otherwise.
|
||||
case "$host_os" in
|
||||
openbsd*) gl_cv_func_getopt_long_gnu="guessing no";;
|
||||
*) gl_cv_func_getopt_long_gnu="guessing yes";;
|
||||
esac
|
||||
])
|
||||
])
|
||||
case "$gl_cv_func_getopt_long_gnu" in
|
||||
*yes) ;;
|
||||
*) gl_replace_getopt=yes ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
# emacs' configure.in uses this.
|
||||
AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
|
||||
[
|
||||
GETOPT_H=getopt.h
|
||||
|
@ -311,7 +362,6 @@ AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER],
|
|||
])
|
||||
|
||||
# Prerequisites of lib/getopt*.
|
||||
# emacs' configure.in uses this.
|
||||
AC_DEFUN([gl_PREREQ_GETOPT],
|
||||
[
|
||||
AC_CHECK_DECLS_ONCE([getenv])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# gettext.m4 serial 64 (gettext-0.18.2)
|
||||
dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
|
||||
# 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.
|
||||
|
@ -35,7 +35,7 @@ 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 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
|
||||
|
@ -97,7 +97,7 @@ AC_DEFUN([AM_GNU_GETTEXT],
|
|||
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
|
||||
])
|
||||
|
||||
dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation.
|
||||
dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
|
||||
gt_INTL_MACOSX
|
||||
|
||||
dnl Set USE_NLS.
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# glibc2.m4 serial 2
|
||||
dnl Copyright (C) 2000-2002, 2004, 2008-2010 Free Software Foundation, Inc.
|
||||
# glibc2.m4 serial 3
|
||||
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.
|
||||
|
@ -15,7 +16,7 @@ AC_DEFUN([gt_GLIBC2],
|
|||
[
|
||||
#include <features.h>
|
||||
#ifdef __GNU_LIBRARY__
|
||||
#if (__GLIBC__ >= 2)
|
||||
#if (__GLIBC__ >= 2) && !defined __UCLIBC__
|
||||
Lucky GNU user
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -1,23 +1,27 @@
|
|||
# glibc21.m4 serial 4
|
||||
dnl Copyright (C) 2000-2002, 2004, 2008-2010 Free Software Foundation, Inc.
|
||||
# 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.
|
||||
# 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 newer],
|
||||
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 GNU user],
|
||||
[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],
|
||||
|
|
|
@ -1,9 +1,21 @@
|
|||
# Copyright (C) 2002-2010 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software, distributed under the terms of the GNU
|
||||
# General Public License. As a special exception to the GNU General
|
||||
# Public License, this file may be distributed as part of a program
|
||||
# that contains a configuration script generated by Autoconf, under
|
||||
# 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
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This file is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# 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/>.
|
||||
#
|
||||
# As a special exception to the GNU General Public License,
|
||||
# this file may be distributed as part of a program that
|
||||
# contains a configuration script generated by Autoconf, under
|
||||
# the same distribution terms as the rest of that program.
|
||||
#
|
||||
# Generated by gnulib-tool.
|
||||
|
@ -15,7 +27,7 @@
|
|||
|
||||
|
||||
# Specification in the form of a command-line invocation:
|
||||
# gnulib-tool --import --dir=. --lib=libgnu --source-base=grub-core/gnulib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-libtool --macro-prefix=gl --no-vc-files argp error fnmatch getdelim getline gettext progname regex
|
||||
# gnulib-tool --import --dir=. --lib=libgnu --source-base=grub-core/gnulib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --no-conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files argp error fnmatch getdelim getline gettext progname regex
|
||||
|
||||
# Specification in the form of a few gnulib-tool.m4 macro invocations:
|
||||
gl_LOCAL_DIR([])
|
||||
|
@ -39,4 +51,5 @@ gl_LIB([libgnu])
|
|||
gl_MAKEFILE_NAME([])
|
||||
gl_MACRO_PREFIX([gl])
|
||||
gl_PO_DOMAIN([])
|
||||
gl_WITNESS_C_MACRO([])
|
||||
gl_VC_FILES([false])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# gnulib-common.m4 serial 20
|
||||
dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
|
||||
# gnulib-common.m4 serial 33
|
||||
dnl Copyright (C) 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.
|
||||
|
@ -12,11 +12,25 @@ AC_DEFUN([gl_COMMON], [
|
|||
AC_REQUIRE([gl_COMMON_BODY])
|
||||
])
|
||||
AC_DEFUN([gl_COMMON_BODY], [
|
||||
AH_VERBATIM([_Noreturn],
|
||||
[/* The _Noreturn keyword of C11. */
|
||||
#if ! (defined _Noreturn \
|
||||
|| (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
|
||||
# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
|
||||
|| 0x5110 <= __SUNPRO_C)
|
||||
# define _Noreturn __attribute__ ((__noreturn__))
|
||||
# elif defined _MSC_VER && 1200 <= _MSC_VER
|
||||
# define _Noreturn __declspec (noreturn)
|
||||
# else
|
||||
# define _Noreturn
|
||||
# endif
|
||||
#endif
|
||||
])
|
||||
AH_VERBATIM([isoc99_inline],
|
||||
[/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
|
||||
the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
|
||||
earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
|
||||
__APPLE__ && __MACH__ test for MacOS X.
|
||||
__APPLE__ && __MACH__ test for Mac OS X.
|
||||
__APPLE_CC__ tests for the Apple compiler and its version.
|
||||
__STDC_VERSION__ tests for the C99 mode. */
|
||||
#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
|
||||
|
@ -34,6 +48,20 @@ AC_DEFUN([gl_COMMON_BODY], [
|
|||
/* The name _UNUSED_PARAMETER_ is an earlier spelling, although the name
|
||||
is a misnomer outside of parameter lists. */
|
||||
#define _UNUSED_PARAMETER_ _GL_UNUSED
|
||||
|
||||
/* The __pure__ attribute was added in gcc 2.96. */
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)
|
||||
# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
|
||||
#else
|
||||
# define _GL_ATTRIBUTE_PURE /* empty */
|
||||
#endif
|
||||
|
||||
/* The __const__ attribute was added in gcc 2.95. */
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)
|
||||
# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
|
||||
#else
|
||||
# define _GL_ATTRIBUTE_CONST /* empty */
|
||||
#endif
|
||||
])
|
||||
dnl Preparation for running test programs:
|
||||
dnl Tell glibc to write diagnostics from -D_FORTIFY_SOURCE=2 to stderr, not
|
||||
|
@ -47,16 +75,49 @@ AC_DEFUN([gl_COMMON_BODY], [
|
|||
# expands to a C preprocessor expression that evaluates to 1 or 0, depending
|
||||
# whether a gnulib module that has been requested shall be considered present
|
||||
# or not.
|
||||
AC_DEFUN([gl_MODULE_INDICATOR_CONDITION], [1])
|
||||
m4_define([gl_MODULE_INDICATOR_CONDITION], [1])
|
||||
|
||||
# gl_MODULE_INDICATOR_SET_VARIABLE([modulename])
|
||||
# sets the shell variable that indicates the presence of the given module to
|
||||
# a C preprocessor expression that will evaluate to 1.
|
||||
AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE],
|
||||
[
|
||||
GNULIB_[]m4_translit([[$1]],
|
||||
[abcdefghijklmnopqrstuvwxyz./-],
|
||||
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=gl_MODULE_INDICATOR_CONDITION
|
||||
gl_MODULE_INDICATOR_SET_VARIABLE_AUX(
|
||||
[GNULIB_[]m4_translit([[$1]],
|
||||
[abcdefghijklmnopqrstuvwxyz./-],
|
||||
[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])],
|
||||
[gl_MODULE_INDICATOR_CONDITION])
|
||||
])
|
||||
|
||||
# gl_MODULE_INDICATOR_SET_VARIABLE_AUX([variable])
|
||||
# modifies the shell variable to include the gl_MODULE_INDICATOR_CONDITION.
|
||||
# The shell variable's value is a C preprocessor expression that evaluates
|
||||
# to 0 or 1.
|
||||
AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX],
|
||||
[
|
||||
m4_if(m4_defn([gl_MODULE_INDICATOR_CONDITION]), [1],
|
||||
[
|
||||
dnl Simplify the expression VALUE || 1 to 1.
|
||||
$1=1
|
||||
],
|
||||
[gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([$1],
|
||||
[gl_MODULE_INDICATOR_CONDITION])])
|
||||
])
|
||||
|
||||
# gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR([variable], [condition])
|
||||
# modifies the shell variable to include the given condition. The shell
|
||||
# variable's value is a C preprocessor expression that evaluates to 0 or 1.
|
||||
AC_DEFUN([gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR],
|
||||
[
|
||||
dnl Simplify the expression 1 || CONDITION to 1.
|
||||
if test "$[]$1" != 1; then
|
||||
dnl Simplify the expression 0 || CONDITION to CONDITION.
|
||||
if test "$[]$1" = 0; then
|
||||
$1=$2
|
||||
else
|
||||
$1="($[]$1 || $2)"
|
||||
fi
|
||||
fi
|
||||
])
|
||||
|
||||
# gl_MODULE_INDICATOR([modulename])
|
||||
|
@ -102,6 +163,40 @@ AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS],
|
|||
[Define to 1 when the gnulib module $1 should be tested.])
|
||||
])
|
||||
|
||||
# gl_ASSERT_NO_GNULIB_POSIXCHECK
|
||||
# asserts that there will never be a need to #define GNULIB_POSIXCHECK.
|
||||
# and thereby enables an optimization of configure and config.h.
|
||||
# Used by Emacs.
|
||||
AC_DEFUN([gl_ASSERT_NO_GNULIB_POSIXCHECK],
|
||||
[
|
||||
dnl Override gl_WARN_ON_USE_PREPARE.
|
||||
dnl But hide this definition from 'aclocal'.
|
||||
AC_DEFUN([gl_W][ARN_ON_USE_PREPARE], [])
|
||||
])
|
||||
|
||||
# gl_ASSERT_NO_GNULIB_TESTS
|
||||
# asserts that there will be no gnulib tests in the scope of the configure.ac
|
||||
# and thereby enables an optimization of config.h.
|
||||
# Used by Emacs.
|
||||
AC_DEFUN([gl_ASSERT_NO_GNULIB_TESTS],
|
||||
[
|
||||
dnl Override gl_MODULE_INDICATOR_FOR_TESTS.
|
||||
AC_DEFUN([gl_MODULE_INDICATOR_FOR_TESTS], [])
|
||||
])
|
||||
|
||||
# Test whether <features.h> exists.
|
||||
# Set HAVE_FEATURES_H.
|
||||
AC_DEFUN([gl_FEATURES_H],
|
||||
[
|
||||
AC_CHECK_HEADERS_ONCE([features.h])
|
||||
if test $ac_cv_header_features_h = yes; then
|
||||
HAVE_FEATURES_H=1
|
||||
else
|
||||
HAVE_FEATURES_H=0
|
||||
fi
|
||||
AC_SUBST([HAVE_FEATURES_H])
|
||||
])
|
||||
|
||||
# m4_foreach_w
|
||||
# is a backport of autoconf-2.59c's m4_foreach_w.
|
||||
# Remove this macro when we can assume autoconf >= 2.60.
|
||||
|
@ -117,11 +212,90 @@ m4_ifndef([AS_VAR_IF],
|
|||
[m4_define([AS_VAR_IF],
|
||||
[AS_IF([test x"AS_VAR_GET([$1])" = x""$2], [$3], [$4])])])
|
||||
|
||||
# gl_PROG_CC_C99
|
||||
# Modifies the value of the shell variable CC in an attempt to make $CC
|
||||
# understand ISO C99 source code.
|
||||
# This is like AC_PROG_CC_C99, except that
|
||||
# - AC_PROG_CC_C99 did not exist in Autoconf versions < 2.60,
|
||||
# - AC_PROG_CC_C99 does not mix well with AC_PROG_CC_STDC
|
||||
# <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00367.html>,
|
||||
# but many more packages use AC_PROG_CC_STDC than AC_PROG_CC_C99
|
||||
# <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00441.html>.
|
||||
# Remaining problems:
|
||||
# - When AC_PROG_CC_STDC is invoked twice, it adds the C99 enabling options
|
||||
# to CC twice
|
||||
# <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00431.html>.
|
||||
# - AC_PROG_CC_STDC is likely to change now that C11 is an ISO standard.
|
||||
AC_DEFUN([gl_PROG_CC_C99],
|
||||
[
|
||||
dnl Change that version number to the minimum Autoconf version that supports
|
||||
dnl mixing AC_PROG_CC_C99 calls with AC_PROG_CC_STDC calls.
|
||||
m4_version_prereq([9.0],
|
||||
[AC_REQUIRE([AC_PROG_CC_C99])],
|
||||
[AC_REQUIRE([AC_PROG_CC_STDC])])
|
||||
])
|
||||
|
||||
# gl_PROG_AR_RANLIB
|
||||
# Determines the values for AR, ARFLAGS, RANLIB that fit with the compiler.
|
||||
# The user can set the variables AR, ARFLAGS, RANLIB if he wants to override
|
||||
# the values.
|
||||
AC_DEFUN([gl_PROG_AR_RANLIB],
|
||||
[
|
||||
dnl Minix 3 comes with two toolchains: The Amsterdam Compiler Kit compiler
|
||||
dnl as "cc", and GCC as "gcc". They have different object file formats and
|
||||
dnl library formats. In particular, the GNU binutils programs ar, ranlib
|
||||
dnl produce libraries that work only with gcc, not with cc.
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_CACHE_CHECK([for Minix Amsterdam compiler], [gl_cv_c_amsterdam_compiler],
|
||||
[
|
||||
AC_EGREP_CPP([Amsterdam],
|
||||
[
|
||||
#ifdef __ACK__
|
||||
Amsterdam
|
||||
#endif
|
||||
],
|
||||
[gl_cv_c_amsterdam_compiler=yes],
|
||||
[gl_cv_c_amsterdam_compiler=no])
|
||||
])
|
||||
if test -z "$AR"; then
|
||||
if test $gl_cv_c_amsterdam_compiler = yes; then
|
||||
AR='cc -c.a'
|
||||
if test -z "$ARFLAGS"; then
|
||||
ARFLAGS='-o'
|
||||
fi
|
||||
else
|
||||
dnl Use the Automake-documented default values for AR and ARFLAGS,
|
||||
dnl but prefer ${host}-ar over ar (useful for cross-compiling).
|
||||
AC_CHECK_TOOL([AR], [ar], [ar])
|
||||
if test -z "$ARFLAGS"; then
|
||||
ARFLAGS='cru'
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if test -z "$ARFLAGS"; then
|
||||
ARFLAGS='cru'
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([AR])
|
||||
AC_SUBST([ARFLAGS])
|
||||
if test -z "$RANLIB"; then
|
||||
if test $gl_cv_c_amsterdam_compiler = yes; then
|
||||
RANLIB=':'
|
||||
else
|
||||
dnl Use the ranlib program if it is available.
|
||||
AC_PROG_RANLIB
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([RANLIB])
|
||||
])
|
||||
|
||||
# AC_PROG_MKDIR_P
|
||||
# is a backport of autoconf-2.60's AC_PROG_MKDIR_P, with a fix
|
||||
# for interoperability with automake-1.9.6 from autoconf-2.62.
|
||||
# Remove this macro when we can assume autoconf >= 2.62 or
|
||||
# autoconf >= 2.60 && automake >= 1.10.
|
||||
# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness.
|
||||
m4_ifndef([AC_AUTOCONF_VERSION],[
|
||||
m4_ifdef([AC_PROG_MKDIR_P], [
|
||||
dnl For automake-1.9.6 && autoconf < 2.62: Ensure MKDIR_P is AC_SUBSTed.
|
||||
m4_define([AC_PROG_MKDIR_P],
|
||||
|
@ -132,13 +306,15 @@ m4_ifdef([AC_PROG_MKDIR_P], [
|
|||
[AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
|
||||
MKDIR_P='$(mkdir_p)'
|
||||
AC_SUBST([MKDIR_P])])])
|
||||
])
|
||||
|
||||
# AC_C_RESTRICT
|
||||
# This definition overrides the AC_C_RESTRICT macro from autoconf 2.60..2.61,
|
||||
# so that mixed use of GNU C and GNU C++ and mixed use of Sun C and Sun C++
|
||||
# works.
|
||||
# This definition can be removed once autoconf >= 2.62 can be assumed.
|
||||
m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.62]),[-1],[
|
||||
# AC_AUTOCONF_VERSION was introduced in 2.62, so use that as the witness.
|
||||
m4_ifndef([AC_AUTOCONF_VERSION],[
|
||||
AC_DEFUN([AC_C_RESTRICT],
|
||||
[AC_CACHE_CHECK([for C/C++ restrict keyword], [ac_cv_c_restrict],
|
||||
[ac_cv_c_restrict=no
|
||||
|
|
|
@ -1,10 +1,22 @@
|
|||
# DO NOT EDIT! GENERATED AUTOMATICALLY!
|
||||
# Copyright (C) 2002-2010 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software, distributed under the terms of the GNU
|
||||
# General Public License. As a special exception to the GNU General
|
||||
# Public License, this file may be distributed as part of a program
|
||||
# that contains a configuration script generated by Autoconf, under
|
||||
# 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
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This file is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# 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/>.
|
||||
#
|
||||
# As a special exception to the GNU General Public License,
|
||||
# this file may be distributed as part of a program that
|
||||
# contains a configuration script generated by Autoconf, under
|
||||
# the same distribution terms as the rest of that program.
|
||||
#
|
||||
# Generated by gnulib-tool.
|
||||
|
@ -25,20 +37,21 @@ AC_DEFUN([gl_EARLY],
|
|||
m4_pattern_allow([^gl_ES$])dnl a valid locale name
|
||||
m4_pattern_allow([^gl_LIBOBJS$])dnl a variable
|
||||
m4_pattern_allow([^gl_LTLIBOBJS$])dnl a variable
|
||||
AC_REQUIRE([AC_PROG_RANLIB])
|
||||
AC_REQUIRE([gl_PROG_AR_RANLIB])
|
||||
AC_REQUIRE([AM_PROG_CC_C_O])
|
||||
# Code from module alloca:
|
||||
# Code from module alloca-opt:
|
||||
# Code from module arg-nonnull:
|
||||
# Code from module argp:
|
||||
# Code from module btowc:
|
||||
# Code from module c++defs:
|
||||
# Code from module configmake:
|
||||
# Code from module dirname-lgpl:
|
||||
# Code from module dosname:
|
||||
# Code from module double-slash-root:
|
||||
# Code from module errno:
|
||||
# Code from module error:
|
||||
# Code from module extensions:
|
||||
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
|
||||
# Code from module extern-inline:
|
||||
# Code from module float:
|
||||
# Code from module fnmatch:
|
||||
# Code from module getdelim:
|
||||
|
@ -52,22 +65,34 @@ AC_DEFUN([gl_EARLY],
|
|||
# Code from module intprops:
|
||||
# Code from module langinfo:
|
||||
# Code from module localcharset:
|
||||
# Code from module locale:
|
||||
# Code from module localeconv:
|
||||
# Code from module malloc-gnu:
|
||||
# Code from module malloc-posix:
|
||||
# Code from module mbrtowc:
|
||||
# Code from module mbsinit:
|
||||
# Code from module mbsrtowcs:
|
||||
# Code from module mbswidth:
|
||||
# Code from module mbtowc:
|
||||
# Code from module memchr:
|
||||
# Code from module mempcpy:
|
||||
# Code from module msvc-inval:
|
||||
# Code from module msvc-nothrow:
|
||||
# Code from module multiarch:
|
||||
# Code from module nl_langinfo:
|
||||
# Code from module nocrash:
|
||||
# Code from module progname:
|
||||
# Code from module rawmemchr:
|
||||
# Code from module realloc-posix:
|
||||
# Code from module regex:
|
||||
# Code from module size_max:
|
||||
# Code from module sleep:
|
||||
# Code from module snippet/_Noreturn:
|
||||
# Code from module snippet/arg-nonnull:
|
||||
# Code from module snippet/c++defs:
|
||||
# Code from module snippet/warn-on-use:
|
||||
# Code from module ssize_t:
|
||||
# Code from module stdalign:
|
||||
# Code from module stdbool:
|
||||
# Code from module stddef:
|
||||
# Code from module stdint:
|
||||
|
@ -77,21 +102,25 @@ AC_DEFUN([gl_EARLY],
|
|||
# Code from module strchrnul:
|
||||
# Code from module streq:
|
||||
# Code from module strerror:
|
||||
# Code from module strerror-override:
|
||||
# Code from module string:
|
||||
# Code from module strings:
|
||||
# Code from module strndup:
|
||||
# Code from module strnlen:
|
||||
# Code from module strnlen1:
|
||||
# Code from module sys_wait:
|
||||
# Code from module sys_types:
|
||||
# Code from module sysexits:
|
||||
# Code from module unistd:
|
||||
# Code from module unitypes:
|
||||
# Code from module uniwidth/base:
|
||||
# Code from module uniwidth/width:
|
||||
# Code from module vasnprintf:
|
||||
# Code from module verify:
|
||||
# Code from module vsnprintf:
|
||||
# Code from module warn-on-use:
|
||||
# Code from module wchar:
|
||||
# Code from module wcrtomb:
|
||||
# Code from module wctype:
|
||||
# Code from module wctype-h:
|
||||
# Code from module wcwidth:
|
||||
# Code from module xsize:
|
||||
])
|
||||
|
||||
|
@ -111,158 +140,244 @@ AC_DEFUN([gl_INIT],
|
|||
m4_pushdef([gl_LIBSOURCES_DIR], [])
|
||||
gl_COMMON
|
||||
gl_source_base='grub-core/gnulib'
|
||||
# Code from module alloca:
|
||||
# Code from module alloca-opt:
|
||||
gl_FUNC_ALLOCA
|
||||
# Code from module arg-nonnull:
|
||||
# Code from module argp:
|
||||
gl_ARGP
|
||||
m4_ifdef([AM_XGETTEXT_OPTION],
|
||||
[AM_][XGETTEXT_OPTION([--flag=argp_error:2:c-format])
|
||||
AM_][XGETTEXT_OPTION([--flag=argp_failure:4:c-format])])
|
||||
# Code from module btowc:
|
||||
gl_FUNC_BTOWC
|
||||
if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then
|
||||
AC_LIBOBJ([btowc])
|
||||
gl_PREREQ_BTOWC
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([btowc])
|
||||
# Code from module c++defs:
|
||||
# Code from module configmake:
|
||||
# Code from module dirname-lgpl:
|
||||
gl_CONFIGMAKE_PREP
|
||||
gl_DIRNAME_LGPL
|
||||
# Code from module double-slash-root:
|
||||
gl_DOUBLE_SLASH_ROOT
|
||||
# Code from module errno:
|
||||
gl_HEADER_ERRNO_H
|
||||
# Code from module error:
|
||||
gl_ERROR
|
||||
if test $ac_cv_lib_error_at_line = no; then
|
||||
AC_LIBOBJ([error])
|
||||
gl_PREREQ_ERROR
|
||||
fi
|
||||
m4_ifdef([AM_XGETTEXT_OPTION],
|
||||
[AM_][XGETTEXT_OPTION([--flag=error:3:c-format])
|
||||
AM_][XGETTEXT_OPTION([--flag=error_at_line:5:c-format])])
|
||||
# Code from module extensions:
|
||||
# Code from module float:
|
||||
AC_REQUIRE([gl_EXTERN_INLINE])
|
||||
gl_FLOAT_H
|
||||
# Code from module fnmatch:
|
||||
if test $REPLACE_FLOAT_LDBL = 1; then
|
||||
AC_LIBOBJ([float])
|
||||
fi
|
||||
if test $REPLACE_ITOLD = 1; then
|
||||
AC_LIBOBJ([itold])
|
||||
fi
|
||||
gl_FUNC_FNMATCH_POSIX
|
||||
# Code from module getdelim:
|
||||
if test -n "$FNMATCH_H"; then
|
||||
AC_LIBOBJ([fnmatch])
|
||||
gl_PREREQ_FNMATCH
|
||||
fi
|
||||
gl_FUNC_GETDELIM
|
||||
if test $HAVE_GETDELIM = 0 || test $REPLACE_GETDELIM = 1; then
|
||||
AC_LIBOBJ([getdelim])
|
||||
gl_PREREQ_GETDELIM
|
||||
fi
|
||||
gl_STDIO_MODULE_INDICATOR([getdelim])
|
||||
# Code from module getline:
|
||||
gl_FUNC_GETLINE
|
||||
if test $REPLACE_GETLINE = 1; then
|
||||
AC_LIBOBJ([getline])
|
||||
gl_PREREQ_GETLINE
|
||||
fi
|
||||
gl_STDIO_MODULE_INDICATOR([getline])
|
||||
# Code from module getopt-gnu:
|
||||
gl_FUNC_GETOPT_GNU
|
||||
if test $REPLACE_GETOPT = 1; then
|
||||
AC_LIBOBJ([getopt])
|
||||
AC_LIBOBJ([getopt1])
|
||||
gl_PREREQ_GETOPT
|
||||
dnl Arrange for unistd.h to include getopt.h.
|
||||
GNULIB_GL_UNISTD_H_GETOPT=1
|
||||
fi
|
||||
AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
|
||||
gl_MODULE_INDICATOR_FOR_TESTS([getopt-gnu])
|
||||
# Code from module getopt-posix:
|
||||
gl_FUNC_GETOPT_POSIX
|
||||
# Code from module gettext:
|
||||
if test $REPLACE_GETOPT = 1; then
|
||||
AC_LIBOBJ([getopt])
|
||||
AC_LIBOBJ([getopt1])
|
||||
gl_PREREQ_GETOPT
|
||||
dnl Arrange for unistd.h to include getopt.h.
|
||||
GNULIB_GL_UNISTD_H_GETOPT=1
|
||||
fi
|
||||
AC_SUBST([GNULIB_GL_UNISTD_H_GETOPT])
|
||||
dnl you must add AM_GNU_GETTEXT([external]) or similar to configure.ac.
|
||||
AM_GNU_GETTEXT_VERSION([0.18.1])
|
||||
# Code from module gettext-h:
|
||||
AC_SUBST([LIBINTL])
|
||||
AC_SUBST([LTLIBINTL])
|
||||
# Code from module havelib:
|
||||
# Code from module include_next:
|
||||
# Code from module intprops:
|
||||
# Code from module langinfo:
|
||||
gl_LANGINFO_H
|
||||
# Code from module localcharset:
|
||||
gl_LOCALCHARSET
|
||||
LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(top_builddir)/$gl_source_base\""
|
||||
LOCALCHARSET_TESTS_ENVIRONMENT="CHARSETALIASDIR=\"\$(abs_top_builddir)/$gl_source_base\""
|
||||
AC_SUBST([LOCALCHARSET_TESTS_ENVIRONMENT])
|
||||
# Code from module malloc-gnu:
|
||||
gl_LOCALE_H
|
||||
gl_FUNC_LOCALECONV
|
||||
if test $REPLACE_LOCALECONV = 1; then
|
||||
AC_LIBOBJ([localeconv])
|
||||
gl_PREREQ_LOCALECONV
|
||||
fi
|
||||
gl_LOCALE_MODULE_INDICATOR([localeconv])
|
||||
gl_FUNC_MALLOC_GNU
|
||||
if test $REPLACE_MALLOC = 1; then
|
||||
AC_LIBOBJ([malloc])
|
||||
fi
|
||||
gl_MODULE_INDICATOR([malloc-gnu])
|
||||
# Code from module malloc-posix:
|
||||
gl_FUNC_MALLOC_POSIX
|
||||
if test $REPLACE_MALLOC = 1; then
|
||||
AC_LIBOBJ([malloc])
|
||||
fi
|
||||
gl_STDLIB_MODULE_INDICATOR([malloc-posix])
|
||||
# Code from module mbrtowc:
|
||||
gl_FUNC_MBRTOWC
|
||||
if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
|
||||
AC_LIBOBJ([mbrtowc])
|
||||
gl_PREREQ_MBRTOWC
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([mbrtowc])
|
||||
# Code from module mbsinit:
|
||||
gl_FUNC_MBSINIT
|
||||
if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
|
||||
AC_LIBOBJ([mbsinit])
|
||||
gl_PREREQ_MBSINIT
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([mbsinit])
|
||||
# Code from module mbsrtowcs:
|
||||
gl_FUNC_MBSRTOWCS
|
||||
if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then
|
||||
AC_LIBOBJ([mbsrtowcs])
|
||||
AC_LIBOBJ([mbsrtowcs-state])
|
||||
gl_PREREQ_MBSRTOWCS
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([mbsrtowcs])
|
||||
# Code from module memchr:
|
||||
gl_MBSWIDTH
|
||||
gl_FUNC_MBTOWC
|
||||
if test $REPLACE_MBTOWC = 1; then
|
||||
AC_LIBOBJ([mbtowc])
|
||||
gl_PREREQ_MBTOWC
|
||||
fi
|
||||
gl_STDLIB_MODULE_INDICATOR([mbtowc])
|
||||
gl_FUNC_MEMCHR
|
||||
if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then
|
||||
AC_LIBOBJ([memchr])
|
||||
gl_PREREQ_MEMCHR
|
||||
fi
|
||||
gl_STRING_MODULE_INDICATOR([memchr])
|
||||
# Code from module mempcpy:
|
||||
gl_FUNC_MEMPCPY
|
||||
if test $HAVE_MEMPCPY = 0; then
|
||||
AC_LIBOBJ([mempcpy])
|
||||
gl_PREREQ_MEMPCPY
|
||||
fi
|
||||
gl_STRING_MODULE_INDICATOR([mempcpy])
|
||||
# Code from module multiarch:
|
||||
gl_MSVC_INVAL
|
||||
if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
|
||||
AC_LIBOBJ([msvc-inval])
|
||||
fi
|
||||
gl_MSVC_NOTHROW
|
||||
if test $HAVE_MSVC_INVALID_PARAMETER_HANDLER = 1; then
|
||||
AC_LIBOBJ([msvc-nothrow])
|
||||
fi
|
||||
gl_MULTIARCH
|
||||
# Code from module nl_langinfo:
|
||||
gl_FUNC_NL_LANGINFO
|
||||
if test $HAVE_NL_LANGINFO = 0 || test $REPLACE_NL_LANGINFO = 1; then
|
||||
AC_LIBOBJ([nl_langinfo])
|
||||
fi
|
||||
gl_LANGINFO_MODULE_INDICATOR([nl_langinfo])
|
||||
# Code from module progname:
|
||||
AC_CHECK_DECLS([program_invocation_name], [], [], [#include <errno.h>])
|
||||
AC_CHECK_DECLS([program_invocation_short_name], [], [], [#include <errno.h>])
|
||||
# Code from module rawmemchr:
|
||||
gl_FUNC_RAWMEMCHR
|
||||
if test $HAVE_RAWMEMCHR = 0; then
|
||||
AC_LIBOBJ([rawmemchr])
|
||||
gl_PREREQ_RAWMEMCHR
|
||||
fi
|
||||
gl_STRING_MODULE_INDICATOR([rawmemchr])
|
||||
# Code from module realloc-posix:
|
||||
gl_FUNC_REALLOC_POSIX
|
||||
if test $REPLACE_REALLOC = 1; then
|
||||
AC_LIBOBJ([realloc])
|
||||
fi
|
||||
gl_STDLIB_MODULE_INDICATOR([realloc-posix])
|
||||
# Code from module regex:
|
||||
gl_REGEX
|
||||
# Code from module size_max:
|
||||
if test $ac_use_included_regex = yes; then
|
||||
AC_LIBOBJ([regex])
|
||||
gl_PREREQ_REGEX
|
||||
fi
|
||||
gl_SIZE_MAX
|
||||
# Code from module sleep:
|
||||
gl_FUNC_SLEEP
|
||||
if test $HAVE_SLEEP = 0 || test $REPLACE_SLEEP = 1; then
|
||||
AC_LIBOBJ([sleep])
|
||||
fi
|
||||
gl_UNISTD_MODULE_INDICATOR([sleep])
|
||||
# Code from module ssize_t:
|
||||
gt_TYPE_SSIZE_T
|
||||
# Code from module stdbool:
|
||||
gl_STDALIGN_H
|
||||
AM_STDBOOL_H
|
||||
# Code from module stddef:
|
||||
gl_STDDEF_H
|
||||
# Code from module stdint:
|
||||
gl_STDINT_H
|
||||
# Code from module stdio:
|
||||
gl_STDIO_H
|
||||
# Code from module stdlib:
|
||||
gl_STDLIB_H
|
||||
# Code from module strcase:
|
||||
gl_STRCASE
|
||||
# Code from module strchrnul:
|
||||
if test $HAVE_STRCASECMP = 0; then
|
||||
AC_LIBOBJ([strcasecmp])
|
||||
gl_PREREQ_STRCASECMP
|
||||
fi
|
||||
if test $HAVE_STRNCASECMP = 0; then
|
||||
AC_LIBOBJ([strncasecmp])
|
||||
gl_PREREQ_STRNCASECMP
|
||||
fi
|
||||
gl_FUNC_STRCHRNUL
|
||||
if test $HAVE_STRCHRNUL = 0 || test $REPLACE_STRCHRNUL = 1; then
|
||||
AC_LIBOBJ([strchrnul])
|
||||
gl_PREREQ_STRCHRNUL
|
||||
fi
|
||||
gl_STRING_MODULE_INDICATOR([strchrnul])
|
||||
# Code from module streq:
|
||||
# Code from module strerror:
|
||||
gl_FUNC_STRERROR
|
||||
if test $REPLACE_STRERROR = 1; then
|
||||
AC_LIBOBJ([strerror])
|
||||
fi
|
||||
gl_MODULE_INDICATOR([strerror])
|
||||
gl_STRING_MODULE_INDICATOR([strerror])
|
||||
# Code from module string:
|
||||
AC_REQUIRE([gl_HEADER_ERRNO_H])
|
||||
AC_REQUIRE([gl_FUNC_STRERROR_0])
|
||||
if test -n "$ERRNO_H" || test $REPLACE_STRERROR_0 = 1; then
|
||||
AC_LIBOBJ([strerror-override])
|
||||
gl_PREREQ_SYS_H_WINSOCK2
|
||||
fi
|
||||
gl_HEADER_STRING_H
|
||||
# Code from module strings:
|
||||
gl_HEADER_STRINGS_H
|
||||
# Code from module strndup:
|
||||
gl_FUNC_STRNDUP
|
||||
if test $HAVE_STRNDUP = 0 || test $REPLACE_STRNDUP = 1; then
|
||||
AC_LIBOBJ([strndup])
|
||||
fi
|
||||
gl_STRING_MODULE_INDICATOR([strndup])
|
||||
# Code from module strnlen:
|
||||
gl_FUNC_STRNLEN
|
||||
if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then
|
||||
AC_LIBOBJ([strnlen])
|
||||
gl_PREREQ_STRNLEN
|
||||
fi
|
||||
gl_STRING_MODULE_INDICATOR([strnlen])
|
||||
# Code from module strnlen1:
|
||||
# Code from module sys_wait:
|
||||
gl_SYS_WAIT_H
|
||||
gl_SYS_TYPES_H
|
||||
AC_PROG_MKDIR_P
|
||||
# Code from module sysexits:
|
||||
gl_SYSEXITS
|
||||
# Code from module unistd:
|
||||
gl_UNISTD_H
|
||||
# Code from module vasnprintf:
|
||||
gl_LIBUNISTRING_LIBHEADER([0.9], [unitypes.h])
|
||||
gl_LIBUNISTRING_LIBHEADER([0.9], [uniwidth.h])
|
||||
gl_LIBUNISTRING_MODULE([0.9.4], [uniwidth/width])
|
||||
gl_FUNC_VASNPRINTF
|
||||
# Code from module verify:
|
||||
# Code from module vsnprintf:
|
||||
gl_FUNC_VSNPRINTF
|
||||
gl_STDIO_MODULE_INDICATOR([vsnprintf])
|
||||
# Code from module warn-on-use:
|
||||
# Code from module wchar:
|
||||
gl_WCHAR_H
|
||||
# Code from module wcrtomb:
|
||||
gl_FUNC_WCRTOMB
|
||||
if test $HAVE_WCRTOMB = 0 || test $REPLACE_WCRTOMB = 1; then
|
||||
AC_LIBOBJ([wcrtomb])
|
||||
gl_PREREQ_WCRTOMB
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([wcrtomb])
|
||||
# Code from module wctype:
|
||||
gl_WCTYPE_H
|
||||
# Code from module xsize:
|
||||
gl_FUNC_WCWIDTH
|
||||
if test $HAVE_WCWIDTH = 0 || test $REPLACE_WCWIDTH = 1; then
|
||||
AC_LIBOBJ([wcwidth])
|
||||
fi
|
||||
gl_WCHAR_MODULE_INDICATOR([wcwidth])
|
||||
gl_XSIZE
|
||||
# End of code from modules
|
||||
m4_ifval(gl_LIBSOURCES_LIST, [
|
||||
|
@ -404,10 +519,11 @@ AC_DEFUN([gltests_LIBSOURCES], [
|
|||
# This macro records the list of files which have been installed by
|
||||
# gnulib-tool and may be removed by future gnulib-tool invocations.
|
||||
AC_DEFUN([gl_FILE_LIST], [
|
||||
build-aux/arg-nonnull.h
|
||||
build-aux/c++defs.h
|
||||
build-aux/config.rpath
|
||||
build-aux/warn-on-use.h
|
||||
build-aux/snippet/_Noreturn.h
|
||||
build-aux/snippet/arg-nonnull.h
|
||||
build-aux/snippet/c++defs.h
|
||||
build-aux/snippet/warn-on-use.h
|
||||
lib/alloca.c
|
||||
lib/alloca.in.h
|
||||
lib/argp-ba.c
|
||||
|
@ -429,10 +545,12 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
lib/config.charset
|
||||
lib/dirname-lgpl.c
|
||||
lib/dirname.h
|
||||
lib/dosname.h
|
||||
lib/errno.in.h
|
||||
lib/error.c
|
||||
lib/error.h
|
||||
lib/float+.h
|
||||
lib/float.c
|
||||
lib/float.in.h
|
||||
lib/fnmatch.c
|
||||
lib/fnmatch.in.h
|
||||
|
@ -445,17 +563,29 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
lib/getopt_int.h
|
||||
lib/gettext.h
|
||||
lib/intprops.h
|
||||
lib/itold.c
|
||||
lib/langinfo.in.h
|
||||
lib/localcharset.c
|
||||
lib/localcharset.h
|
||||
lib/locale.in.h
|
||||
lib/localeconv.c
|
||||
lib/malloc.c
|
||||
lib/mbrtowc.c
|
||||
lib/mbsinit.c
|
||||
lib/mbsrtowcs-impl.h
|
||||
lib/mbsrtowcs-state.c
|
||||
lib/mbsrtowcs.c
|
||||
lib/mbswidth.c
|
||||
lib/mbswidth.h
|
||||
lib/mbtowc-impl.h
|
||||
lib/mbtowc.c
|
||||
lib/memchr.c
|
||||
lib/memchr.valgrind
|
||||
lib/mempcpy.c
|
||||
lib/msvc-inval.c
|
||||
lib/msvc-inval.h
|
||||
lib/msvc-nothrow.c
|
||||
lib/msvc-nothrow.h
|
||||
lib/nl_langinfo.c
|
||||
lib/printf-args.c
|
||||
lib/printf-args.h
|
||||
|
@ -476,16 +606,18 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
lib/regexec.c
|
||||
lib/size_max.h
|
||||
lib/sleep.c
|
||||
lib/stdalign.in.h
|
||||
lib/stdbool.in.h
|
||||
lib/stddef.in.h
|
||||
lib/stdint.in.h
|
||||
lib/stdio-write.c
|
||||
lib/stdio.in.h
|
||||
lib/stdlib.in.h
|
||||
lib/strcasecmp.c
|
||||
lib/strchrnul.c
|
||||
lib/strchrnul.valgrind
|
||||
lib/streq.h
|
||||
lib/strerror-override.c
|
||||
lib/strerror-override.h
|
||||
lib/strerror.c
|
||||
lib/string.in.h
|
||||
lib/strings.in.h
|
||||
|
@ -495,29 +627,39 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
lib/strnlen.c
|
||||
lib/strnlen1.c
|
||||
lib/strnlen1.h
|
||||
lib/sys_wait.in.h
|
||||
lib/sys_types.in.h
|
||||
lib/sysexits.in.h
|
||||
lib/unistd.c
|
||||
lib/unistd.in.h
|
||||
lib/unitypes.in.h
|
||||
lib/uniwidth.in.h
|
||||
lib/uniwidth/cjk.h
|
||||
lib/uniwidth/width.c
|
||||
lib/vasnprintf.c
|
||||
lib/vasnprintf.h
|
||||
lib/verify.h
|
||||
lib/vsnprintf.c
|
||||
lib/wchar.in.h
|
||||
lib/wcrtomb.c
|
||||
lib/wctype-h.c
|
||||
lib/wctype.in.h
|
||||
lib/wcwidth.c
|
||||
lib/xsize.c
|
||||
lib/xsize.h
|
||||
m4/00gnulib.m4
|
||||
m4/alloca.m4
|
||||
m4/argp.m4
|
||||
m4/asm-underscore.m4
|
||||
m4/btowc.m4
|
||||
m4/codeset.m4
|
||||
m4/configmake.m4
|
||||
m4/dirname.m4
|
||||
m4/dos.m4
|
||||
m4/double-slash-root.m4
|
||||
m4/eealloc.m4
|
||||
m4/errno_h.m4
|
||||
m4/error.m4
|
||||
m4/exponentd.m4
|
||||
m4/extensions.m4
|
||||
m4/extern-inline.m4
|
||||
m4/fcntl-o.m4
|
||||
m4/float_h.m4
|
||||
m4/fnmatch.m4
|
||||
|
@ -543,23 +685,33 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
m4/lib-ld.m4
|
||||
m4/lib-link.m4
|
||||
m4/lib-prefix.m4
|
||||
m4/libunistring-base.m4
|
||||
m4/localcharset.m4
|
||||
m4/locale-fr.m4
|
||||
m4/locale-ja.m4
|
||||
m4/locale-zh.m4
|
||||
m4/locale_h.m4
|
||||
m4/localeconv.m4
|
||||
m4/lock.m4
|
||||
m4/longlong.m4
|
||||
m4/malloc.m4
|
||||
m4/math_h.m4
|
||||
m4/mbrtowc.m4
|
||||
m4/mbsinit.m4
|
||||
m4/mbsrtowcs.m4
|
||||
m4/mbstate_t.m4
|
||||
m4/mbswidth.m4
|
||||
m4/mbtowc.m4
|
||||
m4/memchr.m4
|
||||
m4/mempcpy.m4
|
||||
m4/mmap-anon.m4
|
||||
m4/msvc-inval.m4
|
||||
m4/msvc-nothrow.m4
|
||||
m4/multiarch.m4
|
||||
m4/nl_langinfo.m4
|
||||
m4/nls.m4
|
||||
m4/nocrash.m4
|
||||
m4/off_t.m4
|
||||
m4/po.m4
|
||||
m4/printf-posix.m4
|
||||
m4/printf.m4
|
||||
|
@ -570,6 +722,7 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
m4/size_max.m4
|
||||
m4/sleep.m4
|
||||
m4/ssize_t.m4
|
||||
m4/stdalign.m4
|
||||
m4/stdbool.m4
|
||||
m4/stddef_h.m4
|
||||
m4/stdint.m4
|
||||
|
@ -583,7 +736,8 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
m4/strings_h.m4
|
||||
m4/strndup.m4
|
||||
m4/strnlen.m4
|
||||
m4/sys_wait_h.m4
|
||||
m4/sys_socket_h.m4
|
||||
m4/sys_types_h.m4
|
||||
m4/sysexits.m4
|
||||
m4/threadlib.m4
|
||||
m4/uintmax_t.m4
|
||||
|
@ -596,6 +750,7 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
m4/wchar_t.m4
|
||||
m4/wcrtomb.m4
|
||||
m4/wctype_h.m4
|
||||
m4/wcwidth.m4
|
||||
m4/wint_t.m4
|
||||
m4/xsize.m4
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# gnulib-tool.m4 serial 2
|
||||
dnl Copyright (C) 2004-2005, 2009-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2004-2005, 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.
|
||||
|
|
30
m4/iconv.m4
30
m4/iconv.m4
|
@ -1,5 +1,5 @@
|
|||
# iconv.m4 serial 15 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc.
|
||||
# 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.
|
||||
|
@ -78,6 +78,7 @@ AC_DEFUN([AM_ICONV_LINK],
|
|||
#include <string.h>
|
||||
int main ()
|
||||
{
|
||||
int result = 0;
|
||||
/* Test against AIX 5.1 bug: Failures are not distinguishable from successful
|
||||
returns. */
|
||||
{
|
||||
|
@ -94,7 +95,8 @@ int main ()
|
|||
(char **) &inptr, &inbytesleft,
|
||||
&outptr, &outbytesleft);
|
||||
if (res == 0)
|
||||
return 1;
|
||||
result |= 1;
|
||||
iconv_close (cd_utf8_to_88591);
|
||||
}
|
||||
}
|
||||
/* Test against Solaris 10 bug: Failures are not distinguishable from
|
||||
|
@ -113,7 +115,8 @@ int main ()
|
|||
(char **) &inptr, &inbytesleft,
|
||||
&outptr, &outbytesleft);
|
||||
if (res == 0)
|
||||
return 1;
|
||||
result |= 2;
|
||||
iconv_close (cd_ascii_to_88591);
|
||||
}
|
||||
}
|
||||
/* Test against AIX 6.1..7.1 bug: Buffer overrun. */
|
||||
|
@ -131,7 +134,8 @@ int main ()
|
|||
(char **) &inptr, &inbytesleft,
|
||||
&outptr, &outbytesleft);
|
||||
if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
|
||||
return 1;
|
||||
result |= 4;
|
||||
iconv_close (cd_88591_to_utf8);
|
||||
}
|
||||
}
|
||||
#if 0 /* This bug could be worked around by the caller. */
|
||||
|
@ -150,7 +154,8 @@ int main ()
|
|||
(char **) &inptr, &inbytesleft,
|
||||
&outptr, &outbytesleft);
|
||||
if ((int)res > 0)
|
||||
return 1;
|
||||
result |= 8;
|
||||
iconv_close (cd_88591_to_utf8);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -164,8 +169,8 @@ int main ()
|
|||
&& iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
|
||||
/* Try HP-UX names. */
|
||||
&& iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
|
||||
return 1;
|
||||
return 0;
|
||||
result |= 16;
|
||||
return result;
|
||||
}]])],
|
||||
[am_cv_func_iconv_works=yes],
|
||||
[am_cv_func_iconv_works=no],
|
||||
|
@ -237,7 +242,7 @@ extern
|
|||
#ifdef __cplusplus
|
||||
"C"
|
||||
#endif
|
||||
#if defined(__STDC__) || defined(__cplusplus)
|
||||
#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();
|
||||
|
@ -252,5 +257,12 @@ size_t iconv();
|
|||
$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 @@
|
|||
# include_next.m4 serial 15
|
||||
dnl Copyright (C) 2006-2010 Free Software Foundation, Inc.
|
||||
# include_next.m4 serial 23
|
||||
dnl Copyright (C) 2006-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.
|
||||
|
@ -24,6 +24,13 @@ dnl does not warn about some things, and on some systems (Solaris and Interix)
|
|||
dnl __STDC__ evaluates to 0 instead of to 1. The latter is an undesired side
|
||||
dnl effect; we are therefore careful to use 'defined __STDC__' or '1' instead
|
||||
dnl of plain '__STDC__'.
|
||||
dnl
|
||||
dnl PRAGMA_COLUMNS can be used in files that override system header files, so
|
||||
dnl as to avoid compilation errors on HP NonStop systems when the gnulib file
|
||||
dnl is included by a system header file that does a "#pragma COLUMNS 80" (which
|
||||
dnl has the effect of truncating the lines of that file and all files that it
|
||||
dnl includes to 80 columns) and the gnulib file has lines longer than 80
|
||||
dnl columns.
|
||||
|
||||
AC_DEFUN([gl_INCLUDE_NEXT],
|
||||
[
|
||||
|
@ -98,6 +105,24 @@ 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],
|
||||
[
|
||||
#ifdef __TANDEM
|
||||
choke me
|
||||
#endif
|
||||
],
|
||||
[gl_cv_pragma_columns=yes],
|
||||
[gl_cv_pragma_columns=no])
|
||||
])
|
||||
if test $gl_cv_pragma_columns = yes; then
|
||||
PRAGMA_COLUMNS="#pragma COLUMNS 10000"
|
||||
else
|
||||
PRAGMA_COLUMNS=
|
||||
fi
|
||||
AC_SUBST([PRAGMA_COLUMNS])
|
||||
])
|
||||
|
||||
# gl_CHECK_NEXT_HEADERS(HEADER1 HEADER2 ...)
|
||||
|
@ -118,68 +143,121 @@ dnl We intentionally avoid using AC_LANG_SOURCE here.
|
|||
# even if the compiler does not support include_next.
|
||||
# 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.
|
||||
# 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.
|
||||
#
|
||||
# This macro also checks whether each header exists, by invoking
|
||||
# AC_CHECK_HEADERS_ONCE or AC_CHECK_HEADERS on each argument.
|
||||
AC_DEFUN([gl_CHECK_NEXT_HEADERS],
|
||||
[
|
||||
gl_NEXT_HEADERS_INTERNAL([$1], [check])
|
||||
])
|
||||
|
||||
# gl_NEXT_HEADERS(HEADER1 HEADER2 ...)
|
||||
# ------------------------------------
|
||||
# Like gl_CHECK_NEXT_HEADERS, except do not check whether the headers exist.
|
||||
# This is suitable for headers like <stddef.h> that are standardized by C89
|
||||
# and therefore can be assumed to exist.
|
||||
AC_DEFUN([gl_NEXT_HEADERS],
|
||||
[
|
||||
gl_NEXT_HEADERS_INTERNAL([$1], [assume])
|
||||
])
|
||||
|
||||
# The guts of gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS.
|
||||
AC_DEFUN([gl_NEXT_HEADERS_INTERNAL],
|
||||
[
|
||||
AC_REQUIRE([gl_INCLUDE_NEXT])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_CHECK_HEADERS_ONCE([$1])
|
||||
|
||||
m4_if([$2], [check],
|
||||
[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]),
|
||||
[AS_VAR_PUSHDEF([gl_header_exists],
|
||||
[ac_cv_header_]m4_defn([gl_HEADER_NAME]))
|
||||
if test AS_VAR_GET(gl_header_exists) = yes; then
|
||||
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 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
|
||||
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 '\#/]m4_defn([gl_HEADER_NAME])[#{
|
||||
s#.*"\(.*/]m4_defn([gl_HEADER_NAME])[\)".*#\1#
|
||||
s#^/[^/]#//&#
|
||||
p
|
||||
q
|
||||
}'`'"'])
|
||||
else
|
||||
AS_VAR_SET([gl_next_header], ['<'gl_HEADER_NAME'>'])
|
||||
fi
|
||||
AS_VAR_POPDEF([gl_header_exists])])
|
||||
[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
|
||||
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"`'"'])
|
||||
m4_if([$2], [check],
|
||||
[else
|
||||
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 @@
|
|||
# intdiv0.m4 serial 4 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2002, 2007-2008, 2010 Free Software Foundation, Inc.
|
||||
# intdiv0.m4 serial 6 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2002, 2007-2008, 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.
|
||||
|
@ -18,7 +18,7 @@ AC_DEFUN([gt_INTDIV0],
|
|||
changequote(,)dnl
|
||||
case "$host_os" in
|
||||
macos* | darwin[6-9]* | darwin[1-9][0-9]*)
|
||||
# On MacOS X 10.2 or newer, just assume the same as when cross-
|
||||
# On Mac OS X 10.2 or newer, just assume the same as when cross-
|
||||
# compiling. If we were to perform the real test, 1 Crash Report
|
||||
# dialog window would pop up.
|
||||
case "$host_cpu" in
|
||||
|
@ -60,7 +60,7 @@ int main ()
|
|||
|
||||
z = x / y;
|
||||
nan = y / y;
|
||||
exit (1);
|
||||
exit (2);
|
||||
}
|
||||
]])],
|
||||
[gt_cv_int_divbyzero_sigfpe=yes],
|
||||
|
|
14
m4/intl.m4
14
m4/intl.m4
|
@ -1,5 +1,5 @@
|
|||
# intl.m4 serial 17b
|
||||
dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
|
||||
# intl.m4 serial 22 (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.
|
||||
|
@ -17,7 +17,7 @@ dnl Authors:
|
|||
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
|
||||
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2009.
|
||||
|
||||
AC_PREREQ([2.53])
|
||||
AC_PREREQ([2.60])
|
||||
|
||||
dnl Checks for all prerequisites of the intl subdirectory,
|
||||
dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
|
||||
|
@ -25,7 +25,7 @@ dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
|
|||
AC_DEFUN([AM_INTL_SUBDIR],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||
AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
|
||||
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
AC_REQUIRE([gt_GLIBC2])dnl
|
||||
|
@ -55,7 +55,7 @@ AC_DEFUN([AM_INTL_SUBDIR],
|
|||
[AC_DEFINE([ptrdiff_t], [long],
|
||||
[Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
|
||||
])
|
||||
AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
|
||||
AC_CHECK_HEADERS([features.h stddef.h stdlib.h string.h])
|
||||
AC_CHECK_FUNCS([asprintf fwprintf newlocale putenv setenv setlocale \
|
||||
snprintf strnlen wcslen wcsnlen mbrtowc wcrtomb])
|
||||
|
||||
|
@ -295,6 +295,6 @@ AC_DEFUN([gt_CHECK_DECL],
|
|||
else
|
||||
gt_value=0
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([HAVE_DECL_]translit($1, [a-z], [A-Z]), [$gt_value],
|
||||
[Define to 1 if you have the declaration of `$1', and to 0 if you don't.])
|
||||
AC_DEFINE_UNQUOTED([HAVE_DECL_]m4_translit($1, [a-z], [A-Z]), [$gt_value],
|
||||
[Define to 1 if you have the declaration of '$1', and to 0 if you don't.])
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# intldir.m4 serial 2 (gettext-0.18)
|
||||
dnl Copyright (C) 2006, 2009-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 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.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# intlmacosx.m4 serial 4 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2004-2010 Free Software Foundation, Inc.
|
||||
# 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.
|
||||
|
@ -13,11 +13,11 @@ 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 MacOS X.
|
||||
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 MacOS X 10.2.
|
||||
dnl Check for API introduced in Mac OS X 10.2.
|
||||
AC_CACHE_CHECK([for CFPreferencesCopyAppValue],
|
||||
[gt_cv_func_CFPreferencesCopyAppValue],
|
||||
[gt_save_LIBS="$LIBS"
|
||||
|
@ -31,9 +31,9 @@ AC_DEFUN([gt_INTL_MACOSX],
|
|||
LIBS="$gt_save_LIBS"])
|
||||
if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then
|
||||
AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
|
||||
[Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
|
||||
[Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
|
||||
fi
|
||||
dnl Check for API introduced in MacOS X 10.3.
|
||||
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"
|
||||
|
@ -46,7 +46,7 @@ AC_DEFUN([gt_INTL_MACOSX],
|
|||
LIBS="$gt_save_LIBS"])
|
||||
if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
|
||||
AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
|
||||
[Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
|
||||
[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
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# intmax.m4 serial 6 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2002-2005, 2008-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2002-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.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# intmax_t.m4 serial 8
|
||||
dnl Copyright (C) 1997-2004, 2006-2007, 2009-2010 Free Software Foundation,
|
||||
dnl Copyright (C) 1997-2004, 2006-2007, 2009-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,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# inttypes-pri.m4 serial 7 (gettext-0.18.2)
|
||||
dnl Copyright (C) 1997-2002, 2006, 2008-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 1997-2002, 2006, 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.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# inttypes_h.m4 serial 10
|
||||
dnl Copyright (C) 1997-2004, 2006, 2008-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 1997-2004, 2006, 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.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# langinfo_h.m4 serial 7
|
||||
dnl Copyright (C) 2009-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 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.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# lcmessage.m4 serial 7 (gettext-0.18.2)
|
||||
dnl Copyright (C) 1995-2002, 2004-2005, 2008-2010 Free Software Foundation,
|
||||
dnl Copyright (C) 1995-2002, 2004-2005, 2008-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,
|
||||
|
|
60
m4/lib-ld.m4
60
m4/lib-ld.m4
|
@ -1,33 +1,39 @@
|
|||
# lib-ld.m4 serial 5 (gettext-0.18.2)
|
||||
dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc.
|
||||
# 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/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision
|
||||
dnl with 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-1.4. Sets the variable with_gnu_ld to yes or no.
|
||||
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 ld's only accept -v.
|
||||
[# 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=yes
|
||||
;;
|
||||
*)
|
||||
acl_cv_prog_gnu_ld=no ;;
|
||||
acl_cv_prog_gnu_ld=no
|
||||
;;
|
||||
esac])
|
||||
with_gnu_ld=$acl_cv_prog_gnu_ld
|
||||
])
|
||||
|
||||
dnl From libtool-1.4. Sets the variable LD.
|
||||
dnl From libtool-2.4. Sets the variable LD.
|
||||
AC_DEFUN([AC_LIB_PROG_LD],
|
||||
[AC_ARG_WITH([gnu-ld],
|
||||
[ --with-gnu-ld assume the C compiler uses GNU ld [default=no]],
|
||||
test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no)
|
||||
AC_REQUIRE([AC_PROG_CC])dnl
|
||||
[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
|
||||
|
@ -40,10 +46,11 @@ if test "${PATH_SEPARATOR+set}" != set; then
|
|||
|| 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 GCC])
|
||||
AC_MSG_CHECKING([for ld used by $CC])
|
||||
case $host in
|
||||
*-*-mingw*)
|
||||
# gcc leaves a trailing carriage return which upsets mingw
|
||||
|
@ -53,11 +60,11 @@ if test "$GCC" = yes; then
|
|||
esac
|
||||
case $ac_prog in
|
||||
# Accept absolute paths.
|
||||
[[\\/]* | [A-Za-z]:[\\/]*)]
|
||||
[re_direlt='/[^/][^/]*/\.\./']
|
||||
# Canonicalize the path of ld
|
||||
ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'`
|
||||
while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do
|
||||
[[\\/]]* | ?:[[\\/]]*)
|
||||
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"
|
||||
|
@ -78,23 +85,26 @@ else
|
|||
fi
|
||||
AC_CACHE_VAL([acl_cv_path_LD],
|
||||
[if test -z "$LD"; then
|
||||
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}"
|
||||
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 GNU ld's only accept -v.
|
||||
# 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
|
||||
case `"$acl_cv_path_LD" -v 2>&1 </dev/null` in
|
||||
*GNU* | *'with BFD'*)
|
||||
test "$with_gnu_ld" != no && break ;;
|
||||
test "$with_gnu_ld" != no && break
|
||||
;;
|
||||
*)
|
||||
test "$with_gnu_ld" != yes && break ;;
|
||||
test "$with_gnu_ld" != yes && break
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
IFS="$ac_save_ifs"
|
||||
IFS="$acl_save_ifs"
|
||||
else
|
||||
acl_cv_path_LD="$LD" # Let the user override the test with a path.
|
||||
fi])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# lib-link.m4 serial 25 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2001-2010 Free Software Foundation, Inc.
|
||||
# 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.
|
||||
|
@ -116,6 +116,8 @@ AC_DEFUN([AC_LIB_HAVE_LINKFLAGS],
|
|||
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,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# lib-prefix.m4 serial 7 (gettext-0.18)
|
||||
dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc.
|
||||
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.
|
||||
|
|
141
m4/libunistring-base.m4
Normal file
141
m4/libunistring-base.m4
Normal file
|
@ -0,0 +1,141 @@
|
|||
# libunistring-base.m4 serial 5
|
||||
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.
|
||||
|
||||
dnl From Paolo Bonzini and Bruno Haible.
|
||||
|
||||
dnl gl_LIBUNISTRING_MODULE([VERSION], [Module])
|
||||
dnl Declares that the source files of Module should be compiled, unless we
|
||||
dnl are linking with libunistring and its version is >= the given VERSION.
|
||||
dnl Defines an automake conditional LIBUNISTRING_COMPILE_$MODULE that is
|
||||
dnl true if the source files of Module should be compiled.
|
||||
dnl This macro is to be used for public libunistring API, not for
|
||||
dnl undocumented API.
|
||||
dnl
|
||||
dnl You have to bump the VERSION argument to the next projected version
|
||||
dnl number each time you make a change that affects the behaviour of the
|
||||
dnl functions defined in Module (even if the sources of Module itself do not
|
||||
dnl change).
|
||||
|
||||
AC_DEFUN([gl_LIBUNISTRING_MODULE],
|
||||
[
|
||||
AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE])
|
||||
dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from
|
||||
dnl gl_LIBUNISTRING_CORE if that macro has been run.
|
||||
AM_CONDITIONAL(AS_TR_CPP([LIBUNISTRING_COMPILE_$2]),
|
||||
[gl_LIBUNISTRING_VERSION_CMP([$1])])
|
||||
])
|
||||
|
||||
dnl gl_LIBUNISTRING_LIBHEADER([VERSION], [HeaderFile])
|
||||
dnl Declares that HeaderFile should be created, unless we are linking
|
||||
dnl with libunistring and its version is >= the given VERSION.
|
||||
dnl HeaderFile should be relative to the lib directory and end in '.h'.
|
||||
dnl Prepares for substituting LIBUNISTRING_HEADERFILE (to HeaderFile or empty).
|
||||
dnl
|
||||
dnl When we are linking with the already installed libunistring and its version
|
||||
dnl is < VERSION, we create HeaderFile here, because we may compile functions
|
||||
dnl (via gl_LIBUNISTRING_MODULE above) that are not contained in the installed
|
||||
dnl version.
|
||||
dnl When we are linking with the already installed libunistring and its version
|
||||
dnl is > VERSION, we don't create HeaderFile here: it could cause compilation
|
||||
dnl errors in other libunistring header files if some types are missing.
|
||||
dnl
|
||||
dnl You have to bump the VERSION argument to the next projected version
|
||||
dnl number each time you make a non-comment change to the HeaderFile.
|
||||
|
||||
AC_DEFUN([gl_LIBUNISTRING_LIBHEADER],
|
||||
[
|
||||
AC_REQUIRE([gl_LIBUNISTRING_LIB_PREPARE])
|
||||
dnl Use the variables HAVE_LIBUNISTRING, LIBUNISTRING_VERSION from
|
||||
dnl gl_LIBUNISTRING_CORE if that macro has been run.
|
||||
if gl_LIBUNISTRING_VERSION_CMP([$1]); then
|
||||
LIBUNISTRING_[]AS_TR_CPP([$2])='$2'
|
||||
else
|
||||
LIBUNISTRING_[]AS_TR_CPP([$2])=
|
||||
fi
|
||||
AC_SUBST([LIBUNISTRING_]AS_TR_CPP([$2]))
|
||||
])
|
||||
|
||||
dnl Miscellaneous preparations/initializations.
|
||||
|
||||
AC_DEFUN([gl_LIBUNISTRING_LIB_PREPARE],
|
||||
[
|
||||
dnl Ensure that HAVE_LIBUNISTRING is fully determined at this point.
|
||||
m4_ifdef([gl_LIBUNISTRING], [AC_REQUIRE([gl_LIBUNISTRING])])
|
||||
|
||||
AC_REQUIRE([AC_PROG_AWK])
|
||||
|
||||
dnl Sed expressions to extract the parts of a version number.
|
||||
changequote(,)
|
||||
gl_libunistring_sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;}
|
||||
i\
|
||||
0
|
||||
q
|
||||
'
|
||||
gl_libunistring_sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;}
|
||||
i\
|
||||
0
|
||||
q
|
||||
'
|
||||
gl_libunistring_sed_extract_subminor='/^[0-9][0-9]*[.][0-9][0-9]*[.][0-9]/{s/^[0-9]*[.][0-9]*[.]\([0-9]*\).*/\1/p;q;}
|
||||
i\
|
||||
0
|
||||
q
|
||||
'
|
||||
changequote([,])
|
||||
|
||||
if test "$HAVE_LIBUNISTRING" = yes; then
|
||||
LIBUNISTRING_VERSION_MAJOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_major"`
|
||||
LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"`
|
||||
LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"`
|
||||
fi
|
||||
])
|
||||
|
||||
dnl gl_LIBUNISTRING_VERSION_CMP([VERSION])
|
||||
dnl Expands to a shell statement that evaluates to true if LIBUNISTRING_VERSION
|
||||
dnl is less than the VERSION argument.
|
||||
AC_DEFUN([gl_LIBUNISTRING_VERSION_CMP],
|
||||
[ { test "$HAVE_LIBUNISTRING" != yes \
|
||||
|| {
|
||||
dnl AS_LITERAL_IF exists and works fine since autoconf-2.59 at least.
|
||||
AS_LITERAL_IF([$1],
|
||||
[dnl This is the optimized variant, that assumes the argument is a literal:
|
||||
m4_pushdef([requested_version_major],
|
||||
[gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^\([0-9]*\).*], [\1]), [])])
|
||||
m4_pushdef([requested_version_minor],
|
||||
[gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^[0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
|
||||
m4_pushdef([requested_version_subminor],
|
||||
[gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^[0-9]*[.][0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
|
||||
test $LIBUNISTRING_VERSION_MAJOR -lt requested_version_major \
|
||||
|| { test $LIBUNISTRING_VERSION_MAJOR -eq requested_version_major \
|
||||
&& { test $LIBUNISTRING_VERSION_MINOR -lt requested_version_minor \
|
||||
|| { test $LIBUNISTRING_VERSION_MINOR -eq requested_version_minor \
|
||||
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt requested_version_subminor
|
||||
}
|
||||
}
|
||||
}
|
||||
m4_popdef([requested_version_subminor])
|
||||
m4_popdef([requested_version_minor])
|
||||
m4_popdef([requested_version_major])
|
||||
],
|
||||
[dnl This is the unoptimized variant:
|
||||
requested_version_major=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_major"`
|
||||
requested_version_minor=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_minor"`
|
||||
requested_version_subminor=`echo '$1' | sed -n -e "$gl_libunistring_sed_extract_subminor"`
|
||||
test $LIBUNISTRING_VERSION_MAJOR -lt $requested_version_major \
|
||||
|| { test $LIBUNISTRING_VERSION_MAJOR -eq $requested_version_major \
|
||||
&& { test $LIBUNISTRING_VERSION_MINOR -lt $requested_version_minor \
|
||||
|| { test $LIBUNISTRING_VERSION_MINOR -eq $requested_version_minor \
|
||||
&& test $LIBUNISTRING_VERSION_SUBMINOR -lt $requested_version_subminor
|
||||
}
|
||||
}
|
||||
}
|
||||
])
|
||||
}
|
||||
}])
|
||||
|
||||
dnl gl_LIBUNISTRING_ARG_OR_ZERO([ARG], [ORIG]) expands to ARG if it is not the
|
||||
dnl same as ORIG, otherwise to 0.
|
||||
m4_define([gl_LIBUNISTRING_ARG_OR_ZERO], [m4_if([$1], [$2], [0], [$1])])
|
|
@ -1,5 +1,5 @@
|
|||
# localcharset.m4 serial 7
|
||||
dnl Copyright (C) 2002, 2004, 2006, 2009, 2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2002, 2004, 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.
|
||||
|
|
161
m4/locale-fr.m4
161
m4/locale-fr.m4
|
@ -1,5 +1,5 @@
|
|||
# locale-fr.m4 serial 11
|
||||
dnl Copyright (C) 2003, 2005-2010 Free Software Foundation, Inc.
|
||||
# locale-fr.m4 serial 17
|
||||
dnl Copyright (C) 2003, 2005-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.
|
||||
|
@ -25,17 +25,30 @@ struct tm t;
|
|||
char buf[16];
|
||||
int main () {
|
||||
/* Check whether the given locale name is recognized by the system. */
|
||||
#if (defined _WIN32 || 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
|
||||
category of the locale to "C". */
|
||||
if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
|
||||
|| strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
|
||||
return 1;
|
||||
#else
|
||||
if (setlocale (LC_ALL, "") == NULL) return 1;
|
||||
#endif
|
||||
/* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
|
||||
On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
|
||||
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.
|
||||
On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
|
||||
succeeds but then nl_langinfo(CODESET) is "646". In this situation,
|
||||
some unit tests fail. */
|
||||
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
|
||||
{
|
||||
const char *cs = nl_langinfo (CODESET);
|
||||
if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
|
||||
if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
|
||||
|| strcmp (cs, "UTF-8") == 0)
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
@ -50,46 +63,67 @@ int main () {
|
|||
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. */
|
||||
/* 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
|
||||
return 0;
|
||||
}
|
||||
changequote([,])dnl
|
||||
])])
|
||||
if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
|
||||
# Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
|
||||
# otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
|
||||
# configure script would override the LC_ALL setting. Likewise for
|
||||
# LC_CTYPE, which is also set at the beginning of the configure script.
|
||||
# Test for the usual locale name.
|
||||
if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr=fr_FR
|
||||
else
|
||||
# Test for the locale name with explicit encoding suffix.
|
||||
if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr=fr_FR.ISO-8859-1
|
||||
else
|
||||
# Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
|
||||
if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr=fr_FR.ISO8859-1
|
||||
case "$host_os" in
|
||||
# Handle native Windows specially, because there setlocale() interprets
|
||||
# "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
|
||||
# "fr" or "fra" as "French" or "French_France.1252",
|
||||
# "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
|
||||
# "ja" as "Japanese" or "Japanese_Japan.932",
|
||||
# and similar.
|
||||
mingw*)
|
||||
# Test for the native Windows locale name.
|
||||
if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr=French_France.1252
|
||||
else
|
||||
# Test for the HP-UX locale name.
|
||||
if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr=fr_FR.iso88591
|
||||
# None found.
|
||||
gt_cv_locale_fr=none
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
# Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
|
||||
# otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
|
||||
# configure script would override the LC_ALL setting. Likewise for
|
||||
# LC_CTYPE, which is also set at the beginning of the configure script.
|
||||
# Test for the usual locale name.
|
||||
if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr=fr_FR
|
||||
else
|
||||
# Test for the locale name with explicit encoding suffix.
|
||||
if (LC_ALL=fr_FR.ISO-8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr=fr_FR.ISO-8859-1
|
||||
else
|
||||
# Test for the Solaris 7 locale name.
|
||||
if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr=fr
|
||||
# Test for the AIX, OSF/1, FreeBSD, NetBSD, OpenBSD locale name.
|
||||
if (LC_ALL=fr_FR.ISO8859-1 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr=fr_FR.ISO8859-1
|
||||
else
|
||||
# None found.
|
||||
gt_cv_locale_fr=none
|
||||
# Test for the HP-UX locale name.
|
||||
if (LC_ALL=fr_FR.iso88591 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr=fr_FR.iso88591
|
||||
else
|
||||
# Test for the Solaris 7 locale name.
|
||||
if (LC_ALL=fr LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr=fr
|
||||
else
|
||||
# None found.
|
||||
gt_cv_locale_fr=none
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
rm -fr conftest*
|
||||
])
|
||||
|
@ -119,9 +153,19 @@ 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__
|
||||
/* 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
|
||||
category of the locale to "C". */
|
||||
if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
|
||||
|| strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
|
||||
return 1;
|
||||
# else
|
||||
if (setlocale (LC_ALL, "") == NULL) return 1;
|
||||
# endif
|
||||
/* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
|
||||
On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
|
||||
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.
|
||||
On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
|
||||
succeeds but then nl_langinfo(CODESET) is "646". In this situation,
|
||||
|
@ -147,36 +191,57 @@ int main () {
|
|||
|| buf[1] != (char) 0xc3 || buf[2] != (char) 0xa9 || buf[3] != 'v')
|
||||
return 1;
|
||||
#endif
|
||||
#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
|
||||
return 0;
|
||||
}
|
||||
changequote([,])dnl
|
||||
])])
|
||||
if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
|
||||
# Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
|
||||
# otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
|
||||
# configure script would override the LC_ALL setting. Likewise for
|
||||
# LC_CTYPE, which is also set at the beginning of the configure script.
|
||||
# Test for the usual locale name.
|
||||
if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr_utf8=fr_FR
|
||||
else
|
||||
# Test for the locale name with explicit encoding suffix.
|
||||
if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr_utf8=fr_FR.UTF-8
|
||||
else
|
||||
# Test for the Solaris 7 locale name.
|
||||
if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr_utf8=fr.UTF-8
|
||||
case "$host_os" in
|
||||
# Handle native Windows specially, because there setlocale() interprets
|
||||
# "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
|
||||
# "fr" or "fra" as "French" or "French_France.1252",
|
||||
# "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
|
||||
# "ja" as "Japanese" or "Japanese_Japan.932",
|
||||
# and similar.
|
||||
mingw*)
|
||||
# Test for the hypothetical native Windows locale name.
|
||||
if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr_utf8=French_France.65001
|
||||
else
|
||||
# None found.
|
||||
gt_cv_locale_fr_utf8=none
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
# Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
|
||||
# otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
|
||||
# configure script would override the LC_ALL setting. Likewise for
|
||||
# LC_CTYPE, which is also set at the beginning of the configure script.
|
||||
# Test for the usual locale name.
|
||||
if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr_utf8=fr_FR
|
||||
else
|
||||
# Test for the locale name with explicit encoding suffix.
|
||||
if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr_utf8=fr_FR.UTF-8
|
||||
else
|
||||
# Test for the Solaris 7 locale name.
|
||||
if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_fr_utf8=fr.UTF-8
|
||||
else
|
||||
# None found.
|
||||
gt_cv_locale_fr_utf8=none
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
rm -fr conftest*
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# locale-ja.m4 serial 7
|
||||
dnl Copyright (C) 2003, 2005-2010 Free Software Foundation, Inc.
|
||||
# locale-ja.m4 serial 12
|
||||
dnl Copyright (C) 2003, 2005-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.
|
||||
|
@ -27,17 +27,30 @@ int main ()
|
|||
{
|
||||
const char *p;
|
||||
/* Check whether the given locale name is recognized by the system. */
|
||||
#if (defined _WIN32 || 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
|
||||
category of the locale to "C". */
|
||||
if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
|
||||
|| strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
|
||||
return 1;
|
||||
#else
|
||||
if (setlocale (LC_ALL, "") == NULL) return 1;
|
||||
#endif
|
||||
/* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
|
||||
On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
|
||||
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.
|
||||
On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
|
||||
succeeds but then nl_langinfo(CODESET) is "646". In this situation,
|
||||
some unit tests fail. */
|
||||
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
|
||||
{
|
||||
const char *cs = nl_langinfo (CODESET);
|
||||
if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
|
||||
if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
|
||||
|| strcmp (cs, "UTF-8") == 0)
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
@ -52,7 +65,7 @@ int main ()
|
|||
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. */
|
||||
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++)
|
||||
|
@ -63,42 +76,58 @@ int main ()
|
|||
changequote([,])dnl
|
||||
])])
|
||||
if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
|
||||
# Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
|
||||
# otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
|
||||
# configure script would override the LC_ALL setting. Likewise for
|
||||
# LC_CTYPE, which is also set at the beginning of the configure script.
|
||||
# Test for the AIX locale name.
|
||||
if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_ja=ja_JP
|
||||
else
|
||||
# Test for the locale name with explicit encoding suffix.
|
||||
if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_ja=ja_JP.EUC-JP
|
||||
else
|
||||
# Test for the HP-UX, OSF/1, NetBSD locale name.
|
||||
if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_ja=ja_JP.eucJP
|
||||
case "$host_os" in
|
||||
# Handle native Windows specially, because there setlocale() interprets
|
||||
# "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
|
||||
# "fr" or "fra" as "French" or "French_France.1252",
|
||||
# "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
|
||||
# "ja" as "Japanese" or "Japanese_Japan.932",
|
||||
# and similar.
|
||||
mingw*)
|
||||
# Note that on native Windows, the Japanese locale is
|
||||
# Japanese_Japan.932, and CP932 is very different from EUC-JP, so we
|
||||
# cannot use it here.
|
||||
gt_cv_locale_ja=none
|
||||
;;
|
||||
*)
|
||||
# Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
|
||||
# otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
|
||||
# configure script would override the LC_ALL setting. Likewise for
|
||||
# LC_CTYPE, which is also set at the beginning of the configure script.
|
||||
# Test for the AIX locale name.
|
||||
if (LC_ALL=ja_JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_ja=ja_JP
|
||||
else
|
||||
# Test for the IRIX, FreeBSD locale name.
|
||||
if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_ja=ja_JP.EUC
|
||||
# Test for the locale name with explicit encoding suffix.
|
||||
if (LC_ALL=ja_JP.EUC-JP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_ja=ja_JP.EUC-JP
|
||||
else
|
||||
# Test for the Solaris 7 locale name.
|
||||
if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_ja=ja
|
||||
# Test for the HP-UX, OSF/1, NetBSD locale name.
|
||||
if (LC_ALL=ja_JP.eucJP LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_ja=ja_JP.eucJP
|
||||
else
|
||||
# Special test for NetBSD 1.6.
|
||||
if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
|
||||
gt_cv_locale_ja=ja_JP.eucJP
|
||||
# Test for the IRIX, FreeBSD locale name.
|
||||
if (LC_ALL=ja_JP.EUC LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_ja=ja_JP.EUC
|
||||
else
|
||||
# None found.
|
||||
gt_cv_locale_ja=none
|
||||
# Test for the Solaris 7 locale name.
|
||||
if (LC_ALL=ja LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_ja=ja
|
||||
else
|
||||
# Special test for NetBSD 1.6.
|
||||
if test -f /usr/share/locale/ja_JP.eucJP/LC_CTYPE; then
|
||||
gt_cv_locale_ja=ja_JP.eucJP
|
||||
else
|
||||
# None found.
|
||||
gt_cv_locale_ja=none
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
rm -fr conftest*
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# locale-zh.m4 serial 6
|
||||
dnl Copyright (C) 2003, 2005-2010 Free Software Foundation, Inc.
|
||||
# locale-zh.m4 serial 12
|
||||
dnl Copyright (C) 2003, 2005-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.
|
||||
|
@ -28,17 +28,30 @@ int main ()
|
|||
{
|
||||
const char *p;
|
||||
/* Check whether the given locale name is recognized by the system. */
|
||||
#if (defined _WIN32 || 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
|
||||
category of the locale to "C". */
|
||||
if (setlocale (LC_ALL, getenv ("LC_ALL")) == NULL
|
||||
|| strcmp (setlocale (LC_CTYPE, NULL), "C") == 0)
|
||||
return 1;
|
||||
#else
|
||||
if (setlocale (LC_ALL, "") == NULL) return 1;
|
||||
#endif
|
||||
/* Check whether nl_langinfo(CODESET) is nonempty and not "ASCII" or "646".
|
||||
On MacOS X 10.3.5 (Darwin 7.5) in the fr_FR locale, nl_langinfo(CODESET)
|
||||
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.
|
||||
On OpenBSD 4.0, when an unsupported locale is specified, setlocale()
|
||||
succeeds but then nl_langinfo(CODESET) is "646". In this situation,
|
||||
some unit tests fail. */
|
||||
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
|
||||
{
|
||||
const char *cs = nl_langinfo (CODESET);
|
||||
if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0)
|
||||
if (cs[0] == '\0' || strcmp (cs, "ASCII") == 0 || strcmp (cs, "646") == 0
|
||||
|| strcmp (cs, "UTF-8") == 0)
|
||||
return 1;
|
||||
}
|
||||
#endif
|
||||
|
@ -49,7 +62,7 @@ int main ()
|
|||
if (strchr (getenv ("LC_ALL"), '.') == NULL) return 1;
|
||||
#endif
|
||||
/* Check whether in a month name, no byte in the range 0x80..0x9F occurs.
|
||||
This excludes the UTF-8 encoding. */
|
||||
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++)
|
||||
|
@ -64,22 +77,47 @@ int main ()
|
|||
changequote([,])dnl
|
||||
])])
|
||||
if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
|
||||
# Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
|
||||
# otherwise on MacOS X 10.3.5 the LC_TIME=C from the beginning of the
|
||||
# configure script would override the LC_ALL setting. Likewise for
|
||||
# LC_CTYPE, which is also set at the beginning of the configure script.
|
||||
# Test for the locale name without encoding suffix.
|
||||
if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_zh_CN=zh_CN
|
||||
else
|
||||
# Test for the locale name with explicit encoding suffix.
|
||||
if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_zh_CN=zh_CN.GB18030
|
||||
else
|
||||
# None found.
|
||||
case "$host_os" in
|
||||
# Handle native Windows specially, because there setlocale() interprets
|
||||
# "ar" as "Arabic" or "Arabic_Saudi Arabia.1256",
|
||||
# "fr" or "fra" as "French" or "French_France.1252",
|
||||
# "ge"(!) or "deu"(!) as "German" or "German_Germany.1252",
|
||||
# "ja" as "Japanese" or "Japanese_Japan.932",
|
||||
# and similar.
|
||||
mingw*)
|
||||
# Test for the hypothetical native Windows locale name.
|
||||
if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_zh_CN=Chinese_China.54936
|
||||
else
|
||||
# None found.
|
||||
gt_cv_locale_zh_CN=none
|
||||
fi
|
||||
;;
|
||||
solaris2.8)
|
||||
# On Solaris 8, the locales zh_CN.GB18030, zh_CN.GBK, zh.GBK are
|
||||
# broken. One witness is the test case in gl_MBRTOWC_SANITYCHECK.
|
||||
# Another witness is that "LC_ALL=zh_CN.GB18030 bash -c true" dumps core.
|
||||
gt_cv_locale_zh_CN=none
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
# Setting LC_ALL is not enough. Need to set LC_TIME to empty, because
|
||||
# otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the
|
||||
# configure script would override the LC_ALL setting. Likewise for
|
||||
# LC_CTYPE, which is also set at the beginning of the configure script.
|
||||
# Test for the locale name without encoding suffix.
|
||||
if (LC_ALL=zh_CN LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_zh_CN=zh_CN
|
||||
else
|
||||
# Test for the locale name with explicit encoding suffix.
|
||||
if (LC_ALL=zh_CN.GB18030 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then
|
||||
gt_cv_locale_zh_CN=zh_CN.GB18030
|
||||
else
|
||||
# None found.
|
||||
gt_cv_locale_zh_CN=none
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
else
|
||||
# If there was a link error, due to mblen(), the system is so old that
|
||||
# it certainly doesn't have a chinese locale.
|
||||
|
|
122
m4/locale_h.m4
Normal file
122
m4/locale_h.m4
Normal file
|
@ -0,0 +1,122 @@
|
|||
# locale_h.m4 serial 19
|
||||
dnl Copyright (C) 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.
|
||||
|
||||
AC_DEFUN([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.
|
||||
AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
|
||||
|
||||
dnl Persuade glibc <locale.h> to define locale_t and the int_p_*, int_n_*
|
||||
dnl members of 'struct lconv'.
|
||||
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
|
||||
|
||||
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'
|
||||
dnl only if _LCONV_C99 is defined.
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
case "$host_os" in
|
||||
solaris*)
|
||||
AC_DEFINE([_LCONV_C99], [1], [Define to 1 on Solaris.])
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_CACHE_CHECK([whether locale.h conforms to POSIX:2001],
|
||||
[gl_cv_header_locale_h_posix2001],
|
||||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <locale.h>
|
||||
int x = LC_MESSAGES;
|
||||
int y = sizeof (((struct lconv *) 0)->decimal_point);]],
|
||||
[[]])],
|
||||
[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,
|
||||
dnl mingw, MSVC 9, it lacks the int_p_* and int_n_* members.
|
||||
AC_CACHE_CHECK([whether struct lconv is properly defined],
|
||||
[gl_cv_sys_struct_lconv_ok],
|
||||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <locale.h>
|
||||
struct lconv l;
|
||||
int x = sizeof (l.decimal_point);
|
||||
int y = sizeof (l.int_p_cs_precedes);]],
|
||||
[[]])],
|
||||
[gl_cv_sys_struct_lconv_ok=yes],
|
||||
[gl_cv_sys_struct_lconv_ok=no])
|
||||
])
|
||||
if test $gl_cv_sys_struct_lconv_ok = no; then
|
||||
REPLACE_STRUCT_LCONV=1
|
||||
fi
|
||||
|
||||
dnl <locale.h> is always overridden, because of GNULIB_POSIXCHECK.
|
||||
gl_NEXT_HEADERS([locale.h])
|
||||
|
||||
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 <locale.h>
|
||||
/* Some systems provide declarations in a non-standard header. */
|
||||
#if HAVE_XLOCALE_H
|
||||
# include <xlocale.h>
|
||||
#endif
|
||||
]],
|
||||
[setlocale duplocale])
|
||||
])
|
||||
|
||||
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])
|
||||
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])
|
||||
])
|
||||
|
||||
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_DUPLOCALE=1; AC_SUBST([HAVE_DUPLOCALE])
|
||||
REPLACE_LOCALECONV=0; AC_SUBST([REPLACE_LOCALECONV])
|
||||
REPLACE_SETLOCALE=0; AC_SUBST([REPLACE_SETLOCALE])
|
||||
REPLACE_DUPLOCALE=0; AC_SUBST([REPLACE_DUPLOCALE])
|
||||
REPLACE_STRUCT_LCONV=0; AC_SUBST([REPLACE_STRUCT_LCONV])
|
||||
])
|
22
m4/localeconv.m4
Normal file
22
m4/localeconv.m4
Normal file
|
@ -0,0 +1,22 @@
|
|||
# localeconv.m4 serial 1
|
||||
dnl Copyright (C) 2012-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_FUNC_LOCALECONV],
|
||||
[
|
||||
AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
|
||||
AC_REQUIRE([gl_LOCALE_H])
|
||||
|
||||
if test $REPLACE_STRUCT_LCONV = 1; then
|
||||
REPLACE_LOCALECONV=1
|
||||
fi
|
||||
])
|
||||
|
||||
# Prerequisites of lib/localeconv.c.
|
||||
AC_DEFUN([gl_PREREQ_LOCALECONV],
|
||||
[
|
||||
AC_CHECK_MEMBERS([struct lconv.decimal_point], [], [],
|
||||
[[#include <locale.h>]])
|
||||
])
|
12
m4/lock.m4
12
m4/lock.m4
|
@ -1,5 +1,5 @@
|
|||
# lock.m4 serial 11 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2005-2010 Free Software Foundation, Inc.
|
||||
# lock.m4 serial 13 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2005-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.
|
||||
|
@ -10,7 +10,7 @@ AC_DEFUN([gl_LOCK],
|
|||
[
|
||||
AC_REQUIRE([gl_THREADLIB])
|
||||
if test "$gl_threads_api" = posix; then
|
||||
# OSF/1 4.0 and MacOS X 10.1 lack the pthread_rwlock_t type and the
|
||||
# OSF/1 4.0 and Mac OS X 10.1 lack the pthread_rwlock_t type and the
|
||||
# pthread_rwlock_* functions.
|
||||
AC_CHECK_TYPE([pthread_rwlock_t],
|
||||
[AC_DEFINE([HAVE_PTHREAD_RWLOCK], [1],
|
||||
|
@ -35,7 +35,5 @@ return !x;
|
|||
gl_PREREQ_LOCK
|
||||
])
|
||||
|
||||
# Prerequisites of lib/lock.c.
|
||||
AC_DEFUN([gl_PREREQ_LOCK], [
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
])
|
||||
# Prerequisites of lib/glthread/lock.c.
|
||||
AC_DEFUN([gl_PREREQ_LOCK], [:])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# longlong.m4 serial 14
|
||||
dnl Copyright (C) 1999-2007, 2009-2010 Free Software Foundation, Inc.
|
||||
# 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.
|
||||
|
@ -7,8 +7,8 @@ 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, but can be removed once we
|
||||
# assume 2.62 everywhere.
|
||||
# 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
|
||||
|
@ -16,44 +16,48 @@ dnl From Paul Eggert.
|
|||
|
||||
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_LINK_IFELSE(
|
||||
[_AC_TYPE_LONG_LONG_SNIPPET],
|
||||
[dnl This catches a bug in Tandem NonStop Kernel (OSS) cc -O circa 2004.
|
||||
dnl If cross compiling, assume the bug isn't 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=yes],
|
||||
[ac_cv_type_long_long_int=no],
|
||||
[ac_cv_type_long_long_int=yes])],
|
||||
[ac_cv_type_long_long_int=no])])
|
||||
[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'.])
|
||||
[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, but can be removed once we
|
||||
# assume 2.62 everywhere.
|
||||
# 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
|
||||
|
@ -64,13 +68,16 @@ AC_DEFUN([AC_TYPE_UNSIGNED_LONG_LONG_INT],
|
|||
[
|
||||
AC_CACHE_CHECK([for unsigned long long int],
|
||||
[ac_cv_type_unsigned_long_long_int],
|
||||
[AC_LINK_IFELSE(
|
||||
[_AC_TYPE_LONG_LONG_SNIPPET],
|
||||
[ac_cv_type_unsigned_long_long_int=yes],
|
||||
[ac_cv_type_unsigned_long_long_int=no])])
|
||||
[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'.])
|
||||
[Define to 1 if the system has the type 'unsigned long long int'.])
|
||||
fi
|
||||
])
|
||||
|
||||
|
|
52
m4/malloc.m4
52
m4/malloc.m4
|
@ -1,9 +1,47 @@
|
|||
# malloc.m4 serial 12
|
||||
dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
# malloc.m4 serial 14
|
||||
dnl Copyright (C) 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.
|
||||
|
||||
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
|
||||
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_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
|
||||
]],
|
||||
[[return ! malloc (0);]])
|
||||
],
|
||||
[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 ;;
|
||||
esac
|
||||
])
|
||||
])
|
||||
AS_IF([test $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
|
||||
|
@ -17,7 +55,7 @@ AC_DEFUN([gl_FUNC_MALLOC_GNU],
|
|||
[Define to 1 if your system has a GNU libc compatible 'malloc'
|
||||
function, and to 0 otherwise.])],
|
||||
[AC_DEFINE([HAVE_MALLOC_GNU], [0])
|
||||
gl_REPLACE_MALLOC
|
||||
REPLACE_MALLOC=1
|
||||
])
|
||||
])
|
||||
|
||||
|
@ -33,7 +71,7 @@ AC_DEFUN([gl_FUNC_MALLOC_POSIX],
|
|||
AC_DEFINE([HAVE_MALLOC_POSIX], [1],
|
||||
[Define if the 'malloc' function is POSIX compliant.])
|
||||
else
|
||||
gl_REPLACE_MALLOC
|
||||
REPLACE_MALLOC=1
|
||||
fi
|
||||
])
|
||||
|
||||
|
@ -58,9 +96,3 @@ AC_DEFUN([gl_CHECK_MALLOC_POSIX],
|
|||
[gl_cv_func_malloc_posix=no])
|
||||
])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_REPLACE_MALLOC],
|
||||
[
|
||||
AC_LIBOBJ([malloc])
|
||||
REPLACE_MALLOC=1
|
||||
])
|
||||
|
|
353
m4/math_h.m4
Normal file
353
m4/math_h.m4
Normal file
|
@ -0,0 +1,353 @@
|
|||
# math_h.m4 serial 114
|
||||
dnl Copyright (C) 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.
|
||||
|
||||
AC_DEFUN([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>]],
|
||||
[[/* 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. */
|
||||
float f = 1.0f;
|
||||
#ifdef NAN
|
||||
f = NAN;
|
||||
#endif
|
||||
return f == 0;]])],
|
||||
[gl_cv_header_math_nan_works=yes],
|
||||
[gl_cv_header_math_nan_works=no])])
|
||||
if test $gl_cv_header_math_nan_works = no; then
|
||||
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>]],
|
||||
[[/* Solaris 10 has a broken definition of HUGE_VAL. */
|
||||
double d = HUGE_VAL;
|
||||
return d == 0;]])],
|
||||
[gl_cv_header_math_huge_val_works=yes],
|
||||
[gl_cv_header_math_huge_val_works=no])])
|
||||
if test $gl_cv_header_math_huge_val_works = no; then
|
||||
REPLACE_HUGE_VAL=1
|
||||
fi
|
||||
|
||||
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 <math.h>]],
|
||||
[acosf acosl asinf asinl atanf atanl
|
||||
cbrt cbrtf cbrtl ceilf ceill copysign copysignf copysignl cosf cosl coshf
|
||||
expf expl exp2 exp2f exp2l expm1 expm1f expm1l
|
||||
fabsf fabsl floorf floorl fma fmaf fmal
|
||||
fmod fmodf fmodl frexpf frexpl hypotf hypotl
|
||||
ilogb ilogbf ilogbl
|
||||
ldexpf ldexpl
|
||||
log logf logl log10 log10f log10l log1p log1pf log1pl log2 log2f log2l
|
||||
logb logbf logbl
|
||||
modf modff modfl powf
|
||||
remainder remainderf remainderl
|
||||
rint rintf rintl round roundf roundl sinf sinl sinhf sqrtf sqrtl
|
||||
tanf tanl tanhf trunc truncf truncl])
|
||||
])
|
||||
|
||||
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])
|
||||
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])
|
||||
])
|
||||
|
||||
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])
|
||||
])
|
||||
|
||||
# gl_LONG_DOUBLE_VS_DOUBLE
|
||||
# determines whether 'long double' and 'double' have the same representation.
|
||||
# Sets variable HAVE_SAME_LONG_DOUBLE_AS_DOUBLE to 0 or 1, and defines
|
||||
# HAVE_SAME_LONG_DOUBLE_AS_DOUBLE accordingly.
|
||||
# The currently known platforms where this is the case are:
|
||||
# Linux/HPPA, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9.
|
||||
AC_DEFUN([gl_LONG_DOUBLE_VS_DOUBLE],
|
||||
[
|
||||
AC_CACHE_CHECK([whether long double and double are the same],
|
||||
[gl_cv_long_double_equals_double],
|
||||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM([[#include <float.h>]],
|
||||
[[typedef int check[sizeof (long double) == sizeof (double)
|
||||
&& LDBL_MANT_DIG == DBL_MANT_DIG
|
||||
&& LDBL_MAX_EXP == DBL_MAX_EXP
|
||||
&& LDBL_MIN_EXP == DBL_MIN_EXP
|
||||
? 1 : -1];
|
||||
]])],
|
||||
[gl_cv_long_double_equals_double=yes],
|
||||
[gl_cv_long_double_equals_double=no])
|
||||
])
|
||||
if test $gl_cv_long_double_equals_double = yes; then
|
||||
AC_DEFINE([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE], [1],
|
||||
[Define to 1 if 'long double' and 'double' have the same representation.])
|
||||
HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=1
|
||||
else
|
||||
HAVE_SAME_LONG_DOUBLE_AS_DOUBLE=0
|
||||
fi
|
||||
AC_SUBST([HAVE_SAME_LONG_DOUBLE_AS_DOUBLE])
|
||||
])
|
251
m4/mbrtowc.m4
251
m4/mbrtowc.m4
|
@ -1,5 +1,5 @@
|
|||
# mbrtowc.m4 serial 18
|
||||
dnl Copyright (C) 2001-2002, 2004-2005, 2008-2010 Free Software Foundation,
|
||||
# mbrtowc.m4 serial 25
|
||||
dnl Copyright (C) 2001-2002, 2004-2005, 2008-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,
|
||||
|
@ -15,16 +15,40 @@ AC_DEFUN([gl_FUNC_MBRTOWC],
|
|||
AC_CHECK_FUNCS_ONCE([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>
|
||||
]])
|
||||
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
|
||||
dnl replacement.
|
||||
REPLACE_MBRTOWC=1
|
||||
fi
|
||||
else
|
||||
if test $REPLACE_MBSTATE_T = 1; then
|
||||
REPLACE_MBRTOWC=1
|
||||
else
|
||||
gl_MBRTOWC_NULL_ARG
|
||||
gl_MBRTOWC_NULL_ARG1
|
||||
gl_MBRTOWC_NULL_ARG2
|
||||
gl_MBRTOWC_RETVAL
|
||||
gl_MBRTOWC_NUL_RETVAL
|
||||
case "$gl_cv_func_mbrtowc_null_arg" in
|
||||
case "$gl_cv_func_mbrtowc_null_arg1" in
|
||||
*yes) ;;
|
||||
*) AC_DEFINE([MBRTOWC_NULL_ARG_BUG], [1],
|
||||
*) AC_DEFINE([MBRTOWC_NULL_ARG1_BUG], [1],
|
||||
[Define if the mbrtowc function has the NULL pwc argument bug.])
|
||||
REPLACE_MBRTOWC=1
|
||||
;;
|
||||
esac
|
||||
case "$gl_cv_func_mbrtowc_null_arg2" in
|
||||
*yes) ;;
|
||||
*) AC_DEFINE([MBRTOWC_NULL_ARG2_BUG], [1],
|
||||
[Define if the mbrtowc function has the NULL string argument bug.])
|
||||
REPLACE_MBRTOWC=1
|
||||
;;
|
||||
|
@ -45,11 +69,6 @@ AC_DEFUN([gl_FUNC_MBRTOWC],
|
|||
esac
|
||||
fi
|
||||
fi
|
||||
if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then
|
||||
gl_REPLACE_WCHAR_H
|
||||
AC_LIBOBJ([mbrtowc])
|
||||
gl_PREREQ_MBRTOWC
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Test whether mbsinit() and mbrtowc() need to be overridden in a way that
|
||||
|
@ -80,9 +99,6 @@ AC_DEFUN([gl_MBSTATE_T_BROKEN],
|
|||
else
|
||||
REPLACE_MBSTATE_T=1
|
||||
fi
|
||||
if test $REPLACE_MBSTATE_T = 1; then
|
||||
gl_REPLACE_WCHAR_H
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Test whether mbrtowc puts the state into non-initial state when parsing an
|
||||
|
@ -112,6 +128,13 @@ 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 ()
|
||||
{
|
||||
|
@ -162,6 +185,13 @@ 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 ()
|
||||
{
|
||||
|
@ -188,25 +218,95 @@ int main ()
|
|||
])
|
||||
])
|
||||
|
||||
dnl Test whether mbrtowc supports a NULL string argument correctly.
|
||||
dnl Result is gl_cv_func_mbrtowc_null_arg.
|
||||
dnl Test whether mbrtowc supports a NULL pwc argument correctly.
|
||||
dnl Result is gl_cv_func_mbrtowc_null_arg1.
|
||||
|
||||
AC_DEFUN([gl_MBRTOWC_NULL_ARG],
|
||||
AC_DEFUN([gl_MBRTOWC_NULL_ARG1],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([gt_LOCALE_FR_UTF8])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
AC_CACHE_CHECK([whether mbrtowc handles a NULL pwc argument],
|
||||
[gl_cv_func_mbrtowc_null_arg1],
|
||||
[
|
||||
dnl Initial guess, used when cross-compiling or when no suitable locale
|
||||
dnl is present.
|
||||
changequote(,)dnl
|
||||
case "$host_os" in
|
||||
# Guess no on Solaris.
|
||||
solaris*) gl_cv_func_mbrtowc_null_arg1="guessing no" ;;
|
||||
# Guess yes otherwise.
|
||||
*) gl_cv_func_mbrtowc_null_arg1="guessing yes" ;;
|
||||
esac
|
||||
changequote([,])dnl
|
||||
if test $LOCALE_FR_UTF8 != none; then
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#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 ()
|
||||
{
|
||||
int result = 0;
|
||||
|
||||
if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
|
||||
{
|
||||
char input[] = "\303\237er";
|
||||
mbstate_t state;
|
||||
wchar_t wc;
|
||||
size_t ret;
|
||||
|
||||
memset (&state, '\0', sizeof (mbstate_t));
|
||||
wc = (wchar_t) 0xBADFACE;
|
||||
ret = mbrtowc (&wc, input, 5, &state);
|
||||
if (ret != 2)
|
||||
result |= 1;
|
||||
if (!mbsinit (&state))
|
||||
result |= 2;
|
||||
|
||||
memset (&state, '\0', sizeof (mbstate_t));
|
||||
ret = mbrtowc (NULL, input, 5, &state);
|
||||
if (ret != 2) /* Solaris 7 fails here: ret is -1. */
|
||||
result |= 4;
|
||||
if (!mbsinit (&state))
|
||||
result |= 8;
|
||||
}
|
||||
return result;
|
||||
}]])],
|
||||
[gl_cv_func_mbrtowc_null_arg1=yes],
|
||||
[gl_cv_func_mbrtowc_null_arg1=no],
|
||||
[:])
|
||||
fi
|
||||
])
|
||||
])
|
||||
|
||||
dnl Test whether mbrtowc supports a NULL string argument correctly.
|
||||
dnl Result is gl_cv_func_mbrtowc_null_arg2.
|
||||
|
||||
AC_DEFUN([gl_MBRTOWC_NULL_ARG2],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([gt_LOCALE_FR_UTF8])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
AC_CACHE_CHECK([whether mbrtowc handles a NULL string argument],
|
||||
[gl_cv_func_mbrtowc_null_arg],
|
||||
[gl_cv_func_mbrtowc_null_arg2],
|
||||
[
|
||||
dnl Initial guess, used when cross-compiling or when no suitable locale
|
||||
dnl is present.
|
||||
changequote(,)dnl
|
||||
case "$host_os" in
|
||||
# Guess no on OSF/1.
|
||||
osf*) gl_cv_func_mbrtowc_null_arg="guessing no" ;;
|
||||
osf*) gl_cv_func_mbrtowc_null_arg2="guessing no" ;;
|
||||
# Guess yes otherwise.
|
||||
*) gl_cv_func_mbrtowc_null_arg="guessing yes" ;;
|
||||
*) gl_cv_func_mbrtowc_null_arg2="guessing yes" ;;
|
||||
esac
|
||||
changequote([,])dnl
|
||||
if test $LOCALE_FR_UTF8 != none; then
|
||||
|
@ -214,6 +314,13 @@ 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 ()
|
||||
{
|
||||
|
@ -232,8 +339,8 @@ int main ()
|
|||
}
|
||||
return 0;
|
||||
}]])],
|
||||
[gl_cv_func_mbrtowc_null_arg=yes],
|
||||
[gl_cv_func_mbrtowc_null_arg=no],
|
||||
[gl_cv_func_mbrtowc_null_arg2=yes],
|
||||
[gl_cv_func_mbrtowc_null_arg2=no],
|
||||
[:])
|
||||
fi
|
||||
])
|
||||
|
@ -249,7 +356,7 @@ AC_DEFUN([gl_MBRTOWC_RETVAL],
|
|||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([gt_LOCALE_FR_UTF8])
|
||||
AC_REQUIRE([gt_LOCALE_JA])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_CACHE_CHECK([whether mbrtowc has a correct return value],
|
||||
[gl_cv_func_mbrtowc_retval],
|
||||
[
|
||||
|
@ -257,20 +364,30 @@ AC_DEFUN([gl_MBRTOWC_RETVAL],
|
|||
dnl is present.
|
||||
changequote(,)dnl
|
||||
case "$host_os" in
|
||||
# Guess no on HP-UX and Solaris.
|
||||
hpux* | solaris*) gl_cv_func_mbrtowc_retval="guessing no" ;;
|
||||
# Guess yes otherwise.
|
||||
*) gl_cv_func_mbrtowc_retval="guessing yes" ;;
|
||||
# Guess no on HP-UX, Solaris, native Windows.
|
||||
hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;;
|
||||
# Guess yes otherwise.
|
||||
*) gl_cv_func_mbrtowc_retval="guessing yes" ;;
|
||||
esac
|
||||
changequote([,])dnl
|
||||
if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none; then
|
||||
if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \
|
||||
|| { case "$host_os" in mingw*) true;; *) false;; esac; }; 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 ()
|
||||
{
|
||||
int result = 0;
|
||||
int found_some_locale = 0;
|
||||
/* This fails on Solaris. */
|
||||
if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
|
||||
{
|
||||
|
@ -283,8 +400,9 @@ int main ()
|
|||
{
|
||||
input[1] = '\0';
|
||||
if (mbrtowc (&wc, input + 2, 5, &state) != 1)
|
||||
return 1;
|
||||
result |= 1;
|
||||
}
|
||||
found_some_locale = 1;
|
||||
}
|
||||
/* This fails on HP-UX 11.11. */
|
||||
if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
|
||||
|
@ -298,13 +416,63 @@ int main ()
|
|||
{
|
||||
input[1] = '\0';
|
||||
if (mbrtowc (&wc, input + 2, 5, &state) != 2)
|
||||
return 1;
|
||||
result |= 2;
|
||||
}
|
||||
found_some_locale = 1;
|
||||
}
|
||||
return 0;
|
||||
/* This fails on native Windows. */
|
||||
if (setlocale (LC_ALL, "Japanese_Japan.932") != NULL)
|
||||
{
|
||||
char input[] = "<\223\372\226\173\214\352>"; /* "<日本語>" */
|
||||
mbstate_t state;
|
||||
wchar_t wc;
|
||||
|
||||
memset (&state, '\0', sizeof (mbstate_t));
|
||||
if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2))
|
||||
{
|
||||
input[3] = '\0';
|
||||
if (mbrtowc (&wc, input + 4, 4, &state) != 1)
|
||||
result |= 4;
|
||||
}
|
||||
found_some_locale = 1;
|
||||
}
|
||||
if (setlocale (LC_ALL, "Chinese_Taiwan.950") != NULL)
|
||||
{
|
||||
char input[] = "<\244\351\245\273\273\171>"; /* "<日本語>" */
|
||||
mbstate_t state;
|
||||
wchar_t wc;
|
||||
|
||||
memset (&state, '\0', sizeof (mbstate_t));
|
||||
if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2))
|
||||
{
|
||||
input[3] = '\0';
|
||||
if (mbrtowc (&wc, input + 4, 4, &state) != 1)
|
||||
result |= 8;
|
||||
}
|
||||
found_some_locale = 1;
|
||||
}
|
||||
if (setlocale (LC_ALL, "Chinese_China.936") != NULL)
|
||||
{
|
||||
char input[] = "<\310\325\261\276\325\132>"; /* "<日本語>" */
|
||||
mbstate_t state;
|
||||
wchar_t wc;
|
||||
|
||||
memset (&state, '\0', sizeof (mbstate_t));
|
||||
if (mbrtowc (&wc, input + 3, 1, &state) == (size_t)(-2))
|
||||
{
|
||||
input[3] = '\0';
|
||||
if (mbrtowc (&wc, input + 4, 4, &state) != 1)
|
||||
result |= 16;
|
||||
}
|
||||
found_some_locale = 1;
|
||||
}
|
||||
return (found_some_locale ? result : 77);
|
||||
}]])],
|
||||
[gl_cv_func_mbrtowc_retval=yes],
|
||||
[gl_cv_func_mbrtowc_retval=no],
|
||||
[if test $? != 77; then
|
||||
gl_cv_func_mbrtowc_retval=no
|
||||
fi
|
||||
],
|
||||
[:])
|
||||
fi
|
||||
])
|
||||
|
@ -336,6 +504,13 @@ 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 ()
|
||||
{
|
||||
|
@ -366,10 +541,8 @@ AC_DEFUN([gl_PREREQ_MBRTOWC], [
|
|||
|
||||
dnl From Paul Eggert
|
||||
|
||||
dnl This override of an autoconf macro can be removed when autoconf 2.60 or
|
||||
dnl newer can be assumed everywhere.
|
||||
dnl This is an override of an autoconf macro.
|
||||
|
||||
m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.60]),[-1],[
|
||||
AC_DEFUN([AC_FUNC_MBRTOWC],
|
||||
[
|
||||
dnl Same as AC_FUNC_MBRTOWC in autoconf-2.60.
|
||||
|
@ -377,7 +550,14 @@ AC_DEFUN([AC_FUNC_MBRTOWC],
|
|||
gl_cv_func_mbrtowc,
|
||||
[AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <wchar.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>]],
|
||||
[[wchar_t wc;
|
||||
char const s[] = "";
|
||||
size_t n = 1;
|
||||
|
@ -390,4 +570,3 @@ AC_DEFUN([AC_FUNC_MBRTOWC],
|
|||
[Define to 1 if mbrtowc and mbstate_t are properly declared.])
|
||||
fi
|
||||
])
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# mbsinit.m4 serial 4
|
||||
dnl Copyright (C) 2008, 2010 Free Software Foundation, Inc.
|
||||
# mbsinit.m4 serial 8
|
||||
dnl Copyright (C) 2008, 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.
|
||||
|
@ -7,6 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
|
|||
AC_DEFUN([gl_FUNC_MBSINIT],
|
||||
[
|
||||
AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
|
||||
AC_REQUIRE([AC_TYPE_MBSTATE_T])
|
||||
gl_MBSTATE_T_BROKEN
|
||||
|
@ -14,16 +15,34 @@ AC_DEFUN([gl_FUNC_MBSINIT],
|
|||
AC_CHECK_FUNCS_ONCE([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>
|
||||
]])
|
||||
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
|
||||
dnl replacement.
|
||||
REPLACE_MBSINIT=1
|
||||
fi
|
||||
else
|
||||
if test $REPLACE_MBSTATE_T = 1; then
|
||||
REPLACE_MBSINIT=1
|
||||
else
|
||||
dnl On mingw, mbsinit() always returns 1, which is inappropriate for
|
||||
dnl states produced by mbrtowc() for an incomplete multibyte character
|
||||
dnl in multibyte locales.
|
||||
case "$host_os" in
|
||||
mingw*) REPLACE_MBSINIT=1 ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then
|
||||
gl_REPLACE_WCHAR_H
|
||||
AC_LIBOBJ([mbsinit])
|
||||
gl_PREREQ_MBSINIT
|
||||
fi
|
||||
])
|
||||
|
||||
# Prerequisites of lib/mbsinit.c.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# mbsrtowcs.m4 serial 7
|
||||
dnl Copyright (C) 2008-2010 Free Software Foundation, Inc.
|
||||
# mbsrtowcs.m4 serial 13
|
||||
dnl Copyright (C) 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.
|
||||
|
@ -14,6 +14,22 @@ AC_DEFUN([gl_FUNC_MBSRTOWCS],
|
|||
AC_CHECK_FUNCS_ONCE([mbsrtowcs])
|
||||
if test $ac_cv_func_mbsrtowcs = no; then
|
||||
HAVE_MBSRTOWCS=0
|
||||
AC_CHECK_DECLS([mbsrtowcs],,, [[
|
||||
/* 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>
|
||||
]])
|
||||
if test $ac_cv_have_decl_mbsrtowcs = yes; then
|
||||
dnl On Minix 3.1.8, the system's <wchar.h> declares mbsrtowcs() although
|
||||
dnl it does not have the function. Avoid a collision with gnulib's
|
||||
dnl replacement.
|
||||
REPLACE_MBSRTOWCS=1
|
||||
fi
|
||||
else
|
||||
if test $REPLACE_MBSTATE_T = 1; then
|
||||
REPLACE_MBSRTOWCS=1
|
||||
|
@ -25,12 +41,6 @@ AC_DEFUN([gl_FUNC_MBSRTOWCS],
|
|||
esac
|
||||
fi
|
||||
fi
|
||||
if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then
|
||||
gl_REPLACE_WCHAR_H
|
||||
AC_LIBOBJ([mbsrtowcs])
|
||||
AC_LIBOBJ([mbsrtowcs-state])
|
||||
gl_PREREQ_MBSRTOWCS
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Test whether mbsrtowcs works.
|
||||
|
@ -39,6 +49,7 @@ dnl Result is gl_cv_func_mbsrtowcs_works.
|
|||
AC_DEFUN([gl_MBSRTOWCS_WORKS],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([gt_LOCALE_FR])
|
||||
AC_REQUIRE([gt_LOCALE_FR_UTF8])
|
||||
AC_REQUIRE([gt_LOCALE_JA])
|
||||
AC_REQUIRE([gt_LOCALE_ZH_CN])
|
||||
|
@ -50,20 +61,41 @@ AC_DEFUN([gl_MBSRTOWCS_WORKS],
|
|||
dnl is present.
|
||||
changequote(,)dnl
|
||||
case "$host_os" in
|
||||
# Guess no on HP-UX and Solaris.
|
||||
hpux* | solaris*) gl_cv_func_mbsrtowcs_works="guessing no" ;;
|
||||
# Guess yes otherwise.
|
||||
*) gl_cv_func_mbsrtowcs_works="guessing yes" ;;
|
||||
# Guess no on HP-UX, Solaris, mingw.
|
||||
hpux* | solaris* | mingw*) gl_cv_func_mbsrtowcs_works="guessing no" ;;
|
||||
# Guess yes otherwise.
|
||||
*) gl_cv_func_mbsrtowcs_works="guessing yes" ;;
|
||||
esac
|
||||
changequote([,])dnl
|
||||
if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then
|
||||
if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != 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 ()
|
||||
{
|
||||
int result = 0;
|
||||
/* Test whether the function supports a NULL destination argument.
|
||||
This fails on native Windows. */
|
||||
if (setlocale (LC_ALL, "$LOCALE_FR") != NULL)
|
||||
{
|
||||
const char input[] = "\337er";
|
||||
const char *src = input;
|
||||
mbstate_t state;
|
||||
|
||||
memset (&state, '\0', sizeof (mbstate_t));
|
||||
if (mbsrtowcs (NULL, &src, 1, &state) != 3
|
||||
|| src != input)
|
||||
result |= 1;
|
||||
}
|
||||
/* Test whether the function works when started with a conversion state
|
||||
in non-initial state. This fails on HP-UX 11.11 and Solaris 10. */
|
||||
if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL)
|
||||
|
@ -77,7 +109,7 @@ int main ()
|
|||
{
|
||||
const char *src = input + 2;
|
||||
if (mbsrtowcs (NULL, &src, 10, &state) != 4)
|
||||
return 1;
|
||||
result |= 2;
|
||||
}
|
||||
}
|
||||
if (setlocale (LC_ALL, "$LOCALE_JA") != NULL)
|
||||
|
@ -91,7 +123,7 @@ int main ()
|
|||
{
|
||||
const char *src = input + 4;
|
||||
if (mbsrtowcs (NULL, &src, 10, &state) != 3)
|
||||
return 1;
|
||||
result |= 4;
|
||||
}
|
||||
}
|
||||
if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL)
|
||||
|
@ -105,10 +137,10 @@ int main ()
|
|||
{
|
||||
const char *src = input + 2;
|
||||
if (mbsrtowcs (NULL, &src, 10, &state) != 4)
|
||||
return 1;
|
||||
result |= 8;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return result;
|
||||
}]])],
|
||||
[gl_cv_func_mbsrtowcs_works=yes],
|
||||
[gl_cv_func_mbsrtowcs_works=no],
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# mbstate_t.m4 serial 12
|
||||
dnl Copyright (C) 2000-2002, 2008-2010 Free Software Foundation, Inc.
|
||||
# mbstate_t.m4 serial 13
|
||||
dnl Copyright (C) 2000-2002, 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.
|
||||
|
@ -20,7 +20,14 @@ AC_DEFUN([AC_TYPE_MBSTATE_T],
|
|||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[AC_INCLUDES_DEFAULT[
|
||||
# include <wchar.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>]],
|
||||
[[mbstate_t x; return sizeof x;]])],
|
||||
[ac_cv_type_mbstate_t=yes],
|
||||
[ac_cv_type_mbstate_t=no])])
|
||||
|
|
46
m4/mbswidth.m4
Normal file
46
m4/mbswidth.m4
Normal file
|
@ -0,0 +1,46 @@
|
|||
# mbswidth.m4 serial 18
|
||||
dnl Copyright (C) 2000-2002, 2004, 2006-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 autoconf tests required for use of mbswidth.c
|
||||
dnl From Bruno Haible.
|
||||
|
||||
AC_DEFUN([gl_MBSWIDTH],
|
||||
[
|
||||
AC_CHECK_HEADERS_ONCE([wchar.h])
|
||||
AC_CHECK_FUNCS_ONCE([isascii mbsinit])
|
||||
|
||||
dnl UnixWare 7.1.1 <wchar.h> has a declaration of a function mbswidth()
|
||||
dnl that clashes with ours.
|
||||
AC_CACHE_CHECK([whether mbswidth is declared in <wchar.h>],
|
||||
[ac_cv_have_decl_mbswidth],
|
||||
[AC_COMPILE_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>
|
||||
]],
|
||||
[[
|
||||
char *p = (char *) mbswidth;
|
||||
return !p;
|
||||
]])],
|
||||
[ac_cv_have_decl_mbswidth=yes],
|
||||
[ac_cv_have_decl_mbswidth=no])])
|
||||
if test $ac_cv_have_decl_mbswidth = yes; then
|
||||
ac_val=1
|
||||
else
|
||||
ac_val=0
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([HAVE_DECL_MBSWIDTH_IN_WCHAR_H], [$ac_val],
|
||||
[Define to 1 if you have a declaration of mbswidth() in <wchar.h>, and to 0 otherwise.])
|
||||
|
||||
AC_TYPE_MBSTATE_T
|
||||
])
|
19
m4/mbtowc.m4
Normal file
19
m4/mbtowc.m4
Normal file
|
@ -0,0 +1,19 @@
|
|||
# mbtowc.m4 serial 2
|
||||
dnl Copyright (C) 2011-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_FUNC_MBTOWC],
|
||||
[
|
||||
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
|
||||
|
||||
if false; then
|
||||
REPLACE_MBTOWC=1
|
||||
fi
|
||||
])
|
||||
|
||||
# Prerequisites of lib/mbtowc.c.
|
||||
AC_DEFUN([gl_PREREQ_MBTOWC], [
|
||||
:
|
||||
])
|
31
m4/memchr.m4
31
m4/memchr.m4
|
@ -1,5 +1,5 @@
|
|||
# memchr.m4 serial 9
|
||||
dnl Copyright (C) 2002-2004, 2009-2010 Free Software Foundation, Inc.
|
||||
# memchr.m4 serial 12
|
||||
dnl Copyright (C) 2002-2004, 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.
|
||||
|
@ -11,10 +11,16 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR],
|
|||
AC_CHECK_HEADERS_ONCE([sys/mman.h])
|
||||
AC_CHECK_FUNCS_ONCE([mprotect])
|
||||
|
||||
dnl These days, we assume memchr is present. But just in case...
|
||||
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
|
||||
AC_CHECK_FUNCS_ONCE([memchr])
|
||||
if test $ac_cv_func_memchr = yes; then
|
||||
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
|
||||
|
@ -35,6 +41,7 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR],
|
|||
# endif
|
||||
#endif
|
||||
]], [[
|
||||
int result = 0;
|
||||
char *fence = NULL;
|
||||
#if HAVE_SYS_MMAN_H && HAVE_MPROTECT
|
||||
# if HAVE_MAP_ANONYMOUS
|
||||
|
@ -58,26 +65,20 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR],
|
|||
if (fence)
|
||||
{
|
||||
if (memchr (fence, 0, 0))
|
||||
return 1;
|
||||
result |= 1;
|
||||
strcpy (fence - 9, "12345678");
|
||||
if (memchr (fence - 9, 0, 79) != fence - 1)
|
||||
return 2;
|
||||
result |= 2;
|
||||
if (memchr (fence - 1, 0, 3) != fence - 1)
|
||||
return 3;
|
||||
result |= 4;
|
||||
}
|
||||
return 0;
|
||||
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
|
||||
else
|
||||
HAVE_MEMCHR=0
|
||||
fi
|
||||
if test $HAVE_MEMCHR = 0 || test $REPLACE_MEMCHR = 1; then
|
||||
AC_LIBOBJ([memchr])
|
||||
gl_PREREQ_MEMCHR
|
||||
fi
|
||||
])
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# mempcpy.m4 serial 10
|
||||
dnl Copyright (C) 2003-2004, 2006-2007, 2009-2010 Free Software Foundation,
|
||||
# mempcpy.m4 serial 11
|
||||
dnl Copyright (C) 2003-2004, 2006-2007, 2009-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,
|
||||
|
@ -14,10 +14,9 @@ AC_DEFUN([gl_FUNC_MEMPCPY],
|
|||
AC_REQUIRE([AC_C_RESTRICT])
|
||||
|
||||
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
|
||||
AC_REPLACE_FUNCS([mempcpy])
|
||||
AC_CHECK_FUNCS([mempcpy])
|
||||
if test $ac_cv_func_mempcpy = no; then
|
||||
HAVE_MEMPCPY=0
|
||||
gl_PREREQ_MEMPCPY
|
||||
fi
|
||||
])
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# mmap-anon.m4 serial 8
|
||||
dnl Copyright (C) 2005, 2007, 2009-2010 Free Software Foundation, Inc.
|
||||
# mmap-anon.m4 serial 10
|
||||
dnl Copyright (C) 2005, 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.
|
||||
|
@ -9,16 +9,12 @@ 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 MacOS X, FreeBSD, NetBSD, OpenBSD, only MAP_ANON exists.
|
||||
# - On Mac OS X, FreeBSD, NetBSD, OpenBSD, 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],
|
||||
[
|
||||
dnl Work around a bug of AC_EGREP_CPP in autoconf-2.57.
|
||||
AC_REQUIRE([AC_PROG_CPP])
|
||||
AC_REQUIRE([AC_PROG_EGREP])
|
||||
|
||||
dnl Persuade glibc <sys/mman.h> to define MAP_ANONYMOUS.
|
||||
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
|
||||
|
||||
|
@ -31,18 +27,18 @@ AC_DEFUN([gl_FUNC_MMAP_ANON],
|
|||
gl_have_mmap_anonymous=no
|
||||
if test $gl_have_mmap = yes; then
|
||||
AC_MSG_CHECKING([for MAP_ANONYMOUS])
|
||||
AC_EGREP_CPP([I cant identify this map.], [
|
||||
AC_EGREP_CPP([I cannot identify this map], [
|
||||
#include <sys/mman.h>
|
||||
#ifdef MAP_ANONYMOUS
|
||||
I cant identify this map.
|
||||
I cannot identify this map
|
||||
#endif
|
||||
],
|
||||
[gl_have_mmap_anonymous=yes])
|
||||
if test $gl_have_mmap_anonymous != yes; then
|
||||
AC_EGREP_CPP([I cant identify this map.], [
|
||||
AC_EGREP_CPP([I cannot identify this map], [
|
||||
#include <sys/mman.h>
|
||||
#ifdef MAP_ANON
|
||||
I cant identify this map.
|
||||
I cannot identify this map
|
||||
#endif
|
||||
],
|
||||
[AC_DEFINE([MAP_ANONYMOUS], [MAP_ANON],
|
||||
|
|
19
m4/msvc-inval.m4
Normal file
19
m4/msvc-inval.m4
Normal file
|
@ -0,0 +1,19 @@
|
|||
# msvc-inval.m4 serial 1
|
||||
dnl Copyright (C) 2011-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_MSVC_INVAL],
|
||||
[
|
||||
AC_CHECK_FUNCS_ONCE([_set_invalid_parameter_handler])
|
||||
if test $ac_cv_func__set_invalid_parameter_handler = yes; then
|
||||
HAVE_MSVC_INVALID_PARAMETER_HANDLER=1
|
||||
AC_DEFINE([HAVE_MSVC_INVALID_PARAMETER_HANDLER], [1],
|
||||
[Define to 1 on MSVC platforms that have the "invalid parameter handler"
|
||||
concept.])
|
||||
else
|
||||
HAVE_MSVC_INVALID_PARAMETER_HANDLER=0
|
||||
fi
|
||||
AC_SUBST([HAVE_MSVC_INVALID_PARAMETER_HANDLER])
|
||||
])
|
10
m4/msvc-nothrow.m4
Normal file
10
m4/msvc-nothrow.m4
Normal file
|
@ -0,0 +1,10 @@
|
|||
# msvc-nothrow.m4 serial 1
|
||||
dnl Copyright (C) 2011-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_MSVC_NOTHROW],
|
||||
[
|
||||
AC_REQUIRE([gl_MSVC_INVAL])
|
||||
])
|
|
@ -1,12 +1,12 @@
|
|||
# multiarch.m4 serial 5
|
||||
dnl Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
# multiarch.m4 serial 7
|
||||
dnl Copyright (C) 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.
|
||||
|
||||
# Determine whether the compiler is or may be producing universal binaries.
|
||||
#
|
||||
# On MacOS X 10.5 and later systems, the user can create libraries and
|
||||
# On Mac OS X 10.5 and later systems, the user can create libraries and
|
||||
# executables that work on multiple system types--known as "fat" or
|
||||
# "universal" binaries--by specifying multiple '-arch' options to the
|
||||
# compiler but only a single '-arch' option to the preprocessor. Like
|
||||
|
@ -16,8 +16,7 @@ dnl with or without modifications, as long as this notice is preserved.
|
|||
# CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
||||
# CPP="gcc -E" CXXCPP="g++ -E"
|
||||
#
|
||||
# Detect this situation and set the macro AA_APPLE_UNIVERSAL_BUILD at the
|
||||
# beginning of config.h and set APPLE_UNIVERSAL_BUILD accordingly.
|
||||
# Detect this situation and set APPLE_UNIVERSAL_BUILD accordingly.
|
||||
|
||||
AC_DEFUN_ONCE([gl_MULTIARCH],
|
||||
[
|
||||
|
@ -55,8 +54,6 @@ AC_DEFUN_ONCE([gl_MULTIARCH],
|
|||
done
|
||||
])
|
||||
if test $gl_cv_c_multiarch = yes; then
|
||||
AC_DEFINE([AA_APPLE_UNIVERSAL_BUILD], [1],
|
||||
[Define if the compiler is building for multiple architectures of Apple platforms at once.])
|
||||
APPLE_UNIVERSAL_BUILD=1
|
||||
else
|
||||
APPLE_UNIVERSAL_BUILD=0
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# nl_langinfo.m4 serial 3
|
||||
dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc.
|
||||
# nl_langinfo.m4 serial 5
|
||||
dnl Copyright (C) 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.
|
||||
|
@ -9,17 +9,42 @@ AC_DEFUN([gl_FUNC_NL_LANGINFO],
|
|||
AC_REQUIRE([gl_LANGINFO_H_DEFAULTS])
|
||||
AC_REQUIRE([gl_LANGINFO_H])
|
||||
AC_CHECK_FUNCS_ONCE([nl_langinfo])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
if test $ac_cv_func_nl_langinfo = yes; then
|
||||
if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1; then
|
||||
# On Irix 6.5, YESEXPR is defined, but nl_langinfo(YESEXPR) is broken.
|
||||
AC_CACHE_CHECK([whether YESEXPR works],
|
||||
[gl_cv_func_nl_langinfo_yesexpr_works],
|
||||
[AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM([[#include <langinfo.h>
|
||||
]], [[return !*nl_langinfo(YESEXPR);
|
||||
]])],
|
||||
[gl_cv_func_nl_langinfo_yesexpr_works=yes],
|
||||
[gl_cv_func_nl_langinfo_yesexpr_works=no],
|
||||
[
|
||||
case "$host_os" in
|
||||
# Guess no on irix systems.
|
||||
irix*) gl_cv_func_nl_langinfo_yesexpr_works="guessing no";;
|
||||
# Guess yes elsewhere.
|
||||
*) gl_cv_func_nl_langinfo_yesexpr_works="guessing yes";;
|
||||
esac
|
||||
])
|
||||
])
|
||||
case $gl_cv_func_nl_langinfo_yesexpr_works in
|
||||
*yes) FUNC_NL_LANGINFO_YESEXPR_WORKS=1 ;;
|
||||
*) FUNC_NL_LANGINFO_YESEXPR_WORKS=0 ;;
|
||||
esac
|
||||
AC_DEFINE_UNQUOTED([FUNC_NL_LANGINFO_YESEXPR_WORKS],
|
||||
[$FUNC_NL_LANGINFO_YESEXPR_WORKS],
|
||||
[Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string.])
|
||||
if test $HAVE_LANGINFO_CODESET = 1 && test $HAVE_LANGINFO_ERA = 1 \
|
||||
&& test $FUNC_NL_LANGINFO_YESEXPR_WORKS = 1; then
|
||||
:
|
||||
else
|
||||
REPLACE_NL_LANGINFO=1
|
||||
AC_DEFINE([REPLACE_NL_LANGINFO], [1],
|
||||
[Define if nl_langinfo exists but is overridden by gnulib.])
|
||||
AC_LIBOBJ([nl_langinfo])
|
||||
fi
|
||||
else
|
||||
HAVE_NL_LANGINFO=0
|
||||
AC_LIBOBJ([nl_langinfo])
|
||||
fi
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# nls.m4 serial 5 (gettext-0.18)
|
||||
dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation,
|
||||
dnl Copyright (C) 1995-2003, 2005-2006, 2008-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,
|
||||
|
|
130
m4/nocrash.m4
Normal file
130
m4/nocrash.m4
Normal file
|
@ -0,0 +1,130 @@
|
|||
# nocrash.m4 serial 4
|
||||
dnl Copyright (C) 2005, 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 Based on libsigsegv, from Bruno Haible and Paolo Bonzini.
|
||||
|
||||
AC_PREREQ([2.13])
|
||||
|
||||
dnl Expands to some code for use in .c programs that will cause the configure
|
||||
dnl test to exit instead of crashing. This is useful to avoid triggering
|
||||
dnl action from a background debugger and to avoid core dumps.
|
||||
dnl Usage: ...
|
||||
dnl ]GL_NOCRASH[
|
||||
dnl ...
|
||||
dnl int main() { nocrash_init(); ... }
|
||||
AC_DEFUN([GL_NOCRASH],[[
|
||||
#include <stdlib.h>
|
||||
#if defined __MACH__ && defined __APPLE__
|
||||
/* Avoid a crash on Mac OS X. */
|
||||
#include <mach/mach.h>
|
||||
#include <mach/mach_error.h>
|
||||
#include <mach/thread_status.h>
|
||||
#include <mach/exception.h>
|
||||
#include <mach/task.h>
|
||||
#include <pthread.h>
|
||||
/* The exception port on which our thread listens. */
|
||||
static mach_port_t our_exception_port;
|
||||
/* The main function of the thread listening for exceptions of type
|
||||
EXC_BAD_ACCESS. */
|
||||
static void *
|
||||
mach_exception_thread (void *arg)
|
||||
{
|
||||
/* Buffer for a message to be received. */
|
||||
struct {
|
||||
mach_msg_header_t head;
|
||||
mach_msg_body_t msgh_body;
|
||||
char data[1024];
|
||||
} msg;
|
||||
mach_msg_return_t retval;
|
||||
/* Wait for a message on the exception port. */
|
||||
retval = mach_msg (&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE, 0, sizeof (msg),
|
||||
our_exception_port, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
|
||||
if (retval != MACH_MSG_SUCCESS)
|
||||
abort ();
|
||||
exit (1);
|
||||
}
|
||||
static void
|
||||
nocrash_init (void)
|
||||
{
|
||||
mach_port_t self = mach_task_self ();
|
||||
/* Allocate a port on which the thread shall listen for exceptions. */
|
||||
if (mach_port_allocate (self, MACH_PORT_RIGHT_RECEIVE, &our_exception_port)
|
||||
== KERN_SUCCESS) {
|
||||
/* See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/mach_port_insert_right.html. */
|
||||
if (mach_port_insert_right (self, our_exception_port, our_exception_port,
|
||||
MACH_MSG_TYPE_MAKE_SEND)
|
||||
== KERN_SUCCESS) {
|
||||
/* The exceptions we want to catch. Only EXC_BAD_ACCESS is interesting
|
||||
for us. */
|
||||
exception_mask_t mask = EXC_MASK_BAD_ACCESS;
|
||||
/* Create the thread listening on the exception port. */
|
||||
pthread_attr_t attr;
|
||||
pthread_t thread;
|
||||
if (pthread_attr_init (&attr) == 0
|
||||
&& pthread_attr_setdetachstate (&attr, PTHREAD_CREATE_DETACHED) == 0
|
||||
&& pthread_create (&thread, &attr, mach_exception_thread, NULL) == 0) {
|
||||
pthread_attr_destroy (&attr);
|
||||
/* Replace the exception port info for these exceptions with our own.
|
||||
Note that we replace the exception port for the entire task, not only
|
||||
for a particular thread. This has the effect that when our exception
|
||||
port gets the message, the thread specific exception port has already
|
||||
been asked, and we don't need to bother about it.
|
||||
See http://web.mit.edu/darwin/src/modules/xnu/osfmk/man/task_set_exception_ports.html. */
|
||||
task_set_exception_ports (self, mask, our_exception_port,
|
||||
EXCEPTION_DEFAULT, MACHINE_THREAD_STATE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#elif (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
|
||||
/* Avoid a crash on native Windows. */
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <winerror.h>
|
||||
static LONG WINAPI
|
||||
exception_filter (EXCEPTION_POINTERS *ExceptionInfo)
|
||||
{
|
||||
switch (ExceptionInfo->ExceptionRecord->ExceptionCode)
|
||||
{
|
||||
case EXCEPTION_ACCESS_VIOLATION:
|
||||
case EXCEPTION_IN_PAGE_ERROR:
|
||||
case EXCEPTION_STACK_OVERFLOW:
|
||||
case EXCEPTION_GUARD_PAGE:
|
||||
case EXCEPTION_PRIV_INSTRUCTION:
|
||||
case EXCEPTION_ILLEGAL_INSTRUCTION:
|
||||
case EXCEPTION_DATATYPE_MISALIGNMENT:
|
||||
case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
|
||||
case EXCEPTION_NONCONTINUABLE_EXCEPTION:
|
||||
exit (1);
|
||||
}
|
||||
return EXCEPTION_CONTINUE_SEARCH;
|
||||
}
|
||||
static void
|
||||
nocrash_init (void)
|
||||
{
|
||||
SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) exception_filter);
|
||||
}
|
||||
#else
|
||||
/* Avoid a crash on POSIX systems. */
|
||||
#include <signal.h>
|
||||
/* A POSIX signal handler. */
|
||||
static void
|
||||
exception_handler (int sig)
|
||||
{
|
||||
exit (1);
|
||||
}
|
||||
static void
|
||||
nocrash_init (void)
|
||||
{
|
||||
#ifdef SIGSEGV
|
||||
signal (SIGSEGV, exception_handler);
|
||||
#endif
|
||||
#ifdef SIGBUS
|
||||
signal (SIGBUS, exception_handler);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
]])
|
18
m4/off_t.m4
Normal file
18
m4/off_t.m4
Normal file
|
@ -0,0 +1,18 @@
|
|||
# off_t.m4 serial 1
|
||||
dnl Copyright (C) 2012-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 Check whether to override the 'off_t' type.
|
||||
dnl Set WINDOWS_64_BIT_OFF_T.
|
||||
|
||||
AC_DEFUN([gl_TYPE_OFF_T],
|
||||
[
|
||||
m4_ifdef([gl_LARGEFILE], [
|
||||
AC_REQUIRE([gl_LARGEFILE])
|
||||
], [
|
||||
WINDOWS_64_BIT_OFF_T=0
|
||||
])
|
||||
AC_SUBST([WINDOWS_64_BIT_OFF_T])
|
||||
])
|
35
m4/po.m4
35
m4/po.m4
|
@ -1,5 +1,5 @@
|
|||
# po.m4 serial 17 (gettext-0.18)
|
||||
dnl Copyright (C) 1995-2010 Free Software Foundation, Inc.
|
||||
# po.m4 serial 20 (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.
|
||||
|
@ -17,14 +17,14 @@ dnl Authors:
|
|||
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
|
||||
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2003.
|
||||
|
||||
AC_PREREQ([2.50])
|
||||
AC_PREREQ([2.60])
|
||||
|
||||
dnl Checks for all prerequisites of the po subdirectory.
|
||||
AC_DEFUN([AM_PO_SUBDIRS],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_MAKE_SET])dnl
|
||||
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||
AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake
|
||||
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
||||
AC_REQUIRE([AM_NLS])dnl
|
||||
|
||||
dnl Release version of the gettext macros. This is used to ensure that
|
||||
|
@ -102,7 +102,7 @@ changequote([,])dnl
|
|||
case "$ac_file" in */Makefile.in)
|
||||
# Adjust a relative srcdir.
|
||||
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
|
||||
ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
|
||||
ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
|
||||
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
|
||||
# In autoconf-2.13 it is called $ac_given_srcdir.
|
||||
# In autoconf-2.50 it is called $srcdir.
|
||||
|
@ -118,7 +118,8 @@ changequote([,])dnl
|
|||
if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
|
||||
rm -f "$ac_dir/POTFILES"
|
||||
test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
|
||||
cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
|
||||
gt_tab=`printf '\t'`
|
||||
cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
|
||||
POMAKEFILEDEPS="POTFILES.in"
|
||||
# ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
|
||||
# on $ac_dir but don't depend on user-specified configuration
|
||||
|
@ -129,12 +130,12 @@ changequote([,])dnl
|
|||
test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
|
||||
fi
|
||||
ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
|
||||
# Hide the ALL_LINGUAS assigment from automake < 1.5.
|
||||
# Hide the ALL_LINGUAS assignment from automake < 1.5.
|
||||
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
|
||||
POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
|
||||
else
|
||||
# The set of available languages was given in configure.in.
|
||||
# Hide the ALL_LINGUAS assigment from automake < 1.5.
|
||||
# Hide the ALL_LINGUAS assignment from automake < 1.5.
|
||||
eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
|
||||
fi
|
||||
# Compute POFILES
|
||||
|
@ -226,7 +227,7 @@ AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
|
|||
changequote(,)dnl
|
||||
# Adjust a relative srcdir.
|
||||
ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
|
||||
ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`"
|
||||
ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
|
||||
ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
|
||||
# In autoconf-2.13 it is called $ac_given_srcdir.
|
||||
# In autoconf-2.50 it is called $srcdir.
|
||||
|
@ -254,6 +255,7 @@ EOT
|
|||
fi
|
||||
|
||||
# A sed script that extracts the value of VARIABLE from a Makefile.
|
||||
tab=`printf '\t'`
|
||||
sed_x_variable='
|
||||
# Test if the hold space is empty.
|
||||
x
|
||||
|
@ -261,9 +263,9 @@ s/P/P/
|
|||
x
|
||||
ta
|
||||
# Yes it was empty. Look if we have the expected variable definition.
|
||||
/^[ ]*VARIABLE[ ]*=/{
|
||||
/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
|
||||
# Seen the first line of the variable definition.
|
||||
s/^[ ]*VARIABLE[ ]*=//
|
||||
s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
|
||||
ba
|
||||
}
|
||||
bd
|
||||
|
@ -315,7 +317,7 @@ changequote([,])dnl
|
|||
sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
|
||||
ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
|
||||
fi
|
||||
# Hide the ALL_LINGUAS assigment from automake < 1.5.
|
||||
# Hide the ALL_LINGUAS assignment from automake < 1.5.
|
||||
eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
|
||||
# Compute POFILES
|
||||
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
|
||||
|
@ -405,14 +407,15 @@ changequote([,])dnl
|
|||
fi
|
||||
|
||||
sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
|
||||
tab=`printf '\t'`
|
||||
if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
|
||||
# Add dependencies that cannot be formulated as a simple suffix rule.
|
||||
for lang in $ALL_LINGUAS; do
|
||||
frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
|
||||
cat >> "$ac_file.tmp" <<EOF
|
||||
$frobbedlang.msg: $lang.po
|
||||
@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
|
||||
\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
|
||||
${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
|
||||
${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
|
||||
EOF
|
||||
done
|
||||
fi
|
||||
|
@ -422,8 +425,8 @@ EOF
|
|||
frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
|
||||
cat >> "$ac_file.tmp" <<EOF
|
||||
$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
|
||||
@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
|
||||
\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
|
||||
${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
|
||||
${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
|
||||
EOF
|
||||
done
|
||||
fi
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# printf-posix.m4 serial 6 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2003, 2007, 2009-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2003, 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.
|
||||
|
|
370
m4/printf.m4
370
m4/printf.m4
|
@ -1,5 +1,5 @@
|
|||
# printf.m4 serial 35
|
||||
dnl Copyright (C) 2003, 2007-2010 Free Software Foundation, Inc.
|
||||
# printf.m4 serial 50
|
||||
dnl Copyright (C) 2003, 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.
|
||||
|
@ -32,25 +32,26 @@ AC_DEFUN([gl_PRINTF_SIZES_C99],
|
|||
static char buf[100];
|
||||
int main ()
|
||||
{
|
||||
int result = 0;
|
||||
#if HAVE_STDINT_H_WITH_UINTMAX || HAVE_INTTYPES_H_WITH_UINTMAX
|
||||
buf[0] = '\0';
|
||||
if (sprintf (buf, "%ju %d", (uintmax_t) 12345671, 33, 44, 55) < 0
|
||||
|| strcmp (buf, "12345671 33") != 0)
|
||||
return 1;
|
||||
result |= 1;
|
||||
#endif
|
||||
buf[0] = '\0';
|
||||
if (sprintf (buf, "%zu %d", (size_t) 12345672, 33, 44, 55) < 0
|
||||
|| strcmp (buf, "12345672 33") != 0)
|
||||
return 1;
|
||||
result |= 2;
|
||||
buf[0] = '\0';
|
||||
if (sprintf (buf, "%tu %d", (ptrdiff_t) 12345673, 33, 44, 55) < 0
|
||||
|| strcmp (buf, "12345673 33") != 0)
|
||||
return 1;
|
||||
result |= 4;
|
||||
buf[0] = '\0';
|
||||
if (sprintf (buf, "%Lg %d", (long double) 1.5, 33, 44, 55) < 0
|
||||
|| strcmp (buf, "1.5 33") != 0)
|
||||
return 1;
|
||||
return 0;
|
||||
result |= 8;
|
||||
return result;
|
||||
}]])],
|
||||
[gl_cv_func_printf_sizes_c99=yes],
|
||||
[gl_cv_func_printf_sizes_c99=no],
|
||||
|
@ -62,7 +63,7 @@ changequote(,)dnl
|
|||
# Guess yes on FreeBSD >= 5.
|
||||
freebsd[1-4]*) gl_cv_func_printf_sizes_c99="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_printf_sizes_c99="guessing yes";;
|
||||
# Guess yes on MacOS X >= 10.3.
|
||||
# Guess yes on Mac OS X >= 10.3.
|
||||
darwin[1-6].*) gl_cv_func_printf_sizes_c99="guessing no";;
|
||||
darwin*) gl_cv_func_printf_sizes_c99="guessing yes";;
|
||||
# Guess yes on OpenBSD >= 3.9.
|
||||
|
@ -70,8 +71,8 @@ changequote(,)dnl
|
|||
gl_cv_func_printf_sizes_c99="guessing no";;
|
||||
openbsd*) gl_cv_func_printf_sizes_c99="guessing yes";;
|
||||
# Guess yes on Solaris >= 2.10.
|
||||
solaris2.[0-9]*) gl_cv_func_printf_sizes_c99="guessing no";;
|
||||
solaris*) gl_cv_func_printf_sizes_c99="guessing yes";;
|
||||
solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";;
|
||||
solaris*) gl_cv_func_printf_sizes_c99="guessing no";;
|
||||
# Guess yes on NetBSD >= 3.
|
||||
netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*)
|
||||
gl_cv_func_printf_sizes_c99="guessing no";;
|
||||
|
@ -102,19 +103,20 @@ AC_DEFUN([gl_PRINTF_LONG_DOUBLE],
|
|||
static char buf[10000];
|
||||
int main ()
|
||||
{
|
||||
int result = 0;
|
||||
buf[0] = '\0';
|
||||
if (sprintf (buf, "%Lf %d", 1.75L, 33, 44, 55) < 0
|
||||
|| strcmp (buf, "1.750000 33") != 0)
|
||||
return 1;
|
||||
result |= 1;
|
||||
buf[0] = '\0';
|
||||
if (sprintf (buf, "%Le %d", 1.75L, 33, 44, 55) < 0
|
||||
|| strcmp (buf, "1.750000e+00 33") != 0)
|
||||
return 1;
|
||||
result |= 2;
|
||||
buf[0] = '\0';
|
||||
if (sprintf (buf, "%Lg %d", 1.75L, 33, 44, 55) < 0
|
||||
|| strcmp (buf, "1.75 33") != 0)
|
||||
return 1;
|
||||
return 0;
|
||||
result |= 4;
|
||||
return result;
|
||||
}]])],
|
||||
[gl_cv_func_printf_long_double=yes],
|
||||
[gl_cv_func_printf_long_double=no],
|
||||
|
@ -175,39 +177,40 @@ static char buf[10000];
|
|||
static double zero = 0.0;
|
||||
int main ()
|
||||
{
|
||||
if (sprintf (buf, "%f", 1.0 / 0.0) < 0
|
||||
int result = 0;
|
||||
if (sprintf (buf, "%f", 1.0 / zero) < 0
|
||||
|| (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
|
||||
return 1;
|
||||
if (sprintf (buf, "%f", -1.0 / 0.0) < 0
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%f", -1.0 / zero) < 0
|
||||
|| (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
|
||||
return 1;
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%f", zero / zero) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
if (sprintf (buf, "%e", 1.0 / 0.0) < 0
|
||||
result |= 2;
|
||||
if (sprintf (buf, "%e", 1.0 / zero) < 0
|
||||
|| (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
|
||||
return 1;
|
||||
if (sprintf (buf, "%e", -1.0 / 0.0) < 0
|
||||
result |= 4;
|
||||
if (sprintf (buf, "%e", -1.0 / zero) < 0
|
||||
|| (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
|
||||
return 1;
|
||||
result |= 4;
|
||||
if (sprintf (buf, "%e", zero / zero) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
if (sprintf (buf, "%g", 1.0 / 0.0) < 0
|
||||
result |= 8;
|
||||
if (sprintf (buf, "%g", 1.0 / zero) < 0
|
||||
|| (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
|
||||
return 1;
|
||||
if (sprintf (buf, "%g", -1.0 / 0.0) < 0
|
||||
result |= 16;
|
||||
if (sprintf (buf, "%g", -1.0 / zero) < 0
|
||||
|| (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
|
||||
return 1;
|
||||
result |= 16;
|
||||
if (sprintf (buf, "%g", zero / zero) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 32;
|
||||
/* This test fails on HP-UX 10.20. */
|
||||
if (have_minus_zero ())
|
||||
if (sprintf (buf, "%g", - zero) < 0
|
||||
|| strcmp (buf, "-0") != 0)
|
||||
return 1;
|
||||
return 0;
|
||||
result |= 64;
|
||||
return result;
|
||||
}]])],
|
||||
[gl_cv_func_printf_infinite=yes],
|
||||
[gl_cv_func_printf_infinite=no],
|
||||
|
@ -219,7 +222,7 @@ changequote(,)dnl
|
|||
# Guess yes on FreeBSD >= 6.
|
||||
freebsd[1-5]*) gl_cv_func_printf_infinite="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_printf_infinite="guessing yes";;
|
||||
# Guess yes on MacOS X >= 10.3.
|
||||
# Guess yes on Mac OS X >= 10.3.
|
||||
darwin[1-6].*) gl_cv_func_printf_infinite="guessing no";;
|
||||
darwin*) gl_cv_func_printf_infinite="guessing yes";;
|
||||
# Guess yes on HP-UX >= 11.
|
||||
|
@ -248,6 +251,7 @@ AC_DEFUN([gl_PRINTF_INFINITE_LONG_DOUBLE],
|
|||
AC_REQUIRE([gl_PRINTF_LONG_DOUBLE])
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([gl_BIGENDIAN])
|
||||
AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
dnl The user can set or unset the variable gl_printf_safe to indicate
|
||||
dnl that he wishes a safe handling of non-IEEE-754 'long double' values.
|
||||
|
@ -289,35 +293,36 @@ static char buf[10000];
|
|||
static long double zeroL = 0.0L;
|
||||
int main ()
|
||||
{
|
||||
int result = 0;
|
||||
nocrash_init();
|
||||
if (sprintf (buf, "%Lf", 1.0L / 0.0L) < 0
|
||||
if (sprintf (buf, "%Lf", 1.0L / zeroL) < 0
|
||||
|| (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
|
||||
return 1;
|
||||
if (sprintf (buf, "%Lf", -1.0L / 0.0L) < 0
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%Lf", -1.0L / zeroL) < 0
|
||||
|| (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
|
||||
return 1;
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%Lf", zeroL / zeroL) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
if (sprintf (buf, "%Le", 1.0L / 0.0L) < 0
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%Le", 1.0L / zeroL) < 0
|
||||
|| (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
|
||||
return 1;
|
||||
if (sprintf (buf, "%Le", -1.0L / 0.0L) < 0
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%Le", -1.0L / zeroL) < 0
|
||||
|| (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
|
||||
return 1;
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%Le", zeroL / zeroL) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
if (sprintf (buf, "%Lg", 1.0L / 0.0L) < 0
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%Lg", 1.0L / zeroL) < 0
|
||||
|| (strcmp (buf, "inf") != 0 && strcmp (buf, "infinity") != 0))
|
||||
return 1;
|
||||
if (sprintf (buf, "%Lg", -1.0L / 0.0L) < 0
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%Lg", -1.0L / zeroL) < 0
|
||||
|| (strcmp (buf, "-inf") != 0 && strcmp (buf, "-infinity") != 0))
|
||||
return 1;
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%Lg", zeroL / zeroL) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_))
|
||||
result |= 1;
|
||||
#if CHECK_PRINTF_SAFE && ((defined __ia64 && LDBL_MANT_DIG == 64) || (defined __x86_64__ || defined __amd64__) || (defined __i386 || defined __i386__ || defined _I386 || defined _M_IX86 || defined _X86_)) && !HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
|
||||
/* Representation of an 80-bit 'long double' as an initializer for a sequence
|
||||
of 'unsigned int' words. */
|
||||
# ifdef WORDS_BIGENDIAN
|
||||
|
@ -335,13 +340,13 @@ int main ()
|
|||
{ LDBL80_WORDS (0xFFFF, 0xC3333333, 0x00000000) };
|
||||
if (sprintf (buf, "%Lf", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 2;
|
||||
if (sprintf (buf, "%Le", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 2;
|
||||
if (sprintf (buf, "%Lg", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 2;
|
||||
}
|
||||
{
|
||||
/* Signalling NaN. */
|
||||
|
@ -349,81 +354,81 @@ int main ()
|
|||
{ LDBL80_WORDS (0xFFFF, 0x83333333, 0x00000000) };
|
||||
if (sprintf (buf, "%Lf", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 2;
|
||||
if (sprintf (buf, "%Le", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 2;
|
||||
if (sprintf (buf, "%Lg", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 2;
|
||||
}
|
||||
{ /* Pseudo-NaN. */
|
||||
static union { unsigned int word[4]; long double value; } x =
|
||||
{ LDBL80_WORDS (0xFFFF, 0x40000001, 0x00000000) };
|
||||
if (sprintf (buf, "%Lf", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 4;
|
||||
if (sprintf (buf, "%Le", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 4;
|
||||
if (sprintf (buf, "%Lg", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 4;
|
||||
}
|
||||
{ /* Pseudo-Infinity. */
|
||||
static union { unsigned int word[4]; long double value; } x =
|
||||
{ LDBL80_WORDS (0xFFFF, 0x00000000, 0x00000000) };
|
||||
if (sprintf (buf, "%Lf", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 8;
|
||||
if (sprintf (buf, "%Le", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 8;
|
||||
if (sprintf (buf, "%Lg", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 8;
|
||||
}
|
||||
{ /* Pseudo-Zero. */
|
||||
static union { unsigned int word[4]; long double value; } x =
|
||||
{ LDBL80_WORDS (0x4004, 0x00000000, 0x00000000) };
|
||||
if (sprintf (buf, "%Lf", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 16;
|
||||
if (sprintf (buf, "%Le", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 16;
|
||||
if (sprintf (buf, "%Lg", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 16;
|
||||
}
|
||||
{ /* Unnormalized number. */
|
||||
static union { unsigned int word[4]; long double value; } x =
|
||||
{ LDBL80_WORDS (0x4000, 0x63333333, 0x00000000) };
|
||||
if (sprintf (buf, "%Lf", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 32;
|
||||
if (sprintf (buf, "%Le", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 32;
|
||||
if (sprintf (buf, "%Lg", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 32;
|
||||
}
|
||||
{ /* Pseudo-Denormal. */
|
||||
static union { unsigned int word[4]; long double value; } x =
|
||||
{ LDBL80_WORDS (0x0000, 0x83333333, 0x00000000) };
|
||||
if (sprintf (buf, "%Lf", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 64;
|
||||
if (sprintf (buf, "%Le", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 64;
|
||||
if (sprintf (buf, "%Lg", x.value) < 0
|
||||
|| !strisnan (buf, 0, strlen (buf)))
|
||||
return 1;
|
||||
result |= 64;
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
return result;
|
||||
}]])],
|
||||
[gl_cv_func_printf_infinite_long_double=yes],
|
||||
[gl_cv_func_printf_infinite_long_double=no],
|
||||
|
@ -439,16 +444,9 @@ changequote(,)dnl
|
|||
# Guess yes on FreeBSD >= 6.
|
||||
freebsd[1-5]*) gl_cv_func_printf_infinite_long_double="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_printf_infinite_long_double="guessing yes";;
|
||||
# Guess yes on MacOS X >= 10.3.
|
||||
darwin[1-6].*) gl_cv_func_printf_infinite_long_double="guessing no";;
|
||||
darwin*) gl_cv_func_printf_infinite_long_double="guessing yes";;
|
||||
# Guess yes on HP-UX >= 11.
|
||||
hpux[7-9]* | hpux10*) gl_cv_func_printf_infinite_long_double="guessing no";;
|
||||
hpux*) gl_cv_func_printf_infinite_long_double="guessing yes";;
|
||||
# Guess yes on NetBSD >= 3.
|
||||
netbsd[1-2]* | netbsdelf[1-2]* | netbsdaout[1-2]* | netbsdcoff[1-2]*)
|
||||
gl_cv_func_printf_infinite_long_double="guessing no";;
|
||||
netbsd*) gl_cv_func_printf_infinite_long_double="guessing yes";;
|
||||
# If we don't know, assume the worst.
|
||||
*) gl_cv_func_printf_infinite_long_double="guessing no";;
|
||||
esac
|
||||
|
@ -481,48 +479,50 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_A],
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
static char buf[100];
|
||||
static double zero = 0.0;
|
||||
int main ()
|
||||
{
|
||||
int result = 0;
|
||||
if (sprintf (buf, "%a %d", 3.1416015625, 33, 44, 55) < 0
|
||||
|| (strcmp (buf, "0x1.922p+1 33") != 0
|
||||
&& strcmp (buf, "0x3.244p+0 33") != 0
|
||||
&& strcmp (buf, "0x6.488p-1 33") != 0
|
||||
&& strcmp (buf, "0xc.91p-2 33") != 0))
|
||||
return 1;
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%A %d", -3.1416015625, 33, 44, 55) < 0
|
||||
|| (strcmp (buf, "-0X1.922P+1 33") != 0
|
||||
&& strcmp (buf, "-0X3.244P+0 33") != 0
|
||||
&& strcmp (buf, "-0X6.488P-1 33") != 0
|
||||
&& strcmp (buf, "-0XC.91P-2 33") != 0))
|
||||
return 1;
|
||||
result |= 2;
|
||||
/* This catches a FreeBSD 6.1 bug: it doesn't round. */
|
||||
if (sprintf (buf, "%.2a %d", 1.51, 33, 44, 55) < 0
|
||||
|| (strcmp (buf, "0x1.83p+0 33") != 0
|
||||
&& strcmp (buf, "0x3.05p-1 33") != 0
|
||||
&& strcmp (buf, "0x6.0ap-2 33") != 0
|
||||
&& strcmp (buf, "0xc.14p-3 33") != 0))
|
||||
return 1;
|
||||
result |= 4;
|
||||
/* This catches a FreeBSD 6.1 bug. See
|
||||
<http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00107.html> */
|
||||
if (sprintf (buf, "%010a %d", 1.0 / 0.0, 33, 44, 55) < 0
|
||||
if (sprintf (buf, "%010a %d", 1.0 / zero, 33, 44, 55) < 0
|
||||
|| buf[0] == '0')
|
||||
return 1;
|
||||
/* This catches a MacOS X 10.3.9 (Darwin 7.9) bug. */
|
||||
result |= 8;
|
||||
/* This catches a Mac OS X 10.3.9 (Darwin 7.9) bug. */
|
||||
if (sprintf (buf, "%.1a", 1.999) < 0
|
||||
|| (strcmp (buf, "0x1.0p+1") != 0
|
||||
&& strcmp (buf, "0x2.0p+0") != 0
|
||||
&& strcmp (buf, "0x4.0p-1") != 0
|
||||
&& strcmp (buf, "0x8.0p-2") != 0))
|
||||
return 1;
|
||||
/* This catches the same MacOS X 10.3.9 (Darwin 7.9) bug and also a
|
||||
result |= 16;
|
||||
/* This catches the same Mac OS X 10.3.9 (Darwin 7.9) bug and also a
|
||||
glibc 2.4 bug <http://sourceware.org/bugzilla/show_bug.cgi?id=2908>. */
|
||||
if (sprintf (buf, "%.1La", 1.999L) < 0
|
||||
|| (strcmp (buf, "0x1.0p+1") != 0
|
||||
&& strcmp (buf, "0x2.0p+0") != 0
|
||||
&& strcmp (buf, "0x4.0p-1") != 0
|
||||
&& strcmp (buf, "0x8.0p-2") != 0))
|
||||
return 1;
|
||||
return 0;
|
||||
result |= 32;
|
||||
return result;
|
||||
}]])],
|
||||
[gl_cv_func_printf_directive_a=yes],
|
||||
[gl_cv_func_printf_directive_a=no],
|
||||
|
@ -533,7 +533,7 @@ int main ()
|
|||
AC_EGREP_CPP([BZ2908], [
|
||||
#include <features.h>
|
||||
#ifdef __GNU_LIBRARY__
|
||||
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2)
|
||||
#if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 5) || (__GLIBC__ > 2)) && !defined __UCLIBC__
|
||||
BZ2908
|
||||
#endif
|
||||
#endif
|
||||
|
@ -564,19 +564,21 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_F],
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
static char buf[100];
|
||||
static double zero = 0.0;
|
||||
int main ()
|
||||
{
|
||||
int result = 0;
|
||||
if (sprintf (buf, "%F %d", 1234567.0, 33, 44, 55) < 0
|
||||
|| strcmp (buf, "1234567.000000 33") != 0)
|
||||
return 1;
|
||||
if (sprintf (buf, "%F", 1.0 / 0.0) < 0
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%F", 1.0 / zero) < 0
|
||||
|| (strcmp (buf, "INF") != 0 && strcmp (buf, "INFINITY") != 0))
|
||||
return 1;
|
||||
result |= 2;
|
||||
/* This catches a Cygwin 1.5.x bug. */
|
||||
if (sprintf (buf, "%.F", 1234.0) < 0
|
||||
|| strcmp (buf, "1234") != 0)
|
||||
return 1;
|
||||
return 0;
|
||||
result |= 4;
|
||||
return result;
|
||||
}]])],
|
||||
[gl_cv_func_printf_directive_f=yes],
|
||||
[gl_cv_func_printf_directive_f=no],
|
||||
|
@ -588,12 +590,12 @@ changequote(,)dnl
|
|||
# Guess yes on FreeBSD >= 6.
|
||||
freebsd[1-5]*) gl_cv_func_printf_directive_f="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_printf_directive_f="guessing yes";;
|
||||
# Guess yes on MacOS X >= 10.3.
|
||||
# Guess yes on Mac OS X >= 10.3.
|
||||
darwin[1-6].*) gl_cv_func_printf_directive_f="guessing no";;
|
||||
darwin*) gl_cv_func_printf_directive_f="guessing yes";;
|
||||
# Guess yes on Solaris >= 2.10.
|
||||
solaris2.[0-9]*) gl_cv_func_printf_directive_f="guessing no";;
|
||||
solaris*) gl_cv_func_printf_directive_f="guessing yes";;
|
||||
solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";;
|
||||
solaris*) gl_cv_func_printf_sizes_c99="guessing no";;
|
||||
# If we don't know, assume the worst.
|
||||
*) gl_cv_func_printf_directive_f="guessing no";;
|
||||
esac
|
||||
|
@ -616,12 +618,27 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_N],
|
|||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef _MSC_VER
|
||||
/* See page about "Parameter Validation" on msdn.microsoft.com. */
|
||||
static void cdecl
|
||||
invalid_parameter_handler (const wchar_t *expression,
|
||||
const wchar_t *function,
|
||||
const wchar_t *file, unsigned int line,
|
||||
uintptr_t dummy)
|
||||
{
|
||||
exit (1);
|
||||
}
|
||||
#endif
|
||||
static char fmtstring[10];
|
||||
static char buf[100];
|
||||
int main ()
|
||||
{
|
||||
int count = -1;
|
||||
#ifdef _MSC_VER
|
||||
_set_invalid_parameter_handler (invalid_parameter_handler);
|
||||
#endif
|
||||
/* Copy the format string. Some systems (glibc with _FORTIFY_SOURCE=2)
|
||||
support %n in format strings in read-only memory but not in writable
|
||||
memory. */
|
||||
|
@ -637,7 +654,8 @@ int main ()
|
|||
[
|
||||
changequote(,)dnl
|
||||
case "$host_os" in
|
||||
*) gl_cv_func_printf_directive_n="guessing yes";;
|
||||
mingw*) gl_cv_func_printf_directive_n="guessing no";;
|
||||
*) gl_cv_func_printf_directive_n="guessing yes";;
|
||||
esac
|
||||
changequote([,])dnl
|
||||
])
|
||||
|
@ -671,6 +689,7 @@ AC_DEFUN([gl_PRINTF_DIRECTIVE_LS],
|
|||
#include <string.h>
|
||||
int main ()
|
||||
{
|
||||
int result = 0;
|
||||
char buf[100];
|
||||
/* Test whether %ls works at all.
|
||||
This test fails on OpenBSD 4.0, IRIX 6.5, Solaris 2.6, Haiku, but not on
|
||||
|
@ -680,7 +699,7 @@ int main ()
|
|||
buf[0] = '\0';
|
||||
if (sprintf (buf, "%ls", wstring) < 0
|
||||
|| strcmp (buf, "abc") != 0)
|
||||
return 1;
|
||||
result |= 1;
|
||||
}
|
||||
/* This test fails on IRIX 6.5, Solaris 2.6, Cygwin 1.5, Haiku (with an
|
||||
assertion failure inside libc), but not on OpenBSD 4.0. */
|
||||
|
@ -689,7 +708,7 @@ int main ()
|
|||
buf[0] = '\0';
|
||||
if (sprintf (buf, "%ls", wstring) < 0
|
||||
|| strcmp (buf, "a") != 0)
|
||||
return 1;
|
||||
result |= 2;
|
||||
}
|
||||
/* Test whether precisions in %ls are supported as specified in ISO C 99
|
||||
section 7.19.6.1:
|
||||
|
@ -704,9 +723,9 @@ int main ()
|
|||
buf[0] = '\0';
|
||||
if (sprintf (buf, "%.2ls", wstring) < 0
|
||||
|| strcmp (buf, "ab") != 0)
|
||||
return 1;
|
||||
result |= 8;
|
||||
}
|
||||
return 0;
|
||||
return result;
|
||||
}]])],
|
||||
[gl_cv_func_printf_directive_ls=yes],
|
||||
[gl_cv_func_printf_directive_ls=no],
|
||||
|
@ -862,9 +881,10 @@ AC_DEFUN([gl_PRINTF_FLAG_ZERO],
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
static char buf[100];
|
||||
static double zero = 0.0;
|
||||
int main ()
|
||||
{
|
||||
if (sprintf (buf, "%010f", 1.0 / 0.0, 33, 44, 55) < 0
|
||||
if (sprintf (buf, "%010f", 1.0 / zero, 33, 44, 55) < 0
|
||||
|| (strcmp (buf, " inf") != 0
|
||||
&& strcmp (buf, " infinity") != 0))
|
||||
return 1;
|
||||
|
@ -889,8 +909,11 @@ changequote([,])dnl
|
|||
|
||||
dnl Test whether the *printf family of functions supports large precisions.
|
||||
dnl On mingw, precisions larger than 512 are treated like 512, in integer,
|
||||
dnl floating-point or pointer output. On BeOS, precisions larger than 1044
|
||||
dnl crash the program.
|
||||
dnl floating-point or pointer output. On Solaris 10/x86, precisions larger
|
||||
dnl than 510 in floating-point output crash the program. On Solaris 10/SPARC,
|
||||
dnl precisions larger than 510 in floating-point output yield wrong results.
|
||||
dnl On AIX 7.1, precisions larger than 998 in floating-point output yield
|
||||
dnl wrong results. On BeOS, precisions larger than 1044 crash the program.
|
||||
dnl Result is gl_cv_func_printf_precision.
|
||||
|
||||
AC_DEFUN([gl_PRINTF_PRECISION],
|
||||
|
@ -907,20 +930,30 @@ AC_DEFUN([gl_PRINTF_PRECISION],
|
|||
static char buf[5000];
|
||||
int main ()
|
||||
{
|
||||
int result = 0;
|
||||
#ifdef __BEOS__
|
||||
/* On BeOS, this would crash and show a dialog box. Avoid the crash. */
|
||||
return 1;
|
||||
#endif
|
||||
if (sprintf (buf, "%.4000d %d", 1, 33, 44) < 4000 + 3)
|
||||
return 1;
|
||||
return 0;
|
||||
result |= 1;
|
||||
if (sprintf (buf, "%.4000f %d", 1.0, 33, 44) < 4000 + 5)
|
||||
result |= 2;
|
||||
if (sprintf (buf, "%.511f %d", 1.0, 33, 44) < 511 + 5
|
||||
|| buf[0] != '1')
|
||||
result |= 4;
|
||||
if (sprintf (buf, "%.999f %d", 1.0, 33, 44) < 999 + 5
|
||||
|| buf[0] != '1')
|
||||
result |= 4;
|
||||
return result;
|
||||
}]])],
|
||||
[gl_cv_func_printf_precision=yes],
|
||||
[gl_cv_func_printf_precision=no],
|
||||
[
|
||||
changequote(,)dnl
|
||||
case "$host_os" in
|
||||
# Guess no only on native Win32 and BeOS systems.
|
||||
# Guess no only on Solaris, native Windows, and BeOS systems.
|
||||
solaris*) gl_cv_func_printf_precision="guessing no" ;;
|
||||
mingw* | pw*) gl_cv_func_printf_precision="guessing no" ;;
|
||||
beos*) gl_cv_func_printf_precision="guessing no" ;;
|
||||
*) gl_cv_func_printf_precision="guessing yes" ;;
|
||||
|
@ -995,8 +1028,9 @@ int main()
|
|||
changequote([,])dnl
|
||||
])])
|
||||
if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then
|
||||
(./conftest
|
||||
(./conftest 2>&AS_MESSAGE_LOG_FD
|
||||
result=$?
|
||||
_AS_ECHO_LOG([\$? = $result])
|
||||
if test $result != 0 && test $result != 77; then result=1; fi
|
||||
exit $result
|
||||
) >/dev/null 2>/dev/null
|
||||
|
@ -1010,7 +1044,7 @@ changequote([,])dnl
|
|||
fi
|
||||
rm -fr conftest*
|
||||
else
|
||||
dnl A universal build on Apple MacOS X platforms.
|
||||
dnl A universal build on Apple Mac OS X platforms.
|
||||
dnl The result would be 'no' in 32-bit mode and 'yes' in 64-bit mode.
|
||||
dnl But we need a configuration result that is valid in both modes.
|
||||
gl_cv_func_printf_enomem="guessing no"
|
||||
|
@ -1063,6 +1097,7 @@ AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99],
|
|||
[
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
AC_REQUIRE([gl_SNPRINTF_PRESENCE])
|
||||
AC_CACHE_CHECK([whether snprintf truncates the result as in C99],
|
||||
[gl_cv_func_snprintf_truncation_c99],
|
||||
[
|
||||
|
@ -1070,11 +1105,25 @@ AC_DEFUN([gl_SNPRINTF_TRUNCATION_C99],
|
|||
[AC_LANG_SOURCE([[
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#if HAVE_SNPRINTF
|
||||
# define my_snprintf snprintf
|
||||
#else
|
||||
# include <stdarg.h>
|
||||
static int my_snprintf (char *buf, int size, const char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
int ret;
|
||||
va_start (args, format);
|
||||
ret = vsnprintf (buf, size, format, args);
|
||||
va_end (args);
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
static char buf[100];
|
||||
int main ()
|
||||
{
|
||||
strcpy (buf, "ABCDEF");
|
||||
snprintf (buf, 3, "%d %d", 4567, 89);
|
||||
my_snprintf (buf, 3, "%d %d", 4567, 89);
|
||||
if (memcmp (buf, "45\0DEF", 6) != 0)
|
||||
return 1;
|
||||
return 0;
|
||||
|
@ -1089,7 +1138,7 @@ changequote(,)dnl
|
|||
# Guess yes on FreeBSD >= 5.
|
||||
freebsd[1-4]*) gl_cv_func_snprintf_truncation_c99="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
|
||||
# Guess yes on MacOS X >= 10.3.
|
||||
# Guess yes on Mac OS X >= 10.3.
|
||||
darwin[1-6].*) gl_cv_func_snprintf_truncation_c99="guessing no";;
|
||||
darwin*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
|
||||
# Guess yes on OpenBSD >= 3.9.
|
||||
|
@ -1097,7 +1146,8 @@ changequote(,)dnl
|
|||
gl_cv_func_snprintf_truncation_c99="guessing no";;
|
||||
openbsd*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
|
||||
# Guess yes on Solaris >= 2.6.
|
||||
solaris2.[0-5]*) gl_cv_func_snprintf_truncation_c99="guessing no";;
|
||||
solaris2.[0-5] | solaris2.[0-5].*)
|
||||
gl_cv_func_snprintf_truncation_c99="guessing no";;
|
||||
solaris*) gl_cv_func_snprintf_truncation_c99="guessing yes";;
|
||||
# Guess yes on AIX >= 4.
|
||||
aix[1-3]*) gl_cv_func_snprintf_truncation_c99="guessing no";;
|
||||
|
@ -1143,6 +1193,7 @@ AC_DEFUN_ONCE([gl_SNPRINTF_RETVAL_C99],
|
|||
[
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
AC_REQUIRE([gl_SNPRINTF_PRESENCE])
|
||||
AC_CACHE_CHECK([whether snprintf returns a byte count as in C99],
|
||||
[gl_cv_func_snprintf_retval_c99],
|
||||
[
|
||||
|
@ -1150,12 +1201,30 @@ AC_DEFUN_ONCE([gl_SNPRINTF_RETVAL_C99],
|
|||
[AC_LANG_SOURCE([[
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#if HAVE_SNPRINTF
|
||||
# define my_snprintf snprintf
|
||||
#else
|
||||
# include <stdarg.h>
|
||||
static int my_snprintf (char *buf, int size, const char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
int ret;
|
||||
va_start (args, format);
|
||||
ret = vsnprintf (buf, size, format, args);
|
||||
va_end (args);
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
static char buf[100];
|
||||
int main ()
|
||||
{
|
||||
strcpy (buf, "ABCDEF");
|
||||
if (snprintf (buf, 3, "%d %d", 4567, 89) != 7)
|
||||
if (my_snprintf (buf, 3, "%d %d", 4567, 89) != 7)
|
||||
return 1;
|
||||
if (my_snprintf (buf, 0, "%d %d", 4567, 89) != 7)
|
||||
return 2;
|
||||
if (my_snprintf (NULL, 0, "%d %d", 4567, 89) != 7)
|
||||
return 3;
|
||||
return 0;
|
||||
}]])],
|
||||
[gl_cv_func_snprintf_retval_c99=yes],
|
||||
|
@ -1168,16 +1237,16 @@ changequote(,)dnl
|
|||
# Guess yes on FreeBSD >= 5.
|
||||
freebsd[1-4]*) gl_cv_func_snprintf_retval_c99="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_snprintf_retval_c99="guessing yes";;
|
||||
# Guess yes on MacOS X >= 10.3.
|
||||
# Guess yes on Mac OS X >= 10.3.
|
||||
darwin[1-6].*) gl_cv_func_snprintf_retval_c99="guessing no";;
|
||||
darwin*) gl_cv_func_snprintf_retval_c99="guessing yes";;
|
||||
# Guess yes on OpenBSD >= 3.9.
|
||||
openbsd[1-2].* | openbsd3.[0-8] | openbsd3.[0-8].*)
|
||||
gl_cv_func_snprintf_retval_c99="guessing no";;
|
||||
openbsd*) gl_cv_func_snprintf_retval_c99="guessing yes";;
|
||||
# Guess yes on Solaris >= 2.6.
|
||||
solaris2.[0-5]*) gl_cv_func_snprintf_retval_c99="guessing no";;
|
||||
solaris*) gl_cv_func_snprintf_retval_c99="guessing yes";;
|
||||
# Guess yes on Solaris >= 2.10.
|
||||
solaris2.[1-9][0-9]*) gl_cv_func_printf_sizes_c99="guessing yes";;
|
||||
solaris*) gl_cv_func_printf_sizes_c99="guessing no";;
|
||||
# Guess yes on AIX >= 4.
|
||||
aix[1-3]*) gl_cv_func_snprintf_retval_c99="guessing no";;
|
||||
aix*) gl_cv_func_snprintf_retval_c99="guessing yes";;
|
||||
|
@ -1203,6 +1272,7 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N],
|
|||
[
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
AC_REQUIRE([gl_SNPRINTF_PRESENCE])
|
||||
AC_CACHE_CHECK([whether snprintf fully supports the 'n' directive],
|
||||
[gl_cv_func_snprintf_directive_n],
|
||||
[
|
||||
|
@ -1210,6 +1280,20 @@ AC_DEFUN([gl_SNPRINTF_DIRECTIVE_N],
|
|||
[AC_LANG_SOURCE([[
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#if HAVE_SNPRINTF
|
||||
# define my_snprintf snprintf
|
||||
#else
|
||||
# include <stdarg.h>
|
||||
static int my_snprintf (char *buf, int size, const char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
int ret;
|
||||
va_start (args, format);
|
||||
ret = vsnprintf (buf, size, format, args);
|
||||
va_end (args);
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
static char fmtstring[10];
|
||||
static char buf[100];
|
||||
int main ()
|
||||
|
@ -1219,7 +1303,7 @@ int main ()
|
|||
support %n in format strings in read-only memory but not in writable
|
||||
memory. */
|
||||
strcpy (fmtstring, "%d %n");
|
||||
snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55);
|
||||
my_snprintf (buf, 4, fmtstring, 12345, &count, 33, 44, 55);
|
||||
if (count != 6)
|
||||
return 1;
|
||||
return 0;
|
||||
|
@ -1234,11 +1318,12 @@ changequote(,)dnl
|
|||
# Guess yes on FreeBSD >= 5.
|
||||
freebsd[1-4]*) gl_cv_func_snprintf_directive_n="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_snprintf_directive_n="guessing yes";;
|
||||
# Guess yes on MacOS X >= 10.3.
|
||||
# Guess yes on Mac OS X >= 10.3.
|
||||
darwin[1-6].*) gl_cv_func_snprintf_directive_n="guessing no";;
|
||||
darwin*) gl_cv_func_snprintf_directive_n="guessing yes";;
|
||||
# Guess yes on Solaris >= 2.6.
|
||||
solaris2.[0-5]*) gl_cv_func_snprintf_directive_n="guessing no";;
|
||||
solaris2.[0-5] | solaris2.[0-5].*)
|
||||
gl_cv_func_snprintf_directive_n="guessing no";;
|
||||
solaris*) gl_cv_func_snprintf_directive_n="guessing yes";;
|
||||
# Guess yes on AIX >= 4.
|
||||
aix[1-3]*) gl_cv_func_snprintf_directive_n="guessing no";;
|
||||
|
@ -1270,16 +1355,31 @@ dnl Result is gl_cv_func_snprintf_size1.
|
|||
AC_DEFUN([gl_SNPRINTF_SIZE1],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_REQUIRE([gl_SNPRINTF_PRESENCE])
|
||||
AC_CACHE_CHECK([whether snprintf respects a size of 1],
|
||||
[gl_cv_func_snprintf_size1],
|
||||
[
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <stdio.h>
|
||||
#if HAVE_SNPRINTF
|
||||
# define my_snprintf snprintf
|
||||
#else
|
||||
# include <stdarg.h>
|
||||
static int my_snprintf (char *buf, int size, const char *format, ...)
|
||||
{
|
||||
va_list args;
|
||||
int ret;
|
||||
va_start (args, format);
|
||||
ret = vsnprintf (buf, size, format, args);
|
||||
va_end (args);
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
int main()
|
||||
{
|
||||
static char buf[8] = { 'D', 'E', 'A', 'D', 'B', 'E', 'E', 'F' };
|
||||
snprintf (buf, 1, "%d", 12345);
|
||||
my_snprintf (buf, 1, "%d", 12345);
|
||||
return buf[1] != 'E';
|
||||
}]])],
|
||||
[gl_cv_func_snprintf_size1=yes],
|
||||
|
@ -1360,13 +1460,14 @@ changequote(,)dnl
|
|||
# Guess yes on FreeBSD >= 5.
|
||||
freebsd[1-4]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
|
||||
freebsd* | kfreebsd*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
|
||||
# Guess yes on MacOS X >= 10.3.
|
||||
# Guess yes on Mac OS X >= 10.3.
|
||||
darwin[1-6].*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
|
||||
darwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
|
||||
# Guess yes on Cygwin.
|
||||
cygwin*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
|
||||
# Guess yes on Solaris >= 2.6.
|
||||
solaris2.[0-5]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
|
||||
solaris2.[0-5] | solaris2.[0-5].*)
|
||||
gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
|
||||
solaris*) gl_cv_func_vsnprintf_zerosize_c99="guessing yes";;
|
||||
# Guess yes on AIX >= 4.
|
||||
aix[1-3]*) gl_cv_func_vsnprintf_zerosize_c99="guessing no";;
|
||||
|
@ -1439,24 +1540,31 @@ dnl 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
|||
dnl glibc 2.5 . . . . . . . . . . . . . . . . . . . .
|
||||
dnl glibc 2.3.6 . . . . # . . . . . . . . . . . . . . .
|
||||
dnl FreeBSD 5.4, 6.1 . . . . # . . . . . . # . # . . . . . .
|
||||
dnl MacOS X 10.3.9 . . . . # . . . . . . # . # . . . . . .
|
||||
dnl Mac OS X 10.5.8 . . . # # . . . . . . # . . . . . . . .
|
||||
dnl Mac OS X 10.3.9 . . . . # . . . . . . # . # . . . . . .
|
||||
dnl OpenBSD 3.9, 4.0 . . # # # # . # . # . # . # . . . . . .
|
||||
dnl Cygwin 1.7.0 (2009) . . . # . . . ? . . . . . ? . . . . . .
|
||||
dnl Cygwin 1.5.25 (2008) . . . # # . . # . . . . . # . . . . . .
|
||||
dnl Cygwin 1.5.19 (2006) # . . # # # . # . # . # # # . . . . . .
|
||||
dnl Solaris 10 . . # # # . . # . . . # . . . . . . . .
|
||||
dnl Solaris 2.6 ... 9 # . # # # # . # . . . # . . . . . . . .
|
||||
dnl Solaris 11 2011-11 . . # # # . . # . . . # . . . . . . . .
|
||||
dnl Solaris 10 . . # # # . . # . . . # # . . . . . . .
|
||||
dnl Solaris 2.6 ... 9 # . # # # # . # . . . # # . . . # . . .
|
||||
dnl Solaris 2.5.1 # . # # # # . # . . . # . . # # # # # #
|
||||
dnl AIX 5.2, 7.1 . . # # # . . . . . . # . . . . . . . .
|
||||
dnl AIX 4.3.2, 5.1 # . # # # # . . . . . # . . . . . . . .
|
||||
dnl AIX 7.1 . . # # # . . . . . . # # . . . . . . .
|
||||
dnl AIX 5.2 . . # # # . . . . . . # . . . . . . . .
|
||||
dnl AIX 4.3.2, 5.1 # . # # # # . . . . . # . . . . # . . .
|
||||
dnl HP-UX 11.31 . . . . # . . . . . . # . . . . # # . .
|
||||
dnl HP-UX 11.{00,11,23} # . . . # # . . . . . # . . . . # # . #
|
||||
dnl HP-UX 10.20 # . # . # # . ? . . # # . . . . # # ? #
|
||||
dnl IRIX 6.5 # . # # # # . # . . . # . . . . # . . .
|
||||
dnl OSF/1 5.1 # . # # # # . . . . . # . . . . # . . #
|
||||
dnl OSF/1 4.0d # . # # # # . . . . . # . . # # # # # #
|
||||
dnl NetBSD 5.0 . . . # # . . . . . . # . # . . . . . .
|
||||
dnl NetBSD 4.0 . ? ? ? ? ? . ? . ? ? ? ? ? . . . ? ? ?
|
||||
dnl NetBSD 3.0 . . . . # # . ? # # ? # . # . . . . . .
|
||||
dnl Haiku . . . # # # . # . . . . . ? . . . . . .
|
||||
dnl BeOS # # . # # # . ? # . ? . # ? . . . . . .
|
||||
dnl mingw # # # # # # . . # # . # # ? . # # # . .
|
||||
dnl Haiku . . . # # # . # . . . . . ? . . ? . . .
|
||||
dnl BeOS # # . # # # . ? # . ? . # ? . . ? . . .
|
||||
dnl old mingw / msvcrt # # # # # # . . # # . # # ? . # # # . .
|
||||
dnl MSVC 9 # # # # # # # . # # . # # ? # # # # . .
|
||||
dnl mingw 2009-2011 . # . # . . . . # # . . . ? . . . . . .
|
||||
dnl mingw-w64 2011 # # # # # # . . # # . # # ? . # # # . .
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# progtest.m4 serial 7 (gettext-0.18.2)
|
||||
dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 1996-2003, 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.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# rawmemchr.m4 serial 1
|
||||
dnl Copyright (C) 2003, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
# rawmemchr.m4 serial 2
|
||||
dnl Copyright (C) 2003, 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.
|
||||
|
@ -10,10 +10,9 @@ AC_DEFUN([gl_FUNC_RAWMEMCHR],
|
|||
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
|
||||
|
||||
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
|
||||
AC_REPLACE_FUNCS([rawmemchr])
|
||||
AC_CHECK_FUNCS([rawmemchr])
|
||||
if test $ac_cv_func_rawmemchr = no; then
|
||||
HAVE_RAWMEMCHR=0
|
||||
gl_PREREQ_RAWMEMCHR
|
||||
fi
|
||||
])
|
||||
|
||||
|
|
|
@ -1,9 +1,47 @@
|
|||
# realloc.m4 serial 11
|
||||
dnl Copyright (C) 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
# realloc.m4 serial 13
|
||||
dnl Copyright (C) 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.
|
||||
|
||||
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
|
||||
AC_DEFUN([_AC_FUNC_REALLOC_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 realloc],
|
||||
[ac_cv_func_realloc_0_nonnull],
|
||||
[AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#if defined STDC_HEADERS || defined HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#else
|
||||
char *realloc ();
|
||||
#endif
|
||||
]],
|
||||
[[return ! realloc (0, 0);]])
|
||||
],
|
||||
[ac_cv_func_realloc_0_nonnull=yes],
|
||||
[ac_cv_func_realloc_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_realloc_0_nonnull=yes ;;
|
||||
# If we don't know, assume the worst.
|
||||
*) ac_cv_func_realloc_0_nonnull=no ;;
|
||||
esac
|
||||
])
|
||||
])
|
||||
AS_IF([test $ac_cv_func_realloc_0_nonnull = yes], [$1], [$2])
|
||||
])# AC_FUNC_REALLOC
|
||||
|
||||
])
|
||||
|
||||
# gl_FUNC_REALLOC_GNU
|
||||
# -------------------
|
||||
# Test whether 'realloc (0, 0)' is handled like in GNU libc, and replace
|
||||
|
@ -17,7 +55,7 @@ AC_DEFUN([gl_FUNC_REALLOC_GNU],
|
|||
[Define to 1 if your system has a GNU libc compatible 'realloc'
|
||||
function, and to 0 otherwise.])],
|
||||
[AC_DEFINE([HAVE_REALLOC_GNU], [0])
|
||||
gl_REPLACE_REALLOC
|
||||
REPLACE_REALLOC=1
|
||||
])
|
||||
])# gl_FUNC_REALLOC_GNU
|
||||
|
||||
|
@ -33,12 +71,6 @@ AC_DEFUN([gl_FUNC_REALLOC_POSIX],
|
|||
AC_DEFINE([HAVE_REALLOC_POSIX], [1],
|
||||
[Define if the 'realloc' function is POSIX compliant.])
|
||||
else
|
||||
gl_REPLACE_REALLOC
|
||||
REPLACE_REALLOC=1
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_REPLACE_REALLOC],
|
||||
[
|
||||
AC_LIBOBJ([realloc])
|
||||
REPLACE_REALLOC=1
|
||||
])
|
||||
|
|
134
m4/regex.m4
134
m4/regex.m4
|
@ -1,7 +1,6 @@
|
|||
# serial 56
|
||||
# serial 64
|
||||
|
||||
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
|
||||
# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2001, 2003-2013 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -14,8 +13,6 @@ AC_PREREQ([2.50])
|
|||
|
||||
AC_DEFUN([gl_REGEX],
|
||||
[
|
||||
AC_CHECK_HEADERS_ONCE([locale.h])
|
||||
|
||||
AC_ARG_WITH([included-regex],
|
||||
[AS_HELP_STRING([--without-included-regex],
|
||||
[don't compile regex; this is the default on systems
|
||||
|
@ -30,31 +27,41 @@ AC_DEFUN([gl_REGEX],
|
|||
# following run test, then default to *not* using the included regex.c.
|
||||
# If cross compiling, assume the test would fail and use the included
|
||||
# regex.c.
|
||||
AC_CHECK_DECLS_ONCE([alarm])
|
||||
AC_CACHE_CHECK([for working re_compile_pattern],
|
||||
[gl_cv_func_re_compile_pattern_working],
|
||||
[AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[AC_INCLUDES_DEFAULT[
|
||||
#if HAVE_LOCALE_H
|
||||
[[#include <regex.h>
|
||||
|
||||
#include <locale.h>
|
||||
#endif
|
||||
#include <limits.h>
|
||||
#include <regex.h>
|
||||
]],
|
||||
[[static struct re_pattern_buffer regex;
|
||||
#include <limits.h>
|
||||
#include <string.h>
|
||||
#if HAVE_DECL_ALARM
|
||||
# include <unistd.h>
|
||||
# include <signal.h>
|
||||
#endif
|
||||
]],
|
||||
[[int result = 0;
|
||||
static struct re_pattern_buffer regex;
|
||||
unsigned char folded_chars[UCHAR_MAX + 1];
|
||||
int i;
|
||||
const char *s;
|
||||
struct re_registers regs;
|
||||
|
||||
#if HAVE_LOCALE_H
|
||||
/* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
|
||||
This test needs valgrind to catch the bug on Debian
|
||||
GNU/Linux 3.1 x86, but it might catch the bug better
|
||||
on other platforms and it shouldn't hurt to try the
|
||||
test here. */
|
||||
if (setlocale (LC_ALL, "en_US.UTF-8"))
|
||||
#if HAVE_DECL_ALARM
|
||||
/* Some builds of glibc go into an infinite loop on this test. */
|
||||
signal (SIGALRM, SIG_DFL);
|
||||
alarm (2);
|
||||
#endif
|
||||
if (setlocale (LC_ALL, "en_US.UTF-8"))
|
||||
{
|
||||
{
|
||||
/* http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html
|
||||
This test needs valgrind to catch the bug on Debian
|
||||
GNU/Linux 3.1 x86, but it might catch the bug better
|
||||
on other platforms and it shouldn't hurt to try the
|
||||
test here. */
|
||||
static char const pat[] = "insert into";
|
||||
static char const data[] =
|
||||
"\xFF\0\x12\xA2\xAA\xC4\xB1,K\x12\xC4\xB1*\xACK";
|
||||
|
@ -63,26 +70,46 @@ AC_DEFUN([gl_REGEX],
|
|||
memset (®ex, 0, sizeof regex);
|
||||
s = re_compile_pattern (pat, sizeof pat - 1, ®ex);
|
||||
if (s)
|
||||
return 1;
|
||||
if (re_search (®ex, data, sizeof data - 1,
|
||||
0, sizeof data - 1, ®s)
|
||||
!= -1)
|
||||
return 1;
|
||||
if (! setlocale (LC_ALL, "C"))
|
||||
return 1;
|
||||
result |= 1;
|
||||
else if (re_search (®ex, data, sizeof data - 1,
|
||||
0, sizeof data - 1, ®s)
|
||||
!= -1)
|
||||
result |= 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
{
|
||||
/* This test is from glibc bug 15078.
|
||||
The test case is from Andreas Schwab in
|
||||
<http://www.sourceware.org/ml/libc-alpha/2013-01/msg00967.html>.
|
||||
*/
|
||||
static char const pat[] = "[^x]x";
|
||||
static char const data[] =
|
||||
"\xe1\x80\x80\xe1\x80\xbb\xe1\x80\xbd\xe1\x80\x94\xe1\x80"
|
||||
"\xba\xe1\x80\xaf\xe1\x80\x95\xe1\x80\xbax";
|
||||
re_set_syntax (0);
|
||||
memset (®ex, 0, sizeof regex);
|
||||
s = re_compile_pattern (pat, sizeof pat - 1, ®ex);
|
||||
if (s)
|
||||
result |= 1;
|
||||
else if (re_search (®ex, data, sizeof data - 1,
|
||||
0, sizeof data - 1, 0)
|
||||
!= 21)
|
||||
result |= 1;
|
||||
}
|
||||
|
||||
if (! setlocale (LC_ALL, "C"))
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* This test is from glibc bug 3957, reported by Andrew Mackey. */
|
||||
re_set_syntax (RE_SYNTAX_EGREP | RE_HAT_LISTS_NOT_NEWLINE);
|
||||
memset (®ex, 0, sizeof regex);
|
||||
s = re_compile_pattern ("a[^x]b", 6, ®ex);
|
||||
if (s)
|
||||
return 1;
|
||||
|
||||
result |= 2;
|
||||
/* This should fail, but succeeds for glibc-2.5. */
|
||||
if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1)
|
||||
return 1;
|
||||
else if (re_search (®ex, "a\nb", 3, 0, 3, ®s) != -1)
|
||||
result |= 2;
|
||||
|
||||
/* This regular expression is from Spencer ere test number 75
|
||||
in grep-2.3. */
|
||||
|
@ -94,7 +121,7 @@ AC_DEFUN([gl_REGEX],
|
|||
s = re_compile_pattern ("a[[:@:>@:]]b\n", 11, ®ex);
|
||||
/* This should fail with _Invalid character class name_ error. */
|
||||
if (!s)
|
||||
return 1;
|
||||
result |= 4;
|
||||
|
||||
/* Ensure that [b-a] is diagnosed as invalid, when
|
||||
using RE_NO_EMPTY_RANGES. */
|
||||
|
@ -102,34 +129,31 @@ AC_DEFUN([gl_REGEX],
|
|||
memset (®ex, 0, sizeof regex);
|
||||
s = re_compile_pattern ("a[b-a]", 6, ®ex);
|
||||
if (s == 0)
|
||||
return 1;
|
||||
result |= 8;
|
||||
|
||||
/* This should succeed, but does not for glibc-2.1.3. */
|
||||
memset (®ex, 0, sizeof regex);
|
||||
s = re_compile_pattern ("{1", 2, ®ex);
|
||||
|
||||
if (s)
|
||||
return 1;
|
||||
result |= 8;
|
||||
|
||||
/* The following example is derived from a problem report
|
||||
against gawk from Jorge Stolfi <stolfi@ic.unicamp.br>. */
|
||||
memset (®ex, 0, sizeof regex);
|
||||
s = re_compile_pattern ("[an\371]*n", 7, ®ex);
|
||||
if (s)
|
||||
return 1;
|
||||
|
||||
result |= 8;
|
||||
/* This should match, but does not for glibc-2.2.1. */
|
||||
if (re_match (®ex, "an", 2, 0, ®s) != 2)
|
||||
return 1;
|
||||
else if (re_match (®ex, "an", 2, 0, ®s) != 2)
|
||||
result |= 8;
|
||||
|
||||
memset (®ex, 0, sizeof regex);
|
||||
s = re_compile_pattern ("x", 1, ®ex);
|
||||
if (s)
|
||||
return 1;
|
||||
|
||||
result |= 8;
|
||||
/* glibc-2.2.93 does not work with a negative RANGE argument. */
|
||||
if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1)
|
||||
return 1;
|
||||
else if (re_search (®ex, "wxy", 3, 2, -2, ®s) != 1)
|
||||
result |= 8;
|
||||
|
||||
/* The version of regex.c in older versions of gnulib
|
||||
ignored RE_ICASE. Detect that problem too. */
|
||||
|
@ -137,10 +161,9 @@ AC_DEFUN([gl_REGEX],
|
|||
memset (®ex, 0, sizeof regex);
|
||||
s = re_compile_pattern ("x", 1, ®ex);
|
||||
if (s)
|
||||
return 1;
|
||||
|
||||
if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0)
|
||||
return 1;
|
||||
result |= 16;
|
||||
else if (re_search (®ex, "WXY", 3, 0, 3, ®s) < 0)
|
||||
result |= 16;
|
||||
|
||||
/* Catch a bug reported by Vin Shelton in
|
||||
http://lists.gnu.org/archive/html/bug-coreutils/2007-06/msg00089.html
|
||||
|
@ -151,12 +174,12 @@ AC_DEFUN([gl_REGEX],
|
|||
memset (®ex, 0, sizeof regex);
|
||||
s = re_compile_pattern ("[[:alnum:]_-]\\\\+$", 16, ®ex);
|
||||
if (s)
|
||||
return 1;
|
||||
result |= 32;
|
||||
|
||||
/* REG_STARTEND was added to glibc on 2004-01-15.
|
||||
Reject older versions. */
|
||||
if (! REG_STARTEND)
|
||||
return 1;
|
||||
result |= 64;
|
||||
|
||||
#if 0
|
||||
/* It would be nice to reject hosts whose regoff_t values are too
|
||||
|
@ -167,10 +190,11 @@ AC_DEFUN([gl_REGEX],
|
|||
when compiling --without-included-regex. */
|
||||
if (sizeof (regoff_t) < sizeof (ptrdiff_t)
|
||||
|| sizeof (regoff_t) < sizeof (ssize_t))
|
||||
return 1;
|
||||
result |= 64;
|
||||
#endif
|
||||
|
||||
return 0;]])],
|
||||
return result;
|
||||
]])],
|
||||
[gl_cv_func_re_compile_pattern_working=yes],
|
||||
[gl_cv_func_re_compile_pattern_working=no],
|
||||
dnl When crosscompiling, assume it is not working.
|
||||
|
@ -185,6 +209,9 @@ AC_DEFUN([gl_REGEX],
|
|||
esac
|
||||
|
||||
if test $ac_use_included_regex = yes; then
|
||||
AC_DEFINE([_REGEX_INCLUDE_LIMITS_H], [1],
|
||||
[Define if you want <regex.h> to include <limits.h>, so that it
|
||||
consistently overrides <limits.h>'s RE_DUP_MAX.])
|
||||
AC_DEFINE([_REGEX_LARGE_OFFSETS], [1],
|
||||
[Define if you want regoff_t to be at least as wide POSIX requires.])
|
||||
AC_DEFINE([re_syntax_options], [rpl_re_syntax_options],
|
||||
|
@ -217,8 +244,6 @@ AC_DEFUN([gl_REGEX],
|
|||
[Define to rpl_regerror if the replacement should be used.])
|
||||
AC_DEFINE([regfree], [rpl_regfree],
|
||||
[Define to rpl_regfree if the replacement should be used.])
|
||||
AC_LIBOBJ([regex])
|
||||
gl_PREREQ_REGEX
|
||||
fi
|
||||
])
|
||||
|
||||
|
@ -229,7 +254,8 @@ AC_DEFUN([gl_PREREQ_REGEX],
|
|||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_REQUIRE([AC_C_RESTRICT])
|
||||
AC_REQUIRE([AC_TYPE_MBSTATE_T])
|
||||
AC_REQUIRE([gl_EEMALLOC])
|
||||
AC_CHECK_HEADERS([libintl.h])
|
||||
AC_CHECK_FUNCS_ONCE([isblank iswctype wcscoll])
|
||||
AC_CHECK_DECLS([isblank], [], [], [#include <ctype.h>])
|
||||
AC_CHECK_DECLS([isblank], [], [], [[#include <ctype.h>]])
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# size_max.m4 serial 10
|
||||
dnl Copyright (C) 2003, 2005-2006, 2008-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2003, 2005-2006, 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.
|
||||
|
|
33
m4/sleep.m4
33
m4/sleep.m4
|
@ -1,5 +1,5 @@
|
|||
# sleep.m4 serial 3
|
||||
dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
|
||||
# sleep.m4 serial 7
|
||||
dnl Copyright (C) 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.
|
||||
|
@ -7,16 +7,16 @@ dnl with or without modifications, as long as this notice is preserved.
|
|||
AC_DEFUN([gl_FUNC_SLEEP],
|
||||
[
|
||||
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
dnl We expect to see the declaration of sleep() in a header file.
|
||||
dnl Older versions of mingw have a sleep() function that is an alias to
|
||||
dnl _sleep() in MSVCRT. It has a different signature than POSIX sleep():
|
||||
dnl it takes the number of milliseconds as argument and returns void.
|
||||
dnl mingw does not declare this function.
|
||||
AC_CHECK_DECLS([sleep], , , [#include <unistd.h>])
|
||||
AC_CHECK_DECLS([sleep], , , [[#include <unistd.h>]])
|
||||
AC_CHECK_FUNCS_ONCE([sleep])
|
||||
if test $ac_cv_have_decl_sleep != yes; then
|
||||
HAVE_SLEEP=0
|
||||
AC_LIBOBJ([sleep])
|
||||
else
|
||||
dnl Cygwin 1.5.x has a bug where sleep can't exceed 49.7 days.
|
||||
AC_CACHE_CHECK([for working sleep], [gl_cv_func_sleep_works],
|
||||
|
@ -38,12 +38,25 @@ handle_alarm (int sig)
|
|||
signal (SIGALRM, handle_alarm);
|
||||
alarm (1);
|
||||
remaining = sleep (pentecost);
|
||||
return !(pentecost - 10 < remaining && remaining <= pentecost);]])],
|
||||
if (remaining > pentecost)
|
||||
return 3;
|
||||
if (remaining <= pentecost - 10)
|
||||
return 4;
|
||||
return 0;
|
||||
]])],
|
||||
[gl_cv_func_sleep_works=yes], [gl_cv_func_sleep_works=no],
|
||||
[gl_cv_func_sleep_works="guessing no"])])
|
||||
if test "$gl_cv_func_sleep_works" != yes; then
|
||||
REPLACE_SLEEP=1
|
||||
AC_LIBOBJ([sleep])
|
||||
fi
|
||||
[case "$host_os" in
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu*) gl_cv_func_sleep_works="guessing yes" ;;
|
||||
# If we don't know, assume the worst.
|
||||
*) gl_cv_func_sleep_works="guessing no" ;;
|
||||
esac
|
||||
])])
|
||||
case "$gl_cv_func_sleep_works" in
|
||||
*yes) ;;
|
||||
*)
|
||||
REPLACE_SLEEP=1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# ssize_t.m4 serial 5 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2001-2003, 2006, 2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2001-2003, 2006, 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.
|
||||
|
|
52
m4/stdalign.m4
Normal file
52
m4/stdalign.m4
Normal file
|
@ -0,0 +1,52 @@
|
|||
# Check for stdalign.h that conforms to C11.
|
||||
|
||||
dnl Copyright 2011-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.
|
||||
|
||||
# Prepare for substituting <stdalign.h> if it is not supported.
|
||||
|
||||
AC_DEFUN([gl_STDALIGN_H],
|
||||
[
|
||||
AC_CACHE_CHECK([for working stdalign.h],
|
||||
[gl_cv_header_working_stdalign_h],
|
||||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <stdalign.h>
|
||||
#include <stddef.h>
|
||||
|
||||
/* Test that alignof yields a result consistent with offsetof.
|
||||
This catches GCC bug 52023
|
||||
<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023>. */
|
||||
#ifdef __cplusplus
|
||||
template <class t> struct alignof_helper { char a; t b; };
|
||||
# define ao(type) offsetof (alignof_helper<type>, b)
|
||||
#else
|
||||
# define ao(type) offsetof (struct { char a; type b; }, b)
|
||||
#endif
|
||||
char test_double[ao (double) % _Alignof (double) == 0 ? 1 : -1];
|
||||
char test_long[ao (long int) % _Alignof (long int) == 0 ? 1 : -1];
|
||||
char test_alignof[alignof (double) == _Alignof (double) ? 1 : -1];
|
||||
|
||||
/* Test _Alignas only on platforms where gnulib can help. */
|
||||
#if \
|
||||
(__GNUC__ || __IBMC__ || __IBMCPP__ \
|
||||
|| 0x5110 <= __SUNPRO_C || 1300 <= _MSC_VER)
|
||||
struct alignas_test { char c; char alignas (8) alignas_8; };
|
||||
char test_alignas[offsetof (struct alignas_test, alignas_8) == 8
|
||||
? 1 : -1];
|
||||
#endif
|
||||
]])],
|
||||
[gl_cv_header_working_stdalign_h=yes],
|
||||
[gl_cv_header_working_stdalign_h=no])])
|
||||
|
||||
if test $gl_cv_header_working_stdalign_h = yes; then
|
||||
STDALIGN_H=''
|
||||
else
|
||||
STDALIGN_H='stdalign.h'
|
||||
fi
|
||||
|
||||
AC_SUBST([STDALIGN_H])
|
||||
AM_CONDITIONAL([GL_GENERATE_STDALIGN_H], [test -n "$STDALIGN_H"])
|
||||
])
|
|
@ -1,17 +1,17 @@
|
|||
# Check for stdbool.h that conforms to C99.
|
||||
|
||||
dnl Copyright (C) 2002-2006, 2009-2010 Free Software Foundation, Inc.
|
||||
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.
|
||||
|
||||
#serial 3
|
||||
#serial 5
|
||||
|
||||
# Prepare for substituting <stdbool.h> if it is not supported.
|
||||
|
||||
AC_DEFUN([AM_STDBOOL_H],
|
||||
[
|
||||
AC_REQUIRE([AC_HEADER_STDBOOL])
|
||||
AC_REQUIRE([AC_CHECK_HEADER_STDBOOL])
|
||||
|
||||
# Define two additional variables used in the Makefile substitution.
|
||||
|
||||
|
@ -21,6 +21,7 @@ AC_DEFUN([AM_STDBOOL_H],
|
|||
STDBOOL_H='stdbool.h'
|
||||
fi
|
||||
AC_SUBST([STDBOOL_H])
|
||||
AM_CONDITIONAL([GL_GENERATE_STDBOOL_H], [test -n "$STDBOOL_H"])
|
||||
|
||||
if test "$ac_cv_type__Bool" = yes; then
|
||||
HAVE__BOOL=1
|
||||
|
@ -33,11 +34,9 @@ AC_DEFUN([AM_STDBOOL_H],
|
|||
# AM_STDBOOL_H will be renamed to gl_STDBOOL_H in the future.
|
||||
AC_DEFUN([gl_STDBOOL_H], [AM_STDBOOL_H])
|
||||
|
||||
# This version of the macro is needed in autoconf <= 2.67. Autoconf has
|
||||
# it built in since 2.60, but we want the tweaks from the 2.68 version
|
||||
# to avoid rejecting xlc and clang due to relying on extensions.
|
||||
# This version of the macro is needed in autoconf <= 2.68.
|
||||
|
||||
AC_DEFUN([AC_HEADER_STDBOOL],
|
||||
AC_DEFUN([AC_CHECK_HEADER_STDBOOL],
|
||||
[AC_CACHE_CHECK([for stdbool.h that conforms to C99],
|
||||
[ac_cv_header_stdbool_h],
|
||||
[AC_COMPILE_IFELSE(
|
||||
|
@ -98,6 +97,4 @@ AC_DEFUN([AC_HEADER_STDBOOL],
|
|||
[ac_cv_header_stdbool_h=yes],
|
||||
[ac_cv_header_stdbool_h=no])])
|
||||
AC_CHECK_TYPES([_Bool])
|
||||
if test $ac_cv_header_stdbool_h = yes; then
|
||||
AC_DEFINE([HAVE_STDBOOL_H], [1], [Define to 1 if stdbool.h conforms to C99.])
|
||||
fi])
|
||||
])
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
dnl A placeholder for POSIX 2008 <stddef.h>, for platforms that have issues.
|
||||
# stddef_h.m4 serial 2
|
||||
dnl Copyright (C) 2009, 2010 Free Software Foundation, Inc.
|
||||
# stddef_h.m4 serial 4
|
||||
dnl Copyright (C) 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.
|
||||
|
@ -9,6 +9,7 @@ AC_DEFUN([gl_STDDEF_H],
|
|||
[
|
||||
AC_REQUIRE([gl_STDDEF_H_DEFAULTS])
|
||||
AC_REQUIRE([gt_TYPE_WCHAR_T])
|
||||
STDDEF_H=
|
||||
if test $gt_cv_c_wchar_t = no; then
|
||||
HAVE_WCHAR_T=0
|
||||
STDDEF_H=stddef.h
|
||||
|
@ -24,8 +25,10 @@ AC_DEFUN([gl_STDDEF_H],
|
|||
REPLACE_NULL=1
|
||||
STDDEF_H=stddef.h
|
||||
fi
|
||||
AC_SUBST([STDDEF_H])
|
||||
AM_CONDITIONAL([GL_GENERATE_STDDEF_H], [test -n "$STDDEF_H"])
|
||||
if test -n "$STDDEF_H"; then
|
||||
gl_CHECK_NEXT_HEADERS([stddef.h])
|
||||
gl_NEXT_HEADERS([stddef.h])
|
||||
fi
|
||||
])
|
||||
|
||||
|
@ -41,5 +44,4 @@ AC_DEFUN([gl_STDDEF_H_DEFAULTS],
|
|||
dnl Assume proper GNU behavior unless another module says otherwise.
|
||||
REPLACE_NULL=0; AC_SUBST([REPLACE_NULL])
|
||||
HAVE_WCHAR_T=1; AC_SUBST([HAVE_WCHAR_T])
|
||||
STDDEF_H=''; AC_SUBST([STDDEF_H])
|
||||
])
|
||||
|
|
40
m4/stdint.m4
40
m4/stdint.m4
|
@ -1,5 +1,5 @@
|
|||
# stdint.m4 serial 35
|
||||
dnl Copyright (C) 2001-2010 Free Software Foundation, Inc.
|
||||
# stdint.m4 serial 43
|
||||
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.
|
||||
|
@ -7,7 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
|
|||
dnl From Paul Eggert and Bruno Haible.
|
||||
dnl Test whether <stdint.h> is supported or must be substituted.
|
||||
|
||||
AC_DEFUN([gl_STDINT_H],
|
||||
AC_DEFUN_ONCE([gl_STDINT_H],
|
||||
[
|
||||
AC_PREREQ([2.59])dnl
|
||||
|
||||
|
@ -27,6 +27,15 @@ AC_DEFUN([gl_STDINT_H],
|
|||
fi
|
||||
AC_SUBST([HAVE_UNSIGNED_LONG_LONG_INT])
|
||||
|
||||
dnl Check for <wchar.h>, in the same way as gl_WCHAR_H does.
|
||||
AC_CHECK_HEADERS_ONCE([wchar.h])
|
||||
if test $ac_cv_header_wchar_h = yes; then
|
||||
HAVE_WCHAR_H=1
|
||||
else
|
||||
HAVE_WCHAR_H=0
|
||||
fi
|
||||
AC_SUBST([HAVE_WCHAR_H])
|
||||
|
||||
dnl Check for <inttypes.h>.
|
||||
dnl AC_INCLUDES_DEFAULT defines $ac_cv_header_inttypes_h.
|
||||
if test $ac_cv_header_inttypes_h = yes; then
|
||||
|
@ -60,8 +69,6 @@ AC_DEFUN([gl_STDINT_H],
|
|||
[gl_cv_header_working_stdint_h=no
|
||||
AC_COMPILE_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
|
||||
#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
|
||||
#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
|
||||
#include <stdint.h>
|
||||
/* Dragonfly defines WCHAR_MIN, WCHAR_MAX only in <wchar.h>. */
|
||||
|
@ -145,9 +152,11 @@ uintmax_t j = UINTMAX_MAX;
|
|||
|
||||
#include <limits.h> /* for CHAR_BIT */
|
||||
#define TYPE_MINIMUM(t) \
|
||||
((t) ((t) 0 < (t) -1 ? (t) 0 : ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1)))
|
||||
((t) ((t) 0 < (t) -1 ? (t) 0 : ~ TYPE_MAXIMUM (t)))
|
||||
#define TYPE_MAXIMUM(t) \
|
||||
((t) ((t) 0 < (t) -1 ? (t) -1 : ~ (~ (t) 0 << (sizeof (t) * CHAR_BIT - 1))))
|
||||
((t) ((t) 0 < (t) -1 \
|
||||
? (t) -1 \
|
||||
: ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
|
||||
struct s {
|
||||
int check_PTRDIFF:
|
||||
PTRDIFF_MIN == TYPE_MINIMUM (ptrdiff_t)
|
||||
|
@ -208,8 +217,6 @@ struct s {
|
|||
dnl This detects a bug on HP-UX 11.23/ia64.
|
||||
AC_RUN_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
#define __STDC_LIMIT_MACROS 1 /* to make it work also in C++ mode */
|
||||
#define __STDC_CONSTANT_MACROS 1 /* to make it work also in C++ mode */
|
||||
#define _GL_JUST_INCLUDE_SYSTEM_STDINT_H 1 /* work if build isn't clean */
|
||||
#include <stdint.h>
|
||||
]
|
||||
|
@ -259,7 +266,7 @@ static const char *macro_values[] =
|
|||
|| strncmp (value, "((int)"/*)*/, 6) == 0
|
||||
|| strncmp (value, "((signed short)"/*)*/, 15) == 0
|
||||
|| strncmp (value, "((signed char)"/*)*/, 14) == 0)
|
||||
return 1;
|
||||
return mv - macro_values + 1;
|
||||
}
|
||||
return 0;
|
||||
]])],
|
||||
|
@ -290,14 +297,11 @@ static const char *macro_values[] =
|
|||
fi
|
||||
AC_SUBST([HAVE_SYS_BITYPES_H])
|
||||
|
||||
dnl Check for <wchar.h> (missing in Linux uClibc when built without wide
|
||||
dnl character support).
|
||||
AC_CHECK_HEADERS_ONCE([wchar.h])
|
||||
|
||||
gl_STDINT_TYPE_PROPERTIES
|
||||
STDINT_H=stdint.h
|
||||
fi
|
||||
AC_SUBST([STDINT_H])
|
||||
AM_CONDITIONAL([GL_GENERATE_STDINT_H], [test -n "$STDINT_H"])
|
||||
])
|
||||
|
||||
dnl gl_STDINT_BITSIZEOF(TYPES, INCLUDES)
|
||||
|
@ -458,6 +462,14 @@ AC_DEFUN([gl_STDINT_TYPE_PROPERTIES],
|
|||
fi
|
||||
gl_INTEGER_TYPE_SUFFIX([sig_atomic_t wchar_t wint_t],
|
||||
[gl_STDINT_INCLUDES])
|
||||
|
||||
dnl If wint_t is smaller than 'int', it cannot satisfy the ISO C 99
|
||||
dnl requirement that wint_t is "unchanged by default argument promotions".
|
||||
dnl In this case gnulib's <wchar.h> and <wctype.h> override wint_t.
|
||||
dnl Set the variable BITSIZEOF_WINT_T accordingly.
|
||||
if test $BITSIZEOF_WINT_T -lt 32; then
|
||||
BITSIZEOF_WINT_T=32
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Autoconf >= 2.61 has AC_COMPUTE_INT built-in.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# stdint_h.m4 serial 9
|
||||
dnl Copyright (C) 1997-2004, 2006, 2008-2010 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 1997-2004, 2006, 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.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# stdio_h.m4 serial 31
|
||||
dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
|
||||
# stdio_h.m4 serial 43
|
||||
dnl Copyright (C) 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.
|
||||
|
@ -7,9 +7,32 @@ dnl with or without modifications, as long as this notice is preserved.
|
|||
AC_DEFUN([gl_STDIO_H],
|
||||
[
|
||||
AC_REQUIRE([gl_STDIO_H_DEFAULTS])
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_REQUIRE([gl_ASM_SYMBOL_PREFIX])
|
||||
gl_CHECK_NEXT_HEADERS([stdio.h])
|
||||
gl_NEXT_HEADERS([stdio.h])
|
||||
|
||||
dnl No need to create extra modules for these functions. Everyone who uses
|
||||
dnl <stdio.h> likely needs them.
|
||||
GNULIB_FSCANF=1
|
||||
gl_MODULE_INDICATOR([fscanf])
|
||||
GNULIB_SCANF=1
|
||||
gl_MODULE_INDICATOR([scanf])
|
||||
GNULIB_FGETC=1
|
||||
GNULIB_GETC=1
|
||||
GNULIB_GETCHAR=1
|
||||
GNULIB_FGETS=1
|
||||
GNULIB_FREAD=1
|
||||
dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
|
||||
dnl "expected source file, required through AC_LIBSOURCES, not found". It is
|
||||
dnl also an optimization, to avoid performing a configure check whose result
|
||||
dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
|
||||
dnl or GNULIB_NONBLOCKING redundant.
|
||||
m4_ifdef([gl_NONBLOCKING_IO], [
|
||||
gl_NONBLOCKING_IO
|
||||
if test $gl_cv_have_nonblocking != yes; then
|
||||
REPLACE_STDIO_READ_FUNCS=1
|
||||
AC_LIBOBJ([stdio-read])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl No need to create extra modules for these functions. Everyone who uses
|
||||
dnl <stdio.h> likely needs them.
|
||||
GNULIB_FPRINTF=1
|
||||
|
@ -22,9 +45,11 @@ AC_DEFUN([gl_STDIO_H],
|
|||
GNULIB_FPUTS=1
|
||||
GNULIB_PUTS=1
|
||||
GNULIB_FWRITE=1
|
||||
dnl This ifdef is just an optimization, to avoid performing a configure
|
||||
dnl check whose result is not used. It does not make the test of
|
||||
dnl GNULIB_STDIO_H_SIGPIPE or GNULIB_SIGPIPE redundant.
|
||||
dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
|
||||
dnl "expected source file, required through AC_LIBSOURCES, not found". It is
|
||||
dnl also an optimization, to avoid performing a configure check whose result
|
||||
dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or
|
||||
dnl GNULIB_SIGPIPE redundant.
|
||||
m4_ifdef([gl_SIGNAL_SIGPIPE], [
|
||||
gl_SIGNAL_SIGPIPE
|
||||
if test $gl_cv_header_signal_h_SIGPIPE != yes; then
|
||||
|
@ -32,13 +57,25 @@ AC_DEFUN([gl_STDIO_H],
|
|||
AC_LIBOBJ([stdio-write])
|
||||
fi
|
||||
])
|
||||
dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
|
||||
dnl "expected source file, required through AC_LIBSOURCES, not found". It is
|
||||
dnl also an optimization, to avoid performing a configure check whose result
|
||||
dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
|
||||
dnl or GNULIB_NONBLOCKING redundant.
|
||||
m4_ifdef([gl_NONBLOCKING_IO], [
|
||||
gl_NONBLOCKING_IO
|
||||
if test $gl_cv_have_nonblocking != yes; then
|
||||
REPLACE_STDIO_WRITE_FUNCS=1
|
||||
AC_LIBOBJ([stdio-write])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Check for declarations of anything we want to poison if the
|
||||
dnl corresponding gnulib module is not in use, and which is not
|
||||
dnl guaranteed by both C89 and C11.
|
||||
gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
|
||||
]], [dprintf fpurge fseeko ftello getdelim getline gets popen renameat
|
||||
snprintf tmpfile vdprintf vsnprintf])
|
||||
]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen
|
||||
renameat snprintf tmpfile vdprintf vsnprintf])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
|
||||
|
@ -54,23 +91,31 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
|
|||
[
|
||||
GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF])
|
||||
GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE])
|
||||
GNULIB_FDOPEN=0; AC_SUBST([GNULIB_FDOPEN])
|
||||
GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH])
|
||||
GNULIB_FGETC=0; AC_SUBST([GNULIB_FGETC])
|
||||
GNULIB_FGETS=0; AC_SUBST([GNULIB_FGETS])
|
||||
GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN])
|
||||
GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF])
|
||||
GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX])
|
||||
GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE])
|
||||
GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC])
|
||||
GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS])
|
||||
GNULIB_FREAD=0; AC_SUBST([GNULIB_FREAD])
|
||||
GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN])
|
||||
GNULIB_FSCANF=0; AC_SUBST([GNULIB_FSCANF])
|
||||
GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK])
|
||||
GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO])
|
||||
GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL])
|
||||
GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO])
|
||||
GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE])
|
||||
GNULIB_GETC=0; AC_SUBST([GNULIB_GETC])
|
||||
GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR])
|
||||
GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM])
|
||||
GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE])
|
||||
GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF])
|
||||
GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
|
||||
GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE])
|
||||
GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR])
|
||||
GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN])
|
||||
GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF])
|
||||
|
@ -81,11 +126,15 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
|
|||
GNULIB_REMOVE=0; AC_SUBST([GNULIB_REMOVE])
|
||||
GNULIB_RENAME=0; AC_SUBST([GNULIB_RENAME])
|
||||
GNULIB_RENAMEAT=0; AC_SUBST([GNULIB_RENAMEAT])
|
||||
GNULIB_SCANF=0; AC_SUBST([GNULIB_SCANF])
|
||||
GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF])
|
||||
GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX])
|
||||
GNULIB_STDIO_H_NONBLOCKING=0; AC_SUBST([GNULIB_STDIO_H_NONBLOCKING])
|
||||
GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE])
|
||||
GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE])
|
||||
GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF])
|
||||
GNULIB_VFSCANF=0; AC_SUBST([GNULIB_VFSCANF])
|
||||
GNULIB_VSCANF=0; AC_SUBST([GNULIB_VSCANF])
|
||||
GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF])
|
||||
GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF])
|
||||
GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX])
|
||||
|
@ -95,6 +144,8 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
|
|||
GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX])
|
||||
dnl Assume proper GNU behavior unless another module says otherwise.
|
||||
HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE])
|
||||
HAVE_DECL_FSEEKO=1; AC_SUBST([HAVE_DECL_FSEEKO])
|
||||
HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO])
|
||||
HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM])
|
||||
HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE])
|
||||
HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF])
|
||||
|
@ -103,11 +154,14 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
|
|||
HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF])
|
||||
HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO])
|
||||
HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO])
|
||||
HAVE_PCLOSE=1; AC_SUBST([HAVE_PCLOSE])
|
||||
HAVE_POPEN=1; AC_SUBST([HAVE_POPEN])
|
||||
HAVE_RENAMEAT=1; AC_SUBST([HAVE_RENAMEAT])
|
||||
HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF])
|
||||
HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF])
|
||||
REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF])
|
||||
REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE])
|
||||
REPLACE_FDOPEN=0; AC_SUBST([REPLACE_FDOPEN])
|
||||
REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH])
|
||||
REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN])
|
||||
REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF])
|
||||
|
@ -128,6 +182,7 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
|
|||
REPLACE_RENAMEAT=0; AC_SUBST([REPLACE_RENAMEAT])
|
||||
REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF])
|
||||
REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF])
|
||||
REPLACE_STDIO_READ_FUNCS=0; AC_SUBST([REPLACE_STDIO_READ_FUNCS])
|
||||
REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS])
|
||||
REPLACE_TMPFILE=0; AC_SUBST([REPLACE_TMPFILE])
|
||||
REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF])
|
||||
|
@ -137,23 +192,3 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
|
|||
REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF])
|
||||
REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF])
|
||||
])
|
||||
|
||||
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])])
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# stdlib_h.m4 serial 30
|
||||
dnl Copyright (C) 2007-2010 Free Software Foundation, Inc.
|
||||
# stdlib_h.m4 serial 42
|
||||
dnl Copyright (C) 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.
|
||||
|
@ -7,21 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
|
|||
AC_DEFUN([gl_STDLIB_H],
|
||||
[
|
||||
AC_REQUIRE([gl_STDLIB_H_DEFAULTS])
|
||||
gl_CHECK_NEXT_HEADERS([stdlib.h])
|
||||
AC_CHECK_HEADERS([random.h], [], [], [AC_INCLUDES_DEFAULT])
|
||||
if test $ac_cv_header_random_h = yes; then
|
||||
HAVE_RANDOM_H=1
|
||||
else
|
||||
HAVE_RANDOM_H=0
|
||||
fi
|
||||
AC_SUBST([HAVE_RANDOM_H])
|
||||
AC_CHECK_TYPES([struct random_data],
|
||||
[], [HAVE_STRUCT_RANDOM_DATA=0],
|
||||
[[#include <stdlib.h>
|
||||
#if HAVE_RANDOM_H
|
||||
# include <random.h>
|
||||
#endif
|
||||
]])
|
||||
gl_NEXT_HEADERS([stdlib.h])
|
||||
|
||||
dnl Check for declarations of anything we want to poison if the
|
||||
dnl corresponding gnulib module is not in use, and which is not
|
||||
|
@ -33,10 +19,11 @@ AC_DEFUN([gl_STDLIB_H],
|
|||
#if HAVE_RANDOM_H
|
||||
# include <random.h>
|
||||
#endif
|
||||
]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt mkdtemp
|
||||
mkostemp mkostemps mkstemp mkstemps ptsname random_r initstat_r srandom_r
|
||||
setstate_r realpath rpmatch setenv strtod strtoll strtoull unlockpt
|
||||
unsetenv])
|
||||
]], [_Exit atoll canonicalize_file_name getloadavg getsubopt grantpt
|
||||
initstate initstate_r mkdtemp mkostemp mkostemps mkstemp mkstemps
|
||||
posix_openpt ptsname ptsname_r random random_r realpath rpmatch
|
||||
secure_getenv setenv setstate setstate_r srandom srandom_r
|
||||
strtod strtoll strtoull unlockpt unsetenv])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_STDLIB_MODULE_INDICATOR],
|
||||
|
@ -58,23 +45,30 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
|
|||
GNULIB_GETSUBOPT=0; AC_SUBST([GNULIB_GETSUBOPT])
|
||||
GNULIB_GRANTPT=0; AC_SUBST([GNULIB_GRANTPT])
|
||||
GNULIB_MALLOC_POSIX=0; AC_SUBST([GNULIB_MALLOC_POSIX])
|
||||
GNULIB_MBTOWC=0; AC_SUBST([GNULIB_MBTOWC])
|
||||
GNULIB_MKDTEMP=0; AC_SUBST([GNULIB_MKDTEMP])
|
||||
GNULIB_MKOSTEMP=0; AC_SUBST([GNULIB_MKOSTEMP])
|
||||
GNULIB_MKOSTEMPS=0; AC_SUBST([GNULIB_MKOSTEMPS])
|
||||
GNULIB_MKSTEMP=0; AC_SUBST([GNULIB_MKSTEMP])
|
||||
GNULIB_MKSTEMPS=0; AC_SUBST([GNULIB_MKSTEMPS])
|
||||
GNULIB_POSIX_OPENPT=0; AC_SUBST([GNULIB_POSIX_OPENPT])
|
||||
GNULIB_PTSNAME=0; AC_SUBST([GNULIB_PTSNAME])
|
||||
GNULIB_PTSNAME_R=0; AC_SUBST([GNULIB_PTSNAME_R])
|
||||
GNULIB_PUTENV=0; AC_SUBST([GNULIB_PUTENV])
|
||||
GNULIB_RANDOM=0; AC_SUBST([GNULIB_RANDOM])
|
||||
GNULIB_RANDOM_R=0; AC_SUBST([GNULIB_RANDOM_R])
|
||||
GNULIB_REALLOC_POSIX=0; AC_SUBST([GNULIB_REALLOC_POSIX])
|
||||
GNULIB_REALPATH=0; AC_SUBST([GNULIB_REALPATH])
|
||||
GNULIB_RPMATCH=0; AC_SUBST([GNULIB_RPMATCH])
|
||||
GNULIB_SECURE_GETENV=0; AC_SUBST([GNULIB_SECURE_GETENV])
|
||||
GNULIB_SETENV=0; AC_SUBST([GNULIB_SETENV])
|
||||
GNULIB_STRTOD=0; AC_SUBST([GNULIB_STRTOD])
|
||||
GNULIB_STRTOLL=0; AC_SUBST([GNULIB_STRTOLL])
|
||||
GNULIB_STRTOULL=0; AC_SUBST([GNULIB_STRTOULL])
|
||||
GNULIB_SYSTEM_POSIX=0; AC_SUBST([GNULIB_SYSTEM_POSIX])
|
||||
GNULIB_UNLOCKPT=0; AC_SUBST([GNULIB_UNLOCKPT])
|
||||
GNULIB_UNSETENV=0; AC_SUBST([GNULIB_UNSETENV])
|
||||
GNULIB_WCTOMB=0; AC_SUBST([GNULIB_WCTOMB])
|
||||
dnl Assume proper GNU behavior unless another module says otherwise.
|
||||
HAVE__EXIT=1; AC_SUBST([HAVE__EXIT])
|
||||
HAVE_ATOLL=1; AC_SUBST([HAVE_ATOLL])
|
||||
|
@ -87,26 +81,37 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS],
|
|||
HAVE_MKOSTEMPS=1; AC_SUBST([HAVE_MKOSTEMPS])
|
||||
HAVE_MKSTEMP=1; AC_SUBST([HAVE_MKSTEMP])
|
||||
HAVE_MKSTEMPS=1; AC_SUBST([HAVE_MKSTEMPS])
|
||||
HAVE_POSIX_OPENPT=1; AC_SUBST([HAVE_POSIX_OPENPT])
|
||||
HAVE_PTSNAME=1; AC_SUBST([HAVE_PTSNAME])
|
||||
HAVE_PTSNAME_R=1; AC_SUBST([HAVE_PTSNAME_R])
|
||||
HAVE_RANDOM=1; AC_SUBST([HAVE_RANDOM])
|
||||
HAVE_RANDOM_H=1; AC_SUBST([HAVE_RANDOM_H])
|
||||
HAVE_RANDOM_R=1; AC_SUBST([HAVE_RANDOM_R])
|
||||
HAVE_REALPATH=1; AC_SUBST([HAVE_REALPATH])
|
||||
HAVE_RPMATCH=1; AC_SUBST([HAVE_RPMATCH])
|
||||
HAVE_SECURE_GETENV=1; AC_SUBST([HAVE_SECURE_GETENV])
|
||||
HAVE_SETENV=1; AC_SUBST([HAVE_SETENV])
|
||||
HAVE_DECL_SETENV=1; AC_SUBST([HAVE_DECL_SETENV])
|
||||
HAVE_STRTOD=1; AC_SUBST([HAVE_STRTOD])
|
||||
HAVE_STRTOLL=1; AC_SUBST([HAVE_STRTOLL])
|
||||
HAVE_STRTOULL=1; AC_SUBST([HAVE_STRTOULL])
|
||||
HAVE_STRUCT_RANDOM_DATA=1; AC_SUBST([HAVE_STRUCT_RANDOM_DATA])
|
||||
HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H])
|
||||
HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT])
|
||||
HAVE_UNSETENV=1; AC_SUBST([HAVE_UNSETENV])
|
||||
HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV])
|
||||
REPLACE_CALLOC=0; AC_SUBST([REPLACE_CALLOC])
|
||||
REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME])
|
||||
REPLACE_MALLOC=0; AC_SUBST([REPLACE_MALLOC])
|
||||
REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC])
|
||||
REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP])
|
||||
REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME])
|
||||
REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R])
|
||||
REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV])
|
||||
REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R])
|
||||
REPLACE_REALLOC=0; AC_SUBST([REPLACE_REALLOC])
|
||||
REPLACE_REALPATH=0; AC_SUBST([REPLACE_REALPATH])
|
||||
REPLACE_SETENV=0; AC_SUBST([REPLACE_SETENV])
|
||||
REPLACE_STRTOD=0; AC_SUBST([REPLACE_STRTOD])
|
||||
REPLACE_UNSETENV=0; AC_SUBST([REPLACE_UNSETENV])
|
||||
REPLACE_WCTOMB=0; AC_SUBST([REPLACE_WCTOMB])
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# strcase.m4 serial 10
|
||||
dnl Copyright (C) 2002, 2005-2010 Free Software Foundation, Inc.
|
||||
# strcase.m4 serial 11
|
||||
dnl Copyright (C) 2002, 2005-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.
|
||||
|
@ -13,19 +13,20 @@ AC_DEFUN([gl_STRCASE],
|
|||
AC_DEFUN([gl_FUNC_STRCASECMP],
|
||||
[
|
||||
AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS])
|
||||
AC_REPLACE_FUNCS([strcasecmp])
|
||||
AC_CHECK_FUNCS([strcasecmp])
|
||||
if test $ac_cv_func_strcasecmp = no; then
|
||||
HAVE_STRCASECMP=0
|
||||
gl_PREREQ_STRCASECMP
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_FUNC_STRNCASECMP],
|
||||
[
|
||||
AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS])
|
||||
AC_REPLACE_FUNCS([strncasecmp])
|
||||
if test $ac_cv_func_strncasecmp = no; then
|
||||
gl_PREREQ_STRNCASECMP
|
||||
AC_CHECK_FUNCS([strncasecmp])
|
||||
if test $ac_cv_func_strncasecmp = yes; then
|
||||
HAVE_STRNCASECMP=1
|
||||
else
|
||||
HAVE_STRNCASECMP=0
|
||||
fi
|
||||
AC_CHECK_DECLS([strncasecmp])
|
||||
if test $ac_cv_have_decl_strncasecmp = no; then
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# strchrnul.m4 serial 7
|
||||
dnl Copyright (C) 2003, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
# strchrnul.m4 serial 9
|
||||
dnl Copyright (C) 2003, 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.
|
||||
|
@ -10,10 +10,39 @@ AC_DEFUN([gl_FUNC_STRCHRNUL],
|
|||
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
|
||||
|
||||
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
|
||||
AC_REPLACE_FUNCS([strchrnul])
|
||||
AC_CHECK_FUNCS([strchrnul])
|
||||
if test $ac_cv_func_strchrnul = no; then
|
||||
HAVE_STRCHRNUL=0
|
||||
gl_PREREQ_STRCHRNUL
|
||||
else
|
||||
AC_CACHE_CHECK([whether strchrnul works],
|
||||
[gl_cv_func_strchrnul_works],
|
||||
[AC_RUN_IFELSE([AC_LANG_PROGRAM([[
|
||||
#include <string.h> /* for strchrnul */
|
||||
]], [[const char *buf = "a";
|
||||
return strchrnul (buf, 'b') != buf + 1;
|
||||
]])],
|
||||
[gl_cv_func_strchrnul_works=yes],
|
||||
[gl_cv_func_strchrnul_works=no],
|
||||
[dnl Cygwin 1.7.9 introduced strchrnul, but it was broken until 1.7.10
|
||||
AC_EGREP_CPP([Lucky user],
|
||||
[
|
||||
#if defined __CYGWIN__
|
||||
#include <cygwin/version.h>
|
||||
#if CYGWIN_VERSION_DLL_COMBINED > CYGWIN_VERSION_DLL_MAKE_COMBINED (1007, 9)
|
||||
Lucky user
|
||||
#endif
|
||||
#else
|
||||
Lucky user
|
||||
#endif
|
||||
],
|
||||
[gl_cv_func_strchrnul_works="guessing yes"],
|
||||
[gl_cv_func_strchrnul_works="guessing no"])
|
||||
])
|
||||
])
|
||||
case "$gl_cv_func_strchrnul_works" in
|
||||
*yes) ;;
|
||||
*) REPLACE_STRCHRNUL=1 ;;
|
||||
esac
|
||||
fi
|
||||
])
|
||||
|
||||
|
|
116
m4/strerror.m4
116
m4/strerror.m4
|
@ -1,68 +1,96 @@
|
|||
# strerror.m4 serial 9
|
||||
dnl Copyright (C) 2002, 2007-2010 Free Software Foundation, Inc.
|
||||
# strerror.m4 serial 17
|
||||
dnl Copyright (C) 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.
|
||||
|
||||
AC_DEFUN([gl_FUNC_STRERROR],
|
||||
[
|
||||
AC_REQUIRE([gl_FUNC_STRERROR_SEPARATE])
|
||||
if test $REPLACE_STRERROR = 1; then
|
||||
AC_LIBOBJ([strerror])
|
||||
AC_DEFINE_UNQUOTED([REPLACE_STRERROR], [$REPLACE_STRERROR],
|
||||
[Define this to 1 if strerror is broken.])
|
||||
fi
|
||||
])
|
||||
|
||||
# Like gl_FUNC_STRERROR, except prepare for separate compilation (no AC_LIBOBJ).
|
||||
AC_DEFUN([gl_FUNC_STRERROR_SEPARATE],
|
||||
[
|
||||
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
|
||||
AC_REQUIRE([gl_HEADER_ERRNO_H])
|
||||
if test -z "$ERRNO_H"; then
|
||||
AC_REQUIRE([gl_FUNC_STRERROR_0])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [
|
||||
AC_REQUIRE([gl_FUNC_STRERROR_R_WORKS])
|
||||
])
|
||||
if test "$ERRNO_H:$REPLACE_STRERROR_0" = :0; then
|
||||
AC_CACHE_CHECK([for working strerror function],
|
||||
[gl_cv_func_working_strerror],
|
||||
[AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <string.h>
|
||||
]],
|
||||
[[return !*strerror (-2);]])],
|
||||
[[if (!*strerror (-2)) return 1;]])],
|
||||
[gl_cv_func_working_strerror=yes],
|
||||
[gl_cv_func_working_strerror=no],
|
||||
[dnl Assume crossbuild works if it compiles.
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <string.h>
|
||||
]],
|
||||
[[return !*strerror (-2);]])],
|
||||
[gl_cv_func_working_strerror=yes],
|
||||
[gl_cv_func_working_strerror=no])
|
||||
])
|
||||
[case "$host_os" in
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu*) gl_cv_func_working_strerror="guessing yes" ;;
|
||||
# If we don't know, assume the worst.
|
||||
*) gl_cv_func_working_strerror="guessing no" ;;
|
||||
esac
|
||||
])
|
||||
])
|
||||
case "$gl_cv_func_working_strerror" in
|
||||
*yes) ;;
|
||||
*)
|
||||
dnl The system's strerror() fails to return a string for out-of-range
|
||||
dnl integers. Replace it.
|
||||
REPLACE_STRERROR=1
|
||||
;;
|
||||
esac
|
||||
m4_ifdef([gl_FUNC_STRERROR_R_WORKS], [
|
||||
dnl If the system's strerror_r or __xpg_strerror_r clobbers strerror's
|
||||
dnl buffer, we must replace strerror.
|
||||
case "$gl_cv_func_strerror_r_works" in
|
||||
*no) REPLACE_STRERROR=1 ;;
|
||||
esac
|
||||
])
|
||||
if test $gl_cv_func_working_strerror = no; then
|
||||
dnl The system's strerror() fails to return a string for out-of-range
|
||||
dnl integers. Replace it.
|
||||
REPLACE_STRERROR=1
|
||||
fi
|
||||
else
|
||||
dnl The system's strerror() cannot know about the new errno values we add
|
||||
dnl to <errno.h>. Replace it.
|
||||
dnl to <errno.h>, or any fix for strerror(0). Replace it.
|
||||
REPLACE_STRERROR=1
|
||||
fi
|
||||
if test $REPLACE_STRERROR = 1; then
|
||||
gl_PREREQ_STRERROR
|
||||
fi
|
||||
])
|
||||
|
||||
# Prerequisites of lib/strerror.c.
|
||||
AC_DEFUN([gl_PREREQ_STRERROR], [
|
||||
AC_CHECK_DECLS([strerror])
|
||||
AC_CHECK_HEADERS_ONCE([sys/socket.h])
|
||||
if test $ac_cv_header_sys_socket_h != yes; then
|
||||
dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make
|
||||
dnl the check for those headers unconditional; yet cygwin reports
|
||||
dnl that the headers are present but cannot be compiled (since on
|
||||
dnl cygwin, all socket information should come from sys/socket.h).
|
||||
AC_CHECK_HEADERS([winsock2.h])
|
||||
fi
|
||||
dnl Detect if strerror(0) passes (that is, does not set errno, and does not
|
||||
dnl return a string that matches strerror(-1)).
|
||||
AC_DEFUN([gl_FUNC_STRERROR_0],
|
||||
[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
REPLACE_STRERROR_0=0
|
||||
AC_CACHE_CHECK([whether strerror(0) succeeds],
|
||||
[gl_cv_func_strerror_0_works],
|
||||
[AC_RUN_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <string.h>
|
||||
#include <errno.h>
|
||||
]],
|
||||
[[int result = 0;
|
||||
char *str;
|
||||
errno = 0;
|
||||
str = strerror (0);
|
||||
if (!*str) result |= 1;
|
||||
if (errno) result |= 2;
|
||||
if (strstr (str, "nknown") || strstr (str, "ndefined"))
|
||||
result |= 4;
|
||||
return result;]])],
|
||||
[gl_cv_func_strerror_0_works=yes],
|
||||
[gl_cv_func_strerror_0_works=no],
|
||||
[case "$host_os" in
|
||||
# Guess yes on glibc systems.
|
||||
*-gnu*) gl_cv_func_strerror_0_works="guessing yes" ;;
|
||||
# If we don't know, assume the worst.
|
||||
*) gl_cv_func_strerror_0_works="guessing no" ;;
|
||||
esac
|
||||
])
|
||||
])
|
||||
case "$gl_cv_func_strerror_0_works" in
|
||||
*yes) ;;
|
||||
*)
|
||||
REPLACE_STRERROR_0=1
|
||||
AC_DEFINE([REPLACE_STRERROR_0], [1], [Define to 1 if strerror(0)
|
||||
does not return a message implying success.])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
# Configure a GNU-like replacement for <string.h>.
|
||||
|
||||
# Copyright (C) 2007-2010 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2007-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.
|
||||
|
||||
# serial 17
|
||||
# serial 21
|
||||
|
||||
# Written by Paul Eggert.
|
||||
|
||||
|
@ -20,16 +20,16 @@ AC_DEFUN([gl_HEADER_STRING_H_BODY],
|
|||
[
|
||||
AC_REQUIRE([AC_C_RESTRICT])
|
||||
AC_REQUIRE([gl_HEADER_STRING_H_DEFAULTS])
|
||||
gl_CHECK_NEXT_HEADERS([string.h])
|
||||
gl_NEXT_HEADERS([string.h])
|
||||
|
||||
dnl Check for declarations of anything we want to poison if the
|
||||
dnl corresponding gnulib module is not in use, and which is not
|
||||
dnl guaranteed by C89.
|
||||
gl_WARN_ON_USE_PREPARE([[#include <string.h>
|
||||
]],
|
||||
[memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul strdup
|
||||
strncat strndup strnlen strpbrk strsep strcasestr strtok_r strsignal
|
||||
strverscmp])
|
||||
[ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul
|
||||
strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r
|
||||
strerror_r strsignal strverscmp])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_STRING_MODULE_INDICATOR],
|
||||
|
@ -43,6 +43,8 @@ AC_DEFUN([gl_STRING_MODULE_INDICATOR],
|
|||
|
||||
AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
|
||||
[
|
||||
GNULIB_FFSL=0; AC_SUBST([GNULIB_FFSL])
|
||||
GNULIB_FFSLL=0; AC_SUBST([GNULIB_FFSLL])
|
||||
GNULIB_MEMCHR=0; AC_SUBST([GNULIB_MEMCHR])
|
||||
GNULIB_MEMMEM=0; AC_SUBST([GNULIB_MEMMEM])
|
||||
GNULIB_MEMPCPY=0; AC_SUBST([GNULIB_MEMPCPY])
|
||||
|
@ -75,10 +77,13 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
|
|||
GNULIB_MBSSEP=0; AC_SUBST([GNULIB_MBSSEP])
|
||||
GNULIB_MBSTOK_R=0; AC_SUBST([GNULIB_MBSTOK_R])
|
||||
GNULIB_STRERROR=0; AC_SUBST([GNULIB_STRERROR])
|
||||
GNULIB_STRERROR_R=0; AC_SUBST([GNULIB_STRERROR_R])
|
||||
GNULIB_STRSIGNAL=0; AC_SUBST([GNULIB_STRSIGNAL])
|
||||
GNULIB_STRVERSCMP=0; AC_SUBST([GNULIB_STRVERSCMP])
|
||||
HAVE_MBSLEN=0; AC_SUBST([HAVE_MBSLEN])
|
||||
dnl Assume proper GNU behavior unless another module says otherwise.
|
||||
HAVE_FFSL=1; AC_SUBST([HAVE_FFSL])
|
||||
HAVE_FFSLL=1; AC_SUBST([HAVE_FFSLL])
|
||||
HAVE_MEMCHR=1; AC_SUBST([HAVE_MEMCHR])
|
||||
HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM])
|
||||
HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY])
|
||||
|
@ -94,6 +99,7 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
|
|||
HAVE_STRSEP=1; AC_SUBST([HAVE_STRSEP])
|
||||
HAVE_STRCASESTR=1; AC_SUBST([HAVE_STRCASESTR])
|
||||
HAVE_DECL_STRTOK_R=1; AC_SUBST([HAVE_DECL_STRTOK_R])
|
||||
HAVE_DECL_STRERROR_R=1; AC_SUBST([HAVE_DECL_STRERROR_R])
|
||||
HAVE_DECL_STRSIGNAL=1; AC_SUBST([HAVE_DECL_STRSIGNAL])
|
||||
HAVE_STRVERSCMP=1; AC_SUBST([HAVE_STRVERSCMP])
|
||||
REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR])
|
||||
|
@ -102,7 +108,9 @@ AC_DEFUN([gl_HEADER_STRING_H_DEFAULTS],
|
|||
REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP])
|
||||
REPLACE_STRSTR=0; AC_SUBST([REPLACE_STRSTR])
|
||||
REPLACE_STRCASESTR=0; AC_SUBST([REPLACE_STRCASESTR])
|
||||
REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL])
|
||||
REPLACE_STRERROR=0; AC_SUBST([REPLACE_STRERROR])
|
||||
REPLACE_STRERROR_R=0; AC_SUBST([REPLACE_STRERROR_R])
|
||||
REPLACE_STRNCAT=0; AC_SUBST([REPLACE_STRNCAT])
|
||||
REPLACE_STRNDUP=0; AC_SUBST([REPLACE_STRNDUP])
|
||||
REPLACE_STRNLEN=0; AC_SUBST([REPLACE_STRNLEN])
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# Configure a replacement for <string.h>.
|
||||
# serial 3
|
||||
# Configure a replacement for <strings.h>.
|
||||
# serial 6
|
||||
|
||||
# Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2007, 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.
|
||||
|
@ -16,12 +16,23 @@ AC_DEFUN([gl_HEADER_STRINGS_H],
|
|||
AC_DEFUN([gl_HEADER_STRINGS_H_BODY],
|
||||
[
|
||||
AC_REQUIRE([gl_HEADER_STRINGS_H_DEFAULTS])
|
||||
|
||||
gl_CHECK_NEXT_HEADERS([strings.h])
|
||||
if test $ac_cv_header_strings_h = yes; then
|
||||
HAVE_STRINGS_H=1
|
||||
else
|
||||
HAVE_STRINGS_H=0
|
||||
fi
|
||||
AC_SUBST([HAVE_STRINGS_H])
|
||||
|
||||
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 <strings.h>
|
||||
]], [strcasecmp strncasecmp])
|
||||
gl_WARN_ON_USE_PREPARE([[
|
||||
/* Minix 3.1.8 has a bug: <sys/types.h> must be included before
|
||||
<strings.h>. */
|
||||
#include <sys/types.h>
|
||||
#include <strings.h>
|
||||
]], [ffs strcasecmp strncasecmp])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_STRINGS_MODULE_INDICATOR],
|
||||
|
@ -33,7 +44,9 @@ AC_DEFUN([gl_STRINGS_MODULE_INDICATOR],
|
|||
|
||||
AC_DEFUN([gl_HEADER_STRINGS_H_DEFAULTS],
|
||||
[
|
||||
GNULIB_FFS=0; AC_SUBST([GNULIB_FFS])
|
||||
dnl Assume proper GNU behavior unless another module says otherwise.
|
||||
HAVE_FFS=1; AC_SUBST([HAVE_FFS])
|
||||
HAVE_STRCASECMP=1; AC_SUBST([HAVE_STRCASECMP])
|
||||
HAVE_DECL_STRNCASECMP=1; AC_SUBST([HAVE_DECL_STRNCASECMP])
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# strndup.m4 serial 18
|
||||
dnl Copyright (C) 2002-2003, 2005-2010 Free Software Foundation, Inc.
|
||||
# strndup.m4 serial 21
|
||||
dnl Copyright (C) 2002-2003, 2005-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.
|
||||
|
@ -18,13 +18,18 @@ AC_DEFUN([gl_FUNC_STRNDUP],
|
|||
fi
|
||||
|
||||
if test $ac_cv_func_strndup = yes; then
|
||||
HAVE_STRNDUP=1
|
||||
# AIX 4.3.3, AIX 5.1 have a function that fails to add the terminating '\0'.
|
||||
AC_CACHE_CHECK([for working strndup], [gl_cv_func_strndup_works],
|
||||
[AC_RUN_IFELSE([
|
||||
AC_LANG_PROGRAM([[#include <string.h>
|
||||
#include <stdlib.h>]], [[
|
||||
#ifndef HAVE_DECL_STRNDUP
|
||||
extern char *strndup (const char *, size_t);
|
||||
#if !HAVE_DECL_STRNDUP
|
||||
extern
|
||||
#ifdef __cplusplus
|
||||
"C"
|
||||
#endif
|
||||
char *strndup (const char *, size_t);
|
||||
#endif
|
||||
char *s;
|
||||
s = strndup ("some longer string", 15);
|
||||
|
@ -42,12 +47,9 @@ changequote(,)dnl
|
|||
changequote([,])dnl
|
||||
])])
|
||||
case $gl_cv_func_strndup_works in
|
||||
*no)
|
||||
REPLACE_STRNDUP=1
|
||||
AC_LIBOBJ([strndup])
|
||||
;;
|
||||
*no) REPLACE_STRNDUP=1 ;;
|
||||
esac
|
||||
else
|
||||
AC_LIBOBJ([strndup])
|
||||
HAVE_STRNDUP=0
|
||||
fi
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# strnlen.m4 serial 12
|
||||
dnl Copyright (C) 2002-2003, 2005-2007, 2009-2010 Free Software Foundation,
|
||||
# strnlen.m4 serial 13
|
||||
dnl Copyright (C) 2002-2003, 2005-2007, 2009-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,
|
||||
|
@ -16,16 +16,14 @@ AC_DEFUN([gl_FUNC_STRNLEN],
|
|||
if test $ac_cv_have_decl_strnlen = no; then
|
||||
HAVE_DECL_STRNLEN=0
|
||||
else
|
||||
AC_FUNC_STRNLEN
|
||||
m4_pushdef([AC_LIBOBJ], [:])
|
||||
dnl Note: AC_FUNC_STRNLEN does AC_LIBOBJ([strnlen]).
|
||||
AC_FUNC_STRNLEN
|
||||
m4_popdef([AC_LIBOBJ])
|
||||
if test $ac_cv_func_strnlen_working = no; then
|
||||
REPLACE_STRNLEN=1
|
||||
fi
|
||||
fi
|
||||
if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then
|
||||
AC_LIBOBJ([strnlen])
|
||||
gl_PREREQ_STRNLEN
|
||||
fi
|
||||
])
|
||||
|
||||
# Prerequisites of lib/strnlen.c.
|
||||
|
|
176
m4/sys_socket_h.m4
Normal file
176
m4/sys_socket_h.m4
Normal file
|
@ -0,0 +1,176 @@
|
|||
# sys_socket_h.m4 serial 23
|
||||
dnl Copyright (C) 2005-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 Simon Josefsson.
|
||||
|
||||
AC_DEFUN([gl_HEADER_SYS_SOCKET],
|
||||
[
|
||||
AC_REQUIRE([gl_SYS_SOCKET_H_DEFAULTS])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
|
||||
dnl On OSF/1, the functions recv(), send(), recvfrom(), sendto() have
|
||||
dnl old-style declarations (with return type 'int' instead of 'ssize_t')
|
||||
dnl unless _POSIX_PII_SOCKET is defined.
|
||||
case "$host_os" in
|
||||
osf*)
|
||||
AC_DEFINE([_POSIX_PII_SOCKET], [1],
|
||||
[Define to 1 in order to get the POSIX compatible declarations
|
||||
of socket functions.])
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_CACHE_CHECK([whether <sys/socket.h> is self-contained],
|
||||
[gl_cv_header_sys_socket_h_selfcontained],
|
||||
[
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <sys/socket.h>]], [[]])],
|
||||
[gl_cv_header_sys_socket_h_selfcontained=yes],
|
||||
[gl_cv_header_sys_socket_h_selfcontained=no])
|
||||
])
|
||||
if test $gl_cv_header_sys_socket_h_selfcontained = yes; then
|
||||
dnl If the shutdown function exists, <sys/socket.h> should define
|
||||
dnl SHUT_RD, SHUT_WR, SHUT_RDWR.
|
||||
AC_CHECK_FUNCS([shutdown])
|
||||
if test $ac_cv_func_shutdown = yes; then
|
||||
AC_CACHE_CHECK([whether <sys/socket.h> defines the SHUT_* macros],
|
||||
[gl_cv_header_sys_socket_h_shut],
|
||||
[
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM([[#include <sys/socket.h>]],
|
||||
[[int a[] = { SHUT_RD, SHUT_WR, SHUT_RDWR };]])],
|
||||
[gl_cv_header_sys_socket_h_shut=yes],
|
||||
[gl_cv_header_sys_socket_h_shut=no])
|
||||
])
|
||||
if test $gl_cv_header_sys_socket_h_shut = no; then
|
||||
SYS_SOCKET_H='sys/socket.h'
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
# We need to check for ws2tcpip.h now.
|
||||
gl_PREREQ_SYS_H_SOCKET
|
||||
AC_CHECK_TYPES([struct sockaddr_storage, sa_family_t],,,[
|
||||
/* sys/types.h is not needed according to POSIX, but the
|
||||
sys/socket.h in i386-unknown-freebsd4.10 and
|
||||
powerpc-apple-darwin5.5 required it. */
|
||||
#include <sys/types.h>
|
||||
#ifdef HAVE_SYS_SOCKET_H
|
||||
#include <sys/socket.h>
|
||||
#endif
|
||||
#ifdef HAVE_WS2TCPIP_H
|
||||
#include <ws2tcpip.h>
|
||||
#endif
|
||||
])
|
||||
if test $ac_cv_type_struct_sockaddr_storage = no; then
|
||||
HAVE_STRUCT_SOCKADDR_STORAGE=0
|
||||
fi
|
||||
if test $ac_cv_type_sa_family_t = no; then
|
||||
HAVE_SA_FAMILY_T=0
|
||||
fi
|
||||
if test $ac_cv_type_struct_sockaddr_storage != no; then
|
||||
AC_CHECK_MEMBERS([struct sockaddr_storage.ss_family],
|
||||
[],
|
||||
[HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=0],
|
||||
[#include <sys/types.h>
|
||||
#ifdef HAVE_SYS_SOCKET_H
|
||||
#include <sys/socket.h>
|
||||
#endif
|
||||
#ifdef HAVE_WS2TCPIP_H
|
||||
#include <ws2tcpip.h>
|
||||
#endif
|
||||
])
|
||||
fi
|
||||
if test $HAVE_STRUCT_SOCKADDR_STORAGE = 0 || test $HAVE_SA_FAMILY_T = 0 \
|
||||
|| test $HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY = 0; then
|
||||
SYS_SOCKET_H='sys/socket.h'
|
||||
fi
|
||||
gl_PREREQ_SYS_H_WINSOCK2
|
||||
|
||||
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([[
|
||||
/* Some systems require prerequisite headers. */
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
]], [socket connect accept bind getpeername getsockname getsockopt
|
||||
listen recv send recvfrom sendto setsockopt shutdown accept4])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_PREREQ_SYS_H_SOCKET],
|
||||
[
|
||||
dnl Check prerequisites of the <sys/socket.h> replacement.
|
||||
AC_REQUIRE([gl_CHECK_SOCKET_HEADERS])
|
||||
gl_CHECK_NEXT_HEADERS([sys/socket.h])
|
||||
if test $ac_cv_header_sys_socket_h = yes; then
|
||||
HAVE_SYS_SOCKET_H=1
|
||||
HAVE_WS2TCPIP_H=0
|
||||
else
|
||||
HAVE_SYS_SOCKET_H=0
|
||||
if test $ac_cv_header_ws2tcpip_h = yes; then
|
||||
HAVE_WS2TCPIP_H=1
|
||||
else
|
||||
HAVE_WS2TCPIP_H=0
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([HAVE_SYS_SOCKET_H])
|
||||
AC_SUBST([HAVE_WS2TCPIP_H])
|
||||
])
|
||||
|
||||
# Common prerequisites of the <sys/socket.h> replacement and of the
|
||||
# <sys/select.h> replacement.
|
||||
# Sets and substitutes HAVE_WINSOCK2_H.
|
||||
AC_DEFUN([gl_PREREQ_SYS_H_WINSOCK2],
|
||||
[
|
||||
m4_ifdef([gl_UNISTD_H_DEFAULTS], [AC_REQUIRE([gl_UNISTD_H_DEFAULTS])])
|
||||
m4_ifdef([gl_SYS_IOCTL_H_DEFAULTS], [AC_REQUIRE([gl_SYS_IOCTL_H_DEFAULTS])])
|
||||
AC_CHECK_HEADERS_ONCE([sys/socket.h])
|
||||
if test $ac_cv_header_sys_socket_h != yes; then
|
||||
dnl We cannot use AC_CHECK_HEADERS_ONCE here, because that would make
|
||||
dnl the check for those headers unconditional; yet cygwin reports
|
||||
dnl that the headers are present but cannot be compiled (since on
|
||||
dnl cygwin, all socket information should come from sys/socket.h).
|
||||
AC_CHECK_HEADERS([winsock2.h])
|
||||
fi
|
||||
if test "$ac_cv_header_winsock2_h" = yes; then
|
||||
HAVE_WINSOCK2_H=1
|
||||
UNISTD_H_HAVE_WINSOCK2_H=1
|
||||
SYS_IOCTL_H_HAVE_WINSOCK2_H=1
|
||||
else
|
||||
HAVE_WINSOCK2_H=0
|
||||
fi
|
||||
AC_SUBST([HAVE_WINSOCK2_H])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_SYS_SOCKET_MODULE_INDICATOR],
|
||||
[
|
||||
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
|
||||
AC_REQUIRE([gl_SYS_SOCKET_H_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])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_SYS_SOCKET_H_DEFAULTS],
|
||||
[
|
||||
GNULIB_SOCKET=0; AC_SUBST([GNULIB_SOCKET])
|
||||
GNULIB_CONNECT=0; AC_SUBST([GNULIB_CONNECT])
|
||||
GNULIB_ACCEPT=0; AC_SUBST([GNULIB_ACCEPT])
|
||||
GNULIB_BIND=0; AC_SUBST([GNULIB_BIND])
|
||||
GNULIB_GETPEERNAME=0; AC_SUBST([GNULIB_GETPEERNAME])
|
||||
GNULIB_GETSOCKNAME=0; AC_SUBST([GNULIB_GETSOCKNAME])
|
||||
GNULIB_GETSOCKOPT=0; AC_SUBST([GNULIB_GETSOCKOPT])
|
||||
GNULIB_LISTEN=0; AC_SUBST([GNULIB_LISTEN])
|
||||
GNULIB_RECV=0; AC_SUBST([GNULIB_RECV])
|
||||
GNULIB_SEND=0; AC_SUBST([GNULIB_SEND])
|
||||
GNULIB_RECVFROM=0; AC_SUBST([GNULIB_RECVFROM])
|
||||
GNULIB_SENDTO=0; AC_SUBST([GNULIB_SENDTO])
|
||||
GNULIB_SETSOCKOPT=0; AC_SUBST([GNULIB_SETSOCKOPT])
|
||||
GNULIB_SHUTDOWN=0; AC_SUBST([GNULIB_SHUTDOWN])
|
||||
GNULIB_ACCEPT4=0; AC_SUBST([GNULIB_ACCEPT4])
|
||||
HAVE_STRUCT_SOCKADDR_STORAGE=1; AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE])
|
||||
HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY=1;
|
||||
AC_SUBST([HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY])
|
||||
HAVE_SA_FAMILY_T=1; AC_SUBST([HAVE_SA_FAMILY_T])
|
||||
HAVE_ACCEPT4=1; AC_SUBST([HAVE_ACCEPT4])
|
||||
])
|
24
m4/sys_types_h.m4
Normal file
24
m4/sys_types_h.m4
Normal file
|
@ -0,0 +1,24 @@
|
|||
# sys_types_h.m4 serial 5
|
||||
dnl Copyright (C) 2011-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_ONCE([gl_SYS_TYPES_H],
|
||||
[
|
||||
AC_REQUIRE([gl_SYS_TYPES_H_DEFAULTS])
|
||||
gl_NEXT_HEADERS([sys/types.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 Whether to override the 'off_t' type.
|
||||
AC_REQUIRE([gl_TYPE_OFF_T])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_SYS_TYPES_H_DEFAULTS],
|
||||
[
|
||||
])
|
|
@ -1,25 +0,0 @@
|
|||
# sys_wait_h.m4 serial 4
|
||||
dnl Copyright (C) 2008-2010 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([gl_SYS_WAIT_H],
|
||||
[
|
||||
AC_REQUIRE([gl_SYS_WAIT_H_DEFAULTS])
|
||||
|
||||
dnl <sys/wait.h> is always overridden, because of GNULIB_POSIXCHECK.
|
||||
gl_CHECK_NEXT_HEADERS([sys/wait.h])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_SYS_WAIT_MODULE_INDICATOR],
|
||||
[
|
||||
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
|
||||
AC_REQUIRE([gl_SYS_WAIT_H_DEFAULTS])
|
||||
gl_MODULE_INDICATOR_SET_VARIABLE([$1])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_SYS_WAIT_H_DEFAULTS],
|
||||
[
|
||||
dnl Assume proper GNU behavior unless another module says otherwise.
|
||||
])
|
|
@ -1,5 +1,5 @@
|
|||
# sysexits.m4 serial 5
|
||||
dnl Copyright (C) 2003, 2005, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
# sysexits.m4 serial 6
|
||||
dnl Copyright (C) 2003, 2005, 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.
|
||||
|
@ -40,4 +40,5 @@ AC_DEFUN([gl_SYSEXITS],
|
|||
fi
|
||||
AC_SUBST([HAVE_SYSEXITS_H])
|
||||
AC_SUBST([SYSEXITS_H])
|
||||
AM_CONDITIONAL([GL_GENERATE_SYSEXITS_H], [test -n "$SYSEXITS_H"])
|
||||
])
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# threadlib.m4 serial 6 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2005-2010 Free Software Foundation, Inc.
|
||||
# threadlib.m4 serial 10 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2005-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.
|
||||
|
@ -9,8 +9,13 @@ dnl From Bruno Haible.
|
|||
dnl gl_THREADLIB
|
||||
dnl ------------
|
||||
dnl Tests for a multithreading library to be used.
|
||||
dnl If the configure.ac contains a definition of the gl_THREADLIB_DEFAULT_NO
|
||||
dnl (it must be placed before the invocation of gl_THREADLIB_EARLY!), then the
|
||||
dnl default is 'no', otherwise it is system dependent. In both cases, the user
|
||||
dnl can change the choice through the options --enable-threads=choice or
|
||||
dnl --disable-threads.
|
||||
dnl Defines at most one of the macros USE_POSIX_THREADS, USE_SOLARIS_THREADS,
|
||||
dnl USE_PTH_THREADS, USE_WIN32_THREADS
|
||||
dnl USE_PTH_THREADS, USE_WINDOWS_THREADS
|
||||
dnl Sets the variables LIBTHREAD and LTLIBTHREAD to the linker options for use
|
||||
dnl in a Makefile (LIBTHREAD for use without libtool, LTLIBTHREAD for use with
|
||||
dnl libtool).
|
||||
|
@ -44,10 +49,12 @@ AC_DEFUN([gl_THREADLIB_EARLY_BODY],
|
|||
[AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
|
||||
[AC_REQUIRE([AC_GNU_SOURCE])])
|
||||
dnl Check for multithreading.
|
||||
m4_divert_text([DEFAULTS], [gl_use_threads_default=])
|
||||
m4_ifdef([gl_THREADLIB_DEFAULT_NO],
|
||||
[m4_divert_text([DEFAULTS], [gl_use_threads_default=no])],
|
||||
[m4_divert_text([DEFAULTS], [gl_use_threads_default=])])
|
||||
AC_ARG_ENABLE([threads],
|
||||
AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify multithreading API])
|
||||
AC_HELP_STRING([--disable-threads], [build without multithread safety]),
|
||||
AC_HELP_STRING([--enable-threads={posix|solaris|pth|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [
|
||||
AC_HELP_STRING([--disable-threads], [build without multithread safety])]),
|
||||
[gl_use_threads=$enableval],
|
||||
[if test -n "$gl_use_threads_default"; then
|
||||
gl_use_threads="$gl_use_threads_default"
|
||||
|
@ -243,7 +250,7 @@ int main ()
|
|||
AC_LIB_LINKFLAGS([pth])
|
||||
gl_have_pth=
|
||||
gl_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -lpth"
|
||||
LIBS="$LIBS $LIBPTH"
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM([[#include <pth.h>]], [[pth_self();]])],
|
||||
[gl_have_pth=yes])
|
||||
|
@ -269,17 +276,19 @@ int main ()
|
|||
fi
|
||||
fi
|
||||
if test -z "$gl_have_pthread"; then
|
||||
if test "$gl_use_threads" = yes || test "$gl_use_threads" = win32; then
|
||||
if { case "$host_os" in
|
||||
mingw*) true;;
|
||||
*) false;;
|
||||
esac
|
||||
}; then
|
||||
gl_threads_api=win32
|
||||
AC_DEFINE([USE_WIN32_THREADS], [1],
|
||||
[Define if the Win32 multithreading API can be used.])
|
||||
fi
|
||||
fi
|
||||
case "$gl_use_threads" in
|
||||
yes | windows | win32) # The 'win32' is for backward compatibility.
|
||||
if { case "$host_os" in
|
||||
mingw*) true;;
|
||||
*) false;;
|
||||
esac
|
||||
}; then
|
||||
gl_threads_api=windows
|
||||
AC_DEFINE([USE_WINDOWS_THREADS], [1],
|
||||
[Define if the native Windows multithreading API can be used.])
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
AC_MSG_CHECKING([for multithread API to use])
|
||||
|
@ -310,50 +319,50 @@ AC_DEFUN([gl_DISABLE_THREADS], [
|
|||
|
||||
dnl Survey of platforms:
|
||||
dnl
|
||||
dnl Platform Available Compiler Supports test-lock
|
||||
dnl flavours option weak result
|
||||
dnl --------------- --------- --------- -------- ---------
|
||||
dnl Linux 2.4/glibc posix -lpthread Y OK
|
||||
dnl Platform Available Compiler Supports test-lock
|
||||
dnl flavours option weak result
|
||||
dnl --------------- --------- --------- -------- ---------
|
||||
dnl Linux 2.4/glibc posix -lpthread Y OK
|
||||
dnl
|
||||
dnl GNU Hurd/glibc posix
|
||||
dnl GNU Hurd/glibc posix
|
||||
dnl
|
||||
dnl FreeBSD 5.3 posix -lc_r Y
|
||||
dnl posix -lkse ? Y
|
||||
dnl posix -lpthread ? Y
|
||||
dnl posix -lthr Y
|
||||
dnl FreeBSD 5.3 posix -lc_r Y
|
||||
dnl posix -lkse ? Y
|
||||
dnl posix -lpthread ? Y
|
||||
dnl posix -lthr Y
|
||||
dnl
|
||||
dnl FreeBSD 5.2 posix -lc_r Y
|
||||
dnl posix -lkse Y
|
||||
dnl posix -lthr Y
|
||||
dnl FreeBSD 5.2 posix -lc_r Y
|
||||
dnl posix -lkse Y
|
||||
dnl posix -lthr Y
|
||||
dnl
|
||||
dnl FreeBSD 4.0,4.10 posix -lc_r Y OK
|
||||
dnl FreeBSD 4.0,4.10 posix -lc_r Y OK
|
||||
dnl
|
||||
dnl NetBSD 1.6 --
|
||||
dnl NetBSD 1.6 --
|
||||
dnl
|
||||
dnl OpenBSD 3.4 posix -lpthread Y OK
|
||||
dnl OpenBSD 3.4 posix -lpthread Y OK
|
||||
dnl
|
||||
dnl MacOS X 10.[123] posix -lpthread Y OK
|
||||
dnl Mac OS X 10.[123] posix -lpthread Y OK
|
||||
dnl
|
||||
dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK
|
||||
dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK
|
||||
dnl Solaris 7,8,9 posix -lpthread Y Sol 7,8: 0.0; Sol 9: OK
|
||||
dnl solaris -lthread Y Sol 7,8: 0.0; Sol 9: OK
|
||||
dnl
|
||||
dnl HP-UX 11 posix -lpthread N (cc) OK
|
||||
dnl HP-UX 11 posix -lpthread N (cc) OK
|
||||
dnl Y (gcc)
|
||||
dnl
|
||||
dnl IRIX 6.5 posix -lpthread Y 0.5
|
||||
dnl IRIX 6.5 posix -lpthread Y 0.5
|
||||
dnl
|
||||
dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK
|
||||
dnl AIX 4.3,5.1 posix -lpthread N AIX 4: 0.5; AIX 5: OK
|
||||
dnl
|
||||
dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK
|
||||
dnl OSF/1 4.0,5.1 posix -pthread (cc) N OK
|
||||
dnl -lpthread (gcc) Y
|
||||
dnl
|
||||
dnl Cygwin posix -lpthread Y OK
|
||||
dnl Cygwin posix -lpthread Y OK
|
||||
dnl
|
||||
dnl Any of the above pth -lpth 0.0
|
||||
dnl Any of the above pth -lpth 0.0
|
||||
dnl
|
||||
dnl Mingw win32 N OK
|
||||
dnl Mingw windows N OK
|
||||
dnl
|
||||
dnl BeOS 5 --
|
||||
dnl BeOS 5 --
|
||||
dnl
|
||||
dnl The test-lock result shows what happens if in test-lock.c EXPLICIT_YIELD is
|
||||
dnl turned off:
|
||||
|
|
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