From: Bruno Haible Date: Sun, 20 Jun 2021 01:43:32 +0000 (+0200) Subject: build: Move most of intl.m4 into gettext-runtime/intl/configure.ac. X-Git-Tag: v0.22~245 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=184ac90c977c00d88e8e995b3d7c565a087495d9;p=thirdparty%2Fgettext.git build: Move most of intl.m4 into gettext-runtime/intl/configure.ac. * gettext-runtime/m4/gettext.m4 (AM_GNU_GETTEXT): Don't invoke AM_INTL_SUBDIR. * gettext-runtime/m4/intl.m4 (AM_INTL_SUBDIR, gt_GL_ATTRIBUTE): Remove macros. (gt_INTL_SUBDIR_CORE): Test for uselocale. * gnulib-local/modules/gettext-runtime-intl-misc (configure.ac): Ensure LOCALENAME_ENHANCE_LOCALE_FUNCS initialization. * autogen.sh (GNULIB_MODULES_LIBINTL): Add lib-symbol-visibility, localename. * gettext-runtime/intl/configure.ac: Set WINDRES. Invoke gt_INTL_SUBDIR_CORE. Set HAVE_POSIX_PRINTF, HAVE_ASPRINTF, HAVE_SNPRINTF, HAVE_WPRINTF, HAVE_NEWLOCALE. Test for features.h, _snprintf, _snwprintf. Set ENHANCE_LOCALE_FUNCS, WOE32DLL. --- diff --git a/autogen.sh b/autogen.sh index e91c616cb..4c8ce9506 100755 --- a/autogen.sh +++ b/autogen.sh @@ -109,7 +109,9 @@ if ! $skip_gnulib; then bison filename havelib + lib-symbol-visibility localcharset + localename lock relocatable-lib-lgpl tsearch diff --git a/gettext-runtime/intl/configure.ac b/gettext-runtime/intl/configure.ac index 7325360d3..13d7cfa70 100644 --- a/gettext-runtime/intl/configure.ac +++ b/gettext-runtime/intl/configure.ac @@ -1,5 +1,5 @@ dnl Configuration for the gettext-runtime directory of GNU gettext -dnl Copyright (C) 1995-2010, 2012-2015, 2018-2021 Free Software Foundation, Inc. +dnl Copyright (C) 1995-2016, 2018-2021 Free Software Foundation, Inc. dnl dnl This program is free software: you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -66,6 +66,10 @@ case "$host_os" in *) is_woe32=no ;; esac AM_CONDITIONAL([WOE32], [test $is_woe32 = yes]) +if test $is_woe32 = yes; then + dnl Check for a program that compiles Windows resource files. + AC_CHECK_TOOL([WINDRES], [windres]) +fi dnl Some code is only meant to be compiled on native Windows. case "$host_os" in @@ -88,6 +92,60 @@ AM_CONDITIONAL([PRELOADABLE_LIBINTL], dnl Checks for header files, functions and declarations. gl_INIT +gt_INTL_SUBDIR_CORE + +gt_PRINTF_POSIX +case $gt_cv_func_printf_posix in + *yes) HAVE_POSIX_PRINTF=1 ;; + *) HAVE_POSIX_PRINTF=0 ;; +esac +AC_SUBST([HAVE_POSIX_PRINTF]) + +AC_CHECK_FUNCS_ONCE([asprintf]) +if test "$ac_cv_func_asprintf" = yes; then + HAVE_ASPRINTF=1 +else + HAVE_ASPRINTF=0 +fi +AC_SUBST([HAVE_ASPRINTF]) + +AC_CHECK_FUNCS_ONCE([snprintf]) +if test "$ac_cv_func_snprintf" = yes; then + HAVE_SNPRINTF=1 +else + HAVE_SNPRINTF=0 +fi +AC_SUBST([HAVE_SNPRINTF]) + +AC_CHECK_FUNCS_ONCE([wprintf]) +if test "$ac_cv_func_wprintf" = yes; then + HAVE_WPRINTF=1 +else + HAVE_WPRINTF=0 +fi +AC_SUBST([HAVE_WPRINTF]) + +AC_CHECK_FUNCS_ONCE([newlocale]) +if test "$ac_cv_func_newlocale" = yes; then + HAVE_NEWLOCALE=1 +else + HAVE_NEWLOCALE=0 +fi +AC_SUBST([HAVE_NEWLOCALE]) + +AC_CHECK_HEADERS([features.h]) + +dnl Use the _snprintf function only if it is declared (because on NetBSD it +dnl is defined as a weak alias of snprintf; we prefer to use the latter). +AC_CHECK_DECLS([_snprintf, _snwprintf], , , [#include ]) + +if test $gt_localename_enhances_locale_funcs = yes; then + ENHANCE_LOCALE_FUNCS=1 +else + ENHANCE_LOCALE_FUNCS=0 +fi +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 dnl auxiliary pointer variables for every exported variable, @@ -103,6 +161,8 @@ if test "$enable_shared" = yes; then else is_woe32dll=no fi +WOE32DLL=$is_woe32dll +AC_SUBST([WOE32DLL]) AM_CONDITIONAL([WOE32DLL], [test $is_woe32dll = yes]) if test $is_woe32dll = yes; then AC_DEFINE([WOE32DLL], [1], diff --git a/gettext-runtime/m4/gettext.m4 b/gettext-runtime/m4/gettext.m4 index f1ebd543f..c799ba2bf 100644 --- a/gettext-runtime/m4/gettext.m4 +++ b/gettext-runtime/m4/gettext.m4 @@ -1,4 +1,4 @@ -# gettext.m4 serial 73 (gettext-0.21.1) +# gettext.m4 serial 74 (gettext-0.21.1) dnl Copyright (C) 1995-2014, 2016, 2018-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, @@ -66,17 +66,12 @@ AC_DEFUN([AM_GNU_GETTEXT], 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_building_libintl_here], - m4_if([$1], [here], [yes], [no])) define([gt_building_libintl_in_same_build_tree], m4_if([$1], [use-libtool], [yes], [m4_if([$1], [here], [yes], [no])])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl - m4_if(gt_building_libintl_here, yes, [ - AC_REQUIRE([AM_INTL_SUBDIR])dnl - ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) diff --git a/gettext-runtime/m4/intl.m4 b/gettext-runtime/m4/intl.m4 index 5453f195e..b632e1602 100644 --- a/gettext-runtime/m4/intl.m4 +++ b/gettext-runtime/m4/intl.m4 @@ -1,4 +1,4 @@ -# intl.m4 serial 49 (gettext-0.21.1) +# intl.m4 serial 50 (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, @@ -19,150 +19,6 @@ dnl Bruno Haible , 2000-2009. AC_PREREQ([2.60]) -dnl Checks for all prerequisites of the intl subdirectory, -dnl except for LIBTOOL, USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. -AC_DEFUN([AM_INTL_SUBDIR], -[ - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AC_PROG_MKDIR_P])dnl - AC_REQUIRE([AC_PROG_CC])dnl - AC_REQUIRE([AC_CANONICAL_HOST])dnl - AC_REQUIRE([gt_GLIBC2])dnl - AC_REQUIRE([gl_VISIBILITY])dnl - AC_REQUIRE([gt_INTL_SUBDIR_CORE])dnl - AC_REQUIRE([AC_TYPE_LONG_LONG_INT])dnl - AC_REQUIRE([gt_TYPE_WCHAR_T])dnl - AC_REQUIRE([gt_TYPE_WINT_T])dnl - AC_REQUIRE([gl_AC_HEADER_INTTYPES_H]) - AC_REQUIRE([gt_TYPE_INTMAX_T]) - AC_REQUIRE([gt_PRINTF_POSIX]) - 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 - AC_REQUIRE([AC_C_FLEXIBLE_ARRAY_MEMBER])dnl - - dnl In projects that use gnulib, use gl_PROG_AR_RANLIB. - dnl The '][' hides this use from 'aclocal'. - m4_ifdef([g][l_PROG_AR_RANLIB], - [AC_REQUIRE([g][l_PROG_AR_RANLIB])], - [AC_REQUIRE([AC_PROG_RANLIB]) - dnl Use Automake-documented default values for AR and ARFLAGS, but prefer - dnl ${host}-ar over ar (useful for cross-compiling). - AC_CHECK_TOOL([AR], [ar], [ar]) - if test -z "$ARFLAGS"; then - ARFLAGS='cr' - fi - AC_SUBST([AR]) - AC_SUBST([ARFLAGS]) - ]) - - dnl Support for automake's --enable-silent-rules. - case "$enable_silent_rules" in - yes) INTL_DEFAULT_VERBOSITY=0;; - no) INTL_DEFAULT_VERBOSITY=1;; - *) INTL_DEFAULT_VERBOSITY=1;; - esac - AC_SUBST([INTL_DEFAULT_VERBOSITY]) - - AC_CHECK_TYPE([ptrdiff_t], , - [AC_DEFINE([ptrdiff_t], [long], - [Define as the type of the result of subtracting two pointers, if the system doesn't define it.]) - ]) - AC_CHECK_HEADERS([features.h stddef.h stdlib.h string.h]) - 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 - dnl is defined as a weak alias of snprintf; we prefer to use the latter). - AC_CHECK_DECLS([_snprintf, _snwprintf], , , [#include ]) - - dnl Use the *_unlocked functions only if they are declared. - dnl (because some of them were defined without being declared in Solaris - dnl 2.5.1 but were removed in Solaris 2.6, whereas we want binaries built - dnl on Solaris 2.5.1 to run on Solaris 2.6). - AC_CHECK_DECLS([getc_unlocked], , , [#include ]) - - case $gt_cv_func_printf_posix in - *yes) HAVE_POSIX_PRINTF=1 ;; - *) HAVE_POSIX_PRINTF=0 ;; - esac - AC_SUBST([HAVE_POSIX_PRINTF]) - if test "$ac_cv_func_asprintf" = yes; then - HAVE_ASPRINTF=1 - else - HAVE_ASPRINTF=0 - fi - AC_SUBST([HAVE_ASPRINTF]) - if test "$ac_cv_func_snprintf" = yes; then - HAVE_SNPRINTF=1 - else - HAVE_SNPRINTF=0 - fi - AC_SUBST([HAVE_SNPRINTF]) - if test "$ac_cv_func_newlocale" = yes; then - HAVE_NEWLOCALE=1 - else - HAVE_NEWLOCALE=0 - fi - AC_SUBST([HAVE_NEWLOCALE]) - if test "$ac_cv_func_wprintf" = yes; then - HAVE_WPRINTF=1 - else - HAVE_WPRINTF=0 - fi - AC_SUBST([HAVE_WPRINTF]) - - AM_LANGINFO_CODESET - gt_LC_MESSAGES - - if test $gt_localename_enhances_locale_funcs = yes; then - ENHANCE_LOCALE_FUNCS=1 - else - ENHANCE_LOCALE_FUNCS=0 - fi - 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 - dnl auxiliary pointer variables for every exported variable, - dnl 2. when we install a shared library and a static library simultaneously, - dnl the include file specifies __declspec(dllimport) and therefore we - dnl must arrange to define the auxiliary pointer variables for the - dnl exported variables _also_ in the static library. - if test "$enable_shared" = yes; then - case "$host_os" in - mingw* | cygwin*) is_woe32dll=yes ;; - *) is_woe32dll=no ;; - esac - else - is_woe32dll=no - fi - WOE32DLL=$is_woe32dll - AC_SUBST([WOE32DLL]) - - dnl On mingw and Cygwin, we can activate special Makefile rules which add - dnl version information to the shared libraries and executables. - case "$host_os" in - mingw* | cygwin*) is_woe32=yes ;; - *) is_woe32=no ;; - esac - WOE32=$is_woe32 - AC_SUBST([WOE32]) - if test $WOE32 = yes; then - dnl Check for a program that compiles Windows resource files. - AC_CHECK_TOOL([WINDRES], [windres]) - fi -]) - - dnl Checks for the core files of the intl subdirectory: dnl dcigettext.c dnl eval-plural.h @@ -200,7 +56,7 @@ AC_DEFUN([gt_INTL_SUBDIR_CORE], AC_CHECK_HEADERS([inttypes.h limits.h unistd.h sys/param.h]) AC_CHECK_FUNCS([getcwd getegid geteuid getgid getuid mempcpy munmap \ - stpcpy strcasecmp strdup strtoul __fsetlocking]) + stpcpy strcasecmp strdup strtoul uselocale __fsetlocking]) dnl Use the *_unlocked functions only if they are declared. dnl (because some of them were defined without being declared in Solaris @@ -221,29 +77,3 @@ AC_DEFUN([gt_INTL_SUBDIR_CORE], dnl present or too old. gl_PROG_BISON([INTLBISON], [3.0]) ]) - -dnl Copies _GL_UNUSED and _GL_ATTRIBUTE_PURE definitions from -dnl gnulib-common.m4 as a fallback, if the project isn't using Gnulib. -AC_DEFUN([gt_GL_ATTRIBUTE], [ - m4_ifndef([gl_[]COMMON], - AH_VERBATIM([gt_gl_attribute], -[/* Define as a marker that can be attached to declarations that might not - be used. This helps to reduce warnings, such as from - GCC -Wunused-parameter. */ -#ifndef _GL_UNUSED -# if __GNUC__ >= 3 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7) -# define _GL_UNUSED __attribute__ ((__unused__)) -# else -# define _GL_UNUSED -# endif -#endif - -/* The __pure__ attribute was added in gcc 2.96. */ -#ifndef _GL_ATTRIBUTE_PURE -# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -# else -# define _GL_ATTRIBUTE_PURE /* empty */ -# endif -#endif -]))]) diff --git a/gnulib-local/modules/gettext-runtime-intl-misc b/gnulib-local/modules/gettext-runtime-intl-misc index a6d5feb4f..1c9f3c758 100644 --- a/gnulib-local/modules/gettext-runtime-intl-misc +++ b/gnulib-local/modules/gettext-runtime-intl-misc @@ -5,6 +5,10 @@ Files: Depends-on: configure.ac: +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]) Makefile.am: # Parameterization of the 'relocatable-lib-lgpl' module.