mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-08-02 16:28:14 +02:00
Bash-5.3-alpha release
This commit is contained in:
+1
-1
@@ -1,5 +1,5 @@
|
||||
# codeset.m4 serial 5 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019 Free Software
|
||||
dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2022 Free Software
|
||||
dnl Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
||||
+6
-5
@@ -1,6 +1,6 @@
|
||||
dnl 'extern inline' a la ISO C99.
|
||||
|
||||
dnl Copyright 2012-2019 Free Software Foundation, Inc.
|
||||
dnl Copyright 2012-2022 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,8 @@ AC_DEFUN([gl_EXTERN_INLINE],
|
||||
mishandles inline functions that call each other. E.g., for 'inline void f
|
||||
(void) { } inline void g (void) { f (); }', c99 incorrectly complains
|
||||
'reference to static identifier "f" in extern inline function'.
|
||||
This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
|
||||
This bug was observed with Oracle Developer Studio 12.6
|
||||
(Sun C 5.15 SunOS_sparc 2017/05/30).
|
||||
|
||||
Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
|
||||
on configurations that mistakenly use 'static inline' to implement
|
||||
@@ -32,7 +33,7 @@ AC_DEFUN([gl_EXTERN_INLINE],
|
||||
https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
|
||||
|
||||
DragonFly; see
|
||||
http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log
|
||||
http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log
|
||||
|
||||
FreeBSD; see:
|
||||
https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
|
||||
@@ -83,8 +84,8 @@ AC_DEFUN([gl_EXTERN_INLINE],
|
||||
# define _GL_EXTERN_INLINE extern
|
||||
# define _GL_EXTERN_INLINE_IN_USE
|
||||
#else
|
||||
# define _GL_INLINE static _GL_UNUSED
|
||||
# define _GL_EXTERN_INLINE static _GL_UNUSED
|
||||
# define _GL_INLINE _GL_UNUSED static
|
||||
# define _GL_EXTERN_INLINE _GL_UNUSED static
|
||||
#endif
|
||||
|
||||
/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
|
||||
|
||||
+3
-2
@@ -1,5 +1,5 @@
|
||||
# fcntl-o.m4 serial 6
|
||||
dnl Copyright (C) 2006, 2009-2019 Free Software Foundation, Inc.
|
||||
# fcntl-o.m4 serial 7
|
||||
dnl Copyright (C) 2006, 2009-2022 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,6 +32,7 @@ AC_DEFUN([gl_FCNTL_O_FLAGS],
|
||||
# defined sleep(n) _sleep ((n) * 1000)
|
||||
#endif
|
||||
#include <fcntl.h>
|
||||
]GL_MDA_DEFINES[
|
||||
#ifndef O_NOATIME
|
||||
#define O_NOATIME 0
|
||||
#endif
|
||||
|
||||
+31
-60
@@ -1,36 +1,34 @@
|
||||
# gettext.m4 serial 69 (gettext-0.19.9)
|
||||
dnl Copyright (C) 1995-2014, 2016, 2018-2019, 2021 Free Software Foundation, Inc.
|
||||
# gettext.m4 serial 72 (gettext-0.21.1)
|
||||
dnl Copyright (C) 1995-2014, 2016, 2018-2020 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
dnl the GNU General Public License or the GNU Lesser General Public
|
||||
dnl License but which still want to provide support for the GNU gettext
|
||||
dnl functionality.
|
||||
dnl Please note that the actual code of the GNU gettext library is covered
|
||||
dnl by the GNU Library General Public License, and the rest of the GNU
|
||||
dnl by the GNU Lesser General Public License, and the rest of the GNU
|
||||
dnl gettext package is covered by the GNU General Public License.
|
||||
dnl They are *not* in the public domain.
|
||||
|
||||
dnl Authors:
|
||||
dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
|
||||
dnl Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
|
||||
dnl
|
||||
dnl Modified for bash use by Chet Ramey <chet.ramey@case.edu>, 2021
|
||||
|
||||
dnl Modified for bash use by Chet Ramey <chet.ramey@case.edu>, 2023
|
||||
|
||||
dnl Macro to add for using GNU gettext.
|
||||
|
||||
dnl Usage: BASH_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
|
||||
dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
|
||||
dnl default (if it is not specified or empty) is 'no-libtool'.
|
||||
dnl INTLSYMBOL should be 'external' for packages with no intl directory,
|
||||
dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory.
|
||||
dnl INTLSYMBOL must be one of 'external', 'use-libtool'.
|
||||
dnl INTLSYMBOL should be 'external' for packages other than GNU gettext, and
|
||||
dnl 'use-libtool' for the packages 'gettext-runtime' and 'gettext-tools'.
|
||||
dnl If INTLSYMBOL is 'use-libtool', then a libtool library
|
||||
dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static,
|
||||
dnl depending on --{enable,disable}-{shared,static} and on the presence of
|
||||
dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
|
||||
dnl $(top_builddir)/intl/libintl.a will be created.
|
||||
dnl AM-DISABLE-SHARED).
|
||||
dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
|
||||
dnl implementations (in libc or libintl) without the ngettext() function
|
||||
dnl will be ignored. If NEEDSYMBOL is specified and is
|
||||
@@ -59,22 +57,22 @@ dnl
|
||||
AC_DEFUN([BASH_GNU_GETTEXT],
|
||||
[
|
||||
dnl Argument checking.
|
||||
ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
|
||||
m4_if([$1], [], , [m4_if([$1], [external], , [m4_if([$1], [use-libtool], ,
|
||||
[errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
|
||||
])])])])])
|
||||
ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
|
||||
])])])])
|
||||
m4_if(m4_if([$1], [], [old])[]m4_if([$1], [no-libtool], [old]), [old],
|
||||
[errprint([ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported.
|
||||
])])
|
||||
m4_if([$2], [], , [m4_if([$2], [need-ngettext], , [m4_if([$2], [need-formatstring-macros], ,
|
||||
[errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
|
||||
])])])])
|
||||
define([gt_included_intl],
|
||||
ifelse([$1], [external],
|
||||
ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
|
||||
[yes]))
|
||||
define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
|
||||
m4_if([$1], [external], [no], [yes]))
|
||||
gt_NEEDS_INIT
|
||||
AM_GNU_GETTEXT_NEED([$2])
|
||||
|
||||
AC_REQUIRE([AM_PO_SUBDIRS])dnl
|
||||
ifelse(gt_included_intl, yes, [
|
||||
m4_if(gt_included_intl, yes, [
|
||||
AC_REQUIRE([AM_INTL_SUBDIR])dnl
|
||||
])
|
||||
|
||||
@@ -92,7 +90,7 @@ AC_DEFUN([BASH_GNU_GETTEXT],
|
||||
dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
|
||||
dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
|
||||
dnl Since AC_PROVIDE_IFELSE is not documented, we avoid it.
|
||||
ifelse(gt_included_intl, yes, , [
|
||||
m4_if(gt_included_intl, yes, , [
|
||||
AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
|
||||
])
|
||||
|
||||
@@ -102,7 +100,7 @@ AC_DEFUN([BASH_GNU_GETTEXT],
|
||||
dnl Set USE_NLS.
|
||||
AC_REQUIRE([AM_NLS])
|
||||
|
||||
ifelse(gt_included_intl, yes, [
|
||||
m4_if(gt_included_intl, yes, [
|
||||
BUILD_INCLUDED_LIBINTL=no
|
||||
USE_INCLUDED_LIBINTL=no
|
||||
])
|
||||
@@ -122,7 +120,7 @@ AC_DEFUN([BASH_GNU_GETTEXT],
|
||||
dnl If we use NLS figure out what method
|
||||
if test "$USE_NLS" = "yes"; then
|
||||
gt_use_preinstalled_gnugettext=no
|
||||
ifelse(gt_included_intl, yes, [
|
||||
m4_if(gt_included_intl, yes, [
|
||||
AC_MSG_CHECKING([whether included gettext is requested])
|
||||
AC_ARG_WITH([included-gettext],
|
||||
[ --with-included-gettext use the GNU gettext library included here],
|
||||
@@ -178,7 +176,7 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
|
||||
|
||||
if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
|
||||
dnl Sometimes libintl requires libiconv, so first search for libiconv.
|
||||
ifelse(gt_included_intl, yes, , [
|
||||
m4_if(gt_included_intl, yes, , [
|
||||
AM_ICONV_LINK
|
||||
])
|
||||
dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
|
||||
@@ -265,7 +263,7 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
|
||||
INCINTL=
|
||||
fi
|
||||
|
||||
ifelse(gt_included_intl, yes, [
|
||||
m4_if(gt_included_intl, yes, [
|
||||
if test "$gt_use_preinstalled_gnugettext" != "yes"; then
|
||||
dnl GNU gettext is not found in the C library.
|
||||
dnl Fall back on included GNU gettext library.
|
||||
@@ -277,8 +275,10 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
|
||||
dnl Mark actions used to generate GNU NLS library.
|
||||
BUILD_INCLUDED_LIBINTL=yes
|
||||
USE_INCLUDED_LIBINTL=yes
|
||||
LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
|
||||
LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
|
||||
# LIBINTL="m4_if([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LIBICONV $LIBTHREAD"
|
||||
# we don't build with libtool
|
||||
LIBINTL="m4_if([$3],[],\${top_builddir}/intl,[$3])/libintl.a $LIBICONV $LIBTHREAD"
|
||||
LTLIBINTL="m4_if([$3],[],\${top_builddir}/intl,[$3])/libintl.la $LTLIBICONV $LTLIBTHREAD"
|
||||
LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
|
||||
fi
|
||||
|
||||
@@ -345,44 +345,15 @@ return * gettext ("")$gt_expression_test_code + __GNU_GETTEXT_SYMBOL_EXPRESSION
|
||||
POSUB=po
|
||||
fi
|
||||
|
||||
ifelse(gt_included_intl, yes, [
|
||||
dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
|
||||
dnl to 'yes' because some of the testsuite requires it.
|
||||
if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
|
||||
BUILD_INCLUDED_LIBINTL=yes
|
||||
fi
|
||||
m4_if(gt_included_intl, yes, [
|
||||
dnl In GNU gettext we have to set BUILD_INCLUDED_LIBINTL to 'yes'
|
||||
dnl because some of the testsuite requires it.
|
||||
BUILD_INCLUDED_LIBINTL=yes
|
||||
|
||||
dnl Make all variables we use known to autoconf.
|
||||
AC_SUBST([BUILD_INCLUDED_LIBINTL])
|
||||
AC_SUBST([USE_INCLUDED_LIBINTL])
|
||||
AC_SUBST([CATOBJEXT])
|
||||
|
||||
dnl For backward compatibility. Some configure.ins may be using this.
|
||||
nls_cv_header_intl=
|
||||
nls_cv_header_libgt=
|
||||
|
||||
dnl For backward compatibility. Some Makefiles may be using this.
|
||||
DATADIRNAME=share
|
||||
AC_SUBST([DATADIRNAME])
|
||||
|
||||
dnl For backward compatibility. Some Makefiles may be using this.
|
||||
INSTOBJEXT=.mo
|
||||
AC_SUBST([INSTOBJEXT])
|
||||
|
||||
dnl For backward compatibility. Some Makefiles may be using this.
|
||||
GENCAT=gencat
|
||||
AC_SUBST([GENCAT])
|
||||
|
||||
dnl For backward compatibility. Some Makefiles may be using this.
|
||||
INTLOBJS=
|
||||
if test "$USE_INCLUDED_LIBINTL" = yes; then
|
||||
INTLOBJS="\$(GETTOBJS)"
|
||||
fi
|
||||
AC_SUBST([INTLOBJS])
|
||||
|
||||
dnl Enable libtool support if the surrounding package wishes it.
|
||||
INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
|
||||
AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
|
||||
])
|
||||
|
||||
dnl For backward compatibility. Some Makefiles may be using this.
|
||||
|
||||
+43
-9
@@ -1,5 +1,5 @@
|
||||
# host-cpu-c-abi.m4 serial 11
|
||||
dnl Copyright (C) 2002-2019 Free Software Foundation, Inc.
|
||||
# host-cpu-c-abi.m4 serial 15
|
||||
dnl Copyright (C) 2002-2022 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.
|
||||
@@ -55,7 +55,7 @@ AC_DEFUN([gl_HOST_CPU_C_ABI],
|
||||
[case "$host_cpu" in
|
||||
|
||||
changequote(,)dnl
|
||||
i[4567]86 )
|
||||
i[34567]86 )
|
||||
changequote([,])dnl
|
||||
gl_cv_host_cpu_c_abi=i386
|
||||
;;
|
||||
@@ -211,7 +211,7 @@ changequote([,])dnl
|
||||
# be generating 64-bit code.
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_SOURCE(
|
||||
[[#if defined __powerpc64__ || defined _ARCH_PPC64
|
||||
[[#if defined __powerpc64__ || defined __LP64__
|
||||
int ok;
|
||||
#else
|
||||
error fail
|
||||
@@ -382,6 +382,9 @@ EOF
|
||||
#ifndef __ia64__
|
||||
#undef __ia64__
|
||||
#endif
|
||||
#ifndef __loongarch64__
|
||||
#undef __loongarch64__
|
||||
#endif
|
||||
#ifndef __m68k__
|
||||
#undef __m68k__
|
||||
#endif
|
||||
@@ -457,7 +460,8 @@ EOF
|
||||
|
||||
|
||||
dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI
|
||||
dnl (application binary interface) is a 32-bit one, or to 'no' otherwise.
|
||||
dnl (application binary interface) is a 32-bit one, to 'no' if it is a 64-bit
|
||||
dnl one, or to 'unknown' if unknown.
|
||||
dnl This is a simplified variant of gl_HOST_CPU_C_ABI.
|
||||
AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT],
|
||||
[
|
||||
@@ -467,14 +471,44 @@ AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT],
|
||||
case "$gl_cv_host_cpu_c_abi" in
|
||||
i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc)
|
||||
gl_cv_host_cpu_c_abi_32bit=yes ;;
|
||||
*)
|
||||
x86_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 )
|
||||
gl_cv_host_cpu_c_abi_32bit=no ;;
|
||||
*)
|
||||
gl_cv_host_cpu_c_abi_32bit=unknown ;;
|
||||
esac
|
||||
else
|
||||
case "$host_cpu" in
|
||||
|
||||
# CPUs that only support a 32-bit ABI.
|
||||
arc \
|
||||
| bfin \
|
||||
| cris* \
|
||||
| csky \
|
||||
| epiphany \
|
||||
| ft32 \
|
||||
| h8300 \
|
||||
| m68k \
|
||||
| microblaze | microblazeel \
|
||||
| nds32 | nds32le | nds32be \
|
||||
| nios2 | nios2eb | nios2el \
|
||||
| or1k* \
|
||||
| or32 \
|
||||
| sh | sh[1234] | sh[1234]e[lb] \
|
||||
| tic6x \
|
||||
| xtensa* )
|
||||
gl_cv_host_cpu_c_abi_32bit=yes
|
||||
;;
|
||||
|
||||
# CPUs that only support a 64-bit ABI.
|
||||
changequote(,)dnl
|
||||
i[4567]86 )
|
||||
alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \
|
||||
| mmix )
|
||||
changequote([,])dnl
|
||||
gl_cv_host_cpu_c_abi_32bit=no
|
||||
;;
|
||||
|
||||
changequote(,)dnl
|
||||
i[34567]86 )
|
||||
changequote([,])dnl
|
||||
gl_cv_host_cpu_c_abi_32bit=yes
|
||||
;;
|
||||
@@ -574,7 +608,7 @@ changequote([,])dnl
|
||||
# be generating 64-bit code.
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_SOURCE(
|
||||
[[#if defined __powerpc64__ || defined _ARCH_PPC64
|
||||
[[#if defined __powerpc64__ || defined __LP64__
|
||||
int ok;
|
||||
#else
|
||||
error fail
|
||||
@@ -634,7 +668,7 @@ changequote([,])dnl
|
||||
;;
|
||||
|
||||
*)
|
||||
gl_cv_host_cpu_c_abi_32bit=no
|
||||
gl_cv_host_cpu_c_abi_32bit=unknown
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
+31
-36
@@ -1,5 +1,5 @@
|
||||
# iconv.m4 serial 21
|
||||
dnl Copyright (C) 2000-2002, 2007-2014, 2016-2019 Free Software Foundation,
|
||||
# iconv.m4 serial 24
|
||||
dnl Copyright (C) 2000-2002, 2007-2014, 2016-2022 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,6 +7,12 @@ dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
dnl From Bruno Haible.
|
||||
|
||||
AC_PREREQ([2.64])
|
||||
|
||||
dnl Note: AM_ICONV is documented in the GNU gettext manual
|
||||
dnl <https://www.gnu.org/software/gettext/manual/html_node/AM_005fICONV.html>.
|
||||
dnl Don't make changes that are incompatible with that documentation!
|
||||
|
||||
AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
|
||||
[
|
||||
dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
|
||||
@@ -86,8 +92,9 @@ AC_DEFUN([AM_ICONV_LINK],
|
||||
#endif
|
||||
]],
|
||||
[[int result = 0;
|
||||
/* Test against AIX 5.1 bug: Failures are not distinguishable from successful
|
||||
returns. */
|
||||
/* Test against AIX 5.1...7.2 bug: Failures are not distinguishable from
|
||||
successful returns. This is even documented in
|
||||
<https://www.ibm.com/support/knowledgecenter/ssw_aix_72/i_bostechref/iconv.html> */
|
||||
{
|
||||
iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
|
||||
if (cd_utf8_to_88591 != (iconv_t)(-1))
|
||||
@@ -225,8 +232,7 @@ AC_DEFUN([AM_ICONV_LINK],
|
||||
AC_SUBST([LTLIBICONV])
|
||||
])
|
||||
|
||||
dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
|
||||
dnl avoid warnings like
|
||||
dnl Define AM_ICONV using AC_DEFUN_ONCE, in order to avoid warnings like
|
||||
dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
|
||||
dnl This is tricky because of the way 'aclocal' is implemented:
|
||||
dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
|
||||
@@ -234,54 +240,43 @@ dnl Otherwise aclocal's initial scan pass would miss the macro definition.
|
||||
dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
|
||||
dnl Otherwise aclocal would emit many "Use of uninitialized value $1"
|
||||
dnl warnings.
|
||||
m4_define([gl_iconv_AC_DEFUN],
|
||||
m4_version_prereq([2.64],
|
||||
[[AC_DEFUN_ONCE(
|
||||
[$1], [$2])]],
|
||||
[m4_ifdef([gl_00GNULIB],
|
||||
[[AC_DEFUN_ONCE(
|
||||
[$1], [$2])]],
|
||||
[[AC_DEFUN(
|
||||
[$1], [$2])]])]))
|
||||
gl_iconv_AC_DEFUN([AM_ICONV],
|
||||
AC_DEFUN_ONCE([AM_ICONV],
|
||||
[
|
||||
AM_ICONV_LINK
|
||||
if test "$am_cv_func_iconv" = yes; then
|
||||
AC_MSG_CHECKING([for iconv declaration])
|
||||
AC_CACHE_VAL([am_cv_proto_iconv], [
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[
|
||||
AC_CACHE_CHECK([whether iconv is compatible with its POSIX signature],
|
||||
[gl_cv_iconv_nonconst],
|
||||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[
|
||||
#include <stdlib.h>
|
||||
#include <iconv.h>
|
||||
extern
|
||||
#ifdef __cplusplus
|
||||
"C"
|
||||
#endif
|
||||
#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
|
||||
size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
|
||||
#else
|
||||
size_t iconv();
|
||||
#endif
|
||||
]],
|
||||
[[]])],
|
||||
[am_cv_proto_iconv_arg1=""],
|
||||
[am_cv_proto_iconv_arg1="const"])
|
||||
am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
|
||||
am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
|
||||
AC_MSG_RESULT([
|
||||
$am_cv_proto_iconv])
|
||||
]],
|
||||
[[]])],
|
||||
[gl_cv_iconv_nonconst=yes],
|
||||
[gl_cv_iconv_nonconst=no])
|
||||
])
|
||||
else
|
||||
dnl When compiling GNU libiconv on a system that does not have iconv yet,
|
||||
dnl pick the POSIX compliant declaration without 'const'.
|
||||
am_cv_proto_iconv_arg1=""
|
||||
gl_cv_iconv_nonconst=yes
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
|
||||
if test $gl_cv_iconv_nonconst = yes; then
|
||||
iconv_arg1=""
|
||||
else
|
||||
iconv_arg1="const"
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED([ICONV_CONST], [$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
|
||||
if test $gl_cv_iconv_nonconst != yes; then
|
||||
ICONV_CONST="const"
|
||||
fi
|
||||
])
|
||||
|
||||
+12
-9
@@ -1,5 +1,5 @@
|
||||
# intdiv0.m4 serial 6 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2002, 2007-2008, 2010-2019 Free Software Foundation, Inc.
|
||||
# intdiv0.m4 serial 9 (gettext-0.21.1)
|
||||
dnl Copyright (C) 2002, 2007-2008, 2010-2020 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,7 +12,7 @@ AC_DEFUN([gt_INTDIV0],
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])dnl
|
||||
|
||||
AC_CACHE_CHECK([whether integer division by zero raises SIGFPE],
|
||||
gt_cv_int_divbyzero_sigfpe,
|
||||
[gt_cv_int_divbyzero_sigfpe],
|
||||
[
|
||||
gt_cv_int_divbyzero_sigfpe=
|
||||
changequote(,)dnl
|
||||
@@ -31,20 +31,23 @@ changequote([,])dnl
|
||||
if test -z "$gt_cv_int_divbyzero_sigfpe"; then
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <stdlib.h>
|
||||
#include <stdlib.h> /* for exit() */
|
||||
#include <signal.h>
|
||||
#if !(defined _WIN32 && !defined __CYGWIN__)
|
||||
#include <unistd.h> /* for _exit() */
|
||||
#endif
|
||||
|
||||
static void
|
||||
sigfpe_handler (int sig)
|
||||
{
|
||||
/* Exit with code 0 if SIGFPE, with code 1 if any other signal. */
|
||||
exit (sig != SIGFPE);
|
||||
_exit (sig != SIGFPE);
|
||||
}
|
||||
|
||||
int x = 1;
|
||||
int y = 0;
|
||||
int z;
|
||||
int xnan;
|
||||
int inan;
|
||||
|
||||
int main ()
|
||||
{
|
||||
@@ -59,7 +62,7 @@ int main ()
|
||||
#endif
|
||||
|
||||
z = x / y;
|
||||
xnan = y / y;
|
||||
inan = y / y;
|
||||
exit (2);
|
||||
}
|
||||
]])],
|
||||
@@ -79,8 +82,8 @@ changequote([,])dnl
|
||||
fi
|
||||
])
|
||||
case "$gt_cv_int_divbyzero_sigfpe" in
|
||||
*yes) value=1;;
|
||||
*) value=0;;
|
||||
*yes) value=1 ;;
|
||||
*) value=0 ;;
|
||||
esac
|
||||
AC_DEFINE_UNQUOTED([INTDIV0_RAISES_SIGFPE], [$value],
|
||||
[Define if integer division by zero raises signal SIGFPE.])
|
||||
|
||||
+57
-21
@@ -1,15 +1,15 @@
|
||||
# intl-thread-locale.m4 serial 4
|
||||
dnl Copyright (C) 2015-2019 Free Software Foundation, Inc.
|
||||
# intl-thread-locale.m4 serial 9
|
||||
dnl Copyright (C) 2015-2022 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
dnl the GNU General Public License or the GNU Lesser General Public
|
||||
dnl License but which still want to provide support for the GNU gettext
|
||||
dnl functionality.
|
||||
dnl Please note that the actual code of the GNU gettext library is covered
|
||||
dnl by the GNU Library General Public License, and the rest of the GNU
|
||||
dnl by the GNU Lesser General Public License, and the rest of the GNU
|
||||
dnl gettext package is covered by the GNU General Public License.
|
||||
dnl They are *not* in the public domain.
|
||||
|
||||
@@ -17,7 +17,7 @@ dnl Check how to retrieve the name of a per-thread locale (POSIX locale_t).
|
||||
dnl Sets gt_nameless_locales.
|
||||
AC_DEFUN([gt_INTL_THREAD_LOCALE_NAME],
|
||||
[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
|
||||
dnl Persuade Solaris <locale.h> to define 'locale_t'.
|
||||
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
|
||||
@@ -72,9 +72,13 @@ int main ()
|
||||
esac
|
||||
case "$gt_cv_locale_fake" in
|
||||
*yes)
|
||||
gt_fake_locales=yes
|
||||
AC_DEFINE([HAVE_FAKE_LOCALES], [1],
|
||||
[Define if the locale_t type contains insufficient information, as on OpenBSD.])
|
||||
;;
|
||||
*)
|
||||
gt_fake_locales=no
|
||||
;;
|
||||
esac
|
||||
|
||||
case "$gt_cv_func_uselocale_works" in
|
||||
@@ -119,33 +123,60 @@ int main ()
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl This code is for future use, in case we some day have to port to a
|
||||
dnl platform where the locale_t type does not provide access to the name of
|
||||
dnl each locale category. This code has the drawback that it requires the
|
||||
dnl gnulib overrides of 'newlocale', 'duplocale', 'freelocale', which is a
|
||||
dnl problem for GNU libunistring. Therefore try hard to avoid enabling this
|
||||
dnl code!
|
||||
dnl This code is for platforms where the locale_t type does not provide access
|
||||
dnl to the name of each locale category. This code has the drawback that it
|
||||
dnl requires the gnulib overrides of 'newlocale', 'duplocale', 'freelocale',
|
||||
dnl which is a problem for GNU libunistring. Therefore try hard to avoid
|
||||
dnl enabling this code!
|
||||
gt_nameless_locales=no
|
||||
if false; then
|
||||
gt_nameless_locales=yes
|
||||
AC_DEFINE([HAVE_NAMELESS_LOCALES], [1],
|
||||
[Define if the locale_t type does not contain the name of each locale category.])
|
||||
case "$host_os" in
|
||||
dnl It's needed on AIX 7.2.
|
||||
aix*)
|
||||
gt_nameless_locales=yes
|
||||
AC_DEFINE([HAVE_NAMELESS_LOCALES], [1],
|
||||
[Define if the locale_t type does not contain the name of each locale category.])
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl We cannot support uselocale() on platforms where the locale_t type is
|
||||
dnl fake. So, set
|
||||
dnl gt_good_uselocale = gt_working_uselocale && !gt_fake_locales.
|
||||
if test $gt_working_uselocale = yes && test $gt_fake_locales = no; then
|
||||
gt_good_uselocale=yes
|
||||
AC_DEFINE([HAVE_GOOD_USELOCALE], [1],
|
||||
[Define if the uselocale exists, may be safely called, and returns sufficient information.])
|
||||
else
|
||||
gt_good_uselocale=no
|
||||
fi
|
||||
|
||||
dnl Set gt_localename_enhances_locale_funcs to indicate whether localename.c
|
||||
dnl overrides newlocale(), duplocale(), freelocale() to keep track of locale
|
||||
dnl names.
|
||||
if test $gt_good_uselocale = yes && test $gt_nameless_locales = yes; then
|
||||
gt_localename_enhances_locale_funcs=yes
|
||||
LOCALENAME_ENHANCE_LOCALE_FUNCS=1
|
||||
AC_DEFINE([LOCALENAME_ENHANCE_LOCALE_FUNCS], [1],
|
||||
[Define if localename.c overrides newlocale(), duplocale(), freelocale().])
|
||||
else
|
||||
gt_localename_enhances_locale_funcs=no
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Tests whether uselocale() exists and is usable.
|
||||
dnl Sets gt_cv_func_uselocale_works. Defines HAVE_WORKING_USELOCALE.
|
||||
dnl Sets gt_working_uselocale and defines HAVE_WORKING_USELOCALE.
|
||||
AC_DEFUN([gt_FUNC_USELOCALE],
|
||||
[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
|
||||
dnl Persuade Solaris <locale.h> to define 'locale_t'.
|
||||
dnl Persuade glibc and Solaris <locale.h> to define 'locale_t'.
|
||||
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
|
||||
|
||||
AC_CHECK_FUNCS_ONCE([uselocale])
|
||||
|
||||
dnl On AIX 7.2, the uselocale() function is not documented and leads to
|
||||
dnl crashes in subsequent setlocale() invocations.
|
||||
dnl In 2019, some versions of z/OS lack the locale_t type and have a broken
|
||||
dnl uselocale function.
|
||||
if test $ac_cv_func_uselocale = yes; then
|
||||
AC_CHECK_HEADERS_ONCE([xlocale.h])
|
||||
AC_CACHE_CHECK([whether uselocale works],
|
||||
@@ -156,6 +187,7 @@ AC_DEFUN([gt_FUNC_USELOCALE],
|
||||
#if HAVE_XLOCALE_H
|
||||
# include <xlocale.h>
|
||||
#endif
|
||||
locale_t loc1;
|
||||
int main ()
|
||||
{
|
||||
uselocale (NULL);
|
||||
@@ -164,10 +196,10 @@ int main ()
|
||||
}]])],
|
||||
[gt_cv_func_uselocale_works=yes],
|
||||
[gt_cv_func_uselocale_works=no],
|
||||
[# Guess no on AIX, yes otherwise.
|
||||
[# Guess no on AIX and z/OS, yes otherwise.
|
||||
case "$host_os" in
|
||||
aix*) gt_cv_func_uselocale_works="guessing no" ;;
|
||||
*) gt_cv_func_uselocale_works="guessing yes" ;;
|
||||
aix* | openedition*) gt_cv_func_uselocale_works="guessing no" ;;
|
||||
*) gt_cv_func_uselocale_works="guessing yes" ;;
|
||||
esac
|
||||
])
|
||||
])
|
||||
@@ -176,8 +208,12 @@ int main ()
|
||||
fi
|
||||
case "$gt_cv_func_uselocale_works" in
|
||||
*yes)
|
||||
gt_working_uselocale=yes
|
||||
AC_DEFINE([HAVE_WORKING_USELOCALE], [1],
|
||||
[Define if the uselocale function exists any may safely be called.])
|
||||
[Define if the uselocale function exists and may safely be called.])
|
||||
;;
|
||||
*)
|
||||
gt_working_uselocale=no
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
+24
-41
@@ -1,15 +1,15 @@
|
||||
# intl.m4 serial 34 (gettext-0.19.9)
|
||||
dnl Copyright (C) 1995-2014, 2016-2019 Free Software Foundation, Inc.
|
||||
# intl.m4 serial 51 (gettext-0.21.1)
|
||||
dnl Copyright (C) 1995-2014, 2016-2021 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
dnl the GNU General Public License or the GNU Lesser General Public
|
||||
dnl License but which still want to provide support for the GNU gettext
|
||||
dnl functionality.
|
||||
dnl Please note that the actual code of the GNU gettext library is covered
|
||||
dnl by the GNU Library General Public License, and the rest of the GNU
|
||||
dnl by the GNU Lesser General Public License, and the rest of the GNU
|
||||
dnl gettext package is covered by the GNU General Public License.
|
||||
dnl They are *not* in the public domain.
|
||||
|
||||
@@ -20,8 +20,7 @@ dnl Bruno Haible <haible@clisp.cons.org>, 2000-2009.
|
||||
AC_PREREQ([2.60])
|
||||
|
||||
dnl Checks for all prerequisites of the intl subdirectory,
|
||||
dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS,
|
||||
dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
|
||||
dnl except for LIBTOOL, USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL.
|
||||
AC_DEFUN([AM_INTL_SUBDIR],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_INSTALL])dnl
|
||||
@@ -37,10 +36,14 @@ AC_DEFUN([AM_INTL_SUBDIR],
|
||||
AC_REQUIRE([gl_AC_HEADER_INTTYPES_H])
|
||||
AC_REQUIRE([gt_TYPE_INTMAX_T])
|
||||
AC_REQUIRE([gt_PRINTF_POSIX])
|
||||
AC_REQUIRE([gl_GLIBC21])dnl
|
||||
AC_REQUIRE([gl_XSIZE])dnl
|
||||
AC_REQUIRE([gl_FCNTL_O_FLAGS])dnl
|
||||
|
||||
dnl Make sure LOCALENAME_ENHANCE_LOCALE_FUNCS gets initialized to 0 before,
|
||||
dnl not after, it has been set to 1 by gt_INTL_THREAD_LOCALE_NAME.
|
||||
AC_REQUIRE([gl_LOCALE_H_DEFAULTS])
|
||||
AC_REQUIRE([gt_INTL_THREAD_LOCALE_NAME])
|
||||
|
||||
AC_REQUIRE([gt_INTL_MACOSX])dnl
|
||||
AC_REQUIRE([gl_EXTERN_INLINE])dnl
|
||||
AC_REQUIRE([gt_GL_ATTRIBUTE])dnl
|
||||
@@ -74,7 +77,7 @@ AC_DEFUN([AM_INTL_SUBDIR],
|
||||
[Define as the type of the result of subtracting two pointers, if the system doesn't define it.])
|
||||
])
|
||||
AC_CHECK_HEADERS([features.h stddef.h stdlib.h string.h])
|
||||
AC_CHECK_FUNCS([asprintf fwprintf newlocale putenv setenv setlocale \
|
||||
AC_CHECK_FUNCS([asprintf wprintf newlocale putenv setenv \
|
||||
snprintf strnlen uselocale wcslen wcsnlen mbrtowc wcrtomb])
|
||||
|
||||
dnl Use the _snprintf function only if it is declared (because on NetBSD it
|
||||
@@ -89,7 +92,7 @@ AC_DEFUN([AM_INTL_SUBDIR],
|
||||
|
||||
case $gt_cv_func_printf_posix in
|
||||
*yes) HAVE_POSIX_PRINTF=1 ;;
|
||||
*) HAVE_POSIX_PRINTF=0 ;;
|
||||
*) HAVE_POSIX_PRINTF=0 ;;
|
||||
esac
|
||||
AC_SUBST([HAVE_POSIX_PRINTF])
|
||||
if test "$ac_cv_func_asprintf" = yes; then
|
||||
@@ -120,12 +123,12 @@ AC_DEFUN([AM_INTL_SUBDIR],
|
||||
AM_LANGINFO_CODESET
|
||||
gt_LC_MESSAGES
|
||||
|
||||
if test $gt_nameless_locales = yes; then
|
||||
HAVE_NAMELESS_LOCALES=1
|
||||
if test $gt_localename_enhances_locale_funcs = yes; then
|
||||
ENHANCE_LOCALE_FUNCS=1
|
||||
else
|
||||
HAVE_NAMELESS_LOCALES=0
|
||||
ENHANCE_LOCALE_FUNCS=0
|
||||
fi
|
||||
AC_SUBST([HAVE_NAMELESS_LOCALES])
|
||||
AC_SUBST([ENHANCE_LOCALE_FUNCS])
|
||||
|
||||
dnl Compilation on mingw and Cygwin needs special Makefile rules, because
|
||||
dnl 1. when we install a shared library, we must arrange to export
|
||||
@@ -228,7 +231,6 @@ AC_DEFUN([gt_INTL_SUBDIR_CORE],
|
||||
AC_REQUIRE([AC_FUNC_MMAP])dnl
|
||||
AC_REQUIRE([gt_INTDIV0])dnl
|
||||
AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])dnl
|
||||
AC_REQUIRE([gt_INTTYPES_PRI])dnl
|
||||
AC_REQUIRE([gl_LOCK])dnl
|
||||
|
||||
AC_LINK_IFELSE(
|
||||
@@ -238,13 +240,9 @@ AC_DEFUN([gt_INTL_SUBDIR_CORE],
|
||||
[AC_DEFINE([HAVE_BUILTIN_EXPECT], [1],
|
||||
[Define to 1 if the compiler understands __builtin_expect.])])
|
||||
|
||||
AC_CHECK_HEADERS([argz.h inttypes.h limits.h unistd.h sys/param.h])
|
||||
AC_CHECK_HEADERS([inttypes.h unistd.h sys/param.h])
|
||||
AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \
|
||||
stpcpy strcasecmp strdup strtoul tsearch argz_count argz_stringify \
|
||||
argz_next __fsetlocking])
|
||||
|
||||
dnl ADDED FOR BASH
|
||||
AC_CHECK_FUNCS([localeconv])
|
||||
stpcpy strcasecmp tsearch __fsetlocking])
|
||||
|
||||
dnl Use the *_unlocked functions only if they are declared.
|
||||
dnl (because some of them were defined without being declared in Solaris
|
||||
@@ -254,35 +252,20 @@ AC_DEFUN([gt_INTL_SUBDIR_CORE],
|
||||
|
||||
AM_ICONV
|
||||
|
||||
dnl ADDED FOR BASH
|
||||
AC_CHECK_FUNCS([localeconv])
|
||||
|
||||
dnl intl/plural.c is generated from intl/plural.y. It requires bison,
|
||||
dnl because plural.y uses bison specific features. It requires at least
|
||||
dnl bison-2.7 for %define api.pure.
|
||||
dnl bison-3.0 for %precedence.
|
||||
dnl bison is only needed for the maintainer (who touches plural.y). But in
|
||||
dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put
|
||||
dnl the rule in general Makefile. Now, some people carelessly touch the
|
||||
dnl files or have a broken "make" program, hence the plural.c rule will
|
||||
dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not
|
||||
dnl present or too old.
|
||||
AC_CHECK_PROGS([INTLBISON], [bison])
|
||||
if test -z "$INTLBISON"; then
|
||||
ac_verc_fail=yes
|
||||
else
|
||||
dnl Found it, now check the version.
|
||||
AC_MSG_CHECKING([version of bison])
|
||||
changequote(<<,>>)dnl
|
||||
ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
2.[7-9]* | [3-9].*)
|
||||
changequote([,])dnl
|
||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
||||
esac
|
||||
AC_MSG_RESULT([$ac_prog_version])
|
||||
fi
|
||||
if test $ac_verc_fail = yes; then
|
||||
INTLBISON=:
|
||||
fi
|
||||
gl_PROG_BISON([INTLBISON], [3.0])
|
||||
AC_SUBST(INTLBISON)
|
||||
])
|
||||
|
||||
dnl Copies _GL_UNUSED and _GL_ATTRIBUTE_PURE definitions from
|
||||
|
||||
+13
-20
@@ -1,15 +1,15 @@
|
||||
# intlmacosx.m4 serial 6 (gettext-0.19.9)
|
||||
dnl Copyright (C) 2004-2014, 2016, 2019 Free Software Foundation, Inc.
|
||||
# intlmacosx.m4 serial 8 (gettext-0.20.2)
|
||||
dnl Copyright (C) 2004-2014, 2016, 2019-2022 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
dnl the GNU General Public License or the GNU Lesser General Public
|
||||
dnl License but which still want to provide support for the GNU gettext
|
||||
dnl functionality.
|
||||
dnl Please note that the actual code of the GNU gettext library is covered
|
||||
dnl by the GNU Library General Public License, and the rest of the GNU
|
||||
dnl by the GNU Lesser General Public License, and the rest of the GNU
|
||||
dnl gettext package is covered by the GNU General Public License.
|
||||
dnl They are *not* in the public domain.
|
||||
|
||||
@@ -33,21 +33,15 @@ AC_DEFUN([gt_INTL_MACOSX],
|
||||
AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1],
|
||||
[Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in the CoreFoundation framework.])
|
||||
fi
|
||||
dnl Check for API introduced in Mac OS X 10.5.
|
||||
AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent],
|
||||
[gt_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <CoreFoundation/CFLocale.h>]],
|
||||
[[CFLocaleCopyCurrent();]])],
|
||||
[gt_cv_func_CFLocaleCopyCurrent=yes],
|
||||
[gt_cv_func_CFLocaleCopyCurrent=no])
|
||||
LIBS="$gt_save_LIBS"])
|
||||
if test $gt_cv_func_CFLocaleCopyCurrent = yes; then
|
||||
AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1],
|
||||
[Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the CoreFoundation framework.])
|
||||
fi
|
||||
dnl Don't check for the API introduced in Mac OS X 10.5, CFLocaleCopyCurrent,
|
||||
dnl because in macOS 10.13.4 it has the following behaviour:
|
||||
dnl When two or more languages are specified in the
|
||||
dnl "System Preferences > Language & Region > Preferred Languages" panel,
|
||||
dnl it returns en_CC where CC is the territory (even when English is not among
|
||||
dnl the preferred languages!). What we want instead is what
|
||||
dnl CFLocaleCopyCurrent returned in earlier macOS releases and what
|
||||
dnl CFPreferencesCopyAppValue still returns, namely ll_CC where ll is the
|
||||
dnl first among the preferred languages and CC is the territory.
|
||||
AC_CACHE_CHECK([for CFLocaleCopyPreferredLanguages], [gt_cv_func_CFLocaleCopyPreferredLanguages],
|
||||
[gt_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation"
|
||||
@@ -64,7 +58,6 @@ AC_DEFUN([gt_INTL_MACOSX],
|
||||
fi
|
||||
INTL_MACOSX_LIBS=
|
||||
if test $gt_cv_func_CFPreferencesCopyAppValue = yes \
|
||||
|| test $gt_cv_func_CFLocaleCopyCurrent = yes \
|
||||
|| test $gt_cv_func_CFLocaleCopyPreferredLanguages = yes; then
|
||||
INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation"
|
||||
fi
|
||||
|
||||
+39
-18
@@ -1,5 +1,5 @@
|
||||
# inttypes.m4 serial 27
|
||||
dnl Copyright (C) 2006-2019 Free Software Foundation, Inc.
|
||||
# inttypes.m4 serial 36
|
||||
dnl Copyright (C) 2006-2022 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 Derek Price, Bruno Haible.
|
||||
dnl Test whether <inttypes.h> is supported or must be substituted.
|
||||
|
||||
AC_DEFUN([gl_INTTYPES_H],
|
||||
AC_DEFUN_ONCE([gl_INTTYPES_H],
|
||||
[
|
||||
AC_REQUIRE([gl_INTTYPES_INCOMPLETE])
|
||||
gl_INTTYPES_PRI_SCN
|
||||
@@ -28,17 +28,26 @@ AC_DEFUN_ONCE([gl_INTTYPES_INCOMPLETE],
|
||||
dnl corresponding gnulib module is not in use.
|
||||
gl_WARN_ON_USE_PREPARE([[#include <inttypes.h>
|
||||
]], [imaxabs imaxdiv strtoimax strtoumax])
|
||||
|
||||
AC_REQUIRE([AC_C_RESTRICT])
|
||||
])
|
||||
|
||||
# Ensure that the PRI* and SCN* macros are defined appropriately.
|
||||
AC_DEFUN([gl_INTTYPES_PRI_SCN],
|
||||
[
|
||||
AC_REQUIRE([gt_INTTYPES_PRI])
|
||||
|
||||
PRIPTR_PREFIX=
|
||||
if test -n "$STDINT_H"; then
|
||||
dnl Using the gnulib <stdint.h>. It always defines intptr_t to 'long'.
|
||||
PRIPTR_PREFIX='"l"'
|
||||
if $GL_GENERATE_STDINT_H; then
|
||||
dnl Using the gnulib <stdint.h>. It defines intptr_t to 'long' or
|
||||
dnl 'long long', depending on _WIN64.
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM([[
|
||||
#ifdef _WIN64
|
||||
LLP64
|
||||
#endif
|
||||
]])
|
||||
],
|
||||
[PRIPTR_PREFIX='"l"'],
|
||||
[PRIPTR_PREFIX='"ll"'])
|
||||
else
|
||||
dnl Using the system's <stdint.h>.
|
||||
for glpfx in '' l ll I64; do
|
||||
@@ -113,10 +122,8 @@ AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION],
|
||||
|
||||
#if $2
|
||||
#define CONDITION ($3)
|
||||
#elif HAVE_LONG_LONG_INT
|
||||
#define CONDITION ($4)
|
||||
#else
|
||||
#define CONDITION 0
|
||||
#define CONDITION ($4)
|
||||
#endif
|
||||
int test[CONDITION ? 1 : -1];]])],
|
||||
[gl_cv_test_$1=yes],
|
||||
@@ -129,19 +136,34 @@ AC_DEFUN([gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION],
|
||||
AC_SUBST([$1])
|
||||
])
|
||||
|
||||
# gl_INTTYPES_MODULE_INDICATOR([modulename])
|
||||
# sets the shell variable that indicates the presence of the given module
|
||||
# to a C preprocessor expression that will evaluate to 1.
|
||||
# This macro invocation must not occur in macros that are AC_REQUIREd.
|
||||
AC_DEFUN([gl_INTTYPES_MODULE_INDICATOR],
|
||||
[
|
||||
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
|
||||
AC_REQUIRE([gl_INTTYPES_H_DEFAULTS])
|
||||
dnl Ensure to expand the default settings once only.
|
||||
gl_INTTYPES_H_REQUIRE_DEFAULTS
|
||||
gl_MODULE_INDICATOR_SET_VARIABLE([$1])
|
||||
])
|
||||
|
||||
# Initializes the default values for AC_SUBSTed shell variables.
|
||||
# This macro must not be AC_REQUIREd. It must only be invoked, and only
|
||||
# outside of macros or in macros that are not AC_REQUIREd.
|
||||
AC_DEFUN([gl_INTTYPES_H_REQUIRE_DEFAULTS],
|
||||
[
|
||||
m4_defun(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULTS], [
|
||||
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXABS])
|
||||
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_IMAXDIV])
|
||||
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOIMAX])
|
||||
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRTOUMAX])
|
||||
])
|
||||
m4_require(GL_MODULE_INDICATOR_PREFIX[_INTTYPES_H_MODULE_INDICATOR_DEFAULTS])
|
||||
AC_REQUIRE([gl_INTTYPES_H_DEFAULTS])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_INTTYPES_H_DEFAULTS],
|
||||
[
|
||||
GNULIB_IMAXABS=0; AC_SUBST([GNULIB_IMAXABS])
|
||||
GNULIB_IMAXDIV=0; AC_SUBST([GNULIB_IMAXDIV])
|
||||
GNULIB_STRTOIMAX=0; AC_SUBST([GNULIB_STRTOIMAX])
|
||||
GNULIB_STRTOUMAX=0; AC_SUBST([GNULIB_STRTOUMAX])
|
||||
dnl Assume proper GNU behavior unless another module says otherwise.
|
||||
HAVE_DECL_IMAXABS=1; AC_SUBST([HAVE_DECL_IMAXABS])
|
||||
HAVE_DECL_IMAXDIV=1; AC_SUBST([HAVE_DECL_IMAXDIV])
|
||||
@@ -152,7 +174,6 @@ AC_DEFUN([gl_INTTYPES_H_DEFAULTS],
|
||||
REPLACE_STRTOUMAX=0; AC_SUBST([REPLACE_STRTOUMAX])
|
||||
INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX])
|
||||
INT64_MAX_EQ_LONG_MAX='defined _LP64'; AC_SUBST([INT64_MAX_EQ_LONG_MAX])
|
||||
PRI_MACROS_BROKEN=0; AC_SUBST([PRI_MACROS_BROKEN])
|
||||
PRIPTR_PREFIX=__PRIPTR_PREFIX; AC_SUBST([PRIPTR_PREFIX])
|
||||
UINT32_MAX_LT_UINTMAX_MAX=1; AC_SUBST([UINT32_MAX_LT_UINTMAX_MAX])
|
||||
UINT64_MAX_EQ_ULONG_MAX='defined _LP64'; AC_SUBST([UINT64_MAX_EQ_ULONG_MAX])
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
# inttypes_h.m4 serial 10
|
||||
dnl Copyright (C) 1997-2004, 2006, 2008-2019 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 1997-2004, 2006, 2008-2022 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.
|
||||
|
||||
+5
-5
@@ -1,16 +1,16 @@
|
||||
# lcmessage.m4 serial 7 (gettext-0.18.2)
|
||||
dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014, 2016, 2019 Free Software
|
||||
dnl Foundation, Inc.
|
||||
# lcmessage.m4 serial 8
|
||||
dnl Copyright (C) 1995-2002, 2004-2005, 2008-2014, 2016, 2019-2022 Free
|
||||
dnl Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
dnl the GNU General Public License or the GNU Lesser General Public
|
||||
dnl License but which still want to provide support for the GNU gettext
|
||||
dnl functionality.
|
||||
dnl Please note that the actual code of the GNU gettext library is covered
|
||||
dnl by the GNU Library General Public License, and the rest of the GNU
|
||||
dnl by the GNU Lesser General Public License, and the rest of the GNU
|
||||
dnl gettext package is covered by the GNU General Public License.
|
||||
dnl They are *not* in the public domain.
|
||||
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
# lib-ld.m4 serial 9
|
||||
dnl Copyright (C) 1996-2003, 2009-2019 Free Software Foundation, Inc.
|
||||
# lib-ld.m4 serial 10
|
||||
dnl Copyright (C) 1996-2003, 2009-2022 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.
|
||||
@@ -122,7 +122,7 @@ else
|
||||
*-*-aix*)
|
||||
AC_COMPILE_IFELSE(
|
||||
[AC_LANG_SOURCE(
|
||||
[[#if defined __powerpc64__ || defined _ARCH_PPC64
|
||||
[[#if defined __powerpc64__ || defined __LP64__
|
||||
int ok;
|
||||
#else
|
||||
error fail
|
||||
|
||||
+118
-79
@@ -1,5 +1,5 @@
|
||||
# lib-link.m4 serial 28
|
||||
dnl Copyright (C) 2001-2019 Free Software Foundation, Inc.
|
||||
# lib-link.m4 serial 33
|
||||
dnl Copyright (C) 2001-2022 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.
|
||||
@@ -192,10 +192,12 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
AC_LIB_WITH_FINAL_PREFIX([
|
||||
eval additional_includedir=\"$includedir\"
|
||||
eval additional_libdir=\"$libdir\"
|
||||
eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
|
||||
eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
|
||||
])
|
||||
AC_ARG_WITH(PACK[-prefix],
|
||||
[[ --with-]]PACK[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib
|
||||
--without-]]PACK[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]],
|
||||
[[ --with-]]PACK[[-prefix[=DIR] search for ]]PACKLIBS[[ in DIR/include and DIR/lib
|
||||
--without-]]PACK[[-prefix don't search for ]]PACKLIBS[[ in includedir and libdir]],
|
||||
[
|
||||
if test "X$withval" = "Xno"; then
|
||||
use_additional=no
|
||||
@@ -204,17 +206,23 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
AC_LIB_WITH_FINAL_PREFIX([
|
||||
eval additional_includedir=\"$includedir\"
|
||||
eval additional_libdir=\"$libdir\"
|
||||
eval additional_libdir2=\"$exec_prefix/$acl_libdirstem2\"
|
||||
eval additional_libdir3=\"$exec_prefix/$acl_libdirstem3\"
|
||||
])
|
||||
else
|
||||
additional_includedir="$withval/include"
|
||||
additional_libdir="$withval/$acl_libdirstem"
|
||||
if test "$acl_libdirstem2" != "$acl_libdirstem" \
|
||||
&& test ! -d "$withval/$acl_libdirstem"; then
|
||||
additional_libdir="$withval/$acl_libdirstem2"
|
||||
fi
|
||||
additional_libdir2="$withval/$acl_libdirstem2"
|
||||
additional_libdir3="$withval/$acl_libdirstem3"
|
||||
fi
|
||||
fi
|
||||
])
|
||||
if test "X$additional_libdir2" = "X$additional_libdir"; then
|
||||
additional_libdir2=
|
||||
fi
|
||||
if test "X$additional_libdir3" = "X$additional_libdir"; then
|
||||
additional_libdir3=
|
||||
fi
|
||||
dnl Search the library and its dependencies in $additional_libdir and
|
||||
dnl $LDFLAGS. Using breadth-first-seach.
|
||||
LIB[]NAME=
|
||||
@@ -270,58 +278,14 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
shrext=
|
||||
fi
|
||||
if test $use_additional = yes; then
|
||||
dir="$additional_libdir"
|
||||
dnl The same code as in the loop below:
|
||||
dnl First look for a shared library.
|
||||
if test -n "$acl_shlibext"; then
|
||||
if test -f "$dir/$libname$shrext"; then
|
||||
found_dir="$dir"
|
||||
found_so="$dir/$libname$shrext"
|
||||
else
|
||||
if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
|
||||
ver=`(cd "$dir" && \
|
||||
for f in "$libname$shrext".*; do echo "$f"; done \
|
||||
| sed -e "s,^$libname$shrext\\\\.,," \
|
||||
| sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
|
||||
| sed 1q ) 2>/dev/null`
|
||||
if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
|
||||
found_dir="$dir"
|
||||
found_so="$dir/$libname$shrext.$ver"
|
||||
fi
|
||||
else
|
||||
eval library_names=\"$acl_library_names_spec\"
|
||||
for f in $library_names; do
|
||||
if test -f "$dir/$f"; then
|
||||
found_dir="$dir"
|
||||
found_so="$dir/$f"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
dnl Then look for a static library.
|
||||
if test "X$found_dir" = "X"; then
|
||||
if test -f "$dir/$libname.$acl_libext"; then
|
||||
found_dir="$dir"
|
||||
found_a="$dir/$libname.$acl_libext"
|
||||
fi
|
||||
fi
|
||||
if test "X$found_dir" != "X"; then
|
||||
if test -f "$dir/$libname.la"; then
|
||||
found_la="$dir/$libname.la"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if test "X$found_dir" = "X"; then
|
||||
for x in $LDFLAGS $LTLIB[]NAME; do
|
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||
case "$x" in
|
||||
-L*)
|
||||
dir=`echo "X$x" | sed -e 's/^X-L//'`
|
||||
for additional_libdir_variable in additional_libdir additional_libdir2 additional_libdir3; do
|
||||
if test "X$found_dir" = "X"; then
|
||||
eval dir=\$$additional_libdir_variable
|
||||
if test -n "$dir"; then
|
||||
dnl The same code as in the loop below:
|
||||
dnl First look for a shared library.
|
||||
if test -n "$acl_shlibext"; then
|
||||
if test -f "$dir/$libname$shrext"; then
|
||||
if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then
|
||||
found_dir="$dir"
|
||||
found_so="$dir/$libname$shrext"
|
||||
else
|
||||
@@ -331,14 +295,14 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
| sed -e "s,^$libname$shrext\\\\.,," \
|
||||
| sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
|
||||
| sed 1q ) 2>/dev/null`
|
||||
if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then
|
||||
if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then
|
||||
found_dir="$dir"
|
||||
found_so="$dir/$libname$shrext.$ver"
|
||||
fi
|
||||
else
|
||||
eval library_names=\"$acl_library_names_spec\"
|
||||
for f in $library_names; do
|
||||
if test -f "$dir/$f"; then
|
||||
if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then
|
||||
found_dir="$dir"
|
||||
found_so="$dir/$f"
|
||||
break
|
||||
@@ -349,7 +313,57 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
fi
|
||||
dnl Then look for a static library.
|
||||
if test "X$found_dir" = "X"; then
|
||||
if test -f "$dir/$libname.$acl_libext"; then
|
||||
if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then
|
||||
found_dir="$dir"
|
||||
found_a="$dir/$libname.$acl_libext"
|
||||
fi
|
||||
fi
|
||||
if test "X$found_dir" != "X"; then
|
||||
if test -f "$dir/$libname.la"; then
|
||||
found_la="$dir/$libname.la"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if test "X$found_dir" = "X"; then
|
||||
for x in $LDFLAGS $LTLIB[]NAME; do
|
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||
case "$x" in
|
||||
-L*)
|
||||
dir=`echo "X$x" | sed -e 's/^X-L//'`
|
||||
dnl First look for a shared library.
|
||||
if test -n "$acl_shlibext"; then
|
||||
if test -f "$dir/$libname$shrext" && acl_is_expected_elfclass < "$dir/$libname$shrext"; then
|
||||
found_dir="$dir"
|
||||
found_so="$dir/$libname$shrext"
|
||||
else
|
||||
if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then
|
||||
ver=`(cd "$dir" && \
|
||||
for f in "$libname$shrext".*; do echo "$f"; done \
|
||||
| sed -e "s,^$libname$shrext\\\\.,," \
|
||||
| sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \
|
||||
| sed 1q ) 2>/dev/null`
|
||||
if test -n "$ver" && test -f "$dir/$libname$shrext.$ver" && acl_is_expected_elfclass < "$dir/$libname$shrext.$ver"; then
|
||||
found_dir="$dir"
|
||||
found_so="$dir/$libname$shrext.$ver"
|
||||
fi
|
||||
else
|
||||
eval library_names=\"$acl_library_names_spec\"
|
||||
for f in $library_names; do
|
||||
if test -f "$dir/$f" && acl_is_expected_elfclass < "$dir/$f"; then
|
||||
found_dir="$dir"
|
||||
found_so="$dir/$f"
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
dnl Then look for a static library.
|
||||
if test "X$found_dir" = "X"; then
|
||||
if test -f "$dir/$libname.$acl_libext" && ${AR-ar} -p "$dir/$libname.$acl_libext" | acl_is_expected_elfclass; then
|
||||
found_dir="$dir"
|
||||
found_a="$dir/$libname.$acl_libext"
|
||||
fi
|
||||
@@ -375,7 +389,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
dnl standard /usr/lib.
|
||||
if test "$enable_rpath" = no \
|
||||
|| test "X$found_dir" = "X/usr/$acl_libdirstem" \
|
||||
|| test "X$found_dir" = "X/usr/$acl_libdirstem2"; then
|
||||
|| test "X$found_dir" = "X/usr/$acl_libdirstem2" \
|
||||
|| test "X$found_dir" = "X/usr/$acl_libdirstem3"; then
|
||||
dnl No hardcoding is needed.
|
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so"
|
||||
else
|
||||
@@ -475,6 +490,13 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
fi
|
||||
additional_includedir="$basedir/include"
|
||||
;;
|
||||
*/$acl_libdirstem3 | */$acl_libdirstem3/)
|
||||
basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem3/"'*$,,'`
|
||||
if test "$name" = '$1'; then
|
||||
LIB[]NAME[]_PREFIX="$basedir"
|
||||
fi
|
||||
additional_includedir="$basedir/include"
|
||||
;;
|
||||
esac
|
||||
if test "X$additional_includedir" != "X"; then
|
||||
dnl Potentially add $additional_includedir to $INCNAME.
|
||||
@@ -525,19 +547,21 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
for dep in $dependency_libs; do
|
||||
case "$dep" in
|
||||
-L*)
|
||||
additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
|
||||
dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME.
|
||||
dependency_libdir=`echo "X$dep" | sed -e 's/^X-L//'`
|
||||
dnl Potentially add $dependency_libdir to $LIBNAME and $LTLIBNAME.
|
||||
dnl But don't add it
|
||||
dnl 1. if it's the standard /usr/lib,
|
||||
dnl 2. if it's /usr/local/lib and we are using GCC on Linux,
|
||||
dnl 3. if it's already present in $LDFLAGS or the already
|
||||
dnl constructed $LIBNAME,
|
||||
dnl 4. if it doesn't exist as a directory.
|
||||
if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \
|
||||
&& test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then
|
||||
if test "X$dependency_libdir" != "X/usr/$acl_libdirstem" \
|
||||
&& test "X$dependency_libdir" != "X/usr/$acl_libdirstem2" \
|
||||
&& test "X$dependency_libdir" != "X/usr/$acl_libdirstem3"; then
|
||||
haveit=
|
||||
if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \
|
||||
|| test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then
|
||||
if test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem" \
|
||||
|| test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem2" \
|
||||
|| test "X$dependency_libdir" = "X/usr/local/$acl_libdirstem3"; then
|
||||
if test -n "$GCC"; then
|
||||
case $host_os in
|
||||
linux* | gnu* | k*bsd*-gnu) haveit=yes;;
|
||||
@@ -548,29 +572,29 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
haveit=
|
||||
for x in $LDFLAGS $LIB[]NAME; do
|
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||
if test "X$x" = "X-L$additional_libdir"; then
|
||||
if test "X$x" = "X-L$dependency_libdir"; then
|
||||
haveit=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$haveit"; then
|
||||
if test -d "$additional_libdir"; then
|
||||
dnl Really add $additional_libdir to $LIBNAME.
|
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir"
|
||||
if test -d "$dependency_libdir"; then
|
||||
dnl Really add $dependency_libdir to $LIBNAME.
|
||||
LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$dependency_libdir"
|
||||
fi
|
||||
fi
|
||||
haveit=
|
||||
for x in $LDFLAGS $LTLIB[]NAME; do
|
||||
AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"])
|
||||
if test "X$x" = "X-L$additional_libdir"; then
|
||||
if test "X$x" = "X-L$dependency_libdir"; then
|
||||
haveit=yes
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$haveit"; then
|
||||
if test -d "$additional_libdir"; then
|
||||
dnl Really add $additional_libdir to $LTLIBNAME.
|
||||
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir"
|
||||
if test -d "$dependency_libdir"; then
|
||||
dnl Really add $dependency_libdir to $LTLIBNAME.
|
||||
LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$dependency_libdir"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -607,7 +631,20 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
|
||||
;;
|
||||
-l*)
|
||||
dnl Handle this in the next round.
|
||||
names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'`
|
||||
dnl But on GNU systems, ignore -lc options, because
|
||||
dnl - linking with libc is the default anyway,
|
||||
dnl - linking with libc.a may produce an error
|
||||
dnl "/usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality in `/usr/lib/libc.a(strcmp.o)' can not be used when making an executable; recompile with -fPIE and relink with -pie"
|
||||
dnl or may produce an executable that always crashes, see
|
||||
dnl <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
|
||||
dep=`echo "X$dep" | sed -e 's/^X-l//'`
|
||||
if test "X$dep" != Xc \
|
||||
|| case $host_os in
|
||||
linux* | gnu* | k*bsd*-gnu) false ;;
|
||||
*) true ;;
|
||||
esac; then
|
||||
names_next_round="$names_next_round $dep"
|
||||
fi
|
||||
;;
|
||||
*.la)
|
||||
dnl Handle this in the next round. Throw away the .la's
|
||||
@@ -718,7 +755,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
|
||||
dir="$next"
|
||||
dnl No need to hardcode the standard /usr/lib.
|
||||
if test "X$dir" != "X/usr/$acl_libdirstem" \
|
||||
&& test "X$dir" != "X/usr/$acl_libdirstem2"; then
|
||||
&& test "X$dir" != "X/usr/$acl_libdirstem2" \
|
||||
&& test "X$dir" != "X/usr/$acl_libdirstem3"; then
|
||||
rpathdirs="$rpathdirs $dir"
|
||||
fi
|
||||
next=
|
||||
@@ -728,7 +766,8 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS],
|
||||
-L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'`
|
||||
dnl No need to hardcode the standard /usr/lib.
|
||||
if test "X$dir" != "X/usr/$acl_libdirstem" \
|
||||
&& test "X$dir" != "X/usr/$acl_libdirstem2"; then
|
||||
&& test "X$dir" != "X/usr/$acl_libdirstem2" \
|
||||
&& test "X$dir" != "X/usr/$acl_libdirstem3"; then
|
||||
rpathdirs="$rpathdirs $dir"
|
||||
fi
|
||||
next= ;;
|
||||
|
||||
+140
-66
@@ -1,5 +1,5 @@
|
||||
# lib-prefix.m4 serial 14
|
||||
dnl Copyright (C) 2001-2005, 2008-2019 Free Software Foundation, Inc.
|
||||
# lib-prefix.m4 serial 20
|
||||
dnl Copyright (C) 2001-2005, 2008-2022 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.
|
||||
@@ -147,21 +147,24 @@ AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX],
|
||||
])
|
||||
|
||||
dnl AC_LIB_PREPARE_MULTILIB creates
|
||||
dnl - a variable acl_libdirstem, containing the basename of the libdir, either
|
||||
dnl "lib" or "lib64" or "lib/64",
|
||||
dnl - a variable acl_libdirstem2, as a secondary possible value for
|
||||
dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or
|
||||
dnl "lib/amd64".
|
||||
dnl - a function acl_is_expected_elfclass, that tests whether standard input
|
||||
dnl has a 32-bit or 64-bit ELF header, depending on the host CPU ABI,
|
||||
dnl - 3 variables acl_libdirstem, acl_libdirstem2, acl_libdirstem3, containing
|
||||
dnl the basename of the libdir to try in turn, either "lib" or "lib64" or
|
||||
dnl "lib/64" or "lib32" or "lib/sparcv9" or "lib/amd64" or similar.
|
||||
AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
|
||||
[
|
||||
dnl There is no formal standard regarding lib and lib64.
|
||||
dnl On glibc systems, the current practice is that on a system supporting
|
||||
dnl There is no formal standard regarding lib, lib32, and lib64.
|
||||
dnl On most glibc systems, the current practice is that on a system supporting
|
||||
dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
|
||||
dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine
|
||||
dnl the compiler's default mode by looking at the compiler's library search
|
||||
dnl path. If at least one of its elements ends in /lib64 or points to a
|
||||
dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI.
|
||||
dnl Otherwise we use the default, namely "lib".
|
||||
dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. However, on
|
||||
dnl Arch Linux based distributions, it's the opposite: 32-bit libraries go
|
||||
dnl under $prefix/lib32 and 64-bit libraries go under $prefix/lib.
|
||||
dnl We determine the compiler's default mode by looking at the compiler's
|
||||
dnl library search path. If at least one of its elements ends in /lib64 or
|
||||
dnl points to a directory whose absolute pathname ends in /lib64, we use that
|
||||
dnl for 64-bit ABIs. Similarly for 32-bit ABIs. Otherwise we use the default,
|
||||
dnl namely "lib".
|
||||
dnl On Solaris systems, the current practice is that on a system supporting
|
||||
dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under
|
||||
dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or
|
||||
@@ -169,27 +172,75 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_REQUIRE([gl_HOST_CPU_C_ABI_32BIT])
|
||||
|
||||
case "$host_os" in
|
||||
solaris*)
|
||||
AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit],
|
||||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_SOURCE(
|
||||
[[#ifdef _LP64
|
||||
int ok;
|
||||
#else
|
||||
error fail
|
||||
#endif
|
||||
]])],
|
||||
[gl_cv_solaris_64bit=yes],
|
||||
[gl_cv_solaris_64bit=no])
|
||||
]);;
|
||||
esac
|
||||
AC_CACHE_CHECK([for ELF binary format], [gl_cv_elf],
|
||||
[AC_EGREP_CPP([Extensible Linking Format],
|
||||
[#if defined __ELF__ || (defined __linux__ && defined __EDG__)
|
||||
Extensible Linking Format
|
||||
#endif
|
||||
],
|
||||
[gl_cv_elf=yes],
|
||||
[gl_cv_elf=no])
|
||||
])
|
||||
if test $gl_cv_elf = yes; then
|
||||
# Extract the ELF class of a file (5th byte) in decimal.
|
||||
# Cf. https://en.wikipedia.org/wiki/Executable_and_Linkable_Format#File_header
|
||||
if od -A x < /dev/null >/dev/null 2>/dev/null; then
|
||||
# Use POSIX od.
|
||||
func_elfclass ()
|
||||
{
|
||||
od -A n -t d1 -j 4 -N 1
|
||||
}
|
||||
else
|
||||
# Use BSD hexdump.
|
||||
func_elfclass ()
|
||||
{
|
||||
dd bs=1 count=1 skip=4 2>/dev/null | hexdump -e '1/1 "%3d "'
|
||||
echo
|
||||
}
|
||||
fi
|
||||
# Use 'expr', not 'test', to compare the values of func_elfclass, because on
|
||||
# Solaris 11 OpenIndiana and Solaris 11 OmniOS, the result is 001 or 002,
|
||||
# not 1 or 2.
|
||||
changequote(,)dnl
|
||||
case $HOST_CPU_C_ABI_32BIT in
|
||||
yes)
|
||||
# 32-bit ABI.
|
||||
acl_is_expected_elfclass ()
|
||||
{
|
||||
expr "`func_elfclass | sed -e 's/[ ]//g'`" = 1 > /dev/null
|
||||
}
|
||||
;;
|
||||
no)
|
||||
# 64-bit ABI.
|
||||
acl_is_expected_elfclass ()
|
||||
{
|
||||
expr "`func_elfclass | sed -e 's/[ ]//g'`" = 2 > /dev/null
|
||||
}
|
||||
;;
|
||||
*)
|
||||
# Unknown.
|
||||
acl_is_expected_elfclass ()
|
||||
{
|
||||
:
|
||||
}
|
||||
;;
|
||||
esac
|
||||
changequote([,])dnl
|
||||
else
|
||||
acl_is_expected_elfclass ()
|
||||
{
|
||||
:
|
||||
}
|
||||
fi
|
||||
|
||||
dnl Allow the user to override the result by setting acl_cv_libdirstems.
|
||||
AC_CACHE_CHECK([for the common suffixes of directories in the library search path],
|
||||
[acl_cv_libdirstems],
|
||||
[acl_libdirstem=lib
|
||||
[dnl Try 'lib' first, because that's the default for libdir in GNU, see
|
||||
dnl <https://www.gnu.org/prep/standards/html_node/Directory-Variables.html>.
|
||||
acl_libdirstem=lib
|
||||
acl_libdirstem2=
|
||||
acl_libdirstem3=
|
||||
case "$host_os" in
|
||||
solaris*)
|
||||
dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment
|
||||
@@ -197,53 +248,76 @@ AC_DEFUN([AC_LIB_PREPARE_MULTILIB],
|
||||
dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link."
|
||||
dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the
|
||||
dnl symlink is missing, so we set acl_libdirstem2 too.
|
||||
if test $gl_cv_solaris_64bit = yes; then
|
||||
acl_libdirstem=lib/64
|
||||
if test $HOST_CPU_C_ABI_32BIT = no; then
|
||||
acl_libdirstem2=lib/64
|
||||
case "$host_cpu" in
|
||||
sparc*) acl_libdirstem2=lib/sparcv9 ;;
|
||||
i*86 | x86_64) acl_libdirstem2=lib/amd64 ;;
|
||||
sparc*) acl_libdirstem3=lib/sparcv9 ;;
|
||||
i*86 | x86_64) acl_libdirstem3=lib/amd64 ;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
dnl If $CC generates code for a 32-bit ABI, the libraries are
|
||||
dnl surely under $prefix/lib, not $prefix/lib64.
|
||||
if test "$HOST_CPU_C_ABI_32BIT" != yes; then
|
||||
dnl The result is a property of the system. However, non-system
|
||||
dnl compilers sometimes have odd library search paths. Therefore
|
||||
dnl prefer asking /usr/bin/gcc, if available, rather than $CC.
|
||||
searchpath=`(if test -f /usr/bin/gcc \
|
||||
&& LC_ALL=C /usr/bin/gcc -print-search-dirs >/dev/null 2>/dev/null; then \
|
||||
LC_ALL=C /usr/bin/gcc -print-search-dirs; \
|
||||
else \
|
||||
LC_ALL=C $CC -print-search-dirs; \
|
||||
fi) 2>/dev/null \
|
||||
| sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
|
||||
if test -n "$searchpath"; then
|
||||
acl_save_IFS="${IFS= }"; IFS=":"
|
||||
for searchdir in $searchpath; do
|
||||
if test -d "$searchdir"; then
|
||||
case "$searchdir" in
|
||||
*/lib64/ | */lib64 ) acl_libdirstem=lib64 ;;
|
||||
*/../ | */.. )
|
||||
# Better ignore directories of this form. They are misleading.
|
||||
;;
|
||||
*) searchdir=`cd "$searchdir" && pwd`
|
||||
case "$searchdir" in
|
||||
*/lib64 ) acl_libdirstem=lib64 ;;
|
||||
esac ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
IFS="$acl_save_IFS"
|
||||
dnl surely under $prefix/lib or $prefix/lib32, not $prefix/lib64.
|
||||
dnl Similarly, if $CC generates code for a 64-bit ABI, the libraries
|
||||
dnl are surely under $prefix/lib or $prefix/lib64, not $prefix/lib32.
|
||||
dnl Find the compiler's search path. However, non-system compilers
|
||||
dnl sometimes have odd library search paths. But we can't simply invoke
|
||||
dnl '/usr/bin/gcc -print-search-dirs' because that would not take into
|
||||
dnl account the -m32/-m31 or -m64 options from the $CC or $CFLAGS.
|
||||
searchpath=`(LC_ALL=C $CC $CPPFLAGS $CFLAGS -print-search-dirs) 2>/dev/null \
|
||||
| sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'`
|
||||
if test $HOST_CPU_C_ABI_32BIT != no; then
|
||||
# 32-bit or unknown ABI.
|
||||
if test -d /usr/lib32; then
|
||||
acl_libdirstem2=lib32
|
||||
fi
|
||||
fi
|
||||
if test $HOST_CPU_C_ABI_32BIT != yes; then
|
||||
# 64-bit or unknown ABI.
|
||||
if test -d /usr/lib64; then
|
||||
acl_libdirstem3=lib64
|
||||
fi
|
||||
fi
|
||||
if test -n "$searchpath"; then
|
||||
acl_save_IFS="${IFS= }"; IFS=":"
|
||||
for searchdir in $searchpath; do
|
||||
if test -d "$searchdir"; then
|
||||
case "$searchdir" in
|
||||
*/lib32/ | */lib32 ) acl_libdirstem2=lib32 ;;
|
||||
*/lib64/ | */lib64 ) acl_libdirstem3=lib64 ;;
|
||||
*/../ | */.. )
|
||||
# Better ignore directories of this form. They are misleading.
|
||||
;;
|
||||
*) searchdir=`cd "$searchdir" && pwd`
|
||||
case "$searchdir" in
|
||||
*/lib32 ) acl_libdirstem2=lib32 ;;
|
||||
*/lib64 ) acl_libdirstem3=lib64 ;;
|
||||
esac ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
IFS="$acl_save_IFS"
|
||||
if test $HOST_CPU_C_ABI_32BIT = yes; then
|
||||
# 32-bit ABI.
|
||||
acl_libdirstem3=
|
||||
fi
|
||||
if test $HOST_CPU_C_ABI_32BIT = no; then
|
||||
# 64-bit ABI.
|
||||
acl_libdirstem2=
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem"
|
||||
acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2"
|
||||
test -n "$acl_libdirstem3" || acl_libdirstem3="$acl_libdirstem"
|
||||
acl_cv_libdirstems="$acl_libdirstem,$acl_libdirstem2,$acl_libdirstem3"
|
||||
])
|
||||
# Decompose acl_cv_libdirstems into acl_libdirstem and acl_libdirstem2.
|
||||
dnl Decompose acl_cv_libdirstems into acl_libdirstem, acl_libdirstem2, and
|
||||
dnl acl_libdirstem3.
|
||||
changequote(,)dnl
|
||||
acl_libdirstem=`echo "$acl_cv_libdirstems" | sed -e 's/,.*//'`
|
||||
acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e '/,/s/.*,//'`
|
||||
acl_libdirstem2=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,//' -e 's/,.*//'`
|
||||
acl_libdirstem3=`echo "$acl_cv_libdirstems" | sed -e 's/^[^,]*,[^,]*,//' -e 's/,.*//'`
|
||||
changequote([,])dnl
|
||||
])
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
# lock.m4 serial 14
|
||||
dnl Copyright (C) 2005-2019 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2005-2022 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,16 +1,16 @@
|
||||
# nls.m4 serial 5 (gettext-0.18)
|
||||
dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019 Free Software
|
||||
dnl Foundation, Inc.
|
||||
# nls.m4 serial 6 (gettext-0.20.2)
|
||||
dnl Copyright (C) 1995-2003, 2005-2006, 2008-2014, 2016, 2019-2022 Free
|
||||
dnl Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
dnl the GNU General Public License or the GNU Lesser General Public
|
||||
dnl License but which still want to provide support for the GNU gettext
|
||||
dnl functionality.
|
||||
dnl Please note that the actual code of the GNU gettext library is covered
|
||||
dnl by the GNU Library General Public License, and the rest of the GNU
|
||||
dnl by the GNU Lesser General Public License, and the rest of the GNU
|
||||
dnl gettext package is covered by the GNU General Public License.
|
||||
dnl They are *not* in the public domain.
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# po.m4 serial 24a
|
||||
dnl Copyright (C) 1995-2014, 2016, 2018-2019 Free Software Foundation, Inc.
|
||||
# po.m4 serial 32 (gettext-0.21.1)
|
||||
dnl Copyright (C) 1995-2014, 2016, 2018-2022 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
dnl the GNU General Public License or the GNU Lesser General Public
|
||||
dnl License but which still want to provide support for the GNU gettext
|
||||
dnl functionality.
|
||||
dnl Please note that the actual code of the GNU gettext library is covered
|
||||
dnl by the GNU Library General Public License, and the rest of the GNU
|
||||
dnl by the GNU Lesser General Public License, and the rest of the GNU
|
||||
dnl gettext package is covered by the GNU General Public License.
|
||||
dnl They are *not* in the public domain.
|
||||
|
||||
@@ -30,7 +30,7 @@ AC_DEFUN([AM_PO_SUBDIRS],
|
||||
|
||||
dnl Release version of the gettext macros. This is used to ensure that
|
||||
dnl the gettext macros and po/Makefile.in.in are in sync.
|
||||
AC_SUBST([GETTEXT_MACRO_VERSION], [0.19])
|
||||
AC_SUBST([GETTEXT_MACRO_VERSION], [0.20])
|
||||
|
||||
dnl Perform the following tests also if --disable-nls has been given,
|
||||
dnl because they are needed for "make dist" to work.
|
||||
@@ -45,13 +45,6 @@ AC_DEFUN([AM_PO_SUBDIRS],
|
||||
AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
|
||||
|
||||
dnl Test whether it is GNU msgfmt >= 0.15.
|
||||
changequote(,)dnl
|
||||
case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
|
||||
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
|
||||
*) MSGFMT_015=$MSGFMT ;;
|
||||
esac
|
||||
changequote([,])dnl
|
||||
AC_SUBST([MSGFMT_015])
|
||||
changequote(,)dnl
|
||||
case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
|
||||
'' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
|
||||
@@ -83,6 +76,22 @@ changequote([,])dnl
|
||||
AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
|
||||
[$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
|
||||
|
||||
dnl Test whether it is GNU msgmerge >= 0.20.
|
||||
if LC_ALL=C $MSGMERGE --help | grep ' --for-msgfmt ' >/dev/null; then
|
||||
MSGMERGE_FOR_MSGFMT_OPTION='--for-msgfmt'
|
||||
else
|
||||
dnl Test whether it is GNU msgmerge >= 0.12.
|
||||
if LC_ALL=C $MSGMERGE --help | grep ' --no-fuzzy-matching ' >/dev/null; then
|
||||
MSGMERGE_FOR_MSGFMT_OPTION='--no-fuzzy-matching --no-location --quiet'
|
||||
else
|
||||
dnl With these old versions, $(MSGMERGE) $(MSGMERGE_FOR_MSGFMT_OPTION) is
|
||||
dnl slow. But this is not a big problem, as such old gettext versions are
|
||||
dnl hardly in use any more.
|
||||
MSGMERGE_FOR_MSGFMT_OPTION='--no-location --quiet'
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([MSGMERGE_FOR_MSGFMT_OPTION])
|
||||
|
||||
dnl Support for AM_XGETTEXT_OPTION.
|
||||
test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
|
||||
AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
|
||||
@@ -170,7 +179,9 @@ changequote([,])dnl
|
||||
# presentlang can be used as a fallback for messages
|
||||
# which are not translated in the desiredlang catalog).
|
||||
case "$desiredlang" in
|
||||
"$presentlang"*) useit=yes;;
|
||||
"$presentlang" | "$presentlang"_* | "$presentlang".* | "$presentlang"@*)
|
||||
useit=yes
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if test $useit = yes; then
|
||||
@@ -317,9 +328,9 @@ changequote([,])dnl
|
||||
# Compute GMOFILES
|
||||
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
|
||||
# Compute PROPERTIESFILES
|
||||
# as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
|
||||
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).properties)
|
||||
# Compute CLASSFILES
|
||||
# as $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
|
||||
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(DOMAIN)_$(lang).class)
|
||||
# Compute QMFILES
|
||||
# as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
|
||||
# Compute MSGFILES
|
||||
@@ -344,8 +355,8 @@ changequote([,])dnl
|
||||
UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
|
||||
DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
|
||||
GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
|
||||
PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
|
||||
CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
|
||||
PROPERTIESFILES="$PROPERTIESFILES \$(srcdir)/\$(DOMAIN)_$lang.properties"
|
||||
CLASSFILES="$CLASSFILES \$(srcdir)/\$(DOMAIN)_$lang.class"
|
||||
QMFILES="$QMFILES $srcdirpre$lang.qm"
|
||||
frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
|
||||
MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
|
||||
@@ -370,7 +381,9 @@ changequote([,])dnl
|
||||
# presentlang can be used as a fallback for messages
|
||||
# which are not translated in the desiredlang catalog).
|
||||
case "$desiredlang" in
|
||||
"$presentlang"*) useit=yes;;
|
||||
"$presentlang" | "$presentlang"_* | "$presentlang".* | "$presentlang"@*)
|
||||
useit=yes
|
||||
;;
|
||||
esac
|
||||
done
|
||||
if test $useit = yes; then
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
# printf-posix.m4 serial 6 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2003, 2007, 2009-2019 Free Software Foundation, Inc.
|
||||
# printf-posix.m4 serial 7 (gettext-0.21.1)
|
||||
dnl Copyright (C) 2003, 2007, 2009-2020 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,7 +12,7 @@ AC_DEFUN([gt_PRINTF_POSIX],
|
||||
[
|
||||
AC_REQUIRE([AC_PROG_CC])
|
||||
AC_CACHE_CHECK([whether printf() supports POSIX/XSI format strings],
|
||||
gt_cv_func_printf_posix,
|
||||
[gt_cv_func_printf_posix],
|
||||
[
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
|
||||
+8
-8
@@ -1,22 +1,22 @@
|
||||
# progtest.m4 serial 7 (gettext-0.18.2)
|
||||
dnl Copyright (C) 1996-2003, 2005, 2008-2019 Free Software Foundation, Inc.
|
||||
# progtest.m4 serial 9 (gettext-0.21.1)
|
||||
dnl Copyright (C) 1996-2003, 2005, 2008-2022 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
dnl
|
||||
dnl This file can be used in projects which are not available under
|
||||
dnl the GNU General Public License or the GNU Library General Public
|
||||
dnl the GNU General Public License or the GNU Lesser General Public
|
||||
dnl License but which still want to provide support for the GNU gettext
|
||||
dnl functionality.
|
||||
dnl Please note that the actual code of the GNU gettext library is covered
|
||||
dnl by the GNU Library General Public License, and the rest of the GNU
|
||||
dnl by the GNU Lesser General Public License, and the rest of the GNU
|
||||
dnl gettext package is covered by the GNU General Public License.
|
||||
dnl They are *not* in the public domain.
|
||||
|
||||
dnl Authors:
|
||||
dnl Ulrich Drepper <drepper@cygnus.com>, 1996.
|
||||
|
||||
AC_PREREQ([2.50])
|
||||
AC_PREREQ([2.53])
|
||||
|
||||
# Search path for a program which passes the given test.
|
||||
|
||||
@@ -61,7 +61,7 @@ AC_CACHE_VAL([ac_cv_path_$1],
|
||||
;;
|
||||
*)
|
||||
ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
|
||||
for ac_dir in ifelse([$5], , $PATH, [$5]); do
|
||||
for ac_dir in m4_if([$5], , $PATH, [$5]); do
|
||||
IFS="$ac_save_IFS"
|
||||
test -z "$ac_dir" && ac_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
@@ -77,12 +77,12 @@ AC_CACHE_VAL([ac_cv_path_$1],
|
||||
IFS="$ac_save_IFS"
|
||||
dnl If no 4th arg is given, leave the cache variable unset,
|
||||
dnl so AC_PATH_PROGS will keep looking.
|
||||
ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
|
||||
m4_if([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
|
||||
])dnl
|
||||
;;
|
||||
esac])dnl
|
||||
$1="$ac_cv_path_$1"
|
||||
if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
|
||||
if test m4_if([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
|
||||
AC_MSG_RESULT([$][$1])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# pthread_rwlock_rdlock.m4 serial 2
|
||||
dnl Copyright (C) 2017-2019 Free Software Foundation, Inc.
|
||||
# pthread_rwlock_rdlock.m4 serial 4
|
||||
dnl Copyright (C) 2017-2022 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.
|
||||
@@ -26,14 +26,16 @@ dnl
|
||||
dnl POSIX:2017 makes this requirement only for implementations that support TPS
|
||||
dnl (Thread Priority Scheduling) and only for the scheduling policies SCHED_FIFO
|
||||
dnl and SCHED_RR, see
|
||||
dnl http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_rdlock.html
|
||||
dnl https://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_rwlock_rdlock.html
|
||||
dnl but this test verifies the guarantee regardless of TPS and regardless of
|
||||
dnl scheduling policy.
|
||||
dnl Glibc currently does not provide this guarantee, see
|
||||
dnl Glibc does not provide this guarantee (and never will on Linux), see
|
||||
dnl https://sourceware.org/bugzilla/show_bug.cgi?id=13701
|
||||
dnl https://bugzilla.redhat.com/show_bug.cgi?id=1410052
|
||||
AC_DEFUN([gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER],
|
||||
[
|
||||
AC_REQUIRE([gl_THREADLIB_EARLY])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
|
||||
AC_CACHE_CHECK([whether pthread_rwlock_rdlock prefers a writer to a reader],
|
||||
[gl_cv_pthread_rwlock_rdlock_prefer_writer],
|
||||
[save_LIBS="$LIBS"
|
||||
@@ -153,7 +155,25 @@ main ()
|
||||
]])],
|
||||
[gl_cv_pthread_rwlock_rdlock_prefer_writer=yes],
|
||||
[gl_cv_pthread_rwlock_rdlock_prefer_writer=no],
|
||||
[gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing yes"])
|
||||
[case "$host_os" in
|
||||
# Guess no on glibc systems.
|
||||
*-gnu* | gnu*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
|
||||
# Guess no on musl systems.
|
||||
*-musl*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
|
||||
# Guess no on bionic systems.
|
||||
*-android*) gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no" ;;
|
||||
# Guess yes on native Windows with the mingw-w64 winpthreads library.
|
||||
# Guess no on native Windows with the gnulib windows-rwlock module.
|
||||
mingw*) if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
|
||||
gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing yes"
|
||||
else
|
||||
gl_cv_pthread_rwlock_rdlock_prefer_writer="guessing no"
|
||||
fi
|
||||
;;
|
||||
# If we don't know, obey --enable-cross-guesses.
|
||||
*) gl_cv_pthread_rwlock_rdlock_prefer_writer="$gl_cross_guess_normal" ;;
|
||||
esac
|
||||
])
|
||||
LIBS="$save_LIBS"
|
||||
])
|
||||
case "$gl_cv_pthread_rwlock_rdlock_prefer_writer" in
|
||||
|
||||
+4
-4
@@ -1,5 +1,5 @@
|
||||
# size_max.m4 serial 11
|
||||
dnl Copyright (C) 2003, 2005-2006, 2008-2019 Free Software Foundation, Inc.
|
||||
# size_max.m4 serial 12
|
||||
dnl Copyright (C) 2003, 2005-2006, 2008-2022 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,7 +13,7 @@ AC_DEFUN([gl_SIZE_MAX],
|
||||
AC_CHECK_HEADERS([stdint.h])
|
||||
dnl First test whether the system already has SIZE_MAX.
|
||||
AC_CACHE_CHECK([for SIZE_MAX], [gl_cv_size_max], [
|
||||
gl_cv_size_max=
|
||||
gl_cv_size_max=no
|
||||
AC_EGREP_CPP([Found it], [
|
||||
#include <limits.h>
|
||||
#if HAVE_STDINT_H
|
||||
@@ -23,7 +23,7 @@ AC_DEFUN([gl_SIZE_MAX],
|
||||
Found it
|
||||
#endif
|
||||
], [gl_cv_size_max=yes])
|
||||
if test -z "$gl_cv_size_max"; then
|
||||
if test $gl_cv_size_max != yes; then
|
||||
dnl Define it ourselves. Here we assume that the type 'size_t' is not wider
|
||||
dnl than the type 'unsigned long'. Try hard to find a definition that can
|
||||
dnl be used in a preprocessor #if, i.e. doesn't contain a cast.
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
# stdint_h.m4 serial 9
|
||||
dnl Copyright (C) 1997-2004, 2006, 2008-2019 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 1997-2004, 2006, 2008-2022 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.
|
||||
|
||||
+4
-2
@@ -21,7 +21,6 @@ AC_CACHE_VAL(bash_cv_func_strtoimax,
|
||||
if test "$ac_cv_have_decl_strtoimax" = "yes" ; then
|
||||
HAVE_DECL_STRTOIMAX=1
|
||||
fi
|
||||
|
||||
if test "$HAVE_STRTOIMAX" = 0 || test "$HAVE_DECL_STRTOIMAX" = 0 ; then
|
||||
bash_cv_func_strtoimax=no REPLACE_STRTOIMAX=1
|
||||
else
|
||||
@@ -29,7 +28,10 @@ AC_CACHE_VAL(bash_cv_func_strtoimax,
|
||||
fi
|
||||
])
|
||||
AC_MSG_RESULT($bash_cv_func_strtoimax)
|
||||
if test $bash_cv_func_strtoimax = yes; then
|
||||
if test "$ac_cv_have_decl_strtoimax" = "yes" ; then
|
||||
AC_DEFINE([HAVE_DECL_STRTOIMAX], [1])
|
||||
fi
|
||||
if test $bash_cv_func_strtoimax = no; then
|
||||
AC_LIBOBJ(strtoimax)
|
||||
fi
|
||||
])
|
||||
|
||||
+472
-201
@@ -1,5 +1,5 @@
|
||||
# threadlib.m4 serial 16
|
||||
dnl Copyright (C) 2005-2019 Free Software Foundation, Inc.
|
||||
# threadlib.m4 serial 32
|
||||
dnl Copyright (C) 2005-2022 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
@@ -8,6 +8,381 @@ dnl From Bruno Haible.
|
||||
|
||||
AC_PREREQ([2.60])
|
||||
|
||||
dnl The general structure of the multithreading modules in gnulib is that we
|
||||
dnl have three set of modules:
|
||||
dnl
|
||||
dnl * POSIX API:
|
||||
dnl pthread, which combines
|
||||
dnl pthread-h
|
||||
dnl pthread-thread
|
||||
dnl pthread-once
|
||||
dnl pthread-mutex
|
||||
dnl pthread-rwlock
|
||||
dnl pthread-cond
|
||||
dnl pthread-tss
|
||||
dnl pthread-spin
|
||||
dnl sched_yield
|
||||
dnl
|
||||
dnl * ISO C API:
|
||||
dnl threads, which combines
|
||||
dnl threads-h
|
||||
dnl thrd
|
||||
dnl mtx
|
||||
dnl cnd
|
||||
dnl tss
|
||||
dnl
|
||||
dnl * Gnulib API, with an implementation that can be chosen at configure
|
||||
dnl time through the option --enable-threads=...
|
||||
dnl thread
|
||||
dnl lock
|
||||
dnl cond
|
||||
dnl tls
|
||||
dnl yield
|
||||
dnl
|
||||
dnl They are independent, except for the fact that
|
||||
dnl - the implementation of the ISO C API may use the POSIX (or some other
|
||||
dnl platform dependent) API,
|
||||
dnl - the implementation of the Gnulib API may use the POSIX or ISO C or
|
||||
dnl some other platform dependent API, depending on the --enable-threads
|
||||
dnl option.
|
||||
dnl
|
||||
dnl This file contains macros for all of these APIs!
|
||||
|
||||
dnl ============================================================================
|
||||
dnl Macros for all thread APIs
|
||||
|
||||
AC_DEFUN([gl_ANYTHREADLIB_EARLY],
|
||||
[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
if test -z "$gl_anythreadlib_early_done"; then
|
||||
case "$host_os" in
|
||||
osf*)
|
||||
# On OSF/1, the compiler needs the flag -D_REENTRANT so that it
|
||||
# groks <pthread.h>. cc also understands the flag -pthread, but
|
||||
# we don't use it because 1. gcc-2.95 doesn't understand -pthread,
|
||||
# 2. putting a flag into CPPFLAGS that has an effect on the linker
|
||||
# causes the AC_LINK_IFELSE test below to succeed unexpectedly,
|
||||
# leading to wrong values of LIBTHREAD and LTLIBTHREAD.
|
||||
CPPFLAGS="$CPPFLAGS -D_REENTRANT"
|
||||
;;
|
||||
esac
|
||||
# Some systems optimize for single-threaded programs by default, and
|
||||
# need special flags to disable these optimizations. For example, the
|
||||
# definition of 'errno' in <errno.h>.
|
||||
case "$host_os" in
|
||||
aix* | freebsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;;
|
||||
solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;;
|
||||
esac
|
||||
gl_anythreadlib_early_done=done
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Checks whether the compiler and linker support weak declarations of symbols.
|
||||
|
||||
AC_DEFUN([gl_WEAK_SYMBOLS],
|
||||
[
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
AC_CACHE_CHECK([whether imported symbols can be declared weak],
|
||||
[gl_cv_have_weak],
|
||||
[case "$host_os" in
|
||||
cygwin*)
|
||||
dnl On Cygwin 3.2.0 with gcc 10.2, the test below would succeed, but
|
||||
dnl programs that use pthread_in_use() with weak symbol references
|
||||
dnl crash miserably at runtime.
|
||||
gl_cv_have_weak="guessing no"
|
||||
;;
|
||||
*)
|
||||
gl_cv_have_weak=no
|
||||
dnl First, test whether the compiler accepts it syntactically.
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[extern void xyzzy ();
|
||||
#pragma weak xyzzy]],
|
||||
[[xyzzy();]])],
|
||||
[gl_cv_have_weak=maybe])
|
||||
if test $gl_cv_have_weak = maybe; then
|
||||
dnl Second, test whether it actually works. On Cygwin 1.7.2, with
|
||||
dnl gcc 4.3, symbols declared weak always evaluate to the address 0.
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <stdio.h>
|
||||
#pragma weak fputs
|
||||
int main ()
|
||||
{
|
||||
return (fputs == NULL);
|
||||
}]])],
|
||||
[gl_cv_have_weak=yes],
|
||||
[gl_cv_have_weak=no],
|
||||
[dnl When cross-compiling, assume that only ELF platforms support
|
||||
dnl weak symbols.
|
||||
AC_EGREP_CPP([Extensible Linking Format],
|
||||
[#ifdef __ELF__
|
||||
Extensible Linking Format
|
||||
#endif
|
||||
],
|
||||
[gl_cv_have_weak="guessing yes"],
|
||||
[gl_cv_have_weak="guessing no"])
|
||||
])
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
dnl But when linking statically, weak symbols don't work.
|
||||
case " $LDFLAGS " in
|
||||
*" -static "*) gl_cv_have_weak=no ;;
|
||||
esac
|
||||
dnl Test for a bug in FreeBSD 11: A link error occurs when using a weak
|
||||
dnl symbol and linking against a shared library that has a dependency on
|
||||
dnl the shared library that defines the symbol.
|
||||
case "$gl_cv_have_weak" in
|
||||
*yes)
|
||||
case "$host_os" in
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
: > conftest1.c
|
||||
$CC $CPPFLAGS $CFLAGS $LDFLAGS -fPIC -shared -o libempty.so conftest1.c -lpthread >&AS_MESSAGE_LOG_FD 2>&1
|
||||
cat <<EOF > conftest2.c
|
||||
#include <pthread.h>
|
||||
#pragma weak pthread_mutexattr_gettype
|
||||
int main ()
|
||||
{
|
||||
return (pthread_mutexattr_gettype != NULL);
|
||||
}
|
||||
EOF
|
||||
$CC $CPPFLAGS $CFLAGS $LDFLAGS -o conftest conftest2.c libempty.so >&AS_MESSAGE_LOG_FD 2>&1 \
|
||||
|| gl_cv_have_weak=no
|
||||
rm -f conftest1.c libempty.so conftest2.c conftest
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
])
|
||||
case "$gl_cv_have_weak" in
|
||||
*yes)
|
||||
AC_DEFINE([HAVE_WEAK_SYMBOLS], [1],
|
||||
[Define to 1 if the compiler and linker support weak declarations of symbols.])
|
||||
;;
|
||||
esac
|
||||
])
|
||||
|
||||
dnl ============================================================================
|
||||
dnl Macros for the POSIX API
|
||||
|
||||
dnl gl_PTHREADLIB
|
||||
dnl -------------
|
||||
dnl Tests for the libraries needs for using the POSIX threads API.
|
||||
dnl Sets the variable LIBPTHREAD to the linker options for use in a Makefile.
|
||||
dnl Sets the variable LIBPMULTITHREAD, for programs that really need
|
||||
dnl multithread functionality. The difference between LIBPTHREAD and
|
||||
dnl LIBPMULTITHREAD is that on platforms supporting weak symbols, typically
|
||||
dnl LIBPTHREAD is empty whereas LIBPMULTITHREAD is not.
|
||||
dnl Sets the variable LIB_SCHED_YIELD to the linker options needed to use the
|
||||
dnl sched_yield() function.
|
||||
dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for
|
||||
dnl multithread-safe programs.
|
||||
dnl Defines the C macro HAVE_PTHREAD_API if (at least parts of) the POSIX
|
||||
dnl threads API is available.
|
||||
|
||||
dnl The guts of gl_PTHREADLIB. Needs to be expanded only once.
|
||||
|
||||
AC_DEFUN([gl_PTHREADLIB_BODY],
|
||||
[
|
||||
AC_REQUIRE([gl_ANYTHREADLIB_EARLY])
|
||||
if test -z "$gl_pthreadlib_body_done"; then
|
||||
gl_pthread_api=no
|
||||
LIBPTHREAD=
|
||||
LIBPMULTITHREAD=
|
||||
# On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that
|
||||
# it groks <pthread.h>. It's added above, in gl_ANYTHREADLIB_EARLY.
|
||||
AC_CHECK_HEADER([pthread.h],
|
||||
[gl_have_pthread_h=yes], [gl_have_pthread_h=no])
|
||||
if test "$gl_have_pthread_h" = yes; then
|
||||
# Other possible tests:
|
||||
# -lpthreads (FSU threads, PCthreads)
|
||||
# -lgthreads
|
||||
# Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
|
||||
# in libc. IRIX 6.5 has the first one in both libc and libpthread, but
|
||||
# the second one only in libpthread, and lock.c needs it.
|
||||
#
|
||||
# If -pthread works, prefer it to -lpthread, since Ubuntu 14.04
|
||||
# needs -pthread for some reason. See:
|
||||
# https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
|
||||
save_LIBS=$LIBS
|
||||
for gl_pthread in '' '-pthread'; do
|
||||
LIBS="$LIBS $gl_pthread"
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <pthread.h>
|
||||
pthread_mutex_t m;
|
||||
pthread_mutexattr_t ma;
|
||||
]],
|
||||
[[pthread_mutex_lock (&m);
|
||||
pthread_mutexattr_init (&ma);]])],
|
||||
[gl_pthread_api=yes
|
||||
LIBPTHREAD=$gl_pthread
|
||||
LIBPMULTITHREAD=$gl_pthread])
|
||||
LIBS=$save_LIBS
|
||||
test $gl_pthread_api = yes && break
|
||||
done
|
||||
echo "$as_me:__oline__: gl_pthread_api=$gl_pthread_api" >&AS_MESSAGE_LOG_FD
|
||||
echo "$as_me:__oline__: LIBPTHREAD=$LIBPTHREAD" >&AS_MESSAGE_LOG_FD
|
||||
|
||||
gl_pthread_in_glibc=no
|
||||
# On Linux with glibc >= 2.34, libc contains the fully functional
|
||||
# pthread functions.
|
||||
case "$host_os" in
|
||||
linux*)
|
||||
AC_EGREP_CPP([Lucky user],
|
||||
[#include <features.h>
|
||||
#ifdef __GNU_LIBRARY__
|
||||
#if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 34) || (__GLIBC__ > 2)
|
||||
Lucky user
|
||||
#endif
|
||||
#endif
|
||||
],
|
||||
[gl_pthread_in_glibc=yes],
|
||||
[])
|
||||
;;
|
||||
esac
|
||||
echo "$as_me:__oline__: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&AS_MESSAGE_LOG_FD
|
||||
|
||||
# Test for libpthread by looking for pthread_kill. (Not pthread_self,
|
||||
# since it is defined as a macro on OSF/1.)
|
||||
if test $gl_pthread_api = yes && test -z "$LIBPTHREAD"; then
|
||||
# The program links fine without libpthread. But it may actually
|
||||
# need to link with libpthread in order to create multiple threads.
|
||||
AC_CHECK_LIB([pthread], [pthread_kill],
|
||||
[if test $gl_pthread_in_glibc = yes; then
|
||||
LIBPMULTITHREAD=
|
||||
else
|
||||
LIBPMULTITHREAD=-lpthread
|
||||
# On Solaris and HP-UX, most pthread functions exist also in libc.
|
||||
# Therefore pthread_in_use() needs to actually try to create a
|
||||
# thread: pthread_create from libc will fail, whereas
|
||||
# pthread_create will actually create a thread.
|
||||
# On Solaris 10 or newer, this test is no longer needed, because
|
||||
# libc contains the fully functional pthread functions.
|
||||
case "$host_os" in
|
||||
solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*)
|
||||
AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1],
|
||||
[Define if the pthread_in_use() detection is hard.])
|
||||
esac
|
||||
fi
|
||||
])
|
||||
elif test $gl_pthread_api != yes; then
|
||||
# Some library is needed. Try libpthread and libc_r.
|
||||
AC_CHECK_LIB([pthread], [pthread_kill],
|
||||
[gl_pthread_api=yes
|
||||
LIBPTHREAD=-lpthread
|
||||
LIBPMULTITHREAD=-lpthread])
|
||||
if test $gl_pthread_api != yes; then
|
||||
# For FreeBSD 4.
|
||||
AC_CHECK_LIB([c_r], [pthread_kill],
|
||||
[gl_pthread_api=yes
|
||||
LIBPTHREAD=-lc_r
|
||||
LIBPMULTITHREAD=-lc_r])
|
||||
fi
|
||||
fi
|
||||
echo "$as_me:__oline__: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&AS_MESSAGE_LOG_FD
|
||||
fi
|
||||
AC_MSG_CHECKING([whether POSIX threads API is available])
|
||||
AC_MSG_RESULT([$gl_pthread_api])
|
||||
AC_SUBST([LIBPTHREAD])
|
||||
AC_SUBST([LIBPMULTITHREAD])
|
||||
if test $gl_pthread_api = yes; then
|
||||
AC_DEFINE([HAVE_PTHREAD_API], [1],
|
||||
[Define if you have the <pthread.h> header and the POSIX threads API.])
|
||||
fi
|
||||
|
||||
dnl On some systems, sched_yield is in librt, rather than in libpthread.
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <sched.h>]],
|
||||
[[sched_yield ();]])],
|
||||
[LIB_SCHED_YIELD=
|
||||
],
|
||||
[dnl Solaris 7...10 has sched_yield in librt, not in libpthread or libc.
|
||||
AC_CHECK_LIB([rt], [sched_yield], [LIB_SCHED_YIELD=-lrt],
|
||||
[dnl Solaris 2.5.1, 2.6 has sched_yield in libposix4, not librt.
|
||||
AC_CHECK_LIB([posix4], [sched_yield], [LIB_SCHED_YIELD=-lposix4])])
|
||||
])
|
||||
AC_SUBST([LIB_SCHED_YIELD])
|
||||
|
||||
gl_pthreadlib_body_done=done
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_PTHREADLIB],
|
||||
[
|
||||
AC_REQUIRE([gl_ANYTHREADLIB_EARLY])
|
||||
gl_PTHREADLIB_BODY
|
||||
])
|
||||
|
||||
dnl ============================================================================
|
||||
dnl Macros for the ISO C API
|
||||
|
||||
dnl gl_STDTHREADLIB
|
||||
dnl ---------------
|
||||
dnl Tests for the libraries needs for using the ISO C threads API.
|
||||
dnl Sets the variable LIBSTDTHREAD to the linker options for use in a Makefile.
|
||||
dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for
|
||||
dnl multithread-safe programs.
|
||||
dnl Defines the C macro HAVE_THREADS_H if (at least parts of) the ISO C threads
|
||||
dnl API is available.
|
||||
|
||||
dnl The guts of gl_STDTHREADLIB. Needs to be expanded only once.
|
||||
|
||||
AC_DEFUN([gl_STDTHREADLIB_BODY],
|
||||
[
|
||||
AC_REQUIRE([gl_ANYTHREADLIB_EARLY])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
if test -z "$gl_stdthreadlib_body_done"; then
|
||||
AC_CHECK_HEADERS_ONCE([threads.h])
|
||||
|
||||
case "$host_os" in
|
||||
mingw*)
|
||||
LIBSTDTHREAD=
|
||||
;;
|
||||
*)
|
||||
gl_PTHREADLIB_BODY
|
||||
if test $ac_cv_header_threads_h = yes; then
|
||||
dnl glibc >= 2.29 has thrd_create in libpthread.
|
||||
dnl FreeBSD >= 10 has thrd_create in libstdthreads; this library depends
|
||||
dnl on libpthread (for the symbol 'pthread_mutexattr_gettype').
|
||||
dnl glibc >= 2.34, AIX >= 7.1, and Solaris >= 11.4 have thrd_create in
|
||||
dnl libc.
|
||||
AC_CHECK_FUNCS([thrd_create])
|
||||
if test $ac_cv_func_thrd_create = yes; then
|
||||
LIBSTDTHREAD=
|
||||
else
|
||||
AC_CHECK_LIB([stdthreads], [thrd_create], [
|
||||
LIBSTDTHREAD='-lstdthreads -lpthread'
|
||||
], [
|
||||
dnl Guess that thrd_create is in libpthread.
|
||||
LIBSTDTHREAD="$LIBPMULTITHREAD"
|
||||
])
|
||||
fi
|
||||
else
|
||||
dnl Libraries needed by thrd.c, mtx.c, cnd.c, tss.c.
|
||||
LIBSTDTHREAD="$LIBPMULTITHREAD $LIB_SCHED_YIELD"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
AC_SUBST([LIBSTDTHREAD])
|
||||
|
||||
AC_MSG_CHECKING([whether ISO C threads API is available])
|
||||
AC_MSG_RESULT([$ac_cv_header_threads_h])
|
||||
gl_stdthreadlib_body_done=done
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_STDTHREADLIB],
|
||||
[
|
||||
AC_REQUIRE([gl_ANYTHREADLIB_EARLY])
|
||||
gl_STDTHREADLIB_BODY
|
||||
])
|
||||
|
||||
dnl ============================================================================
|
||||
dnl Macros for the Gnulib API
|
||||
|
||||
dnl gl_THREADLIB
|
||||
dnl ------------
|
||||
dnl Tests for a multithreading library to be used.
|
||||
@@ -16,8 +391,13 @@ 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_WINDOWS_THREADS
|
||||
dnl Defines at most one of the macros USE_ISOC_THREADS, USE_POSIX_THREADS,
|
||||
dnl USE_ISOC_AND_POSIX_THREADS, USE_WINDOWS_THREADS.
|
||||
dnl The choice --enable-threads=isoc+posix is available only on platforms that
|
||||
dnl have both the ISO C and the POSIX threads APIs. It has the effect of using
|
||||
dnl the ISO C API for most things and the POSIX API only for creating and
|
||||
dnl controlling threads (because there is no equivalent to pthread_atfork in
|
||||
dnl the ISO C API).
|
||||
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).
|
||||
@@ -27,6 +407,9 @@ dnl between LIBTHREAD and LIBMULTITHREAD is that on platforms supporting weak
|
||||
dnl symbols, typically LIBTHREAD is empty whereas LIBMULTITHREAD is not.
|
||||
dnl Adds to CPPFLAGS the flag -D_REENTRANT or -D_THREAD_SAFE if needed for
|
||||
dnl multithread-safe programs.
|
||||
dnl Since support for GNU pth was removed, $LTLIBTHREAD and $LIBTHREAD have the
|
||||
dnl same value, and similarly $LTLIBMULTITHREAD and $LIBMULTITHREAD have the
|
||||
dnl same value. Only system libraries are needed.
|
||||
|
||||
AC_DEFUN([gl_THREADLIB_EARLY],
|
||||
[
|
||||
@@ -50,8 +433,9 @@ AC_DEFUN([gl_THREADLIB_EARLY_BODY],
|
||||
m4_ifdef([gl_THREADLIB_DEFAULT_NO],
|
||||
[m4_divert_text([DEFAULTS], [gl_use_threads_default=no])],
|
||||
[m4_divert_text([DEFAULTS], [gl_use_threads_default=])])
|
||||
m4_divert_text([DEFAULTS], [gl_use_winpthreads_default=])
|
||||
AC_ARG_ENABLE([threads],
|
||||
AS_HELP_STRING([--enable-threads={posix|solaris|pth|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [
|
||||
AS_HELP_STRING([--enable-threads={isoc|posix|isoc+posix|windows}], [specify multithreading API])m4_ifdef([gl_THREADLIB_DEFAULT_NO], [], [
|
||||
AS_HELP_STRING([--disable-threads], [build without multithread safety])]),
|
||||
[gl_use_threads=$enableval],
|
||||
[if test -n "$gl_use_threads_default"; then
|
||||
@@ -62,41 +446,35 @@ changequote(,)dnl
|
||||
dnl Disable multithreading by default on OSF/1, because it interferes
|
||||
dnl with fork()/exec(): When msgexec is linked with -lpthread, its
|
||||
dnl child process gets an endless segmentation fault inside execvp().
|
||||
osf*) gl_use_threads=no ;;
|
||||
dnl Disable multithreading by default on Cygwin 1.5.x, because it has
|
||||
dnl bugs that lead to endless loops or crashes. See
|
||||
dnl <https://cygwin.com/ml/cygwin/2009-08/msg00283.html>.
|
||||
osf*) gl_use_threads=no ;;
|
||||
cygwin*)
|
||||
case `uname -r` in
|
||||
1.[0-5].*) gl_use_threads=no ;;
|
||||
*) gl_use_threads=yes ;;
|
||||
esac
|
||||
;;
|
||||
dnl Obey gl_AVOID_WINPTHREAD on mingw.
|
||||
mingw*)
|
||||
case "$gl_use_winpthreads_default" in
|
||||
yes) gl_use_threads=posix ;;
|
||||
no) gl_use_threads=windows ;;
|
||||
*) gl_use_threads=yes ;;
|
||||
esac
|
||||
;;
|
||||
*) gl_use_threads=yes ;;
|
||||
esac
|
||||
changequote([,])dnl
|
||||
fi
|
||||
])
|
||||
if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
|
||||
# For using <pthread.h>:
|
||||
case "$host_os" in
|
||||
osf*)
|
||||
# On OSF/1, the compiler needs the flag -D_REENTRANT so that it
|
||||
# groks <pthread.h>. cc also understands the flag -pthread, but
|
||||
# we don't use it because 1. gcc-2.95 doesn't understand -pthread,
|
||||
# 2. putting a flag into CPPFLAGS that has an effect on the linker
|
||||
# causes the AC_LINK_IFELSE test below to succeed unexpectedly,
|
||||
# leading to wrong values of LIBTHREAD and LTLIBTHREAD.
|
||||
CPPFLAGS="$CPPFLAGS -D_REENTRANT"
|
||||
;;
|
||||
esac
|
||||
# Some systems optimize for single-threaded programs by default, and
|
||||
# need special flags to disable these optimizations. For example, the
|
||||
# definition of 'errno' in <errno.h>.
|
||||
case "$host_os" in
|
||||
aix* | freebsd* | midnightbsd*) CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE" ;;
|
||||
solaris*) CPPFLAGS="$CPPFLAGS -D_REENTRANT" ;;
|
||||
esac
|
||||
if test "$gl_use_threads" = yes \
|
||||
|| test "$gl_use_threads" = isoc \
|
||||
|| test "$gl_use_threads" = posix \
|
||||
|| test "$gl_use_threads" = isoc+posix; then
|
||||
# For using <threads.h> or <pthread.h>:
|
||||
gl_ANYTHREADLIB_EARLY
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -112,190 +490,69 @@ AC_DEFUN([gl_THREADLIB_BODY],
|
||||
LTLIBMULTITHREAD=
|
||||
if test "$gl_use_threads" != no; then
|
||||
dnl Check whether the compiler and linker support weak declarations.
|
||||
AC_CACHE_CHECK([whether imported symbols can be declared weak],
|
||||
[gl_cv_have_weak],
|
||||
[gl_cv_have_weak=no
|
||||
dnl First, test whether the compiler accepts it syntactically.
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[extern void xyzzy ();
|
||||
#pragma weak xyzzy]],
|
||||
[[xyzzy();]])],
|
||||
[gl_cv_have_weak=maybe])
|
||||
if test $gl_cv_have_weak = maybe; then
|
||||
dnl Second, test whether it actually works. On Cygwin 1.7.2, with
|
||||
dnl gcc 4.3, symbols declared weak always evaluate to the address 0.
|
||||
AC_RUN_IFELSE(
|
||||
[AC_LANG_SOURCE([[
|
||||
#include <stdio.h>
|
||||
#pragma weak fputs
|
||||
int main ()
|
||||
{
|
||||
return (fputs == NULL);
|
||||
}]])],
|
||||
[gl_cv_have_weak=yes],
|
||||
[gl_cv_have_weak=no],
|
||||
[dnl When cross-compiling, assume that only ELF platforms support
|
||||
dnl weak symbols.
|
||||
AC_EGREP_CPP([Extensible Linking Format],
|
||||
[#ifdef __ELF__
|
||||
Extensible Linking Format
|
||||
#endif
|
||||
],
|
||||
[gl_cv_have_weak="guessing yes"],
|
||||
[gl_cv_have_weak="guessing no"])
|
||||
])
|
||||
fi
|
||||
dnl But when linking statically, weak symbols don't work.
|
||||
case " $LDFLAGS " in
|
||||
*" -static "*) gl_cv_have_weak=no ;;
|
||||
esac
|
||||
])
|
||||
if test "$gl_use_threads" = yes || test "$gl_use_threads" = posix; then
|
||||
# On OSF/1, the compiler needs the flag -pthread or -D_REENTRANT so that
|
||||
# it groks <pthread.h>. It's added above, in gl_THREADLIB_EARLY_BODY.
|
||||
AC_CHECK_HEADER([pthread.h],
|
||||
[gl_have_pthread_h=yes], [gl_have_pthread_h=no])
|
||||
if test "$gl_have_pthread_h" = yes; then
|
||||
# Other possible tests:
|
||||
# -lpthreads (FSU threads, PCthreads)
|
||||
# -lgthreads
|
||||
gl_have_pthread=
|
||||
# Test whether both pthread_mutex_lock and pthread_mutexattr_init exist
|
||||
# in libc. IRIX 6.5 has the first one in both libc and libpthread, but
|
||||
# the second one only in libpthread, and lock.c needs it.
|
||||
#
|
||||
# If -pthread works, prefer it to -lpthread, since Ubuntu 14.04
|
||||
# needs -pthread for some reason. See:
|
||||
# https://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
|
||||
save_LIBS=$LIBS
|
||||
for gl_pthread in '' '-pthread'; do
|
||||
LIBS="$LIBS $gl_pthread"
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <pthread.h>
|
||||
pthread_mutex_t m;
|
||||
pthread_mutexattr_t ma;
|
||||
]],
|
||||
[[pthread_mutex_lock (&m);
|
||||
pthread_mutexattr_init (&ma);]])],
|
||||
[gl_have_pthread=yes
|
||||
LIBTHREAD=$gl_pthread LTLIBTHREAD=$gl_pthread
|
||||
LIBMULTITHREAD=$gl_pthread LTLIBMULTITHREAD=$gl_pthread])
|
||||
LIBS=$save_LIBS
|
||||
test -n "$gl_have_pthread" && break
|
||||
done
|
||||
|
||||
# Test for libpthread by looking for pthread_kill. (Not pthread_self,
|
||||
# since it is defined as a macro on OSF/1.)
|
||||
if test -n "$gl_have_pthread" && test -z "$LIBTHREAD"; then
|
||||
# The program links fine without libpthread. But it may actually
|
||||
# need to link with libpthread in order to create multiple threads.
|
||||
AC_CHECK_LIB([pthread], [pthread_kill],
|
||||
[LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread
|
||||
# On Solaris and HP-UX, most pthread functions exist also in libc.
|
||||
# Therefore pthread_in_use() needs to actually try to create a
|
||||
# thread: pthread_create from libc will fail, whereas
|
||||
# pthread_create will actually create a thread.
|
||||
# On Solaris 10 or newer, this test is no longer needed, because
|
||||
# libc contains the fully functional pthread functions.
|
||||
case "$host_os" in
|
||||
solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*)
|
||||
AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1],
|
||||
[Define if the pthread_in_use() detection is hard.])
|
||||
esac
|
||||
])
|
||||
elif test -z "$gl_have_pthread"; then
|
||||
# Some library is needed. Try libpthread and libc_r.
|
||||
AC_CHECK_LIB([pthread], [pthread_kill],
|
||||
[gl_have_pthread=yes
|
||||
LIBTHREAD=-lpthread LTLIBTHREAD=-lpthread
|
||||
LIBMULTITHREAD=-lpthread LTLIBMULTITHREAD=-lpthread])
|
||||
if test -z "$gl_have_pthread"; then
|
||||
# For FreeBSD 4.
|
||||
AC_CHECK_LIB([c_r], [pthread_kill],
|
||||
[gl_have_pthread=yes
|
||||
LIBTHREAD=-lc_r LTLIBTHREAD=-lc_r
|
||||
LIBMULTITHREAD=-lc_r LTLIBMULTITHREAD=-lc_r])
|
||||
fi
|
||||
fi
|
||||
if test -n "$gl_have_pthread"; then
|
||||
gl_WEAK_SYMBOLS
|
||||
if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
|
||||
dnl If we use weak symbols to implement pthread_in_use / pth_in_use /
|
||||
dnl thread_in_use, we also need to test whether the ISO C 11 thrd_create
|
||||
dnl facility is in use.
|
||||
AC_CHECK_HEADERS_ONCE([threads.h])
|
||||
:
|
||||
fi
|
||||
if test "$gl_use_threads" = isoc || test "$gl_use_threads" = isoc+posix; then
|
||||
AC_CHECK_HEADERS_ONCE([threads.h])
|
||||
gl_have_isoc_threads="$ac_cv_header_threads_h"
|
||||
fi
|
||||
if test "$gl_use_threads" = yes \
|
||||
|| test "$gl_use_threads" = posix \
|
||||
|| test "$gl_use_threads" = isoc+posix; then
|
||||
gl_PTHREADLIB_BODY
|
||||
LIBTHREAD=$LIBPTHREAD LTLIBTHREAD=$LIBPTHREAD
|
||||
LIBMULTITHREAD=$LIBPMULTITHREAD LTLIBMULTITHREAD=$LIBPMULTITHREAD
|
||||
if test $gl_pthread_api = yes; then
|
||||
if test "$gl_use_threads" = isoc+posix && test "$gl_have_isoc_threads" = yes; then
|
||||
gl_threads_api='isoc+posix'
|
||||
AC_DEFINE([USE_ISOC_AND_POSIX_THREADS], [1],
|
||||
[Define if the combination of the ISO C and POSIX multithreading APIs can be used.])
|
||||
LIBTHREAD= LTLIBTHREAD=
|
||||
else
|
||||
gl_threads_api=posix
|
||||
AC_DEFINE([USE_POSIX_THREADS], [1],
|
||||
[Define if the POSIX multithreading library can be used.])
|
||||
if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
|
||||
if test -z "$LIBMULTITHREAD" && test -z "$LTLIBMULTITHREAD"; then
|
||||
AC_DEFINE([USE_POSIX_THREADS_FROM_LIBC], [1],
|
||||
[Define if references to the POSIX multithreading library are satisfied by libc.])
|
||||
else
|
||||
if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
|
||||
AC_DEFINE([USE_POSIX_THREADS_WEAK], [1],
|
||||
[Define if references to the POSIX multithreading library should be made weak.])
|
||||
LIBTHREAD=
|
||||
LTLIBTHREAD=
|
||||
LIBTHREAD= LTLIBTHREAD=
|
||||
else
|
||||
case "$host_os" in
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
if test "x$LIBTHREAD" != "x$LIBMULTITHREAD"; then
|
||||
dnl If weak symbols can't tell whether pthread_create(), pthread_key_create()
|
||||
dnl etc. will succeed, we need a runtime test.
|
||||
AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1],
|
||||
[Define if the pthread_in_use() detection is hard.])
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if test -z "$gl_have_pthread"; then
|
||||
if test "$gl_use_threads" = yes || test "$gl_use_threads" = solaris; then
|
||||
gl_have_solaristhread=
|
||||
gl_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS -lthread"
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[
|
||||
#include <thread.h>
|
||||
#include <synch.h>
|
||||
]],
|
||||
[[thr_self();]])],
|
||||
[gl_have_solaristhread=yes])
|
||||
LIBS="$gl_save_LIBS"
|
||||
if test -n "$gl_have_solaristhread"; then
|
||||
gl_threads_api=solaris
|
||||
LIBTHREAD=-lthread
|
||||
LTLIBTHREAD=-lthread
|
||||
LIBMULTITHREAD="$LIBTHREAD"
|
||||
LTLIBMULTITHREAD="$LTLIBTHREAD"
|
||||
AC_DEFINE([USE_SOLARIS_THREADS], [1],
|
||||
[Define if the old Solaris multithreading library can be used.])
|
||||
if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
|
||||
AC_DEFINE([USE_SOLARIS_THREADS_WEAK], [1],
|
||||
[Define if references to the old Solaris multithreading library should be made weak.])
|
||||
LIBTHREAD=
|
||||
LTLIBTHREAD=
|
||||
fi
|
||||
fi
|
||||
if test $gl_threads_api = none; then
|
||||
if test "$gl_use_threads" = isoc && test "$gl_have_isoc_threads" = yes; then
|
||||
gl_STDTHREADLIB_BODY
|
||||
LIBTHREAD=$LIBSTDTHREAD LTLIBTHREAD=$LIBSTDTHREAD
|
||||
LIBMULTITHREAD=$LIBSTDTHREAD LTLIBMULTITHREAD=$LIBSTDTHREAD
|
||||
gl_threads_api=isoc
|
||||
AC_DEFINE([USE_ISOC_THREADS], [1],
|
||||
[Define if the ISO C multithreading library can be used.])
|
||||
fi
|
||||
fi
|
||||
if test "$gl_use_threads" = pth; then
|
||||
gl_save_CPPFLAGS="$CPPFLAGS"
|
||||
AC_LIB_LINKFLAGS([pth])
|
||||
gl_have_pth=
|
||||
gl_save_LIBS="$LIBS"
|
||||
LIBS="$LIBS $LIBPTH"
|
||||
AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM([[#include <pth.h>]], [[pth_self();]])],
|
||||
[gl_have_pth=yes])
|
||||
LIBS="$gl_save_LIBS"
|
||||
if test -n "$gl_have_pth"; then
|
||||
gl_threads_api=pth
|
||||
LIBTHREAD="$LIBPTH"
|
||||
LTLIBTHREAD="$LTLIBPTH"
|
||||
LIBMULTITHREAD="$LIBTHREAD"
|
||||
LTLIBMULTITHREAD="$LTLIBTHREAD"
|
||||
AC_DEFINE([USE_PTH_THREADS], [1],
|
||||
[Define if the GNU Pth multithreading library can be used.])
|
||||
if test -n "$LIBMULTITHREAD" || test -n "$LTLIBMULTITHREAD"; then
|
||||
if case "$gl_cv_have_weak" in *yes) true;; *) false;; esac; then
|
||||
AC_DEFINE([USE_PTH_THREADS_WEAK], [1],
|
||||
[Define if references to the GNU Pth multithreading library should be made weak.])
|
||||
LIBTHREAD=
|
||||
LTLIBTHREAD=
|
||||
fi
|
||||
fi
|
||||
else
|
||||
CPPFLAGS="$gl_save_CPPFLAGS"
|
||||
fi
|
||||
fi
|
||||
if test -z "$gl_have_pthread"; then
|
||||
if test $gl_threads_api = none; then
|
||||
case "$gl_use_threads" in
|
||||
yes | windows | win32) # The 'win32' is for backward compatibility.
|
||||
if { case "$host_os" in
|
||||
@@ -337,6 +594,21 @@ AC_DEFUN([gl_DISABLE_THREADS], [
|
||||
])
|
||||
|
||||
|
||||
dnl gl_AVOID_WINPTHREAD
|
||||
dnl -------------------
|
||||
dnl Sets the gl_THREADLIB default so that on mingw, a dependency to the
|
||||
dnl libwinpthread DLL (mingw-w64 winpthreads library) is avoided.
|
||||
dnl The user can still override it at installation time, by using the
|
||||
dnl configure option '--enable-threads'.
|
||||
|
||||
AC_DEFUN([gl_AVOID_WINPTHREAD], [
|
||||
m4_divert_text([INIT_PREPARE], [gl_use_winpthreads_default=no])
|
||||
])
|
||||
|
||||
|
||||
dnl ============================================================================
|
||||
|
||||
|
||||
dnl Survey of platforms:
|
||||
dnl
|
||||
dnl Platform Available Compiler Supports test-lock
|
||||
@@ -344,7 +616,9 @@ dnl flavours option weak result
|
||||
dnl --------------- --------- --------- -------- ---------
|
||||
dnl Linux 2.4/glibc posix -lpthread Y OK
|
||||
dnl
|
||||
dnl GNU Hurd/glibc posix
|
||||
dnl Linux/glibc 2.34 posix Y OK
|
||||
dnl
|
||||
dnl GNU Hurd/glibc posix -lpthread Y OK
|
||||
dnl
|
||||
dnl Ubuntu 14.04 posix -pthread Y OK
|
||||
dnl
|
||||
@@ -366,7 +640,6 @@ dnl
|
||||
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
|
||||
dnl HP-UX 11 posix -lpthread N (cc) OK
|
||||
dnl Y (gcc)
|
||||
@@ -380,8 +653,6 @@ dnl -lpthread (gcc) Y
|
||||
dnl
|
||||
dnl Cygwin posix -lpthread Y OK
|
||||
dnl
|
||||
dnl Any of the above pth -lpth 0.0
|
||||
dnl
|
||||
dnl Mingw windows N OK
|
||||
dnl
|
||||
dnl BeOS 5 --
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
# wchar_t.m4 serial 4 (gettext-0.18.2)
|
||||
dnl Copyright (C) 2002-2003, 2008-2019 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2002-2003, 2008-2022 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.
|
||||
|
||||
+15
-32
@@ -1,5 +1,5 @@
|
||||
# wint_t.m4 serial 7
|
||||
dnl Copyright (C) 2003, 2007-2019 Free Software Foundation, Inc.
|
||||
# wint_t.m4 serial 11
|
||||
dnl Copyright (C) 2003, 2007-2022 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,15 +14,7 @@ AC_DEFUN([gt_TYPE_WINT_T],
|
||||
AC_CACHE_CHECK([for wint_t], [gt_cv_c_wint_t],
|
||||
[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>
|
||||
[[#include <wchar.h>
|
||||
wint_t foo = (wchar_t)'\0';]],
|
||||
[[]])],
|
||||
[gt_cv_c_wint_t=yes],
|
||||
@@ -32,33 +24,24 @@ AC_DEFUN([gt_TYPE_WINT_T],
|
||||
|
||||
dnl Determine whether gnulib's <wchar.h> or <wctype.h> would, if present,
|
||||
dnl override 'wint_t'.
|
||||
AC_CACHE_CHECK([whether wint_t is too small],
|
||||
[gl_cv_type_wint_t_too_small],
|
||||
AC_CACHE_CHECK([whether wint_t is large enough],
|
||||
[gl_cv_type_wint_t_large_enough],
|
||||
[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>. */
|
||||
#if !(defined __GLIBC__ && !defined __UCLIBC__)
|
||||
# include <stddef.h>
|
||||
# include <stdio.h>
|
||||
# include <time.h>
|
||||
#endif
|
||||
#include <wchar.h>
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <wchar.h>
|
||||
int verify[sizeof (wint_t) < sizeof (int) ? -1 : 1];
|
||||
]])],
|
||||
[gl_cv_type_wint_t_too_small=no],
|
||||
[gl_cv_type_wint_t_too_small=yes])])
|
||||
if test $gl_cv_type_wint_t_too_small = yes; then
|
||||
GNULIB_OVERRIDES_WINT_T=1
|
||||
]])],
|
||||
[gl_cv_type_wint_t_large_enough=yes],
|
||||
[gl_cv_type_wint_t_large_enough=no])])
|
||||
if test $gl_cv_type_wint_t_large_enough = no; then
|
||||
GNULIBHEADERS_OVERRIDE_WINT_T=1
|
||||
else
|
||||
GNULIB_OVERRIDES_WINT_T=0
|
||||
GNULIBHEADERS_OVERRIDE_WINT_T=0
|
||||
fi
|
||||
else
|
||||
GNULIB_OVERRIDES_WINT_T=0
|
||||
GNULIBHEADERS_OVERRIDE_WINT_T=0
|
||||
fi
|
||||
AC_SUBST([GNULIB_OVERRIDES_WINT_T])
|
||||
AC_SUBST([GNULIBHEADERS_OVERRIDE_WINT_T])
|
||||
])
|
||||
|
||||
dnl Prerequisites of the 'wint_t' override.
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
# xsize.m4 serial 5
|
||||
dnl Copyright (C) 2003-2004, 2008-2019 Free Software Foundation, Inc.
|
||||
dnl Copyright (C) 2003-2004, 2008-2022 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.
|
||||
|
||||
Reference in New Issue
Block a user