diff --git a/.gitattributes b/.gitattributes index 1737e98..034d771 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,17 +1,17 @@ -Makefile.am ident -/configure.ac ident -/build-aux/bootstrap ident -/build-aux/msgfmt-appdata ident -/build-aux/msgfmt-desktop ident -/data/trader.appdata.xml.in ident -/data/trader.desktop.in ident -/data/trader.svg ident -/doc/trader.* ident -/lib/obsolete-strings.c ident -/lib/xopen-source.h ident -/m4/xopen-source.m4 ident -/po/LINGUAS ident -/po/Makevars ident -/po/POTFILES.in ident -/src/*.c ident -/src/*.h ident +Makefile.am ident +/configure.ac ident +/build-aux/bootstrap ident +/build-aux/msgfmt-desktop ident +/build-aux/msgfmt-metainfo ident +/data/au.org.zap.trader.desktop.in ident +/data/au.org.zap.trader.metainfo.xml.in ident +/data/trader.svg ident +/doc/trader.* ident +/lib/obsolete-strings.c ident +/lib/xopen-source.h ident +/m4/xopen-source.m4 ident +/po/LINGUAS ident +/po/Makevars ident +/po/POTFILES.in ident +/src/*.c ident +/src/*.h ident diff --git a/COPYING b/COPYING index 7e56428..31d14a2 100644 --- a/COPYING +++ b/COPYING @@ -4,7 +4,7 @@ Star Traders: A Game of Interstellar Trading ============================================ -**Copyright © 1990–2022, John Zaitseff.** +**Copyright © 1990–2024, John Zaitseff.** The Star Traders game is free software that is distributed under the terms of the GNU General Public License. The actual copyright on this diff --git a/INSTALL b/INSTALL index 3090f59..559cda0 100644 --- a/INSTALL +++ b/INSTALL @@ -46,7 +46,7 @@ and installation: wide-character version of Curses, such as NcursesW, to work correctly. -4. The GNU Gettext library, version 0.20 or later, to allow the game to +4. The GNU Gettext library, version 0.21 or later, to allow the game to use languages other than English; this is also called Native Language Support. If you do not have this library (and do not wish to install it), you may pass ``--disable-nls`` to the configure script. @@ -143,11 +143,11 @@ This feature requires GNU Make and allows you to keep the source code tree from being modified by the compilation process. To use this option, create a separate `build` directory, then run ``configure``. For example, if you placed the Star Traders source code tree in -`$HOME/src/trader-7.18`, you could run something like:: +`$HOME/src/trader-7.19`, you could run something like:: - mkdir $HOME/build/trader-build-7.18 - cd $HOME/build/trader-build-7.18 - $HOME/src/trader-7.18/configure + mkdir $HOME/build/trader-build-7.19 + cd $HOME/build/trader-build-7.19 + $HOME/src/trader-7.19/configure Once again, the `Autoconf manual`__ describes these options (and many others). @@ -205,48 +205,50 @@ Tested Systems The following operating systems and compilers have been successfully tested with this version of Star Traders: -==================================== ====== ===== ======================== +==================================== ====== ===== ========================= Linux distribution Arch Glibc Compiler -==================================== ====== ===== ======================== -Debian GNU/Linux Unstable (Sid) x86_64 2.33 GNU C Compiler 12.1.0 -Debian GNU/Linux Unstable (Sid) x86_64 2.33 Clang (LLVM) 14.0.6 -Debian GNU/Linux 11.4 (Bullseye) x86_64 2.31 GNU C Compiler 10.2.1 -Debian GNU/Linux 11.4 (Bullseye) x86_64 2.31 Clang (LLVM) 11.0.1 -Ubuntu 22.04.1 LTS (Jammy Jellyfish) x86_64 2.35 GNU C Compiler 11.2.0 -Ubuntu 22.04.1 LTS (Jammy Jellyfish) x86_64 2.35 Clang (LLVM) 14.0.0 -Ubuntu 22.04.1 LTS (Jammy Jellyfish) x86_64 2.35 NVIDIA HPC SDK 22.7 -Ubuntu 20.04.4 LTS (Focal Fossa) x86_64 2.31 GNU C Compiler 9.4.0 +==================================== ====== ===== ========================= +Debian GNU/Linux Unstable (Sid) x86_64 2.37 GNU C Compiler 13.2.0 +Debian GNU/Linux Unstable (Sid) x86_64 2.37 Clang (LLVM) 16.0.6 +Debian GNU/Linux 12.4 (Bookworm) x86_64 2.36 GNU C Compiler 12.2.0 +Debian GNU/Linux 12.4 (Bookworm) x86_64 2.36 Clang (LLVM) 14.0.6 +Ubuntu 23.10 (Mantic Minotaur) x86_64 2.38 GNU C Compiler 13.2.0 +Ubuntu 23.10 (Mantic Minotaur) x86_64 2.38 Clang (LLVM) 16.0.6 +Ubuntu 22.04.3 LTS (Jammy Jellyfish) x86_64 2.35 GNU C Compiler 11.4.0 +Ubuntu 22.04.3 LTS (Jammy Jellyfish) x86_64 2.35 Clang (LLVM) 14.0.0 +Ubuntu 20.04.6 LTS (Focal Fossa) x86_64 2.31 GNU C Compiler 9.4.0 +Ubuntu 20.04.6 LTS (Focal Fossa) x86_64 2.31 Clang (LLVM) 10.0.0 Ubuntu 18.04.6 LTS (Bionic Beaver) x86_64 2.27 GNU C Compiler 7.5.0 -Fedora Linux 36 x86_64 2.35 GNU C Compiler 12.1.1 -Red Hat Enterprise Linux 9.0 x86_64 2.34 GNU C Compiler 11.2.1 -Red Hat Enterprise Linux 8.6 x86_64 2.28 GNU C Compiler 8.5.0 +Ubuntu 18.04.6 LTS (Bionic Beaver) x86_64 2.27 Clang (LLVM) 6.0 +Fedora Linux 39 x86_64 2.38 GNU C Compiler 13.2.1 +Red Hat Enterprise Linux 9.3 x86_64 2.34 GNU C Compiler 11.4.1 +Red Hat Enterprise Linux 8.9 x86_64 2.28 GNU C Compiler 8.5.0 Red Hat Enterprise Linux 7.9 x86_64 2.17 GNU C Compiler 4.8.5 Red Hat Enterprise Linux 6.10 x86_64 2.12 GNU C Compiler 4.4.7 -CentOS Stream 9 x86_64 2.34 GNU C Compiler 11.3.1 +CentOS Stream 9 x86_64 2.34 GNU C Compiler 11.4.1 CentOS Stream 8 x86_64 2.28 GNU C Compiler 8.5.0 CentOS 7.9.2009 x86_64 2.17 GNU C Compiler 4.8.5 -Rocky Linux 8.6 x86_64 2.28 GNU C Compiler 8.5.0 -Rocky Linux 8.6 x86_64 2.28 Intel C Classic 2021.6.0 -Rocky Linux 8.6 x86_64 2.28 Intel oneAPI C 2022.1.0 -openSUSE Leap 15.4 x86_64 2.31 GNU C Compiler 7.5.0 -Arch Linux (2022.08.01) x86_64 2.36 GNU C Compiler 12.1.1 -==================================== ====== ===== ======================== +Rocky Linux 8.8 x86_64 2.28 GNU C Compiler 8.5.0 +Rocky Linux 8.8 x86_64 2.28 Intel oneAPI C 2023.2.0 +Rocky Linux 8.8 x86_64 2.28 Intel C Classic 2021.10.0 +openSUSE Leap 15.5 x86_64 2.31 GNU C Compiler 7.5.0 +Arch Linux (2024.01.05) x86_64 2.38 GNU C Compiler 13.2.1 +==================================== ====== ===== ========================= -========================= ====== ============================ ============ -Operating system Arch Compiler Notes -========================= ====== ============================ ============ -FreeBSD 13.1 x86_64 Clang (LLVM) 13.0.0 [#freebsd1]_ -NetBSD 9.2 x86_64 GNU C Compiler 7.5.0 [#netbsd1]_ -macOS 12.5 x86_64 Apple Clang (LLVM) 13.1.6 [#macos1]_ -macOS 12.5 x86_64 Apple Clang (LLVM) 13.1.6 [#macos2]_ -Solaris 11.4.42 (x86_64) x86_64 GNU C Compiler 11.2.0 [#solaris1]_ -Solaris 11.4.42 (x86_64) i386 GNU C Compiler 11.2.0 [#solaris2]_ -Solaris 11.4.42 (x86_64) x86_64 Oracle Developer Studio 12.6 [#solaris3]_ -Solaris 11.4.42 (x86_64) i386 Oracle Developer Studio 12.6 [#solaris4]_ -Haiku R1/beta3 x86_64 GNU C Compiler 11.2.0 -Cygwin 3.3.5 (Windows 10) x86_64 GNU C Compiler 11.3.0 -Cygwin 3.3.5 (Windows 7) i686 GNU C Compiler 11.3.0 -========================= ====== ============================ ============ +========================== ====== ============================ ============ +Operating system Arch Compiler Notes +========================== ====== ============================ ============ +FreeBSD 14.0 x86_64 Clang (LLVM) 16.0.6 [#freebsd1]_ +NetBSD 9.3 x86_64 GNU C Compiler 7.5.0 [#netbsd1]_ +macOS 12.6 x86_64 Apple Clang (LLVM) 14.0.0 [#macos1]_ +macOS 12.6 x86_64 Apple Clang (LLVM) 14.0.0 [#macos2]_ +Solaris 11.4.42 (x86_64) x86_64 GNU C Compiler 11.2.0 [#solaris1]_ +Solaris 11.4.42 (x86_64) i386 GNU C Compiler 11.2.0 [#solaris2]_ +Solaris 11.4.42 (x86_64) x86_64 Oracle Developer Studio 12.6 [#solaris3]_ +Solaris 11.4.42 (x86_64) i386 Oracle Developer Studio 12.6 [#solaris4]_ +Haiku R1/beta4 x86_64 GNU C Compiler 13.2.0 +Cygwin 3.4.10 (Windows 10) x86_64 GNU C Compiler 11.4.0 +========================== ====== ============================ ============ .. [#freebsd1] FreeBSD with the ``gettext``, ``gettext-runtime``, ``gettext-tools`` and ``libiconv`` binary packages installed with @@ -271,16 +273,15 @@ Cygwin 3.3.5 (Windows 7) i686 GNU C Compiler 11.3.0 ``C.UTF-8`` locale works correctly. .. [#macos1] macOS with Xcode command line tools, with the ``gettext`` - package installed with Homebrew, using:: + and ``pkg-config`` packages installed with Homebrew, using:: - ./configure --with-libintl-prefix=/usr/local/opt/gettext + ./configure .. [#macos2] macOS with Xcode command line tools, with the ``gettext``, ``ncurses`` and ``pkg-config`` packages installed with Homebrew, using:: - ./configure --with-libintl-prefix=/usr/local/opt/gettext \ - PKG_CONFIG_PATH=/usr/local/opt/ncurses/lib/pkgconfig + ./configure PKG_CONFIG_PATH=/usr/local/opt/ncurses/lib/pkgconfig .. [#solaris1] Solaris, using:: @@ -312,9 +313,17 @@ list is almost certainly not exhaustive: ================ ====== ==================== ============ Operating system Arch Compiler Notes ================ ====== ==================== ============ -OpenBSD 7.1 x86_64 Clang (LLVM) 13.0.0 [#openbsd1]_ +Linux (any) x86_64 NVIDIA HPC SDK 23.11 [#nvidia1]_ +OpenBSD 7.4 x86_64 Clang (LLVM) 13.0.0 [#openbsd1]_ ================ ====== ==================== ============ +.. [#nvidia1] The `NVIDIA HPC SDK`__ 23.11 compiler (and possibly earlier + versions) does not work due to a bug in ``nvc -E`` preprocessor + output. See the `bug report`__ for further details. + + __ https://developer.nvidia.com/nvidia-hpc-sdk-releases + __ https://forums.developer.nvidia.com/t/hpc-sdk-does-not-work-with-autoconf-automake-based-projects/277894 + .. [#openbsd1] The OpenBSD C library does not include :code:`` nor its associated functions, particularly :code:`strfmon()`. @@ -335,7 +344,7 @@ will need the following additional tools installed on your system to do so: 1. `Autoconf`__ v2.71 or later -2. `Automake`__ v1.15 or later +2. `Automake`__ v1.16 or later 3. `pkgconf`__ v0.9.0 or later, or `pkg-config`__ v0.29 or later 4. `GNU Portability Library`__ diff --git a/Makefile.am b/Makefile.am index 7d56c2f..03ab756 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### @@ -33,7 +33,7 @@ SUBDIRS = lib src po data doc m4 # Additional files to distribute EXTRA_DIST = \ build-aux/bootstrap \ - build-aux/msgfmt-appdata \ build-aux/msgfmt-desktop \ + build-aux/msgfmt-metainfo \ lib/obsolete-strings.c \ lib/xopen-source.h diff --git a/Makefile.in b/Makefile.in index d776acc..10aeda3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -17,12 +17,12 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### # Author: John Zaitseff -# $Id: 7d56c2f130d0668fbcf3875eb7c726cb49ef52a6 $ +# $Id: 03ab756a159662f2f40309afc7fc0d05258744b9 $ # # This file, Makefile.am, contains the top-level Makefile for Star # Traders. It needs to be processed by automake to produce the @@ -119,14 +119,15 @@ subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/assert.m4 \ + $(top_srcdir)/m4/assert_h.m4 \ $(top_srcdir)/m4/ax_c___attribute__.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ $(top_srcdir)/m4/ax_compiler_vendor.m4 \ $(top_srcdir)/m4/ax_prepend_flag.m4 \ $(top_srcdir)/m4/ax_require_defined.m4 \ $(top_srcdir)/m4/ax_with_curses.m4 $(top_srcdir)/m4/btowc.m4 \ - $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ - $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/c-bool.m4 $(top_srcdir)/m4/codeset.m4 \ + $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/free.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ @@ -144,9 +145,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/monetary_h.m4 \ - $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nocrash.m4 \ - $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/setlocale_null.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \ + $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/musl.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/setlocale_null.m4 $(top_srcdir)/m4/ssize_t.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ @@ -284,6 +285,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ +ASSERT_H = @ASSERT_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -395,6 +397,7 @@ GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@ GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@ GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@ GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@ +GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@ GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@ GL_GNULIB_GETTIMEOFDAY = @GL_GNULIB_GETTIMEOFDAY@ GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@ @@ -408,6 +411,7 @@ GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@ GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@ GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@ GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@ +GL_GNULIB_ISWPUNCT = @GL_GNULIB_ISWPUNCT@ GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@ GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@ GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@ @@ -439,6 +443,8 @@ GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@ GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@ GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@ GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@ +GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@ +GL_GNULIB_MBSZERO = @GL_GNULIB_MBSZERO@ GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@ GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@ GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@ @@ -483,6 +489,7 @@ GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@ GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@ GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@ GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@ +GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@ GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@ GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@ GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@ @@ -517,6 +524,7 @@ GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@ GL_GNULIB_PUTS = @GL_GNULIB_PUTS@ GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@ GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@ +GL_GNULIB_RAND = @GL_GNULIB_RAND@ GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@ GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@ GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@ @@ -577,6 +585,7 @@ GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@ GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@ GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@ GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@ +GL_GNULIB_TIME = @GL_GNULIB_TIME@ GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@ GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@ GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@ @@ -638,6 +647,7 @@ GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@ GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@ GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@ GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@ +GL_GNULIB_WGETCWD = @GL_GNULIB_WGETCWD@ GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@ GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@ GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@ @@ -649,8 +659,8 @@ GL_GNULIB__EXIT = @GL_GNULIB__EXIT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@ -GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GREP = @GREP@ +HARD_LOCALE_LIB = @HARD_LOCALE_LIB@ HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -678,6 +688,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ +HAVE_DECL_GETW = @HAVE_DECL_GETW@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ @@ -685,6 +696,8 @@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ +HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@ +HAVE_DECL_PUTW = @HAVE_DECL_PUTW@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ @@ -733,11 +746,14 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETPASS = @HAVE_GETPASS@ +HAVE_GETPROGNAME = @HAVE_GETPROGNAME@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GETUMASK = @HAVE_GETUMASK@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXABS = @HAVE_IMAXABS@ +HAVE_IMAXDIV = @HAVE_IMAXDIV@ HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ @@ -757,6 +773,7 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ @@ -835,6 +852,7 @@ HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@ HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ +HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_USLEEP = @HAVE_USLEEP@ @@ -883,7 +901,6 @@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMPCPY = @HAVE_WMEMPCPY@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ -HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ ICONV_CONST = @ICONV_CONST@ ICONV_H = @ICONV_H@ @@ -898,6 +915,10 @@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@ +LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@ +LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@ +LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@ LDFLAGS = @LDFLAGS@ LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ @@ -925,11 +946,14 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MBRTOWC_LIB = @MBRTOWC_LIB@ MKDIR_P = @MKDIR_P@ MONETARY_H = @MONETARY_H@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ +NEXT_ASSERT_H = @NEXT_ASSERT_H@ +NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ @@ -999,6 +1023,7 @@ REPLACE_CTIME = @REPLACE_CTIME@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUP3 = @REPLACE_DUP3@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_EXECL = @REPLACE_EXECL@ REPLACE_EXECLE = @REPLACE_EXECLE@ @@ -1008,9 +1033,11 @@ REPLACE_EXECVE = @REPLACE_EXECVE@ REPLACE_EXECVP = @REPLACE_EXECVP@ REPLACE_EXECVPE = @REPLACE_EXECVPE@ REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ +REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCHMODAT = @REPLACE_FCHMODAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ +REPLACE_FDATASYNC = @REPLACE_FDATASYNC@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FFSLL = @REPLACE_FFSLL@ @@ -1033,22 +1060,29 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ +REPLACE_GETENTROPY = @REPLACE_GETENTROPY@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ +REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETPASS = @REPLACE_GETPASS@ REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@ +REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@ +REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ +REPLACE_IMAXABS = @REPLACE_IMAXABS@ +REPLACE_IMAXDIV = @REPLACE_IMAXDIV@ REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@ +REPLACE_ISWPUNCT = @REPLACE_ISWPUNCT@ REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ @@ -1066,14 +1100,19 @@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ +REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@ REPLACE_MBTOWC = @REPLACE_MBTOWC@ +REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MEMPCPY = @REPLACE_MEMPCPY@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKNODAT = @REPLACE_MKNODAT@ +REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@ +REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ @@ -1081,8 +1120,10 @@ REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ +REPLACE_PIPE2 = @REPLACE_PIPE2@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@ +REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ @@ -1090,6 +1131,7 @@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ +REPLACE_RAND = @REPLACE_RAND@ REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ @@ -1104,6 +1146,7 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ @@ -1112,6 +1155,7 @@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ +REPLACE_STPCPY = @REPLACE_STPCPY@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ @@ -1137,9 +1181,12 @@ REPLACE_STRTOULL = @REPLACE_STRTOULL@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ +REPLACE_STRVERSCMP = @REPLACE_STRVERSCMP@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ +REPLACE_TIME = @REPLACE_TIME@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ +REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TRUNCATE = @REPLACE_TRUNCATE@ @@ -1157,21 +1204,30 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ +REPLACE_WCSCMP = @REPLACE_WCSCMP@ REPLACE_WCSFTIME = @REPLACE_WCSFTIME@ +REPLACE_WCSNCMP = @REPLACE_WCSNCMP@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ +REPLACE_WCSSTR = @REPLACE_WCSSTR@ REPLACE_WCSTOK = @REPLACE_WCSTOK@ REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ +REPLACE_WCTRANS = @REPLACE_WCTRANS@ +REPLACE_WCTYPE = @REPLACE_WCTYPE@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ +REPLACE_WMEMCMP = @REPLACE_WMEMCMP@ +REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@ REPLACE_WRITE = @REPLACE_WRITE@ +REPLACE__EXIT = @REPLACE__EXIT@ +SCHED_YIELD_LIB = @SCHED_YIELD_LIB@ SED = @SED@ +SETLOCALE_NULL_LIB = @SETLOCALE_NULL_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -1206,7 +1262,6 @@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ -appdatadir = @appdatadir@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ @@ -1242,6 +1297,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ +metainfodir = @metainfodir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ @@ -1264,8 +1320,8 @@ SUBDIRS = lib src po data doc m4 # Additional files to distribute EXTRA_DIST = \ build-aux/bootstrap \ - build-aux/msgfmt-appdata \ build-aux/msgfmt-desktop \ + build-aux/msgfmt-metainfo \ lib/obsolete-strings.c \ lib/xopen-source.h diff --git a/NEWS b/NEWS index a609e8a..9bc6ccf 100644 --- a/NEWS +++ b/NEWS @@ -22,6 +22,23 @@ __ https://www.zap.org.au/ .. contents:: +Version 7.19 (5th January, 2024) +-------------------------------- + +Added a Romanian translation, with thanks to Remus-Gabriel Chelu. +Updated the Hungarian translation, with thanks to Balázs Úr. Added +preliminary Polish and Ukrainian translations—feel free to improve them! + +Updated to GNU Gettext 0.21 or later, to Automake 1.16 or later, and to +the latest snapshot of the Gnulib GNU Portability Library. + +Renamed the desktop and AppStream data files to conform to the AppStream +1.0 specification; these now have names based on ``au.org.zap.trader``. +Added a caption to the AppStream screenshot and updated all translations +to suit. Renamed `build-aux/msgfmt-appdata` to `msgfmt-metainfo` to +reflect these changes. + + Version 7.18 (3rd August, 2022) ------------------------------- diff --git a/README b/README index 9d592f4..af8adbd 100644 --- a/README +++ b/README @@ -71,7 +71,7 @@ warmly welcomed! Please send these to: Copyright ========= -**Copyright © 1990–2022, John Zaitseff.** +**Copyright © 1990–2024, John Zaitseff.** Star Traders is free software that is distributed under the terms of the GNU General Public License. You can redistribute it and/or modify it diff --git a/aclocal.m4 b/aclocal.m4 index ec36de2..55ffcf1 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -506,8 +506,8 @@ AC_DEFUN([AM_NLS], AC_SUBST([USE_NLS]) ]) -# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -# serial 11 (pkg-config-0.29.1) +# pkg.m4 - Macros to locate and use pkg-config. -*- Autoconf -*- +# serial 12 (pkg-config-0.29.2) dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson @@ -549,7 +549,7 @@ dnl dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29.1]) +[m4_define([PKG_MACROS_VERSION], [0.29.2]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ @@ -594,7 +594,7 @@ dnl Check to see whether a particular set of modules exists. Similar to dnl PKG_CHECK_MODULES(), but does not set variables or print errors. dnl dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) -dnl only at the first occurence in configure.ac, so if the first place +dnl only at the first occurrence in configure.ac, so if the first place dnl it's called might be skipped (such as if it is within an "if", you dnl have to call PKG_CHECK_EXISTS manually AC_DEFUN([PKG_CHECK_EXISTS], @@ -650,7 +650,7 @@ AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no -AC_MSG_CHECKING([for $1]) +AC_MSG_CHECKING([for $2]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) @@ -660,17 +660,17 @@ and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then - AC_MSG_RESULT([no]) + AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then - $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` - else - $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` + $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` + else + $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi - # Put the nasty error message in config.log where it belongs - echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD + # Put the nasty error message in config.log where it belongs + echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD - m4_default([$4], [AC_MSG_ERROR( + m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS @@ -681,8 +681,8 @@ installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then - AC_MSG_RESULT([no]) - m4_default([$4], [AC_MSG_FAILURE( + AC_MSG_RESULT([no]) + m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. @@ -692,10 +692,10 @@ _PKG_TEXT To get pkg-config, see .])[]dnl ]) else - $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS - $1[]_LIBS=$pkg_cv_[]$1[]_LIBS + $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS + $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) - $3 + $3 fi[]dnl ])dnl PKG_CHECK_MODULES @@ -2597,6 +2597,7 @@ AC_SUBST([am__untar]) m4_include([m4/00gnulib.m4]) m4_include([m4/absolute-header.m4]) m4_include([m4/assert.m4]) +m4_include([m4/assert_h.m4]) m4_include([m4/ax_c___attribute__.m4]) m4_include([m4/ax_cflags_warn_all.m4]) m4_include([m4/ax_compiler_vendor.m4]) @@ -2604,6 +2605,7 @@ m4_include([m4/ax_prepend_flag.m4]) m4_include([m4/ax_require_defined.m4]) m4_include([m4/ax_with_curses.m4]) m4_include([m4/btowc.m4]) +m4_include([m4/c-bool.m4]) m4_include([m4/codeset.m4]) m4_include([m4/config-h.m4]) m4_include([m4/extensions.m4]) @@ -2639,11 +2641,11 @@ m4_include([m4/memchr.m4]) m4_include([m4/mmap-anon.m4]) m4_include([m4/monetary_h.m4]) m4_include([m4/multiarch.m4]) +m4_include([m4/musl.m4]) m4_include([m4/nocrash.m4]) m4_include([m4/off_t.m4]) m4_include([m4/setlocale_null.m4]) m4_include([m4/ssize_t.m4]) -m4_include([m4/stdbool.m4]) m4_include([m4/stddef_h.m4]) m4_include([m4/stdint.m4]) m4_include([m4/stdio_h.m4]) diff --git a/build-aux/config.rpath b/build-aux/config.rpath index 1e1ab67..3893ddd 100755 --- a/build-aux/config.rpath +++ b/build-aux/config.rpath @@ -2,7 +2,7 @@ # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # -# Copyright 1996-2022 Free Software Foundation, Inc. +# Copyright 1996-2024 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # diff --git a/build-aux/msgfmt-appdata b/build-aux/msgfmt-metainfo similarity index 89% rename from build-aux/msgfmt-appdata rename to build-aux/msgfmt-metainfo index a6acade..76c5201 100755 --- a/build-aux/msgfmt-appdata +++ b/build-aux/msgfmt-metainfo @@ -4,7 +4,7 @@ # $Id$ # Usage: -# msgfmt-appdata -d PODIR INPUT OUTPUT +# msgfmt-metainfo -d PODIR INPUT OUTPUT set -e diff --git a/config.h.in b/config.h.in index f84f790..1bce17b 100644 --- a/config.h.in +++ b/config.h.in @@ -1,5 +1,9 @@ /* config.h.in. Generated from configure.ac by autoheader. */ +/* Witness that has been included. */ +#define _GL_CONFIG_H_INCLUDED 1 + + /* Define to the number of bits in type 'ptrdiff_t'. */ #undef BITSIZEOF_PTRDIFF_T @@ -86,6 +90,9 @@ /* Define to 1 when the gnulib module mbsrtowcs should be tested. */ #undef GNULIB_TEST_MBSRTOWCS +/* Define to 1 when the gnulib module mbszero should be tested. */ +#undef GNULIB_TEST_MBSZERO + /* Define to 1 when the gnulib module mbtowc should be tested. */ #undef GNULIB_TEST_MBTOWC @@ -171,6 +178,12 @@ /* Define to 1 if library supports certain obsolete features */ #undef HAVE_CURSES_OBSOLETE +/* Define to 1 if bool, true and false work as per C2023. */ +#undef HAVE_C_BOOL + +/* Define to 1 if the static_assert keyword works. */ +#undef HAVE_C_STATIC_ASSERT + /* Define to 1 if C supports variable-length arrays. */ #undef HAVE_C_VARARRAYS @@ -198,6 +211,10 @@ */ #undef HAVE_DECL_GCVT +/* Define to 1 if you have the declaration of `getw', and to 0 if you don't. + */ +#undef HAVE_DECL_GETW + /* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you don't. */ #undef HAVE_DECL_MBRTOWC @@ -210,6 +227,10 @@ don't. */ #undef HAVE_DECL_MBSRTOWCS +/* Define to 1 if you have the declaration of `putw', and to 0 if you don't. + */ +#undef HAVE_DECL_PUTW + /* Define to 1 if you have the declaration of `towlower', and to 0 if you don't. */ #undef HAVE_DECL_TOWLOWER @@ -328,6 +349,9 @@ /* Define to 1 if 'wint_t' is a signed integer type. */ #undef HAVE_SIGNED_WINT_T +/* Define to 1 if you have the header file. */ +#undef HAVE_STDBOOL_H + /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H @@ -376,6 +400,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTRING_WOE32DLL_H + /* Define to 1 if the system has the type 'unsigned long long int'. */ #undef HAVE_UNSIGNED_LONG_LONG_INT @@ -411,9 +438,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_XLOCALE_H -/* Define to 1 if the system has the type `_Bool'. */ -#undef HAVE__BOOL - /* define if your compiler has __attribute__ */ #undef HAVE___ATTRIBUTE__ @@ -476,7 +500,8 @@ # define _GL_EXTERN_INLINE_STDHEADER_BUG #endif #if ((__GNUC__ \ - ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ + ? (defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ + && !defined __PCC__) \ : (199901L <= __STDC_VERSION__ \ && !defined __HP_cc \ && !defined __PGI \ @@ -486,6 +511,7 @@ # define _GL_EXTERN_INLINE extern inline # define _GL_EXTERN_INLINE_IN_USE #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ + && !defined __PCC__ \ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ @@ -568,6 +594,9 @@ #endif +/* Define to 1 on musl libc. */ +#undef MUSL_LIBC + /* Define to 1 if assertions should be disabled. */ #undef NDEBUG @@ -685,11 +714,15 @@ #ifndef __STDC_WANT_IEC_60559_DFP_EXT__ # undef __STDC_WANT_IEC_60559_DFP_EXT__ #endif +/* Enable extensions specified by C23 Annex F. */ +#ifndef __STDC_WANT_IEC_60559_EXT__ +# undef __STDC_WANT_IEC_60559_EXT__ +#endif /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ # undef __STDC_WANT_IEC_60559_FUNCS_EXT__ #endif -/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ +/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */ #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ # undef __STDC_WANT_IEC_60559_TYPES_EXT__ #endif @@ -757,6 +790,11 @@ AIX system header files and several gnulib header files use precisely this syntax with 'extern'. */ # define _Noreturn [[noreturn]] +# elif (defined __clang__ && __clang_major__ < 16 \ + && defined _GL_WORK_AROUND_LLVM_BUG_59792) + /* Compile with -D_GL_WORK_AROUND_LLVM_BUG_59792 to work around + that rare LLVM bug, though you may get many false-alarm warnings. */ +# define _Noreturn # elif ((!defined __cplusplus || defined __clang__) \ && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ || (!defined __STRICT_ANSI__ \ @@ -824,7 +862,7 @@ && (!defined __clang_minor__ \ || (defined __apple_build_version__ \ ? 6000000 <= __apple_build_version__ \ - : 3 < __clang_major__ + (5 <= __clang_minor__)))) + : 5 <= __clang_major__))) # define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) #else # define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr @@ -858,16 +896,30 @@ # define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) #endif -#ifdef __has_c_attribute -# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \ - && _GL_GNUC_PREREQ (4, 6)) -# pragma GCC diagnostic ignored "-Wpedantic" -# endif -# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) +/* Use __has_c_attribute if available. However, do not use with + pre-C23 GCC, which can issue false positives if -Wpedantic. */ +#if (defined __has_c_attribute \ + && ! (_GL_GNUC_PREREQ (4, 6) \ + && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710)) +# define _GL_HAVE___HAS_C_ATTRIBUTE 1 #else -# define _GL_HAS_C_ATTRIBUTE(attr) 0 +# define _GL_HAVE___HAS_C_ATTRIBUTE 0 #endif +/* Define if, in a function declaration, the attributes in bracket syntax + [[...]] must come before the attributes in __attribute__((...)) syntax. + If this is defined, it is best to avoid the bracket syntax, so that the + various _GL_ATTRIBUTE_* can be cumulated on the same declaration in any + order. */ +#ifdef __cplusplus +# if defined __clang__ +# define _GL_BRACKET_BEFORE_ATTRIBUTE 1 +# endif +#else +# if defined __GNUC__ && !defined __clang__ +# define _GL_BRACKET_BEFORE_ATTRIBUTE 1 +# endif +#endif /* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function is the size of the returned memory block. @@ -875,29 +927,35 @@ by the Nth argument of the function is the size of the returned memory block. */ /* Applies to: function, pointer to function, function types. */ -#if _GL_HAS_ATTRIBUTE (alloc_size) -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) -#else -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +#ifndef _GL_ATTRIBUTE_ALLOC_SIZE +# if _GL_HAS_ATTRIBUTE (alloc_size) +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) +# else +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +# endif #endif /* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the function and report an error if it cannot do so. */ /* Applies to: function. */ -#if _GL_HAS_ATTRIBUTE (always_inline) -# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) -#else -# define _GL_ATTRIBUTE_ALWAYS_INLINE +#ifndef _GL_ATTRIBUTE_ALWAYS_INLINE +# if _GL_HAS_ATTRIBUTE (always_inline) +# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) +# else +# define _GL_ATTRIBUTE_ALWAYS_INLINE +# endif #endif /* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show in stack traces when debugging. The compiler should omit the function from stack traces. */ /* Applies to: function. */ -#if _GL_HAS_ATTRIBUTE (artificial) -# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) -#else -# define _GL_ATTRIBUTE_ARTIFICIAL +#ifndef _GL_ATTRIBUTE_ARTIFICIAL +# if _GL_HAS_ATTRIBUTE (artificial) +# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) +# else +# define _GL_ATTRIBUTE_ARTIFICIAL +# endif #endif /* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ @@ -905,14 +963,16 @@ /* Avoid __attribute__ ((cold)) on MinGW; see thread starting at . Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */ -#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ -# ifndef __SUNPRO_C -# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) +#ifndef _GL_ATTRIBUTE_COLD +# if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ +# ifndef __SUNPRO_C +# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) +# else +# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) +# endif # else -# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) +# define _GL_ATTRIBUTE_COLD # endif -#else -# define _GL_ATTRIBUTE_COLD #endif /* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate @@ -922,10 +982,12 @@ forever, and does not call longjmp. (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (const) -# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) -#else -# define _GL_ATTRIBUTE_CONST +#ifndef _GL_ATTRIBUTE_CONST +# if _GL_HAS_ATTRIBUTE (const) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +# else +# define _GL_ATTRIBUTE_CONST +# endif #endif /* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers @@ -934,16 +996,25 @@ _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that can be freed via 'free'; it can be used only after declaring 'free'. */ /* Applies to: functions. Cannot be used on inline functions. */ -#if _GL_GNUC_PREREQ (11, 0) -# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) -#else -# define _GL_ATTRIBUTE_DEALLOC(f, i) +#ifndef _GL_ATTRIBUTE_DEALLOC +# if _GL_GNUC_PREREQ (11, 0) +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +# else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +# endif #endif /* If gnulib's or has already defined this macro, continue to use this earlier definition, since may not have been included yet. */ #ifndef _GL_ATTRIBUTE_DEALLOC_FREE -# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +# if defined __cplusplus && defined __GNUC__ && !defined __clang__ +/* Work around GCC bug */ +# define _GL_ATTRIBUTE_DEALLOC_FREE \ + _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1) +# else +# define _GL_ATTRIBUTE_DEALLOC_FREE \ + _GL_ATTRIBUTE_DEALLOC (free, 1) +# endif #endif /* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. @@ -954,12 +1025,20 @@ - enumeration, enumeration item, - typedef, in C++ also: namespace, class, template specialization. */ -#if _GL_HAS_C_ATTRIBUTE (deprecated) -# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] -#elif _GL_HAS_ATTRIBUTE (deprecated) -# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) -#else -# define _GL_ATTRIBUTE_DEPRECATED +#ifndef _GL_ATTRIBUTE_DEPRECATED +# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE +# if _GL_HAVE___HAS_C_ATTRIBUTE +# if __has_c_attribute (__deprecated__) +# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] +# endif +# endif +# endif +# if !defined _GL_ATTRIBUTE_DEPRECATED && _GL_HAS_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +# endif +# ifndef _GL_ATTRIBUTE_DEPRECATED +# define _GL_ATTRIBUTE_DEPRECATED +# endif #endif /* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and @@ -967,24 +1046,28 @@ _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and the function call is not optimized away. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (error) -# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) -# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) -#elif _GL_HAS_ATTRIBUTE (diagnose_if) -# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) -# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) -#else -# define _GL_ATTRIBUTE_ERROR(msg) -# define _GL_ATTRIBUTE_WARNING(msg) +#if !(defined _GL_ATTRIBUTE_ERROR && defined _GL_ATTRIBUTE_WARNING) +# if _GL_HAS_ATTRIBUTE (error) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) +# elif _GL_HAS_ATTRIBUTE (diagnose_if) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) +# else +# define _GL_ATTRIBUTE_ERROR(msg) +# define _GL_ATTRIBUTE_WARNING(msg) +# endif #endif /* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain visible to debuggers etc., even with '-fwhole-program'. */ /* Applies to: functions, variables. */ -#if _GL_HAS_ATTRIBUTE (externally_visible) -# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) -#else -# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +#ifndef _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +# if _GL_HAS_ATTRIBUTE (externally_visible) +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) +# else +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +# endif #endif /* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if @@ -992,12 +1075,18 @@ 'default' label. The compiler should not warn in this case. */ /* Applies to: Empty statement (;), inside a 'switch' statement. */ /* Always expands to something. */ -#if _GL_HAS_C_ATTRIBUTE (fallthrough) -# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] -#elif _GL_HAS_ATTRIBUTE (fallthrough) -# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) -#else -# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +#ifndef _GL_ATTRIBUTE_FALLTHROUGH +# if _GL_HAVE___HAS_C_ATTRIBUTE +# if __has_c_attribute (__fallthrough__) +# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] +# endif +# endif +# if !defined _GL_ATTRIBUTE_FALLTHROUGH && _GL_HAS_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) +# endif +# ifndef _GL_ATTRIBUTE_FALLTHROUGH +# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +# endif #endif /* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) @@ -1011,10 +1100,12 @@ If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK are suitable for the format string. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (format) -# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) -#else -# define _GL_ATTRIBUTE_FORMAT(spec) +#ifndef _GL_ATTRIBUTE_FORMAT +# if _GL_HAS_ATTRIBUTE (format) +# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +# else +# define _GL_ATTRIBUTE_FORMAT(spec) +# endif #endif /* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other @@ -1022,19 +1113,23 @@ exception handling. This declaration lets the compiler optimize that unit more aggressively. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (leaf) -# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) -#else -# define _GL_ATTRIBUTE_LEAF +#ifndef _GL_ATTRIBUTE_LEAF +# if _GL_HAS_ATTRIBUTE (leaf) +# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) +# else +# define _GL_ATTRIBUTE_LEAF +# endif #endif /* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly allocated memory. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (malloc) -# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -#else -# define _GL_ATTRIBUTE_MALLOC +#ifndef _GL_ATTRIBUTE_MALLOC +# if _GL_HAS_ATTRIBUTE (malloc) +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +# else +# define _GL_ATTRIBUTE_MALLOC +# endif #endif /* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the @@ -1042,10 +1137,12 @@ strict aliasing optimization. */ /* Applies to: types. */ /* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ -#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C -# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) -#else -# define _GL_ATTRIBUTE_MAY_ALIAS +#ifndef _GL_ATTRIBUTE_MAY_ALIAS +# if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C +# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) +# else +# define _GL_ATTRIBUTE_MAY_ALIAS +# endif #endif /* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if @@ -1057,15 +1154,29 @@ - enumeration, enumeration item, - typedef, in C++ also: class. */ -/* In C++ and C2x, this is spelled [[__maybe_unused__]]. +/* In C++ and C23, this is spelled [[__maybe_unused__]]. GCC's syntax is __attribute__ ((__unused__)). - clang supports both syntaxes. */ -#if _GL_HAS_C_ATTRIBUTE (maybe_unused) -# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] -#else -# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED + clang supports both syntaxes. Except that with clang ≥ 6, < 10, in C++ mode, + __has_c_attribute (__maybe_unused__) yields true but the use of + [[__maybe_unused__]] nevertheless produces a warning. */ +#ifndef _GL_ATTRIBUTE_MAYBE_UNUSED +# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE +# if defined __clang__ && defined __cplusplus +# if !defined __apple_build_version__ && __clang_major__ >= 10 +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +# endif +# elif _GL_HAVE___HAS_C_ATTRIBUTE +# if __has_c_attribute (__maybe_unused__) +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +# endif +# endif +# endif +# ifndef _GL_ATTRIBUTE_MAYBE_UNUSED +# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED +# endif #endif -/* Alternative spelling of this macro, for convenience. */ +/* Alternative spelling of this macro, for convenience and for + compatibility with glibc/include/libc-symbols.h. */ #define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED /* Earlier spellings of this macro. */ #define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED @@ -1074,21 +1185,40 @@ discard the return value. The compiler may warn if the caller does not use the return value, unless the caller uses something like ignore_value. */ /* Applies to: function, enumeration, class. */ -#if _GL_HAS_C_ATTRIBUTE (nodiscard) -# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] -#elif _GL_HAS_ATTRIBUTE (warn_unused_result) -# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) -#else -# define _GL_ATTRIBUTE_NODISCARD +#ifndef _GL_ATTRIBUTE_NODISCARD +# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE +# if defined __clang__ && defined __cplusplus + /* With clang up to 15.0.6 (at least), in C++ mode, [[__nodiscard__]] produces + a warning. + The 1000 below means a yet unknown threshold. When clang++ version X + starts supporting [[__nodiscard__]] without warning about it, you can + replace the 1000 with X. */ +# if __clang_major__ >= 1000 +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +# endif +# elif _GL_HAVE___HAS_C_ATTRIBUTE +# if __has_c_attribute (__nodiscard__) +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +# endif +# endif +# endif +# if !defined _GL_ATTRIBUTE_NODISCARD && _GL_HAS_ATTRIBUTE (warn_unused_result) +# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) +# endif +# ifndef _GL_ATTRIBUTE_NODISCARD +# define _GL_ATTRIBUTE_NODISCARD +# endif #endif /* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the function. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (noinline) -# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) -#else -# define _GL_ATTRIBUTE_NOINLINE +#ifndef _GL_ATTRIBUTE_NOINLINE +# if _GL_HAS_ATTRIBUTE (noinline) +# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) +# else +# define _GL_ATTRIBUTE_NOINLINE +# endif #endif /* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... @@ -1096,20 +1226,24 @@ _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be null. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (nonnull) -# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) -#else -# define _GL_ATTRIBUTE_NONNULL(args) +#ifndef _GL_ATTRIBUTE_NONNULL +# if _GL_HAS_ATTRIBUTE (nonnull) +# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) +# else +# define _GL_ATTRIBUTE_NONNULL(args) +# endif #endif /* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is not meant to be NUL-terminated. */ /* Applies to: struct/union members and variables that are arrays of element type '[[un]signed] char'. */ -#if _GL_HAS_ATTRIBUTE (nonstring) -# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) -#else -# define _GL_ATTRIBUTE_NONSTRING +#ifndef _GL_ATTRIBUTE_NONSTRING +# if _GL_HAS_ATTRIBUTE (nonstring) +# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) +# else +# define _GL_ATTRIBUTE_NONSTRING +# endif #endif /* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ @@ -1117,10 +1251,26 @@ /* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus -# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) -#else -# define _GL_ATTRIBUTE_NOTHROW +/* After a function's parameter list, this attribute must come first, before + other attributes. */ +#ifndef _GL_ATTRIBUTE_NOTHROW +# if defined __cplusplus +# if _GL_GNUC_PREREQ (2, 8) || __clang_major >= 4 +# if __cplusplus >= 201103L +# define _GL_ATTRIBUTE_NOTHROW noexcept (true) +# else +# define _GL_ATTRIBUTE_NOTHROW throw () +# endif +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# else +# if _GL_HAS_ATTRIBUTE (nothrow) +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# endif #endif /* _GL_ATTRIBUTE_PACKED declares: @@ -1129,10 +1279,12 @@ minimizing the memory required. */ /* Applies to: struct members, struct, union, in C++ also: class. */ -#if _GL_HAS_ATTRIBUTE (packed) -# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) -#else -# define _GL_ATTRIBUTE_PACKED +#ifndef _GL_ATTRIBUTE_PACKED +# if _GL_HAS_ATTRIBUTE (packed) +# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) +# else +# define _GL_ATTRIBUTE_PACKED +# endif #endif /* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate @@ -1142,19 +1294,23 @@ observable state, and always returns exactly once. (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (pure) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE +#ifndef _GL_ATTRIBUTE_PURE +# if _GL_HAS_ATTRIBUTE (pure) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define _GL_ATTRIBUTE_PURE +# endif #endif /* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is a non-NULL pointer. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (returns_nonnull) -# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) -#else -# define _GL_ATTRIBUTE_RETURNS_NONNULL +#ifndef _GL_ATTRIBUTE_RETURNS_NONNULL +# if _GL_HAS_ATTRIBUTE (returns_nonnull) +# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) +# else +# define _GL_ATTRIBUTE_RETURNS_NONNULL +# endif #endif /* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a @@ -1162,17 +1318,21 @@ _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (sentinel) -# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) -#else -# define _GL_ATTRIBUTE_SENTINEL(pos) +#ifndef _GL_ATTRIBUTE_SENTINEL +# if _GL_HAS_ATTRIBUTE (sentinel) +# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) +# else +# define _GL_ATTRIBUTE_SENTINEL(pos) +# endif #endif /* A helper macro. Don't use it directly. */ -#if _GL_HAS_ATTRIBUTE (unused) -# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_ATTRIBUTE_UNUSED +#ifndef _GL_ATTRIBUTE_UNUSED +# if _GL_HAS_ATTRIBUTE (unused) +# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +# else +# define _GL_ATTRIBUTE_UNUSED +# endif #endif @@ -1182,10 +1342,24 @@ /* Applies to: label (both in C and C++). */ /* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;' syntax. But clang does. */ -#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ -# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +#ifndef _GL_UNUSED_LABEL +# if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ +# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +# else +# define _GL_UNUSED_LABEL +# endif +#endif + + +/* In C++, there is the concept of "language linkage", that encompasses + name mangling and function calling conventions. + The following macros start and end a block of "C" linkage. */ +#ifdef __cplusplus +# define _GL_BEGIN_C_LINKAGE extern "C" { +# define _GL_END_C_LINKAGE } #else -# define _GL_UNUSED_LABEL +# define _GL_BEGIN_C_LINKAGE +# define _GL_END_C_LINKAGE #endif @@ -1270,6 +1444,40 @@ # endif +#ifndef HAVE_C_BOOL +# if !defined __cplusplus && !defined __bool_true_false_are_defined +# if HAVE_STDBOOL_H +# include +# else +# if defined __SUNPRO_C +# error " is not usable with this configuration. To make it usable, add -D_STDC_C99= to $CC." +# else +# error " does not exist on this platform. Use gnulib module 'stdbool-c99' instead of gnulib module 'stdbool'." +# endif +# endif +# endif +# if !true +# define true (!false) +# endif +#endif + +#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \ + && (!defined __cplusplus \ + || (__cpp_static_assert < 201411 \ + && __GNUG__ < 6 && __clang_major__ < 6))) + #include + #undef/**/assert + #ifdef __sgi + #undef/**/__ASSERT_H__ + #endif + /* Solaris 11.4 defines static_assert as a macro with 2 arguments. + We need it also to be invocable with a single argument. */ + #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus + #undef/**/static_assert + #define static_assert _Static_assert + #endif +#endif + /* Redefine _XOPEN_SOURCE as required */ #include diff --git a/configure b/configure index 8923b6a..7b3d1a4 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for Star Traders 7.18. +# Generated by GNU Autoconf 2.71 for Star Traders 7.19. # # Report bugs to . # @@ -611,8 +611,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Star Traders' PACKAGE_TARNAME='trader' -PACKAGE_VERSION='7.18' -PACKAGE_STRING='Star Traders 7.18' +PACKAGE_VERSION='7.19' +PACKAGE_STRING='Star Traders 7.19' PACKAGE_BUGREPORT='J.Zaitseff@zap.org.au' PACKAGE_URL='https://www.zap.org.au/projects/trader/' @@ -664,7 +664,7 @@ am__EXEEXT_TRUE LTLIBOBJS LIBOBJS iconsdir -appdatadir +metainfodir desktopdir PKG_CONFIG_LIBDIR PKG_CONFIG_PATH @@ -680,8 +680,6 @@ gl_GNULIB_ENABLED_wmemcpy_FALSE gl_GNULIB_ENABLED_wmemcpy_TRUE gl_GNULIB_ENABLED_wctomb_FALSE gl_GNULIB_ENABLED_wctomb_TRUE -gl_GNULIB_ENABLED_verify_FALSE -gl_GNULIB_ENABLED_verify_TRUE gl_GNULIB_ENABLED_unitypes_FALSE gl_GNULIB_ENABLED_unitypes_TRUE gl_GNULIB_ENABLED_fabe8eca3a52cf42d4d1d781b9f5fcbe_FALSE @@ -700,6 +698,8 @@ gl_GNULIB_ENABLED_memchr_FALSE gl_GNULIB_ENABLED_memchr_TRUE gl_GNULIB_ENABLED_mbtowc_FALSE gl_GNULIB_ENABLED_mbtowc_TRUE +gl_GNULIB_ENABLED_mbszero_FALSE +gl_GNULIB_ENABLED_mbszero_TRUE gl_GNULIB_ENABLED_mbsinit_FALSE gl_GNULIB_ENABLED_mbsinit_TRUE gl_GNULIB_ENABLED_localcharset_FALSE @@ -710,6 +710,8 @@ gl_GNULIB_ENABLED_30838f5439487421042f2225bed3af76_FALSE gl_GNULIB_ENABLED_30838f5439487421042f2225bed3af76_TRUE gl_GNULIB_ENABLED_attribute_FALSE gl_GNULIB_ENABLED_attribute_TRUE +gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_FALSE +gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE GL_COND_OBJ_WMEMCPY_FALSE GL_COND_OBJ_WMEMCPY_TRUE GL_COND_OBJ_WCTOMB_FALSE @@ -720,6 +722,7 @@ LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_FALSE LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE LIBUNISTRING_UNISTR_H +HAVE_UNISTRING_WOE32DLL_H GL_COND_OBJ_SETLOCALE_LOCK_FALSE GL_COND_OBJ_SETLOCALE_LOCK_TRUE GL_COND_OBJ_MEMCHR_FALSE @@ -730,12 +733,20 @@ GL_COND_OBJ_MBSINIT_FALSE GL_COND_OBJ_MBSINIT_TRUE LOCALCHARSET_TESTS_ENVIRONMENT LIB_HARD_LOCALE +HARD_LOCALE_LIB LIB_SETLOCALE_NULL +SETLOCALE_NULL_LIB +GL_GENERATE_ASSERT_H_FALSE +GL_GENERATE_ASSERT_H_TRUE +ASSERT_H +NEXT_AS_FIRST_DIRECTIVE_ASSERT_H +NEXT_ASSERT_H GL_GNULIB_TOWCTRANS GL_GNULIB_WCTRANS GL_GNULIB_ISWCTYPE GL_GNULIB_WCTYPE GL_GNULIB_ISWXDIGIT +GL_GNULIB_ISWPUNCT GL_GNULIB_ISWDIGIT GL_GNULIB_ISWBLANK REPLACE_TOWLOWER @@ -744,7 +755,10 @@ HAVE_WCTYPE_H NEXT_AS_FIRST_DIRECTIVE_WCTYPE_H NEXT_WCTYPE_H HAVE_ISWCNTRL +REPLACE_WCTYPE +REPLACE_WCTRANS REPLACE_ISWXDIGIT +REPLACE_ISWPUNCT REPLACE_ISWDIGIT REPLACE_ISWBLANK HAVE_WCTRANS_T @@ -771,6 +785,7 @@ GL_GNULIB_TIME_R GL_GNULIB_TIMESPEC_GETRES GL_GNULIB_TIMESPEC_GET GL_GNULIB_TIMEGM +GL_GNULIB_TIME GL_GNULIB_STRPTIME GL_GNULIB_STRFTIME GL_GNULIB_NANOSLEEP @@ -784,15 +799,16 @@ SYS_TIME_H_DEFINES_STRUCT_TIMESPEC TIME_H_DEFINES_STRUCT_TIMESPEC NEXT_AS_FIRST_DIRECTIVE_TIME_H NEXT_TIME_H -REPLACE_LOCALTIME -REPLACE_GMTIME -GNULIB_GETTIMEOFDAY REPLACE_TZSET +REPLACE_TIMESPEC_GET REPLACE_TIMEGM +REPLACE_TIME REPLACE_STRFTIME REPLACE_NANOSLEEP REPLACE_MKTIME REPLACE_LOCALTIME_R +REPLACE_LOCALTIME +REPLACE_GMTIME REPLACE_CTIME HAVE_TIMEZONE_T HAVE_TIMESPEC_GETRES @@ -890,6 +906,7 @@ GL_GNULIB_STRCHRNUL GL_GNULIB_STPNCPY GL_GNULIB_STPCPY GL_GNULIB_RAWMEMCHR +GL_GNULIB_MEMSET_EXPLICIT GL_GNULIB_MEMRCHR GL_GNULIB_MEMPCPY GL_GNULIB_MEMMEM @@ -900,6 +917,7 @@ GL_GNULIB_EXPLICIT_BZERO NEXT_AS_FIRST_DIRECTIVE_STRING_H NEXT_STRING_H UNDEFINE_STRTOK_R +REPLACE_STRVERSCMP REPLACE_STRSIGNAL REPLACE_STRERRORNAME_NP REPLACE_STRERROR_R @@ -913,6 +931,8 @@ REPLACE_STRNCAT REPLACE_STRDUP REPLACE_STRCHRNUL REPLACE_STPNCPY +REPLACE_STPCPY +REPLACE_MEMPCPY REPLACE_MEMMEM REPLACE_MEMCHR REPLACE_FFSLL @@ -934,6 +954,7 @@ HAVE_STPNCPY HAVE_STPCPY HAVE_RAWMEMCHR HAVE_DECL_MEMRCHR +HAVE_MEMSET_EXPLICIT HAVE_MEMPCPY HAVE_DECL_MEMMEM HAVE_FFSLL @@ -1051,7 +1072,9 @@ HAVE_FSEEKO HAVE_DPRINTF HAVE_DECL_VSNPRINTF HAVE_DECL_SNPRINTF +HAVE_DECL_PUTW HAVE_DECL_OBSTACK_PRINTF +HAVE_DECL_GETW HAVE_DECL_GETLINE HAVE_DECL_GETDELIM HAVE_DECL_FTELLO @@ -1064,10 +1087,6 @@ STDINT_H GL_GENERATE_STDDEF_H_FALSE GL_GENERATE_STDDEF_H_TRUE STDDEF_H -GL_GENERATE_STDBOOL_H_FALSE -GL_GENERATE_STDBOOL_H_TRUE -STDBOOL_H -HAVE__BOOL GL_GENERATE_MONETARY_H_FALSE GL_GENERATE_MONETARY_H_TRUE MONETARY_H @@ -1084,10 +1103,16 @@ CFLAG_VISIBILITY GL_COND_OBJ_MBRTOWC_FALSE GL_COND_OBJ_MBRTOWC_TRUE LIB_MBRTOWC +MBRTOWC_LIB LOCALE_ZH_CN +LC_MONETARY_IMPLEMENTED +LC_TIME_IMPLEMENTED +LC_NUMERIC_IMPLEMENTED +LC_COLLATE_IMPLEMENTED LOCALE_FR_UTF8 LOCALE_JA LIB_SCHED_YIELD +SCHED_YIELD_LIB LIBPMULTITHREAD LIBPTHREAD GL_GNULIB_LOCALENAME @@ -1129,6 +1154,10 @@ INT64_MAX_EQ_LONG_MAX INT32_MAX_LT_INTMAX_MAX REPLACE_STRTOUMAX REPLACE_STRTOIMAX +REPLACE_IMAXDIV +REPLACE_IMAXABS +HAVE_IMAXDIV +HAVE_IMAXABS HAVE_IMAXDIV_T HAVE_DECL_STRTOUMAX HAVE_DECL_STRTOIMAX @@ -1297,12 +1326,14 @@ REPLACE_TRUNCATE REPLACE_SYMLINKAT REPLACE_SYMLINK REPLACE_SLEEP +REPLACE_SETHOSTNAME REPLACE_RMDIR REPLACE_READLINKAT REPLACE_READLINK REPLACE_READ REPLACE_PWRITE REPLACE_PREAD +REPLACE_PIPE2 REPLACE_LSEEK REPLACE_LINKAT REPLACE_LINK @@ -1313,11 +1344,14 @@ REPLACE_GETPASS REPLACE_GETPAGESIZE REPLACE_GETGROUPS REPLACE_GETLOGIN_R +REPLACE_GETENTROPY REPLACE_GETDTABLESIZE REPLACE_GETDOMAINNAME REPLACE_GETCWD REPLACE_FTRUNCATE +REPLACE_FDATASYNC REPLACE_FCHOWNAT +REPLACE_FCHDIR REPLACE_FACCESSAT REPLACE_EXECVPE REPLACE_EXECVP @@ -1326,6 +1360,7 @@ REPLACE_EXECV REPLACE_EXECLP REPLACE_EXECLE REPLACE_EXECL +REPLACE_DUP3 REPLACE_DUP2 REPLACE_DUP REPLACE_COPY_FILE_RANGE @@ -1398,21 +1433,31 @@ REPLACE_REALLOC_FOR_REALLOC_POSIX REPLACE_REALLOC_FOR_REALLOC_GNU REPLACE_RANDOM_R REPLACE_RANDOM +REPLACE_RAND REPLACE_QSORT_R REPLACE_PUTENV REPLACE_PTSNAME_R REPLACE_PTSNAME +REPLACE_POSIX_OPENPT REPLACE_POSIX_MEMALIGN REPLACE_MKSTEMP +REPLACE_MKOSTEMPS +REPLACE_MKOSTEMP REPLACE_MBTOWC +REPLACE_MBSTOWCS +REPLACE_MB_CUR_MAX REPLACE_MALLOC_FOR_MALLOC_POSIX REPLACE_MALLOC_FOR_MALLOC_GNU REPLACE_INITSTATE +REPLACE_GETSUBOPT +REPLACE_GETPROGNAME +REPLACE_GETLOADAVG REPLACE_FREE REPLACE_CANONICALIZE_FILE_NAME REPLACE_CALLOC_FOR_CALLOC_POSIX REPLACE_CALLOC_FOR_CALLOC_GNU REPLACE_ALIGNED_ALLOC +REPLACE__EXIT HAVE_DECL_UNSETENV HAVE_UNLOCKPT HAVE_SYS_LOADAVG_H @@ -1449,6 +1494,8 @@ HAVE_DECL_INITSTATE HAVE_INITSTATE HAVE_GRANTPT HAVE_GETSUBOPT +HAVE_GETPROGNAME +HAVE_DECL_PROGRAM_INVOCATION_NAME HAVE_DECL_GETLOADAVG HAVE_DECL_GCVT HAVE_DECL_FCVT @@ -1481,6 +1528,7 @@ GL_GNULIB_REALLOC_GNU GL_GNULIB_REALLOCARRAY GL_GNULIB_RANDOM_R GL_GNULIB_RANDOM +GL_GNULIB_RAND GL_GNULIB_QSORT_R GL_GNULIB_PUTENV GL_GNULIB_PTSNAME_R @@ -1493,10 +1541,12 @@ GL_GNULIB_MKOSTEMPS GL_GNULIB_MKOSTEMP GL_GNULIB_MKDTEMP GL_GNULIB_MBTOWC +GL_GNULIB_MBSTOWCS GL_GNULIB_MALLOC_POSIX GL_GNULIB_MALLOC_GNU GL_GNULIB_GRANTPT GL_GNULIB_GETSUBOPT +GL_GNULIB_GETPROGNAME GL_GNULIB_GETLOADAVG GL_GNULIB_FREE_POSIX GL_GNULIB_CANONICALIZE_FILE_NAME @@ -1506,6 +1556,7 @@ GL_GNULIB_ATOLL GL_GNULIB_ALIGNED_ALLOC GL_GNULIB__EXIT GL_GNULIB_MDA_WCSDUP +GL_GNULIB_WGETCWD GL_GNULIB_WCSFTIME GL_GNULIB_WCSWIDTH GL_GNULIB_WCSTOK @@ -1544,13 +1595,19 @@ GL_GNULIB_MBSNRTOWCS GL_GNULIB_MBSRTOWCS GL_GNULIB_MBRLEN GL_GNULIB_MBRTOWC +GL_GNULIB_MBSZERO GL_GNULIB_MBSINIT GL_GNULIB_WCTOB GL_GNULIB_BTOWC GL_COND_OBJ_BTOWC_FALSE GL_COND_OBJ_BTOWC_TRUE LOCALE_FR +REPLACE_WMEMPCPY +REPLACE_WMEMCMP REPLACE_WCSTOK +REPLACE_WCSSTR +REPLACE_WCSNCMP +REPLACE_WCSCMP REPLACE_WCSFTIME REPLACE_WCSWIDTH REPLACE_WCWIDTH @@ -2308,7 +2365,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Star Traders 7.18 to adapt to many kinds of systems. +\`configure' configures Star Traders 7.19 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2379,7 +2436,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Star Traders 7.18:";; + short | recursive ) echo "Configuration of Star Traders 7.19:";; esac cat <<\_ACEOF @@ -2499,7 +2556,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Star Traders configure 7.18 +Star Traders configure 7.19 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -3101,7 +3158,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Star Traders $as_me 7.18, which was +It was created by Star Traders $as_me 7.19, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3693,6 +3750,7 @@ as_fn_append ac_header_c_list " wchar.h wchar_h HAVE_WCHAR_H" as_fn_append ac_header_c_list " minix/config.h minix_config_h HAVE_MINIX_CONFIG_H" gt_needs="$gt_needs need-ngettext" as_fn_append ac_func_c_list " btowc HAVE_BTOWC" +as_fn_append ac_func_c_list " mbrtowc HAVE_MBRTOWC" gl_getopt_required=GNU as_fn_append ac_header_c_list " getopt.h getopt_h HAVE_GETOPT_H" as_fn_append ac_header_c_list " sys/cdefs.h sys_cdefs_h HAVE_SYS_CDEFS_H" @@ -3704,9 +3762,9 @@ as_fn_append ac_header_c_list " limits.h limits_h HAVE_LIMITS_H" as_fn_append ac_header_c_list " xlocale.h xlocale_h HAVE_XLOCALE_H" as_fn_append ac_header_c_list " threads.h threads_h HAVE_THREADS_H" as_fn_append ac_func_c_list " mbsinit HAVE_MBSINIT" -as_fn_append ac_func_c_list " mbrtowc HAVE_MBRTOWC" as_fn_append ac_func_c_list " mbsrtowcs HAVE_MBSRTOWCS" as_fn_append ac_header_c_list " monetary.h monetary_h HAVE_MONETARY_H" +as_fn_append ac_header_c_list " stdbool.h stdbool_h HAVE_STDBOOL_H" as_fn_append ac_header_c_list " features.h features_h HAVE_FEATURES_H" as_fn_append ac_header_c_list " crtdefs.h crtdefs_h HAVE_CRTDEFS_H" as_fn_append ac_func_c_list " wcrtomb HAVE_WCRTOMB" @@ -4406,7 +4464,7 @@ fi # Define the identity of the package. PACKAGE='trader' - VERSION='7.18' + VERSION='7.19' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -6009,6 +6067,8 @@ printf "%s\n" "$ac_cv_should_define__xopen_source" >&6; } printf "%s\n" "#define __STDC_WANT_IEC_60559_DFP_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_EXT__ 1" >>confdefs.h + printf "%s\n" "#define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1" >>confdefs.h printf "%s\n" "#define __STDC_WANT_IEC_60559_TYPES_EXT__ 1" >>confdefs.h @@ -6673,6 +6733,7 @@ fi # Code from module absolute-header: # Code from module assert: + # Code from module assert-h: # Code from module attribute: # Code from module btowc: # Code from module c-ctype: @@ -6703,6 +6764,7 @@ fi # Code from module mbrtowc: # Code from module mbsinit: # Code from module mbsrtowcs: + # Code from module mbszero: # Code from module mbtowc: # Code from module memchr: # Code from module monetary: @@ -6719,6 +6781,11 @@ fi # Code from module stddef: # Code from module stdint: # Code from module stdio: + + + printf "%s\n" "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h + + # Code from module stdlib: # Code from module streq: # Code from module striconv: @@ -6727,14 +6794,13 @@ fi # Code from module sys_stat: # Code from module sys_time: # Code from module sys_types: - # Code from module time: + # Code from module time-h: # Code from module unistd: # Code from module unistr/base: # Code from module unistr/u8-mbtoucr: # Code from module unistr/u8-uctomb: # Code from module unitypes: # Code from module vararrays: - # Code from module verify: # Code from module wchar: # Code from module wcrtomb: # Code from module wcsdup: @@ -6852,6 +6918,8 @@ else $as_nop ;; #( sx) : ac_cv_cflags_warn_all="-pvctl,fullmsg" ;; #( + nvhpc) : + ac_cv_cflags_warn_all="-Wall" ;; #( portland) : ;; #( gnu) : @@ -7462,7 +7530,7 @@ else $as_nop if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. case $host in - *-*-mingw*) + *-*-mingw* | windows*) # gcc leaves a trailing carriage return which upsets mingw acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) @@ -7641,10 +7709,10 @@ then : printf %s "(cached) " >&6 else $as_nop if test -n "$gl_cv_host_cpu_c_abi"; then - case "$gl_cv_host_cpu_c_abi" in + 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 ) + x86_64 | alpha | arm64 | aarch64c | 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 ;; @@ -7710,7 +7778,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; - arm* | aarch64 ) + arm* | aarch64 | aarch64c ) # Assume arm with EABI. # On arm64 systems, the C compiler may be generating code in one of # these ABIs: @@ -9713,6 +9781,8 @@ printf "%s\n" "#define HAVE_DCGETTEXT 1" >>confdefs.h + + # Check whether --enable-cross-guesses was given. if test ${enable_cross_guesses+y} then : @@ -9794,7 +9864,12 @@ fi REPLACE_WCWIDTH=0; REPLACE_WCSWIDTH=0; REPLACE_WCSFTIME=0; + REPLACE_WCSCMP=0; + REPLACE_WCSNCMP=0; + REPLACE_WCSSTR=0; REPLACE_WCSTOK=0; + REPLACE_WMEMCMP=0; + REPLACE_WMEMPCPY=0; @@ -10008,7 +10083,7 @@ _ACEOF # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. - mingw*) + mingw* | windows*) # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 @@ -10058,6 +10133,13 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr" >&5 printf "%s\n" "$gt_cv_locale_fr" >&6; } LOCALE_FR=$gt_cv_locale_fr + case $LOCALE_FR in #( + '' | *[[:space:]\"\$\'*[]*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: invalid locale \"$LOCALE_FR\"; assuming \"none\"" >&5 +printf "%s\n" "$as_me: WARNING: invalid locale \"$LOCALE_FR\"; assuming \"none\"" >&2;} + LOCALE_FR=none;; + esac + @@ -10074,6 +10156,10 @@ printf "%s\n" "$gt_cv_locale_fr" >&6; } + GL_GNULIB_MBSZERO=0 + + + GL_GNULIB_MBRTOWC=0 @@ -10226,6 +10312,10 @@ printf "%s\n" "$gt_cv_locale_fr" >&6; } + GL_GNULIB_WGETCWD=0 + + + GL_GNULIB_MDA_WCSDUP=1 @@ -10264,6 +10354,10 @@ printf "%s\n" "$gt_cv_locale_fr" >&6; } + GL_GNULIB_GETPROGNAME=0 + + + GL_GNULIB_GETSUBOPT=0 @@ -10280,6 +10374,10 @@ printf "%s\n" "$gt_cv_locale_fr" >&6; } + GL_GNULIB_MBSTOWCS=0 + + + GL_GNULIB_MBTOWC=0 @@ -10328,6 +10426,10 @@ printf "%s\n" "$gt_cv_locale_fr" >&6; } + GL_GNULIB_RAND=0 + + + GL_GNULIB_RANDOM=0 @@ -10433,6 +10535,8 @@ printf "%s\n" "$gt_cv_locale_fr" >&6; } HAVE_DECL_FCVT=1; HAVE_DECL_GCVT=1; HAVE_DECL_GETLOADAVG=1; + HAVE_DECL_PROGRAM_INVOCATION_NAME=1; + HAVE_GETPROGNAME=1; HAVE_GETSUBOPT=1; HAVE_GRANTPT=1; HAVE_INITSTATE=1; @@ -10469,21 +10573,31 @@ printf "%s\n" "$gt_cv_locale_fr" >&6; } HAVE_SYS_LOADAVG_H=0; HAVE_UNLOCKPT=1; HAVE_DECL_UNSETENV=1; + REPLACE__EXIT=0; REPLACE_ALIGNED_ALLOC=0; REPLACE_CALLOC_FOR_CALLOC_GNU=0; REPLACE_CALLOC_FOR_CALLOC_POSIX=0; REPLACE_CANONICALIZE_FILE_NAME=0; REPLACE_FREE=0; + REPLACE_GETLOADAVG=0; + REPLACE_GETPROGNAME=0; + REPLACE_GETSUBOPT=0; REPLACE_INITSTATE=0; REPLACE_MALLOC_FOR_MALLOC_GNU=0; REPLACE_MALLOC_FOR_MALLOC_POSIX=0; + REPLACE_MB_CUR_MAX=0; + REPLACE_MBSTOWCS=0; REPLACE_MBTOWC=0; + REPLACE_MKOSTEMP=0; + REPLACE_MKOSTEMPS=0; REPLACE_MKSTEMP=0; REPLACE_POSIX_MEMALIGN=0; + REPLACE_POSIX_OPENPT=0; REPLACE_PTSNAME=0; REPLACE_PTSNAME_R=0; REPLACE_PUTENV=0; REPLACE_QSORT_R=0; + REPLACE_RAND=0; REPLACE_RANDOM=0; REPLACE_RANDOM_R=0; REPLACE_REALLOC_FOR_REALLOC_GNU=0; @@ -10589,6 +10703,7 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h REPLACE_COPY_FILE_RANGE=0; REPLACE_DUP=0; REPLACE_DUP2=0; + REPLACE_DUP3=0; REPLACE_EXECL=0; REPLACE_EXECLE=0; REPLACE_EXECLP=0; @@ -10597,11 +10712,14 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h REPLACE_EXECVP=0; REPLACE_EXECVPE=0; REPLACE_FACCESSAT=0; + REPLACE_FCHDIR=0; REPLACE_FCHOWNAT=0; + REPLACE_FDATASYNC=0; REPLACE_FTRUNCATE=0; REPLACE_GETCWD=0; REPLACE_GETDOMAINNAME=0; REPLACE_GETDTABLESIZE=0; + REPLACE_GETENTROPY=0; REPLACE_GETLOGIN_R=0; REPLACE_GETGROUPS=0; REPLACE_GETPAGESIZE=0; @@ -10612,12 +10730,14 @@ printf "%s\n" "#define HAVE___HEADER_INLINE 1" >>confdefs.h REPLACE_LINK=0; REPLACE_LINKAT=0; REPLACE_LSEEK=0; + REPLACE_PIPE2=0; REPLACE_PREAD=0; REPLACE_PWRITE=0; REPLACE_READ=0; REPLACE_READLINK=0; REPLACE_READLINKAT=0; REPLACE_RMDIR=0; + REPLACE_SETHOSTNAME=0; REPLACE_SLEEP=0; REPLACE_SYMLINK=0; REPLACE_SYMLINKAT=0; @@ -10791,7 +10911,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -11039,8 +11159,8 @@ fi fi else case "$host_os" in - darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";; - *) gl_cv_func_getopt_posix="guessing yes";; + darwin* | aix* | mingw* | windows*) gl_cv_func_getopt_posix="guessing no";; + *) gl_cv_func_getopt_posix="guessing yes";; esac fi @@ -11803,7 +11923,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -12370,7 +12490,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -12458,7 +12578,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -12520,6 +12640,8 @@ else $as_nop int wb = WORD_BIT; int ullw = ULLONG_WIDTH; int bw = BOOL_WIDTH; + int bm = BOOL_MAX; + int mblm = MB_LEN_MAX; int main (void) @@ -12539,11 +12661,37 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_limits_width" >&5 printf "%s\n" "$gl_cv_header_limits_width" >&6; } - if test "$gl_cv_header_limits_width" = yes; then - GL_GENERATE_LIMITS_H=false - else - GL_GENERATE_LIMITS_H=true - fi + GL_GENERATE_LIMITS_H=true + if test "$gl_cv_header_limits_width" = yes +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether limits.h has SSIZE_MAX" >&5 +printf %s "checking whether limits.h has SSIZE_MAX... " >&6; } +if test ${gl_cv_header_limits_ssize_max+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #ifndef SSIZE_MAX + #error "SSIZE_MAX is not defined" + #endif + +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_header_limits_ssize_max=yes +else $as_nop + gl_cv_header_limits_ssize_max=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_header_limits_ssize_max" >&5 +printf "%s\n" "$gl_cv_header_limits_ssize_max" >&6; } + if test "$gl_cv_header_limits_ssize_max" = yes; then + GL_GENERATE_LIMITS_H=false + fi +fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wint_t" >&5 @@ -12741,7 +12889,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -12895,7 +13043,10 @@ intmax_t i = INTMAX_MAX; uintmax_t j = UINTMAX_MAX; /* Check that SIZE_MAX has the correct type, if possible. */ -#if 201112 <= __STDC_VERSION__ +/* ISO C 11 mandates _Generic, but GCC versions < 4.9 lack it. */ +#if 201112 <= __STDC_VERSION__ \ + && (!defined __GNUC__ || 4 < __GNUC__ + (9 <= __GNUC_MINOR__) \ + || defined __clang__) int k = _Generic (SIZE_MAX, size_t: 0); #elif (2 <= __GNUC__ || 4 <= __clang_major__ || defined __IBM__TYPEOF__ \ || (0x5110 <= __SUNPRO_C && !__STDC__)) @@ -12976,10 +13127,10 @@ then : if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on native Windows. - mingw*) gl_cv_header_working_stdint_h="guessing yes" ;; - # In general, assume it works. - *) gl_cv_header_working_stdint_h="guessing yes" ;; + # Guess yes on native Windows. + mingw* | windows*) gl_cv_header_working_stdint_h="guessing yes" ;; + # In general, assume it works. + *) gl_cv_header_working_stdint_h="guessing yes" ;; esac else $as_nop @@ -13493,6 +13644,10 @@ printf "%s\n" "$ac_res" >&6; } HAVE_DECL_STRTOIMAX=1; HAVE_DECL_STRTOUMAX=1; HAVE_IMAXDIV_T=1; + HAVE_IMAXABS=1; + HAVE_IMAXDIV=1; + REPLACE_IMAXABS=0; + REPLACE_IMAXDIV=0; REPLACE_STRTOIMAX=0; REPLACE_STRTOUMAX=0; INT32_MAX_LT_INTMAX_MAX=1; @@ -13540,7 +13695,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -13680,7 +13835,14 @@ then : else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -#include +/* On FreeBSD 12.0/x86, max_align_t defined by has + the correct alignment with the default (wrong) definition of + _Alignof, but a wrong alignment as soon as we activate an + ISO C compliant _Alignof definition. */ + #if ((defined __GNUC__ && 4 <= __GNUC__) || defined __clang__) && !defined __cplusplus + #define _Alignof(type) __builtin_offsetof (struct { char __a; type __b; }, __b) + #endif + #include unsigned int s = sizeof (max_align_t); #if defined __GNUC__ || defined __clang__ || defined __IBM__ALIGNOF__ int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1]; @@ -13757,6 +13919,41 @@ printf "%s\n" "$gl_cv_decl_null_works" >&6; } GL_GENERATE_STDDEF_H=true fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for unreachable" >&5 +printf %s "checking for unreachable... " >&6; } +if test ${gl_cv_func_unreachable+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +int +main (void) +{ +unreachable (); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + gl_cv_func_unreachable=yes +else $as_nop + gl_cv_func_unreachable=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_unreachable" >&5 +printf "%s\n" "$gl_cv_func_unreachable" >&6; } + if test $gl_cv_func_unreachable = no; then + GL_GENERATE_STDDEF_H=true + fi + if $GL_GENERATE_STDDEF_H; then @@ -13788,7 +13985,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -13967,7 +14164,9 @@ fi printf "%s\n" "$gl_cv_sys_struct_lconv_ok" >&6; } if test $gl_cv_sys_struct_lconv_ok = no; then case "$host_os" in - mingw*) + windows*-msvc*) + ;; + mingw* | windows*) cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14020,7 +14219,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -14171,8 +14370,8 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ LIBS=$save_LIBS test $gl_pthread_api = yes && break done - echo "$as_me:14174: gl_pthread_api=$gl_pthread_api" >&5 - echo "$as_me:14175: LIBPTHREAD=$LIBPTHREAD" >&5 + echo "$as_me:14373: gl_pthread_api=$gl_pthread_api" >&5 + echo "$as_me:14374: LIBPTHREAD=$LIBPTHREAD" >&5 gl_pthread_in_glibc=no # On Linux with glibc >= 2.34, libc contains the fully functional @@ -14198,7 +14397,7 @@ rm -rf conftest* ;; esac - echo "$as_me:14201: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5 + echo "$as_me:14400: gl_pthread_in_glibc=$gl_pthread_in_glibc" >&5 # Test for libpthread by looking for pthread_kill. (Not pthread_self, # since it is defined as a macro on OSF/1.) @@ -14253,13 +14452,60 @@ then : # 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*) + solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*) printf "%s\n" "#define PTHREAD_IN_USE_DETECTION_HARD 1" >>confdefs.h esac fi +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_kill in -lthr" >&5 +printf %s "checking for pthread_kill in -lthr... " >&6; } +if test ${ac_cv_lib_thr_pthread_kill+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lthr $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char pthread_kill (); +int +main (void) +{ +return pthread_kill (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_thr_pthread_kill=yes +else $as_nop + ac_cv_lib_thr_pthread_kill=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_thr_pthread_kill" >&5 +printf "%s\n" "$ac_cv_lib_thr_pthread_kill" >&6; } +if test "x$ac_cv_lib_thr_pthread_kill" = xyes +then : + if test $gl_pthread_in_glibc = yes; then + LIBPMULTITHREAD= + else + LIBPMULTITHREAD=-lthr + fi + +fi + + fi elif test $gl_pthread_api != yes; then @@ -14352,7 +14598,7 @@ fi fi fi - echo "$as_me:14355: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5 + echo "$as_me:14601: LIBPMULTITHREAD=$LIBPMULTITHREAD" >&5 fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether POSIX threads API is available" >&5 printf %s "checking whether POSIX threads API is available... " >&6; } @@ -14379,7 +14625,7 @@ sched_yield (); _ACEOF if ac_fn_c_try_link "$LINENO" then : - LIB_SCHED_YIELD= + SCHED_YIELD_LIB= else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lrt" >&5 @@ -14419,7 +14665,7 @@ fi printf "%s\n" "$ac_cv_lib_rt_sched_yield" >&6; } if test "x$ac_cv_lib_rt_sched_yield" = xyes then : - LIB_SCHED_YIELD=-lrt + SCHED_YIELD_LIB=-lrt else $as_nop { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sched_yield in -lposix4" >&5 printf %s "checking for sched_yield in -lposix4... " >&6; } @@ -14458,7 +14704,7 @@ fi printf "%s\n" "$ac_cv_lib_posix4_sched_yield" >&6; } if test "x$ac_cv_lib_posix4_sched_yield" = xyes then : - LIB_SCHED_YIELD=-lposix4 + SCHED_YIELD_LIB=-lposix4 fi fi @@ -14468,6 +14714,8 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext + LIB_SCHED_YIELD="$SCHED_YIELD_LIB" + gl_pthreadlib_body_done=done fi @@ -14518,7 +14766,6 @@ printf "%s\n" "#define mbstate_t int" >>confdefs.h - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a traditional japanese locale" >&5 printf %s "checking for a traditional japanese locale... " >&6; } if test ${gt_cv_locale_ja+y} @@ -14611,7 +14858,7 @@ _ACEOF # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. - mingw*) + mingw* | windows*) # Note that on native Windows, the Japanese locale is # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we # cannot use it here. @@ -14663,6 +14910,13 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_ja" >&5 printf "%s\n" "$gt_cv_locale_ja" >&6; } LOCALE_JA=$gt_cv_locale_ja + case $LOCALE_JA in #( + '' | *[[:space:]\"\$\'*[]*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: invalid locale \"$LOCALE_JA\"; assuming \"none\"" >&5 +printf "%s\n" "$as_me: WARNING: invalid locale \"$LOCALE_JA\"; assuming \"none\"" >&2;} + LOCALE_JA=none;; + esac + @@ -14674,7 +14928,12 @@ then : printf %s "(cached) " >&6 else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + case "$host_os" in + *-musl* | midipix*) + gt_cv_locale_fr_utf8=fr_FR.UTF-8 + ;; + *) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include @@ -14740,58 +14999,85 @@ int main () { } _ACEOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest$ac_exeext; then - case "$host_os" in - # Handle native Windows specially, because there setlocale() interprets - # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", - # "fr" or "fra" as "French" or "French_France.1252", - # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", - # "ja" as "Japanese" or "Japanese_Japan.932", - # and similar. - mingw*) - # Test for the hypothetical native Windows locale name. - if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_fr_utf8=French_France.65001 - else - # None found. - gt_cv_locale_fr_utf8=none - fi - ;; - *) - # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because - # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the - # configure script would override the LC_ALL setting. Likewise for - # LC_CTYPE, which is also set at the beginning of the configure script. - # Test for the usual locale name. - if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_fr_utf8=fr_FR - else - # Test for the locale name with explicit encoding suffix. - if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_fr_utf8=fr_FR.UTF-8 - else - # Test for the Solaris 7 locale name. - if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_fr_utf8=fr.UTF-8 + case "$host_os" in + # Handle native Windows specially, because there setlocale() interprets + # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", + # "fr" or "fra" as "French" or "French_France.1252", + # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", + # "ja" as "Japanese" or "Japanese_Japan.932", + # and similar. + mingw* | windows*) + # Test for the hypothetical native Windows locale name. + if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_fr_utf8=French_France.65001 else # None found. gt_cv_locale_fr_utf8=none fi - fi - fi - ;; - esac - fi - rm -fr conftest* + ;; + *) + # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because + # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the + # configure script would override the LC_ALL setting. Likewise for + # LC_CTYPE, which is also set at the beginning of the configure script. + # Test for the usual locale name. + if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_fr_utf8=fr_FR + else + # Test for the locale name with explicit encoding suffix. + if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_fr_utf8=fr_FR.UTF-8 + else + # Test for the Solaris 7 locale name. + if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_fr_utf8=fr.UTF-8 + else + # None found. + gt_cv_locale_fr_utf8=none + fi + fi + fi + ;; + esac + fi + rm -fr conftest* + ;; + esac fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_fr_utf8" >&5 printf "%s\n" "$gt_cv_locale_fr_utf8" >&6; } LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 + case $LOCALE_FR_UTF8 in #( + '' | *[[:space:]\"\$\'*[]*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: invalid locale \"$LOCALE_FR_UTF8\"; assuming \"none\"" >&5 +printf "%s\n" "$as_me: WARNING: invalid locale \"$LOCALE_FR_UTF8\"; assuming \"none\"" >&2;} + LOCALE_FR_UTF8=none;; + esac + + + case "$host_os" in + *-musl* | midipix*) + LC_COLLATE_IMPLEMENTED=false + LC_NUMERIC_IMPLEMENTED=false + LC_TIME_IMPLEMENTED=false + LC_MONETARY_IMPLEMENTED=false + ;; + *) + LC_COLLATE_IMPLEMENTED=true + LC_NUMERIC_IMPLEMENTED=true + LC_TIME_IMPLEMENTED=true + LC_MONETARY_IMPLEMENTED=true + ;; + esac + + + @@ -14890,7 +15176,7 @@ _ACEOF # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. - mingw*) + mingw* | windows*) # Test for the hypothetical native Windows locale name. if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=Chinese_China.54936 @@ -14935,8 +15221,201 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_locale_zh_CN" >&5 printf "%s\n" "$gt_cv_locale_zh_CN" >&6; } LOCALE_ZH_CN=$gt_cv_locale_zh_CN + case $LOCALE_ZH_CN in #( + '' | *[[:space:]\"\$\'*[]*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: invalid locale \"$LOCALE_ZH_CN\"; assuming \"none\"" >&5 +printf "%s\n" "$as_me: WARNING: invalid locale \"$LOCALE_ZH_CN\"; assuming \"none\"" >&2;} + LOCALE_ZH_CN=none;; + esac + + + + + + + + if case "$host_os" in + mingw* | windows*) true ;; + *) test $ac_cv_func_mbsinit = yes ;; + esac \ + && test $ac_cv_func_mbrtowc = yes; then + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 +printf %s "checking whether mbrtowc handles incomplete characters... " >&6; } +if test ${gl_cv_func_mbrtowc_incomplete_state+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + case "$host_os" in + # Guess no on AIX and OSF/1. + aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; + esac + if test $LOCALE_JA != none; then + if test "$cross_compiling" = yes +then : + : +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +int main () +{ + if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + { + const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ + mbstate_t state; + wchar_t wc; + + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) + if (mbsinit (&state)) + return 2; + } + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_mbrtowc_incomplete_state=yes +else $as_nop + gl_cv_func_mbrtowc_incomplete_state=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + else + if test $LOCALE_FR_UTF8 != none; then + if test "$cross_compiling" = yes +then : + : +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +int main () +{ + if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + { + const char input[] = "B\303\274\303\237er"; /* "Büßer" */ + mbstate_t state; + wchar_t wc; + + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) + if (mbsinit (&state)) + return 2; + } + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_mbrtowc_incomplete_state=yes +else $as_nop + gl_cv_func_mbrtowc_incomplete_state=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi + fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 +printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; } + + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 +printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; } +if test ${gl_cv_func_mbrtowc_sanitycheck+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + case "$host_os" in + # Guess no on Solaris 8. + solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; + esac + if test $LOCALE_ZH_CN != none; then + if test "$cross_compiling" = yes +then : + : +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +#include +int main () +{ + /* This fails on Solaris 8: + mbrtowc returns 2, and sets wc to 0x00F0. + mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ + if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) + { + char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ + mbstate_t state; + wchar_t wc; + + memset (&state, '\0', sizeof (mbstate_t)); + if (mbrtowc (&wc, input + 3, 6, &state) != 4 + && mbtowc (&wc, input + 3, 6) == 4) + return 2; + } + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_mbrtowc_sanitycheck=yes +else $as_nop + gl_cv_func_mbrtowc_sanitycheck=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 +printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; } + + REPLACE_MBSTATE_T=0 + case "$gl_cv_func_mbrtowc_incomplete_state" in + *yes) ;; + *) REPLACE_MBSTATE_T=1 ;; + esac + case "$gl_cv_func_mbrtowc_sanitycheck" in + *yes) ;; + *) REPLACE_MBSTATE_T=1 ;; + esac + else + REPLACE_MBSTATE_T=1 + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5 printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; } if test ${ac_cv_c_undeclared_builtin_options+y} @@ -15109,7 +15588,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -15184,101 +15663,6 @@ printf "%s\n" "$gl_cv_next_monetary_h" >&6; } -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 -printf %s "checking for stdbool.h that conforms to C99... " >&6; } -if test ${ac_cv_header_stdbool_h+y} -then : - printf %s "(cached) " >&6 -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - - #ifdef __cplusplus - typedef bool Bool; - #else - typedef _Bool Bool; - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #endif - - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - /* See body of main program for 'e'. */ - char f[(Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; - /* Catch a bug in an HP-UX C compiler. See - https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html - */ - Bool q = true; - Bool *pq = &q; - bool *qq = &q; - -int -main (void) -{ - - bool e = &s; - *pq |= q; *pq |= ! q; - *qq |= q; *qq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq + !qq); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_header_stdbool_h=yes -else $as_nop - ac_cv_header_stdbool_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 -printf "%s\n" "$ac_cv_header_stdbool_h" >&6; } - ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" -if test "x$ac_cv_type__Bool" = xyes -then : - -printf "%s\n" "#define HAVE__BOOL 1" >>confdefs.h - - -fi - @@ -15289,7 +15673,9 @@ fi HAVE_DECL_FTELLO=1; HAVE_DECL_GETDELIM=1; HAVE_DECL_GETLINE=1; + HAVE_DECL_GETW=1; HAVE_DECL_OBSTACK_PRINTF=1; + HAVE_DECL_PUTW=1; HAVE_DECL_SNPRINTF=1; HAVE_DECL_VSNPRINTF=1; HAVE_DPRINTF=1; @@ -15334,6 +15720,16 @@ fi REPLACE_VSNPRINTF=0; REPLACE_VSPRINTF=0; + + + case "$host_os" in + *-musl* | midipix*) + +printf "%s\n" "#define MUSL_LIBC 1" >>confdefs.h + + ;; + esac + ac_fn_check_decl "$LINENO" "fcloseall" "ac_cv_have_decl_fcloseall" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" if test "x$ac_cv_have_decl_fcloseall" = xyes then : @@ -15343,11 +15739,26 @@ else $as_nop fi printf "%s\n" "#define HAVE_DECL_FCLOSEALL $ac_have_decl" >>confdefs.h +ac_fn_check_decl "$LINENO" "getw" "ac_cv_have_decl_getw" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_getw" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_GETW $ac_have_decl" >>confdefs.h + +ac_fn_check_decl "$LINENO" "putw" "ac_cv_have_decl_putw" "$ac_includes_default" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_putw" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_PUTW $ac_have_decl" >>confdefs.h - printf "%s\n" "#define __USE_MINGW_ANSI_STDIO 1" >>confdefs.h - @@ -15378,7 +15789,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -15477,11 +15888,23 @@ printf "%s\n" "#define GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU 1" >>confdefs.h + + if test $ac_cv_have_decl_fcloseall = no; then HAVE_DECL_FCLOSEALL=0 fi + if test $ac_cv_have_decl_getw = no; then + HAVE_DECL_GETW=0 + fi + + + if test $ac_cv_have_decl_putw = no; then + HAVE_DECL_PUTW=0 + fi + + GL_GNULIB_DPRINTF=0 @@ -15782,7 +16205,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -15832,6 +16255,62 @@ printf "%s\n" "$gl_cv_next_stdlib_h" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether MB_CUR_MAX is correct" >&5 +printf %s "checking whether MB_CUR_MAX is correct... " >&6; } +if test ${gl_cv_macro_MB_CUR_MAX_good+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + case "$host_os" in + # Guess no on Solaris. + solaris*) gl_cv_macro_MB_CUR_MAX_good="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_macro_MB_CUR_MAX_good="guessing yes" ;; + esac + if test $LOCALE_FR_UTF8 != none; then + if test "$cross_compiling" = yes +then : + : +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +int main () +{ + int result = 0; + if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + { + if (MB_CUR_MAX < 4) + result |= 1; + } + return result; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_macro_MB_CUR_MAX_good=yes +else $as_nop + gl_cv_macro_MB_CUR_MAX_good=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_macro_MB_CUR_MAX_good" >&5 +printf "%s\n" "$gl_cv_macro_MB_CUR_MAX_good" >&6; } + case "$gl_cv_macro_MB_CUR_MAX_good" in + *yes) ;; + *) REPLACE_MB_CUR_MAX=1 ;; + esac + + if test $ac_cv_have_decl_ecvt = no; then HAVE_DECL_ECVT=0 fi @@ -15851,6 +16330,7 @@ printf "%s\n" "$gl_cv_next_stdlib_h" >&6; } HAVE_FFSLL=1; HAVE_DECL_MEMMEM=1; HAVE_MEMPCPY=1; + HAVE_MEMSET_EXPLICIT=1; HAVE_DECL_MEMRCHR=1; HAVE_RAWMEMCHR=1; HAVE_STPCPY=1; @@ -15872,6 +16352,8 @@ printf "%s\n" "$gl_cv_next_stdlib_h" >&6; } REPLACE_FFSLL=0; REPLACE_MEMCHR=0; REPLACE_MEMMEM=0; + REPLACE_MEMPCPY=0; + REPLACE_STPCPY=0; REPLACE_STPNCPY=0; REPLACE_STRCHRNUL=0; REPLACE_STRDUP=0; @@ -15885,6 +16367,7 @@ printf "%s\n" "$gl_cv_next_stdlib_h" >&6; } REPLACE_STRERROR_R=0; REPLACE_STRERRORNAME_NP=0; REPLACE_STRSIGNAL=0; + REPLACE_STRVERSCMP=0; UNDEFINE_STRTOK_R=0; @@ -15919,7 +16402,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -15998,6 +16481,10 @@ printf "%s\n" "$gl_cv_next_string_h" >&6; } + GL_GNULIB_MEMSET_EXPLICIT=0 + + + GL_GNULIB_RAWMEMCHR=0 @@ -16262,7 +16749,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -16507,7 +16994,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -16571,17 +17058,17 @@ printf "%s\n" "$gl_cv_next_sys_types_h" >&6; } HAVE_TIMESPEC_GET=1; HAVE_TIMESPEC_GETRES=1; HAVE_TIMEZONE_T=0; - REPLACE_CTIME=GNULIB_PORTCHECK; - REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; - REPLACE_MKTIME=GNULIB_PORTCHECK; - REPLACE_NANOSLEEP=GNULIB_PORTCHECK; - REPLACE_STRFTIME=GNULIB_PORTCHECK; - REPLACE_TIMEGM=GNULIB_PORTCHECK; - REPLACE_TZSET=GNULIB_PORTCHECK; - - : ${GNULIB_GETTIMEOFDAY=0}; - REPLACE_GMTIME=0; + REPLACE_CTIME=0; + REPLACE_GMTIME=0; REPLACE_LOCALTIME=0; + REPLACE_LOCALTIME_R=0; + REPLACE_MKTIME=0; + REPLACE_NANOSLEEP=0; + REPLACE_STRFTIME=0; + REPLACE_TIME=0; + REPLACE_TIMEGM=0; + REPLACE_TIMESPEC_GET=0; + REPLACE_TZSET=0; @@ -16755,7 +17242,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -16801,6 +17288,10 @@ printf "%s\n" "$gl_cv_next_time_h" >&6; } + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for TIME_UTC in " >&5 printf %s "checking for TIME_UTC in ... " >&6; } if test ${gl_cv_time_h_has_TIME_UTC+y} @@ -16862,6 +17353,10 @@ printf "%s\n" "$gl_cv_time_h_has_TIME_UTC" >&6; } + GL_GNULIB_TIME=0 + + + GL_GNULIB_TIMEGM=0 @@ -16936,7 +17431,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -17060,7 +17555,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -17209,7 +17704,10 @@ gl_mda_defines=' HAVE_WCTRANS_T=1; REPLACE_ISWBLANK=0; REPLACE_ISWDIGIT=0; + REPLACE_ISWPUNCT=0; REPLACE_ISWXDIGIT=0; + REPLACE_WCTRANS=0; + REPLACE_WCTYPE=0; @@ -17269,7 +17767,7 @@ _ACEOF esac case "$host_os" in - mingw*) + mingw* | windows*) gl_dirsep_regex='[/\\]' ;; *) @@ -17517,6 +18015,10 @@ printf "%s\n" "$gl_cv_type_wctrans_t" >&6; } + GL_GNULIB_ISWPUNCT=0 + + + GL_GNULIB_ISWXDIGIT=0 @@ -17549,11 +18051,34 @@ then : printf %s "(cached) " >&6 else $as_nop case "$host_os" in - # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin. - *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*) + # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku. + *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku*) gl_cv_func_setlocale_null_all_mtsafe=no ;; + # Guess no on Cygwin < 3.4.6. + cygwin*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#if defined __CYGWIN__ + #include + #if CYGWIN_VERSION_DLL_COMBINED >= CYGWIN_VERSION_DLL_MAKE_COMBINED (3004, 6) + Lucky user + #endif +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky user" >/dev/null 2>&1 +then : + gl_cv_func_setlocale_null_all_mtsafe=yes +else $as_nop + gl_cv_func_setlocale_null_all_mtsafe=no +fi +rm -rf conftest* + + ;; # Guess yes on glibc, HP-UX, IRIX, Solaris, native Windows. - *-gnu* | gnu* | hpux* | irix* | solaris* | mingw*) + *-gnu* | gnu* | hpux* | irix* | solaris* | mingw* | windows*) gl_cv_func_setlocale_null_all_mtsafe=yes ;; # If we don't know, obey --enable-cross-guesses. *) @@ -17564,7 +18089,7 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_null_all_mtsafe" >&5 printf "%s\n" "$gl_cv_func_setlocale_null_all_mtsafe" >&6; } case "$host_os" in - mingw*) ;; + mingw* | windows*) ;; *) if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then gl_cv_func_setlocale_null_all_mtsafe="trivially yes" @@ -17590,7 +18115,7 @@ else $as_nop openbsd* | aix*) gl_cv_func_setlocale_null_one_mtsafe=no ;; # Guess yes on glibc, musl libc, macOS, FreeBSD, NetBSD, HP-UX, IRIX, Solaris, Haiku, Cygwin, native Windows. - *-gnu* | gnu* | *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*) + *-gnu* | gnu* | *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw* | windows*) gl_cv_func_setlocale_null_one_mtsafe=yes ;; # If we don't know, obey --enable-cross-guesses. *) @@ -17601,7 +18126,7 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_null_one_mtsafe" >&5 printf "%s\n" "$gl_cv_func_setlocale_null_one_mtsafe" >&6; } case "$host_os" in - mingw*) ;; + mingw* | windows*) ;; *) if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then gl_cv_func_setlocale_null_one_mtsafe="trivially yes" @@ -17618,7 +18143,9 @@ printf "%s\n" "#define SETLOCALE_NULL_ONE_MTSAFE $SETLOCALE_NULL_ONE_MTSAFE" >>c if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then case "$host_os" in - mingw*) LIB_SETLOCALE_NULL= ;; + mingw* | windows*) + SETLOCALE_NULL_LIB= + ;; *) @@ -17629,8 +18156,8 @@ then : printf %s "(cached) " >&6 else $as_nop case "$host_os" in - cygwin*) - gl_cv_have_weak="guessing no" + cygwin* | mingw* | windows*) + gl_cv_have_weak="guessing no" ;; *) gl_cv_have_weak=no @@ -17733,15 +18260,17 @@ printf "%s\n" "#define HAVE_WEAK_SYMBOLS 1" >>confdefs.h esac case "$gl_cv_have_weak" in - *yes) LIB_SETLOCALE_NULL= ;; - *) LIB_SETLOCALE_NULL="$LIBPTHREAD" ;; + *yes) SETLOCALE_NULL_LIB= ;; + *) SETLOCALE_NULL_LIB="$LIBPTHREAD" ;; esac ;; esac else - LIB_SETLOCALE_NULL= + SETLOCALE_NULL_LIB= fi + LIB_SETLOCALE_NULL="$SETLOCALE_NULL_LIB" + @@ -17836,12 +18365,12 @@ else $as_nop if test "$cross_compiling" = yes then : case "$host_os" in - # Guess no on Android. - linux*-android*) gl_cv_func_memchr_works="guessing no" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_memchr_works="guessing yes" ;; - # If we don't know, obey --enable-cross-guesses. - *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;; + # Guess no on Android. + linux*-android*) gl_cv_func_memchr_works="guessing no" ;; + # Guess yes on native Windows. + mingw* | windows*) gl_cv_func_memchr_works="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;; esac else $as_nop @@ -17961,6 +18490,25 @@ q LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"` fi + if test "$HAVE_LIBUNISTRING" = yes; then + for ac_header in unistring/woe32dll.h +do : + ac_fn_c_check_header_compile "$LINENO" "unistring/woe32dll.h" "ac_cv_header_unistring_woe32dll_h" "$ac_includes_default" +if test "x$ac_cv_header_unistring_woe32dll_h" = xyes +then : + printf "%s\n" "#define HAVE_UNISTRING_WOE32DLL_H 1" >>confdefs.h + HAVE_UNISTRING_WOE32DLL_H=1 +else $as_nop + HAVE_UNISTRING_WOE32DLL_H=0 +fi + +done + else + HAVE_UNISTRING_WOE32DLL_H=0 + fi + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler option to allow warnings" >&5 @@ -18003,7 +18551,7 @@ printf "%s\n" "$gl_cv_cc_wallow" >&6; } GL_CFLAG_GNULIB_WARNINGS='' if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then - cat > conftest.c <<\EOF + cat > conftest.c <<\EOF #if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3) -Wno-cast-qual -Wno-conversion @@ -18022,6 +18570,9 @@ printf "%s\n" "$gl_cv_cc_wallow" >&6; } #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) -Wno-pedantic #endif + #if 3 < __clang_major__ + (9 <= __clang_minor__) + -Wno-tautological-constant-out-of-range-compare + #endif #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) -Wno-sign-conversion -Wno-type-limits @@ -18120,12 +18671,12 @@ else $as_nop then : case "$host_os" in - # Guess no on Cygwin. - cygwin*) gl_cv_func_btowc_nul="guessing no" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_btowc_nul="guessing yes" ;; - # Guess yes otherwise. - *) gl_cv_func_btowc_nul="guessing yes" ;; + # Guess no on Cygwin. + cygwin*) gl_cv_func_btowc_nul="guessing no" ;; + # Guess yes on native Windows. + mingw* | windows*) gl_cv_func_btowc_nul="guessing yes" ;; + # Guess yes otherwise. + *) gl_cv_func_btowc_nul="guessing yes" ;; esac else $as_nop @@ -18163,12 +18714,12 @@ then : else $as_nop case "$host_os" in - # Guess no on IRIX. - irix*) gl_cv_func_btowc_eof="guessing no" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_btowc_eof="guessing yes" ;; - # Guess yes otherwise. - *) gl_cv_func_btowc_eof="guessing yes" ;; + # Guess no on IRIX. + irix*) gl_cv_func_btowc_eof="guessing no" ;; + # Guess yes on native Windows. + mingw* | windows*) gl_cv_func_btowc_eof="guessing yes" ;; + # Guess yes otherwise. + *) gl_cv_func_btowc_eof="guessing yes" ;; esac if test $LOCALE_FR != none; then if test "$cross_compiling" = yes @@ -18207,6 +18758,77 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_eof" >&5 printf "%s\n" "$gl_cv_func_btowc_eof" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether btowc is consistent with mbrtowc in the C locale" >&5 +printf %s "checking whether btowc is consistent with mbrtowc in the C locale... " >&6; } +if test ${gl_cv_func_btowc_consistent+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess no on mingw. + mingw* | windows*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef __MINGW32__ + Problem +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Problem" >/dev/null 2>&1 +then : + gl_cv_func_btowc_consistent="guessing no" +else $as_nop + gl_cv_func_btowc_consistent="guessing yes" +fi +rm -rf conftest* + + ;; + # Guess yes otherwise. + *) gl_cv_func_btowc_consistent="guessing yes" ;; + esac + +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +int main () +{ +#if HAVE_MBRTOWC + wint_t wc1 = btowc (0x80); + wchar_t wc2 = (wchar_t) 0xbadface; + char buf[1] = { 0x80 }; + mbstate_t state; + memset (&state, 0, sizeof (mbstate_t)); + if (mbrtowc (&wc2, buf, 1, &state) != 1 || wc1 != wc2) + return 1; +#endif + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_btowc_consistent=yes +else $as_nop + gl_cv_func_btowc_consistent=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_btowc_consistent" >&5 +printf "%s\n" "$gl_cv_func_btowc_consistent" >&6; } + case "$gl_cv_func_btowc_nul" in *yes) ;; *) REPLACE_BTOWC=1 ;; @@ -18215,6 +18837,76 @@ printf "%s\n" "$gl_cv_func_btowc_eof" >&6; } *yes) ;; *) REPLACE_BTOWC=1 ;; esac + case "$gl_cv_func_btowc_consistent" in + *yes) ;; + *) REPLACE_BTOWC=1 ;; + esac + if test $REPLACE_BTOWC = 0; then + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C locale is free of encoding errors" >&5 +printf %s "checking whether the C locale is free of encoding errors... " >&6; } +if test ${gl_cv_func_mbrtowc_C_locale_sans_EILSEQ+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on native Windows. + mingw* | windows*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;; + *) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" ;; + esac + +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + +int +main (void) +{ + + int i; + char *locale = setlocale (LC_ALL, "C"); + if (! locale) + return 2; + for (i = CHAR_MIN; i <= CHAR_MAX; i++) + { + char c = i; + wchar_t wc; + mbstate_t mbs = { 0, }; + size_t ss = mbrtowc (&wc, &c, 1, &mbs); + if (1 < ss) + return 3; + } + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes +else $as_nop + gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" >&5 +printf "%s\n" "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" >&6; } + + case "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" in + *yes) ;; + *) REPLACE_BTOWC=1 ;; + esac + fi fi @@ -18237,6 +18929,7 @@ fi : + fi @@ -18575,7 +19268,7 @@ printf "%s\n" "$gl_cv_func_gettimeofday_posix_signature" >&6; } REPLACE_GETTIMEOFDAY=1 fi case "$host_os" in - mingw*) REPLACE_GETTIMEOFDAY=1 ;; + mingw* | windows*) REPLACE_GETTIMEOFDAY=1 ;; esac fi @@ -18851,192 +19544,6 @@ fi - - - - - - - if case "$host_os" in - mingw*) true ;; - *) test $ac_cv_func_mbsinit = yes ;; - esac \ - && test $ac_cv_func_mbrtowc = yes; then - - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 -printf %s "checking whether mbrtowc handles incomplete characters... " >&6; } -if test ${gl_cv_func_mbrtowc_incomplete_state+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - case "$host_os" in - # Guess no on AIX and OSF/1. - aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; - esac - if test $LOCALE_JA != none; then - if test "$cross_compiling" = yes -then : - : -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) - { - const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - if (mbsinit (&state)) - return 2; - } - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_mbrtowc_incomplete_state=yes -else $as_nop - gl_cv_func_mbrtowc_incomplete_state=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - else - if test $LOCALE_FR_UTF8 != none; then - if test "$cross_compiling" = yes -then : - : -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) - { - const char input[] = "B\303\274\303\237er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - if (mbsinit (&state)) - return 2; - } - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_mbrtowc_incomplete_state=yes -else $as_nop - gl_cv_func_mbrtowc_incomplete_state=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi - fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 -printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; } - - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 -printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; } -if test ${gl_cv_func_mbrtowc_sanitycheck+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - case "$host_os" in - # Guess no on Solaris 8. - solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; - esac - if test $LOCALE_ZH_CN != none; then - if test "$cross_compiling" = yes -then : - : -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -#include -int main () -{ - /* This fails on Solaris 8: - mbrtowc returns 2, and sets wc to 0x00F0. - mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) - { - char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 3, 6, &state) != 4 - && mbtowc (&wc, input + 3, 6) == 4) - return 2; - } - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_mbrtowc_sanitycheck=yes -else $as_nop - gl_cv_func_mbrtowc_sanitycheck=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 -printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; } - - REPLACE_MBSTATE_T=0 - case "$gl_cv_func_mbrtowc_incomplete_state" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - case "$gl_cv_func_mbrtowc_sanitycheck" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - else - REPLACE_MBSTATE_T=1 - fi - if test $ac_cv_func_mbrtowc = no; then @@ -19207,13 +19714,15 @@ then : else $as_nop case "$host_os" in - # Guess no on HP-UX, Solaris, native Windows. - hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_retval="guessing yes" ;; + # Guess no on HP-UX, Solaris, native Windows. + hpux* | solaris* | mingw* | windows*) + gl_cv_func_mbrtowc_retval="guessing no" ;; + # Guess yes otherwise. + *) + gl_cv_func_mbrtowc_retval="guessing yes" ;; esac if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \ - || { case "$host_os" in mingw*) true;; *) false;; esac; }; then + || { case "$host_os" in mingw* | windows*) true;; *) false;; esac; }; then if test "$cross_compiling" = yes then : : @@ -19229,7 +19738,8 @@ int main () int result = 0; int found_some_locale = 0; /* This fails on Solaris. */ - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + if (strcmp ("$LOCALE_FR_UTF8", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { char input[] = "B\303\274\303\237er"; /* "Büßer" */ mbstate_t state; @@ -19245,7 +19755,8 @@ int main () found_some_locale = 1; } /* This fails on HP-UX 11.11. */ - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + if (strcmp ("$LOCALE_JA", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_JA") != NULL) { char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; @@ -19396,12 +19907,12 @@ then : else $as_nop case "$host_os" in - # Guess yes on native Windows. - mingw*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;; - *) gl_cv_func_mbrtowc_stores_incomplete="guessing no" ;; + # Guess yes on native Windows. + mingw* | windows*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;; + *) gl_cv_func_mbrtowc_stores_incomplete="guessing no" ;; esac case "$host_os" in - mingw*) + mingw* | windows*) if test "$cross_compiling" = yes then : : @@ -19523,29 +20034,30 @@ if test ${gl_cv_func_mbrtowc_empty_input+y} then : printf %s "(cached) " >&6 else $as_nop - - case "$host_os" in - # Guess no on AIX and glibc systems. - aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; - *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; - esac - if test "$cross_compiling" = yes + if test "$cross_compiling" = yes then : - : + case "$host_os" in + # Guess no on AIX and glibc systems. + aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; + # Guess no on Android. + linux*-android*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; + # Guess no on native Windows. + mingw* | windows*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; + *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; + esac + else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include - static wchar_t wc; - static mbstate_t mbs; - int - main (void) - { - return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2; - } + #include + static wchar_t wc; + static mbstate_t mbs; + int + main (void) + { + return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2; + } _ACEOF if ac_fn_c_try_run "$LINENO" then : @@ -19569,15 +20081,13 @@ if test ${gl_cv_func_mbrtowc_C_locale_sans_EILSEQ+y} then : printf %s "(cached) " >&6 else $as_nop - - gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" - - if test "$cross_compiling" = yes + if test "$cross_compiling" = yes then : case "$host_os" in - # Guess yes on native Windows. - mingw*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;; - esac + # Guess yes on native Windows. + mingw* | windows*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;; + *) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" ;; + esac else $as_nop cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -19684,7 +20194,9 @@ printf "%s\n" "#define MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ 1" >>confdefs.h fi if test $REPLACE_MBSTATE_T = 1; then case "$host_os" in - mingw*) LIB_MBRTOWC= ;; + mingw* | windows*) + MBRTOWC_LIB= + ;; *) @@ -19695,8 +20207,8 @@ then : printf %s "(cached) " >&6 else $as_nop case "$host_os" in - cygwin*) - gl_cv_have_weak="guessing no" + cygwin* | mingw* | windows*) + gl_cv_have_weak="guessing no" ;; *) gl_cv_have_weak=no @@ -19799,15 +20311,17 @@ printf "%s\n" "#define HAVE_WEAK_SYMBOLS 1" >>confdefs.h esac case "$gl_cv_have_weak" in - *yes) LIB_MBRTOWC= ;; - *) LIB_MBRTOWC="$LIBPTHREAD" ;; + *yes) MBRTOWC_LIB= ;; + *) MBRTOWC_LIB="$LIBPTHREAD" ;; esac ;; esac else - LIB_MBRTOWC= + MBRTOWC_LIB= fi + LIB_MBRTOWC="$MBRTOWC_LIB" + if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then @@ -19977,192 +20491,6 @@ printf "%s\n" "#define GNULIB_TEST_MBRTOWC 1" >>confdefs.h - - - - - if case "$host_os" in - mingw*) true ;; - *) test $ac_cv_func_mbsinit = yes ;; - esac \ - && test $ac_cv_func_mbrtowc = yes; then - - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 -printf %s "checking whether mbrtowc handles incomplete characters... " >&6; } -if test ${gl_cv_func_mbrtowc_incomplete_state+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - case "$host_os" in - # Guess no on AIX and OSF/1. - aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; - esac - if test $LOCALE_JA != none; then - if test "$cross_compiling" = yes -then : - : -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) - { - const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - if (mbsinit (&state)) - return 2; - } - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_mbrtowc_incomplete_state=yes -else $as_nop - gl_cv_func_mbrtowc_incomplete_state=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - else - if test $LOCALE_FR_UTF8 != none; then - if test "$cross_compiling" = yes -then : - : -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) - { - const char input[] = "B\303\274\303\237er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - if (mbsinit (&state)) - return 2; - } - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_mbrtowc_incomplete_state=yes -else $as_nop - gl_cv_func_mbrtowc_incomplete_state=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi - fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 -printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; } - - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 -printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; } -if test ${gl_cv_func_mbrtowc_sanitycheck+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - case "$host_os" in - # Guess no on Solaris 8. - solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; - esac - if test $LOCALE_ZH_CN != none; then - if test "$cross_compiling" = yes -then : - : -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -#include -int main () -{ - /* This fails on Solaris 8: - mbrtowc returns 2, and sets wc to 0x00F0. - mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) - { - char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 3, 6, &state) != 4 - && mbtowc (&wc, input + 3, 6) == 4) - return 2; - } - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_mbrtowc_sanitycheck=yes -else $as_nop - gl_cv_func_mbrtowc_sanitycheck=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 -printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; } - - REPLACE_MBSTATE_T=0 - case "$gl_cv_func_mbrtowc_incomplete_state" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - case "$gl_cv_func_mbrtowc_sanitycheck" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - else - REPLACE_MBSTATE_T=1 - fi - - - if test $ac_cv_func_mbsrtowcs = no; then HAVE_MBSRTOWCS=0 ac_fn_check_decl "$LINENO" "mbsrtowcs" "ac_cv_have_decl_mbsrtowcs" " @@ -20198,10 +20526,12 @@ then : else $as_nop case "$host_os" in - # Guess no on HP-UX, Solaris, mingw. - hpux* | solaris* | mingw*) gl_cv_func_mbsrtowcs_works="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbsrtowcs_works="guessing yes" ;; + # Guess no on HP-UX, Solaris, mingw. + hpux* | solaris* | mingw* | windows*) + gl_cv_func_mbsrtowcs_works="guessing no" ;; + # Guess yes otherwise. + *) + gl_cv_func_mbsrtowcs_works="guessing yes" ;; esac if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes @@ -20219,7 +20549,8 @@ int main () int result = 0; /* Test whether the function supports a NULL destination argument. This fails on native Windows. */ - if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) + if (strcmp ("$LOCALE_FR", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_FR") != NULL) { const char input[] = "\337er"; const char *src = input; @@ -20232,7 +20563,8 @@ int main () } /* Test whether the function works when started with a conversion state in non-initial state. This fails on HP-UX 11.11 and Solaris 10. */ - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + if (strcmp ("$LOCALE_FR_UTF8", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { const char input[] = "B\303\274\303\237er"; mbstate_t state; @@ -20246,7 +20578,8 @@ int main () result |= 2; } } - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + if (strcmp ("$LOCALE_JA", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "<\306\374\313\334\270\354>"; mbstate_t state; @@ -20260,7 +20593,8 @@ int main () result |= 4; } } - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) + if (strcmp ("$LOCALE_ZH_CN", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { const char input[] = "B\250\271\201\060\211\070er"; mbstate_t state; @@ -20297,6 +20631,72 @@ printf "%s\n" "$gl_cv_func_mbsrtowcs_works" >&6; } *yes) ;; *) REPLACE_MBSRTOWCS=1 ;; esac + if test $REPLACE_MBSRTOWCS = 0; then + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C locale is free of encoding errors" >&5 +printf %s "checking whether the C locale is free of encoding errors... " >&6; } +if test ${gl_cv_func_mbrtowc_C_locale_sans_EILSEQ+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "$cross_compiling" = yes +then : + case "$host_os" in + # Guess yes on native Windows. + mingw* | windows*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;; + *) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" ;; + esac + +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + #include + #include + +int +main (void) +{ + + int i; + char *locale = setlocale (LC_ALL, "C"); + if (! locale) + return 2; + for (i = CHAR_MIN; i <= CHAR_MAX; i++) + { + char c = i; + wchar_t wc; + mbstate_t mbs = { 0, }; + size_t ss = mbrtowc (&wc, &c, 1, &mbs); + if (1 < ss) + return 3; + } + return 0; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO" +then : + gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes +else $as_nop + gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" >&5 +printf "%s\n" "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" >&6; } + + case "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" in + *yes) ;; + *) REPLACE_MBSRTOWCS=1 ;; + esac + fi fi fi @@ -20398,7 +20798,7 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ssize_t" >&5 printf %s "checking for ssize_t... " >&6; } -if test ${gt_cv_ssize_t+y} +if test ${gl_cv_ssize_t+y} then : printf %s "(cached) " >&6 else $as_nop @@ -20416,77 +20816,86 @@ int x = sizeof (ssize_t *) + sizeof (ssize_t); _ACEOF if ac_fn_c_try_compile "$LINENO" then : - gt_cv_ssize_t=yes + gl_cv_ssize_t=yes else $as_nop - gt_cv_ssize_t=no + gl_cv_ssize_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gt_cv_ssize_t" >&5 -printf "%s\n" "$gt_cv_ssize_t" >&6; } - if test $gt_cv_ssize_t = no; then +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_ssize_t" >&5 +printf "%s\n" "$gl_cv_ssize_t" >&6; } + if test $gl_cv_ssize_t = no; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether size_t is wider than 'long'" >&5 +printf %s "checking whether size_t is wider than 'long'... " >&6; } +if test ${gl_cv_size_t_large+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + typedef int array [2 * (sizeof (size_t) > sizeof (long)) - 1]; -printf "%s\n" "#define ssize_t int" >>confdefs.h +int +main (void) +{ - fi - - - - - - if test "$ac_cv_header_stdbool_h" = yes; then - case "$host_os" in - solaris*) - if test -z "$GCC"; then - GL_GENERATE_STDBOOL_H=true - else - GL_GENERATE_STDBOOL_H=false - fi - ;; - *) - GL_GENERATE_STDBOOL_H=false - ;; - esac - else - GL_GENERATE_STDBOOL_H=true - fi - - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 - else - HAVE__BOOL=0 - fi - - - - - - - case "$GL_GENERATE_STDBOOL_H" in - false) STDBOOL_H='' ;; - true) - if test -z "$STDBOOL_H"; then - STDBOOL_H="${gl_source_base_prefix}stdbool.h" - fi - ;; - *) echo "*** GL_GENERATE_STDBOOL_H is not set correctly" 1>&2; exit 1 ;; - esac - - - if $GL_GENERATE_STDBOOL_H; then - GL_GENERATE_STDBOOL_H_TRUE= - GL_GENERATE_STDBOOL_H_FALSE='#' -else - GL_GENERATE_STDBOOL_H_TRUE='#' - GL_GENERATE_STDBOOL_H_FALSE= + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_size_t_large=yes +else $as_nop + gl_cv_size_t_large=no fi -: - if test -z "${GL_GENERATE_STDBOOL_H_TRUE}" && test -z "${GL_GENERATE_STDBOOL_H_FALSE}"; then - GL_GENERATE_STDBOOL_H_TRUE='#' - GL_GENERATE_STDBOOL_H_FALSE='#' +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_size_t_large" >&5 +printf "%s\n" "$gl_cv_size_t_large" >&6; } + if test $gl_cv_size_t_large = yes; then + gl_def_ssize_t='long long' + else + gl_def_ssize_t='long' + fi + +printf "%s\n" "#define ssize_t $gl_def_ssize_t" >>confdefs.h + fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bool, true, false" >&5 +printf %s "checking for bool, true, false... " >&6; } +if test ${gl_cv_c_bool+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #if true == false + #error "true == false" + #endif + extern bool b; + bool b = true == false; +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_c_bool=yes +else $as_nop + gl_cv_c_bool=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_c_bool" >&5 +printf "%s\n" "$gl_cv_c_bool" >&6; } + if test "$gl_cv_c_bool" = yes; then + +printf "%s\n" "#define HAVE_C_BOOL 1" >>confdefs.h + + fi + @@ -21123,192 +21532,6 @@ printf "%s\n" "#define __STDC_NO_VLA__ 1" >>confdefs.h - - - - - if case "$host_os" in - mingw*) true ;; - *) test $ac_cv_func_mbsinit = yes ;; - esac \ - && test $ac_cv_func_mbrtowc = yes; then - - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 -printf %s "checking whether mbrtowc handles incomplete characters... " >&6; } -if test ${gl_cv_func_mbrtowc_incomplete_state+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - case "$host_os" in - # Guess no on AIX and OSF/1. - aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; - esac - if test $LOCALE_JA != none; then - if test "$cross_compiling" = yes -then : - : -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) - { - const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - if (mbsinit (&state)) - return 2; - } - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_mbrtowc_incomplete_state=yes -else $as_nop - gl_cv_func_mbrtowc_incomplete_state=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - else - if test $LOCALE_FR_UTF8 != none; then - if test "$cross_compiling" = yes -then : - : -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) - { - const char input[] = "B\303\274\303\237er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - if (mbsinit (&state)) - return 2; - } - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_mbrtowc_incomplete_state=yes -else $as_nop - gl_cv_func_mbrtowc_incomplete_state=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi - fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 -printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; } - - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 -printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; } -if test ${gl_cv_func_mbrtowc_sanitycheck+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - case "$host_os" in - # Guess no on Solaris 8. - solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; - esac - if test $LOCALE_ZH_CN != none; then - if test "$cross_compiling" = yes -then : - : -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -#include -int main () -{ - /* This fails on Solaris 8: - mbrtowc returns 2, and sets wc to 0x00F0. - mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) - { - char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 3, 6, &state) != 4 - && mbtowc (&wc, input + 3, 6) == 4) - return 2; - } - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_mbrtowc_sanitycheck=yes -else $as_nop - gl_cv_func_mbrtowc_sanitycheck=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 -printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; } - - REPLACE_MBSTATE_T=0 - case "$gl_cv_func_mbrtowc_incomplete_state" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - case "$gl_cv_func_mbrtowc_sanitycheck" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - else - REPLACE_MBSTATE_T=1 - fi - - - if test $ac_cv_func_wcrtomb = no; then HAVE_WCRTOMB=0 ac_fn_check_decl "$LINENO" "wcrtomb" "ac_cv_have_decl_wcrtomb" " @@ -21398,9 +21621,11 @@ else $as_nop case "$host_os" in # Guess no on AIX 4, OSF/1, Solaris, native Windows. - aix4* | osf* | solaris* | mingw*) gl_cv_func_wcrtomb_retval="guessing no" ;; + aix4* | osf* | solaris* | mingw* | windows*) + gl_cv_func_wcrtomb_retval="guessing no" ;; # Guess yes otherwise. - *) gl_cv_func_wcrtomb_retval="guessing yes" ;; + *) + gl_cv_func_wcrtomb_retval="guessing yes" ;; esac if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then if test "$cross_compiling" = yes @@ -21417,12 +21642,14 @@ else $as_nop int main () { int result = 0; - if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) + if (strcmp ("$LOCALE_FR", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_FR") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 1; } - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + if (strcmp ("$LOCALE_FR_UTF8", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 2; @@ -21433,12 +21660,14 @@ int main () result |= 2; } } - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + if (strcmp ("$LOCALE_JA", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_JA") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 4; } - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) + if (strcmp ("$LOCALE_ZH_CN", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 8; @@ -21618,7 +21847,7 @@ else $as_nop solaris2.[1-9] | solaris2.[1-9].* | cygwin*) gl_cv_func_wctob_works="guessing no" ;; # Guess no on native Windows. - mingw*) + mingw* | windows*) gl_cv_func_wctob_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_wctob_works="guessing yes" ;; @@ -21776,11 +22005,13 @@ printf "%s\n" "#define GNULIB_TEST_WCTOB 1" >>confdefs.h + gl_gnulib_enabled_d07eca4c7a24aaac657c64e6568d4c2f=false gl_gnulib_enabled_attribute=false gl_gnulib_enabled_30838f5439487421042f2225bed3af76=false gl_gnulib_enabled_inline=false gl_gnulib_enabled_localcharset=false gl_gnulib_enabled_mbsinit=false + gl_gnulib_enabled_mbszero=false gl_gnulib_enabled_mbtowc=false gl_gnulib_enabled_memchr=false gl_gnulib_enabled_e7e881d32ca02f1c997b13c737c64bbd=false @@ -21790,20 +22021,199 @@ printf "%s\n" "#define GNULIB_TEST_WCTOB 1" >>confdefs.h gl_gnulib_enabled_53028ec81a2fde9235f1d688e4e85fc1=false gl_gnulib_enabled_fabe8eca3a52cf42d4d1d781b9f5fcbe=false gl_gnulib_enabled_unitypes=false - gl_gnulib_enabled_verify=false gl_gnulib_enabled_wctomb=false gl_gnulib_enabled_wmemcpy=false + func_gl_gnulib_m4code_d07eca4c7a24aaac657c64e6568d4c2f () + { + if $gl_gnulib_enabled_d07eca4c7a24aaac657c64e6568d4c2f; then :; else + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for static_assert" >&5 +printf %s "checking for static_assert... " >&6; } +if test ${gl_cv_static_assert+y} +then : + printf %s "(cached) " >&6 +else $as_nop + gl_save_CFLAGS=$CFLAGS + for gl_working in "yes, a keyword" "yes, an macro"; do + case $gl_working in #( + *assert.h*) : + CFLAGS="$gl_save_CFLAGS -DINCLUDE_ASSERT_H" ;; #( + *) : + ;; +esac + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#if defined __clang__ && __STDC_VERSION__ < 202311 + #pragma clang diagnostic error "-Wc2x-extensions" + #pragma clang diagnostic error "-Wc++1z-extensions" + #endif + #ifdef INCLUDE_ASSERT_H + #include + #endif + static_assert (2 + 2 == 4, "arithmetic does not work"); + static_assert (2 + 2 == 4); + +int +main (void) +{ + + static_assert (sizeof (char) == 1, "sizeof does not work"); + static_assert (sizeof (char) == 1); + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + gl_cv_static_assert=$gl_working +else $as_nop + gl_cv_static_assert=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CFLAGS=$gl_save_CFLAGS + test "$gl_cv_static_assert" != no && break + done +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_static_assert" >&5 +printf "%s\n" "$gl_cv_static_assert" >&6; } + + GL_GENERATE_ASSERT_H=false + case $gl_cv_static_assert in #( + yes*keyword*) : + +printf "%s\n" "#define HAVE_C_STATIC_ASSERT 1" >>confdefs.h + ;; #( + no) : + GL_GENERATE_ASSERT_H=true + + + + + + + + + if test $gl_cv_have_include_next = yes; then + gl_cv_next_assert_h='<'assert.h'>' + else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking absolute name of " >&5 +printf %s "checking absolute name of ... " >&6; } +if test ${gl_cv_next_assert_h+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF + case "$host_os" in + aix*) gl_absname_cpp="$ac_cpp -C" ;; + *) gl_absname_cpp="$ac_cpp" ;; + esac + + case "$host_os" in + mingw* | windows*) + gl_dirsep_regex='[/\\]' + ;; + *) + gl_dirsep_regex='\/' + ;; + esac + gl_make_literal_regex_sed='s,[]$^\\.*/[],\\&,g' + gl_header_literal_regex=`echo 'assert.h' \ + | sed -e "$gl_make_literal_regex_sed"` + gl_absolute_header_sed="/${gl_dirsep_regex}${gl_header_literal_regex}/"'{ + s/.*"\(.*'"${gl_dirsep_regex}${gl_header_literal_regex}"'\)".*/\1/ + s|^/[^/]|//&| + p + q + }' + + gl_cv_absolute_assert_h=`(eval "$gl_absname_cpp conftest.$ac_ext") 2>&5 | + sed -n "$gl_absolute_header_sed"` + + gl_header=$gl_cv_absolute_assert_h + gl_cv_next_assert_h='"'$gl_header'"' + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_next_assert_h" >&5 +printf "%s\n" "$gl_cv_next_assert_h" >&6; } + fi + NEXT_ASSERT_H=$gl_cv_next_assert_h + + if test $gl_cv_have_include_next = yes || test $gl_cv_have_include_next = buggy; then + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include_next' + gl_next_as_first_directive='<'assert.h'>' + else + # INCLUDE_NEXT_AS_FIRST_DIRECTIVE='include' + gl_next_as_first_directive=$gl_cv_next_assert_h + fi + NEXT_AS_FIRST_DIRECTIVE_ASSERT_H=$gl_next_as_first_directive + + + + ;; #( + *) : + ;; +esac + + + + + + + + case "$GL_GENERATE_ASSERT_H" in + false) ASSERT_H='' ;; + true) + if test -z "$ASSERT_H"; then + ASSERT_H="${gl_source_base_prefix}assert.h" + fi + ;; + *) echo "*** GL_GENERATE_ASSERT_H is not set correctly" 1>&2; exit 1 ;; + esac + + + if $GL_GENERATE_ASSERT_H; then + GL_GENERATE_ASSERT_H_TRUE= + GL_GENERATE_ASSERT_H_FALSE='#' +else + GL_GENERATE_ASSERT_H_TRUE='#' + GL_GENERATE_ASSERT_H_FALSE= +fi +: + if test -z "${GL_GENERATE_ASSERT_H_TRUE}" && test -z "${GL_GENERATE_ASSERT_H_FALSE}"; then + GL_GENERATE_ASSERT_H_TRUE='#' + GL_GENERATE_ASSERT_H_FALSE='#' + fi + + + + + + + gl_gnulib_enabled_d07eca4c7a24aaac657c64e6568d4c2f=true + fi + } func_gl_gnulib_m4code_attribute () { - if ! $gl_gnulib_enabled_attribute; then + if $gl_gnulib_enabled_attribute; then :; else gl_gnulib_enabled_attribute=true fi } func_gl_gnulib_m4code_30838f5439487421042f2225bed3af76 () { - if ! $gl_gnulib_enabled_30838f5439487421042f2225bed3af76; then + if $gl_gnulib_enabled_30838f5439487421042f2225bed3af76; then :; else - LIB_HARD_LOCALE="$LIB_SETLOCALE_NULL" + HARD_LOCALE_LIB="$SETLOCALE_NULL_LIB" + + LIB_HARD_LOCALE="$HARD_LOCALE_LIB" gl_gnulib_enabled_30838f5439487421042f2225bed3af76=true func_gl_gnulib_m4code_e7e881d32ca02f1c997b13c737c64bbd @@ -21811,7 +22221,7 @@ printf "%s\n" "#define GNULIB_TEST_WCTOB 1" >>confdefs.h } func_gl_gnulib_m4code_inline () { - if ! $gl_gnulib_enabled_inline; then + if $gl_gnulib_enabled_inline; then :; else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler generally respects inline" >&5 @@ -21859,7 +22269,7 @@ printf "%s\n" "#define HAVE_INLINE 1" >>confdefs.h } func_gl_gnulib_m4code_localcharset () { - if ! $gl_gnulib_enabled_localcharset; then + if $gl_gnulib_enabled_localcharset; then :; else @@ -21870,7 +22280,7 @@ printf "%s\n" "#define HAVE_INLINE 1" >>confdefs.h } func_gl_gnulib_m4code_mbsinit () { - if ! $gl_gnulib_enabled_mbsinit; then + if $gl_gnulib_enabled_mbsinit; then :; else @@ -21879,192 +22289,6 @@ printf "%s\n" "#define HAVE_INLINE 1" >>confdefs.h - - - - - if case "$host_os" in - mingw*) true ;; - *) test $ac_cv_func_mbsinit = yes ;; - esac \ - && test $ac_cv_func_mbrtowc = yes; then - - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc handles incomplete characters" >&5 -printf %s "checking whether mbrtowc handles incomplete characters... " >&6; } -if test ${gl_cv_func_mbrtowc_incomplete_state+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - case "$host_os" in - # Guess no on AIX and OSF/1. - aix* | osf*) gl_cv_func_mbrtowc_incomplete_state="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_incomplete_state="guessing yes" ;; - esac - if test $LOCALE_JA != none; then - if test "$cross_compiling" = yes -then : - : -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) - { - const char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - if (mbsinit (&state)) - return 2; - } - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_mbrtowc_incomplete_state=yes -else $as_nop - gl_cv_func_mbrtowc_incomplete_state=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - else - if test $LOCALE_FR_UTF8 != none; then - if test "$cross_compiling" = yes -then : - : -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -int main () -{ - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) - { - const char input[] = "B\303\274\303\237er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2)) - if (mbsinit (&state)) - return 2; - } - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_mbrtowc_incomplete_state=yes -else $as_nop - gl_cv_func_mbrtowc_incomplete_state=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi - fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_incomplete_state" >&5 -printf "%s\n" "$gl_cv_func_mbrtowc_incomplete_state" >&6; } - - - - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc works as well as mbtowc" >&5 -printf %s "checking whether mbrtowc works as well as mbtowc... " >&6; } -if test ${gl_cv_func_mbrtowc_sanitycheck+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - case "$host_os" in - # Guess no on Solaris 8. - solaris2.8) gl_cv_func_mbrtowc_sanitycheck="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_sanitycheck="guessing yes" ;; - esac - if test $LOCALE_ZH_CN != none; then - if test "$cross_compiling" = yes -then : - : -else $as_nop - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -#include -#include -int main () -{ - /* This fails on Solaris 8: - mbrtowc returns 2, and sets wc to 0x00F0. - mbtowc returns 4 (correct) and sets wc to 0x5EDC. */ - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) - { - char input[] = "B\250\271\201\060\211\070er"; /* "Büßer" */ - mbstate_t state; - wchar_t wc; - - memset (&state, '\0', sizeof (mbstate_t)); - if (mbrtowc (&wc, input + 3, 6, &state) != 4 - && mbtowc (&wc, input + 3, 6) == 4) - return 2; - } - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO" -then : - gl_cv_func_mbrtowc_sanitycheck=yes -else $as_nop - gl_cv_func_mbrtowc_sanitycheck=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_mbrtowc_sanitycheck" >&5 -printf "%s\n" "$gl_cv_func_mbrtowc_sanitycheck" >&6; } - - REPLACE_MBSTATE_T=0 - case "$gl_cv_func_mbrtowc_incomplete_state" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - case "$gl_cv_func_mbrtowc_sanitycheck" in - *yes) ;; - *) REPLACE_MBSTATE_T=1 ;; - esac - else - REPLACE_MBSTATE_T=1 - fi - - - if test $ac_cv_func_mbsinit = no; then HAVE_MBSINIT=0 ac_fn_check_decl "$LINENO" "mbsinit" "ac_cv_have_decl_mbsinit" " @@ -22087,7 +22311,7 @@ printf "%s\n" "#define HAVE_DECL_MBSINIT $ac_have_decl" >>confdefs.h REPLACE_MBSINIT=1 else case "$host_os" in - mingw*) REPLACE_MBSINIT=1 ;; + mingw* | windows*) REPLACE_MBSINIT=1 ;; esac fi fi @@ -22139,25 +22363,122 @@ printf "%s\n" "#define GNULIB_TEST_MBSINIT 1" >>confdefs.h gl_gnulib_enabled_mbsinit=true if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then - func_gl_gnulib_m4code_verify + func_gl_gnulib_m4code_d07eca4c7a24aaac657c64e6568d4c2f fi fi } + func_gl_gnulib_m4code_mbszero () + { + if $gl_gnulib_enabled_mbszero; then :; else + + + + + + + + + + + + + + + + + + GL_GNULIB_MBSZERO=1 + + + + + +printf "%s\n" "#define GNULIB_TEST_MBSZERO 1" >>confdefs.h + + + + gl_gnulib_enabled_mbszero=true + fi + } func_gl_gnulib_m4code_mbtowc () { - if ! $gl_gnulib_enabled_mbtowc; then + if $gl_gnulib_enabled_mbtowc; then :; else - ac_fn_c_check_func "$LINENO" "mbtowc" "ac_cv_func_mbtowc" + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mbtowc" >&5 +printf %s "checking for mbtowc... " >&6; } +if test ${gl_cv_onwards_func_mbtowc+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + exec 9>&6 6>/dev/null + + case "$host_os" in + + linux*-android*) + ac_fn_check_decl "$LINENO" "mbtowc" "ac_cv_have_decl_mbtowc" "#include +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_mbtowc" = xyes +then : + +fi + if test $ac_cv_have_decl_mbtowc = yes; then + ac_fn_c_check_func "$LINENO" "mbtowc" "ac_cv_func_mbtowc" if test "x$ac_cv_func_mbtowc" = xyes then : - printf "%s\n" "#define HAVE_MBTOWC 1" >>confdefs.h fi + if test $ac_cv_func_mbtowc = yes; then + gl_cv_onwards_func_mbtowc=yes + else + gl_cv_onwards_func_mbtowc='future OS version' + fi + else + gl_cv_onwards_func_mbtowc='future OS version' + fi + ;; + + + *) + ac_fn_c_check_func "$LINENO" "mbtowc" "ac_cv_func_mbtowc" +if test "x$ac_cv_func_mbtowc" = xyes +then : + +fi + + gl_cv_onwards_func_mbtowc=$ac_cv_func_mbtowc + ;; + + esac + + exec 6>&9 9>&- + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_onwards_func_mbtowc" >&5 +printf "%s\n" "$gl_cv_onwards_func_mbtowc" >&6; } + + case "$gl_cv_onwards_func_mbtowc" in + future*) ac_cv_func_mbtowc=no ;; + *) ac_cv_func_mbtowc=$gl_cv_onwards_func_mbtowc ;; + esac + if test $ac_cv_func_mbtowc = yes; then + +printf "%s\n" "#define HAVE_MBTOWC 1" >>confdefs.h + + fi + + if test $ac_cv_func_mbtowc = no; then HAVE_MBTOWC=0 + case "$gl_cv_onwards_func_mbtowc" in + future*) REPLACE_MBTOWC=1 ;; + esac else if false; then REPLACE_MBTOWC=1 @@ -22205,11 +22526,14 @@ printf "%s\n" "#define GNULIB_TEST_MBTOWC 1" >>confdefs.h gl_gnulib_enabled_mbtowc=true + if test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1; then + func_gl_gnulib_m4code_mbszero + fi fi } func_gl_gnulib_m4code_memchr () { - if ! $gl_gnulib_enabled_memchr; then + if $gl_gnulib_enabled_memchr; then :; else if test $REPLACE_MEMCHR = 1; then @@ -22267,7 +22591,7 @@ printf "%s\n" "#define GNULIB_TEST_MEMCHR 1" >>confdefs.h } func_gl_gnulib_m4code_e7e881d32ca02f1c997b13c737c64bbd () { - if ! $gl_gnulib_enabled_e7e881d32ca02f1c997b13c737c64bbd; then + if $gl_gnulib_enabled_e7e881d32ca02f1c997b13c737c64bbd; then :; else @@ -22280,11 +22604,34 @@ then : printf %s "(cached) " >&6 else $as_nop case "$host_os" in - # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin. - *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*) + # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku. + *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku*) gl_cv_func_setlocale_null_all_mtsafe=no ;; + # Guess no on Cygwin < 3.4.6. + cygwin*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#if defined __CYGWIN__ + #include + #if CYGWIN_VERSION_DLL_COMBINED >= CYGWIN_VERSION_DLL_MAKE_COMBINED (3004, 6) + Lucky user + #endif +#endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "Lucky user" >/dev/null 2>&1 +then : + gl_cv_func_setlocale_null_all_mtsafe=yes +else $as_nop + gl_cv_func_setlocale_null_all_mtsafe=no +fi +rm -rf conftest* + + ;; # Guess yes on glibc, HP-UX, IRIX, Solaris, native Windows. - *-gnu* | gnu* | hpux* | irix* | solaris* | mingw*) + *-gnu* | gnu* | hpux* | irix* | solaris* | mingw* | windows*) gl_cv_func_setlocale_null_all_mtsafe=yes ;; # If we don't know, obey --enable-cross-guesses. *) @@ -22295,7 +22642,7 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_null_all_mtsafe" >&5 printf "%s\n" "$gl_cv_func_setlocale_null_all_mtsafe" >&6; } case "$host_os" in - mingw*) ;; + mingw* | windows*) ;; *) if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then gl_cv_func_setlocale_null_all_mtsafe="trivially yes" @@ -22321,7 +22668,7 @@ else $as_nop openbsd* | aix*) gl_cv_func_setlocale_null_one_mtsafe=no ;; # Guess yes on glibc, musl libc, macOS, FreeBSD, NetBSD, HP-UX, IRIX, Solaris, Haiku, Cygwin, native Windows. - *-gnu* | gnu* | *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*) + *-gnu* | gnu* | *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw* | windows*) gl_cv_func_setlocale_null_one_mtsafe=yes ;; # If we don't know, obey --enable-cross-guesses. *) @@ -22332,7 +22679,7 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func_setlocale_null_one_mtsafe" >&5 printf "%s\n" "$gl_cv_func_setlocale_null_one_mtsafe" >&6; } case "$host_os" in - mingw*) ;; + mingw* | windows*) ;; *) if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then gl_cv_func_setlocale_null_one_mtsafe="trivially yes" @@ -22349,7 +22696,9 @@ printf "%s\n" "#define SETLOCALE_NULL_ONE_MTSAFE $SETLOCALE_NULL_ONE_MTSAFE" >>c if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then case "$host_os" in - mingw*) LIB_SETLOCALE_NULL= ;; + mingw* | windows*) + SETLOCALE_NULL_LIB= + ;; *) @@ -22360,8 +22709,8 @@ then : printf %s "(cached) " >&6 else $as_nop case "$host_os" in - cygwin*) - gl_cv_have_weak="guessing no" + cygwin* | mingw* | windows*) + gl_cv_have_weak="guessing no" ;; *) gl_cv_have_weak=no @@ -22464,15 +22813,17 @@ printf "%s\n" "#define HAVE_WEAK_SYMBOLS 1" >>confdefs.h esac case "$gl_cv_have_weak" in - *yes) LIB_SETLOCALE_NULL= ;; - *) LIB_SETLOCALE_NULL="$LIBPTHREAD" ;; + *yes) SETLOCALE_NULL_LIB= ;; + *) SETLOCALE_NULL_LIB="$LIBPTHREAD" ;; esac ;; esac else - LIB_SETLOCALE_NULL= + SETLOCALE_NULL_LIB= fi + LIB_SETLOCALE_NULL="$SETLOCALE_NULL_LIB" + if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then @@ -22609,20 +22960,20 @@ printf "%s\n" "#define GNULIB_TEST_SETLOCALE_NULL 1" >>confdefs.h } func_gl_gnulib_m4code_streq () { - if ! $gl_gnulib_enabled_streq; then + if $gl_gnulib_enabled_streq; then :; else gl_gnulib_enabled_streq=true fi } func_gl_gnulib_m4code_strnlen1 () { - if ! $gl_gnulib_enabled_strnlen1; then + if $gl_gnulib_enabled_strnlen1; then :; else gl_gnulib_enabled_strnlen1=true func_gl_gnulib_m4code_memchr fi } func_gl_gnulib_m4code_9c4a70804d24b83657b84f487eb93a64 () { - if ! $gl_gnulib_enabled_9c4a70804d24b83657b84f487eb93a64; then + if $gl_gnulib_enabled_9c4a70804d24b83657b84f487eb93a64; then :; else if { test "$HAVE_LIBUNISTRING" != yes \ @@ -22630,11 +22981,11 @@ printf "%s\n" "#define GNULIB_TEST_SETLOCALE_NULL 1" >>confdefs.h - test $LIBUNISTRING_VERSION_MAJOR -lt 0 \ - || { test $LIBUNISTRING_VERSION_MAJOR -eq 0 \ - && { test $LIBUNISTRING_VERSION_MINOR -lt 9 \ - || { test $LIBUNISTRING_VERSION_MINOR -eq 9 \ - && test $LIBUNISTRING_VERSION_SUBMINOR -lt 11 + test $LIBUNISTRING_VERSION_MAJOR -lt 1 \ + || { test $LIBUNISTRING_VERSION_MAJOR -eq 1 \ + && { test $LIBUNISTRING_VERSION_MINOR -lt 2 \ + || { test $LIBUNISTRING_VERSION_MINOR -eq 2 \ + && test $LIBUNISTRING_VERSION_SUBMINOR -lt 0 } } } @@ -22660,7 +23011,7 @@ printf "%s\n" "#define GNULIB_TEST_SETLOCALE_NULL 1" >>confdefs.h } func_gl_gnulib_m4code_53028ec81a2fde9235f1d688e4e85fc1 () { - if ! $gl_gnulib_enabled_53028ec81a2fde9235f1d688e4e85fc1; then + if $gl_gnulib_enabled_53028ec81a2fde9235f1d688e4e85fc1; then :; else printf "%s\n" "#define GNULIB_UNISTR_U8_MBTOUCR 1" >>confdefs.h @@ -22707,7 +23058,7 @@ fi } func_gl_gnulib_m4code_fabe8eca3a52cf42d4d1d781b9f5fcbe () { - if ! $gl_gnulib_enabled_fabe8eca3a52cf42d4d1d781b9f5fcbe; then + if $gl_gnulib_enabled_fabe8eca3a52cf42d4d1d781b9f5fcbe; then :; else printf "%s\n" "#define GNULIB_UNISTR_U8_UCTOMB 1" >>confdefs.h @@ -22755,7 +23106,7 @@ fi } func_gl_gnulib_m4code_unitypes () { - if ! $gl_gnulib_enabled_unitypes; then + if $gl_gnulib_enabled_unitypes; then :; else if { test "$HAVE_LIBUNISTRING" != yes \ @@ -22790,15 +23141,9 @@ fi gl_gnulib_enabled_unitypes=true fi } - func_gl_gnulib_m4code_verify () - { - if ! $gl_gnulib_enabled_verify; then - gl_gnulib_enabled_verify=true - fi - } func_gl_gnulib_m4code_wctomb () { - if ! $gl_gnulib_enabled_wctomb; then + if $gl_gnulib_enabled_wctomb; then :; else @@ -22847,11 +23192,14 @@ printf "%s\n" "#define GNULIB_TEST_WCTOMB 1" >>confdefs.h gl_gnulib_enabled_wctomb=true + if test $REPLACE_WCTOMB = 1; then + func_gl_gnulib_m4code_mbszero + fi fi } func_gl_gnulib_m4code_wmemcpy () { - if ! $gl_gnulib_enabled_wmemcpy; then + if $gl_gnulib_enabled_wmemcpy; then :; else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for wmemcpy" >&5 @@ -22930,6 +23278,9 @@ printf "%s\n" "#define GNULIB_TEST_WMEMCPY 1" >>confdefs.h gl_gnulib_enabled_wmemcpy=true fi } + if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then + func_gl_gnulib_m4code_mbszero + fi if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then func_gl_gnulib_m4code_mbtowc fi @@ -22939,6 +23290,9 @@ printf "%s\n" "#define GNULIB_TEST_WMEMCPY 1" >>confdefs.h if test $REPLACE_ICONV_UTF = 1; then func_gl_gnulib_m4code_fabe8eca3a52cf42d4d1d781b9f5fcbe fi + if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then + func_gl_gnulib_m4code_d07eca4c7a24aaac657c64e6568d4c2f + fi if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then func_gl_gnulib_m4code_attribute fi @@ -22954,9 +23308,6 @@ printf "%s\n" "#define GNULIB_TEST_WMEMCPY 1" >>confdefs.h if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then func_gl_gnulib_m4code_streq fi - if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then - func_gl_gnulib_m4code_verify - fi if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then func_gl_gnulib_m4code_strnlen1 fi @@ -22970,6 +23321,14 @@ printf "%s\n" "#define GNULIB_TEST_WMEMCPY 1" >>confdefs.h func_gl_gnulib_m4code_wctomb fi + if $gl_gnulib_enabled_d07eca4c7a24aaac657c64e6568d4c2f; then + gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE= + gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_FALSE='#' +else + gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE='#' + gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_FALSE= +fi + if $gl_gnulib_enabled_attribute; then gl_GNULIB_ENABLED_attribute_TRUE= gl_GNULIB_ENABLED_attribute_FALSE='#' @@ -23010,6 +23369,14 @@ else gl_GNULIB_ENABLED_mbsinit_FALSE= fi + if $gl_gnulib_enabled_mbszero; then + gl_GNULIB_ENABLED_mbszero_TRUE= + gl_GNULIB_ENABLED_mbszero_FALSE='#' +else + gl_GNULIB_ENABLED_mbszero_TRUE='#' + gl_GNULIB_ENABLED_mbszero_FALSE= +fi + if $gl_gnulib_enabled_mbtowc; then gl_GNULIB_ENABLED_mbtowc_TRUE= gl_GNULIB_ENABLED_mbtowc_FALSE='#' @@ -23082,14 +23449,6 @@ else gl_GNULIB_ENABLED_unitypes_FALSE= fi - if $gl_gnulib_enabled_verify; then - gl_GNULIB_ENABLED_verify_TRUE= - gl_GNULIB_ENABLED_verify_FALSE='#' -else - gl_GNULIB_ENABLED_verify_TRUE='#' - gl_GNULIB_ENABLED_verify_FALSE= -fi - if $gl_gnulib_enabled_wctomb; then gl_GNULIB_ENABLED_wctomb_TRUE= gl_GNULIB_ENABLED_wctomb_FALSE='#' @@ -24476,7 +24835,7 @@ fi desktopdir='${datadir}/applications' -appdatadir='${datadir}/metainfo' +metainfodir='${datadir}/metainfo' iconsdir='${datadir}/icons/hicolor' @@ -24625,6 +24984,10 @@ if test -z "${GL_COND_LIBTOOL_TRUE}" && test -z "${GL_COND_LIBTOOL_FALSE}"; then Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi test "X$DEFS" = X-DHAVE_CONFIG_H && DEFS= +if test -z "${gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE}" && test -z "${gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_FALSE}"; then + as_fn_error $? "conditional \"gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${gl_GNULIB_ENABLED_attribute_TRUE}" && test -z "${gl_GNULIB_ENABLED_attribute_FALSE}"; then as_fn_error $? "conditional \"gl_GNULIB_ENABLED_attribute\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -24645,6 +25008,10 @@ if test -z "${gl_GNULIB_ENABLED_mbsinit_TRUE}" && test -z "${gl_GNULIB_ENABLED_m as_fn_error $? "conditional \"gl_GNULIB_ENABLED_mbsinit\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${gl_GNULIB_ENABLED_mbszero_TRUE}" && test -z "${gl_GNULIB_ENABLED_mbszero_FALSE}"; then + as_fn_error $? "conditional \"gl_GNULIB_ENABLED_mbszero\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${gl_GNULIB_ENABLED_mbtowc_TRUE}" && test -z "${gl_GNULIB_ENABLED_mbtowc_FALSE}"; then as_fn_error $? "conditional \"gl_GNULIB_ENABLED_mbtowc\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -24681,10 +25048,6 @@ if test -z "${gl_GNULIB_ENABLED_unitypes_TRUE}" && test -z "${gl_GNULIB_ENABLED_ as_fn_error $? "conditional \"gl_GNULIB_ENABLED_unitypes\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${gl_GNULIB_ENABLED_verify_TRUE}" && test -z "${gl_GNULIB_ENABLED_verify_FALSE}"; then - as_fn_error $? "conditional \"gl_GNULIB_ENABLED_verify\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${gl_GNULIB_ENABLED_wctomb_TRUE}" && test -z "${gl_GNULIB_ENABLED_wctomb_FALSE}"; then as_fn_error $? "conditional \"gl_GNULIB_ENABLED_wctomb\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -25137,7 +25500,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Star Traders $as_me 7.18, which was +This file was extended by Star Traders $as_me 7.19, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -25206,7 +25569,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -Star Traders config.status 7.18 +Star Traders config.status 7.19 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" @@ -26194,7 +26557,7 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: - Configuration summary for Star Traders 7.18: + Configuration summary for Star Traders 7.19: Building for host: $host Using C compiler with options: $CC $CFLAGS @@ -26204,7 +26567,7 @@ fi " >&5 printf "%s\n" "$as_me: - Configuration summary for Star Traders 7.18: + Configuration summary for Star Traders 7.19: Building for host: $host Using C compiler with options: $CC $CFLAGS diff --git a/configure.ac b/configure.ac index 44807e0..540e035 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl ********************************************************************* dnl * * dnl * Star Traders: A Game of Interstellar Trading * -dnl * Copyright (C) 1990-2022, John Zaitseff * +dnl * Copyright (C) 1990-2024, John Zaitseff * dnl * * dnl ********************************************************************* dnl @@ -26,7 +26,7 @@ dnl You should have received a copy of the GNU General Public License dnl along with this program. If not, see https://www.gnu.org/licenses/. -AC_INIT([Star Traders], [7.18], [J.Zaitseff@zap.org.au], [trader], +AC_INIT([Star Traders], [7.19], [J.Zaitseff@zap.org.au], [trader], [https://www.zap.org.au/projects/trader/]) AC_DEFINE([PACKAGE_AUTHOR], ["John Zaitseff"], [Package author]) @@ -35,7 +35,7 @@ AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR([src/trader.c]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_HEADERS([config.h]) -AM_INIT_AUTOMAKE([1.15 -Wall -Werror foreign dist-xz]) +AM_INIT_AUTOMAKE([1.16 -Wall -Werror foreign dist-xz]) AM_MAINTAINER_MODE([enable]) AC_CONFIG_LIBOBJ_DIR([lib]) @@ -53,7 +53,7 @@ AC_TYPE_SIZE_T AC_TYPE_SSIZE_T AM_GNU_GETTEXT([external], [need-ngettext]) -AM_GNU_GETTEXT_VERSION([0.20]) +AM_GNU_GETTEXT_VERSION([0.21]) gl_INIT @@ -81,7 +81,7 @@ AS_IF([test "x$ax_cv_curses_enhanced" = xyes], [], ]) AC_SUBST([desktopdir],['${datadir}/applications']) -AC_SUBST([appdatadir],['${datadir}/metainfo']) +AC_SUBST([metainfodir],['${datadir}/metainfo']) AC_SUBST([iconsdir],['${datadir}/icons/hicolor']) AC_CONFIG_FILES([ diff --git a/data/Makefile.am b/data/Makefile.am index aa5cc94..8a36117 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -1,7 +1,7 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### @@ -27,8 +27,8 @@ # along with this program. If not, see https://www.gnu.org/licenses/. -dist_desktop_DATA = trader.desktop -dist_appdata_DATA = trader.appdata.xml +dist_desktop_DATA = au.org.zap.trader.desktop +dist_metainfo_DATA = au.org.zap.trader.metainfo.xml icons16dir = ${iconsdir}/16x16/apps icons22dir = ${iconsdir}/22x22/apps @@ -55,13 +55,13 @@ dist_icons512_DATA = icons-512/trader.png dist_iconsscalable_DATA = trader.svg EXTRA_DIST = \ - README \ - trader.desktop.in \ - trader.appdata.xml.in + README \ + au.org.zap.trader.desktop.in \ + au.org.zap.trader.metainfo.xml.in -trader.desktop: trader.desktop.in +au.org.zap.trader.desktop: au.org.zap.trader.desktop.in $(top_srcdir)/build-aux/msgfmt-desktop -d $(top_srcdir)/po $< $@ -trader.appdata.xml: trader.appdata.xml.in - $(top_srcdir)/build-aux/msgfmt-appdata -d $(top_srcdir)/po $< $@ +au.org.zap.trader.metainfo.xml: au.org.zap.trader.metainfo.xml.in + $(top_srcdir)/build-aux/msgfmt-metainfo -d $(top_srcdir)/po $< $@ diff --git a/data/Makefile.in b/data/Makefile.in index b37a807..f1e665c 100644 --- a/data/Makefile.in +++ b/data/Makefile.in @@ -17,12 +17,12 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### # Author: John Zaitseff -# $Id: aa5cc943e75f49631c9f26e99894eec23ba6dbb6 $ +# $Id: 8a36117fbba4fb820f42a9d9864eb1530a2656c5 $ # # This file, data/Makefile.am, contains the non-code data directory # Makefile for Star Traders. It needs to be processed by automake to @@ -120,14 +120,15 @@ subdir = data ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/assert.m4 \ + $(top_srcdir)/m4/assert_h.m4 \ $(top_srcdir)/m4/ax_c___attribute__.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ $(top_srcdir)/m4/ax_compiler_vendor.m4 \ $(top_srcdir)/m4/ax_prepend_flag.m4 \ $(top_srcdir)/m4/ax_require_defined.m4 \ $(top_srcdir)/m4/ax_with_curses.m4 $(top_srcdir)/m4/btowc.m4 \ - $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ - $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/c-bool.m4 $(top_srcdir)/m4/codeset.m4 \ + $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/free.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ @@ -145,9 +146,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/monetary_h.m4 \ - $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nocrash.m4 \ - $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/setlocale_null.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \ + $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/musl.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/setlocale_null.m4 $(top_srcdir)/m4/ssize_t.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ @@ -163,13 +164,14 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/zzgnulib.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(dist_appdata_DATA) \ - $(dist_desktop_DATA) $(dist_icons128_DATA) \ - $(dist_icons16_DATA) $(dist_icons22_DATA) $(dist_icons24_DATA) \ +DIST_COMMON = $(srcdir)/Makefile.am $(dist_desktop_DATA) \ + $(dist_icons128_DATA) $(dist_icons16_DATA) \ + $(dist_icons22_DATA) $(dist_icons24_DATA) \ $(dist_icons256_DATA) $(dist_icons32_DATA) \ $(dist_icons48_DATA) $(dist_icons512_DATA) \ $(dist_icons64_DATA) $(dist_icons96_DATA) \ - $(dist_iconsscalable_DATA) $(am__DIST_COMMON) + $(dist_iconsscalable_DATA) $(dist_metainfo_DATA) \ + $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -220,19 +222,19 @@ am__uninstall_files_from_dir = { \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } -am__installdirs = "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(desktopdir)" \ - "$(DESTDIR)$(icons128dir)" "$(DESTDIR)$(icons16dir)" \ - "$(DESTDIR)$(icons22dir)" "$(DESTDIR)$(icons24dir)" \ - "$(DESTDIR)$(icons256dir)" "$(DESTDIR)$(icons32dir)" \ - "$(DESTDIR)$(icons48dir)" "$(DESTDIR)$(icons512dir)" \ - "$(DESTDIR)$(icons64dir)" "$(DESTDIR)$(icons96dir)" \ - "$(DESTDIR)$(iconsscalabledir)" -DATA = $(dist_appdata_DATA) $(dist_desktop_DATA) $(dist_icons128_DATA) \ - $(dist_icons16_DATA) $(dist_icons22_DATA) $(dist_icons24_DATA) \ +am__installdirs = "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(icons128dir)" \ + "$(DESTDIR)$(icons16dir)" "$(DESTDIR)$(icons22dir)" \ + "$(DESTDIR)$(icons24dir)" "$(DESTDIR)$(icons256dir)" \ + "$(DESTDIR)$(icons32dir)" "$(DESTDIR)$(icons48dir)" \ + "$(DESTDIR)$(icons512dir)" "$(DESTDIR)$(icons64dir)" \ + "$(DESTDIR)$(icons96dir)" "$(DESTDIR)$(iconsscalabledir)" \ + "$(DESTDIR)$(metainfodir)" +DATA = $(dist_desktop_DATA) $(dist_icons128_DATA) $(dist_icons16_DATA) \ + $(dist_icons22_DATA) $(dist_icons24_DATA) \ $(dist_icons256_DATA) $(dist_icons32_DATA) \ $(dist_icons48_DATA) $(dist_icons512_DATA) \ $(dist_icons64_DATA) $(dist_icons96_DATA) \ - $(dist_iconsscalable_DATA) + $(dist_iconsscalable_DATA) $(dist_metainfo_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) am__DIST_COMMON = $(srcdir)/Makefile.in README DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -242,6 +244,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ +ASSERT_H = @ASSERT_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -353,6 +356,7 @@ GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@ GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@ GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@ GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@ +GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@ GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@ GL_GNULIB_GETTIMEOFDAY = @GL_GNULIB_GETTIMEOFDAY@ GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@ @@ -366,6 +370,7 @@ GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@ GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@ GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@ GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@ +GL_GNULIB_ISWPUNCT = @GL_GNULIB_ISWPUNCT@ GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@ GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@ GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@ @@ -397,6 +402,8 @@ GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@ GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@ GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@ GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@ +GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@ +GL_GNULIB_MBSZERO = @GL_GNULIB_MBSZERO@ GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@ GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@ GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@ @@ -441,6 +448,7 @@ GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@ GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@ GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@ GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@ +GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@ GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@ GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@ GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@ @@ -475,6 +483,7 @@ GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@ GL_GNULIB_PUTS = @GL_GNULIB_PUTS@ GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@ GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@ +GL_GNULIB_RAND = @GL_GNULIB_RAND@ GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@ GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@ GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@ @@ -535,6 +544,7 @@ GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@ GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@ GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@ GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@ +GL_GNULIB_TIME = @GL_GNULIB_TIME@ GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@ GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@ GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@ @@ -596,6 +606,7 @@ GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@ GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@ GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@ GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@ +GL_GNULIB_WGETCWD = @GL_GNULIB_WGETCWD@ GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@ GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@ GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@ @@ -607,8 +618,8 @@ GL_GNULIB__EXIT = @GL_GNULIB__EXIT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@ -GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GREP = @GREP@ +HARD_LOCALE_LIB = @HARD_LOCALE_LIB@ HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -636,6 +647,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ +HAVE_DECL_GETW = @HAVE_DECL_GETW@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ @@ -643,6 +655,8 @@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ +HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@ +HAVE_DECL_PUTW = @HAVE_DECL_PUTW@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ @@ -691,11 +705,14 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETPASS = @HAVE_GETPASS@ +HAVE_GETPROGNAME = @HAVE_GETPROGNAME@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GETUMASK = @HAVE_GETUMASK@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXABS = @HAVE_IMAXABS@ +HAVE_IMAXDIV = @HAVE_IMAXDIV@ HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ @@ -715,6 +732,7 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ @@ -793,6 +811,7 @@ HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@ HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ +HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_USLEEP = @HAVE_USLEEP@ @@ -841,7 +860,6 @@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMPCPY = @HAVE_WMEMPCPY@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ -HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ ICONV_CONST = @ICONV_CONST@ ICONV_H = @ICONV_H@ @@ -856,6 +874,10 @@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@ +LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@ +LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@ +LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@ LDFLAGS = @LDFLAGS@ LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ @@ -883,11 +905,14 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MBRTOWC_LIB = @MBRTOWC_LIB@ MKDIR_P = @MKDIR_P@ MONETARY_H = @MONETARY_H@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ +NEXT_ASSERT_H = @NEXT_ASSERT_H@ +NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ @@ -957,6 +982,7 @@ REPLACE_CTIME = @REPLACE_CTIME@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUP3 = @REPLACE_DUP3@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_EXECL = @REPLACE_EXECL@ REPLACE_EXECLE = @REPLACE_EXECLE@ @@ -966,9 +992,11 @@ REPLACE_EXECVE = @REPLACE_EXECVE@ REPLACE_EXECVP = @REPLACE_EXECVP@ REPLACE_EXECVPE = @REPLACE_EXECVPE@ REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ +REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCHMODAT = @REPLACE_FCHMODAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ +REPLACE_FDATASYNC = @REPLACE_FDATASYNC@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FFSLL = @REPLACE_FFSLL@ @@ -991,22 +1019,29 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ +REPLACE_GETENTROPY = @REPLACE_GETENTROPY@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ +REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETPASS = @REPLACE_GETPASS@ REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@ +REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@ +REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ +REPLACE_IMAXABS = @REPLACE_IMAXABS@ +REPLACE_IMAXDIV = @REPLACE_IMAXDIV@ REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@ +REPLACE_ISWPUNCT = @REPLACE_ISWPUNCT@ REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ @@ -1024,14 +1059,19 @@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ +REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@ REPLACE_MBTOWC = @REPLACE_MBTOWC@ +REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MEMPCPY = @REPLACE_MEMPCPY@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKNODAT = @REPLACE_MKNODAT@ +REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@ +REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ @@ -1039,8 +1079,10 @@ REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ +REPLACE_PIPE2 = @REPLACE_PIPE2@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@ +REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ @@ -1048,6 +1090,7 @@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ +REPLACE_RAND = @REPLACE_RAND@ REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ @@ -1062,6 +1105,7 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ @@ -1070,6 +1114,7 @@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ +REPLACE_STPCPY = @REPLACE_STPCPY@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ @@ -1095,9 +1140,12 @@ REPLACE_STRTOULL = @REPLACE_STRTOULL@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ +REPLACE_STRVERSCMP = @REPLACE_STRVERSCMP@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ +REPLACE_TIME = @REPLACE_TIME@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ +REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TRUNCATE = @REPLACE_TRUNCATE@ @@ -1115,21 +1163,30 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ +REPLACE_WCSCMP = @REPLACE_WCSCMP@ REPLACE_WCSFTIME = @REPLACE_WCSFTIME@ +REPLACE_WCSNCMP = @REPLACE_WCSNCMP@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ +REPLACE_WCSSTR = @REPLACE_WCSSTR@ REPLACE_WCSTOK = @REPLACE_WCSTOK@ REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ +REPLACE_WCTRANS = @REPLACE_WCTRANS@ +REPLACE_WCTYPE = @REPLACE_WCTYPE@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ +REPLACE_WMEMCMP = @REPLACE_WMEMCMP@ +REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@ REPLACE_WRITE = @REPLACE_WRITE@ +REPLACE__EXIT = @REPLACE__EXIT@ +SCHED_YIELD_LIB = @SCHED_YIELD_LIB@ SED = @SED@ +SETLOCALE_NULL_LIB = @SETLOCALE_NULL_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -1164,7 +1221,6 @@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ -appdatadir = @appdatadir@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ @@ -1200,6 +1256,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ +metainfodir = @metainfodir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ @@ -1215,8 +1272,8 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -dist_desktop_DATA = trader.desktop -dist_appdata_DATA = trader.appdata.xml +dist_desktop_DATA = au.org.zap.trader.desktop +dist_metainfo_DATA = au.org.zap.trader.metainfo.xml icons16dir = ${iconsdir}/16x16/apps icons22dir = ${iconsdir}/22x22/apps icons24dir = ${iconsdir}/24x24/apps @@ -1240,9 +1297,9 @@ dist_icons256_DATA = icons-256/trader.png dist_icons512_DATA = icons-512/trader.png dist_iconsscalable_DATA = trader.svg EXTRA_DIST = \ - README \ - trader.desktop.in \ - trader.appdata.xml.in + README \ + au.org.zap.trader.desktop.in \ + au.org.zap.trader.metainfo.xml.in all: all-am @@ -1276,27 +1333,6 @@ $(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): -install-dist_appdataDATA: $(dist_appdata_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_appdata_DATA)'; test -n "$(appdatadir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(appdatadir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(appdatadir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appdatadir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(appdatadir)" || exit $$?; \ - done - -uninstall-dist_appdataDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_appdata_DATA)'; test -n "$(appdatadir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(appdatadir)'; $(am__uninstall_files_from_dir) install-dist_desktopDATA: $(dist_desktop_DATA) @$(NORMAL_INSTALL) @list='$(dist_desktop_DATA)'; test -n "$(desktopdir)" || list=; \ @@ -1549,6 +1585,27 @@ uninstall-dist_iconsscalableDATA: @list='$(dist_iconsscalable_DATA)'; test -n "$(iconsscalabledir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(iconsscalabledir)'; $(am__uninstall_files_from_dir) +install-dist_metainfoDATA: $(dist_metainfo_DATA) + @$(NORMAL_INSTALL) + @list='$(dist_metainfo_DATA)'; test -n "$(metainfodir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(metainfodir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(metainfodir)" || exit 1; \ + fi; \ + for p in $$list; do \ + if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ + echo "$$d$$p"; \ + done | $(am__base_list) | \ + while read files; do \ + echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(metainfodir)'"; \ + $(INSTALL_DATA) $$files "$(DESTDIR)$(metainfodir)" || exit $$?; \ + done + +uninstall-dist_metainfoDATA: + @$(NORMAL_UNINSTALL) + @list='$(dist_metainfo_DATA)'; test -n "$(metainfodir)" || list=; \ + files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ + dir='$(DESTDIR)$(metainfodir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: @@ -1592,7 +1649,7 @@ check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: - for dir in "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(icons128dir)" "$(DESTDIR)$(icons16dir)" "$(DESTDIR)$(icons22dir)" "$(DESTDIR)$(icons24dir)" "$(DESTDIR)$(icons256dir)" "$(DESTDIR)$(icons32dir)" "$(DESTDIR)$(icons48dir)" "$(DESTDIR)$(icons512dir)" "$(DESTDIR)$(icons64dir)" "$(DESTDIR)$(icons96dir)" "$(DESTDIR)$(iconsscalabledir)"; do \ + for dir in "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(icons128dir)" "$(DESTDIR)$(icons16dir)" "$(DESTDIR)$(icons22dir)" "$(DESTDIR)$(icons24dir)" "$(DESTDIR)$(icons256dir)" "$(DESTDIR)$(icons32dir)" "$(DESTDIR)$(icons48dir)" "$(DESTDIR)$(icons512dir)" "$(DESTDIR)$(icons64dir)" "$(DESTDIR)$(icons96dir)" "$(DESTDIR)$(iconsscalabledir)" "$(DESTDIR)$(metainfodir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am @@ -1645,13 +1702,13 @@ info: info-am info-am: -install-data-am: install-dist_appdataDATA install-dist_desktopDATA \ - install-dist_icons128DATA install-dist_icons16DATA \ - install-dist_icons22DATA install-dist_icons24DATA \ - install-dist_icons256DATA install-dist_icons32DATA \ - install-dist_icons48DATA install-dist_icons512DATA \ - install-dist_icons64DATA install-dist_icons96DATA \ - install-dist_iconsscalableDATA +install-data-am: install-dist_desktopDATA install-dist_icons128DATA \ + install-dist_icons16DATA install-dist_icons22DATA \ + install-dist_icons24DATA install-dist_icons256DATA \ + install-dist_icons32DATA install-dist_icons48DATA \ + install-dist_icons512DATA install-dist_icons64DATA \ + install-dist_icons96DATA install-dist_iconsscalableDATA \ + install-dist_metainfoDATA install-dvi: install-dvi-am @@ -1695,48 +1752,48 @@ ps: ps-am ps-am: -uninstall-am: uninstall-dist_appdataDATA uninstall-dist_desktopDATA \ - uninstall-dist_icons128DATA uninstall-dist_icons16DATA \ - uninstall-dist_icons22DATA uninstall-dist_icons24DATA \ - uninstall-dist_icons256DATA uninstall-dist_icons32DATA \ - uninstall-dist_icons48DATA uninstall-dist_icons512DATA \ - uninstall-dist_icons64DATA uninstall-dist_icons96DATA \ - uninstall-dist_iconsscalableDATA +uninstall-am: uninstall-dist_desktopDATA uninstall-dist_icons128DATA \ + uninstall-dist_icons16DATA uninstall-dist_icons22DATA \ + uninstall-dist_icons24DATA uninstall-dist_icons256DATA \ + uninstall-dist_icons32DATA uninstall-dist_icons48DATA \ + uninstall-dist_icons512DATA uninstall-dist_icons64DATA \ + uninstall-dist_icons96DATA uninstall-dist_iconsscalableDATA \ + uninstall-dist_metainfoDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic cscopelist-am \ ctags-am distclean distclean-generic distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ - install-data-am install-dist_appdataDATA \ - install-dist_desktopDATA install-dist_icons128DATA \ - install-dist_icons16DATA install-dist_icons22DATA \ - install-dist_icons24DATA install-dist_icons256DATA \ - install-dist_icons32DATA install-dist_icons48DATA \ - install-dist_icons512DATA install-dist_icons64DATA \ - install-dist_icons96DATA install-dist_iconsscalableDATA \ + install-data-am install-dist_desktopDATA \ + install-dist_icons128DATA install-dist_icons16DATA \ + install-dist_icons22DATA install-dist_icons24DATA \ + install-dist_icons256DATA install-dist_icons32DATA \ + install-dist_icons48DATA install-dist_icons512DATA \ + install-dist_icons64DATA install-dist_icons96DATA \ + install-dist_iconsscalableDATA install-dist_metainfoDATA \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags-am \ - uninstall uninstall-am uninstall-dist_appdataDATA \ - uninstall-dist_desktopDATA uninstall-dist_icons128DATA \ - uninstall-dist_icons16DATA uninstall-dist_icons22DATA \ - uninstall-dist_icons24DATA uninstall-dist_icons256DATA \ - uninstall-dist_icons32DATA uninstall-dist_icons48DATA \ - uninstall-dist_icons512DATA uninstall-dist_icons64DATA \ - uninstall-dist_icons96DATA uninstall-dist_iconsscalableDATA + uninstall uninstall-am uninstall-dist_desktopDATA \ + uninstall-dist_icons128DATA uninstall-dist_icons16DATA \ + uninstall-dist_icons22DATA uninstall-dist_icons24DATA \ + uninstall-dist_icons256DATA uninstall-dist_icons32DATA \ + uninstall-dist_icons48DATA uninstall-dist_icons512DATA \ + uninstall-dist_icons64DATA uninstall-dist_icons96DATA \ + uninstall-dist_iconsscalableDATA uninstall-dist_metainfoDATA .PRECIOUS: Makefile -trader.desktop: trader.desktop.in +au.org.zap.trader.desktop: au.org.zap.trader.desktop.in $(top_srcdir)/build-aux/msgfmt-desktop -d $(top_srcdir)/po $< $@ -trader.appdata.xml: trader.appdata.xml.in - $(top_srcdir)/build-aux/msgfmt-appdata -d $(top_srcdir)/po $< $@ +au.org.zap.trader.metainfo.xml: au.org.zap.trader.metainfo.xml.in + $(top_srcdir)/build-aux/msgfmt-metainfo -d $(top_srcdir)/po $< $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/data/README b/data/README index 82c9746..ac51905 100644 --- a/data/README +++ b/data/README @@ -7,4 +7,5 @@ Star Traders: A Game of Interstellar Trading ============================================ This directory, `data`, contains non-code data related to Star Traders. -In particular, the desktop file, AppData file and icons are located here. +In particular, the desktop file, AppData metainfo file and icons are +located here. diff --git a/data/trader.desktop b/data/au.org.zap.trader.desktop similarity index 85% rename from data/trader.desktop rename to data/au.org.zap.trader.desktop index d00ccc7..eda6737 100644 --- a/data/trader.desktop +++ b/data/au.org.zap.trader.desktop @@ -1,12 +1,12 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### # Author: John Zaitseff -# $Id: 4c1800749e2b7be38d4fffc984e4992dd01d3a17 $ +# $Id: bdf35fbf2ef534a36aaef7389875ad416721ebc4 $ # This file provides a translated desktop entry for Star Traders and # conforms to the Desktop Entry Specification v1.5. @@ -32,10 +32,13 @@ Name[fr]=Star Traders Name[hr]=Star Traders Name[hu]=Star Traders Name[nb]=Star Traders +Name[pl]=Gwiezdni Traderzy Name[pt_BR]=Comerciantes Estelares +Name[ro]=Star Traders Name[ru]=Звёздные торговцы Name[sr]=Звездани трговци Name[sv]=Star Traders +Name[uk]=Зоряні торговці Name=Star Traders Comment[en@quot]=Play Star Traders, a simple game of interstellar trading Comment[en_AU]=Play Star Traders, a simple game of interstellar trading @@ -50,10 +53,13 @@ Comment[fr]=Jouer à Star Traders, un simple jeu de commerce interstellaire Comment[hr]=Igrajte Star Traders, jednostavnu igru međuzvjezdanog trgovanja Comment[hu]=A Star Traders, egy egyszerű csillagközi kereskedelmi játék indítása Comment[nb]=Spill Star Traders, et enkelt spill med interstellar handel +Comment[pl]=Zagraj w „Gwiezdni Traderzy”, prostą grę o handlu międzygwiezdnym Comment[pt_BR]=Jogue Comerciantes Estelares, um jogo simples de comércio interestelar +Comment[ro]=Joacă Star Traders, un joc simplu de comerț interstelar Comment[ru]=Играть в «Звёздные торговцы», простую игру о межзвёздной торговле Comment[sr]=Играјте Звездане трговце, једноставну игру међузвезданог трговања Comment[sv]=Spela Star Traders, ett enkelt spel om interstellär handel +Comment[uk]=Грати в «Зоряні торговці», просту гру про міжзоряну торгівлю Comment=Play Star Traders, a simple game of interstellar trading # TRANSLATORS: A list of keywords describing Star Traders. By all means # add your own keywords! @@ -68,10 +74,13 @@ Keywords[eo]=ludo;kosmo;negoco;strategio; Keywords[fr]=jeu;interstellaire;commerce;stratégie; Keywords[hu]=játék;csillagközi;kereskedés;stratégia; Keywords[nb]=spill;interstellar;handel;strategi; +Keywords[pl]=gra;międzygwiezdna;handel;strategia; Keywords[pt_BR]=jogo;interestelar;comércio;estratégia; +Keywords[ro]=joc;interstelar;tranzacționare;strategie; Keywords[ru]=игра;межзвёздная;торговля;стратегия; Keywords[sr]=игра;међузвездано;трговање;стратегија; Keywords[sv]=spel;interstellär;handel;strategi; +Keywords[uk]=гра;міжзоряна;торгівля;стратегія; Keywords=game;interstellar;trading;strategy; Icon=trader Exec=trader diff --git a/data/trader.desktop.in b/data/au.org.zap.trader.desktop.in similarity index 95% rename from data/trader.desktop.in rename to data/au.org.zap.trader.desktop.in index 4c18007..bdf35fb 100644 --- a/data/trader.desktop.in +++ b/data/au.org.zap.trader.desktop.in @@ -1,7 +1,7 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### diff --git a/data/trader.appdata.xml b/data/au.org.zap.trader.metainfo.xml similarity index 66% rename from data/trader.appdata.xml rename to data/au.org.zap.trader.metainfo.xml index 5e06efb..b3459b4 100644 --- a/data/trader.appdata.xml +++ b/data/au.org.zap.trader.metainfo.xml @@ -3,15 +3,15 @@ ************************************************************************* * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************* Author: John Zaitseff -$Id: 7ca702b2bb5b189a33f41aa29676f6237cb5b2cd $ +$Id: eafc0c313fc008dae94d7bb680545522fa173587 $ This file provides application metadata for Star Traders and conforms to -the AppStream 0.12 specification. +the AppStream 1.0 specification. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and @@ -21,10 +21,13 @@ warranty. au.org.zap.trader Star Traders + Зоряні торговці Star Traders Звездани трговци Звёздные торговцы + Star Traders Comerciantes Estelares + Gwiezdni Traderzy Star Traders Star Traders Star Traders @@ -39,10 +42,13 @@ warranty. Star Traders Star Traders Play Star Traders, a simple game of interstellar trading + Грати в «Зоряні торговці», просту гру про міжзоряну торгівлю Spela Star Traders, ett enkelt spel om interstellär handel Играјте Звездане трговце, једноставну игру међузвезданог трговања Играть в «Звёздные торговцы», простую игру о межзвёздной торговле + Joacă Star Traders, un joc simplu de comerț interstelar Jogue Comerciantes Estelares, um jogo simples de comércio interestelar + Zagraj w „Gwiezdni Traderzy”, prostą grę o handlu międzygwiezdnym Spill Star Traders, et enkelt spill med interstellar handel A Star Traders, egy egyszerű csillagközi kereskedelmi játék indítása Igrajte Star Traders, jednostavnu igru međuzvjezdanog trgovanja @@ -62,12 +68,15 @@ warranty. objective is to create companies, buy and sell shares, borrow and repay money, in order to become the wealthiest player (the winner).

+

«Зоряні торговці» — це проста гра про міжзоряну торгівлю, де метою гри є створення компаній, купівля та продаж акцій, отримання та погашення кредиту, щоб стати найбагатшим гравцем-переможцем.

Star Traders är ett enkelt spel om interstellär handel, där målet är att skapa företag, köpa och sälja aktier, låna och betala tillbaka pengar, allt för att bli den rikaste spelaren (vinnaren).

Звездани трговци је једноставна игра међузвезданог трговања, где је циљ стварање компанија, куповина и продаја акција, позајмљивање и враћање новца, како би се постао најбогатији играч (победник).

«Звёздные торговцы» — это простая игра о межзвёздной торговле, где целью игры является создание компаний, покупка и продажа акций, получение и погашение кредита, чтобы стать самым богатым игроком-победителем.

+

„Star Traders” este un joc simplu de comerț interstelar, în care obiectivul este să creezi companii, să cumperi și să vinzi acțiuni, să împrumuți și să rambursezi bani, pentru a deveni cel mai bogat jucător (câștigătorul).

Comerciantes Estelares é um jogo simples de comércio interestelar, onde o objetivo é criar empresas, comprar e vender ações, pedir emprestado e devolver dinheiro, para se tornar o jogador mais rico (o vencedor).

+

„Gwiezdni Traderzy” to prosta gra o handlu międzygwiezdnym, której celem jest tworzenie firm, kupno i sprzedaż akcji, zdobywanie i spłacanie pożyczek, aby stać się najbogatszym zwycięskim graczem.

Star Traders er et enkelt spill med interstellar handel, der målet med spillet er å opprette firmaer, kjøpe og selge aksjer, låne og betale tilbake penger for å bli den rikeste spilleren (vinneren).

-

A Star Traders egy egyszerű csillagközi kereskedelmi játék, ahol a játék célja társaságok létrehozása, részvények vásárlása és eladása, pénz kölcsönkérése és visszafizetése azért, hogy a leggazdagabb játékossá (győztessé) váljon.

+

A Star Traders egy egyszerű csillagközi kereskedelmi játék, ahol a cél vállalatok létrehozása, részvények vásárlása és eladása, kölcsönök felvétele és visszafizetése, hogy a leggazdagabb játékossá (győztessé) váljon.

„Star Traders” (Međuzvjezdani trgovci) je jednostavna igra međuzvjezadnog trgovanja, gdje je cilj igre stvarati tvrtke, kupovati i prodavati dionice te posuđivati i vraćati novac kako biste postali najbogatiji igrač (pobjednik).

Star Traders est un simple jeu de commerce interstellaire où l'objectif consiste à créer des sociétés, acheter et vendre des actions, emprunter et rembourser de l'argent afin de devenir le joueur le plus riche (le gagnant).

Tähtikauppiaat on yksinkertainen tähtienvälisen kaupan peli, jossa pelin tarkoitus on luoda yhtiöitä, ostaa ja myydä osakkeita, lainata ja maksaa takaisin rahaa, tarkoituksena tulla varakkaimmaksi pelaajaksi (voittaja).

@@ -80,7 +89,7 @@ warranty.

Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow and repay money, in order to become the wealthiest player (the winner).

Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow and repay money, in order to become the wealthiest player (the winner).

- trader.desktop + au.org.zap.trader.desktop trader @@ -90,10 +99,13 @@ warranty. https://www.zap.org.au/projects/trader/ John Zaitseff + John Zaitseff John Zaitseff Џон Зајцеф (John Zaitseff) John Zaitseff + John Zaitseff John Zaitseff + John Zaitseff John Zaitseff John Zaitseff John Zaitseff @@ -107,12 +119,58 @@ warranty. John Zaitseff John Zaitseff John Zaitseff + + John Zaitseff + John Zaitseff + John Zaitseff + Џон Зајцеф (John Zaitseff) + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + John Zaitseff + + https://www.zap.org.au/projects/trader/icon.svg + https://www.zap.org.au/projects/trader/icon.png + Star Traders screenshot + Скріншот із гри «Зоряні торговці» + Skärmdump från Star Traders + Снимак екрана са Звездани трговци + Скриншот из игры «Звёздные торговцы» + Captură de ecran de la Star Traders + Captura de tela do Comerciantes Estelares + Zrzut ekranu z gry „Gwiezdni Traderzy” + Skjermbilde av Star Traders + Star Traders képernyőkép + Snimka zaslona „Star Traders” (Međuzvjezdani trgovci) + Capture d'écran de Star Traders + Kuvakaappaus Tähtikauppiaat + Ekrankopio de Star Traders + Screenshot von Star Traders + Skærmbillede fra Star Traders + Star Traders screenshot + Star Traders screenshot + Star Traders screenshot + Star Traders screenshot + Star Traders screenshot https://www.zap.org.au/projects/trader/screenshot.png FSFAP GPL-3.0+ - +
diff --git a/data/trader.appdata.xml.in b/data/au.org.zap.trader.metainfo.xml.in similarity index 76% rename from data/trader.appdata.xml.in rename to data/au.org.zap.trader.metainfo.xml.in index 7ca702b..eafc0c3 100644 --- a/data/trader.appdata.xml.in +++ b/data/au.org.zap.trader.metainfo.xml.in @@ -4,7 +4,7 @@ ************************************************************************* * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************* @@ -12,7 +12,7 @@ Author: John Zaitseff $Id$ This file provides application metadata for Star Traders and conforms to -the AppStream 0.12 specification. +the AppStream 1.0 specification. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and @@ -33,7 +33,7 @@ warranty.

- trader.desktop + au.org.zap.trader.desktop trader @@ -45,14 +45,20 @@ warranty. https://www.zap.org.au/projects/trader/ John Zaitseff + + John Zaitseff + + https://www.zap.org.au/projects/trader/icon.svg + https://www.zap.org.au/projects/trader/icon.png + Star Traders screenshot https://www.zap.org.au/projects/trader/screenshot.png FSFAP GPL-3.0+ - + diff --git a/data/trader.svg b/data/trader.svg index d6c01e7..db6d8d9 100644 --- a/data/trader.svg +++ b/data/trader.svg @@ -11,7 +11,7 @@ ************************************************************************* * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************* diff --git a/doc/Makefile.am b/doc/Makefile.am index 542b3c4..baebbfc 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,7 +1,7 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### diff --git a/doc/Makefile.in b/doc/Makefile.in index f5f4de3..625a355 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -17,12 +17,12 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### # Author: John Zaitseff -# $Id: 542b3c43fea5fa6dd900b10b99fa6ad1825e8676 $ +# $Id: baebbfcc15d10ba2f667871fafcdfceb402ee01b $ # # This file, doc/Makefile.am, contains the documentation directory # Makefile for Star Traders. It needs to be processed by automake to @@ -119,14 +119,15 @@ subdir = doc ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/assert.m4 \ + $(top_srcdir)/m4/assert_h.m4 \ $(top_srcdir)/m4/ax_c___attribute__.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ $(top_srcdir)/m4/ax_compiler_vendor.m4 \ $(top_srcdir)/m4/ax_prepend_flag.m4 \ $(top_srcdir)/m4/ax_require_defined.m4 \ $(top_srcdir)/m4/ax_with_curses.m4 $(top_srcdir)/m4/btowc.m4 \ - $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ - $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/c-bool.m4 $(top_srcdir)/m4/codeset.m4 \ + $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/free.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ @@ -144,9 +145,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/monetary_h.m4 \ - $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nocrash.m4 \ - $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/setlocale_null.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \ + $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/musl.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/setlocale_null.m4 $(top_srcdir)/m4/ssize_t.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ @@ -226,6 +227,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ +ASSERT_H = @ASSERT_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -337,6 +339,7 @@ GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@ GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@ GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@ GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@ +GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@ GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@ GL_GNULIB_GETTIMEOFDAY = @GL_GNULIB_GETTIMEOFDAY@ GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@ @@ -350,6 +353,7 @@ GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@ GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@ GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@ GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@ +GL_GNULIB_ISWPUNCT = @GL_GNULIB_ISWPUNCT@ GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@ GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@ GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@ @@ -381,6 +385,8 @@ GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@ GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@ GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@ GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@ +GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@ +GL_GNULIB_MBSZERO = @GL_GNULIB_MBSZERO@ GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@ GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@ GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@ @@ -425,6 +431,7 @@ GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@ GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@ GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@ GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@ +GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@ GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@ GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@ GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@ @@ -459,6 +466,7 @@ GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@ GL_GNULIB_PUTS = @GL_GNULIB_PUTS@ GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@ GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@ +GL_GNULIB_RAND = @GL_GNULIB_RAND@ GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@ GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@ GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@ @@ -519,6 +527,7 @@ GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@ GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@ GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@ GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@ +GL_GNULIB_TIME = @GL_GNULIB_TIME@ GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@ GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@ GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@ @@ -580,6 +589,7 @@ GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@ GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@ GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@ GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@ +GL_GNULIB_WGETCWD = @GL_GNULIB_WGETCWD@ GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@ GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@ GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@ @@ -591,8 +601,8 @@ GL_GNULIB__EXIT = @GL_GNULIB__EXIT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@ -GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GREP = @GREP@ +HARD_LOCALE_LIB = @HARD_LOCALE_LIB@ HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -620,6 +630,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ +HAVE_DECL_GETW = @HAVE_DECL_GETW@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ @@ -627,6 +638,8 @@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ +HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@ +HAVE_DECL_PUTW = @HAVE_DECL_PUTW@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ @@ -675,11 +688,14 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETPASS = @HAVE_GETPASS@ +HAVE_GETPROGNAME = @HAVE_GETPROGNAME@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GETUMASK = @HAVE_GETUMASK@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXABS = @HAVE_IMAXABS@ +HAVE_IMAXDIV = @HAVE_IMAXDIV@ HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ @@ -699,6 +715,7 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ @@ -777,6 +794,7 @@ HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@ HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ +HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_USLEEP = @HAVE_USLEEP@ @@ -825,7 +843,6 @@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMPCPY = @HAVE_WMEMPCPY@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ -HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ ICONV_CONST = @ICONV_CONST@ ICONV_H = @ICONV_H@ @@ -840,6 +857,10 @@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@ +LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@ +LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@ +LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@ LDFLAGS = @LDFLAGS@ LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ @@ -867,11 +888,14 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MBRTOWC_LIB = @MBRTOWC_LIB@ MKDIR_P = @MKDIR_P@ MONETARY_H = @MONETARY_H@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ +NEXT_ASSERT_H = @NEXT_ASSERT_H@ +NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ @@ -941,6 +965,7 @@ REPLACE_CTIME = @REPLACE_CTIME@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUP3 = @REPLACE_DUP3@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_EXECL = @REPLACE_EXECL@ REPLACE_EXECLE = @REPLACE_EXECLE@ @@ -950,9 +975,11 @@ REPLACE_EXECVE = @REPLACE_EXECVE@ REPLACE_EXECVP = @REPLACE_EXECVP@ REPLACE_EXECVPE = @REPLACE_EXECVPE@ REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ +REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCHMODAT = @REPLACE_FCHMODAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ +REPLACE_FDATASYNC = @REPLACE_FDATASYNC@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FFSLL = @REPLACE_FFSLL@ @@ -975,22 +1002,29 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ +REPLACE_GETENTROPY = @REPLACE_GETENTROPY@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ +REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETPASS = @REPLACE_GETPASS@ REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@ +REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@ +REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ +REPLACE_IMAXABS = @REPLACE_IMAXABS@ +REPLACE_IMAXDIV = @REPLACE_IMAXDIV@ REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@ +REPLACE_ISWPUNCT = @REPLACE_ISWPUNCT@ REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ @@ -1008,14 +1042,19 @@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ +REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@ REPLACE_MBTOWC = @REPLACE_MBTOWC@ +REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MEMPCPY = @REPLACE_MEMPCPY@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKNODAT = @REPLACE_MKNODAT@ +REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@ +REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ @@ -1023,8 +1062,10 @@ REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ +REPLACE_PIPE2 = @REPLACE_PIPE2@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@ +REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ @@ -1032,6 +1073,7 @@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ +REPLACE_RAND = @REPLACE_RAND@ REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ @@ -1046,6 +1088,7 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ @@ -1054,6 +1097,7 @@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ +REPLACE_STPCPY = @REPLACE_STPCPY@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ @@ -1079,9 +1123,12 @@ REPLACE_STRTOULL = @REPLACE_STRTOULL@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ +REPLACE_STRVERSCMP = @REPLACE_STRVERSCMP@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ +REPLACE_TIME = @REPLACE_TIME@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ +REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TRUNCATE = @REPLACE_TRUNCATE@ @@ -1099,21 +1146,30 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ +REPLACE_WCSCMP = @REPLACE_WCSCMP@ REPLACE_WCSFTIME = @REPLACE_WCSFTIME@ +REPLACE_WCSNCMP = @REPLACE_WCSNCMP@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ +REPLACE_WCSSTR = @REPLACE_WCSSTR@ REPLACE_WCSTOK = @REPLACE_WCSTOK@ REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ +REPLACE_WCTRANS = @REPLACE_WCTRANS@ +REPLACE_WCTYPE = @REPLACE_WCTYPE@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ +REPLACE_WMEMCMP = @REPLACE_WMEMCMP@ +REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@ REPLACE_WRITE = @REPLACE_WRITE@ +REPLACE__EXIT = @REPLACE__EXIT@ +SCHED_YIELD_LIB = @SCHED_YIELD_LIB@ SED = @SED@ +SETLOCALE_NULL_LIB = @SETLOCALE_NULL_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -1148,7 +1204,6 @@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ -appdatadir = @appdatadir@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ @@ -1184,6 +1239,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ +metainfodir = @metainfodir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ diff --git a/doc/trader.6 b/doc/trader.6 index c000047..778cd90 100644 --- a/doc/trader.6 +++ b/doc/trader.6 @@ -1,7 +1,7 @@ .\" ********************************************************************* .\" * * .\" * Star Traders: A Game of Interstellar Trading * -.\" * Copyright (C) 1990-2022, John Zaitseff * +.\" * Copyright (C) 1990-2024, John Zaitseff * .\" * * .\" ********************************************************************* .\" @@ -41,7 +41,7 @@ .if \n[.g] .mso www.tmac .\" .\" ********************************************************************* -.TH TRADER 6 "3rd August, 2022" "Unix-like systems" +.TH TRADER 6 "5th January, 2024" "Unix-like systems" .SH NAME trader \- a game of interstellar trading .\" ********************************************************************* @@ -240,7 +240,7 @@ Australia .PP .\" ********************************************************************* .SH COPYRIGHT -Copyright \(co 1990\-2022, John Zaitseff. +Copyright \(co 1990\-2024, John Zaitseff. .PP \fBStar Traders\fP is free software that is distributed under the terms of the GNU General Public License. You can redistribute it and/or modify diff --git a/lib/.gitignore b/lib/.gitignore index 69e6d40..775fc75 100644 --- a/lib/.gitignore +++ b/lib/.gitignore @@ -3,6 +3,7 @@ /limits.h /locale.h /monetary.h +/stddef.h /stdio.h /stdlib.h /string.h diff --git a/lib/Makefile.am b/lib/Makefile.am index cdd72fe..d25c9b8 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -1,6 +1,6 @@ ## DO NOT EDIT! GENERATED AUTOMATICALLY! ## Process this file with automake to produce Makefile.in. -# Copyright (C) 2002-2022 Free Software Foundation, Inc. +# Copyright (C) 2002-2024 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -93,6 +93,39 @@ HAVE_INCLUDE_NEXT = (__GNUC__ || __clang__ || 60000000 <= __DECC_VER) ## end gnulib module absolute-header +## begin gnulib module assert-h + +if gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f +BUILT_SOURCES += $(ASSERT_H) + +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +if GL_GENERATE_ASSERT_H +assert.h: assert.in.h verify.h $(top_builddir)/config.status + $(gl_V_at){ $(SED_HEADER_STDOUT) \ + -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ + -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ + -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ + -e 's|@''NEXT_ASSERT_H''@|$(NEXT_ASSERT_H)|g' \ + < $(srcdir)/assert.in.h && \ + sed -e '/@assert.h omit start@/,/@assert.h omit end@/d' \ + -e 's|_gl_verify|_gl_static_assert|g' \ + -e 's|_GL_VERIFY|_GL_STATIC_ASSERT|g' \ + -e 's|_GL\(_STATIC_ASSERT_H\)|_GL\1|g' \ + < $(srcdir)/verify.h; \ + } > $@-t + $(AM_V_at)mv $@-t $@ +else +assert.h: $(top_builddir)/config.status + rm -f $@ +endif +MOSTLYCLEANFILES += assert.h assert.h-t + +endif +EXTRA_DIST += assert.in.h verify.h + +## end gnulib module assert-h + ## begin gnulib module attribute if gl_GNULIB_ENABLED_attribute @@ -335,6 +368,8 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ -e 's/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \ + -e 's/@''REPLACE_IMAXABS''@/$(REPLACE_IMAXABS)/g' \ + -e 's/@''REPLACE_IMAXDIV''@/$(REPLACE_IMAXDIV)/g' \ -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \ -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ @@ -462,6 +497,14 @@ EXTRA_libgnu_a_SOURCES += mbsrtowcs-state.c ## end gnulib module mbsrtowcs +## begin gnulib module mbszero + +if gl_GNULIB_ENABLED_mbszero +libgnu_a_SOURCES += mbszero.c + +endif +## end gnulib module mbszero + ## begin gnulib module mbtowc if gl_GNULIB_ENABLED_mbtowc @@ -581,28 +624,6 @@ EXTRA_DIST += warn-on-use.h ## end gnulib module snippet/warn-on-use -## begin gnulib module stdbool - -BUILT_SOURCES += $(STDBOOL_H) - -# We need the following in order to create when the system -# doesn't have one that works. -if GL_GENERATE_STDBOOL_H -stdbool.h: stdbool.in.h $(top_builddir)/config.status - $(gl_V_at)$(SED_HEADER_STDOUT) \ - -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' \ - $(srcdir)/stdbool.in.h > $@-t - $(AM_V_at)mv $@-t $@ -else -stdbool.h: $(top_builddir)/config.status - rm -f $@ -endif -MOSTLYCLEANFILES += stdbool.h stdbool.h-t - -EXTRA_DIST += stdbool.in.h - -## end gnulib module stdbool - ## begin gnulib module stddef BUILT_SOURCES += $(STDDEF_H) @@ -753,14 +774,17 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's/@''GNULIB_MDA_GETW''@/$(GL_GNULIB_MDA_GETW)/g' \ -e 's/@''GNULIB_MDA_PUTW''@/$(GL_GNULIB_MDA_PUTW)/g' \ -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GL_GNULIB_MDA_TEMPNAM)/g' \ - < $(srcdir)/stdio.in.h | \ - sed -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \ + < $(srcdir)/stdio.in.h > $@-t1 + $(AM_V_at)sed \ + -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \ -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \ -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ + -e 's|@''HAVE_DECL_GETW''@|$(HAVE_DECL_GETW)|g' \ -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ + -e 's|@''HAVE_DECL_PUTW''@|$(HAVE_DECL_PUTW)|g' \ -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ @@ -771,6 +795,8 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \ -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ + < $@-t1 > $@-t2 + $(AM_V_at)sed \ -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \ @@ -808,9 +834,10 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - > $@-t - $(AM_V_at)mv $@-t $@ -MOSTLYCLEANFILES += stdio.h stdio.h-t + < $@-t2 > $@-t3 + $(AM_V_at)rm -f $@-t1 $@-t2 + $(AM_V_at)mv $@-t3 $@ +MOSTLYCLEANFILES += stdio.h stdio.h-t1 stdio.h-t2 stdio.h-t3 if GL_COND_OBJ_STDIO_READ libgnu_a_SOURCES += stdio-read.c @@ -845,10 +872,12 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_FILE_NAME)/g' \ -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ -e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \ + -e 's/@''GNULIB_GETPROGNAME''@/$(GL_GNULIB_GETPROGNAME)/g' \ -e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \ -e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \ -e 's/@''GNULIB_MALLOC_GNU''@/$(GL_GNULIB_MALLOC_GNU)/g' \ -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \ + -e 's/@''GNULIB_MBSTOWCS''@/$(GL_GNULIB_MBSTOWCS)/g' \ -e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \ -e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \ -e 's/@''GNULIB_MKOSTEMP''@/$(GL_GNULIB_MKOSTEMP)/g' \ @@ -861,6 +890,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's/@''GNULIB_PTSNAME_R''@/$(GL_GNULIB_PTSNAME_R)/g' \ -e 's/@''GNULIB_PUTENV''@/$(GL_GNULIB_PUTENV)/g' \ -e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \ + -e 's/@''GNULIB_RAND''@/$(GL_GNULIB_RAND)/g' \ -e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \ -e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \ -e 's/@''GNULIB_REALLOC_GNU''@/$(GL_GNULIB_REALLOC_GNU)/g' \ @@ -885,8 +915,9 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's/@''GNULIB_MDA_GCVT''@/$(GL_GNULIB_MDA_GCVT)/g' \ -e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_GNULIB_MDA_MKTEMP)/g' \ -e 's/@''GNULIB_MDA_PUTENV''@/$(GL_GNULIB_MDA_PUTENV)/g' \ - < $(srcdir)/stdlib.in.h | \ - sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ + < $(srcdir)/stdlib.in.h > $@-t1 + $(AM_V_at)sed \ + -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ -e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \ @@ -894,6 +925,8 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''HAVE_DECL_FCVT''@|$(HAVE_DECL_FCVT)|g' \ -e 's|@''HAVE_DECL_GCVT''@|$(HAVE_DECL_GCVT)|g' \ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ + -e 's|@''HAVE_DECL_PROGRAM_INVOCATION_NAME''@|$(HAVE_DECL_PROGRAM_INVOCATION_NAME)|g' \ + -e 's|@''HAVE_GETPROGNAME''@|$(HAVE_GETPROGNAME)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ -e 's|@''HAVE_INITSTATE''@|$(HAVE_INITSTATE)|g' \ @@ -929,21 +962,33 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ + < $@-t1 > $@-t2 + $(AM_V_at)sed \ + -e 's|@''REPLACE__EXIT''@|$(REPLACE__EXIT)|g' \ -e 's|@''REPLACE_ALIGNED_ALLOC''@|$(REPLACE_ALIGNED_ALLOC)|g' \ -e 's|@''REPLACE_CALLOC_FOR_CALLOC_GNU''@|$(REPLACE_CALLOC_FOR_CALLOC_GNU)|g' \ -e 's|@''REPLACE_CALLOC_FOR_CALLOC_POSIX''@|$(REPLACE_CALLOC_FOR_CALLOC_POSIX)|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ + -e 's|@''REPLACE_GETLOADAVG''@|$(REPLACE_GETLOADAVG)|g' \ + -e 's|@''REPLACE_GETPROGNAME''@|$(REPLACE_GETPROGNAME)|g' \ + -e 's|@''REPLACE_GETSUBOPT''@|$(REPLACE_GETSUBOPT)|g' \ -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \ -e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|$(REPLACE_MALLOC_FOR_MALLOC_GNU)|g' \ -e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|$(REPLACE_MALLOC_FOR_MALLOC_POSIX)|g' \ + -e 's|@''REPLACE_MB_CUR_MAX''@|$(REPLACE_MB_CUR_MAX)|g' \ + -e 's|@''REPLACE_MBSTOWCS''@|$(REPLACE_MBSTOWCS)|g' \ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ + -e 's|@''REPLACE_MKOSTEMP''@|$(REPLACE_MKOSTEMP)|g' \ + -e 's|@''REPLACE_MKOSTEMPS''@|$(REPLACE_MKOSTEMPS)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ -e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|g' \ + -e 's|@''REPLACE_POSIX_OPENPT''@|$(REPLACE_POSIX_OPENPT)|g' \ -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \ + -e 's|@''REPLACE_RAND''@|$(REPLACE_RAND)|g' \ -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ -e 's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \ @@ -964,9 +1009,10 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e '/definition of _Noreturn/r $(_NORETURN_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - > $@-t - $(AM_V_at)mv $@-t $@ -MOSTLYCLEANFILES += stdlib.h stdlib.h-t + < $@-t2 > $@-t3 + $(AM_V_at)rm -f $@-t1 $@-t2 + $(AM_V_at)mv $@-t3 $@ +MOSTLYCLEANFILES += stdlib.h stdlib.h-t1 stdlib.h-t2 stdlib.h-t3 EXTRA_DIST += stdlib.in.h @@ -984,8 +1030,6 @@ EXTRA_DIST += streq.h ## begin gnulib module striconv libgnu_a_SOURCES += striconv.h striconv.c -if GL_COND_LIBTOOL -endif ## end gnulib module striconv @@ -1023,6 +1067,7 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_MEMMEM''@/$(GL_GNULIB_MEMMEM)/g' \ -e 's/@''GNULIB_MEMPCPY''@/$(GL_GNULIB_MEMPCPY)/g' \ -e 's/@''GNULIB_MEMRCHR''@/$(GL_GNULIB_MEMRCHR)/g' \ + -e 's/@''GNULIB_MEMSET_EXPLICIT''@/$(GL_GNULIB_MEMSET_EXPLICIT)/g' \ -e 's/@''GNULIB_RAWMEMCHR''@/$(GL_GNULIB_RAWMEMCHR)/g' \ -e 's/@''GNULIB_STPCPY''@/$(GL_GNULIB_STPCPY)/g' \ -e 's/@''GNULIB_STPNCPY''@/$(GL_GNULIB_STPNCPY)/g' \ @@ -1046,14 +1091,16 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_GNULIB_MDA_MEMCCPY)/g' \ -e 's/@''GNULIB_MDA_STRDUP''@/$(GL_GNULIB_MDA_STRDUP)/g' \ -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ - < $(srcdir)/string.in.h | \ - sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \ + < $(srcdir)/string.in.h > $@-t1 + $(AM_V_at)sed \ + -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \ -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \ -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ + -e 's|@''HAVE_MEMSET_EXPLICIT''@|$(HAVE_MEMSET_EXPLICIT)|g' \ -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ @@ -1074,7 +1121,9 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''REPLACE_FFSLL''@|$(REPLACE_FFSLL)|g' \ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ + -e 's|@''REPLACE_MEMPCPY''@|$(REPLACE_MEMPCPY)|g' \ -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ + -e 's|@''REPLACE_STPCPY''@|$(REPLACE_STPCPY)|g' \ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ @@ -1088,13 +1137,15 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \ -e 's|@''REPLACE_STRERRORNAME_NP''@|$(REPLACE_STRERRORNAME_NP)|g' \ -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ + -e 's|@''REPLACE_STRVERSCMP''@|$(REPLACE_STRVERSCMP)|g' \ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - > $@-t - $(AM_V_at)mv $@-t $@ -MOSTLYCLEANFILES += string.h string.h-t + < $@-t1 > $@-t2 + $(AM_V_at)rm -f $@-t1 + $(AM_V_at)mv $@-t2 $@ +MOSTLYCLEANFILES += string.h string.h-t1 string.h-t2 EXTRA_DIST += string.in.h @@ -1237,7 +1288,7 @@ EXTRA_DIST += sys_types.in.h ## end gnulib module sys_types -## begin gnulib module time +## begin gnulib module time-h BUILT_SOURCES += time.h @@ -1256,6 +1307,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( -e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \ -e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \ -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \ + -e 's/@''GNULIB_TIME''@/$(GL_GNULIB_TIME)/g' \ -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \ -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \ -e 's/@''GNULIB_TIMESPEC_GETRES''@/$(GL_GNULIB_TIMESPEC_GETRES)/g' \ @@ -1277,7 +1329,9 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \ -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ -e 's|@''REPLACE_STRFTIME''@|$(REPLACE_STRFTIME)|g' \ + -e 's|@''REPLACE_TIME''@|$(REPLACE_TIME)|g' \ -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ + -e 's|@''REPLACE_TIMESPEC_GET''@|$(REPLACE_TIMESPEC_GET)|g' \ -e 's|@''REPLACE_TZSET''@|$(REPLACE_TZSET)|g' \ -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ @@ -1293,7 +1347,7 @@ MOSTLYCLEANFILES += time.h time.h-t EXTRA_DIST += time.in.h -## end gnulib module time +## end gnulib module time-h ## begin gnulib module unistd @@ -1334,6 +1388,8 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_FDATASYNC''@/$(GL_GNULIB_FDATASYNC)/g' \ -e 's/@''GNULIB_FSYNC''@/$(GL_GNULIB_FSYNC)/g' \ -e 's/@''GNULIB_FTRUNCATE''@/$(GL_GNULIB_FTRUNCATE)/g' \ + < $(srcdir)/unistd.in.h > $@-t1 + $(AM_V_at)sed \ -e 's/@''GNULIB_GETCWD''@/$(GL_GNULIB_GETCWD)/g' \ -e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_GNULIB_GETDOMAINNAME)/g' \ -e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_GNULIB_GETDTABLESIZE)/g' \ @@ -1395,8 +1451,9 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_MDA_SWAB''@/$(GL_GNULIB_MDA_SWAB)/g' \ -e 's/@''GNULIB_MDA_UNLINK''@/$(GL_GNULIB_MDA_UNLINK)/g' \ -e 's/@''GNULIB_MDA_WRITE''@/$(GL_GNULIB_MDA_WRITE)/g' \ - < $(srcdir)/unistd.in.h | \ - sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ + < $@-t1 > $@-t2 + $(AM_V_at)sed \ + -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ @@ -1443,13 +1500,15 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ - | \ - sed -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \ + < $@-t2 > $@-t3 + $(AM_V_at)sed \ + -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \ -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ -e 's|@''REPLACE_COPY_FILE_RANGE''@|$(REPLACE_COPY_FILE_RANGE)|g' \ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ + -e 's|@''REPLACE_DUP3''@|$(REPLACE_DUP3)|g' \ -e 's|@''REPLACE_EXECL''@|$(REPLACE_EXECL)|g' \ -e 's|@''REPLACE_EXECLE''@|$(REPLACE_EXECLE)|g' \ -e 's|@''REPLACE_EXECLP''@|$(REPLACE_EXECLP)|g' \ @@ -1458,11 +1517,14 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''REPLACE_EXECVP''@|$(REPLACE_EXECVP)|g' \ -e 's|@''REPLACE_EXECVPE''@|$(REPLACE_EXECVPE)|g' \ -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \ + -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ + -e 's|@''REPLACE_FDATASYNC''@|$(REPLACE_FDATASYNC)|g' \ -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \ -e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \ + -e 's|@''REPLACE_GETENTROPY''@|$(REPLACE_GETENTROPY)|g' \ -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ @@ -1473,12 +1535,14 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \ -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ + -e 's|@''REPLACE_PIPE2''@|$(REPLACE_PIPE2)|g' \ -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \ -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \ -e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \ + -e 's|@''REPLACE_SETHOSTNAME''@|$(REPLACE_SETHOSTNAME)|g' \ -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \ -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \ -e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \ @@ -1494,9 +1558,10 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - > $@-t - $(AM_V_at)mv $@-t $@ -MOSTLYCLEANFILES += unistd.h unistd.h-t + < $@-t3 > $@-t4 + $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3 + $(AM_V_at)mv $@-t4 $@ +MOSTLYCLEANFILES += unistd.h unistd.h-t1 unistd.h-t2 unistd.h-t3 unistd.h-t4 EXTRA_DIST += unistd.in.h @@ -1552,15 +1617,6 @@ EXTRA_DIST += unitypes.in.h ## end gnulib module unitypes -## begin gnulib module verify - -if gl_GNULIB_ENABLED_verify - -endif -EXTRA_DIST += verify.h - -## end gnulib module verify - ## begin gnulib module wchar BUILT_SOURCES += wchar.h @@ -1581,6 +1637,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's/@''GNULIB_BTOWC''@/$(GL_GNULIB_BTOWC)/g' \ -e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \ -e 's/@''GNULIB_MBSINIT''@/$(GL_GNULIB_MBSINIT)/g' \ + -e 's/@''GNULIB_MBSZERO''@/$(GL_GNULIB_MBSZERO)/g' \ -e 's/@''GNULIB_MBRTOWC''@/$(GL_GNULIB_MBRTOWC)/g' \ -e 's/@''GNULIB_MBRLEN''@/$(GL_GNULIB_MBRLEN)/g' \ -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \ @@ -1619,10 +1676,12 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's/@''GNULIB_WCSTOK''@/$(GL_GNULIB_WCSTOK)/g' \ -e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \ -e 's/@''GNULIB_WCSFTIME''@/$(GL_GNULIB_WCSFTIME)/g' \ + -e 's/@''GNULIB_WGETCWD''@/$(GL_GNULIB_WGETCWD)/g' \ -e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_GNULIB_MDA_WCSDUP)/g' \ -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ - < $(srcdir)/wchar.in.h | \ - sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ + < $(srcdir)/wchar.in.h > $@-t1 + $(AM_V_at)sed \ + -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ @@ -1665,8 +1724,9 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ -e 's|@''HAVE_DECL_WCSDUP''@|$(HAVE_DECL_WCSDUP)|g' \ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ - | \ - sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ + < $@-t1 > $@-t2 + $(AM_V_at)sed \ + -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ @@ -1681,13 +1741,19 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \ -e 's|@''REPLACE_WCSFTIME''@|$(REPLACE_WCSFTIME)|g' \ + -e 's|@''REPLACE_WCSCMP''@|$(REPLACE_WCSCMP)|g' \ + -e 's|@''REPLACE_WCSNCMP''@|$(REPLACE_WCSNCMP)|g' \ + -e 's|@''REPLACE_WCSSTR''@|$(REPLACE_WCSSTR)|g' \ -e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|g' \ + -e 's|@''REPLACE_WMEMCMP''@|$(REPLACE_WMEMCMP)|g' \ + -e 's|@''REPLACE_WMEMPCPY''@|$(REPLACE_WMEMPCPY)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - > $@-t - $(AM_V_at)mv $@-t $@ -MOSTLYCLEANFILES += wchar.h wchar.h-t + < $@-t2 > $@-t3 + $(AM_V_at)rm -f $@-t1 $@-t2 + $(AM_V_at)mv $@-t3 $@ +MOSTLYCLEANFILES += wchar.h wchar.h-t1 wchar.h-t2 wchar.h-t3 EXTRA_DIST += wchar.in.h @@ -1738,7 +1804,7 @@ libgnu_a_SOURCES += wctype-h.c # We need the following in order to create when the system # doesn't have one that works with the given compiler. -wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) +wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(gl_V_at)$(SED_HEADER_STDOUT) \ -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ @@ -1750,6 +1816,7 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ -e 's/@''GNULIB_ISWBLANK''@/$(GL_GNULIB_ISWBLANK)/g' \ -e 's/@''GNULIB_ISWDIGIT''@/$(GL_GNULIB_ISWDIGIT)/g' \ + -e 's/@''GNULIB_ISWPUNCT''@/$(GL_GNULIB_ISWPUNCT)/g' \ -e 's/@''GNULIB_ISWXDIGIT''@/$(GL_GNULIB_ISWXDIGIT)/g' \ -e 's/@''GNULIB_WCTYPE''@/$(GL_GNULIB_WCTYPE)/g' \ -e 's/@''GNULIB_ISWCTYPE''@/$(GL_GNULIB_ISWCTYPE)/g' \ @@ -1762,10 +1829,14 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \ -e 's/@''REPLACE_ISWDIGIT''@/$(REPLACE_ISWDIGIT)/g' \ + -e 's/@''REPLACE_ISWPUNCT''@/$(REPLACE_ISWPUNCT)/g' \ -e 's/@''REPLACE_ISWXDIGIT''@/$(REPLACE_ISWXDIGIT)/g' \ -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ -e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \ + -e 's/@''REPLACE_WCTRANS''@/$(REPLACE_WCTRANS)/g' \ + -e 's/@''REPLACE_WCTYPE''@/$(REPLACE_WCTYPE)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ $(srcdir)/wctype.in.h > $@-t $(AM_V_at)mv $@-t $@ diff --git a/lib/Makefile.in b/lib/Makefile.in index ee54bce..22f21c5 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -14,7 +14,7 @@ @SET_MAKE@ -# Copyright (C) 2002-2022 Free Software Foundation, Inc. +# Copyright (C) 2002-2024 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -147,47 +147,51 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@GL_COND_OBJ_BTOWC_TRUE@am__append_1 = btowc.c -@GL_COND_OBJ_FREE_TRUE@am__append_2 = free.c -@GL_COND_OBJ_GETOPT_TRUE@am__append_3 = getopt.c getopt1.c -@GL_COND_OBJ_GETTIMEOFDAY_TRUE@am__append_4 = gettimeofday.c -@gl_GNULIB_ENABLED_30838f5439487421042f2225bed3af76_TRUE@am__append_5 = hard-locale.c -@GL_COND_OBJ_ICONV_OPEN_TRUE@am__append_6 = iconv_open.c -@GL_COND_OBJ_ICONV_TRUE@am__append_7 = iconv.c iconv_close.c -@gl_GNULIB_ENABLED_localcharset_TRUE@am__append_8 = localcharset.c -@GL_COND_OBJ_MBRTOWC_TRUE@am__append_9 = mbrtowc.c -@GL_COND_OBJ_MBSINIT_TRUE@@gl_GNULIB_ENABLED_mbsinit_TRUE@am__append_10 = mbsinit.c -@GL_COND_OBJ_MBSRTOWCS_TRUE@am__append_11 = mbsrtowcs.c -@GL_COND_OBJ_MBTOWC_TRUE@@gl_GNULIB_ENABLED_mbtowc_TRUE@am__append_12 = mbtowc.c -@GL_COND_OBJ_MEMCHR_TRUE@@gl_GNULIB_ENABLED_memchr_TRUE@am__append_13 = memchr.c -@gl_GNULIB_ENABLED_e7e881d32ca02f1c997b13c737c64bbd_TRUE@am__append_14 = setlocale_null.c -@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@@gl_GNULIB_ENABLED_e7e881d32ca02f1c997b13c737c64bbd_TRUE@am__append_15 = setlocale-lock.c -@GL_COND_OBJ_STDIO_READ_TRUE@am__append_16 = stdio-read.c -@GL_COND_OBJ_STDIO_WRITE_TRUE@am__append_17 = stdio-write.c -@gl_GNULIB_ENABLED_strnlen1_TRUE@am__append_18 = strnlen1.h strnlen1.c -@gl_GNULIB_ENABLED_9c4a70804d24b83657b84f487eb93a64_TRUE@am__append_19 = $(LIBUNISTRING_UNISTR_H) -@gl_GNULIB_ENABLED_9c4a70804d24b83657b84f487eb93a64_TRUE@am__append_20 = unistr.h unistr.h-t -@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@@gl_GNULIB_ENABLED_53028ec81a2fde9235f1d688e4e85fc1_TRUE@am__append_21 = unistr/u8-mbtoucr.c -@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@@gl_GNULIB_ENABLED_fabe8eca3a52cf42d4d1d781b9f5fcbe_TRUE@am__append_22 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c -@gl_GNULIB_ENABLED_unitypes_TRUE@am__append_23 = $(LIBUNISTRING_UNITYPES_H) -@gl_GNULIB_ENABLED_unitypes_TRUE@am__append_24 = unitypes.h unitypes.h-t -@GL_COND_OBJ_WCRTOMB_TRUE@am__append_25 = wcrtomb.c -@GL_COND_OBJ_WCSDUP_TRUE@am__append_26 = wcsdup.c -@GL_COND_OBJ_WCTOB_TRUE@am__append_27 = wctob.c -@GL_COND_OBJ_WCTOMB_TRUE@@gl_GNULIB_ENABLED_wctomb_TRUE@am__append_28 = wctomb.c -@GL_COND_OBJ_WMEMCPY_TRUE@@gl_GNULIB_ENABLED_wmemcpy_TRUE@am__append_29 = wmemcpy.c +@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@am__append_1 = $(ASSERT_H) +@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@am__append_2 = assert.h assert.h-t +@GL_COND_OBJ_BTOWC_TRUE@am__append_3 = btowc.c +@GL_COND_OBJ_FREE_TRUE@am__append_4 = free.c +@GL_COND_OBJ_GETOPT_TRUE@am__append_5 = getopt.c getopt1.c +@GL_COND_OBJ_GETTIMEOFDAY_TRUE@am__append_6 = gettimeofday.c +@gl_GNULIB_ENABLED_30838f5439487421042f2225bed3af76_TRUE@am__append_7 = hard-locale.c +@GL_COND_OBJ_ICONV_OPEN_TRUE@am__append_8 = iconv_open.c +@GL_COND_OBJ_ICONV_TRUE@am__append_9 = iconv.c iconv_close.c +@gl_GNULIB_ENABLED_localcharset_TRUE@am__append_10 = localcharset.c +@GL_COND_OBJ_MBRTOWC_TRUE@am__append_11 = mbrtowc.c +@GL_COND_OBJ_MBSINIT_TRUE@@gl_GNULIB_ENABLED_mbsinit_TRUE@am__append_12 = mbsinit.c +@GL_COND_OBJ_MBSRTOWCS_TRUE@am__append_13 = mbsrtowcs.c +@gl_GNULIB_ENABLED_mbszero_TRUE@am__append_14 = mbszero.c +@GL_COND_OBJ_MBTOWC_TRUE@@gl_GNULIB_ENABLED_mbtowc_TRUE@am__append_15 = mbtowc.c +@GL_COND_OBJ_MEMCHR_TRUE@@gl_GNULIB_ENABLED_memchr_TRUE@am__append_16 = memchr.c +@gl_GNULIB_ENABLED_e7e881d32ca02f1c997b13c737c64bbd_TRUE@am__append_17 = setlocale_null.c +@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@@gl_GNULIB_ENABLED_e7e881d32ca02f1c997b13c737c64bbd_TRUE@am__append_18 = setlocale-lock.c +@GL_COND_OBJ_STDIO_READ_TRUE@am__append_19 = stdio-read.c +@GL_COND_OBJ_STDIO_WRITE_TRUE@am__append_20 = stdio-write.c +@gl_GNULIB_ENABLED_strnlen1_TRUE@am__append_21 = strnlen1.h strnlen1.c +@gl_GNULIB_ENABLED_9c4a70804d24b83657b84f487eb93a64_TRUE@am__append_22 = $(LIBUNISTRING_UNISTR_H) +@gl_GNULIB_ENABLED_9c4a70804d24b83657b84f487eb93a64_TRUE@am__append_23 = unistr.h unistr.h-t +@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@@gl_GNULIB_ENABLED_53028ec81a2fde9235f1d688e4e85fc1_TRUE@am__append_24 = unistr/u8-mbtoucr.c +@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@@gl_GNULIB_ENABLED_fabe8eca3a52cf42d4d1d781b9f5fcbe_TRUE@am__append_25 = unistr/u8-uctomb.c unistr/u8-uctomb-aux.c +@gl_GNULIB_ENABLED_unitypes_TRUE@am__append_26 = $(LIBUNISTRING_UNITYPES_H) +@gl_GNULIB_ENABLED_unitypes_TRUE@am__append_27 = unitypes.h unitypes.h-t +@GL_COND_OBJ_WCRTOMB_TRUE@am__append_28 = wcrtomb.c +@GL_COND_OBJ_WCSDUP_TRUE@am__append_29 = wcsdup.c +@GL_COND_OBJ_WCTOB_TRUE@am__append_30 = wctob.c +@GL_COND_OBJ_WCTOMB_TRUE@@gl_GNULIB_ENABLED_wctomb_TRUE@am__append_31 = wctomb.c +@GL_COND_OBJ_WMEMCPY_TRUE@@gl_GNULIB_ENABLED_wmemcpy_TRUE@am__append_32 = wmemcpy.c subdir = lib ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/assert.m4 \ + $(top_srcdir)/m4/assert_h.m4 \ $(top_srcdir)/m4/ax_c___attribute__.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ $(top_srcdir)/m4/ax_compiler_vendor.m4 \ $(top_srcdir)/m4/ax_prepend_flag.m4 \ $(top_srcdir)/m4/ax_require_defined.m4 \ $(top_srcdir)/m4/ax_with_curses.m4 $(top_srcdir)/m4/btowc.m4 \ - $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ - $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/c-bool.m4 $(top_srcdir)/m4/codeset.m4 \ + $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/free.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ @@ -205,9 +209,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/monetary_h.m4 \ - $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nocrash.m4 \ - $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/setlocale_null.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \ + $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/musl.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/setlocale_null.m4 $(top_srcdir)/m4/ssize_t.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ @@ -241,7 +245,7 @@ am__libgnu_a_SOURCES_DIST = btowc.c c-ctype.h c-ctype.c c-strcase.h \ c-strcasecmp.c c-strncasecmp.c crc.c free.c getopt.c getopt1.c \ gettext.h gettimeofday.c hard-locale.c iconv_open.c iconv.c \ iconv_close.c localcharset.c mbrtowc.c mbsinit.c mbsrtowcs.c \ - mbtowc.c memchr.c setlocale_null.c setlocale-lock.c \ + mbszero.c mbtowc.c memchr.c setlocale_null.c setlocale-lock.c \ stdio-read.c stdio-write.c striconv.h striconv.c strnlen1.h \ strnlen1.c unistd.c unistr/u8-mbtoucr.c unistr/u8-uctomb.c \ unistr/u8-uctomb-aux.c wcrtomb.c wcsdup.c wctob.c wctomb.c \ @@ -261,25 +265,27 @@ am__libgnu_a_SOURCES_DIST = btowc.c c-ctype.h c-ctype.c c-strcase.h \ @GL_COND_OBJ_MBSINIT_TRUE@@gl_GNULIB_ENABLED_mbsinit_TRUE@am__objects_10 = libgnu_a-mbsinit.$(OBJEXT) @GL_COND_OBJ_MBSRTOWCS_TRUE@am__objects_11 = \ @GL_COND_OBJ_MBSRTOWCS_TRUE@ libgnu_a-mbsrtowcs.$(OBJEXT) -@GL_COND_OBJ_MBTOWC_TRUE@@gl_GNULIB_ENABLED_mbtowc_TRUE@am__objects_12 = libgnu_a-mbtowc.$(OBJEXT) -@GL_COND_OBJ_MEMCHR_TRUE@@gl_GNULIB_ENABLED_memchr_TRUE@am__objects_13 = libgnu_a-memchr.$(OBJEXT) -@gl_GNULIB_ENABLED_e7e881d32ca02f1c997b13c737c64bbd_TRUE@am__objects_14 = libgnu_a-setlocale_null.$(OBJEXT) -@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@@gl_GNULIB_ENABLED_e7e881d32ca02f1c997b13c737c64bbd_TRUE@am__objects_15 = libgnu_a-setlocale-lock.$(OBJEXT) -@GL_COND_OBJ_STDIO_READ_TRUE@am__objects_16 = \ +@gl_GNULIB_ENABLED_mbszero_TRUE@am__objects_12 = \ +@gl_GNULIB_ENABLED_mbszero_TRUE@ libgnu_a-mbszero.$(OBJEXT) +@GL_COND_OBJ_MBTOWC_TRUE@@gl_GNULIB_ENABLED_mbtowc_TRUE@am__objects_13 = libgnu_a-mbtowc.$(OBJEXT) +@GL_COND_OBJ_MEMCHR_TRUE@@gl_GNULIB_ENABLED_memchr_TRUE@am__objects_14 = libgnu_a-memchr.$(OBJEXT) +@gl_GNULIB_ENABLED_e7e881d32ca02f1c997b13c737c64bbd_TRUE@am__objects_15 = libgnu_a-setlocale_null.$(OBJEXT) +@GL_COND_OBJ_SETLOCALE_LOCK_TRUE@@gl_GNULIB_ENABLED_e7e881d32ca02f1c997b13c737c64bbd_TRUE@am__objects_16 = libgnu_a-setlocale-lock.$(OBJEXT) +@GL_COND_OBJ_STDIO_READ_TRUE@am__objects_17 = \ @GL_COND_OBJ_STDIO_READ_TRUE@ libgnu_a-stdio-read.$(OBJEXT) -@GL_COND_OBJ_STDIO_WRITE_TRUE@am__objects_17 = \ +@GL_COND_OBJ_STDIO_WRITE_TRUE@am__objects_18 = \ @GL_COND_OBJ_STDIO_WRITE_TRUE@ libgnu_a-stdio-write.$(OBJEXT) -@gl_GNULIB_ENABLED_strnlen1_TRUE@am__objects_18 = \ +@gl_GNULIB_ENABLED_strnlen1_TRUE@am__objects_19 = \ @gl_GNULIB_ENABLED_strnlen1_TRUE@ libgnu_a-strnlen1.$(OBJEXT) am__dirstamp = $(am__leading_dot)dirstamp -@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@@gl_GNULIB_ENABLED_53028ec81a2fde9235f1d688e4e85fc1_TRUE@am__objects_19 = unistr/libgnu_a-u8-mbtoucr.$(OBJEXT) -@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@@gl_GNULIB_ENABLED_fabe8eca3a52cf42d4d1d781b9f5fcbe_TRUE@am__objects_20 = unistr/libgnu_a-u8-uctomb.$(OBJEXT) \ +@LIBUNISTRING_COMPILE_UNISTR_U8_MBTOUCR_TRUE@@gl_GNULIB_ENABLED_53028ec81a2fde9235f1d688e4e85fc1_TRUE@am__objects_20 = unistr/libgnu_a-u8-mbtoucr.$(OBJEXT) +@LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@@gl_GNULIB_ENABLED_fabe8eca3a52cf42d4d1d781b9f5fcbe_TRUE@am__objects_21 = unistr/libgnu_a-u8-uctomb.$(OBJEXT) \ @LIBUNISTRING_COMPILE_UNISTR_U8_UCTOMB_TRUE@@gl_GNULIB_ENABLED_fabe8eca3a52cf42d4d1d781b9f5fcbe_TRUE@ unistr/libgnu_a-u8-uctomb-aux.$(OBJEXT) -@GL_COND_OBJ_WCRTOMB_TRUE@am__objects_21 = libgnu_a-wcrtomb.$(OBJEXT) -@GL_COND_OBJ_WCSDUP_TRUE@am__objects_22 = libgnu_a-wcsdup.$(OBJEXT) -@GL_COND_OBJ_WCTOB_TRUE@am__objects_23 = libgnu_a-wctob.$(OBJEXT) -@GL_COND_OBJ_WCTOMB_TRUE@@gl_GNULIB_ENABLED_wctomb_TRUE@am__objects_24 = libgnu_a-wctomb.$(OBJEXT) -@GL_COND_OBJ_WMEMCPY_TRUE@@gl_GNULIB_ENABLED_wmemcpy_TRUE@am__objects_25 = libgnu_a-wmemcpy.$(OBJEXT) +@GL_COND_OBJ_WCRTOMB_TRUE@am__objects_22 = libgnu_a-wcrtomb.$(OBJEXT) +@GL_COND_OBJ_WCSDUP_TRUE@am__objects_23 = libgnu_a-wcsdup.$(OBJEXT) +@GL_COND_OBJ_WCTOB_TRUE@am__objects_24 = libgnu_a-wctob.$(OBJEXT) +@GL_COND_OBJ_WCTOMB_TRUE@@gl_GNULIB_ENABLED_wctomb_TRUE@am__objects_25 = libgnu_a-wctomb.$(OBJEXT) +@GL_COND_OBJ_WMEMCPY_TRUE@@gl_GNULIB_ENABLED_wmemcpy_TRUE@am__objects_26 = libgnu_a-wmemcpy.$(OBJEXT) am_libgnu_a_OBJECTS = $(am__objects_1) libgnu_a-c-ctype.$(OBJEXT) \ libgnu_a-c-strcasecmp.$(OBJEXT) \ libgnu_a-c-strncasecmp.$(OBJEXT) libgnu_a-crc.$(OBJEXT) \ @@ -288,11 +294,12 @@ am_libgnu_a_OBJECTS = $(am__objects_1) libgnu_a-c-ctype.$(OBJEXT) \ $(am__objects_8) $(am__objects_9) $(am__objects_10) \ $(am__objects_11) $(am__objects_12) $(am__objects_13) \ $(am__objects_14) $(am__objects_15) $(am__objects_16) \ - $(am__objects_17) libgnu_a-striconv.$(OBJEXT) \ - $(am__objects_18) libgnu_a-unistd.$(OBJEXT) $(am__objects_19) \ - $(am__objects_20) $(am__objects_21) $(am__objects_22) \ - $(am__objects_23) $(am__objects_24) \ - libgnu_a-wctype-h.$(OBJEXT) $(am__objects_25) + $(am__objects_17) $(am__objects_18) \ + libgnu_a-striconv.$(OBJEXT) $(am__objects_19) \ + libgnu_a-unistd.$(OBJEXT) $(am__objects_20) $(am__objects_21) \ + $(am__objects_22) $(am__objects_23) $(am__objects_24) \ + $(am__objects_25) libgnu_a-wctype-h.$(OBJEXT) \ + $(am__objects_26) libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) @@ -326,6 +333,7 @@ am__depfiles_remade = ./$(DEPDIR)/libgnu_a-btowc.Po \ ./$(DEPDIR)/libgnu_a-mbsinit.Po \ ./$(DEPDIR)/libgnu_a-mbsrtowcs-state.Po \ ./$(DEPDIR)/libgnu_a-mbsrtowcs.Po \ + ./$(DEPDIR)/libgnu_a-mbszero.Po \ ./$(DEPDIR)/libgnu_a-mbtowc-lock.Po \ ./$(DEPDIR)/libgnu_a-mbtowc.Po ./$(DEPDIR)/libgnu_a-memchr.Po \ ./$(DEPDIR)/libgnu_a-setlocale-lock.Po \ @@ -435,6 +443,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ +ASSERT_H = @ASSERT_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -546,6 +555,7 @@ GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@ GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@ GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@ GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@ +GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@ GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@ GL_GNULIB_GETTIMEOFDAY = @GL_GNULIB_GETTIMEOFDAY@ GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@ @@ -559,6 +569,7 @@ GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@ GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@ GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@ GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@ +GL_GNULIB_ISWPUNCT = @GL_GNULIB_ISWPUNCT@ GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@ GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@ GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@ @@ -590,6 +601,8 @@ GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@ GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@ GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@ GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@ +GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@ +GL_GNULIB_MBSZERO = @GL_GNULIB_MBSZERO@ GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@ GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@ GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@ @@ -634,6 +647,7 @@ GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@ GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@ GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@ GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@ +GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@ GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@ GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@ GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@ @@ -668,6 +682,7 @@ GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@ GL_GNULIB_PUTS = @GL_GNULIB_PUTS@ GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@ GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@ +GL_GNULIB_RAND = @GL_GNULIB_RAND@ GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@ GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@ GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@ @@ -728,6 +743,7 @@ GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@ GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@ GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@ GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@ +GL_GNULIB_TIME = @GL_GNULIB_TIME@ GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@ GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@ GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@ @@ -789,6 +805,7 @@ GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@ GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@ GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@ GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@ +GL_GNULIB_WGETCWD = @GL_GNULIB_WGETCWD@ GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@ GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@ GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@ @@ -800,8 +817,8 @@ GL_GNULIB__EXIT = @GL_GNULIB__EXIT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@ -GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GREP = @GREP@ +HARD_LOCALE_LIB = @HARD_LOCALE_LIB@ HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -829,6 +846,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ +HAVE_DECL_GETW = @HAVE_DECL_GETW@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ @@ -836,6 +854,8 @@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ +HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@ +HAVE_DECL_PUTW = @HAVE_DECL_PUTW@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ @@ -884,11 +904,14 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETPASS = @HAVE_GETPASS@ +HAVE_GETPROGNAME = @HAVE_GETPROGNAME@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GETUMASK = @HAVE_GETUMASK@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXABS = @HAVE_IMAXABS@ +HAVE_IMAXDIV = @HAVE_IMAXDIV@ HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ @@ -908,6 +931,7 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ @@ -986,6 +1010,7 @@ HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@ HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ +HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_USLEEP = @HAVE_USLEEP@ @@ -1034,7 +1059,6 @@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMPCPY = @HAVE_WMEMPCPY@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ -HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ ICONV_CONST = @ICONV_CONST@ ICONV_H = @ICONV_H@ @@ -1049,6 +1073,10 @@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@ +LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@ +LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@ +LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@ LDFLAGS = @LDFLAGS@ LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ @@ -1076,11 +1104,14 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MBRTOWC_LIB = @MBRTOWC_LIB@ MKDIR_P = @MKDIR_P@ MONETARY_H = @MONETARY_H@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ +NEXT_ASSERT_H = @NEXT_ASSERT_H@ +NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ @@ -1150,6 +1181,7 @@ REPLACE_CTIME = @REPLACE_CTIME@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUP3 = @REPLACE_DUP3@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_EXECL = @REPLACE_EXECL@ REPLACE_EXECLE = @REPLACE_EXECLE@ @@ -1159,9 +1191,11 @@ REPLACE_EXECVE = @REPLACE_EXECVE@ REPLACE_EXECVP = @REPLACE_EXECVP@ REPLACE_EXECVPE = @REPLACE_EXECVPE@ REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ +REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCHMODAT = @REPLACE_FCHMODAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ +REPLACE_FDATASYNC = @REPLACE_FDATASYNC@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FFSLL = @REPLACE_FFSLL@ @@ -1184,22 +1218,29 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ +REPLACE_GETENTROPY = @REPLACE_GETENTROPY@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ +REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETPASS = @REPLACE_GETPASS@ REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@ +REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@ +REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ +REPLACE_IMAXABS = @REPLACE_IMAXABS@ +REPLACE_IMAXDIV = @REPLACE_IMAXDIV@ REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@ +REPLACE_ISWPUNCT = @REPLACE_ISWPUNCT@ REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ @@ -1217,14 +1258,19 @@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ +REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@ REPLACE_MBTOWC = @REPLACE_MBTOWC@ +REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MEMPCPY = @REPLACE_MEMPCPY@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKNODAT = @REPLACE_MKNODAT@ +REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@ +REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ @@ -1232,8 +1278,10 @@ REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ +REPLACE_PIPE2 = @REPLACE_PIPE2@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@ +REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ @@ -1241,6 +1289,7 @@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ +REPLACE_RAND = @REPLACE_RAND@ REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ @@ -1255,6 +1304,7 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ @@ -1263,6 +1313,7 @@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ +REPLACE_STPCPY = @REPLACE_STPCPY@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ @@ -1288,9 +1339,12 @@ REPLACE_STRTOULL = @REPLACE_STRTOULL@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ +REPLACE_STRVERSCMP = @REPLACE_STRVERSCMP@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ +REPLACE_TIME = @REPLACE_TIME@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ +REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TRUNCATE = @REPLACE_TRUNCATE@ @@ -1308,21 +1362,30 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ +REPLACE_WCSCMP = @REPLACE_WCSCMP@ REPLACE_WCSFTIME = @REPLACE_WCSFTIME@ +REPLACE_WCSNCMP = @REPLACE_WCSNCMP@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ +REPLACE_WCSSTR = @REPLACE_WCSSTR@ REPLACE_WCSTOK = @REPLACE_WCSTOK@ REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ +REPLACE_WCTRANS = @REPLACE_WCTRANS@ +REPLACE_WCTYPE = @REPLACE_WCTYPE@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ +REPLACE_WMEMCMP = @REPLACE_WMEMCMP@ +REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@ REPLACE_WRITE = @REPLACE_WRITE@ +REPLACE__EXIT = @REPLACE__EXIT@ +SCHED_YIELD_LIB = @SCHED_YIELD_LIB@ SED = @SED@ +SETLOCALE_NULL_LIB = @SETLOCALE_NULL_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -1357,7 +1420,6 @@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ -appdatadir = @appdatadir@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ @@ -1393,6 +1455,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ +metainfodir = @metainfodir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ @@ -1413,9 +1476,9 @@ SUBDIRS = noinst_HEADERS = noinst_LIBRARIES = libgnu.a noinst_LTLIBRARIES = -EXTRA_DIST = attribute.h crc.h getopt-cdefs.in.h getopt-core.h \ - getopt-ext.h getopt-pfx-core.h getopt-pfx-ext.h getopt.in.h \ - getopt_int.h hard-locale.h \ +EXTRA_DIST = assert.in.h verify.h attribute.h crc.h getopt-cdefs.in.h \ + getopt-core.h getopt-ext.h getopt-pfx-core.h getopt-pfx-ext.h \ + getopt.in.h getopt_int.h hard-locale.h \ $(top_srcdir)/build-aux/config.rpath iconv.in.h \ iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h \ iconv_open-osf.h iconv_open-solaris.h iconv_open-zos.h \ @@ -1428,30 +1491,31 @@ EXTRA_DIST = attribute.h crc.h getopt-cdefs.in.h getopt-core.h \ mbsrtowcs-impl.h mbsrtowcs-state.c mbtowc-impl.h \ memchr.valgrind monetary.in.h setlocale_null.h \ windows-initguard.h _Noreturn.h arg-nonnull.h c++defs.h \ - warn-on-use.h stdbool.in.h stddef.in.h stdint.in.h stdio.in.h \ - stdlib.in.h streq.h string.in.h sys_stat.in.h sys_time.in.h \ - sys_types.in.h time.in.h unistd.in.h unistr.in.h unitypes.in.h \ - verify.h wchar.in.h wcsdup-impl.h wctomb-impl.h wctype.in.h \ - wmemcpy-impl.h -BUILT_SOURCES = $(GETOPT_H) $(GETOPT_CDEFS_H) $(ICONV_H) \ - iconv_open-aix.h iconv_open-hpux.h iconv_open-irix.h \ - iconv_open-osf.h iconv_open-solaris.h iconv_open-zos.h \ - inttypes.h $(LIMITS_H) locale.h $(MONETARY_H) $(STDBOOL_H) \ + warn-on-use.h stddef.in.h stdint.in.h stdio.in.h stdlib.in.h \ + streq.h string.in.h sys_stat.in.h sys_time.in.h sys_types.in.h \ + time.in.h unistd.in.h unistr.in.h unitypes.in.h wchar.in.h \ + wcsdup-impl.h wctomb-impl.h wctype.in.h wmemcpy-impl.h +BUILT_SOURCES = $(am__append_1) $(GETOPT_H) $(GETOPT_CDEFS_H) \ + $(ICONV_H) iconv_open-aix.h iconv_open-hpux.h \ + iconv_open-irix.h iconv_open-osf.h iconv_open-solaris.h \ + iconv_open-zos.h inttypes.h $(LIMITS_H) locale.h $(MONETARY_H) \ $(STDDEF_H) $(STDINT_H) stdio.h stdlib.h string.h sys/stat.h \ - sys/time.h sys/types.h time.h unistd.h $(am__append_19) \ - $(am__append_23) wchar.h wctype.h + sys/time.h sys/types.h time.h unistd.h $(am__append_22) \ + $(am__append_26) wchar.h wctype.h SUFFIXES = -MOSTLYCLEANFILES = core *.stackdump getopt.h getopt.h-t getopt-cdefs.h \ - getopt-cdefs.h-t iconv.h iconv.h-t iconv_open-aix.h-t \ - iconv_open-hpux.h-t iconv_open-irix.h-t iconv_open-osf.h-t \ - iconv_open-solaris.h-t iconv_open-zos.h-t inttypes.h \ - inttypes.h-t limits.h limits.h-t locale.h locale.h-t \ - monetary.h monetary.h-t stdbool.h stdbool.h-t stddef.h \ - stddef.h-t stdint.h stdint.h-t stdio.h stdio.h-t stdlib.h \ - stdlib.h-t string.h string.h-t sys/stat.h sys/stat.h-t \ - sys/time.h sys/time.h-t sys/types.h sys/types.h-t time.h \ - time.h-t unistd.h unistd.h-t $(am__append_20) $(am__append_24) \ - wchar.h wchar.h-t wctype.h wctype.h-t +MOSTLYCLEANFILES = core *.stackdump $(am__append_2) getopt.h \ + getopt.h-t getopt-cdefs.h getopt-cdefs.h-t iconv.h iconv.h-t \ + iconv_open-aix.h-t iconv_open-hpux.h-t iconv_open-irix.h-t \ + iconv_open-osf.h-t iconv_open-solaris.h-t iconv_open-zos.h-t \ + inttypes.h inttypes.h-t limits.h limits.h-t locale.h \ + locale.h-t monetary.h monetary.h-t stddef.h stddef.h-t \ + stdint.h stdint.h-t stdio.h stdio.h-t1 stdio.h-t2 stdio.h-t3 \ + stdlib.h stdlib.h-t1 stdlib.h-t2 stdlib.h-t3 string.h \ + string.h-t1 string.h-t2 sys/stat.h sys/stat.h-t sys/time.h \ + sys/time.h-t sys/types.h sys/types.h-t time.h time.h-t \ + unistd.h unistd.h-t1 unistd.h-t2 unistd.h-t3 unistd.h-t4 \ + $(am__append_23) $(am__append_27) wchar.h wchar.h-t1 \ + wchar.h-t2 wchar.h-t3 wctype.h wctype.h-t MOSTLYCLEANDIRS = sys CLEANFILES = DISTCLEANFILES = @@ -1461,16 +1525,17 @@ MAINTAINERCLEANFILES = iconv_open-aix.h iconv_open-hpux.h \ # No GNU Make output. AM_CPPFLAGS = AM_CFLAGS = -libgnu_a_SOURCES = $(am__append_1) c-ctype.h c-ctype.c c-strcase.h \ - c-strcasecmp.c c-strncasecmp.c crc.c $(am__append_2) \ - $(am__append_3) gettext.h $(am__append_4) $(am__append_5) \ - $(am__append_6) $(am__append_7) $(am__append_8) \ - $(am__append_9) $(am__append_10) $(am__append_11) \ - $(am__append_12) $(am__append_13) $(am__append_14) \ - $(am__append_15) $(am__append_16) $(am__append_17) striconv.h \ - striconv.c $(am__append_18) unistd.c $(am__append_21) \ - $(am__append_22) $(am__append_25) $(am__append_26) \ - $(am__append_27) $(am__append_28) wctype-h.c $(am__append_29) +libgnu_a_SOURCES = $(am__append_3) c-ctype.h c-ctype.c c-strcase.h \ + c-strcasecmp.c c-strncasecmp.c crc.c $(am__append_4) \ + $(am__append_5) gettext.h $(am__append_6) $(am__append_7) \ + $(am__append_8) $(am__append_9) $(am__append_10) \ + $(am__append_11) $(am__append_12) $(am__append_13) \ + $(am__append_14) $(am__append_15) $(am__append_16) \ + $(am__append_17) $(am__append_18) $(am__append_19) \ + $(am__append_20) striconv.h striconv.c $(am__append_21) \ + unistd.c $(am__append_24) $(am__append_25) $(am__append_28) \ + $(am__append_29) $(am__append_30) $(am__append_31) wctype-h.c \ + $(am__append_32) libgnu_a_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS) libgnu_a_LIBADD = $(gl_LIBOBJS) libgnu_a_DEPENDENCIES = $(gl_LIBOBJS) @@ -1612,6 +1677,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_a-mbsinit.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_a-mbsrtowcs-state.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_a-mbsrtowcs.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_a-mbszero.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_a-mbtowc-lock.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_a-mbtowc.Po@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgnu_a-memchr.Po@am__quote@ # am--include-marker @@ -1892,6 +1958,20 @@ libgnu_a-mbsrtowcs.obj: mbsrtowcs.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -c -o libgnu_a-mbsrtowcs.obj `if test -f 'mbsrtowcs.c'; then $(CYGPATH_W) 'mbsrtowcs.c'; else $(CYGPATH_W) '$(srcdir)/mbsrtowcs.c'; fi` +libgnu_a-mbszero.o: mbszero.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -MT libgnu_a-mbszero.o -MD -MP -MF $(DEPDIR)/libgnu_a-mbszero.Tpo -c -o libgnu_a-mbszero.o `test -f 'mbszero.c' || echo '$(srcdir)/'`mbszero.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_a-mbszero.Tpo $(DEPDIR)/libgnu_a-mbszero.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mbszero.c' object='libgnu_a-mbszero.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -c -o libgnu_a-mbszero.o `test -f 'mbszero.c' || echo '$(srcdir)/'`mbszero.c + +libgnu_a-mbszero.obj: mbszero.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -MT libgnu_a-mbszero.obj -MD -MP -MF $(DEPDIR)/libgnu_a-mbszero.Tpo -c -o libgnu_a-mbszero.obj `if test -f 'mbszero.c'; then $(CYGPATH_W) 'mbszero.c'; else $(CYGPATH_W) '$(srcdir)/mbszero.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_a-mbszero.Tpo $(DEPDIR)/libgnu_a-mbszero.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mbszero.c' object='libgnu_a-mbszero.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -c -o libgnu_a-mbszero.obj `if test -f 'mbszero.c'; then $(CYGPATH_W) 'mbszero.c'; else $(CYGPATH_W) '$(srcdir)/mbszero.c'; fi` + libgnu_a-mbtowc.o: mbtowc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgnu_a_CFLAGS) $(CFLAGS) -MT libgnu_a-mbtowc.o -MD -MP -MF $(DEPDIR)/libgnu_a-mbtowc.Tpo -c -o libgnu_a-mbtowc.o `test -f 'mbtowc.c' || echo '$(srcdir)/'`mbtowc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgnu_a-mbtowc.Tpo $(DEPDIR)/libgnu_a-mbtowc.Po @@ -2412,6 +2492,7 @@ distclean: distclean-recursive -rm -f ./$(DEPDIR)/libgnu_a-mbsinit.Po -rm -f ./$(DEPDIR)/libgnu_a-mbsrtowcs-state.Po -rm -f ./$(DEPDIR)/libgnu_a-mbsrtowcs.Po + -rm -f ./$(DEPDIR)/libgnu_a-mbszero.Po -rm -f ./$(DEPDIR)/libgnu_a-mbtowc-lock.Po -rm -f ./$(DEPDIR)/libgnu_a-mbtowc.Po -rm -f ./$(DEPDIR)/libgnu_a-memchr.Po @@ -2495,6 +2576,7 @@ maintainer-clean: maintainer-clean-recursive -rm -f ./$(DEPDIR)/libgnu_a-mbsinit.Po -rm -f ./$(DEPDIR)/libgnu_a-mbsrtowcs-state.Po -rm -f ./$(DEPDIR)/libgnu_a-mbsrtowcs.Po + -rm -f ./$(DEPDIR)/libgnu_a-mbszero.Po -rm -f ./$(DEPDIR)/libgnu_a-mbtowc-lock.Po -rm -f ./$(DEPDIR)/libgnu_a-mbtowc.Po -rm -f ./$(DEPDIR)/libgnu_a-memchr.Po @@ -2554,6 +2636,25 @@ uninstall-am: .PRECIOUS: Makefile +# We need the following in order to create when the system +# doesn't have one that works with the given compiler. +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@assert.h: assert.in.h verify.h $(top_builddir)/config.status +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ $(gl_V_at){ $(SED_HEADER_STDOUT) \ +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \ +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \ +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \ +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ -e 's|@''NEXT_ASSERT_H''@|$(NEXT_ASSERT_H)|g' \ +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ < $(srcdir)/assert.in.h && \ +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ sed -e '/@assert.h omit start@/,/@assert.h omit end@/d' \ +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ -e 's|_gl_verify|_gl_static_assert|g' \ +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ -e 's|_GL_VERIFY|_GL_STATIC_ASSERT|g' \ +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ -e 's|_GL\(_STATIC_ASSERT_H\)|_GL\1|g' \ +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ < $(srcdir)/verify.h; \ +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ } > $@-t +@GL_GENERATE_ASSERT_H_TRUE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ $(AM_V_at)mv $@-t $@ +@GL_GENERATE_ASSERT_H_FALSE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@assert.h: $(top_builddir)/config.status +@GL_GENERATE_ASSERT_H_FALSE@@gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f_TRUE@ rm -f $@ + # We need the following in order to create when the system # doesn't have one that works with the given compiler. @GL_GENERATE_GETOPT_H_TRUE@getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H) @@ -2639,6 +2740,8 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_U -e 's/@''HAVE_DECL_STRTOIMAX''@/$(HAVE_DECL_STRTOIMAX)/g' \ -e 's/@''HAVE_DECL_STRTOUMAX''@/$(HAVE_DECL_STRTOUMAX)/g' \ -e 's/@''HAVE_IMAXDIV_T''@/$(HAVE_IMAXDIV_T)/g' \ + -e 's/@''REPLACE_IMAXABS''@/$(REPLACE_IMAXABS)/g' \ + -e 's/@''REPLACE_IMAXDIV''@/$(REPLACE_IMAXDIV)/g' \ -e 's/@''REPLACE_STRTOIMAX''@/$(REPLACE_STRTOIMAX)/g' \ -e 's/@''REPLACE_STRTOUMAX''@/$(REPLACE_STRTOUMAX)/g' \ -e 's/@''INT32_MAX_LT_INTMAX_MAX''@/$(INT32_MAX_LT_INTMAX_MAX)/g' \ @@ -2718,16 +2821,6 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H @GL_GENERATE_MONETARY_H_FALSE@monetary.h: $(top_builddir)/config.status @GL_GENERATE_MONETARY_H_FALSE@ rm -f $@ -# We need the following in order to create when the system -# doesn't have one that works. -@GL_GENERATE_STDBOOL_H_TRUE@stdbool.h: stdbool.in.h $(top_builddir)/config.status -@GL_GENERATE_STDBOOL_H_TRUE@ $(gl_V_at)$(SED_HEADER_STDOUT) \ -@GL_GENERATE_STDBOOL_H_TRUE@ -e 's/@''HAVE__BOOL''@/$(HAVE__BOOL)/g' \ -@GL_GENERATE_STDBOOL_H_TRUE@ $(srcdir)/stdbool.in.h > $@-t -@GL_GENERATE_STDBOOL_H_TRUE@ $(AM_V_at)mv $@-t $@ -@GL_GENERATE_STDBOOL_H_FALSE@stdbool.h: $(top_builddir)/config.status -@GL_GENERATE_STDBOOL_H_FALSE@ rm -f $@ - # We need the following in order to create when the system # doesn't have one that works with the given compiler. @GL_GENERATE_STDDEF_H_TRUE@stddef.h: stddef.in.h $(top_builddir)/config.status @@ -2850,14 +2943,17 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's/@''GNULIB_MDA_GETW''@/$(GL_GNULIB_MDA_GETW)/g' \ -e 's/@''GNULIB_MDA_PUTW''@/$(GL_GNULIB_MDA_PUTW)/g' \ -e 's/@''GNULIB_MDA_TEMPNAM''@/$(GL_GNULIB_MDA_TEMPNAM)/g' \ - < $(srcdir)/stdio.in.h | \ - sed -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \ + < $(srcdir)/stdio.in.h > $@-t1 + $(AM_V_at)sed \ + -e 's|@''HAVE_DECL_FCLOSEALL''@|$(HAVE_DECL_FCLOSEALL)|g' \ -e 's|@''HAVE_DECL_FPURGE''@|$(HAVE_DECL_FPURGE)|g' \ -e 's|@''HAVE_DECL_FSEEKO''@|$(HAVE_DECL_FSEEKO)|g' \ -e 's|@''HAVE_DECL_FTELLO''@|$(HAVE_DECL_FTELLO)|g' \ -e 's|@''HAVE_DECL_GETDELIM''@|$(HAVE_DECL_GETDELIM)|g' \ -e 's|@''HAVE_DECL_GETLINE''@|$(HAVE_DECL_GETLINE)|g' \ + -e 's|@''HAVE_DECL_GETW''@|$(HAVE_DECL_GETW)|g' \ -e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|$(HAVE_DECL_OBSTACK_PRINTF)|g' \ + -e 's|@''HAVE_DECL_PUTW''@|$(HAVE_DECL_PUTW)|g' \ -e 's|@''HAVE_DECL_SNPRINTF''@|$(HAVE_DECL_SNPRINTF)|g' \ -e 's|@''HAVE_DECL_VSNPRINTF''@|$(HAVE_DECL_VSNPRINTF)|g' \ -e 's|@''HAVE_DPRINTF''@|$(HAVE_DPRINTF)|g' \ @@ -2868,6 +2964,8 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's|@''HAVE_RENAMEAT''@|$(HAVE_RENAMEAT)|g' \ -e 's|@''HAVE_VASPRINTF''@|$(HAVE_VASPRINTF)|g' \ -e 's|@''HAVE_VDPRINTF''@|$(HAVE_VDPRINTF)|g' \ + < $@-t1 > $@-t2 + $(AM_V_at)sed \ -e 's|@''REPLACE_DPRINTF''@|$(REPLACE_DPRINTF)|g' \ -e 's|@''REPLACE_FCLOSE''@|$(REPLACE_FCLOSE)|g' \ -e 's|@''REPLACE_FDOPEN''@|$(REPLACE_FDOPEN)|g' \ @@ -2905,8 +3003,9 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - > $@-t - $(AM_V_at)mv $@-t $@ + < $@-t2 > $@-t3 + $(AM_V_at)rm -f $@-t1 $@-t2 + $(AM_V_at)mv $@-t3 $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. @@ -2926,10 +3025,12 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's/@''GNULIB_CANONICALIZE_FILE_NAME''@/$(GL_GNULIB_CANONICALIZE_FILE_NAME)/g' \ -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ -e 's/@''GNULIB_GETLOADAVG''@/$(GL_GNULIB_GETLOADAVG)/g' \ + -e 's/@''GNULIB_GETPROGNAME''@/$(GL_GNULIB_GETPROGNAME)/g' \ -e 's/@''GNULIB_GETSUBOPT''@/$(GL_GNULIB_GETSUBOPT)/g' \ -e 's/@''GNULIB_GRANTPT''@/$(GL_GNULIB_GRANTPT)/g' \ -e 's/@''GNULIB_MALLOC_GNU''@/$(GL_GNULIB_MALLOC_GNU)/g' \ -e 's/@''GNULIB_MALLOC_POSIX''@/$(GL_GNULIB_MALLOC_POSIX)/g' \ + -e 's/@''GNULIB_MBSTOWCS''@/$(GL_GNULIB_MBSTOWCS)/g' \ -e 's/@''GNULIB_MBTOWC''@/$(GL_GNULIB_MBTOWC)/g' \ -e 's/@''GNULIB_MKDTEMP''@/$(GL_GNULIB_MKDTEMP)/g' \ -e 's/@''GNULIB_MKOSTEMP''@/$(GL_GNULIB_MKOSTEMP)/g' \ @@ -2942,6 +3043,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's/@''GNULIB_PTSNAME_R''@/$(GL_GNULIB_PTSNAME_R)/g' \ -e 's/@''GNULIB_PUTENV''@/$(GL_GNULIB_PUTENV)/g' \ -e 's/@''GNULIB_QSORT_R''@/$(GL_GNULIB_QSORT_R)/g' \ + -e 's/@''GNULIB_RAND''@/$(GL_GNULIB_RAND)/g' \ -e 's/@''GNULIB_RANDOM''@/$(GL_GNULIB_RANDOM)/g' \ -e 's/@''GNULIB_RANDOM_R''@/$(GL_GNULIB_RANDOM_R)/g' \ -e 's/@''GNULIB_REALLOC_GNU''@/$(GL_GNULIB_REALLOC_GNU)/g' \ @@ -2966,8 +3068,9 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's/@''GNULIB_MDA_GCVT''@/$(GL_GNULIB_MDA_GCVT)/g' \ -e 's/@''GNULIB_MDA_MKTEMP''@/$(GL_GNULIB_MDA_MKTEMP)/g' \ -e 's/@''GNULIB_MDA_PUTENV''@/$(GL_GNULIB_MDA_PUTENV)/g' \ - < $(srcdir)/stdlib.in.h | \ - sed -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ + < $(srcdir)/stdlib.in.h > $@-t1 + $(AM_V_at)sed \ + -e 's|@''HAVE__EXIT''@|$(HAVE__EXIT)|g' \ -e 's|@''HAVE_ALIGNED_ALLOC''@|$(HAVE_ALIGNED_ALLOC)|g' \ -e 's|@''HAVE_ATOLL''@|$(HAVE_ATOLL)|g' \ -e 's|@''HAVE_CANONICALIZE_FILE_NAME''@|$(HAVE_CANONICALIZE_FILE_NAME)|g' \ @@ -2975,6 +3078,8 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''HAVE_DECL_FCVT''@|$(HAVE_DECL_FCVT)|g' \ -e 's|@''HAVE_DECL_GCVT''@|$(HAVE_DECL_GCVT)|g' \ -e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \ + -e 's|@''HAVE_DECL_PROGRAM_INVOCATION_NAME''@|$(HAVE_DECL_PROGRAM_INVOCATION_NAME)|g' \ + -e 's|@''HAVE_GETPROGNAME''@|$(HAVE_GETPROGNAME)|g' \ -e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \ -e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \ -e 's|@''HAVE_INITSTATE''@|$(HAVE_INITSTATE)|g' \ @@ -3010,21 +3115,33 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e 's|@''HAVE_SYS_LOADAVG_H''@|$(HAVE_SYS_LOADAVG_H)|g' \ -e 's|@''HAVE_UNLOCKPT''@|$(HAVE_UNLOCKPT)|g' \ -e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \ + < $@-t1 > $@-t2 + $(AM_V_at)sed \ + -e 's|@''REPLACE__EXIT''@|$(REPLACE__EXIT)|g' \ -e 's|@''REPLACE_ALIGNED_ALLOC''@|$(REPLACE_ALIGNED_ALLOC)|g' \ -e 's|@''REPLACE_CALLOC_FOR_CALLOC_GNU''@|$(REPLACE_CALLOC_FOR_CALLOC_GNU)|g' \ -e 's|@''REPLACE_CALLOC_FOR_CALLOC_POSIX''@|$(REPLACE_CALLOC_FOR_CALLOC_POSIX)|g' \ -e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \ -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ + -e 's|@''REPLACE_GETLOADAVG''@|$(REPLACE_GETLOADAVG)|g' \ + -e 's|@''REPLACE_GETPROGNAME''@|$(REPLACE_GETPROGNAME)|g' \ + -e 's|@''REPLACE_GETSUBOPT''@|$(REPLACE_GETSUBOPT)|g' \ -e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \ -e 's|@''REPLACE_MALLOC_FOR_MALLOC_GNU''@|$(REPLACE_MALLOC_FOR_MALLOC_GNU)|g' \ -e 's|@''REPLACE_MALLOC_FOR_MALLOC_POSIX''@|$(REPLACE_MALLOC_FOR_MALLOC_POSIX)|g' \ + -e 's|@''REPLACE_MB_CUR_MAX''@|$(REPLACE_MB_CUR_MAX)|g' \ + -e 's|@''REPLACE_MBSTOWCS''@|$(REPLACE_MBSTOWCS)|g' \ -e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \ + -e 's|@''REPLACE_MKOSTEMP''@|$(REPLACE_MKOSTEMP)|g' \ + -e 's|@''REPLACE_MKOSTEMPS''@|$(REPLACE_MKOSTEMPS)|g' \ -e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \ -e 's|@''REPLACE_POSIX_MEMALIGN''@|$(REPLACE_POSIX_MEMALIGN)|g' \ + -e 's|@''REPLACE_POSIX_OPENPT''@|$(REPLACE_POSIX_OPENPT)|g' \ -e 's|@''REPLACE_PTSNAME''@|$(REPLACE_PTSNAME)|g' \ -e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \ -e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \ -e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \ + -e 's|@''REPLACE_RAND''@|$(REPLACE_RAND)|g' \ -e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \ -e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \ -e 's|@''REPLACE_REALLOC_FOR_REALLOC_GNU''@|$(REPLACE_REALLOC_FOR_REALLOC_GNU)|g' \ @@ -3045,8 +3162,9 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \ -e '/definition of _Noreturn/r $(_NORETURN_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - > $@-t - $(AM_V_at)mv $@-t $@ + < $@-t2 > $@-t3 + $(AM_V_at)rm -f $@-t1 $@-t2 + $(AM_V_at)mv $@-t3 $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. @@ -3078,6 +3196,7 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_MEMMEM''@/$(GL_GNULIB_MEMMEM)/g' \ -e 's/@''GNULIB_MEMPCPY''@/$(GL_GNULIB_MEMPCPY)/g' \ -e 's/@''GNULIB_MEMRCHR''@/$(GL_GNULIB_MEMRCHR)/g' \ + -e 's/@''GNULIB_MEMSET_EXPLICIT''@/$(GL_GNULIB_MEMSET_EXPLICIT)/g' \ -e 's/@''GNULIB_RAWMEMCHR''@/$(GL_GNULIB_RAWMEMCHR)/g' \ -e 's/@''GNULIB_STPCPY''@/$(GL_GNULIB_STPCPY)/g' \ -e 's/@''GNULIB_STPNCPY''@/$(GL_GNULIB_STPNCPY)/g' \ @@ -3101,14 +3220,16 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_MDA_MEMCCPY''@/$(GL_GNULIB_MDA_MEMCCPY)/g' \ -e 's/@''GNULIB_MDA_STRDUP''@/$(GL_GNULIB_MDA_STRDUP)/g' \ -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ - < $(srcdir)/string.in.h | \ - sed -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \ + < $(srcdir)/string.in.h > $@-t1 + $(AM_V_at)sed \ + -e 's|@''HAVE_EXPLICIT_BZERO''@|$(HAVE_EXPLICIT_BZERO)|g' \ -e 's|@''HAVE_FFSL''@|$(HAVE_FFSL)|g' \ -e 's|@''HAVE_FFSLL''@|$(HAVE_FFSLL)|g' \ -e 's|@''HAVE_MBSLEN''@|$(HAVE_MBSLEN)|g' \ -e 's|@''HAVE_DECL_MEMMEM''@|$(HAVE_DECL_MEMMEM)|g' \ -e 's|@''HAVE_MEMPCPY''@|$(HAVE_MEMPCPY)|g' \ -e 's|@''HAVE_DECL_MEMRCHR''@|$(HAVE_DECL_MEMRCHR)|g' \ + -e 's|@''HAVE_MEMSET_EXPLICIT''@|$(HAVE_MEMSET_EXPLICIT)|g' \ -e 's|@''HAVE_RAWMEMCHR''@|$(HAVE_RAWMEMCHR)|g' \ -e 's|@''HAVE_STPCPY''@|$(HAVE_STPCPY)|g' \ -e 's|@''HAVE_STPNCPY''@|$(HAVE_STPNCPY)|g' \ @@ -3129,7 +3250,9 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''REPLACE_FFSLL''@|$(REPLACE_FFSLL)|g' \ -e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \ -e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \ + -e 's|@''REPLACE_MEMPCPY''@|$(REPLACE_MEMPCPY)|g' \ -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ + -e 's|@''REPLACE_STPCPY''@|$(REPLACE_STPCPY)|g' \ -e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \ -e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \ -e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \ @@ -3143,12 +3266,14 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \ -e 's|@''REPLACE_STRERRORNAME_NP''@|$(REPLACE_STRERRORNAME_NP)|g' \ -e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \ + -e 's|@''REPLACE_STRVERSCMP''@|$(REPLACE_STRVERSCMP)|g' \ -e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - > $@-t - $(AM_V_at)mv $@-t $@ + < $@-t1 > $@-t2 + $(AM_V_at)rm -f $@-t1 + $(AM_V_at)mv $@-t2 $@ # We need the following in order to create when the system # has one that is incomplete. @@ -3266,6 +3391,7 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( -e 's/@''GNULIB_NANOSLEEP''@/$(GL_GNULIB_NANOSLEEP)/g' \ -e 's/@''GNULIB_STRFTIME''@/$(GL_GNULIB_STRFTIME)/g' \ -e 's/@''GNULIB_STRPTIME''@/$(GL_GNULIB_STRPTIME)/g' \ + -e 's/@''GNULIB_TIME''@/$(GL_GNULIB_TIME)/g' \ -e 's/@''GNULIB_TIMEGM''@/$(GL_GNULIB_TIMEGM)/g' \ -e 's/@''GNULIB_TIMESPEC_GET''@/$(GL_GNULIB_TIMESPEC_GET)/g' \ -e 's/@''GNULIB_TIMESPEC_GETRES''@/$(GL_GNULIB_TIMESPEC_GETRES)/g' \ @@ -3287,7 +3413,9 @@ time.h: time.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $( -e 's|@''REPLACE_MKTIME''@|$(REPLACE_MKTIME)|g' \ -e 's|@''REPLACE_NANOSLEEP''@|$(REPLACE_NANOSLEEP)|g' \ -e 's|@''REPLACE_STRFTIME''@|$(REPLACE_STRFTIME)|g' \ + -e 's|@''REPLACE_TIME''@|$(REPLACE_TIME)|g' \ -e 's|@''REPLACE_TIMEGM''@|$(REPLACE_TIMEGM)|g' \ + -e 's|@''REPLACE_TIMESPEC_GET''@|$(REPLACE_TIMESPEC_GET)|g' \ -e 's|@''REPLACE_TZSET''@|$(REPLACE_TZSET)|g' \ -e 's|@''PTHREAD_H_DEFINES_STRUCT_TIMESPEC''@|$(PTHREAD_H_DEFINES_STRUCT_TIMESPEC)|g' \ -e 's|@''SYS_TIME_H_DEFINES_STRUCT_TIMESPEC''@|$(SYS_TIME_H_DEFINES_STRUCT_TIMESPEC)|g' \ @@ -3334,6 +3462,8 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_FDATASYNC''@/$(GL_GNULIB_FDATASYNC)/g' \ -e 's/@''GNULIB_FSYNC''@/$(GL_GNULIB_FSYNC)/g' \ -e 's/@''GNULIB_FTRUNCATE''@/$(GL_GNULIB_FTRUNCATE)/g' \ + < $(srcdir)/unistd.in.h > $@-t1 + $(AM_V_at)sed \ -e 's/@''GNULIB_GETCWD''@/$(GL_GNULIB_GETCWD)/g' \ -e 's/@''GNULIB_GETDOMAINNAME''@/$(GL_GNULIB_GETDOMAINNAME)/g' \ -e 's/@''GNULIB_GETDTABLESIZE''@/$(GL_GNULIB_GETDTABLESIZE)/g' \ @@ -3395,8 +3525,9 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's/@''GNULIB_MDA_SWAB''@/$(GL_GNULIB_MDA_SWAB)/g' \ -e 's/@''GNULIB_MDA_UNLINK''@/$(GL_GNULIB_MDA_UNLINK)/g' \ -e 's/@''GNULIB_MDA_WRITE''@/$(GL_GNULIB_MDA_WRITE)/g' \ - < $(srcdir)/unistd.in.h | \ - sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ + < $@-t1 > $@-t2 + $(AM_V_at)sed \ + -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \ -e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \ -e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \ -e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \ @@ -3443,13 +3574,15 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \ -e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \ - | \ - sed -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \ + < $@-t2 > $@-t3 + $(AM_V_at)sed \ + -e 's|@''REPLACE_ACCESS''@|$(REPLACE_ACCESS)|g' \ -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \ -e 's|@''REPLACE_CLOSE''@|$(REPLACE_CLOSE)|g' \ -e 's|@''REPLACE_COPY_FILE_RANGE''@|$(REPLACE_COPY_FILE_RANGE)|g' \ -e 's|@''REPLACE_DUP''@|$(REPLACE_DUP)|g' \ -e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \ + -e 's|@''REPLACE_DUP3''@|$(REPLACE_DUP3)|g' \ -e 's|@''REPLACE_EXECL''@|$(REPLACE_EXECL)|g' \ -e 's|@''REPLACE_EXECLE''@|$(REPLACE_EXECLE)|g' \ -e 's|@''REPLACE_EXECLP''@|$(REPLACE_EXECLP)|g' \ @@ -3458,11 +3591,14 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''REPLACE_EXECVP''@|$(REPLACE_EXECVP)|g' \ -e 's|@''REPLACE_EXECVPE''@|$(REPLACE_EXECVPE)|g' \ -e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \ + -e 's|@''REPLACE_FCHDIR''@|$(REPLACE_FCHDIR)|g' \ -e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \ + -e 's|@''REPLACE_FDATASYNC''@|$(REPLACE_FDATASYNC)|g' \ -e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \ -e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \ -e 's|@''REPLACE_GETDOMAINNAME''@|$(REPLACE_GETDOMAINNAME)|g' \ -e 's|@''REPLACE_GETDTABLESIZE''@|$(REPLACE_GETDTABLESIZE)|g' \ + -e 's|@''REPLACE_GETENTROPY''@|$(REPLACE_GETENTROPY)|g' \ -e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \ -e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \ @@ -3473,12 +3609,14 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \ -e 's|@''REPLACE_LINKAT''@|$(REPLACE_LINKAT)|g' \ -e 's|@''REPLACE_LSEEK''@|$(REPLACE_LSEEK)|g' \ + -e 's|@''REPLACE_PIPE2''@|$(REPLACE_PIPE2)|g' \ -e 's|@''REPLACE_PREAD''@|$(REPLACE_PREAD)|g' \ -e 's|@''REPLACE_PWRITE''@|$(REPLACE_PWRITE)|g' \ -e 's|@''REPLACE_READ''@|$(REPLACE_READ)|g' \ -e 's|@''REPLACE_READLINK''@|$(REPLACE_READLINK)|g' \ -e 's|@''REPLACE_READLINKAT''@|$(REPLACE_READLINKAT)|g' \ -e 's|@''REPLACE_RMDIR''@|$(REPLACE_RMDIR)|g' \ + -e 's|@''REPLACE_SETHOSTNAME''@|$(REPLACE_SETHOSTNAME)|g' \ -e 's|@''REPLACE_SLEEP''@|$(REPLACE_SLEEP)|g' \ -e 's|@''REPLACE_SYMLINK''@|$(REPLACE_SYMLINK)|g' \ -e 's|@''REPLACE_SYMLINKAT''@|$(REPLACE_SYMLINKAT)|g' \ @@ -3494,8 +3632,9 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - > $@-t - $(AM_V_at)mv $@-t $@ + < $@-t3 > $@-t4 + $(AM_V_at)rm -f $@-t1 $@-t2 $@-t3 + $(AM_V_at)mv $@-t4 $@ @gl_GNULIB_ENABLED_9c4a70804d24b83657b84f487eb93a64_TRUE@unistr.h: unistr.in.h @gl_GNULIB_ENABLED_9c4a70804d24b83657b84f487eb93a64_TRUE@ $(gl_V_at)$(SED_HEADER_TO_AT_t) $(srcdir)/unistr.in.h @@ -3521,6 +3660,7 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's/@''GNULIB_BTOWC''@/$(GL_GNULIB_BTOWC)/g' \ -e 's/@''GNULIB_WCTOB''@/$(GL_GNULIB_WCTOB)/g' \ -e 's/@''GNULIB_MBSINIT''@/$(GL_GNULIB_MBSINIT)/g' \ + -e 's/@''GNULIB_MBSZERO''@/$(GL_GNULIB_MBSZERO)/g' \ -e 's/@''GNULIB_MBRTOWC''@/$(GL_GNULIB_MBRTOWC)/g' \ -e 's/@''GNULIB_MBRLEN''@/$(GL_GNULIB_MBRLEN)/g' \ -e 's/@''GNULIB_MBSRTOWCS''@/$(GL_GNULIB_MBSRTOWCS)/g' \ @@ -3559,10 +3699,12 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's/@''GNULIB_WCSTOK''@/$(GL_GNULIB_WCSTOK)/g' \ -e 's/@''GNULIB_WCSWIDTH''@/$(GL_GNULIB_WCSWIDTH)/g' \ -e 's/@''GNULIB_WCSFTIME''@/$(GL_GNULIB_WCSFTIME)/g' \ + -e 's/@''GNULIB_WGETCWD''@/$(GL_GNULIB_WGETCWD)/g' \ -e 's/@''GNULIB_MDA_WCSDUP''@/$(GL_GNULIB_MDA_WCSDUP)/g' \ -e 's/@''GNULIB_FREE_POSIX''@/$(GL_GNULIB_FREE_POSIX)/g' \ - < $(srcdir)/wchar.in.h | \ - sed -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ + < $(srcdir)/wchar.in.h > $@-t1 + $(AM_V_at)sed \ + -e 's|@''HAVE_WINT_T''@|$(HAVE_WINT_T)|g' \ -e 's|@''HAVE_BTOWC''@|$(HAVE_BTOWC)|g' \ -e 's|@''HAVE_MBSINIT''@|$(HAVE_MBSINIT)|g' \ -e 's|@''HAVE_MBRTOWC''@|$(HAVE_MBRTOWC)|g' \ @@ -3605,8 +3747,9 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's|@''HAVE_DECL_WCTOB''@|$(HAVE_DECL_WCTOB)|g' \ -e 's|@''HAVE_DECL_WCSDUP''@|$(HAVE_DECL_WCSDUP)|g' \ -e 's|@''HAVE_DECL_WCWIDTH''@|$(HAVE_DECL_WCWIDTH)|g' \ - | \ - sed -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ + < $@-t1 > $@-t2 + $(AM_V_at)sed \ + -e 's|@''REPLACE_MBSTATE_T''@|$(REPLACE_MBSTATE_T)|g' \ -e 's|@''REPLACE_BTOWC''@|$(REPLACE_BTOWC)|g' \ -e 's|@''REPLACE_WCTOB''@|$(REPLACE_WCTOB)|g' \ -e 's|@''REPLACE_FREE''@|$(REPLACE_FREE)|g' \ @@ -3621,16 +3764,22 @@ wchar.h: wchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) -e 's|@''REPLACE_WCWIDTH''@|$(REPLACE_WCWIDTH)|g' \ -e 's|@''REPLACE_WCSWIDTH''@|$(REPLACE_WCSWIDTH)|g' \ -e 's|@''REPLACE_WCSFTIME''@|$(REPLACE_WCSFTIME)|g' \ + -e 's|@''REPLACE_WCSCMP''@|$(REPLACE_WCSCMP)|g' \ + -e 's|@''REPLACE_WCSNCMP''@|$(REPLACE_WCSNCMP)|g' \ + -e 's|@''REPLACE_WCSSTR''@|$(REPLACE_WCSSTR)|g' \ -e 's|@''REPLACE_WCSTOK''@|$(REPLACE_WCSTOK)|g' \ + -e 's|@''REPLACE_WMEMCMP''@|$(REPLACE_WMEMCMP)|g' \ + -e 's|@''REPLACE_WMEMPCPY''@|$(REPLACE_WMEMPCPY)|g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ - > $@-t - $(AM_V_at)mv $@-t $@ + < $@-t2 > $@-t3 + $(AM_V_at)rm -f $@-t1 $@-t2 + $(AM_V_at)mv $@-t3 $@ # We need the following in order to create when the system # doesn't have one that works with the given compiler. -wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) +wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H) $(gl_V_at)$(SED_HEADER_STDOUT) \ -e 's|@''GUARD_PREFIX''@|GL|g' \ -e 's/@''HAVE_WCTYPE_H''@/$(HAVE_WCTYPE_H)/g' \ @@ -3642,6 +3791,7 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H -e 's/@''GNULIBHEADERS_OVERRIDE_WINT_T''@/$(GNULIBHEADERS_OVERRIDE_WINT_T)/g' \ -e 's/@''GNULIB_ISWBLANK''@/$(GL_GNULIB_ISWBLANK)/g' \ -e 's/@''GNULIB_ISWDIGIT''@/$(GL_GNULIB_ISWDIGIT)/g' \ + -e 's/@''GNULIB_ISWPUNCT''@/$(GL_GNULIB_ISWPUNCT)/g' \ -e 's/@''GNULIB_ISWXDIGIT''@/$(GL_GNULIB_ISWXDIGIT)/g' \ -e 's/@''GNULIB_WCTYPE''@/$(GL_GNULIB_WCTYPE)/g' \ -e 's/@''GNULIB_ISWCTYPE''@/$(GL_GNULIB_ISWCTYPE)/g' \ @@ -3654,10 +3804,14 @@ wctype.h: wctype.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H -e 's/@''HAVE_WINT_T''@/$(HAVE_WINT_T)/g' \ -e 's/@''REPLACE_ISWBLANK''@/$(REPLACE_ISWBLANK)/g' \ -e 's/@''REPLACE_ISWDIGIT''@/$(REPLACE_ISWDIGIT)/g' \ + -e 's/@''REPLACE_ISWPUNCT''@/$(REPLACE_ISWPUNCT)/g' \ -e 's/@''REPLACE_ISWXDIGIT''@/$(REPLACE_ISWXDIGIT)/g' \ -e 's/@''REPLACE_ISWCNTRL''@/$(REPLACE_ISWCNTRL)/g' \ -e 's/@''REPLACE_TOWLOWER''@/$(REPLACE_TOWLOWER)/g' \ + -e 's/@''REPLACE_WCTRANS''@/$(REPLACE_WCTRANS)/g' \ + -e 's/@''REPLACE_WCTYPE''@/$(REPLACE_WCTYPE)/g' \ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \ + -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \ $(srcdir)/wctype.in.h > $@-t $(AM_V_at)mv $@-t $@ diff --git a/lib/_Noreturn.h b/lib/_Noreturn.h index e914627..7326bd4 100644 --- a/lib/_Noreturn.h +++ b/lib/_Noreturn.h @@ -1,5 +1,5 @@ /* A C macro for declaring that a function does not return. - Copyright (C) 2011-2022 Free Software Foundation, Inc. + Copyright (C) 2011-2024 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published @@ -26,6 +26,11 @@ AIX system header files and several gnulib header files use precisely this syntax with 'extern'. */ # define _Noreturn [[noreturn]] +# elif (defined __clang__ && __clang_major__ < 16 \ + && defined _GL_WORK_AROUND_LLVM_BUG_59792) + /* Compile with -D_GL_WORK_AROUND_LLVM_BUG_59792 to work around + that rare LLVM bug, though you may get many false-alarm warnings. */ +# define _Noreturn # elif ((!defined __cplusplus || defined __clang__) \ && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ || (!defined __STRICT_ANSI__ \ diff --git a/lib/arg-nonnull.h b/lib/arg-nonnull.h index e4513ef..46c711c 100644 --- a/lib/arg-nonnull.h +++ b/lib/arg-nonnull.h @@ -1,5 +1,5 @@ /* A C macro for declaring that specific arguments must not be NULL. - Copyright (C) 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2009-2024 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published diff --git a/lib/assert.in.h b/lib/assert.in.h new file mode 100644 index 0000000..6e4995e --- /dev/null +++ b/lib/assert.in.h @@ -0,0 +1,27 @@ +/* Substitute for and wrapper around + Copyright (C) 2011-2024 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Do not guard the include, since is supposed to define + the assert macro each time it is included. */ + +#if __GNUC__ >= 3 +@PRAGMA_SYSTEM_HEADER@ +#endif +@PRAGMA_COLUMNS@ + +#@INCLUDE_NEXT@ @NEXT_ASSERT_H@ + +/* The definition of static_assert is copied here. */ diff --git a/lib/attribute.h b/lib/attribute.h index 378d4f0..710341b 100644 --- a/lib/attribute.h +++ b/lib/attribute.h @@ -1,6 +1,6 @@ /* ATTRIBUTE_* macros for using attributes in GCC and similar compilers - Copyright 2020-2022 Free Software Foundation, Inc. + Copyright 2020-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -32,7 +32,7 @@ /* This file defines two types of attributes: - * C2x standard attributes. These have macro names that do not begin with + * C23 standard attributes. These have macro names that do not begin with 'ATTRIBUTE_'. * Selected GCC attributes; see: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html @@ -41,6 +41,21 @@ These names begin with 'ATTRIBUTE_' to avoid name clashes. */ +/* This file uses _GL_ATTRIBUTE_ALLOC_SIZE, _GL_ATTRIBUTE_ALWAYS_INLINE, + _GL_ATTRIBUTE_ARTIFICIAL, _GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_CONST, + _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR, + _GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE, + _GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_LEAF, + _GL_ATTRIBUTE_MALLOC, _GL_ATTRIBUTE_MAY_ALIAS, _GL_ATTRIBUTE_MAYBE_UNUSED, + _GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE, _GL_ATTRIBUTE_NONNULL, + _GL_ATTRIBUTE_NONSTRING, _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, + _GL_ATTRIBUTE_PURE, _GL_ATTRIBUTE_RETURNS_NONNULL, + _GL_ATTRIBUTE_SENTINEL. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + + /* =============== Attributes for specific kinds of functions =============== */ /* Attributes for functions that should not be used. */ @@ -167,6 +182,8 @@ /* The function does not throw exceptions. */ /* Applies to: functions. */ +/* After a function's parameter list, this attribute must come first, before + other attributes. */ #define ATTRIBUTE_NOTHROW _GL_ATTRIBUTE_NOTHROW /* Do not inline the function. */ diff --git a/lib/btowc.c b/lib/btowc.c index 4af58bb..8bf21aa 100644 --- a/lib/btowc.c +++ b/lib/btowc.c @@ -1,5 +1,5 @@ /* Convert unibyte character to wide character. - Copyright (C) 2008, 2010-2022 Free Software Foundation, Inc. + Copyright (C) 2008, 2010-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This file is free software: you can redistribute it and/or modify @@ -22,6 +22,7 @@ #include #include +#include wint_t btowc (int c) @@ -32,7 +33,14 @@ btowc (int c) wchar_t wc; buf[0] = c; +#if HAVE_MBRTOWC + mbstate_t state; + mbszero (&state); + size_t ret = mbrtowc (&wc, buf, 1, &state); + if (!(ret == (size_t)(-1) || ret == (size_t)(-2))) +#else if (mbtowc (&wc, buf, 1) >= 0) +#endif return wc; } return WEOF; diff --git a/lib/c++defs.h b/lib/c++defs.h index ad18155..eb66967 100644 --- a/lib/c++defs.h +++ b/lib/c++defs.h @@ -1,5 +1,5 @@ /* C++ compatible function declaration macros. - Copyright (C) 2010-2022 Free Software Foundation, Inc. + Copyright (C) 2010-2024 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published @@ -99,6 +99,12 @@ Example: _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...) _GL_ARG_NONNULL ((1))); + + Note: Attributes, such as _GL_ATTRIBUTE_DEPRECATED, are supported in front + of a _GL_FUNCDECL_RPL invocation only in C mode, not in C++ mode. (That's + because + [[...]] extern "C" ; + is invalid syntax in C++.) */ #define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \ _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes) diff --git a/lib/c-ctype.c b/lib/c-ctype.c index a247514..d3f1b12 100644 --- a/lib/c-ctype.c +++ b/lib/c-ctype.c @@ -1,6 +1,6 @@ /* Character handling in C locale. - Copyright (C) 2003-2022 Free Software Foundation, Inc. + Copyright (C) 2003-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/c-ctype.h b/lib/c-ctype.h index 1a4f603..b582de4 100644 --- a/lib/c-ctype.h +++ b/lib/c-ctype.h @@ -5,7 +5,7 @@ functions' behaviour depends on the current locale set via setlocale. - Copyright (C) 2000-2003, 2006, 2008-2022 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2006, 2008-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -23,11 +23,11 @@ #ifndef C_CTYPE_H #define C_CTYPE_H -#include - -#ifndef _GL_INLINE_HEADER_BEGIN +/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE. */ +#if !_GL_CONFIG_H_INCLUDED #error "Please include config.h first." #endif + _GL_INLINE_HEADER_BEGIN #ifndef C_CTYPE_INLINE # define C_CTYPE_INLINE _GL_INLINE diff --git a/lib/c-strcase.h b/lib/c-strcase.h index 3e874b5..b75e8dd 100644 --- a/lib/c-strcase.h +++ b/lib/c-strcase.h @@ -1,5 +1,5 @@ /* Case-insensitive string comparison functions in C locale. - Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2022 Free Software + Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify @@ -18,6 +18,11 @@ #ifndef C_STRCASE_H #define C_STRCASE_H +/* This file uses _GL_ATTRIBUTE_PURE. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + #include diff --git a/lib/c-strcasecmp.c b/lib/c-strcasecmp.c index 87b993c..1fa575a 100644 --- a/lib/c-strcasecmp.c +++ b/lib/c-strcasecmp.c @@ -1,5 +1,5 @@ /* c-strcasecmp.c -- case insensitive string comparator in C locale - Copyright (C) 1998-1999, 2005-2006, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2006, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/c-strncasecmp.c b/lib/c-strncasecmp.c index 5a5d30b..4c8b0b6 100644 --- a/lib/c-strncasecmp.c +++ b/lib/c-strncasecmp.c @@ -1,5 +1,5 @@ /* c-strncasecmp.c -- case insensitive string comparator in C locale - Copyright (C) 1998-1999, 2005-2006, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 1998-1999, 2005-2006, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/crc.c b/lib/crc.c index 3f4d457..0216932 100644 --- a/lib/crc.c +++ b/lib/crc.c @@ -1,5 +1,5 @@ /* crc.c -- cyclic redundancy checks - Copyright (C) 2005-2006, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/crc.h b/lib/crc.h index c0345aa..7312443 100644 --- a/lib/crc.h +++ b/lib/crc.h @@ -1,5 +1,5 @@ /* crc.h -- cyclic redundancy checks - Copyright (C) 2005, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/free.c b/lib/free.c index 86ebe6c..2f0c40b 100644 --- a/lib/free.c +++ b/lib/free.c @@ -1,6 +1,6 @@ /* Make free() preserve errno. - Copyright (C) 2003, 2006, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2003, 2006, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/getopt-cdefs.in.h b/lib/getopt-cdefs.in.h index b6dd913..a1d304d 100644 --- a/lib/getopt-cdefs.in.h +++ b/lib/getopt-cdefs.in.h @@ -1,5 +1,5 @@ /* getopt-on-non-glibc compatibility macros. - Copyright (C) 1989-2022 Free Software Foundation, Inc. + Copyright (C) 1989-2024 Free Software Foundation, Inc. This file is part of gnulib. Unlike most of the getopt implementation, it is NOT shared with the GNU C Library. @@ -57,7 +57,11 @@ #ifndef __THROW # if defined __cplusplus && (__GNUC_PREREQ (2,8) || __clang_major__ >= 4) -# define __THROW throw () +# if __cplusplus >= 201103L +# define __THROW noexcept (true) +# else +# define __THROW throw () +# endif # else # define __THROW # endif diff --git a/lib/getopt-core.h b/lib/getopt-core.h index 1c40ecc..12d09a2 100644 --- a/lib/getopt-core.h +++ b/lib/getopt-core.h @@ -1,5 +1,5 @@ /* Declarations for getopt (basic, portable features only). - Copyright (C) 1989-2022 Free Software Foundation, Inc. + Copyright (C) 1989-2024 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. diff --git a/lib/getopt-ext.h b/lib/getopt-ext.h index d661fcc..e4b499d 100644 --- a/lib/getopt-ext.h +++ b/lib/getopt-ext.h @@ -1,5 +1,5 @@ /* Declarations for getopt (GNU extensions). - Copyright (C) 1989-2022 Free Software Foundation, Inc. + Copyright (C) 1989-2024 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. diff --git a/lib/getopt-pfx-core.h b/lib/getopt-pfx-core.h index 3eead0e..78b7816 100644 --- a/lib/getopt-pfx-core.h +++ b/lib/getopt-pfx-core.h @@ -1,5 +1,5 @@ /* getopt (basic, portable features) gnulib wrapper header. - Copyright (C) 1989-2022 Free Software Foundation, Inc. + Copyright (C) 1989-2024 Free Software Foundation, Inc. This file is part of gnulib. Unlike most of the getopt implementation, it is NOT shared with the GNU C Library. @@ -47,7 +47,7 @@ # define optind __GETOPT_ID (optind) # define optopt __GETOPT_ID (optopt) -/* Work around a a problem on macOS, which declares getopt with a +/* Work around a problem on macOS, which declares getopt with a trailing __DARWIN_ALIAS(getopt) that would expand to something like __asm("_" "rpl_getopt" "$UNIX2003") were it not for the following hack to suppress the macOS declaration . */ diff --git a/lib/getopt-pfx-ext.h b/lib/getopt-pfx-ext.h index 85a6cb5..f001c11 100644 --- a/lib/getopt-pfx-ext.h +++ b/lib/getopt-pfx-ext.h @@ -1,5 +1,5 @@ /* getopt (GNU extensions) gnulib wrapper header. - Copyright (C) 1989-2022 Free Software Foundation, Inc. + Copyright (C) 1989-2024 Free Software Foundation, Inc. This file is part of gnulib. Unlike most of the getopt implementation, it is NOT shared with the GNU C Library. diff --git a/lib/getopt.c b/lib/getopt.c index 128dc7f..9283063 100644 --- a/lib/getopt.c +++ b/lib/getopt.c @@ -1,5 +1,5 @@ /* Getopt for GNU. - Copyright (C) 1987-2022 Free Software Foundation, Inc. + Copyright (C) 1987-2024 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. @@ -21,7 +21,7 @@ # include #endif -#include "getopt.h" +#include #include #include @@ -223,8 +223,9 @@ process_long_option (int argc, char **argv, const char *optstring, { /* Didn't find an exact match, so look for abbreviations. */ unsigned char *ambig_set = NULL; - int ambig_malloced = 0; - int ambig_fallback = 0; + /* Use simpler fallback diagnostic if ambig_set == &ambig_fallback. */ + unsigned char ambig_fallback; + void *ambig_malloced = NULL; int indfound = -1; for (p = longopts, option_index = 0; p->name; p++, option_index++) @@ -242,23 +243,26 @@ process_long_option (int argc, char **argv, const char *optstring, || pfound->val != p->val) { /* Second or later nonexact match found. */ - if (!ambig_fallback) + if (ambig_set != &ambig_fallback) { if (!print_errors) /* Don't waste effort tracking the ambig set if we're not going to print it anyway. */ - ambig_fallback = 1; + ambig_set = &ambig_fallback; else if (!ambig_set) { if (__libc_use_alloca (n_options)) ambig_set = alloca (n_options); - else if ((ambig_set = malloc (n_options)) == NULL) - /* Fall back to simpler error message. */ - ambig_fallback = 1; else - ambig_malloced = 1; + { + ambig_malloced = malloc (n_options); + /* Fall back to simpler diagnostic if + memory allocation fails. */ + ambig_set = (ambig_malloced ? ambig_malloced + : &ambig_fallback); + } - if (ambig_set) + if (ambig_set != &ambig_fallback) { memset (ambig_set, 0, n_options); ambig_set[indfound] = 1; @@ -270,11 +274,11 @@ process_long_option (int argc, char **argv, const char *optstring, } } - if (ambig_set || ambig_fallback) + if (ambig_set) { if (print_errors) { - if (ambig_fallback) + if (ambig_set == &ambig_fallback) fprintf (stderr, _("%s: option '%s%s' is ambiguous\n"), argv[0], prefix, d->__nextchar); else @@ -296,8 +300,7 @@ process_long_option (int argc, char **argv, const char *optstring, funlockfile (stderr); } } - if (ambig_malloced) - free (ambig_set); + free (ambig_malloced); d->__nextchar += strlen (d->__nextchar); d->optind++; d->optopt = 0; diff --git a/lib/getopt.in.h b/lib/getopt.in.h index 9bc50ee..c2411a7 100644 --- a/lib/getopt.in.h +++ b/lib/getopt.in.h @@ -1,5 +1,5 @@ /* Declarations for getopt. - Copyright (C) 1989-2022 Free Software Foundation, Inc. + Copyright (C) 1989-2024 Free Software Foundation, Inc. This file is part of gnulib. Unlike most of the getopt implementation, it is NOT shared with the GNU C Library, which supplies a different version of diff --git a/lib/getopt1.c b/lib/getopt1.c index 990eee1..c42d29f 100644 --- a/lib/getopt1.c +++ b/lib/getopt1.c @@ -1,5 +1,5 @@ /* getopt_long and getopt_long_only entry points for GNU getopt. - Copyright (C) 1987-2022 Free Software Foundation, Inc. + Copyright (C) 1987-2024 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. @@ -21,7 +21,7 @@ # include #endif -#include "getopt.h" +#include #include "getopt_int.h" int diff --git a/lib/getopt_int.h b/lib/getopt_int.h index ccdbb97..c00c0b6 100644 --- a/lib/getopt_int.h +++ b/lib/getopt_int.h @@ -1,5 +1,5 @@ /* Internal declarations for getopt. - Copyright (C) 1989-2022 Free Software Foundation, Inc. + Copyright (C) 1989-2024 Free Software Foundation, Inc. This file is part of the GNU C Library and is also part of gnulib. Patches to this file should be submitted to both projects. diff --git a/lib/gettext.h b/lib/gettext.h index b3577a0..39d5ae4 100644 --- a/lib/gettext.h +++ b/lib/gettext.h @@ -1,5 +1,5 @@ /* Convenience header for conditional use of GNU . - Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2022 Free Software + Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify diff --git a/lib/gettimeofday.c b/lib/gettimeofday.c index 36c7920..8dd26f7 100644 --- a/lib/gettimeofday.c +++ b/lib/gettimeofday.c @@ -1,6 +1,6 @@ /* Provide gettimeofday for systems that don't have it or for which it's broken. - Copyright (C) 2001-2003, 2005-2007, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2001-2003, 2005-2007, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -113,8 +113,10 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz) ULONGLONG since_1970 = since_1601 - (ULONGLONG) 134774 * (ULONGLONG) 86400 * (ULONGLONG) 10000000; ULONGLONG microseconds_since_1970 = since_1970 / (ULONGLONG) 10; - tv->tv_sec = microseconds_since_1970 / (ULONGLONG) 1000000; - tv->tv_usec = microseconds_since_1970 % (ULONGLONG) 1000000; + *tv = (struct timeval) { + .tv_sec = microseconds_since_1970 / (ULONGLONG) 1000000, + .tv_usec = microseconds_since_1970 % (ULONGLONG) 1000000 + }; return 0; @@ -127,10 +129,7 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz) struct timeval otv; int result = gettimeofday (&otv, (struct timezone *) tz); if (result == 0) - { - tv->tv_sec = otv.tv_sec; - tv->tv_usec = otv.tv_usec; - } + *tv = otv; # else int result = gettimeofday (tv, (struct timezone *) tz); # endif @@ -143,8 +142,7 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz) # error "Only 1-second nominal clock resolution found. Is that intended?" \ "If so, compile with the -DOK_TO_USE_1S_CLOCK option." # endif - tv->tv_sec = time (NULL); - tv->tv_usec = 0; + *tv = (struct timeval) { .tv_sec = time (NULL), .tv_usec = 0 }; return 0; diff --git a/lib/hard-locale.c b/lib/hard-locale.c index f7fbc47..653c580 100644 --- a/lib/hard-locale.c +++ b/lib/hard-locale.c @@ -1,6 +1,6 @@ /* hard-locale.c -- Determine whether a locale is hard. - Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2022 Free Software + Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify @@ -21,6 +21,7 @@ #include "hard-locale.h" #include +#include #include bool @@ -31,5 +32,16 @@ hard_locale (int category) if (setlocale_null_r (category, locale, sizeof (locale))) return false; - return !(strcmp (locale, "C") == 0 || strcmp (locale, "POSIX") == 0); + if (!(strcmp (locale, "C") == 0 || strcmp (locale, "POSIX") == 0)) + return true; + +#if defined __ANDROID__ + /* On Android 5.0 or newer, it is possible to set a locale that has the same + name as the "C" locale but in fact uses UTF-8 encoding. Cf. test case 2 in + . */ + if (MB_CUR_MAX > 1) + return true; +#endif + + return false; } diff --git a/lib/hard-locale.h b/lib/hard-locale.h index 6066f4e..21c5c54 100644 --- a/lib/hard-locale.h +++ b/lib/hard-locale.h @@ -1,6 +1,6 @@ /* Determine whether a locale is hard. - Copyright (C) 1999, 2003-2004, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 1999, 2003-2004, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -18,11 +18,11 @@ #ifndef HARD_LOCALE_H_ # define HARD_LOCALE_H_ 1 -# include - /* Return true if the specified CATEGORY of the current locale is hard, i.e. different from the C or POSIX locale that has a fixed behavior. - CATEGORY must be one of the LC_* values, but not LC_ALL. */ + CATEGORY must be one of the LC_* values, but not LC_ALL. + Note: This function uses the current global locale; it ignores the + per-thread locale. */ extern bool hard_locale (int category); #endif /* HARD_LOCALE_H_ */ diff --git a/lib/iconv.c b/lib/iconv.c index efab53d..310f404 100644 --- a/lib/iconv.c +++ b/lib/iconv.c @@ -1,5 +1,5 @@ /* Character set conversion. - Copyright (C) 1999-2001, 2007, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 1999-2001, 2007, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/iconv.in.h b/lib/iconv.in.h index 4c5a31c..9e41e41 100644 --- a/lib/iconv.in.h +++ b/lib/iconv.in.h @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright (C) 2007-2022 Free Software Foundation, Inc. + Copyright (C) 2007-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -28,6 +28,11 @@ #ifndef _@GUARD_PREFIX@_ICONV_H #define _@GUARD_PREFIX@_ICONV_H +/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ diff --git a/lib/iconv_close.c b/lib/iconv_close.c index 2d7fb17..692cbb8 100644 --- a/lib/iconv_close.c +++ b/lib/iconv_close.c @@ -1,5 +1,5 @@ /* Character set conversion. - Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/iconv_open-aix.gperf b/lib/iconv_open-aix.gperf index 024da21..55cccd0 100644 --- a/lib/iconv_open-aix.gperf +++ b/lib/iconv_open-aix.gperf @@ -1,5 +1,5 @@ /* Character set conversion. - Copyright (C) 2007, 2020-2022 Free Software Foundation, Inc. + Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/iconv_open-hpux.gperf b/lib/iconv_open-hpux.gperf index 1205750..ddf51e3 100644 --- a/lib/iconv_open-hpux.gperf +++ b/lib/iconv_open-hpux.gperf @@ -1,5 +1,5 @@ /* Character set conversion. - Copyright (C) 2007, 2020-2022 Free Software Foundation, Inc. + Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/iconv_open-irix.gperf b/lib/iconv_open-irix.gperf index 92a2689..cd0ad54 100644 --- a/lib/iconv_open-irix.gperf +++ b/lib/iconv_open-irix.gperf @@ -1,5 +1,5 @@ /* Character set conversion. - Copyright (C) 2007, 2020-2022 Free Software Foundation, Inc. + Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/iconv_open-osf.gperf b/lib/iconv_open-osf.gperf index 746f563..417f7e3 100644 --- a/lib/iconv_open-osf.gperf +++ b/lib/iconv_open-osf.gperf @@ -1,5 +1,5 @@ /* Character set conversion. - Copyright (C) 2007, 2020-2022 Free Software Foundation, Inc. + Copyright (C) 2007, 2020-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/iconv_open-solaris.gperf b/lib/iconv_open-solaris.gperf index fbd6f9d..d5411de 100644 --- a/lib/iconv_open-solaris.gperf +++ b/lib/iconv_open-solaris.gperf @@ -1,5 +1,5 @@ /* Character set conversion. - Copyright (C) 2007, 2009, 2020-2022 Free Software Foundation, Inc. + Copyright (C) 2007, 2009, 2020-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/iconv_open-zos.gperf b/lib/iconv_open-zos.gperf index 6912485..a7fc3dc 100644 --- a/lib/iconv_open-zos.gperf +++ b/lib/iconv_open-zos.gperf @@ -1,5 +1,5 @@ /* Character set conversion. - Copyright (C) 2019-2022 Free Software Foundation, Inc. + Copyright (C) 2019-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/iconv_open.c b/lib/iconv_open.c index 02c240e..2be02ef 100644 --- a/lib/iconv_open.c +++ b/lib/iconv_open.c @@ -1,5 +1,5 @@ /* Character set conversion. - Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/inttypes.in.h b/lib/inttypes.in.h index 853eca0..b9ab8a4 100644 --- a/lib/inttypes.in.h +++ b/lib/inttypes.in.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2006-2022 Free Software Foundation, Inc. +/* Copyright (C) 2006-2024 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Derek Price. This file is part of gnulib. @@ -46,6 +46,11 @@ #if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H #define INTTYPES_H +/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + /* Include or the gnulib replacement. But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ @@ -903,8 +908,21 @@ extern "C" { #endif #if @GNULIB_IMAXABS@ -# if !@HAVE_DECL_IMAXABS@ -extern intmax_t imaxabs (intmax_t); +# if @REPLACE_IMAXABS@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef imaxabs +# define imaxabs rpl_imaxabs +# endif +_GL_FUNCDECL_RPL (imaxabs, intmax_t, (intmax_t x)); +_GL_CXXALIAS_RPL (imaxabs, intmax_t, (intmax_t x)); +# else +# if !@HAVE_DECL_IMAXABS@ +_GL_FUNCDECL_SYS (imaxabs, intmax_t, (intmax_t x)); +# endif +_GL_CXXALIAS_SYS (imaxabs, intmax_t, (intmax_t x)); +# endif +# if __GLIBC__ >= 2 +_GL_CXXALIASWARN (imaxabs); # endif #elif defined GNULIB_POSIXCHECK # undef imaxabs @@ -921,8 +939,21 @@ typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; # define GNULIB_defined_imaxdiv_t 1 # endif # endif -# if !@HAVE_DECL_IMAXDIV@ -extern imaxdiv_t imaxdiv (intmax_t, intmax_t); +# if @REPLACE_IMAXDIV@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef imaxdiv +# define imaxdiv rpl_imaxdiv +# endif +_GL_FUNCDECL_RPL (imaxdiv, imaxdiv_t, (intmax_t numer, intmax_t denom)); +_GL_CXXALIAS_RPL (imaxdiv, imaxdiv_t, (intmax_t numer, intmax_t denom)); +# else +# if !@HAVE_DECL_IMAXDIV@ +_GL_FUNCDECL_SYS (imaxdiv, imaxdiv_t, (intmax_t numer, intmax_t denom)); +# endif +_GL_CXXALIAS_SYS (imaxdiv, imaxdiv_t, (intmax_t numer, intmax_t denom)); +# endif +# if __GLIBC__ >= 2 +_GL_CXXALIASWARN (imaxdiv); # endif #elif defined GNULIB_POSIXCHECK # undef imaxdiv diff --git a/lib/lc-charset-dispatch.c b/lib/lc-charset-dispatch.c index 66d78fd..e2f8b2f 100644 --- a/lib/lc-charset-dispatch.c +++ b/lib/lc-charset-dispatch.c @@ -1,5 +1,5 @@ /* Dispatching based on the current locale's character encoding. - Copyright (C) 2018-2022 Free Software Foundation, Inc. + Copyright (C) 2018-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/lc-charset-dispatch.h b/lib/lc-charset-dispatch.h index 3867c32..4c1cf5f 100644 --- a/lib/lc-charset-dispatch.h +++ b/lib/lc-charset-dispatch.h @@ -1,5 +1,5 @@ /* Dispatching based on the current locale's character encoding. - Copyright (C) 2018-2022 Free Software Foundation, Inc. + Copyright (C) 2018-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/limits.in.h b/lib/limits.in.h index b77bf75..236fc58 100644 --- a/lib/limits.in.h +++ b/lib/limits.in.h @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright 2016-2022 Free Software Foundation, Inc. + Copyright 2016-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -99,7 +99,12 @@ # endif #endif -/* Macros specified by C2x and by ISO/IEC TS 18661-1:2014. */ +/* Assume no multibyte character is longer than 16 bytes. */ +#ifndef MB_LEN_MAX +# define MB_LEN_MAX 16 +#endif + +/* Macros specified by C23 and by ISO/IEC TS 18661-1:2014. */ #if (! defined ULLONG_WIDTH \ && (defined _GNU_SOURCE || defined __STDC_WANT_IEC_60559_BFP_EXT__ \ @@ -117,13 +122,28 @@ # define ULLONG_WIDTH _GL_INTEGER_WIDTH (0, ULLONG_MAX) #endif -/* Macros specified by C2x. */ +/* Macros specified by C23. */ -#if (! defined BOOL_WIDTH \ - && (defined _GNU_SOURCE \ - || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__))) -# define BOOL_MAX 1 -# define BOOL_WIDTH 1 +#if (defined _GNU_SOURCE \ + || (defined __STDC_VERSION__ && 201710 < __STDC_VERSION__)) +# if ! defined BOOL_WIDTH +# define BOOL_WIDTH 1 +# define BOOL_MAX 1 +# elif ! defined BOOL_MAX +# define BOOL_MAX ((((1U << (BOOL_WIDTH - 1)) - 1) << 1) + 1) +# endif +#endif + +/* Macro specified by POSIX. */ + +/* The maximum ssize_t value. Although it might not be of ssize_t type + as it should be, it's too much trouble to fix this minor detail. */ +#ifndef SSIZE_MAX +# ifdef _WIN64 +# define SSIZE_MAX LLONG_MAX +# else +# define SSIZE_MAX LONG_MAX +# endif #endif #endif /* _@GUARD_PREFIX@_LIMITS_H */ diff --git a/lib/localcharset.c b/lib/localcharset.c index 17a4a1e..93c4baa 100644 --- a/lib/localcharset.c +++ b/lib/localcharset.c @@ -1,6 +1,6 @@ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2006, 2008-2022 Free Software Foundation, Inc. + Copyright (C) 2000-2006, 2008-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -1054,7 +1054,7 @@ locale_charset (void) } } if (0) - done_table_lookup: ; + done_table_lookup: {} else # endif { diff --git a/lib/localcharset.h b/lib/localcharset.h index 62efbf3..4721402 100644 --- a/lib/localcharset.h +++ b/lib/localcharset.h @@ -1,5 +1,5 @@ /* Determine a canonical name for the current locale's character encoding. - Copyright (C) 2000-2003, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2000-2003, 2009-2024 Free Software Foundation, Inc. This file is part of the GNU CHARSET Library. This file is free software: you can redistribute it and/or modify @@ -104,10 +104,8 @@ extern const char * locale_charset (void); GBK glibc aix osf solaris freebsd darwin cygwin windows dos GB18030 glibc hpux solaris freebsd netbsd darwin SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin - JOHAB glibc solaris windows + JOHAB solaris windows TIS-620 glibc aix hpux osf solaris cygwin zos - VISCII Y glibc - TCVN5712-1 glibc ARMSCII-8 glibc freebsd netbsd darwin GEORGIAN-PS glibc cygwin PT154 glibc netbsd cygwin diff --git a/lib/locale.in.h b/lib/locale.in.h index 4aef74d..bda07c9 100644 --- a/lib/locale.in.h +++ b/lib/locale.in.h @@ -1,5 +1,5 @@ /* A POSIX . - Copyright (C) 2007-2022 Free Software Foundation, Inc. + Copyright (C) 2007-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -44,6 +44,11 @@ #ifndef _@GUARD_PREFIX@_LOCALE_H #define _@GUARD_PREFIX@_LOCALE_H +/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + /* NetBSD 5.0 mis-defines NULL. */ #include @@ -229,7 +234,7 @@ _GL_CXXALIAS_SYS (newlocale, locale_t, (int category_mask, const char *name, locale_t base)); # endif # endif -# if @HAVE_NEWLOCALE@ +# if __GLIBC__ >= 2 && @HAVE_NEWLOCALE@ _GL_CXXALIASWARN (newlocale); # endif # if @HAVE_NEWLOCALE@ || @REPLACE_NEWLOCALE@ @@ -245,23 +250,23 @@ _GL_WARN_ON_USE (newlocale, "newlocale is not portable"); #endif #if @GNULIB_DUPLOCALE@ || (@GNULIB_LOCALENAME@ && @LOCALENAME_ENHANCE_LOCALE_FUNCS@ && @HAVE_DUPLOCALE@) -# if @REPLACE_DUPLOCALE@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef duplocale -# define duplocale rpl_duplocale -# define GNULIB_defined_duplocale 1 -# endif +# if @HAVE_DUPLOCALE@ /* locale_t may be undefined if !@HAVE_DUPLOCALE@. */ +# if @REPLACE_DUPLOCALE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef duplocale +# define duplocale rpl_duplocale +# define GNULIB_defined_duplocale 1 +# endif _GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale)); -# else -# if @HAVE_DUPLOCALE@ +# else _GL_CXXALIAS_SYS (duplocale, locale_t, (locale_t locale)); # endif # endif -# if @HAVE_DUPLOCALE@ +# if __GLIBC__ >= 2 && @HAVE_DUPLOCALE@ _GL_CXXALIASWARN (duplocale); # endif -# if @HAVE_DUPLOCALE@ || @REPLACE_DUPLOCALE@ +# if @HAVE_DUPLOCALE@ # ifndef HAVE_WORKING_DUPLOCALE # define HAVE_WORKING_DUPLOCALE 1 # endif @@ -290,7 +295,7 @@ _GL_CXXALIAS_RPL (freelocale, void, (locale_t locale)); _GL_CXXALIAS_SYS_CAST (freelocale, void, (locale_t locale)); # endif # endif -# if @HAVE_FREELOCALE@ +# if __GLIBC__ >= 2 && @HAVE_FREELOCALE@ _GL_CXXALIASWARN (freelocale); # endif #elif defined GNULIB_POSIXCHECK diff --git a/lib/mbrtowc-impl-utf8.h b/lib/mbrtowc-impl-utf8.h index 8e5ac14..3a3ba13 100644 --- a/lib/mbrtowc-impl-utf8.h +++ b/lib/mbrtowc-impl-utf8.h @@ -1,5 +1,5 @@ /* Convert multibyte character to wide character. - Copyright (C) 1999-2002, 2005-2022 Free Software Foundation, Inc. + Copyright (C) 1999-2002, 2005-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/mbrtowc-impl.h b/lib/mbrtowc-impl.h index 65538e7..963631c 100644 --- a/lib/mbrtowc-impl.h +++ b/lib/mbrtowc-impl.h @@ -1,5 +1,5 @@ /* Convert multibyte character to wide character. - Copyright (C) 1999-2002, 2005-2022 Free Software Foundation, Inc. + Copyright (C) 1999-2002, 2005-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/mbrtowc.c b/lib/mbrtowc.c index 4b164ed..8a1646d 100644 --- a/lib/mbrtowc.c +++ b/lib/mbrtowc.c @@ -1,5 +1,5 @@ /* Convert multibyte character to wide character. - Copyright (C) 1999-2002, 2005-2022 Free Software Foundation, Inc. + Copyright (C) 1999-2002, 2005-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This file is free software: you can redistribute it and/or modify @@ -28,7 +28,11 @@ # include # include -# if defined _WIN32 && !defined __CYGWIN__ +# if AVOID_ANY_THREADS + +/* The option '--disable-threads' explicitly requests no locking. */ + +# elif defined _WIN32 && !defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include @@ -51,11 +55,10 @@ # endif # include "attribute.h" -# include "verify.h" # include "lc-charset-dispatch.h" # include "mbtowc-lock.h" -verify (sizeof (mbstate_t) >= 4); +static_assert (sizeof (mbstate_t) >= 4); static char internal_state[4]; size_t diff --git a/lib/mbsinit.c b/lib/mbsinit.c index 9621def..d1b8475 100644 --- a/lib/mbsinit.c +++ b/lib/mbsinit.c @@ -1,5 +1,5 @@ /* Test for initial conversion state. - Copyright (C) 2008-2022 Free Software Foundation, Inc. + Copyright (C) 2008-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This file is free software: you can redistribute it and/or modify @@ -20,7 +20,6 @@ /* Specification. */ #include -#include "verify.h" #if GNULIB_defined_mbstate_t @@ -37,9 +36,9 @@ buffered bytes (in the range 0..3), followed by up to 3 buffered bytes. See mbrtowc.c. - In wc -> mb direction, mbstate_t contains no information. In other - words, it is always in the initial state. */ + words, it is always in an initial state. */ -verify (sizeof (mbstate_t) >= 4); +static_assert (sizeof (mbstate_t) >= 4); int mbsinit (const mbstate_t *ps) diff --git a/lib/mbsrtowcs-impl.h b/lib/mbsrtowcs-impl.h index 55dafe3..9043fb8 100644 --- a/lib/mbsrtowcs-impl.h +++ b/lib/mbsrtowcs-impl.h @@ -1,5 +1,5 @@ /* Convert string to wide string. - Copyright (C) 2008-2022 Free Software Foundation, Inc. + Copyright (C) 2008-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This file is free software: you can redistribute it and/or modify @@ -61,7 +61,8 @@ FUNC (DCHAR_T *dest, const char **srcp, size_t len, mbstate_t *ps) /* Here mbsinit (ps). */ break; } - src += ret; + if (!(USES_C32 && ret == (size_t)(-3))) + src += ret; } *srcp = src; diff --git a/lib/mbsrtowcs-state.c b/lib/mbsrtowcs-state.c index 55160a2..cbb8753 100644 --- a/lib/mbsrtowcs-state.c +++ b/lib/mbsrtowcs-state.c @@ -1,5 +1,5 @@ /* Convert string to wide string. - Copyright (C) 2008-2022 Free Software Foundation, Inc. + Copyright (C) 2008-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This file is free software: you can redistribute it and/or modify @@ -21,7 +21,7 @@ /* Internal state used by the functions mbsrtowcs() and mbsnrtowcs(). */ mbstate_t _gl_mbsrtowcs_state -/* The state must initially be in the "initial state"; so, zero-initialize it. +/* The state must initially be in an "initial state"; so, zero-initialize it. On most systems, putting it into BSS is sufficient. Not so on Mac OS X 10.3, see . When it needs an initializer, use 0 or {0} as initializer? 0 only works diff --git a/lib/mbsrtowcs.c b/lib/mbsrtowcs.c index 66019b0..c77179f 100644 --- a/lib/mbsrtowcs.c +++ b/lib/mbsrtowcs.c @@ -1,5 +1,5 @@ /* Convert string to wide string. - Copyright (C) 2008-2022 Free Software Foundation, Inc. + Copyright (C) 2008-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This file is free software: you can redistribute it and/or modify @@ -33,4 +33,5 @@ extern mbstate_t _gl_mbsrtowcs_state; #define DCHAR_T wchar_t #define INTERNAL_STATE _gl_mbsrtowcs_state #define MBRTOWC mbrtowc +#define USES_C32 0 #include "mbsrtowcs-impl.h" diff --git a/lib/mbszero.c b/lib/mbszero.c new file mode 100644 index 0000000..25af284 --- /dev/null +++ b/lib/mbszero.c @@ -0,0 +1,23 @@ +/* Put an mbstate_t into an initial conversion state. + Copyright (C) 2023-2024 Free Software Foundation, Inc. + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as + published by the Free Software Foundation; either version 2.1 of the + License, or (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with this program. If not, see . */ + +/* Written by Bruno Haible , 2023. */ + +#include + +#define IN_MBSZERO +/* Specification and implementation. */ +#include diff --git a/lib/mbtowc-impl.h b/lib/mbtowc-impl.h index 2b27baf..92efb4a 100644 --- a/lib/mbtowc-impl.h +++ b/lib/mbtowc-impl.h @@ -1,5 +1,5 @@ /* Convert multibyte character to wide character. - Copyright (C) 2011-2022 Free Software Foundation, Inc. + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This file is free software: you can redistribute it and/or modify @@ -30,7 +30,7 @@ mbtowc (wchar_t *pwc, const char *s, size_t n) wchar_t wc; size_t result; - memset (&state, 0, sizeof (mbstate_t)); + mbszero (&state); result = mbrtowc (&wc, s, n, &state); if (result == (size_t)-1 || result == (size_t)-2) { diff --git a/lib/mbtowc-lock.c b/lib/mbtowc-lock.c index 06d3224..9001c5a 100644 --- a/lib/mbtowc-lock.c +++ b/lib/mbtowc-lock.c @@ -1,5 +1,5 @@ /* Return the internal lock used by mbrtowc and mbrtoc32. - Copyright (C) 2019-2022 Free Software Foundation, Inc. + Copyright (C) 2019-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -18,9 +18,10 @@ #include +/* The option '--disable-threads' explicitly requests no locking. */ /* When it is known that the gl_get_mbtowc_lock function is defined by a dependency library, it should not be defined here. */ -#if OMIT_MBTOWC_LOCK +#if AVOID_ANY_THREADS || OMIT_MBTOWC_LOCK /* This declaration is solely to ensure that after preprocessing this file is never empty. */ @@ -37,14 +38,14 @@ typedef int dummy; /* Macro for exporting a symbol (function, not variable) defined in this file, when compiled into a shared library. */ -# ifndef DLL_EXPORTED +# ifndef SHLIB_EXPORTED # if HAVE_VISIBILITY /* Override the effect of the compiler option '-fvisibility=hidden'. */ -# define DLL_EXPORTED __attribute__((__visibility__("default"))) +# define SHLIB_EXPORTED __attribute__((__visibility__("default"))) # elif defined _WIN32 || defined __CYGWIN__ -# define DLL_EXPORTED __declspec(dllexport) +# define SHLIB_EXPORTED __declspec(dllexport) # else -# define DLL_EXPORTED +# define SHLIB_EXPORTED # endif # endif @@ -59,7 +60,7 @@ typedef int dummy; because the latter is not guaranteed to be a stable ABI in the future. */ /* Make sure the function gets exported from DLLs. */ -DLL_EXPORTED CRITICAL_SECTION *gl_get_mbtowc_lock (void); +SHLIB_EXPORTED CRITICAL_SECTION *gl_get_mbtowc_lock (void); static glwthread_initguard_t guard = GLWTHREAD_INITGUARD_INIT; static CRITICAL_SECTION lock; @@ -96,7 +97,7 @@ gl_get_mbtowc_lock (void) static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; /* Make sure the function gets exported from shared libraries. */ -DLL_EXPORTED pthread_mutex_t *gl_get_mbtowc_lock (void); +SHLIB_EXPORTED pthread_mutex_t *gl_get_mbtowc_lock (void); /* Returns the internal lock used by mbrtowc and mbrtoc32. */ pthread_mutex_t * @@ -123,7 +124,7 @@ atomic_init (void) } /* Make sure the function gets exported from shared libraries. */ -DLL_EXPORTED mtx_t *gl_get_mbtowc_lock (void); +SHLIB_EXPORTED mtx_t *gl_get_mbtowc_lock (void); /* Returns the internal lock used by mbrtowc and mbrtoc32. */ mtx_t * diff --git a/lib/mbtowc-lock.h b/lib/mbtowc-lock.h index ecfd44e..10f7dc7 100644 --- a/lib/mbtowc-lock.h +++ b/lib/mbtowc-lock.h @@ -1,5 +1,5 @@ /* Use the internal lock used by mbrtowc and mbrtoc32. - Copyright (C) 2019-2022 Free Software Foundation, Inc. + Copyright (C) 2019-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -21,7 +21,7 @@ static inline int mbtowc_unlocked (wchar_t *pwc, const char *p, size_t m) { - /* Put the hidden internal state of mbtowc into its initial state. + /* Put the hidden internal state of mbtowc into an initial state. This is needed at least with glibc, uClibc, and MSVC CRT. See . */ mbtowc (NULL, NULL, 0); @@ -32,7 +32,7 @@ mbtowc_unlocked (wchar_t *pwc, const char *p, size_t m) /* Prohibit renaming this symbol. */ #undef gl_get_mbtowc_lock -#if GNULIB_MBRTOWC_SINGLE_THREAD +#if AVOID_ANY_THREADS || GNULIB_MBRTOWC_SINGLE_THREAD /* All uses of this function are in a single thread. No locking needed. */ diff --git a/lib/mbtowc.c b/lib/mbtowc.c index a9a7995..31a2d63 100644 --- a/lib/mbtowc.c +++ b/lib/mbtowc.c @@ -1,5 +1,5 @@ /* Convert multibyte character to wide character. - Copyright (C) 2011-2022 Free Software Foundation, Inc. + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This file is free software: you can redistribute it and/or modify diff --git a/lib/memchr.c b/lib/memchr.c index 0ca7b30..67687a8 100644 --- a/lib/memchr.c +++ b/lib/memchr.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2022 +/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2024 Free Software Foundation, Inc. Based on strlen implementation by Torbjorn Granlund (tege@sics.se), diff --git a/lib/memchr.valgrind b/lib/memchr.valgrind index cb0f351..0295d7e 100644 --- a/lib/memchr.valgrind +++ b/lib/memchr.valgrind @@ -1,6 +1,6 @@ # Suppress a valgrind message about use of uninitialized memory in memchr(). -# Copyright (C) 2009-2022 Free Software Foundation, Inc. +# Copyright (C) 2009-2024 Free Software Foundation, Inc. # # This file is free software: you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License as diff --git a/lib/monetary.in.h b/lib/monetary.in.h index 3c9012c..1e654d9 100644 --- a/lib/monetary.in.h +++ b/lib/monetary.in.h @@ -1,5 +1,5 @@ /* Wrapper around . - Copyright (C) 2017-2022 Free Software Foundation, Inc. + Copyright (C) 2017-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -29,6 +29,11 @@ #ifndef _@GUARD_PREFIX@_MONETARY_H #define _@GUARD_PREFIX@_MONETARY_H +/* This file uses _GL_ATTRIBUTE_FORMAT, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + #if @GNULIB_STRFMON_L@ # if @HAVE_XLOCALE_H@ /* Get locale_t on Mac OS X 10.12. */ diff --git a/lib/obsolete-strings.c b/lib/obsolete-strings.c index e20a910..16ac087 100644 --- a/lib/obsolete-strings.c +++ b/lib/obsolete-strings.c @@ -34,16 +34,16 @@ /************************************************************************ -* From data/trader.desktop.in * +* From data/au.org.zap.trader.desktop.in * ************************************************************************/ const char *trader_desktop_strings[] = { /* TRANSLATORS: Older versions of the GNU Gettext library utilities - treat the Icon value in data/trader.desktop.in as a translatable - string. That string, the name of the icon to use, is defined here - for those older versions of xgettext(1). Unless you provide a - matching icon, please leave it as "trader": this will use - trader.svg and the various trader.png files in the data source + treat the Icon value in data/au.org.zap.trader.desktop.in as a + translatable string. That string, the name of the icon to use, is + defined here for those older versions of xgettext(1). Unless you + provide a matching icon, please leave it as "trader": this will + use trader.svg and the various trader.png files in the data source code directory. */ N_("trader"), diff --git a/lib/setlocale-lock.c b/lib/setlocale-lock.c index 4e7540e..192489c 100644 --- a/lib/setlocale-lock.c +++ b/lib/setlocale-lock.c @@ -1,5 +1,5 @@ /* Return the internal lock used by setlocale_null_r. - Copyright (C) 2019-2022 Free Software Foundation, Inc. + Copyright (C) 2019-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -18,9 +18,10 @@ #include +/* The option '--disable-threads' explicitly requests no locking. */ /* When it is known that the gl_get_setlocale_null_lock function is defined by a dependency library, it should not be defined here. */ -#if OMIT_SETLOCALE_LOCK +#if AVOID_ANY_THREADS || OMIT_SETLOCALE_LOCK /* This declaration is solely to ensure that after preprocessing this file is never empty. */ @@ -37,14 +38,14 @@ typedef int dummy; /* Macro for exporting a symbol (function, not variable) defined in this file, when compiled into a shared library. */ -# ifndef DLL_EXPORTED +# ifndef SHLIB_EXPORTED # if HAVE_VISIBILITY /* Override the effect of the compiler option '-fvisibility=hidden'. */ -# define DLL_EXPORTED __attribute__((__visibility__("default"))) +# define SHLIB_EXPORTED __attribute__((__visibility__("default"))) # elif defined _WIN32 || defined __CYGWIN__ -# define DLL_EXPORTED __declspec(dllexport) +# define SHLIB_EXPORTED __declspec(dllexport) # else -# define DLL_EXPORTED +# define SHLIB_EXPORTED # endif # endif @@ -59,7 +60,7 @@ typedef int dummy; because the latter is not guaranteed to be a stable ABI in the future. */ /* Make sure the function gets exported from DLLs. */ -DLL_EXPORTED CRITICAL_SECTION *gl_get_setlocale_null_lock (void); +SHLIB_EXPORTED CRITICAL_SECTION *gl_get_setlocale_null_lock (void); static glwthread_initguard_t guard = GLWTHREAD_INITGUARD_INIT; static CRITICAL_SECTION lock; @@ -96,7 +97,7 @@ gl_get_setlocale_null_lock (void) static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; /* Make sure the function gets exported from shared libraries. */ -DLL_EXPORTED pthread_mutex_t *gl_get_setlocale_null_lock (void); +SHLIB_EXPORTED pthread_mutex_t *gl_get_setlocale_null_lock (void); /* Returns the internal lock used by setlocale_null_r. */ pthread_mutex_t * @@ -123,7 +124,7 @@ atomic_init (void) } /* Make sure the function gets exported from shared libraries. */ -DLL_EXPORTED mtx_t *gl_get_setlocale_null_lock (void); +SHLIB_EXPORTED mtx_t *gl_get_setlocale_null_lock (void); /* Returns the internal lock used by setlocale_null_r. */ mtx_t * diff --git a/lib/setlocale_null.c b/lib/setlocale_null.c index 778429b..697502f 100644 --- a/lib/setlocale_null.c +++ b/lib/setlocale_null.c @@ -1,5 +1,5 @@ /* Query the name of the current global locale. - Copyright (C) 2019-2022 Free Software Foundation, Inc. + Copyright (C) 2019-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -30,7 +30,12 @@ #endif #if !(SETLOCALE_NULL_ALL_MTSAFE && SETLOCALE_NULL_ONE_MTSAFE) -# if defined _WIN32 && !defined __CYGWIN__ + +# if AVOID_ANY_THREADS + +/* The option '--disable-threads' explicitly requests no locking. */ + +# elif defined _WIN32 && !defined __CYGWIN__ # define WIN32_LEAN_AND_MEAN /* avoid including junk */ # include @@ -51,6 +56,7 @@ # include # endif + #endif /* Use the system's setlocale() function, not the gnulib override, here. */ @@ -173,7 +179,7 @@ setlocale_null_unlocked (int category, char *buf, size_t bufsize) #endif } -#if !(SETLOCALE_NULL_ALL_MTSAFE && SETLOCALE_NULL_ONE_MTSAFE) /* musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin */ +#if !(SETLOCALE_NULL_ALL_MTSAFE && SETLOCALE_NULL_ONE_MTSAFE) /* musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin < 3.4.6 */ /* Use a lock, so that no two threads can invoke setlocale_null_unlocked at the same time. */ @@ -181,7 +187,12 @@ setlocale_null_unlocked (int category, char *buf, size_t bufsize) /* Prohibit renaming this symbol. */ # undef gl_get_setlocale_null_lock -# if defined _WIN32 && !defined __CYGWIN__ +# if AVOID_ANY_THREADS + +/* The option '--disable-threads' explicitly requests no locking. */ +# define setlocale_null_with_lock setlocale_null_unlocked + +# elif defined _WIN32 && !defined __CYGWIN__ extern __declspec(dllimport) CRITICAL_SECTION *gl_get_setlocale_null_lock (void); @@ -198,7 +209,7 @@ setlocale_null_with_lock (int category, char *buf, size_t bufsize) return ret; } -# elif HAVE_PTHREAD_API /* musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin */ +# elif HAVE_PTHREAD_API /* musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin < 3.4.6 */ extern # if defined _WIN32 || defined __CYGWIN__ diff --git a/lib/setlocale_null.h b/lib/setlocale_null.h index d1921b0..defa2b4 100644 --- a/lib/setlocale_null.h +++ b/lib/setlocale_null.h @@ -1,5 +1,5 @@ /* Query the name of the current global locale. - Copyright (C) 2019-2022 Free Software Foundation, Inc. + Copyright (C) 2019-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/stdbool.in.h b/lib/stdbool.in.h deleted file mode 100644 index 03840f1..0000000 --- a/lib/stdbool.in.h +++ /dev/null @@ -1,132 +0,0 @@ -/* Copyright (C) 2001-2003, 2006-2022 Free Software Foundation, Inc. - Written by Bruno Haible , 2001. - - This file is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation; either version 2.1 of the - License, or (at your option) any later version. - - This file is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program. If not, see . */ - -#ifndef _GL_STDBOOL_H -#define _GL_STDBOOL_H - -/* ISO C 99 for platforms that lack it. */ - -/* Usage suggestions: - - Programs that use should be aware of some limitations - and standards compliance issues. - - Standards compliance: - - - must be #included before 'bool', 'false', 'true' - can be used. - - - You cannot assume that sizeof (bool) == 1. - - - Programs should not undefine the macros bool, true, and false, - as C99 lists that as an "obsolescent feature". - - Limitations of this substitute, when used in a C89 environment: - - - must be #included before the '_Bool' type can be used. - - - You cannot assume that _Bool is a typedef; it might be a macro. - - - Bit-fields of type 'bool' are not supported. Portable code - should use 'unsigned int foo : 1;' rather than 'bool foo : 1;'. - - - In C99, casts and automatic conversions to '_Bool' or 'bool' are - performed in such a way that every nonzero value gets converted - to 'true', and zero gets converted to 'false'. This doesn't work - with this substitute. With this substitute, only the values 0 and 1 - give the expected result when converted to _Bool' or 'bool'. - - - C99 allows the use of (_Bool)0.0 in constant expressions, but - this substitute cannot always provide this property. - - Also, it is suggested that programs use 'bool' rather than '_Bool'; - this isn't required, but 'bool' is more common. */ - - -/* 7.16. Boolean type and values */ - -/* BeOS already #defines false 0, true 1. We use the same - definitions below, but temporarily we have to #undef them. */ -#if defined __BEOS__ && !defined __HAIKU__ -# include /* defines bool but not _Bool */ -# undef false -# undef true -#endif - -#ifdef __cplusplus -# define _Bool bool -# define bool bool -#else -# if defined __BEOS__ && !defined __HAIKU__ - /* A compiler known to have 'bool'. */ - /* If the compiler already has both 'bool' and '_Bool', we can assume they - are the same types. */ -# if !@HAVE__BOOL@ -typedef bool _Bool; -# endif -# else -# if !defined __GNUC__ - /* If @HAVE__BOOL@: - Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when - the built-in _Bool type is used. See - https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html - https://lists.gnu.org/r/bug-coreutils/2005-10/msg00086.html - Similar bugs are likely with other compilers as well; this file - wouldn't be used if was working. - So we override the _Bool type. - If !@HAVE__BOOL@: - Need to define _Bool ourselves. As 'signed char' or as an enum type? - Use of a typedef, with SunPRO C, leads to a stupid - "warning: _Bool is a keyword in ISO C99". - Use of an enum type, with IRIX cc, leads to a stupid - "warning(1185): enumerated type mixed with another type". - Even the existence of an enum type, without a typedef, - "Invalid enumerator. (badenum)" with HP-UX cc on Tru64. - The only benefit of the enum, debuggability, is not important - with these compilers. So use 'signed char' and no enum. */ -# define _Bool signed char -# else - /* With this compiler, trust the _Bool type if the compiler has it. */ -# if !@HAVE__BOOL@ - /* For the sake of symbolic names in gdb, define true and false as - enum constants, not only as macros. - It is tempting to write - typedef enum { false = 0, true = 1 } _Bool; - so that gdb prints values of type 'bool' symbolically. But then - values of type '_Bool' might promote to 'int' or 'unsigned int' - (see ISO C 99 6.7.2.2.(4)); however, '_Bool' must promote to 'int' - (see ISO C 99 6.3.1.1.(2)). So add a negative value to the - enum; this ensures that '_Bool' promotes to 'int'. */ -typedef enum { _Bool_must_promote_to_int = -1, false = 0, true = 1 } _Bool; -# endif -# endif -# endif -# define bool _Bool -#endif - -/* The other macros must be usable in preprocessor directives. */ -#ifdef __cplusplus -# define false false -# define true true -#else -# define false 0 -# define true 1 -#endif - -#define __bool_true_false_are_defined 1 - -#endif /* _GL_STDBOOL_H */ diff --git a/lib/stddef.in.h b/lib/stddef.in.h index 5c9a747..fa8998d 100644 --- a/lib/stddef.in.h +++ b/lib/stddef.in.h @@ -1,6 +1,6 @@ /* A substitute for POSIX 2008 , for platforms that have issues. - Copyright (C) 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -18,7 +18,7 @@ /* Written by Eric Blake. */ /* - * POSIX 2008 for platforms that have issues. + * POSIX 2008 and ISO C 23 for platforms that have issues. * */ @@ -37,9 +37,9 @@ remember if special invocation has ever been used to obtain wint_t, in which case we need to clean up NULL yet again. */ -# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _GL_STDDEF_WINT_T) +# if !(defined _@GUARD_PREFIX@_STDDEF_H && defined _@GUARD_PREFIX@_STDDEF_WINT_T) # ifdef __need_wint_t -# define _GL_STDDEF_WINT_T +# define _@GUARD_PREFIX@_STDDEF_WINT_T # endif # @INCLUDE_NEXT@ @NEXT_STDDEF_H@ /* On TinyCC, make sure that the macros that indicate the special invocation @@ -58,7 +58,7 @@ /* On AIX 7.2, with xlc in 64-bit mode, defines max_align_t to a type with alignment 4, but 'long' has alignment 8. */ -# if defined _AIX && defined __LP64__ +# if defined _AIX && defined __LP64__ && !@HAVE_MAX_ALIGN_T@ # if !GNULIB_defined_max_align_t # ifdef _MAX_ALIGN_T /* /usr/include/stddef.h has already defined max_align_t. Override it. */ @@ -69,6 +69,7 @@ typedef long rpl_max_align_t; typedef long max_align_t; # define _MAX_ALIGN_T # endif +# define __CLANG_MAX_ALIGN_T_DEFINED # define GNULIB_defined_max_align_t 1 # endif # endif @@ -79,7 +80,7 @@ typedef long max_align_t; /* On NetBSD 5.0, the definition of NULL lacks proper parentheses. */ # if (@REPLACE_NULL@ \ - && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _GL_STDDEF_WINT_T)) + && (!defined _@GUARD_PREFIX@_STDDEF_H || defined _@GUARD_PREFIX@_STDDEF_WINT_T)) # undef NULL # ifdef __cplusplus /* ISO C++ says that the macro NULL must expand to an integer constant @@ -100,6 +101,33 @@ typedef long max_align_t; # ifndef _@GUARD_PREFIX@_STDDEF_H # define _@GUARD_PREFIX@_STDDEF_H +/* This file uses _Noreturn, _GL_ATTRIBUTE_NOTHROW. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +#ifndef _GL_ATTRIBUTE_NOTHROW +# if defined __cplusplus +# if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4 +# if __cplusplus >= 201103L +# define _GL_ATTRIBUTE_NOTHROW noexcept (true) +# else +# define _GL_ATTRIBUTE_NOTHROW throw () +# endif +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# else +# if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__ +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# endif +#endif + /* Some platforms lack wchar_t. */ #if !@HAVE_WCHAR_T@ # define wchar_t int @@ -137,11 +165,49 @@ typedef union long int __i _GL_STDDEF_ALIGNAS (long int); } rpl_max_align_t; # define max_align_t rpl_max_align_t +# define __CLANG_MAX_ALIGN_T_DEFINED # define GNULIB_defined_max_align_t 1 # endif # endif #endif +/* ISO C 23 § 7.21.1 The unreachable macro */ +#ifndef unreachable + +/* Code borrowed from verify.h. */ +# ifndef _GL_HAS_BUILTIN_UNREACHABLE +# if defined __clang_major__ && __clang_major__ < 5 +# define _GL_HAS_BUILTIN_UNREACHABLE 0 +# elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__) +# define _GL_HAS_BUILTIN_UNREACHABLE 1 +# elif defined __has_builtin +# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable) +# else +# define _GL_HAS_BUILTIN_UNREACHABLE 0 +# endif +# endif + +# if _GL_HAS_BUILTIN_UNREACHABLE +# define unreachable() __builtin_unreachable () +# elif 1200 <= _MSC_VER +# define unreachable() __assume (0) +# else +/* Declare abort(), without including . */ +extern +# if defined __cplusplus +"C" +# endif +_Noreturn +void abort (void) +# if defined __cplusplus && (__GLIBC__ >= 2) +_GL_ATTRIBUTE_NOTHROW +# endif +; +# define unreachable() abort () +# endif + +#endif + # endif /* _@GUARD_PREFIX@_STDDEF_H */ # endif /* _@GUARD_PREFIX@_STDDEF_H */ #endif /* __need_XXX */ diff --git a/lib/stdint.in.h b/lib/stdint.in.h index eaa7874..fea7483 100644 --- a/lib/stdint.in.h +++ b/lib/stdint.in.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2001-2002, 2004-2022 Free Software Foundation, Inc. +/* Copyright (C) 2001-2002, 2004-2024 Free Software Foundation, Inc. Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. This file is part of gnulib. @@ -306,6 +306,8 @@ typedef gl_uint_fast32_t gl_uint_fast16_t; uintptr_t to avoid conflicting declarations of system functions like _findclose in . */ # if !((defined __KLIBC__ && defined _INTPTR_T_DECLARED) \ + || (defined __INTPTR_WIDTH__ \ + && __INTPTR_WIDTH__ != (defined _WIN64 ? LLONG_WIDTH : LONG_WIDTH)) \ || defined __MINGW32__) # undef intptr_t # undef uintptr_t diff --git a/lib/stdio-read.c b/lib/stdio-read.c index 85efa0d..253b8aa 100644 --- a/lib/stdio-read.c +++ b/lib/stdio-read.c @@ -1,5 +1,5 @@ /* POSIX compatible FILE stream read function. - Copyright (C) 2008-2022 Free Software Foundation, Inc. + Copyright (C) 2008-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This file is free software: you can redistribute it and/or modify diff --git a/lib/stdio-write.c b/lib/stdio-write.c index 82facf5..ca6aa00 100644 --- a/lib/stdio-write.c +++ b/lib/stdio-write.c @@ -1,5 +1,5 @@ /* POSIX compatible FILE stream write function. - Copyright (C) 2008-2022 Free Software Foundation, Inc. + Copyright (C) 2008-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This file is free software: you can redistribute it and/or modify diff --git a/lib/stdio.in.h b/lib/stdio.in.h index 7b36dac..4947307 100644 --- a/lib/stdio.in.h +++ b/lib/stdio.in.h @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright (C) 2004, 2007-2022 Free Software Foundation, Inc. + Copyright (C) 2004, 2007-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -36,6 +36,18 @@ #ifndef _@GUARD_PREFIX@_STDIO_H +/* Suppress macOS deprecation warnings for sprintf and vsprintf. */ +#if (defined __APPLE__ && defined __MACH__) && !defined _POSIX_C_SOURCE +# ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ +# include +# endif +# if (defined MAC_OS_X_VERSION_MIN_REQUIRED \ + && 130000 <= MAC_OS_X_VERSION_MIN_REQUIRED) +# define _POSIX_C_SOURCE 200809L +# define _GL_DEFINED__POSIX_C_SOURCE +# endif +#endif + #define _GL_ALREADY_INCLUDING_STDIO_H /* The include_next requires a split double-inclusion guard. */ @@ -43,9 +55,21 @@ #undef _GL_ALREADY_INCLUDING_STDIO_H +#ifdef _GL_DEFINED__POSIX_C_SOURCE +# undef _GL_DEFINED__POSIX_C_SOURCE +# undef _POSIX_C_SOURCE +#endif + #ifndef _@GUARD_PREFIX@_STDIO_H #define _@GUARD_PREFIX@_STDIO_H +/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_FORMAT, + _GL_ATTRIBUTE_MALLOC, _GL_ATTRIBUTE_NOTHROW, GNULIB_POSIXCHECK, + HAVE_RAW_DECL_*. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + /* Get va_list. Needed on many systems, including glibc 2.8. */ #include @@ -116,6 +140,38 @@ # endif #endif +/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly + allocated memory. */ +#ifndef _GL_ATTRIBUTE_MALLOC +# if __GNUC__ >= 3 || defined __clang__ +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +# else +# define _GL_ATTRIBUTE_MALLOC +# endif +#endif + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +#ifndef _GL_ATTRIBUTE_NOTHROW +# if defined __cplusplus +# if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4 +# if __cplusplus >= 201103L +# define _GL_ATTRIBUTE_NOTHROW noexcept (true) +# else +# define _GL_ATTRIBUTE_NOTHROW throw () +# endif +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# else +# if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__ +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# endif +#endif + /* An __attribute__ __format__ specifier for a function that takes a format string and arguments, where the format string directives are the ones standardized by ISO C99 and POSIX. @@ -193,6 +249,36 @@ # undef putc_unlocked #endif + +/* Maximum number of characters produced by printing a NaN value. */ +#ifndef _PRINTF_NAN_LEN_MAX +# if defined __FreeBSD__ || defined __DragonFly__ \ + || defined __NetBSD__ \ + || (defined __APPLE__ && defined __MACH__) +/* On BSD systems, a NaN value prints as just "nan", without a sign. */ +# define _PRINTF_NAN_LEN_MAX 3 +# elif (__GLIBC__ >= 2) || MUSL_LIBC || defined __OpenBSD__ || defined __sun || defined __CYGWIN__ +/* glibc, musl libc, OpenBSD, Solaris libc, and Cygwin produce "[-]nan". */ +# define _PRINTF_NAN_LEN_MAX 4 +# elif defined _AIX +/* AIX produces "[-]NaNQ". */ +# define _PRINTF_NAN_LEN_MAX 5 +# elif defined _WIN32 && !defined __CYGWIN__ +/* On native Windows, the output can be: + - with MSVC ucrt: "[-]nan" or "[-]nan(ind)" or "[-]nan(snan)", + - with mingw: "[-]1.#IND" or "[-]1.#QNAN". */ +# define _PRINTF_NAN_LEN_MAX 10 +# elif defined __sgi +/* On IRIX, the output typically is "[-]nan0xNNNNNNNN" with 8 hexadecimal + digits. */ +# define _PRINTF_NAN_LEN_MAX 14 +# else +/* We don't know, but 32 should be a safe maximum. */ +# define _PRINTF_NAN_LEN_MAX 32 +# endif +#endif + + #if @GNULIB_DPRINTF@ # if @REPLACE_DPRINTF@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -210,7 +296,9 @@ _GL_FUNCDECL_SYS (dprintf, int, (int fd, const char *restrict format, ...) # endif _GL_CXXALIAS_SYS (dprintf, int, (int fd, const char *restrict format, ...)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (dprintf); +# endif #elif defined GNULIB_POSIXCHECK # undef dprintf # if HAVE_RAW_DECL_DPRINTF @@ -273,7 +361,8 @@ _GL_CXXALIASWARN (fcloseall); # endif _GL_FUNCDECL_RPL (fdopen, FILE *, (int fd, const char *mode) - _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); + _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1) + _GL_ATTRIBUTE_MALLOC); _GL_CXXALIAS_RPL (fdopen, FILE *, (int fd, const char *mode)); # elif defined _WIN32 && !defined __CYGWIN__ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -284,9 +373,18 @@ _GL_CXXALIAS_MDA (fdopen, FILE *, (int fd, const char *mode)); # else # if __GNUC__ >= 11 /* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose. */ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 _GL_FUNCDECL_SYS (fdopen, FILE *, (int fd, const char *mode) - _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); + _GL_ATTRIBUTE_NOTHROW + _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1) + _GL_ATTRIBUTE_MALLOC); +# else +_GL_FUNCDECL_SYS (fdopen, FILE *, + (int fd, const char *mode) + _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1) + _GL_ATTRIBUTE_MALLOC); +# endif # endif _GL_CXXALIAS_SYS (fdopen, FILE *, (int fd, const char *mode)); # endif @@ -294,9 +392,18 @@ _GL_CXXALIASWARN (fdopen); #else # if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined fdopen /* For -Wmismatched-dealloc: Associate fdopen with fclose or rpl_fclose. */ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 _GL_FUNCDECL_SYS (fdopen, FILE *, (int fd, const char *mode) - _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); + _GL_ATTRIBUTE_NOTHROW + _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1) + _GL_ATTRIBUTE_MALLOC); +# else +_GL_FUNCDECL_SYS (fdopen, FILE *, + (int fd, const char *mode) + _GL_ARG_NONNULL ((2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1) + _GL_ATTRIBUTE_MALLOC); +# endif # endif # if defined GNULIB_POSIXCHECK # undef fdopen @@ -407,7 +514,8 @@ _GL_CXXALIASWARN (fileno); # endif _GL_FUNCDECL_RPL (fopen, FILE *, (const char *restrict filename, const char *restrict mode) - _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1)); + _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (fclose, 1) + _GL_ATTRIBUTE_MALLOC); _GL_CXXALIAS_RPL (fopen, FILE *, (const char *restrict filename, const char *restrict mode)); # else @@ -882,7 +990,9 @@ _GL_CXXALIAS_SYS (getdelim, ssize_t, int delimiter, FILE *restrict stream)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (getdelim); +# endif #elif defined GNULIB_POSIXCHECK # undef getdelim # if HAVE_RAW_DECL_GETDELIM @@ -921,7 +1031,7 @@ _GL_CXXALIAS_SYS (getline, ssize_t, (char **restrict lineptr, size_t *restrict linesize, FILE *restrict stream)); # endif -# if @HAVE_DECL_GETLINE@ +# if __GLIBC__ >= 2 && @HAVE_DECL_GETLINE@ _GL_CXXALIASWARN (getline); # endif #elif defined GNULIB_POSIXCHECK @@ -951,9 +1061,17 @@ _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); # endif _GL_CXXALIAS_MDA (getw, int, (FILE *restrict stream)); # else +# if @HAVE_DECL_GETW@ +# if defined __APPLE__ && defined __MACH__ +/* The presence of the declaration depends on _POSIX_C_SOURCE. */ +_GL_FUNCDECL_SYS (getw, int, (FILE *restrict stream)); +# endif _GL_CXXALIAS_SYS (getw, int, (FILE *restrict stream)); +# endif # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (getw); +# endif #endif #if @GNULIB_OBSTACK_PRINTF@ || @GNULIB_OBSTACK_PRINTF_POSIX@ @@ -1052,13 +1170,15 @@ _GL_WARN_ON_USE (perror, "perror is not always POSIX compliant - " # endif _GL_FUNCDECL_RPL (popen, FILE *, (const char *cmd, const char *mode) - _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)); + _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1) + _GL_ATTRIBUTE_MALLOC); _GL_CXXALIAS_RPL (popen, FILE *, (const char *cmd, const char *mode)); # else # if !@HAVE_POPEN@ || __GNUC__ >= 11 _GL_FUNCDECL_SYS (popen, FILE *, (const char *cmd, const char *mode) - _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)); + _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1) + _GL_ATTRIBUTE_MALLOC); # endif _GL_CXXALIAS_SYS (popen, FILE *, (const char *cmd, const char *mode)); # endif @@ -1068,7 +1188,8 @@ _GL_CXXALIASWARN (popen); /* For -Wmismatched-dealloc: Associate popen with pclose or rpl_pclose. */ _GL_FUNCDECL_SYS (popen, FILE *, (const char *cmd, const char *mode) - _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1)); + _GL_ARG_NONNULL ((1, 2)) _GL_ATTRIBUTE_DEALLOC (pclose, 1) + _GL_ATTRIBUTE_MALLOC); # endif # if defined GNULIB_POSIXCHECK # undef popen @@ -1190,9 +1311,17 @@ _GL_CXXALIASWARN (puts); # endif _GL_CXXALIAS_MDA (putw, int, (int w, FILE *restrict stream)); # else +# if @HAVE_DECL_PUTW@ +# if defined __APPLE__ && defined __MACH__ +/* The presence of the declaration depends on _POSIX_C_SOURCE. */ +_GL_FUNCDECL_SYS (putw, int, (int w, FILE *restrict stream)); +# endif _GL_CXXALIAS_SYS (putw, int, (int w, FILE *restrict stream)); +# endif # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (putw); +# endif #endif #if @GNULIB_REMOVE@ @@ -1398,13 +1527,15 @@ _GL_CXXALIASWARN (tempnam); # define tmpfile rpl_tmpfile # endif _GL_FUNCDECL_RPL (tmpfile, FILE *, (void) - _GL_ATTRIBUTE_DEALLOC (fclose, 1)); + _GL_ATTRIBUTE_DEALLOC (fclose, 1) + _GL_ATTRIBUTE_MALLOC); _GL_CXXALIAS_RPL (tmpfile, FILE *, (void)); # else # if __GNUC__ >= 11 /* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose. */ _GL_FUNCDECL_SYS (tmpfile, FILE *, (void) - _GL_ATTRIBUTE_DEALLOC (fclose, 1)); + _GL_ATTRIBUTE_DEALLOC (fclose, 1) + _GL_ATTRIBUTE_MALLOC); # endif _GL_CXXALIAS_SYS (tmpfile, FILE *, (void)); # endif @@ -1415,7 +1546,8 @@ _GL_CXXALIASWARN (tmpfile); # if @GNULIB_FCLOSE@ && __GNUC__ >= 11 && !defined tmpfile /* For -Wmismatched-dealloc: Associate tmpfile with fclose or rpl_fclose. */ _GL_FUNCDECL_SYS (tmpfile, FILE *, (void) - _GL_ATTRIBUTE_DEALLOC (fclose, 1)); + _GL_ATTRIBUTE_DEALLOC (fclose, 1) + _GL_ATTRIBUTE_MALLOC); # endif # if defined GNULIB_POSIXCHECK # undef tmpfile diff --git a/lib/stdlib.in.h b/lib/stdlib.in.h index a86643c..5f92905 100644 --- a/lib/stdlib.in.h +++ b/lib/stdlib.in.h @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright (C) 1995, 2001-2004, 2006-2022 Free Software Foundation, Inc. + Copyright (C) 1995, 2001-2004, 2006-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -37,6 +37,13 @@ #ifndef _@GUARD_PREFIX@_STDLIB_H #define _@GUARD_PREFIX@_STDLIB_H +/* This file uses _Noreturn, _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC, + _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK, + HAVE_RAW_DECL_*. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + /* NetBSD 5.0 mis-defines NULL. */ #include @@ -67,9 +74,7 @@ # include # endif -# if !@HAVE_STRUCT_RANDOM_DATA@ || @REPLACE_RANDOM_R@ || !@HAVE_RANDOM_R@ -# include -# endif +# include # if !@HAVE_STRUCT_RANDOM_DATA@ /* Define 'struct random_data'. @@ -128,6 +133,28 @@ struct random_data # endif #endif +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +#ifndef _GL_ATTRIBUTE_NOTHROW +# if defined __cplusplus +# if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4 +# if __cplusplus >= 201103L +# define _GL_ATTRIBUTE_NOTHROW noexcept (true) +# else +# define _GL_ATTRIBUTE_NOTHROW throw () +# endif +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# else +# if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__ +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# endif +#endif + /* The __attribute__ feature is available in gcc versions 2.5 and later. The attribute __pure__ was added in gcc 2.96. */ #ifndef _GL_ATTRIBUTE_PURE @@ -164,11 +191,22 @@ struct random_data #if @GNULIB__EXIT@ /* Terminate the current process with the given return code, without running the 'atexit' handlers. */ -# if !@HAVE__EXIT@ +# if @REPLACE__EXIT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef _Exit +# define _Exit rpl__Exit +# endif +_GL_FUNCDECL_RPL (_Exit, _Noreturn void, (int status)); +_GL_CXXALIAS_RPL (_Exit, void, (int status)); +# else +# if !@HAVE__EXIT@ _GL_FUNCDECL_SYS (_Exit, _Noreturn void, (int status)); -# endif +# endif _GL_CXXALIAS_SYS (_Exit, void, (int status)); +# endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (_Exit); +# endif #elif defined GNULIB_POSIXCHECK # undef _Exit # if HAVE_RAW_DECL__EXIT @@ -185,7 +223,7 @@ _GL_WARN_ON_USE (_Exit, "_Exit is unportable - " # define free rpl_free # endif # if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) -_GL_FUNCDECL_RPL (free, void, (void *ptr) throw ()); +_GL_FUNCDECL_RPL (free, void, (void *ptr) _GL_ATTRIBUTE_NOTHROW); # else _GL_FUNCDECL_RPL (free, void, (void *ptr)); # endif @@ -219,22 +257,36 @@ _GL_CXXALIAS_RPL (aligned_alloc, void *, (size_t alignment, size_t size)); # if @HAVE_ALIGNED_ALLOC@ # if __GNUC__ >= 11 /* For -Wmismatched-dealloc: Associate aligned_alloc with free or rpl_free. */ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2 +_GL_FUNCDECL_SYS (aligned_alloc, void *, + (size_t alignment, size_t size) + _GL_ATTRIBUTE_NOTHROW + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (aligned_alloc, void *, (size_t alignment, size_t size) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif _GL_CXXALIAS_SYS (aligned_alloc, void *, (size_t alignment, size_t size)); # endif # endif -# if @HAVE_ALIGNED_ALLOC@ +# if (__GLIBC__ >= 2) && @HAVE_ALIGNED_ALLOC@ _GL_CXXALIASWARN (aligned_alloc); # endif #else # if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined aligned_alloc /* For -Wmismatched-dealloc: Associate aligned_alloc with free or rpl_free. */ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 16) > 2 +_GL_FUNCDECL_SYS (aligned_alloc, void *, + (size_t alignment, size_t size) + _GL_ATTRIBUTE_NOTHROW + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (aligned_alloc, void *, (size_t alignment, size_t size) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif # if defined GNULIB_POSIXCHECK # undef aligned_alloc @@ -277,9 +329,16 @@ _GL_CXXALIAS_RPL (calloc, void *, (size_t nmemb, size_t size)); # else # if __GNUC__ >= 11 /* For -Wmismatched-dealloc: Associate calloc with free or rpl_free. */ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2 +_GL_FUNCDECL_SYS (calloc, void *, + (size_t nmemb, size_t size) + _GL_ATTRIBUTE_NOTHROW + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (calloc, void *, (size_t nmemb, size_t size) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif _GL_CXXALIAS_SYS (calloc, void *, (size_t nmemb, size_t size)); # endif @@ -289,9 +348,16 @@ _GL_CXXALIASWARN (calloc); #else # if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined calloc /* For -Wmismatched-dealloc: Associate calloc with free or rpl_free. */ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2 +_GL_FUNCDECL_SYS (calloc, void *, + (size_t nmemb, size_t size) + _GL_ATTRIBUTE_NOTHROW + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (calloc, void *, (size_t nmemb, size_t size) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif # if defined GNULIB_POSIXCHECK # undef calloc @@ -313,10 +379,18 @@ _GL_FUNCDECL_RPL (canonicalize_file_name, char *, _GL_CXXALIAS_RPL (canonicalize_file_name, char *, (const char *name)); # else # if !@HAVE_CANONICALIZE_FILE_NAME@ || __GNUC__ >= 11 +# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 +_GL_FUNCDECL_SYS (canonicalize_file_name, char *, + (const char *name) + _GL_ATTRIBUTE_NOTHROW + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name) _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif _GL_CXXALIAS_SYS (canonicalize_file_name, char *, (const char *name)); # endif @@ -329,10 +403,18 @@ _GL_CXXALIASWARN (canonicalize_file_name); # if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined canonicalize_file_name /* For -Wmismatched-dealloc: Associate canonicalize_file_name with free or rpl_free. */ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 +_GL_FUNCDECL_SYS (canonicalize_file_name, char *, + (const char *name) + _GL_ATTRIBUTE_NOTHROW + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (canonicalize_file_name, char *, (const char *name) _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif # if defined GNULIB_POSIXCHECK # undef canonicalize_file_name @@ -416,12 +498,24 @@ _GL_CXXALIASWARN (gcvt); The three numbers are the load average of the last 1 minute, the last 5 minutes, and the last 15 minutes, respectively. LOADAVG is an array of NELEM numbers. */ -# if !@HAVE_DECL_GETLOADAVG@ +# if @REPLACE_GETLOADAVG@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef getloadavg +# define getloadavg rpl_getloadavg +# endif +_GL_FUNCDECL_RPL (getloadavg, int, (double loadavg[], int nelem) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (getloadavg, int, (double loadavg[], int nelem)); +# else +# if !@HAVE_DECL_GETLOADAVG@ _GL_FUNCDECL_SYS (getloadavg, int, (double loadavg[], int nelem) _GL_ARG_NONNULL ((1))); -# endif +# endif _GL_CXXALIAS_SYS (getloadavg, int, (double loadavg[], int nelem)); +# endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (getloadavg); +# endif #elif defined GNULIB_POSIXCHECK # undef getloadavg # if HAVE_RAW_DECL_GETLOADAVG @@ -430,6 +524,41 @@ _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - " # endif #endif +#if @GNULIB_GETPROGNAME@ +/* Return the base name of the executing program. + On native Windows this will usually end in ".exe" or ".EXE". */ +# if @REPLACE_GETPROGNAME@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef getprogname +# define getprogname rpl_getprogname +# endif +# if @HAVE_DECL_PROGRAM_INVOCATION_NAME@ +_GL_FUNCDECL_RPL (getprogname, const char *, (void) _GL_ATTRIBUTE_PURE); +# else +_GL_FUNCDECL_RPL (getprogname, const char *, (void)); +# endif +_GL_CXXALIAS_RPL (getprogname, const char *, (void)); +# else +# if !@HAVE_GETPROGNAME@ +# if @HAVE_DECL_PROGRAM_INVOCATION_NAME@ +_GL_FUNCDECL_SYS (getprogname, const char *, (void) _GL_ATTRIBUTE_PURE); +# else +_GL_FUNCDECL_SYS (getprogname, const char *, (void)); +# endif +# endif +_GL_CXXALIAS_SYS (getprogname, const char *, (void)); +# endif +# if __GLIBC__ >= 2 +_GL_CXXALIASWARN (getprogname); +# endif +#elif defined GNULIB_POSIXCHECK +# undef getprogname +# if HAVE_RAW_DECL_GETPROGNAME +_GL_WARN_ON_USE (getprogname, "getprogname is unportable - " + "use gnulib module getprogname for portability"); +# endif +#endif + #if @GNULIB_GETSUBOPT@ /* Assuming *OPTIONP is a comma separated list of elements of the form "token" or "token=value", getsubopt parses the first of these elements. @@ -442,14 +571,28 @@ _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - " Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined. For more details see the POSIX specification. https://pubs.opengroup.org/onlinepubs/9699919799/functions/getsubopt.html */ -# if !@HAVE_GETSUBOPT@ +# if @REPLACE_GETSUBOPT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef getsubopt +# define getsubopt rpl_getsubopt +# endif +_GL_FUNCDECL_RPL (getsubopt, int, + (char **optionp, char *const *tokens, char **valuep) + _GL_ARG_NONNULL ((1, 2, 3))); +_GL_CXXALIAS_RPL (getsubopt, int, + (char **optionp, char *const *tokens, char **valuep)); +# else +# if !@HAVE_GETSUBOPT@ _GL_FUNCDECL_SYS (getsubopt, int, (char **optionp, char *const *tokens, char **valuep) _GL_ARG_NONNULL ((1, 2, 3))); -# endif +# endif _GL_CXXALIAS_SYS (getsubopt, int, (char **optionp, char *const *tokens, char **valuep)); +# endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (getsubopt); +# endif #elif defined GNULIB_POSIXCHECK # undef getsubopt # if HAVE_RAW_DECL_GETSUBOPT @@ -493,9 +636,16 @@ _GL_CXXALIAS_RPL (malloc, void *, (size_t size)); # else # if __GNUC__ >= 11 /* For -Wmismatched-dealloc: Associate malloc with free or rpl_free. */ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2 +_GL_FUNCDECL_SYS (malloc, void *, + (size_t size) + _GL_ATTRIBUTE_NOTHROW + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (malloc, void *, (size_t size) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif _GL_CXXALIAS_SYS (malloc, void *, (size_t size)); # endif @@ -505,9 +655,16 @@ _GL_CXXALIASWARN (malloc); #else # if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined malloc /* For -Wmismatched-dealloc: Associate malloc with free or rpl_free. */ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2 +_GL_FUNCDECL_SYS (malloc, void *, + (size_t size) + _GL_ATTRIBUTE_NOTHROW + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (malloc, void *, (size_t size) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif # if defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC # undef malloc @@ -517,6 +674,51 @@ _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - " # endif #endif +/* Return maximum number of bytes of a multibyte character. */ +#if @REPLACE_MB_CUR_MAX@ +# if !GNULIB_defined_MB_CUR_MAX +static inline +int gl_MB_CUR_MAX (void) +{ + /* Turn the value 3 to the value 4, as needed for the UTF-8 encoding. */ + return MB_CUR_MAX + (MB_CUR_MAX == 3); +} +# undef MB_CUR_MAX +# define MB_CUR_MAX gl_MB_CUR_MAX () +# define GNULIB_defined_MB_CUR_MAX 1 +# endif +#endif + +/* Convert a string to a wide string. */ +#if @GNULIB_MBSTOWCS@ +# if @REPLACE_MBSTOWCS@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef mbstowcs +# define mbstowcs rpl_mbstowcs +# endif +_GL_FUNCDECL_RPL (mbstowcs, size_t, + (wchar_t *restrict dest, const char *restrict src, + size_t len) + _GL_ARG_NONNULL ((2))); +_GL_CXXALIAS_RPL (mbstowcs, size_t, + (wchar_t *restrict dest, const char *restrict src, + size_t len)); +# else +_GL_CXXALIAS_SYS (mbstowcs, size_t, + (wchar_t *restrict dest, const char *restrict src, + size_t len)); +# endif +# if __GLIBC__ >= 2 +_GL_CXXALIASWARN (mbstowcs); +# endif +#elif defined GNULIB_POSIXCHECK +# undef mbstowcs +# if HAVE_RAW_DECL_MBSTOWCS +_GL_WARN_ON_USE (mbstowcs, "mbstowcs is unportable - " + "use gnulib module mbstowcs for portability"); +# endif +#endif + /* Convert a multibyte character to a wide character. */ #if @GNULIB_MBTOWC@ # if @REPLACE_MBTOWC@ @@ -579,12 +781,24 @@ _GL_WARN_ON_USE (mkdtemp, "mkdtemp is unportable - " implementation. Returns the open file descriptor if successful, otherwise -1 and errno set. */ -# if !@HAVE_MKOSTEMP@ +# if @REPLACE_MKOSTEMP@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef mkostemp +# define mkostemp rpl_mkostemp +# endif +_GL_FUNCDECL_RPL (mkostemp, int, (char * /*template*/, int /*flags*/) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (mkostemp, int, (char * /*template*/, int /*flags*/)); +# else +# if !@HAVE_MKOSTEMP@ _GL_FUNCDECL_SYS (mkostemp, int, (char * /*template*/, int /*flags*/) _GL_ARG_NONNULL ((1))); -# endif +# endif _GL_CXXALIAS_SYS (mkostemp, int, (char * /*template*/, int /*flags*/)); +# endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (mkostemp); +# endif #elif defined GNULIB_POSIXCHECK # undef mkostemp # if HAVE_RAW_DECL_MKOSTEMP @@ -607,14 +821,28 @@ _GL_WARN_ON_USE (mkostemp, "mkostemp is unportable - " implementation. Returns the open file descriptor if successful, otherwise -1 and errno set. */ -# if !@HAVE_MKOSTEMPS@ +# if @REPLACE_MKOSTEMPS@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef mkostemps +# define mkostemps rpl_mkostemps +# endif +_GL_FUNCDECL_RPL (mkostemps, int, + (char * /*template*/, int /*suffixlen*/, int /*flags*/) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (mkostemps, int, + (char * /*template*/, int /*suffixlen*/, int /*flags*/)); +# else +# if !@HAVE_MKOSTEMPS@ _GL_FUNCDECL_SYS (mkostemps, int, (char * /*template*/, int /*suffixlen*/, int /*flags*/) _GL_ARG_NONNULL ((1))); -# endif +# endif _GL_CXXALIAS_SYS (mkostemps, int, (char * /*template*/, int /*suffixlen*/, int /*flags*/)); +# endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (mkostemps); +# endif #elif defined GNULIB_POSIXCHECK # undef mkostemps # if HAVE_RAW_DECL_MKOSTEMPS @@ -713,7 +941,7 @@ _GL_CXXALIAS_SYS (posix_memalign, int, (void **memptr, size_t alignment, size_t size)); # endif # endif -# if @HAVE_POSIX_MEMALIGN@ +# if __GLIBC__ >= 2 && @HAVE_POSIX_MEMALIGN@ _GL_CXXALIASWARN (posix_memalign); # endif #elif defined GNULIB_POSIXCHECK @@ -727,11 +955,22 @@ _GL_WARN_ON_USE (posix_memalign, "posix_memalign is not portable - " #if @GNULIB_POSIX_OPENPT@ /* Return an FD open to the master side of a pseudo-terminal. Flags should include O_RDWR, and may also include O_NOCTTY. */ -# if !@HAVE_POSIX_OPENPT@ +# if @REPLACE_POSIX_OPENPT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef posix_openpt +# define posix_openpt rpl_posix_openpt +# endif +_GL_FUNCDECL_RPL (posix_openpt, int, (int flags)); +_GL_CXXALIAS_RPL (posix_openpt, int, (int flags)); +# else +# if !@HAVE_POSIX_OPENPT@ _GL_FUNCDECL_SYS (posix_openpt, int, (int flags)); -# endif +# endif _GL_CXXALIAS_SYS (posix_openpt, int, (int flags)); +# endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (posix_openpt); +# endif #elif defined GNULIB_POSIXCHECK # undef posix_openpt # if HAVE_RAW_DECL_POSIX_OPENPT @@ -808,6 +1047,10 @@ _GL_CXXALIAS_RPL (putenv, int, (char *string)); # define putenv _putenv # endif _GL_CXXALIAS_MDA (putenv, int, (char *string)); +# elif defined __KLIBC__ +/* Need to cast, because on OS/2 kLIBC, the first parameter is + const char *string. */ +_GL_CXXALIAS_SYS_CAST (putenv, int, (char *string)); # else _GL_CXXALIAS_SYS (putenv, int, (char *string)); # endif @@ -824,6 +1067,10 @@ _GL_CXXALIASWARN (putenv); /* Need to cast, because on mingw, the parameter is either 'const char *string' or 'char *string'. */ _GL_CXXALIAS_MDA_CAST (putenv, int, (char *string)); +# elif defined __KLIBC__ +/* Need to cast, because on OS/2 kLIBC, the first parameter is + const char *string. */ +_GL_CXXALIAS_SYS_CAST (putenv, int, (char *string)); # else _GL_CXXALIAS_SYS (putenv, int, (char *string)); # endif @@ -875,11 +1122,26 @@ _GL_WARN_ON_USE (qsort_r, "qsort_r is not portable - " #endif -#if @GNULIB_RANDOM_R@ -# if !@HAVE_RANDOM_R@ -# ifndef RAND_MAX -# define RAND_MAX 2147483647 +#if @GNULIB_RAND@ || (@GNULIB_RANDOM_R@ && !@HAVE_RANDOM_R@) +# ifndef RAND_MAX +# define RAND_MAX 2147483647 +# endif +#endif + + +#if @GNULIB_RAND@ +# if @REPLACE_RAND@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef rand +# define rand rpl_rand # endif +_GL_FUNCDECL_RPL (rand, int, (void)); +_GL_CXXALIAS_RPL (rand, int, (void)); +# else +_GL_CXXALIAS_SYS (rand, int, (void)); +# endif +# if __GLIBC__ >= 2 +_GL_CXXALIASWARN (rand); # endif #endif @@ -900,7 +1162,9 @@ _GL_FUNCDECL_SYS (random, long, (void)); int. */ _GL_CXXALIAS_SYS_CAST (random, long, (void)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (random); +# endif #elif defined GNULIB_POSIXCHECK # undef random # if HAVE_RAW_DECL_RANDOM @@ -925,7 +1189,9 @@ _GL_FUNCDECL_SYS (srandom, void, (unsigned int seed)); unsigned long seed. */ _GL_CXXALIAS_SYS_CAST (srandom, void, (unsigned int seed)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (srandom); +# endif #elif defined GNULIB_POSIXCHECK # undef srandom # if HAVE_RAW_DECL_SRANDOM @@ -956,7 +1222,9 @@ _GL_FUNCDECL_SYS (initstate, char *, _GL_CXXALIAS_SYS_CAST (initstate, char *, (unsigned int seed, char *buf, size_t buf_size)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (initstate); +# endif #elif defined GNULIB_POSIXCHECK # undef initstate # if HAVE_RAW_DECL_INITSTATE @@ -981,7 +1249,9 @@ _GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1))); is const char *arg_state. */ _GL_CXXALIAS_SYS_CAST (setstate, char *, (char *arg_state)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (setstate); +# endif #elif defined GNULIB_POSIXCHECK # undef setstate # if HAVE_RAW_DECL_SETSTATE @@ -1126,8 +1396,16 @@ _GL_CXXALIAS_RPL (realloc, void *, (void *ptr, size_t size)); # else # if __GNUC__ >= 11 /* For -Wmismatched-dealloc: Associate realloc with free or rpl_free. */ -_GL_FUNCDECL_SYS (realloc, void *, (void *ptr, size_t size) - _GL_ATTRIBUTE_DEALLOC_FREE); +# if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2 +_GL_FUNCDECL_SYS (realloc, void *, + (void *ptr, size_t size) + _GL_ATTRIBUTE_NOTHROW + _GL_ATTRIBUTE_DEALLOC_FREE); +# else +_GL_FUNCDECL_SYS (realloc, void *, + (void *ptr, size_t size) + _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif _GL_CXXALIAS_SYS (realloc, void *, (void *ptr, size_t size)); # endif @@ -1137,8 +1415,16 @@ _GL_CXXALIASWARN (realloc); #else # if @GNULIB_FREE_POSIX@ && __GNUC__ >= 11 && !defined realloc /* For -Wmismatched-dealloc: Associate realloc with free or rpl_free. */ -_GL_FUNCDECL_SYS (realloc, void *, (void *ptr, size_t size) - _GL_ATTRIBUTE_DEALLOC_FREE); +# if __GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2 +_GL_FUNCDECL_SYS (realloc, void *, + (void *ptr, size_t size) + _GL_ATTRIBUTE_NOTHROW + _GL_ATTRIBUTE_DEALLOC_FREE); +# else +_GL_FUNCDECL_SYS (realloc, void *, + (void *ptr, size_t size) + _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif # if defined GNULIB_POSIXCHECK && !_GL_USE_STDLIB_ALLOC # undef realloc @@ -1167,7 +1453,9 @@ _GL_FUNCDECL_SYS (reallocarray, void *, _GL_CXXALIAS_SYS (reallocarray, void *, (void *ptr, size_t nmemb, size_t size)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (reallocarray); +# endif #elif defined GNULIB_POSIXCHECK # undef reallocarray # if HAVE_RAW_DECL_REALLOCARRAY @@ -1363,7 +1651,9 @@ _GL_CXXALIAS_SYS (strtol, long, (const char *restrict string, char **restrict endptr, int base)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (strtol); +# endif #elif defined GNULIB_POSIXCHECK # undef strtol # if HAVE_RAW_DECL_STRTOL @@ -1444,7 +1734,9 @@ _GL_CXXALIAS_SYS (strtoul, unsigned long, (const char *restrict string, char **restrict endptr, int base)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (strtoul); +# endif #elif defined GNULIB_POSIXCHECK # undef strtoul # if HAVE_RAW_DECL_STRTOUL diff --git a/lib/streq.h b/lib/streq.h index 49f73c1..1234346 100644 --- a/lib/streq.h +++ b/lib/streq.h @@ -1,5 +1,5 @@ /* Optimized string comparison. - Copyright (C) 2001-2002, 2007, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2007, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/striconv.c b/lib/striconv.c index d3da10a..9688a9f 100644 --- a/lib/striconv.c +++ b/lib/striconv.c @@ -1,5 +1,5 @@ /* Charset conversion. - Copyright (C) 2001-2007, 2010-2022 Free Software Foundation, Inc. + Copyright (C) 2001-2007, 2010-2024 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This file is free software: you can redistribute it and/or modify diff --git a/lib/striconv.h b/lib/striconv.h index 5a184ac..cb42c7b 100644 --- a/lib/striconv.h +++ b/lib/striconv.h @@ -1,5 +1,5 @@ /* Charset conversion. - Copyright (C) 2001-2004, 2006-2007, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006-2007, 2009-2024 Free Software Foundation, Inc. Written by Bruno Haible and Simon Josefsson. This file is free software: you can redistribute it and/or modify @@ -18,6 +18,11 @@ #ifndef _STRICONV_H #define _STRICONV_H +/* This file uses _GL_ATTRIBUTE_MALLOC, HAVE_ICONV. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + #include #if HAVE_ICONV #include diff --git a/lib/string.in.h b/lib/string.in.h index 3996da9..01ea3e3 100644 --- a/lib/string.in.h +++ b/lib/string.in.h @@ -1,6 +1,6 @@ /* A GNU-like . - Copyright (C) 1995-1996, 2001-2022 Free Software Foundation, Inc. + Copyright (C) 1995-1996, 2001-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -44,6 +44,13 @@ #ifndef _@GUARD_PREFIX@_STRING_H #define _@GUARD_PREFIX@_STRING_H +/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC, + _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK, + HAVE_RAW_DECL_*. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + /* NetBSD 5.0 mis-defines NULL. */ #include @@ -59,10 +66,11 @@ # include #endif -/* AIX 7.2 declares ffsl and ffsll in , not in . */ +/* AIX 7.2 and Android 13 declare ffsl and ffsll in , not in + . */ /* But in any case avoid namespace pollution on glibc systems. */ #if ((@GNULIB_FFSL@ || @GNULIB_FFSLL@ || defined GNULIB_POSIXCHECK) \ - && defined _AIX) \ + && (defined _AIX || defined __ANDROID__)) \ && ! defined __GLIBC__ # include #endif @@ -82,7 +90,14 @@ can be freed via 'free'; it can be used only after declaring 'free'. */ /* Applies to: functions. Cannot be used on inline functions. */ #ifndef _GL_ATTRIBUTE_DEALLOC_FREE -# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +# if defined __cplusplus && defined __GNUC__ && !defined __clang__ +/* Work around GCC bug */ +# define _GL_ATTRIBUTE_DEALLOC_FREE \ + _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1) +# else +# define _GL_ATTRIBUTE_DEALLOC_FREE \ + _GL_ATTRIBUTE_DEALLOC (free, 1) +# endif #endif /* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly @@ -96,6 +111,28 @@ # endif #endif +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +#ifndef _GL_ATTRIBUTE_NOTHROW +# if defined __cplusplus +# if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4 +# if __cplusplus >= 201103L +# define _GL_ATTRIBUTE_NOTHROW noexcept (true) +# else +# define _GL_ATTRIBUTE_NOTHROW throw () +# endif +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# else +# if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__ +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# endif +#endif + /* The __attribute__ feature is available in gcc versions 2.5 and later. The attribute __pure__ was added in gcc 2.96. */ #ifndef _GL_ATTRIBUTE_PURE @@ -118,7 +155,11 @@ # if (@REPLACE_FREE@ && !defined free \ && !(defined __cplusplus && defined GNULIB_NAMESPACE)) /* We can't do '#define free rpl_free' here. */ +# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) +_GL_EXTERN_C void rpl_free (void *) _GL_ATTRIBUTE_NOTHROW; +# else _GL_EXTERN_C void rpl_free (void *); +# endif # undef _GL_ATTRIBUTE_DEALLOC_FREE # define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1) # else @@ -130,7 +171,7 @@ _GL_EXTERN_C void __cdecl free (void *); # else # if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) -_GL_EXTERN_C void free (void *) throw (); +_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW; # else _GL_EXTERN_C void free (void *); # endif @@ -145,7 +186,7 @@ _GL_EXTERN_C void __cdecl free (void *); # else # if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) -_GL_EXTERN_C void free (void *) throw (); +_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW; # else _GL_EXTERN_C void free (void *); # endif @@ -248,9 +289,12 @@ _GL_CXXALIAS_SYS_CAST2 (memchr, # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ || defined __clang__) -_GL_CXXALIASWARN1 (memchr, void *, (void *__s, int __c, size_t __n) throw ()); +_GL_CXXALIASWARN1 (memchr, void *, + (void *__s, int __c, size_t __n) + _GL_ATTRIBUTE_NOTHROW); _GL_CXXALIASWARN1 (memchr, void const *, - (void const *__s, int __c, size_t __n) throw ()); + (void const *__s, int __c, size_t __n) + _GL_ATTRIBUTE_NOTHROW); # elif __GLIBC__ >= 2 _GL_CXXALIASWARN (memchr); # endif @@ -300,16 +344,32 @@ _GL_WARN_ON_USE (memmem, "memmem is unportable and often quadratic - " /* Copy N bytes of SRC to DEST, return pointer to bytes after the last written byte. */ #if @GNULIB_MEMPCPY@ -# if ! @HAVE_MEMPCPY@ +# if @REPLACE_MEMPCPY@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef mempcpy +# define mempcpy rpl_mempcpy +# endif +_GL_FUNCDECL_RPL (mempcpy, void *, + (void *restrict __dest, void const *restrict __src, + size_t __n) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (mempcpy, void *, + (void *restrict __dest, void const *restrict __src, + size_t __n)); +# else +# if !@HAVE_MEMPCPY@ _GL_FUNCDECL_SYS (mempcpy, void *, (void *restrict __dest, void const *restrict __src, size_t __n) _GL_ARG_NONNULL ((1, 2))); -# endif +# endif _GL_CXXALIAS_SYS (mempcpy, void *, (void *restrict __dest, void const *restrict __src, size_t __n)); +# endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (mempcpy); +# endif #elif defined GNULIB_POSIXCHECK # undef mempcpy # if HAVE_RAW_DECL_MEMPCPY @@ -334,9 +394,13 @@ _GL_CXXALIAS_SYS_CAST2 (memrchr, # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ || defined __clang__) -_GL_CXXALIASWARN1 (memrchr, void *, (void *, int, size_t) throw ()); -_GL_CXXALIASWARN1 (memrchr, void const *, (void const *, int, size_t) throw ()); -# else +_GL_CXXALIASWARN1 (memrchr, void *, + (void *, int, size_t) + _GL_ATTRIBUTE_NOTHROW); +_GL_CXXALIASWARN1 (memrchr, void const *, + (void const *, int, size_t) + _GL_ATTRIBUTE_NOTHROW); +# elif __GLIBC__ >= 2 _GL_CXXALIASWARN (memrchr); # endif #elif defined GNULIB_POSIXCHECK @@ -347,6 +411,23 @@ _GL_WARN_ON_USE (memrchr, "memrchr is unportable - " # endif #endif +/* Overwrite a block of memory. The compiler will not optimize + effects away, even if the block is dead after the call. */ +#if @GNULIB_MEMSET_EXPLICIT@ +# if ! @HAVE_MEMSET_EXPLICIT@ +_GL_FUNCDECL_SYS (memset_explicit, void *, + (void *__dest, int __c, size_t __n) _GL_ARG_NONNULL ((1))); +# endif +_GL_CXXALIAS_SYS (memset_explicit, void *, (void *__dest, int __c, size_t __n)); +_GL_CXXALIASWARN (memset_explicit); +#elif defined GNULIB_POSIXCHECK +# undef memset_explicit +# if HAVE_RAW_DECL_MEMSET_EXPLICIT +_GL_WARN_ON_USE (memset_explicit, "memset_explicit is unportable - " + "use gnulib module memset_explicit for portability"); +# endif +#endif + /* Find the first occurrence of C in S. More efficient than memchr(S,C,N), at the expense of undefined behavior if C does not occur within N bytes. */ @@ -365,9 +446,12 @@ _GL_CXXALIAS_SYS_CAST2 (rawmemchr, # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ || defined __clang__) -_GL_CXXALIASWARN1 (rawmemchr, void *, (void *__s, int __c_in) throw ()); +_GL_CXXALIASWARN1 (rawmemchr, void *, + (void *__s, int __c_in) + _GL_ATTRIBUTE_NOTHROW); _GL_CXXALIASWARN1 (rawmemchr, void const *, - (void const *__s, int __c_in) throw ()); + (void const *__s, int __c_in) + _GL_ATTRIBUTE_NOTHROW); # else _GL_CXXALIASWARN (rawmemchr); # endif @@ -381,14 +465,28 @@ _GL_WARN_ON_USE (rawmemchr, "rawmemchr is unportable - " /* Copy SRC to DST, returning the address of the terminating '\0' in DST. */ #if @GNULIB_STPCPY@ -# if ! @HAVE_STPCPY@ +# if @REPLACE_STPCPY@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef stpcpy +# define stpcpy rpl_stpcpy +# endif +_GL_FUNCDECL_RPL (stpcpy, char *, + (char *restrict __dst, char const *restrict __src) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (stpcpy, char *, + (char *restrict __dst, char const *restrict __src)); +# else +# if !@HAVE_STPCPY@ _GL_FUNCDECL_SYS (stpcpy, char *, (char *restrict __dst, char const *restrict __src) _GL_ARG_NONNULL ((1, 2))); -# endif +# endif _GL_CXXALIAS_SYS (stpcpy, char *, (char *restrict __dst, char const *restrict __src)); +# endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (stpcpy); +# endif #elif defined GNULIB_POSIXCHECK # undef stpcpy # if HAVE_RAW_DECL_STPCPY @@ -423,7 +521,9 @@ _GL_CXXALIAS_SYS (stpncpy, char *, (char *restrict __dst, char const *restrict __src, size_t __n)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (stpncpy); +# endif #elif defined GNULIB_POSIXCHECK # undef stpncpy # if HAVE_RAW_DECL_STPNCPY @@ -471,10 +571,13 @@ _GL_CXXALIAS_SYS_CAST2 (strchrnul, # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ || defined __clang__) -_GL_CXXALIASWARN1 (strchrnul, char *, (char *__s, int __c_in) throw ()); +_GL_CXXALIASWARN1 (strchrnul, char *, + (char *__s, int __c_in) + _GL_ATTRIBUTE_NOTHROW); _GL_CXXALIASWARN1 (strchrnul, char const *, - (char const *__s, int __c_in) throw ()); -# else + (char const *__s, int __c_in) + _GL_ATTRIBUTE_NOTHROW); +# elif __GLIBC__ >= 2 _GL_CXXALIASWARN (strchrnul); # endif #elif defined GNULIB_POSIXCHECK @@ -509,10 +612,18 @@ _GL_CXXALIAS_MDA (strdup, char *, (char const *__s)); # undef strdup # endif # if (!@HAVE_DECL_STRDUP@ || __GNUC__ >= 11) && !defined strdup +# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 +_GL_FUNCDECL_SYS (strdup, char *, + (char const *__s) + _GL_ATTRIBUTE_NOTHROW + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif _GL_CXXALIAS_SYS (strdup, char *, (char const *__s)); # endif @@ -520,10 +631,18 @@ _GL_CXXALIASWARN (strdup); #else # if __GNUC__ >= 11 && !defined strdup /* For -Wmismatched-dealloc: Associate strdup with free or rpl_free. */ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 +_GL_FUNCDECL_SYS (strdup, char *, + (char const *__s) + _GL_ATTRIBUTE_NOTHROW + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (strdup, char *, (char const *__s) _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif # if defined GNULIB_POSIXCHECK # undef strdup @@ -592,10 +711,18 @@ _GL_FUNCDECL_RPL (strndup, char *, _GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n)); # else # if !@HAVE_DECL_STRNDUP@ || (__GNUC__ >= 11 && !defined strndup) +# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 +_GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) + _GL_ATTRIBUTE_NOTHROW + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (strndup, char *, (char const *__s, size_t __n) _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif _GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n)); # endif @@ -603,10 +730,18 @@ _GL_CXXALIASWARN (strndup); #else # if __GNUC__ >= 11 && !defined strndup /* For -Wmismatched-dealloc: Associate strndup with free or rpl_free. */ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 +_GL_FUNCDECL_SYS (strndup, char *, + (char const *__s, size_t __n) + _GL_ATTRIBUTE_NOTHROW + _GL_ARG_NONNULL ((1)) + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (strndup, char *, (char const *__s, size_t __n) _GL_ARG_NONNULL ((1)) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif # if defined GNULIB_POSIXCHECK # undef strndup @@ -675,9 +810,12 @@ _GL_CXXALIAS_SYS_CAST2 (strpbrk, # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ || defined __clang__) -_GL_CXXALIASWARN1 (strpbrk, char *, (char *__s, char const *__accept) throw ()); +_GL_CXXALIASWARN1 (strpbrk, char *, + (char *__s, char const *__accept) + _GL_ATTRIBUTE_NOTHROW); _GL_CXXALIASWARN1 (strpbrk, char const *, - (char const *__s, char const *__accept) throw ()); + (char const *__s, char const *__accept) + _GL_ATTRIBUTE_NOTHROW); # elif __GLIBC__ >= 2 _GL_CXXALIASWARN (strpbrk); # endif @@ -785,9 +923,11 @@ _GL_CXXALIAS_SYS_CAST2 (strstr, && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ || defined __clang__) _GL_CXXALIASWARN1 (strstr, char *, - (char *haystack, const char *needle) throw ()); + (char *haystack, const char *needle) + _GL_ATTRIBUTE_NOTHROW); _GL_CXXALIASWARN1 (strstr, const char *, - (const char *haystack, const char *needle) throw ()); + (const char *haystack, const char *needle) + _GL_ATTRIBUTE_NOTHROW); # elif __GLIBC__ >= 2 _GL_CXXALIASWARN (strstr); # endif @@ -836,10 +976,12 @@ _GL_CXXALIAS_SYS_CAST2 (strcasestr, && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) \ || defined __clang__) _GL_CXXALIASWARN1 (strcasestr, char *, - (char *haystack, const char *needle) throw ()); + (char *haystack, const char *needle) + _GL_ATTRIBUTE_NOTHROW); _GL_CXXALIASWARN1 (strcasestr, const char *, - (const char *haystack, const char *needle) throw ()); -# else + (const char *haystack, const char *needle) + _GL_ATTRIBUTE_NOTHROW); +# elif __GLIBC__ >= 2 _GL_CXXALIASWARN (strcasestr); # endif #elif defined GNULIB_POSIXCHECK @@ -943,7 +1085,9 @@ _GL_FUNCDECL_SYS (mbslen, size_t, (const char *string) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (mbslen, size_t, (const char *string)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (mbslen); +# endif #endif #if @GNULIB_MBSNLEN@ @@ -1185,7 +1329,7 @@ _GL_FUNCDECL_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen) # endif _GL_CXXALIAS_SYS (strerror_r, int, (int errnum, char *buf, size_t buflen)); # endif -# if @HAVE_DECL_STRERROR_R@ +# if __GLIBC__ >= 2 && @HAVE_DECL_STRERROR_R@ _GL_CXXALIASWARN (strerror_r); # endif #elif defined GNULIB_POSIXCHECK @@ -1275,12 +1419,22 @@ _GL_WARN_ON_USE (strsignal, "strsignal is unportable - " #endif #if @GNULIB_STRVERSCMP@ -# if !@HAVE_STRVERSCMP@ +# if @REPLACE_STRVERSCMP@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define strverscmp rpl_strverscmp +# endif +_GL_FUNCDECL_RPL (strverscmp, int, (const char *, const char *) + _GL_ATTRIBUTE_PURE + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (strverscmp, int, (const char *, const char *)); +# else +# if !@HAVE_STRVERSCMP@ _GL_FUNCDECL_SYS (strverscmp, int, (const char *, const char *) _GL_ATTRIBUTE_PURE _GL_ARG_NONNULL ((1, 2))); -# endif +# endif _GL_CXXALIAS_SYS (strverscmp, int, (const char *, const char *)); +# endif _GL_CXXALIASWARN (strverscmp); #elif defined GNULIB_POSIXCHECK # undef strverscmp diff --git a/lib/strnlen1.c b/lib/strnlen1.c index c22f96b..27c832a 100644 --- a/lib/strnlen1.c +++ b/lib/strnlen1.c @@ -1,5 +1,5 @@ /* Find the length of STRING + 1, but scan at most MAXLEN bytes. - Copyright (C) 2005-2006, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/strnlen1.h b/lib/strnlen1.h index d45dd91..8943f3e 100644 --- a/lib/strnlen1.h +++ b/lib/strnlen1.h @@ -1,5 +1,5 @@ /* Find the length of STRING + 1, but scan at most MAXLEN bytes. - Copyright (C) 2005, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2005, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -17,6 +17,11 @@ #ifndef _STRNLEN1_H #define _STRNLEN1_H +/* This file uses _GL_ATTRIBUTE_PURE. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + #include diff --git a/lib/sys_stat.in.h b/lib/sys_stat.in.h index 714c3cb..bf08f33 100644 --- a/lib/sys_stat.in.h +++ b/lib/sys_stat.in.h @@ -1,5 +1,5 @@ /* Provide a more complete sys/stat.h header file. - Copyright (C) 2005-2022 Free Software Foundation, Inc. + Copyright (C) 2005-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -25,6 +25,13 @@ #endif @PRAGMA_COLUMNS@ +/* This file uses #include_next of a system file that defines time_t. + For the 'year2038' module to work right, needs to have been + included before. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + #if defined __need_system_sys_stat_h /* Special invocation convention. */ @@ -48,12 +55,41 @@ #ifndef _@GUARD_PREFIX@_SYS_STAT_H #define _@GUARD_PREFIX@_SYS_STAT_H +/* This file uses _GL_ATTRIBUTE_NOTHROW, GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + + +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +#ifndef _GL_ATTRIBUTE_NOTHROW +# if defined __cplusplus +# if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4 +# if __cplusplus >= 201103L +# define _GL_ATTRIBUTE_NOTHROW noexcept (true) +# else +# define _GL_ATTRIBUTE_NOTHROW throw () +# endif +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# else +# if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__ +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# endif +#endif + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ /* The definition of _GL_WARN_ON_USE is copied here. */ + /* Before doing "#define mknod rpl_mknod" below, we need to include all headers that may declare mknod(). OS/2 kLIBC declares mknod() in , not in . */ @@ -549,7 +585,7 @@ _GL_FUNCDECL_SYS (futimens, int, (int fd, struct timespec const times[2])); # endif _GL_CXXALIAS_SYS (futimens, int, (int fd, struct timespec const times[2])); # endif -# if @HAVE_FUTIMENS@ +# if __GLIBC__ >= 2 && @HAVE_FUTIMENS@ _GL_CXXALIASWARN (futimens); # endif #elif defined GNULIB_POSIXCHECK @@ -563,7 +599,11 @@ _GL_WARN_ON_USE (futimens, "futimens is not portable - " #if @GNULIB_GETUMASK@ # if !@HAVE_GETUMASK@ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 +_GL_FUNCDECL_SYS (getumask, mode_t, (void) _GL_ATTRIBUTE_NOTHROW); +# else _GL_FUNCDECL_SYS (getumask, mode_t, (void)); +# endif # endif _GL_CXXALIAS_SYS (getumask, mode_t, (void)); # if @HAVE_GETUMASK@ @@ -596,44 +636,6 @@ _GL_WARN_ON_USE (lchmod, "lchmod is unportable - " #endif -#if @GNULIB_LSTAT@ -# if ! @HAVE_LSTAT@ -/* mingw does not support symlinks, therefore it does not have lstat. But - without links, stat does just fine. */ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# define lstat stat -# endif -_GL_CXXALIAS_RPL_1 (lstat, stat, int, - (const char *restrict name, struct stat *restrict buf)); -# elif @REPLACE_LSTAT@ -# if !(defined __cplusplus && defined GNULIB_NAMESPACE) -# undef lstat -# define lstat rpl_lstat -# endif -_GL_FUNCDECL_RPL (lstat, int, - (const char *restrict name, struct stat *restrict buf) - _GL_ARG_NONNULL ((1, 2))); -_GL_CXXALIAS_RPL (lstat, int, - (const char *restrict name, struct stat *restrict buf)); -# else -_GL_CXXALIAS_SYS (lstat, int, - (const char *restrict name, struct stat *restrict buf)); -# endif -# if @HAVE_LSTAT@ -_GL_CXXALIASWARN (lstat); -# endif -#elif @GNULIB_OVERRIDES_STRUCT_STAT@ -# undef lstat -# define lstat lstat_used_without_requesting_gnulib_module_lstat -#elif defined GNULIB_POSIXCHECK -# undef lstat -# if HAVE_RAW_DECL_LSTAT -_GL_WARN_ON_USE (lstat, "lstat is unportable - " - "use gnulib module lstat for portability"); -# endif -#endif - - #if @GNULIB_MKDIR@ # if @REPLACE_MKDIR@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -754,7 +756,9 @@ _GL_FUNCDECL_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode) # endif _GL_CXXALIAS_SYS (mkfifoat, int, (int fd, char const *file, mode_t mode)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (mkfifoat); +# endif #elif defined GNULIB_POSIXCHECK # undef mkfifoat # if HAVE_RAW_DECL_MKFIFOAT @@ -811,7 +815,9 @@ _GL_FUNCDECL_SYS (mknodat, int, _GL_CXXALIAS_SYS (mknodat, int, (int fd, char const *file, mode_t mode, dev_t dev)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (mknodat); +# endif #elif defined GNULIB_POSIXCHECK # undef mknodat # if HAVE_RAW_DECL_MKNODAT @@ -895,6 +901,44 @@ _GL_WARN_ON_USE (stat, "stat is unportable - " #endif +#if @GNULIB_LSTAT@ +# if ! @HAVE_LSTAT@ +/* mingw does not support symlinks, therefore it does not have lstat. But + without links, stat does just fine. */ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define lstat stat +# endif +_GL_CXXALIAS_RPL_1 (lstat, stat, int, + (const char *restrict name, struct stat *restrict buf)); +# elif @REPLACE_LSTAT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef lstat +# define lstat rpl_lstat +# endif +_GL_FUNCDECL_RPL (lstat, int, + (const char *restrict name, struct stat *restrict buf) + _GL_ARG_NONNULL ((1, 2))); +_GL_CXXALIAS_RPL (lstat, int, + (const char *restrict name, struct stat *restrict buf)); +# else +_GL_CXXALIAS_SYS (lstat, int, + (const char *restrict name, struct stat *restrict buf)); +# endif +# if @HAVE_LSTAT@ +_GL_CXXALIASWARN (lstat); +# endif +#elif @GNULIB_OVERRIDES_STRUCT_STAT@ +# undef lstat +# define lstat lstat_used_without_requesting_gnulib_module_lstat +#elif defined GNULIB_POSIXCHECK +# undef lstat +# if HAVE_RAW_DECL_LSTAT +_GL_WARN_ON_USE (lstat, "lstat is unportable - " + "use gnulib module lstat for portability"); +# endif +#endif + + #if @GNULIB_MDA_UMASK@ /* On native Windows, map 'umask' to '_umask', so that -loldnames is not required. In C++ with GNULIB_NAMESPACE, avoid differences between @@ -937,7 +981,7 @@ _GL_FUNCDECL_SYS (utimensat, int, (int fd, char const *name, _GL_CXXALIAS_SYS (utimensat, int, (int fd, char const *name, struct timespec const times[2], int flag)); # endif -# if @HAVE_UTIMENSAT@ +# if __GLIBC__ >= 2 && @HAVE_UTIMENSAT@ _GL_CXXALIASWARN (utimensat); # endif #elif defined GNULIB_POSIXCHECK diff --git a/lib/sys_time.in.h b/lib/sys_time.in.h index 87db1a8..4a301c4 100644 --- a/lib/sys_time.in.h +++ b/lib/sys_time.in.h @@ -1,6 +1,6 @@ /* Provide a more complete sys/time.h. - Copyright (C) 2007-2022 Free Software Foundation, Inc. + Copyright (C) 2007-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -24,6 +24,13 @@ #endif @PRAGMA_COLUMNS@ +/* This file uses #include_next of a system file that defines time_t. + For the 'year2038' module to work right, needs to have been + included before. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + /* On Cygwin and on many BSDish systems, includes itself recursively via . Simply delegate to the system's header in this case; it is a no-op. @@ -41,6 +48,11 @@ #ifndef _@GUARD_PREFIX@_SYS_TIME_H #define _@GUARD_PREFIX@_SYS_TIME_H +/* This file uses GNULIB_POSIXCHECK, HAVE_RAW_DECL_*. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + #if ! @HAVE_SYS_TIME_H@ # include #endif diff --git a/lib/sys_types.in.h b/lib/sys_types.in.h index 698e88d..0a0ccc3 100644 --- a/lib/sys_types.in.h +++ b/lib/sys_types.in.h @@ -1,6 +1,6 @@ /* Provide a more complete sys/types.h. - Copyright (C) 2011-2022 Free Software Foundation, Inc. + Copyright (C) 2011-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -20,6 +20,13 @@ #endif @PRAGMA_COLUMNS@ +/* This file uses #include_next of a system file that defines time_t. + For the 'year2038' module to work right, needs to have been + included before. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + #if defined _WIN32 && !defined __CYGWIN__ \ && (defined __need_off_t || defined __need___off64_t \ || defined __need_ssize_t || defined __need_time_t) diff --git a/lib/time.in.h b/lib/time.in.h index 6d4c771..58e103a 100644 --- a/lib/time.in.h +++ b/lib/time.in.h @@ -1,6 +1,6 @@ /* A more-standard . - Copyright (C) 2007-2022 Free Software Foundation, Inc. + Copyright (C) 2007-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -20,6 +20,13 @@ #endif @PRAGMA_COLUMNS@ +/* This file uses #include_next of a system file that defines time_t. + For the 'year2038' module to work right, needs to have been + included before. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + /* Don't get in the way of glibc when it includes time.h merely to declare a few standard symbols, rather than to declare all the symbols. (However, skip this for MinGW as it treats __need_time_t @@ -45,6 +52,12 @@ # @INCLUDE_NEXT@ @NEXT_TIME_H@ +/* This file uses _GL_ATTRIBUTE_DEPRECATED, GNULIB_POSIXCHECK, + HAVE_RAW_DECL_*. */ +# if !_GL_CONFIG_H_INCLUDED +# error "Please include config.h first." +# endif + /* NetBSD 5.0 mis-defines NULL. */ # include @@ -112,12 +125,30 @@ struct __time_t_must_be_integral { /* Set *TS to the current time, and return BASE. Upon failure, return 0. */ # if @GNULIB_TIMESPEC_GET@ -# if ! @HAVE_TIMESPEC_GET@ +# if @REPLACE_TIMESPEC_GET@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef timespec_get +# define timespec_get rpl_timespec_get +# endif +_GL_FUNCDECL_RPL (timespec_get, int, (struct timespec *ts, int base) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (timespec_get, int, (struct timespec *ts, int base)); +# else +# if !@HAVE_TIMESPEC_GET@ _GL_FUNCDECL_SYS (timespec_get, int, (struct timespec *ts, int base) _GL_ARG_NONNULL ((1))); -# endif +# endif _GL_CXXALIAS_SYS (timespec_get, int, (struct timespec *ts, int base)); +# endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (timespec_get); +# endif +# elif defined GNULIB_POSIXCHECK +# undef timespec_get +# if HAVE_RAW_DECL_TIMESPEC_GET +_GL_WARN_ON_USE (timespec_get, "timespec_get is unportable - " + "use gnulib module timespec_get for portability"); +# endif # endif /* Set *TS to the current time resolution, and return BASE. @@ -129,6 +160,34 @@ _GL_FUNCDECL_SYS (timespec_getres, int, (struct timespec *ts, int base) # endif _GL_CXXALIAS_SYS (timespec_getres, int, (struct timespec *ts, int base)); _GL_CXXALIASWARN (timespec_getres); +# elif defined GNULIB_POSIXCHECK +# undef timespec_getres +# if HAVE_RAW_DECL_TIMESPEC_GETRES +_GL_WARN_ON_USE (timespec_getres, "timespec_getres is unportable - " + "use gnulib module timespec_getres for portability"); +# endif +# endif + +/* Return the number of seconds that have elapsed since the Epoch. */ +# if @GNULIB_TIME@ +# if @REPLACE_TIME@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# define time rpl_time +# endif +_GL_FUNCDECL_RPL (time, time_t, (time_t *__tp)); +_GL_CXXALIAS_RPL (time, time_t, (time_t *__tp)); +# else +_GL_CXXALIAS_SYS (time, time_t, (time_t *__tp)); +# endif +# if __GLIBC__ >= 2 +_GL_CXXALIASWARN (time); +# endif +# elif defined GNULIB_POSIXCHECK +# undef time +# if HAVE_RAW_DECL_TIME +_GL_WARN_ON_USE (time, "time has consistency problems - " + "use gnulib module time for portability"); +# endif # endif /* Sleep for at least RQTP seconds unless interrupted, If interrupted, @@ -154,6 +213,12 @@ _GL_CXXALIAS_SYS (nanosleep, int, (struct timespec const *__rqtp, struct timespec *__rmtp)); # endif _GL_CXXALIASWARN (nanosleep); +# elif defined GNULIB_POSIXCHECK +# undef nanosleep +# if HAVE_RAW_DECL_NANOSLEEP +_GL_WARN_ON_USE (nanosleep, "nanosleep is unportable - " + "use gnulib module nanosleep for portability"); +# endif # endif /* Initialize time conversion information. */ @@ -189,6 +254,12 @@ _GL_CXXALIAS_MDA (tzset, void, (void)); _GL_CXXALIAS_SYS (tzset, void, (void)); # endif _GL_CXXALIASWARN (tzset); +# elif defined GNULIB_POSIXCHECK +# undef tzset +# if HAVE_RAW_DECL_TZSET +_GL_WARN_ON_USE (tzset, "tzset has portability problems - " + "use gnulib module tzset for portability"); +# endif # endif /* Return the 'time_t' representation of TP and normalize TP. */ @@ -205,6 +276,12 @@ _GL_CXXALIAS_SYS (mktime, time_t, (struct tm *__tp)); # if __GLIBC__ >= 2 _GL_CXXALIASWARN (mktime); # endif +# elif defined GNULIB_POSIXCHECK +# undef mktime +# if HAVE_RAW_DECL_MKTIME +_GL_WARN_ON_USE (mktime, "mktime has portability problems - " + "use gnulib module mktime for portability"); +# endif # endif /* Convert TIMER to RESULT, assuming local time and UTC respectively. See @@ -255,6 +332,17 @@ _GL_CXXALIAS_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer, # if @HAVE_DECL_LOCALTIME_R@ _GL_CXXALIASWARN (gmtime_r); # endif +# elif defined GNULIB_POSIXCHECK +# undef localtime_r +# if HAVE_RAW_DECL_LOCALTIME_R +_GL_WARN_ON_USE (localtime_r, "localtime_r is unportable - " + "use gnulib module time_r for portability"); +# endif +# undef gmtime_r +# if HAVE_RAW_DECL_GMTIME_R +_GL_WARN_ON_USE (gmtime_r, "gmtime_r is unportable - " + "use gnulib module time_r for portability"); +# endif # endif /* Convert TIMER to RESULT, assuming local time and UTC respectively. See @@ -275,6 +363,12 @@ _GL_CXXALIAS_SYS (localtime, struct tm *, (time_t const *__timer)); # if __GLIBC__ >= 2 _GL_CXXALIASWARN (localtime); # endif +# elif defined GNULIB_POSIXCHECK +# undef localtime +# if HAVE_RAW_DECL_LOCALTIME +_GL_WARN_ON_USE (localtime, "localtime has portability problems - " + "use gnulib module localtime for portability"); +# endif # endif # if 0 || @REPLACE_GMTIME@ @@ -306,6 +400,12 @@ _GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf, char const *restrict __format, struct tm *restrict __tm)); _GL_CXXALIASWARN (strptime); +# elif defined GNULIB_POSIXCHECK +# undef strptime +# if HAVE_RAW_DECL_STRPTIME +_GL_WARN_ON_USE (strptime, "strptime is unportable - " + "use gnulib module strptime for portability"); +# endif # endif /* Convert *TP to a date and time string. See @@ -315,6 +415,9 @@ _GL_CXXALIASWARN (strptime); # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define ctime rpl_ctime # endif +# ifndef __cplusplus +_GL_ATTRIBUTE_DEPRECATED +# endif _GL_FUNCDECL_RPL (ctime, char *, (time_t const *__tp) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_RPL (ctime, char *, (time_t const *__tp)); @@ -324,6 +427,12 @@ _GL_CXXALIAS_SYS (ctime, char *, (time_t const *__tp)); # if __GLIBC__ >= 2 _GL_CXXALIASWARN (ctime); # endif +# elif defined GNULIB_POSIXCHECK +# undef ctime +# if HAVE_RAW_DECL_CTIME +_GL_WARN_ON_USE (ctime, "ctime has portability problems - " + "use gnulib module ctime for portability"); +# endif # endif /* Convert *TP to a date and time string. See @@ -348,6 +457,12 @@ _GL_CXXALIAS_SYS (strftime, size_t, # if __GLIBC__ >= 2 _GL_CXXALIASWARN (strftime); # endif +# elif defined GNULIB_POSIXCHECK +# undef strftime +# if HAVE_RAW_DECL_STRFTIME +_GL_WARN_ON_USE (strftime, "strftime has portability problems - " + "use gnulib module strftime-fixes for portability"); +# endif # endif # if defined _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@ @@ -422,7 +537,15 @@ _GL_FUNCDECL_SYS (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1))); # endif _GL_CXXALIAS_SYS (timegm, time_t, (struct tm *__tm)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (timegm); +# endif +# elif defined GNULIB_POSIXCHECK +# undef timegm +# if HAVE_RAW_DECL_TIMEGM +_GL_WARN_ON_USE (timegm, "timegm is unportable - " + "use gnulib module timegm for portability"); +# endif # endif /* Encourage applications to avoid unsafe functions that can overrun @@ -430,23 +553,31 @@ _GL_CXXALIASWARN (timegm); applications should use strftime (or even sprintf) instead. */ # if defined GNULIB_POSIXCHECK # undef asctime +# if HAVE_RAW_DECL_ASCTIME _GL_WARN_ON_USE (asctime, "asctime can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); +# endif # endif # if defined GNULIB_POSIXCHECK # undef asctime_r +# if HAVE_RAW_DECL_ASCTIME_R _GL_WARN_ON_USE (asctime_r, "asctime_r can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); +# endif # endif # if defined GNULIB_POSIXCHECK # undef ctime +# if HAVE_RAW_DECL_CTIME _GL_WARN_ON_USE (ctime, "ctime can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); +# endif # endif # if defined GNULIB_POSIXCHECK # undef ctime_r +# if HAVE_RAW_DECL_CTIME_R _GL_WARN_ON_USE (ctime_r, "ctime_r can overrun buffers in some cases - " "better use strftime (or even sprintf) instead"); +# endif # endif #endif diff --git a/lib/unistd.c b/lib/unistd.c index 95978e6..f3b3f7b 100644 --- a/lib/unistd.c +++ b/lib/unistd.c @@ -1,6 +1,6 @@ /* Inline functions for . - Copyright (C) 2012-2022 Free Software Foundation, Inc. + Copyright (C) 2012-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -18,5 +18,5 @@ #include #define _GL_UNISTD_INLINE _GL_EXTERN_INLINE -#include "unistd.h" +#include typedef int dummy; diff --git a/lib/unistd.in.h b/lib/unistd.in.h index 57df09e..b412966 100644 --- a/lib/unistd.in.h +++ b/lib/unistd.in.h @@ -1,5 +1,5 @@ /* Substitute for and wrapper around . - Copyright (C) 2003-2022 Free Software Foundation, Inc. + Copyright (C) 2003-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -40,6 +40,24 @@ # undef _GL_INCLUDING_UNISTD_H #endif +/* Avoid lseek bugs in FreeBSD, macOS . + This bug is fixed after FreeBSD 13; see . + Use macOS "9999" to stand for a future fixed macOS version. */ +#if defined __FreeBSD__ && __FreeBSD__ < 14 +# undef SEEK_DATA +# undef SEEK_HOLE +#elif defined __APPLE__ && defined __MACH__ && defined SEEK_DATA +# ifdef __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ +# include +# endif +# if (!defined MAC_OS_X_VERSION_MIN_REQUIRED \ + || MAC_OS_X_VERSION_MIN_REQUIRED < 99990000) +# include /* It also defines the two macros. */ +# undef SEEK_DATA +# undef SEEK_HOLE +# endif +#endif + /* Get all possible declarations of gethostname(). */ #if @GNULIB_GETHOSTNAME@ && @UNISTD_H_HAVE_WINSOCK2_H@ \ && !defined _GL_INCLUDING_WINSOCK2_H @@ -51,6 +69,12 @@ #if !defined _@GUARD_PREFIX@_UNISTD_H && !defined _GL_INCLUDING_WINSOCK2_H #define _@GUARD_PREFIX@_UNISTD_H +/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, GNULIB_POSIXCHECK, + HAVE_RAW_DECL_*. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + /* NetBSD 5.0 mis-defines NULL. Also get size_t. */ /* But avoid namespace pollution on glibc systems. */ #ifndef __GLIBC__ @@ -152,9 +176,6 @@ # include #endif -#ifndef _GL_INLINE_HEADER_BEGIN - #error "Please include config.h first." -#endif _GL_INLINE_HEADER_BEGIN #ifndef _GL_UNISTD_INLINE # define _GL_UNISTD_INLINE _GL_INLINE @@ -541,17 +562,22 @@ _GL_CXXALIASWARN (dup2); Return newfd if successful, otherwise -1 and errno set. See the Linux man page at . */ -# if @HAVE_DUP3@ +# if @REPLACE_DUP3@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef dup3 # define dup3 rpl_dup3 # endif _GL_FUNCDECL_RPL (dup3, int, (int oldfd, int newfd, int flags)); _GL_CXXALIAS_RPL (dup3, int, (int oldfd, int newfd, int flags)); # else +# if !@HAVE_DUP3@ _GL_FUNCDECL_SYS (dup3, int, (int oldfd, int newfd, int flags)); +# endif _GL_CXXALIAS_SYS (dup3, int, (int oldfd, int newfd, int flags)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (dup3); +# endif #elif defined GNULIB_POSIXCHECK # undef dup3 # if HAVE_RAW_DECL_DUP3 @@ -870,7 +896,9 @@ _GL_FUNCDECL_SYS (execvpe, int, _GL_CXXALIAS_SYS (execvpe, int, (const char *program, char * const *argv, char * const *env)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (execvpe); +# endif #elif defined GNULIB_POSIXCHECK # undef execvpe # if HAVE_RAW_DECL_EXECVPE @@ -925,7 +953,9 @@ _GL_FUNCDECL_SYS (faccessat, int, _GL_CXXALIAS_SYS (faccessat, int, (int fd, char const *file, int mode, int flag)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (faccessat); +# endif #elif defined GNULIB_POSIXCHECK # undef faccessat # if HAVE_RAW_DECL_FACCESSAT @@ -941,23 +971,28 @@ _GL_WARN_ON_USE (faccessat, "faccessat is not portable - " Return 0 if successful, otherwise -1 and errno set. See the POSIX:2008 specification . */ -# if ! @HAVE_FCHDIR@ +# if @REPLACE_FCHDIR@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fchdir +# define fchdir rpl_fchdir +# endif +_GL_FUNCDECL_RPL (fchdir, int, (int /*fd*/)); +_GL_CXXALIAS_RPL (fchdir, int, (int /*fd*/)); +# else +# if !@HAVE_FCHDIR@ || !@HAVE_DECL_FCHDIR@ _GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/)); - +# endif +_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/)); +# endif +_GL_CXXALIASWARN (fchdir); +# if @REPLACE_FCHDIR@ || !@HAVE_FCHDIR@ /* Gnulib internal hooks needed to maintain the fchdir metadata. */ _GL_EXTERN_C int _gl_register_fd (int fd, const char *filename) _GL_ARG_NONNULL ((2)); _GL_EXTERN_C void _gl_unregister_fd (int fd); _GL_EXTERN_C int _gl_register_dup (int oldfd, int newfd); _GL_EXTERN_C const char *_gl_directory_name (int fd); - -# else -# if !@HAVE_DECL_FCHDIR@ -_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/)); -# endif # endif -_GL_CXXALIAS_SYS (fchdir, int, (int /*fd*/)); -_GL_CXXALIASWARN (fchdir); #elif defined GNULIB_POSIXCHECK # undef fchdir # if HAVE_RAW_DECL_FCHDIR @@ -1002,11 +1037,22 @@ _GL_WARN_ON_USE (fchownat, "fchownat is not portable - " Return 0 if successful, otherwise -1 and errno set. See POSIX:2008 specification . */ -# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@ +# if @REPLACE_FDATASYNC@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef fdatasync +# define fdatasync rpl_fdatasync +# endif +_GL_FUNCDECL_RPL (fdatasync, int, (int fd)); +_GL_CXXALIAS_RPL (fdatasync, int, (int fd)); +# else +# if !@HAVE_FDATASYNC@|| !@HAVE_DECL_FDATASYNC@ _GL_FUNCDECL_SYS (fdatasync, int, (int fd)); -# endif +# endif _GL_CXXALIAS_SYS (fdatasync, int, (int fd)); +# endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (fdatasync); +# endif #elif defined GNULIB_POSIXCHECK # undef fdatasync # if HAVE_RAW_DECL_FDATASYNC @@ -1053,7 +1099,9 @@ _GL_FUNCDECL_SYS (ftruncate, int, (int fd, off_t length)); # endif _GL_CXXALIAS_SYS (ftruncate, int, (int fd, off_t length)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (ftruncate); +# endif #elif defined GNULIB_POSIXCHECK # undef ftruncate # if HAVE_RAW_DECL_FTRUNCATE @@ -1070,10 +1118,10 @@ _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - " or SIZE was too small. See the POSIX:2008 specification . - Additionally, the gnulib module 'getcwd' guarantees the following GNU - extension: If BUF is NULL, an array is allocated with 'malloc'; the array - is SIZE bytes long, unless SIZE == 0, in which case it is as big as - necessary. */ + Additionally, the gnulib module 'getcwd' or 'getcwd-lgpl' guarantees the + following GNU extension: If BUF is NULL, an array is allocated with + 'malloc'; the array is SIZE bytes long, unless SIZE == 0, in which case + it is as big as necessary. */ # if @REPLACE_GETCWD@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # define getcwd rpl_getcwd @@ -1143,7 +1191,9 @@ _GL_FUNCDECL_SYS (getdomainname, int, (char *name, size_t len) # endif _GL_CXXALIAS_SYS (getdomainname, int, (char *name, size_t len)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (getdomainname); +# endif #elif defined GNULIB_POSIXCHECK # undef getdomainname # if HAVE_RAW_DECL_GETDOMAINNAME @@ -1183,11 +1233,22 @@ _GL_WARN_ON_USE (getdtablesize, "getdtablesize is unportable - " #if @GNULIB_GETENTROPY@ /* Fill a buffer with random bytes. */ -# if !@HAVE_GETENTROPY@ +# if @REPLACE_GETENTROPY@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef getentropy +# define getentropy rpl_getentropy +# endif +_GL_FUNCDECL_RPL (getentropy, int, (void *buffer, size_t length)); +_GL_CXXALIAS_RPL (getentropy, int, (void *buffer, size_t length)); +# else +# if !@HAVE_GETENTROPY@ _GL_FUNCDECL_SYS (getentropy, int, (void *buffer, size_t length)); -# endif +# endif _GL_CXXALIAS_SYS (getentropy, int, (void *buffer, size_t length)); +# endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (getentropy); +# endif #elif defined GNULIB_POSIXCHECK # undef getentropy # if HAVE_RAW_DECL_GETENTROPY @@ -1321,7 +1382,9 @@ _GL_FUNCDECL_SYS (getlogin_r, int, (char *name, size_t size) int size. */ _GL_CXXALIAS_SYS_CAST (getlogin_r, int, (char *name, size_t size)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (getlogin_r); +# endif #elif defined GNULIB_POSIXCHECK # undef getlogin_r # if HAVE_RAW_DECL_GETLOGIN_R @@ -1659,7 +1722,9 @@ _GL_CXXALIAS_SYS (linkat, int, (int fd1, const char *path1, int fd2, const char *path2, int flag)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (linkat); +# endif #elif defined GNULIB_POSIXCHECK # undef linkat # if HAVE_RAW_DECL_LINKAT @@ -1740,8 +1805,9 @@ _GL_WARN_ON_USE (pipe, "pipe is unportable - " Return 0 upon success, or -1 with errno set upon failure. See also the Linux man page at . */ -# if @HAVE_PIPE2@ +# if @REPLACE_PIPE2@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef pipe2 # define pipe2 rpl_pipe2 # endif _GL_FUNCDECL_RPL (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1))); @@ -1750,7 +1816,9 @@ _GL_CXXALIAS_RPL (pipe2, int, (int fd[2], int flags)); _GL_FUNCDECL_SYS (pipe2, int, (int fd[2], int flags) _GL_ARG_NONNULL ((1))); _GL_CXXALIAS_SYS (pipe2, int, (int fd[2], int flags)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pipe2); +# endif #elif defined GNULIB_POSIXCHECK # undef pipe2 # if HAVE_RAW_DECL_PIPE2 @@ -1785,7 +1853,9 @@ _GL_FUNCDECL_SYS (pread, ssize_t, _GL_CXXALIAS_SYS (pread, ssize_t, (int fd, void *buf, size_t bufsize, off_t offset)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pread); +# endif #elif defined GNULIB_POSIXCHECK # undef pread # if HAVE_RAW_DECL_PREAD @@ -1820,7 +1890,9 @@ _GL_FUNCDECL_SYS (pwrite, ssize_t, _GL_CXXALIAS_SYS (pwrite, ssize_t, (int fd, const void *buf, size_t bufsize, off_t offset)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (pwrite); +# endif #elif defined GNULIB_POSIXCHECK # undef pwrite # if HAVE_RAW_DECL_PWRITE @@ -1934,7 +2006,9 @@ _GL_CXXALIAS_SYS (readlinkat, ssize_t, (int fd, char const *restrict file, char *restrict buf, size_t len)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (readlinkat); +# endif #elif defined GNULIB_POSIXCHECK # undef readlinkat # if HAVE_RAW_DECL_READLINKAT @@ -1994,15 +2068,27 @@ _GL_CXXALIASWARN (rmdir); Platforms with no ability to set the hostname return -1 and set errno = ENOSYS. */ -# if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@ +# if @REPLACE_SETHOSTNAME@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef sethostname +# define sethostname rpl_sethostname +# endif +_GL_FUNCDECL_RPL (sethostname, int, (const char *name, size_t len) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (sethostname, int, (const char *name, size_t len)); +# else +# if !@HAVE_SETHOSTNAME@ || !@HAVE_DECL_SETHOSTNAME@ _GL_FUNCDECL_SYS (sethostname, int, (const char *name, size_t len) _GL_ARG_NONNULL ((1))); -# endif +# endif /* Need to cast, because on Solaris 11 2011-10, Mac OS X 10.5, IRIX 6.5 and FreeBSD 6.4 the second parameter is int. On Solaris 11 2011-10, the first parameter is not const. */ _GL_CXXALIAS_SYS_CAST (sethostname, int, (const char *name, size_t len)); +# endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (sethostname); +# endif #elif defined GNULIB_POSIXCHECK # undef sethostname # if HAVE_RAW_DECL_SETHOSTNAME @@ -2055,7 +2141,7 @@ _GL_CXXALIAS_MDA_CAST (swab, void, (char *from, char *to, int n)); # else # if defined __hpux /* HP-UX */ _GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, int n)); -# elif defined __sun && !defined _XPG4 /* Solaris */ +# elif defined __sun && (defined __SunOS_5_10 || defined __XOPEN_OR_POSIX) && !defined _XPG4 /* Solaris */ _GL_CXXALIAS_SYS (swab, void, (const char *from, char *to, ssize_t n)); # else _GL_CXXALIAS_SYS (swab, void, (const void *from, void *to, ssize_t n)); @@ -2111,7 +2197,9 @@ _GL_FUNCDECL_SYS (symlinkat, int, _GL_CXXALIAS_SYS (symlinkat, int, (char const *contents, int fd, char const *file)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (symlinkat); +# endif #elif defined GNULIB_POSIXCHECK # undef symlinkat # if HAVE_RAW_DECL_SYMLINKAT @@ -2141,7 +2229,9 @@ _GL_FUNCDECL_SYS (truncate, int, (const char *filename, off_t length) # endif _GL_CXXALIAS_SYS (truncate, int, (const char *filename, off_t length)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (truncate); +# endif #elif defined GNULIB_POSIXCHECK # undef truncate # if HAVE_RAW_DECL_TRUNCATE @@ -2171,7 +2261,9 @@ _GL_FUNCDECL_SYS (ttyname_r, int, _GL_CXXALIAS_SYS (ttyname_r, int, (int fd, char *buf, size_t buflen)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (ttyname_r); +# endif #elif defined GNULIB_POSIXCHECK # undef ttyname_r # if HAVE_RAW_DECL_TTYNAME_R diff --git a/lib/unistr.in.h b/lib/unistr.in.h index 4d48751..424678f 100644 --- a/lib/unistr.in.h +++ b/lib/unistr.in.h @@ -1,5 +1,5 @@ /* Elementary Unicode string functions. - Copyright (C) 2001-2002, 2005-2022 Free Software Foundation, Inc. + Copyright (C) 2001-2002, 2005-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -380,6 +380,15 @@ extern uint16_t * extern uint32_t * u32_cpy (uint32_t *_UC_RESTRICT dest, const uint32_t *src, size_t n); +/* Copy N units from SRC to DEST, returning pointer after last written unit. */ +/* Similar to mempcpy(). */ +extern uint8_t * + u8_pcpy (uint8_t *_UC_RESTRICT dest, const uint8_t *src, size_t n); +extern uint16_t * + u16_pcpy (uint16_t *_UC_RESTRICT dest, const uint16_t *src, size_t n); +extern uint32_t * + u32_pcpy (uint32_t *_UC_RESTRICT dest, const uint32_t *src, size_t n); + /* Copy N units from SRC to DEST, guaranteeing correct behavior for overlapping memory areas. */ /* Similar to memmove(). */ diff --git a/lib/unistr/u8-mbtoucr.c b/lib/unistr/u8-mbtoucr.c index 6672298..564e47e 100644 --- a/lib/unistr/u8-mbtoucr.c +++ b/lib/unistr/u8-mbtoucr.c @@ -1,5 +1,5 @@ /* Look at first character in UTF-8 string, returning an error code. - Copyright (C) 1999-2002, 2006-2007, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 1999-2002, 2006-2007, 2009-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2001. This file is free software: you can redistribute it and/or modify @@ -86,13 +86,13 @@ u8_mbtoucr (ucs4_t *puc, const uint8_t *s, size_t n) return -2; } } - else if (c < 0xf8) + else if (c <= 0xf4) { if (n >= 2) { if ((s[1] ^ 0x80) < 0x40 && (c >= 0xf1 || s[1] >= 0x90) - && (c < 0xf4 || (c == 0xf4 && s[1] < 0x90))) + && (c < 0xf4 || (/* c == 0xf4 && */ s[1] < 0x90))) { if (n >= 3) { diff --git a/lib/unistr/u8-uctomb-aux.c b/lib/unistr/u8-uctomb-aux.c index 5ca2191..ffe567d 100644 --- a/lib/unistr/u8-uctomb-aux.c +++ b/lib/unistr/u8-uctomb-aux.c @@ -1,5 +1,5 @@ /* Conversion UCS-4 to UTF-8. - Copyright (C) 2002, 2006-2007, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2002, 2006-2007, 2009-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This file is free software: you can redistribute it and/or modify diff --git a/lib/unistr/u8-uctomb.c b/lib/unistr/u8-uctomb.c index 2259b1d..0f903fd 100644 --- a/lib/unistr/u8-uctomb.c +++ b/lib/unistr/u8-uctomb.c @@ -1,5 +1,5 @@ /* Store a character in UTF-8 string. - Copyright (C) 2002, 2005-2006, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2002, 2005-2006, 2009-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2002. This file is free software: you can redistribute it and/or modify diff --git a/lib/unitypes.in.h b/lib/unitypes.in.h index 4ea83aa..1b14d3b 100644 --- a/lib/unitypes.in.h +++ b/lib/unitypes.in.h @@ -1,5 +1,5 @@ /* Elementary types and macros for the GNU UniString library. - Copyright (C) 2002, 2005-2006, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2002, 2005-2006, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/verify.h b/lib/verify.h index c5c63ae..08268c2 100644 --- a/lib/verify.h +++ b/lib/verify.h @@ -1,6 +1,6 @@ /* Compile-time assert-like macros. - Copyright (C) 2005-2006, 2009-2022 Free Software Foundation, Inc. + Copyright (C) 2005-2006, 2009-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -25,19 +25,19 @@ works as per C11. This is supported by GCC 4.6.0+ and by clang 4+. Define _GL_HAVE__STATIC_ASSERT1 to 1 if _Static_assert (R) works as - per C2x. This is supported by GCC 9.1+. + per C23. This is supported by GCC 9.1+. Support compilers claiming conformance to the relevant standard, and also support GCC when not pedantic. If we were willing to slow 'configure' down we could also use it with other compilers, but since this affects only the quality of diagnostics, why bother? */ #ifndef __cplusplus -# if (201112L <= __STDC_VERSION__ \ +# if (201112 <= __STDC_VERSION__ \ || (!defined __STRICT_ANSI__ \ && (4 < __GNUC__ + (6 <= __GNUC_MINOR__) || 5 <= __clang_major__))) # define _GL_HAVE__STATIC_ASSERT 1 # endif -# if (202000L <= __STDC_VERSION__ \ +# if (202311 <= __STDC_VERSION__ \ || (!defined __STRICT_ANSI__ && 9 <= __GNUC__)) # define _GL_HAVE__STATIC_ASSERT1 1 # endif @@ -188,9 +188,9 @@ template _gl_verify_type<(R) ? 1 : -1> #elif defined _GL_HAVE__STATIC_ASSERT # define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ - struct { \ - _Static_assert (R, DIAGNOSTIC); \ - int _gl_dummy; \ + struct { \ + _Static_assert (R, DIAGNOSTIC); \ + int _gl_dummy; \ } #else # define _GL_VERIFY_TYPE(R, DIAGNOSTIC) \ @@ -202,18 +202,18 @@ template This macro requires three or more arguments but uses at most the first two, so that the _Static_assert macro optionally defined below supports - both the C11 two-argument syntax and the C2x one-argument syntax. + both the C11 two-argument syntax and the C23 one-argument syntax. Unfortunately, unlike C11, this implementation must appear as an ordinary declaration, and cannot appear inside struct { ... }. */ -#if 200410 <= __cpp_static_assert +#if 202311 <= __STDC_VERSION__ || 200410 <= __cpp_static_assert # define _GL_VERIFY(R, DIAGNOSTIC, ...) static_assert (R, DIAGNOSTIC) #elif defined _GL_HAVE__STATIC_ASSERT # define _GL_VERIFY(R, DIAGNOSTIC, ...) _Static_assert (R, DIAGNOSTIC) #else -# define _GL_VERIFY(R, DIAGNOSTIC, ...) \ - extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ +# define _GL_VERIFY(R, DIAGNOSTIC, ...) \ + extern int (*_GL_GENSYM (_gl_verify_function) (void)) \ [_GL_VERIFY_TRUE (R, DIAGNOSTIC)] # if 4 < __GNUC__ + (6 <= __GNUC_MINOR__) # pragma GCC diagnostic ignored "-Wnested-externs" @@ -222,18 +222,68 @@ template /* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */ #ifdef _GL_STATIC_ASSERT_H -# if !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert -# define _Static_assert(...) \ - _GL_VERIFY (__VA_ARGS__, "static assertion failed", -) +/* Define _Static_assert if needed. */ +/* With clang ≥ 3.8.0 in C++ mode, _Static_assert already works and accepts + 1 or 2 arguments. We better don't override it, because clang's standard + C++ library uses static_assert inside classes in several places, and our + replacement via _GL_VERIFY does not work in these contexts. */ +# if (defined __cplusplus && defined __clang__ \ + && (4 <= __clang_major__ + (8 <= __clang_minor__))) +# if 5 <= __clang_major__ +/* Avoid "warning: 'static_assert' with no message is a C++17 extension". */ +# pragma clang diagnostic ignored "-Wc++17-extensions" +# else +/* Avoid "warning: static_assert with no message is a C++1z extension". */ +# pragma clang diagnostic ignored "-Wc++1z-extensions" +# endif +# elif !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert +# if !defined _MSC_VER || defined __clang__ +# define _Static_assert(...) \ + _GL_VERIFY (__VA_ARGS__, "static assertion failed", -) +# else +# if defined __cplusplus && _MSC_VER >= 1910 + /* In MSVC 14.1 or newer, static_assert accepts one or two arguments, + but _Static_assert is not defined. */ +# define _Static_assert static_assert +# else + /* Work around MSVC preprocessor incompatibility with ISO C; see + . */ +# define _Static_assert(R, ...) \ + _GL_VERIFY ((R), "static assertion failed", -) +# endif +# endif # endif -# if __cpp_static_assert < 201411 && !defined static_assert -# define static_assert _Static_assert /* C11 requires this #define. */ +/* Define static_assert if needed. */ +# if (!defined static_assert \ + && __STDC_VERSION__ < 202311 \ + && (!defined __cplusplus \ + || (__cpp_static_assert < 201411 \ + && __GNUG__ < 6 && __clang_major__ < 6 && _MSC_VER < 1910))) +# if defined __cplusplus && _MSC_VER >= 1900 && !defined __clang__ +/* MSVC 14 in C++ mode supports the two-arguments static_assert but not + the one-argument static_assert, and it does not support _Static_assert. + We have to play preprocessor tricks to distinguish the two cases. + Since the MSVC preprocessor is not ISO C compliant (see above),. + the solution is specific to MSVC. */ +# define _GL_EXPAND(x) x +# define _GL_SA1(a1) static_assert ((a1), "static assertion failed") +# define _GL_SA2 static_assert +# define _GL_SA3 static_assert +# define _GL_SA_PICK(x1,x2,x3,x4,...) x4 +# define static_assert(...) _GL_EXPAND(_GL_SA_PICK(__VA_ARGS__,_GL_SA3,_GL_SA2,_GL_SA1)) (__VA_ARGS__) +/* Avoid "fatal error C1189: #error: The C++ Standard Library forbids macroizing keywords." */ +# define _ALLOW_KEYWORD_MACROS 1 +# else +# define static_assert _Static_assert /* C11 requires this #define. */ +# endif # endif #endif /* @assert.h omit start@ */ -#if 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__)) +#if defined __clang_major__ && __clang_major__ < 5 +# define _GL_HAS_BUILTIN_TRAP 0 +#elif 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__)) # define _GL_HAS_BUILTIN_TRAP 1 #elif defined __has_builtin # define _GL_HAS_BUILTIN_TRAP __has_builtin (__builtin_trap) @@ -241,12 +291,16 @@ template # define _GL_HAS_BUILTIN_TRAP 0 #endif -#if 4 < __GNUC__ + (5 <= __GNUC_MINOR__) -# define _GL_HAS_BUILTIN_UNREACHABLE 1 -#elif defined __has_builtin -# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable) -#else -# define _GL_HAS_BUILTIN_UNREACHABLE 0 +#ifndef _GL_HAS_BUILTIN_UNREACHABLE +# if defined __clang_major__ && __clang_major__ < 5 +# define _GL_HAS_BUILTIN_UNREACHABLE 0 +# elif 4 < __GNUC__ + (5 <= __GNUC_MINOR__) +# define _GL_HAS_BUILTIN_UNREACHABLE 1 +# elif defined __has_builtin +# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable) +# else +# define _GL_HAS_BUILTIN_UNREACHABLE 0 +# endif #endif /* Each of these macros verifies that its argument R is nonzero. To @@ -303,13 +357,16 @@ template # define assume(R) ((R) ? (void) 0 : __builtin_unreachable ()) #elif 1200 <= _MSC_VER # define assume(R) __assume (R) +#elif 202311 <= __STDC_VERSION__ +# include +# define assume(R) ((R) ? (void) 0 : unreachable ()) #elif (defined GCC_LINT || defined lint) && _GL_HAS_BUILTIN_TRAP /* Doing it this way helps various packages when configured with --enable-gcc-warnings, which compiles with -Dlint. It's nicer - when 'assume' silences warnings even with older GCCs. */ + if 'assume' silences warnings with GCC 3.4 through GCC 4.4.7 (2012). */ # define assume(R) ((R) ? (void) 0 : __builtin_trap ()) #else - /* Some tools grok NOTREACHED, e.g., Oracle Studio 12.6. */ + /* Some older tools grok NOTREACHED, e.g., Oracle Studio 12.6 (2017). */ # define assume(R) ((R) ? (void) 0 : /*NOTREACHED*/ (void) 0) #endif diff --git a/lib/warn-on-use.h b/lib/warn-on-use.h index 94f5b92..8f4d40d 100644 --- a/lib/warn-on-use.h +++ b/lib/warn-on-use.h @@ -1,5 +1,5 @@ /* A C macro for emitting warnings if a function is used. - Copyright (C) 2010-2022 Free Software Foundation, Inc. + Copyright (C) 2010-2024 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published diff --git a/lib/wchar.in.h b/lib/wchar.in.h index 835ddbe..a33a10f 100644 --- a/lib/wchar.in.h +++ b/lib/wchar.in.h @@ -1,6 +1,6 @@ /* A substitute for ISO C99 , for platforms that have issues. - Copyright (C) 2007-2022 Free Software Foundation, Inc. + Copyright (C) 2007-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -84,6 +84,13 @@ #ifndef _@GUARD_PREFIX@_WCHAR_H #define _@GUARD_PREFIX@_WCHAR_H +/* This file uses _GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC, + _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PURE, GNULIB_POSIXCHECK, + HAVE_RAW_DECL_*. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + /* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers that can be freed by passing them as the Ith argument to the function F. */ @@ -99,7 +106,14 @@ can be freed via 'free'; it can be used only after declaring 'free'. */ /* Applies to: functions. Cannot be used on inline functions. */ #ifndef _GL_ATTRIBUTE_DEALLOC_FREE -# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +# if defined __cplusplus && defined __GNUC__ && !defined __clang__ +/* Work around GCC bug */ +# define _GL_ATTRIBUTE_DEALLOC_FREE \ + _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1) +# else +# define _GL_ATTRIBUTE_DEALLOC_FREE \ + _GL_ATTRIBUTE_DEALLOC (free, 1) +# endif #endif /* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly @@ -123,6 +137,28 @@ # endif #endif +/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. + */ +#ifndef _GL_ATTRIBUTE_NOTHROW +# if defined __cplusplus +# if (__GNUC__ + (__GNUC_MINOR__ >= 8) > 2) || __clang_major >= 4 +# if __cplusplus >= 201103L +# define _GL_ATTRIBUTE_NOTHROW noexcept (true) +# else +# define _GL_ATTRIBUTE_NOTHROW throw () +# endif +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# else +# if (__GNUC__ + (__GNUC_MINOR__ >= 3) > 3) || defined __clang__ +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# endif +#endif + /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ /* The definition of _GL_ARG_NONNULL is copied here. */ @@ -181,7 +217,11 @@ typedef int rpl_mbstate_t; # if (@REPLACE_FREE@ && !defined free \ && !(defined __cplusplus && defined GNULIB_NAMESPACE)) /* We can't do '#define free rpl_free' here. */ +# if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) +_GL_EXTERN_C void rpl_free (void *) _GL_ATTRIBUTE_NOTHROW; +# else _GL_EXTERN_C void rpl_free (void *); +# endif # undef _GL_ATTRIBUTE_DEALLOC_FREE # define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (rpl_free, 1) # else @@ -193,7 +233,7 @@ _GL_EXTERN_C void __cdecl free (void *); # else # if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) -_GL_EXTERN_C void free (void *) throw (); +_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW; # else _GL_EXTERN_C void free (void *); # endif @@ -208,13 +248,20 @@ _GL_EXTERN_C void __cdecl free (void *); # else # if defined __cplusplus && (__GLIBC__ + (__GLIBC_MINOR__ >= 14) > 2) -_GL_EXTERN_C void free (void *) throw (); +_GL_EXTERN_C void free (void *) _GL_ATTRIBUTE_NOTHROW; # else _GL_EXTERN_C void free (void *); # endif # endif #endif + +#if @GNULIB_MBSZERO@ +/* Get memset(). */ +# include +#endif + + /* Convert a single-byte character to a wide character. */ #if @GNULIB_BTOWC@ # if @REPLACE_BTOWC@ @@ -271,7 +318,7 @@ _GL_WARN_ON_USE (wctob, "wctob is unportable - " #endif -/* Test whether *PS is in the initial state. */ +/* Test whether *PS is in an initial state. */ #if @GNULIB_MBSINIT@ # if @REPLACE_MBSINIT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -298,6 +345,208 @@ _GL_WARN_ON_USE (mbsinit, "mbsinit is unportable - " #endif +/* Put *PS into an initial state. */ +#if @GNULIB_MBSZERO@ +/* ISO C 23 § 7.31.6.(3) says that zeroing an mbstate_t is a way to put the + mbstate_t into an initial state. However, on many platforms an mbstate_t + is large, and it is possible - as an optimization - to get away with zeroing + only part of it. So, instead of + + mbstate_t state = { 0 }; + + or + + mbstate_t state; + memset (&state, 0, sizeof (mbstate_t)); + + we can write this faster code: + + mbstate_t state; + mbszero (&state); + */ +/* _GL_MBSTATE_INIT_SIZE describes how mbsinit() behaves: It is the number of + bytes at the beginning of an mbstate_t that need to be zero, for mbsinit() + to return true. + _GL_MBSTATE_ZERO_SIZE is the number of bytes at the beginning of an mbstate_t + that need to be zero, + - for mbsinit() to return true, and + - for all other multibyte-aware functions to operate properly. + 0 < _GL_MBSTATE_INIT_SIZE <= _GL_MBSTATE_ZERO_SIZE <= sizeof (mbstate_t). + These values are determined by source code inspection, where possible, and + by running the gnulib unit tests. + We need _GL_MBSTATE_INIT_SIZE because if we define _GL_MBSTATE_ZERO_SIZE + without considering what mbsinit() does, we get test failures such as + assertion "mbsinit (&iter->state)" failed + */ +# if GNULIB_defined_mbstate_t /* AIX, IRIX */ +/* mbstate_t has at least 4 bytes. They are used as coded in + gnulib/lib/mbrtowc.c. */ +# define _GL_MBSTATE_INIT_SIZE 1 +/* define _GL_MBSTATE_ZERO_SIZE 4 + does not work: it causes test failures. + So, use the safe fallback value, below. */ +# elif __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 /* glibc */ +/* mbstate_t is defined in . + For more details, see glibc/iconv/skeleton.c. */ +# define _GL_MBSTATE_INIT_SIZE 4 /* sizeof (((mbstate_t) {0}).__count) */ +# define _GL_MBSTATE_ZERO_SIZE /* 8 */ sizeof (mbstate_t) +# elif defined MUSL_LIBC /* musl libc */ +/* mbstate_t is defined in . + It is an opaque aligned 8-byte struct, of which at most the first + 4 bytes are used. + For more details, see src/multibyte/mbrtowc.c. */ +# define _GL_MBSTATE_INIT_SIZE 4 /* sizeof (unsigned) */ +# define _GL_MBSTATE_ZERO_SIZE 4 +# elif defined __APPLE__ && defined __MACH__ /* macOS */ +/* On macOS, mbstate_t is defined in . + It is an opaque aligned 128-byte struct, of which at most the first + 12 bytes are used. + For more details, see the __mbsinit implementations in + Libc-/locale/FreeBSD/ + {ascii,none,euc,mskanji,big5,gb2312,gbk,gb18030,utf8,utf2}.c. */ +/* File INIT_SIZE ZERO_SIZE + ascii.c 0 0 + none.c 0 0 + euc.c 12 12 + mskanji.c 4 4 + big5.c 4 4 + gb2312.c 4 6 + gbk.c 4 4 + gb18030.c 4 8 + utf8.c 8 10 + utf2.c 8 12 */ +# define _GL_MBSTATE_INIT_SIZE 12 +# define _GL_MBSTATE_ZERO_SIZE 12 +# elif defined __FreeBSD__ /* FreeBSD */ +/* On FreeBSD, mbstate_t is defined in src/sys/sys/_types.h. + It is an opaque aligned 128-byte struct, of which at most the first + 12 bytes are used. + For more details, see the __mbsinit implementations in + src/lib/libc/locale/ + {ascii,none,euc,mskanji,big5,gb2312,gbk,gb18030,utf8}.c. */ +/* File INIT_SIZE ZERO_SIZE + ascii.c 0 0 + none.c 0 0 + euc.c 12 12 + mskanji.c 4 4 + big5.c 4 4 + gb2312.c 4 6 + gbk.c 4 4 + gb18030.c 4 8 + utf8.c 8 12 */ +# define _GL_MBSTATE_INIT_SIZE 12 +# define _GL_MBSTATE_ZERO_SIZE 12 +# elif defined __NetBSD__ /* NetBSD */ +/* On NetBSD, mbstate_t is defined in src/sys/sys/ansi.h. + It is an opaque aligned 128-byte struct, of which at most the first + 28 bytes are used. + For more details, see the *State types in + src/lib/libc/citrus/modules/citrus_*.c + (ignoring citrus_{hz,iso2022,utf7,viqr,zw}.c, since these implement + stateful encodings, not usable as locale encodings). */ +/* File ZERO_SIZE + citrus/citrus_none.c 0 + citrus/modules/citrus_euc.c 8 + citrus/modules/citrus_euctw.c 8 + citrus/modules/citrus_mskanji.c 8 + citrus/modules/citrus_big5.c 8 + citrus/modules/citrus_gbk2k.c 8 + citrus/modules/citrus_dechanyu.c 8 + citrus/modules/citrus_johab.c 6 + citrus/modules/citrus_utf8.c 12 */ +/* But 12 is not the correct value for _GL_MBSTATE_ZERO_SIZE: we get test + failures for values < 28. */ +# define _GL_MBSTATE_ZERO_SIZE 28 +# elif defined __OpenBSD__ /* OpenBSD */ +/* On OpenBSD, mbstate_t is defined in src/sys/sys/_types.h. + It is an opaque aligned 128-byte struct, of which at most the first + 12 bytes are used. + For more details, see src/lib/libc/citrus/citrus_*.c. */ +/* File INIT_SIZE ZERO_SIZE + citrus_none.c 0 0 + citrus_utf8.c 12 12 */ +# define _GL_MBSTATE_INIT_SIZE 12 +# define _GL_MBSTATE_ZERO_SIZE 12 +# elif defined __minix /* Minix */ +/* On Minix, mbstate_t is defined in sys/sys/ansi.h. + It is an opaque aligned 128-byte struct. + For more details, see the *State types in + lib/libc/citrus/citrus_*.c. */ +/* File INIT_SIZE ZERO_SIZE + citrus_none.c 0 0 */ +/* But 1 is not the correct value for _GL_MBSTATE_ZERO_SIZE: we get test + failures for values < 4. */ +# define _GL_MBSTATE_ZERO_SIZE 4 +# elif defined __sun /* Solaris */ +/* On Solaris, mbstate_t is defined in . + It is an opaque aligned 24-byte or 32-byte struct, of which at most the first + 20 or 28 bytes are used. + For more details on OpenSolaris derivatives, see the *State types in + illumos-gate/usr/src/lib/libc/port/locale/ + {none,euc,mskanji,big5,gb2312,gbk,gb18030,utf8}.c. */ +/* File INIT_SIZE ZERO_SIZE + none.c 0 0 + euc.c 12 12 + mskanji.c 4 4 + big5.c 4 4 + gb2312.c 4 6 + gbk.c 4 4 + gb18030.c 4 8 + utf8.c 12 12 */ +/* But 12 is not the correct value for _GL_MBSTATE_ZERO_SIZE: we get test + failures + - in OpenIndiana and OmniOS: for values < 16, + - in Solaris 10 and 11: for values < 20 (in 32-bit mode) + or < 28 (in 64-bit mode). + Since we don't have a good way to distinguish the OpenSolaris derivatives + from the proprietary Solaris versions, and can't inspect the Solaris source + code, use the safe fallback values, below. */ +# elif defined __CYGWIN__ /* Cygwin */ +/* On Cygwin, mbstate_t is defined in . + For more details, see newlib/libc/stdlib/mbtowc_r.c and + winsup/cygwin/strfuncs.cc. */ +# define _GL_MBSTATE_INIT_SIZE 4 /* sizeof (int) */ +# define _GL_MBSTATE_ZERO_SIZE 8 +# elif defined _WIN32 && !defined __CYGWIN__ /* Native Windows. */ +/* MSVC defines 'mbstate_t' as an aligned 8-byte struct. + On mingw, 'mbstate_t' is sometimes defined as 'int', sometimes defined + as an aligned 8-byte struct, of which the first 4 bytes matter. + Use the safe values, below. */ +# elif defined __ANDROID__ /* Android */ +/* Android defines 'mbstate_t' in . + It is an opaque 4-byte or 8-byte struct. + For more details, see + bionic/libc/private/bionic_mbstate.h + bionic/libc/bionic/mbrtoc32.cpp + bionic/libc/bionic/mbrtoc16.cpp + */ +# define _GL_MBSTATE_INIT_SIZE 4 +# define _GL_MBSTATE_ZERO_SIZE 4 +# endif +/* Use safe values as defaults. */ +# ifndef _GL_MBSTATE_INIT_SIZE +# define _GL_MBSTATE_INIT_SIZE sizeof (mbstate_t) +# endif +# ifndef _GL_MBSTATE_ZERO_SIZE +# define _GL_MBSTATE_ZERO_SIZE sizeof (mbstate_t) +# endif +_GL_BEGIN_C_LINKAGE +# if defined IN_MBSZERO +_GL_EXTERN_INLINE +# else +_GL_INLINE +# endif +_GL_ARG_NONNULL ((1)) void +mbszero (mbstate_t *ps) +{ + memset (ps, 0, _GL_MBSTATE_ZERO_SIZE); +} +_GL_END_C_LINKAGE +_GL_CXXALIAS_SYS (mbszero, void, (mbstate_t *ps)); +_GL_CXXALIASWARN (mbszero); +#endif + + /* Convert a multibyte character to a wide character. */ #if @GNULIB_MBRTOWC@ # if @REPLACE_MBRTOWC@ @@ -434,7 +683,9 @@ _GL_CXXALIAS_SYS (mbsnrtowcs, size_t, const char **restrict srcp, size_t srclen, size_t len, mbstate_t *restrict ps)); # endif +# if __GLIBC__ >= 2 _GL_CXXALIASWARN (mbsnrtowcs); +# endif #elif defined GNULIB_POSIXCHECK # undef mbsnrtowcs # if HAVE_RAW_DECL_MBSNRTOWCS @@ -622,13 +873,25 @@ _GL_WARN_ON_USE (wmemchr, "wmemchr is unportable - " /* Compare N wide characters of S1 and S2. */ #if @GNULIB_WMEMCMP@ -# if !@HAVE_WMEMCMP@ +# if @REPLACE_WMEMCMP@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef wmemcmp +# define wmemcmp rpl_wmemcmp +# endif +_GL_FUNCDECL_RPL (wmemcmp, int, + (const wchar_t *s1, const wchar_t *s2, size_t n) + _GL_ATTRIBUTE_PURE); +_GL_CXXALIAS_RPL (wmemcmp, int, + (const wchar_t *s1, const wchar_t *s2, size_t n)); +# else +# if !@HAVE_WMEMCMP@ _GL_FUNCDECL_SYS (wmemcmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n) _GL_ATTRIBUTE_PURE); -# endif +# endif _GL_CXXALIAS_SYS (wmemcmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n)); +# endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wmemcmp); # endif @@ -687,14 +950,27 @@ _GL_WARN_ON_USE (wmemmove, "wmemmove is unportable - " /* Copy N wide characters of SRC to DEST. Return pointer to wide characters after the last written wide character. */ #if @GNULIB_WMEMPCPY@ -# if !@HAVE_WMEMPCPY@ +# if @REPLACE_WMEMPCPY@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef wmempcpy +# define wmempcpy rpl_wmempcpy +# endif +_GL_FUNCDECL_RPL (wmempcpy, wchar_t *, + (wchar_t *restrict dest, + const wchar_t *restrict src, size_t n)); +_GL_CXXALIAS_RPL (wmempcpy, wchar_t *, + (wchar_t *restrict dest, + const wchar_t *restrict src, size_t n)); +# else +# if !@HAVE_WMEMPCPY@ _GL_FUNCDECL_SYS (wmempcpy, wchar_t *, (wchar_t *restrict dest, const wchar_t *restrict src, size_t n)); -# endif +# endif _GL_CXXALIAS_SYS (wmempcpy, wchar_t *, (wchar_t *restrict dest, const wchar_t *restrict src, size_t n)); +# endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wmempcpy); # endif @@ -745,7 +1021,10 @@ _GL_WARN_ON_USE (wcslen, "wcslen is unportable - " /* Return the number of wide characters in S, but at most MAXLEN. */ #if @GNULIB_WCSNLEN@ -# if !@HAVE_WCSNLEN@ +/* On Solaris 11.3, the header files declare the function in the std:: + namespace, not in the global namespace. So, force a declaration in + the global namespace. */ +# if !@HAVE_WCSNLEN@ || (defined __sun && defined __cplusplus) _GL_FUNCDECL_SYS (wcsnlen, size_t, (const wchar_t *s, size_t maxlen) _GL_ATTRIBUTE_PURE); # endif @@ -782,7 +1061,10 @@ _GL_WARN_ON_USE (wcscpy, "wcscpy is unportable - " /* Copy SRC to DEST, returning the address of the terminating L'\0' in DEST. */ #if @GNULIB_WCPCPY@ -# if !@HAVE_WCPCPY@ +/* On Solaris 11.3, the header files declare the function in the std:: + namespace, not in the global namespace. So, force a declaration in + the global namespace. */ +# if !@HAVE_WCPCPY@ || (defined __sun && defined __cplusplus) _GL_FUNCDECL_SYS (wcpcpy, wchar_t *, (wchar_t *restrict dest, const wchar_t *restrict src)); # endif @@ -823,7 +1105,10 @@ _GL_WARN_ON_USE (wcsncpy, "wcsncpy is unportable - " /* Copy no more than N characters of SRC to DEST, returning the address of the last character written into DEST. */ #if @GNULIB_WCPNCPY@ -# if !@HAVE_WCPNCPY@ +/* On Solaris 11.3, the header files declare the function in the std:: + namespace, not in the global namespace. So, force a declaration in + the global namespace. */ +# if !@HAVE_WCPNCPY@ || (defined __sun && defined __cplusplus) _GL_FUNCDECL_SYS (wcpncpy, wchar_t *, (wchar_t *restrict dest, const wchar_t *restrict src, size_t n)); @@ -885,11 +1170,21 @@ _GL_WARN_ON_USE (wcsncat, "wcsncat is unportable - " /* Compare S1 and S2. */ #if @GNULIB_WCSCMP@ -# if !@HAVE_WCSCMP@ +# if @REPLACE_WCSCMP@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef wcscmp +# define wcscmp rpl_wcscmp +# endif +_GL_FUNCDECL_RPL (wcscmp, int, (const wchar_t *s1, const wchar_t *s2) + _GL_ATTRIBUTE_PURE); +_GL_CXXALIAS_RPL (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)); +# else +# if !@HAVE_WCSCMP@ _GL_FUNCDECL_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2) _GL_ATTRIBUTE_PURE); -# endif +# endif _GL_CXXALIAS_SYS (wcscmp, int, (const wchar_t *s1, const wchar_t *s2)); +# endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wcscmp); # endif @@ -904,13 +1199,25 @@ _GL_WARN_ON_USE (wcscmp, "wcscmp is unportable - " /* Compare no more than N wide characters of S1 and S2. */ #if @GNULIB_WCSNCMP@ -# if !@HAVE_WCSNCMP@ +# if @REPLACE_WCSNCMP@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef wcsncmp +# define wcsncmp rpl_wcsncmp +# endif +_GL_FUNCDECL_RPL (wcsncmp, int, + (const wchar_t *s1, const wchar_t *s2, size_t n) + _GL_ATTRIBUTE_PURE); +_GL_CXXALIAS_RPL (wcsncmp, int, + (const wchar_t *s1, const wchar_t *s2, size_t n)); +# else +# if !@HAVE_WCSNCMP@ _GL_FUNCDECL_SYS (wcsncmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n) _GL_ATTRIBUTE_PURE); -# endif +# endif _GL_CXXALIAS_SYS (wcsncmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n)); +# endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wcsncmp); # endif @@ -925,7 +1232,10 @@ _GL_WARN_ON_USE (wcsncmp, "wcsncmp is unportable - " /* Compare S1 and S2, ignoring case. */ #if @GNULIB_WCSCASECMP@ -# if !@HAVE_WCSCASECMP@ +/* On Solaris 11.3, the header files declare the function in the std:: + namespace, not in the global namespace. So, force a declaration in + the global namespace. */ +# if !@HAVE_WCSCASECMP@ || (defined __sun && defined __cplusplus) _GL_FUNCDECL_SYS (wcscasecmp, int, (const wchar_t *s1, const wchar_t *s2) _GL_ATTRIBUTE_PURE); # endif @@ -942,7 +1252,10 @@ _GL_WARN_ON_USE (wcscasecmp, "wcscasecmp is unportable - " /* Compare no more than N chars of S1 and S2, ignoring case. */ #if @GNULIB_WCSNCASECMP@ -# if !@HAVE_WCSNCASECMP@ +/* On Solaris 11.3, the header files declare the function in the std:: + namespace, not in the global namespace. So, force a declaration in + the global namespace. */ +# if !@HAVE_WCSNCASECMP@ || (defined __sun && defined __cplusplus) _GL_FUNCDECL_SYS (wcsncasecmp, int, (const wchar_t *s1, const wchar_t *s2, size_t n) _GL_ATTRIBUTE_PURE); @@ -1009,10 +1322,20 @@ _GL_WARN_ON_USE (wcsxfrm, "wcsxfrm is unportable - " # endif _GL_CXXALIAS_MDA (wcsdup, wchar_t *, (const wchar_t *s)); # else -# if !@HAVE_WCSDUP@ || __GNUC__ >= 11 +/* On Solaris 11.3, the header files declare the function in the std:: + namespace, not in the global namespace. So, force a declaration in + the global namespace. */ +# if !@HAVE_WCSDUP@ || (defined __sun && defined __cplusplus) || __GNUC__ >= 11 +# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 +_GL_FUNCDECL_SYS (wcsdup, wchar_t *, + (const wchar_t *s) + _GL_ATTRIBUTE_NOTHROW + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif _GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s)); # endif @@ -1020,9 +1343,16 @@ _GL_CXXALIASWARN (wcsdup); #else # if __GNUC__ >= 11 && !defined wcsdup /* For -Wmismatched-dealloc: Associate wcsdup with free or rpl_free. */ +# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 +_GL_FUNCDECL_SYS (wcsdup, wchar_t *, + (const wchar_t *s) + _GL_ATTRIBUTE_NOTHROW + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # endif # if defined GNULIB_POSIXCHECK # undef wcsdup @@ -1041,9 +1371,16 @@ _GL_WARN_ON_USE (wcsdup, "wcsdup is unportable - " # endif _GL_CXXALIAS_MDA (wcsdup, wchar_t *, (const wchar_t *s)); # else +# if __GLIBC__ + (__GLIBC_MINOR__ >= 2) > 2 +_GL_FUNCDECL_SYS (wcsdup, wchar_t *, + (const wchar_t *s) + _GL_ATTRIBUTE_NOTHROW + _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# else _GL_FUNCDECL_SYS (wcsdup, wchar_t *, (const wchar_t *s) _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE); +# endif # if @HAVE_DECL_WCSDUP@ _GL_CXXALIAS_SYS (wcsdup, wchar_t *, (const wchar_t *s)); # endif @@ -1115,7 +1452,7 @@ _GL_WARN_ON_USE (wcsrchr, "wcsrchr is unportable - " #endif -/* Return the length of the initial segmet of WCS which consists entirely +/* Return the length of the initial segment of WCS which consists entirely of wide characters not in REJECT. */ #if @GNULIB_WCSCSPN@ # if !@HAVE_WCSCSPN@ @@ -1135,7 +1472,7 @@ _GL_WARN_ON_USE (wcscspn, "wcscspn is unportable - " #endif -/* Return the length of the initial segmet of WCS which consists entirely +/* Return the length of the initial segment of WCS which consists entirely of wide characters in ACCEPT. */ #if @GNULIB_WCSSPN@ # if !@HAVE_WCSSPN@ @@ -1190,12 +1527,25 @@ _GL_WARN_ON_USE (wcspbrk, "wcspbrk is unportable - " /* Find the first occurrence of NEEDLE in HAYSTACK. */ #if @GNULIB_WCSSTR@ -# if !@HAVE_WCSSTR@ +# if @REPLACE_WCSSTR@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef wcsstr +# define wcsstr rpl_wcsstr +# endif +_GL_FUNCDECL_RPL (wcsstr, wchar_t *, + (const wchar_t *restrict haystack, + const wchar_t *restrict needle) + _GL_ATTRIBUTE_PURE); +_GL_CXXALIAS_RPL (wcsstr, wchar_t *, + (const wchar_t *restrict haystack, + const wchar_t *restrict needle)); +# else +# if !@HAVE_WCSSTR@ _GL_FUNCDECL_SYS (wcsstr, wchar_t *, (const wchar_t *restrict haystack, const wchar_t *restrict needle) _GL_ATTRIBUTE_PURE); -# endif +# endif /* On some systems, this function is defined as an overloaded function: extern "C++" { const wchar_t * std::wcsstr (const wchar_t *, const wchar_t *); @@ -1206,6 +1556,7 @@ _GL_CXXALIAS_SYS_CAST2 (wcsstr, (const wchar_t *restrict, const wchar_t *restrict), const wchar_t *, (const wchar_t *restrict, const wchar_t *restrict)); +# endif # if ((__GLIBC__ == 2 && __GLIBC_MINOR__ >= 10) && !defined __UCLIBC__) \ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) _GL_CXXALIASWARN1 (wcsstr, wchar_t *, @@ -1333,6 +1684,24 @@ _GL_WARN_ON_USE (wcsftime, "wcsftime is unportable - " #endif +#if @GNULIB_WGETCWD@ && (defined _WIN32 && !defined __CYGWIN__) +/* Gets the name of the current working directory. + (a) If BUF is non-NULL, it is assumed to have room for SIZE wide characters. + This function stores the working directory (NUL-terminated) in BUF and + returns BUF. + (b) If BUF is NULL, an array is allocated with 'malloc'. The array is SIZE + wide characters long, unless SIZE == 0, in which case it is as big as + necessary. + If the directory couldn't be determined or SIZE was too small, this function + returns NULL and sets errno. For a directory of length LEN, SIZE should be + >= LEN + 3 in case (a) or >= LEN + 1 in case (b). + Possible errno values include: + - ERANGE if SIZE is too small. + - ENOMEM if the memory could no be allocated. */ +_GL_FUNCDECL_SYS (wgetcwd, wchar_t *, (wchar_t *buf, size_t size)); +#endif + + #endif /* _@GUARD_PREFIX@_WCHAR_H */ #endif /* _@GUARD_PREFIX@_WCHAR_H */ #endif diff --git a/lib/wcrtomb.c b/lib/wcrtomb.c index e14d802..197b020 100644 --- a/lib/wcrtomb.c +++ b/lib/wcrtomb.c @@ -1,5 +1,5 @@ /* Convert wide character to multibyte character. - Copyright (C) 2008-2022 Free Software Foundation, Inc. + Copyright (C) 2008-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This file is free software: you can redistribute it and/or modify @@ -29,7 +29,7 @@ wcrtomb (char *s, wchar_t wc, mbstate_t *ps) #undef wcrtomb { /* This implementation of wcrtomb supports only stateless encodings. - ps must be in the initial state. */ + ps must be in an initial state. */ if (ps != NULL && !mbsinit (ps)) { errno = EINVAL; diff --git a/lib/wcsdup-impl.h b/lib/wcsdup-impl.h index 6f382e9..1fe5179 100644 --- a/lib/wcsdup-impl.h +++ b/lib/wcsdup-impl.h @@ -1,5 +1,5 @@ /* Duplicate a wide string. - Copyright (C) 1999, 2011-2022 Free Software Foundation, Inc. + Copyright (C) 1999, 2011-2024 Free Software Foundation, Inc. Written by Bruno Haible , 1999. This file is free software: you can redistribute it and/or modify diff --git a/lib/wcsdup.c b/lib/wcsdup.c index cd12c3d..bf369b4 100644 --- a/lib/wcsdup.c +++ b/lib/wcsdup.c @@ -1,5 +1,5 @@ /* Duplicate a wide string. - Copyright (C) 2011-2022 Free Software Foundation, Inc. + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This file is free software: you can redistribute it and/or modify diff --git a/lib/wctob.c b/lib/wctob.c index 806d0fc..e1f2740 100644 --- a/lib/wctob.c +++ b/lib/wctob.c @@ -1,5 +1,5 @@ /* Convert wide character to unibyte character. - Copyright (C) 2008, 2010-2022 Free Software Foundation, Inc. + Copyright (C) 2008, 2010-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This file is free software: you can redistribute it and/or modify diff --git a/lib/wctomb-impl.h b/lib/wctomb-impl.h index 7a0995a..ccec9ce 100644 --- a/lib/wctomb-impl.h +++ b/lib/wctomb-impl.h @@ -1,5 +1,5 @@ /* Convert wide character to multibyte character. - Copyright (C) 2011-2022 Free Software Foundation, Inc. + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This file is free software: you can redistribute it and/or modify @@ -25,7 +25,7 @@ wctomb (char *s, wchar_t wc) mbstate_t state; size_t result; - memset (&state, 0, sizeof (mbstate_t)); + mbszero (&state); result = wcrtomb (s, wc, &state); if (result == (size_t)-1) return -1; diff --git a/lib/wctomb.c b/lib/wctomb.c index bbaf2e0..694c95c 100644 --- a/lib/wctomb.c +++ b/lib/wctomb.c @@ -1,5 +1,5 @@ /* Convert wide character to multibyte character. - Copyright (C) 2011-2022 Free Software Foundation, Inc. + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This file is free software: you can redistribute it and/or modify diff --git a/lib/wctype-h.c b/lib/wctype-h.c index 1278143..7e4ff13 100644 --- a/lib/wctype-h.c +++ b/lib/wctype-h.c @@ -1,6 +1,6 @@ /* Inline functions for . - Copyright (C) 2012-2022 Free Software Foundation, Inc. + Copyright (C) 2012-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -20,4 +20,4 @@ #include #define _GL_WCTYPE_INLINE _GL_EXTERN_INLINE -#include "wctype.h" +#include diff --git a/lib/wctype.in.h b/lib/wctype.in.h index 98cafee..851c4f4 100644 --- a/lib/wctype.in.h +++ b/lib/wctype.in.h @@ -1,6 +1,6 @@ /* A substitute for ISO C99 , for platforms that lack it. - Copyright (C) 2006-2022 Free Software Foundation, Inc. + Copyright (C) 2006-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -44,6 +44,12 @@ #ifndef _@GUARD_PREFIX@_WCTYPE_H +/* This file uses _GL_INLINE_HEADER_BEGIN, _GL_INLINE, GNULIB_POSIXCHECK, + HAVE_RAW_DECL_*. */ +#if !_GL_CONFIG_H_INCLUDED + #error "Please include config.h first." +#endif + #if @HAVE_WINT_T@ /* Solaris 2.5 has a bug: must be included before . */ # include @@ -68,9 +74,6 @@ #ifndef _@GUARD_PREFIX@_WCTYPE_H #define _@GUARD_PREFIX@_WCTYPE_H -#ifndef _GL_INLINE_HEADER_BEGIN - #error "Please include config.h first." -#endif _GL_INLINE_HEADER_BEGIN #ifndef _GL_WCTYPE_INLINE # define _GL_WCTYPE_INLINE _GL_INLINE @@ -78,6 +81,8 @@ _GL_INLINE_HEADER_BEGIN /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */ +/* The definition of _GL_ARG_NONNULL is copied here. */ + /* The definition of _GL_WARN_ON_USE is copied here. */ /* Solaris 2.6 includes which includes which @@ -127,7 +132,8 @@ typedef unsigned int rpl_wint_t; /* FreeBSD 4.4 to 4.11 has but lacks the functions. Linux libc5 has and the functions but they are broken. mingw and MSVC have and the functions but they take a wchar_t - as argument, not an rpl_wint_t. + as argument, not an rpl_wint_t. Additionally, the mingw iswprint function + and the Android iswpunct function are broken. Assume all 11 functions (all isw* except iswblank) are implemented the same way, or not at all. */ # if ! @HAVE_ISWCNTRL@ || @REPLACE_ISWCNTRL@ @@ -179,7 +185,11 @@ rpl_iswlower (wint_t wc) _GL_WCTYPE_INLINE int rpl_iswprint (wint_t wc) { +# ifdef __MINGW32__ + return ((wchar_t) wc == wc ? wc == ' ' || iswgraph ((wchar_t) wc) : 0); +# else return ((wchar_t) wc == wc ? iswprint ((wchar_t) wc) : 0); +# endif } _GL_WCTYPE_INLINE int @@ -484,6 +494,16 @@ _GL_FUNCDECL_RPL (iswdigit, int, (wint_t wc)); # endif # endif +# if @GNULIB_ISWPUNCT@ +# if @REPLACE_ISWPUNCT@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef iswpunct +# define iswpunct rpl_iswpunct +# endif +_GL_FUNCDECL_RPL (iswpunct, int, (wint_t wc)); +# endif +# endif + # if @GNULIB_ISWXDIGIT@ # if @REPLACE_ISWXDIGIT@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) @@ -623,14 +643,32 @@ _GL_CXXALIASWARN (iswblank); typedef void * wctype_t; # define GNULIB_defined_wctype_t 1 # endif +#elif @REPLACE_WCTYPE@ +# if !GNULIB_defined_wctype_t +typedef void *rpl_wctype_t; +# undef wctype_t +# define wctype_t rpl_wctype_t +# define GNULIB_defined_wctype_t 1 +# endif #endif /* Get a descriptor for a wide character property. */ #if @GNULIB_WCTYPE@ -# if !@HAVE_WCTYPE_T@ -_GL_FUNCDECL_SYS (wctype, wctype_t, (const char *name)); -# endif +# if @REPLACE_WCTYPE@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef wctype +# define wctype rpl_wctype +# endif +_GL_FUNCDECL_RPL (wctype, wctype_t, (const char *name) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (wctype, wctype_t, (const char *name)); +# else +# if !@HAVE_WCTYPE_T@ +_GL_FUNCDECL_SYS (wctype, wctype_t, (const char *name) + _GL_ARG_NONNULL ((1))); +# endif _GL_CXXALIAS_SYS (wctype, wctype_t, (const char *name)); +# endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wctype); # endif @@ -646,7 +684,7 @@ _GL_WARN_ON_USE (wctype, "wctype is unportable - " The argument WC must be either a wchar_t value or WEOF. The argument DESC must have been returned by the wctype() function. */ #if @GNULIB_ISWCTYPE@ -# if @GNULIBHEADERS_OVERRIDE_WINT_T@ +# if @GNULIBHEADERS_OVERRIDE_WINT_T@ || @REPLACE_WCTYPE@ # if !(defined __cplusplus && defined GNULIB_NAMESPACE) # undef iswctype # define iswctype rpl_iswctype @@ -687,14 +725,32 @@ _GL_CXXALIASWARN (towupper); typedef void * wctrans_t; # define GNULIB_defined_wctrans_t 1 # endif +#elif @REPLACE_WCTRANS@ +# if !GNULIB_defined_wctrans_t +typedef void *rpl_wctrans_t; +# undef wctrans_t +# define wctrans_t rpl_wctrans_t +# define GNULIB_defined_wctrans_t 1 +# endif #endif /* Get a descriptor for a wide character case conversion. */ #if @GNULIB_WCTRANS@ -# if !@HAVE_WCTRANS_T@ -_GL_FUNCDECL_SYS (wctrans, wctrans_t, (const char *name)); -# endif +# if @REPLACE_WCTRANS@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef wctrans +# define wctrans rpl_wctrans +# endif +_GL_FUNCDECL_RPL (wctrans, wctrans_t, (const char *name) + _GL_ARG_NONNULL ((1))); +_GL_CXXALIAS_RPL (wctrans, wctrans_t, (const char *name)); +# else +# if !@HAVE_WCTRANS_T@ +_GL_FUNCDECL_SYS (wctrans, wctrans_t, (const char *name) + _GL_ARG_NONNULL ((1))); +# endif _GL_CXXALIAS_SYS (wctrans, wctrans_t, (const char *name)); +# endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (wctrans); # endif @@ -710,10 +766,19 @@ _GL_WARN_ON_USE (wctrans, "wctrans is unportable - " The argument WC must be either a wchar_t value or WEOF. The argument DESC must have been returned by the wctrans() function. */ #if @GNULIB_TOWCTRANS@ -# if !@HAVE_WCTRANS_T@ +# if @REPLACE_WCTRANS@ +# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +# undef towctrans +# define towctrans rpl_towctrans +# endif +_GL_FUNCDECL_RPL (towctrans, wint_t, (wint_t wc, wctrans_t desc)); +_GL_CXXALIAS_RPL (towctrans, wint_t, (wint_t wc, wctrans_t desc)); +# else +# if !@HAVE_WCTRANS_T@ _GL_FUNCDECL_SYS (towctrans, wint_t, (wint_t wc, wctrans_t desc)); -# endif +# endif _GL_CXXALIAS_SYS (towctrans, wint_t, (wint_t wc, wctrans_t desc)); +# endif # if __GLIBC__ >= 2 _GL_CXXALIASWARN (towctrans); # endif diff --git a/lib/windows-initguard.h b/lib/windows-initguard.h index a29d7e9..6bace3f 100644 --- a/lib/windows-initguard.h +++ b/lib/windows-initguard.h @@ -1,5 +1,5 @@ /* Init guards, somewhat like spinlocks (native Windows implementation). - Copyright (C) 2005-2022 Free Software Foundation, Inc. + Copyright (C) 2005-2024 Free Software Foundation, Inc. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as diff --git a/lib/wmemcpy-impl.h b/lib/wmemcpy-impl.h index 9dd8cd5..60492b9 100644 --- a/lib/wmemcpy-impl.h +++ b/lib/wmemcpy-impl.h @@ -1,10 +1,10 @@ /* Copy wide character array. - Copyright (C) 1999, 2011-2022 Free Software Foundation, Inc. + Copyright (C) 1999, 2011-2024 Free Software Foundation, Inc. Written by Bruno Haible , 1999. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation, either version 3 of the + published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This file is distributed in the hope that it will be useful, diff --git a/lib/wmemcpy.c b/lib/wmemcpy.c index e33beb3..375e45d 100644 --- a/lib/wmemcpy.c +++ b/lib/wmemcpy.c @@ -1,10 +1,10 @@ /* Copy wide character array. - Copyright (C) 2011-2022 Free Software Foundation, Inc. + Copyright (C) 2011-2024 Free Software Foundation, Inc. Written by Bruno Haible , 2011. This file is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as - published by the Free Software Foundation, either version 3 of the + published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This file is distributed in the hope that it will be useful, diff --git a/lib/xopen-source.h b/lib/xopen-source.h index c31cbbc..b29fff2 100644 --- a/lib/xopen-source.h +++ b/lib/xopen-source.h @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/m4/00gnulib.m4 b/m4/00gnulib.m4 index dea34e8..3448c40 100644 --- a/m4/00gnulib.m4 +++ b/m4/00gnulib.m4 @@ -1,5 +1,5 @@ # 00gnulib.m4 serial 8 -dnl Copyright (C) 2009-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2009-2024 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. diff --git a/m4/Makefile.am b/m4/Makefile.am index ccf7ffc..3cc3152 100644 --- a/m4/Makefile.am +++ b/m4/Makefile.am @@ -1,7 +1,7 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### diff --git a/m4/Makefile.in b/m4/Makefile.in index 8a4dcb0..a2533ee 100644 --- a/m4/Makefile.in +++ b/m4/Makefile.in @@ -17,12 +17,12 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### # Author: John Zaitseff -# $Id: ccf7ffc8b67c12d9c0187ecec3506c83621aa3bc $ +# $Id: 3cc31525932eff4a4123fcd8bce10ac29e46a9fe $ # # This file, m4/Makefile.am, contains the m4 macro directory Makefile for # Star Traders. It needs to be processed by automake to produce the @@ -119,14 +119,15 @@ subdir = m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/assert.m4 \ + $(top_srcdir)/m4/assert_h.m4 \ $(top_srcdir)/m4/ax_c___attribute__.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ $(top_srcdir)/m4/ax_compiler_vendor.m4 \ $(top_srcdir)/m4/ax_prepend_flag.m4 \ $(top_srcdir)/m4/ax_require_defined.m4 \ $(top_srcdir)/m4/ax_with_curses.m4 $(top_srcdir)/m4/btowc.m4 \ - $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ - $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/c-bool.m4 $(top_srcdir)/m4/codeset.m4 \ + $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/free.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ @@ -144,9 +145,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/monetary_h.m4 \ - $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nocrash.m4 \ - $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/setlocale_null.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \ + $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/musl.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/setlocale_null.m4 $(top_srcdir)/m4/ssize_t.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ @@ -195,6 +196,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ +ASSERT_H = @ASSERT_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -306,6 +308,7 @@ GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@ GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@ GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@ GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@ +GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@ GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@ GL_GNULIB_GETTIMEOFDAY = @GL_GNULIB_GETTIMEOFDAY@ GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@ @@ -319,6 +322,7 @@ GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@ GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@ GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@ GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@ +GL_GNULIB_ISWPUNCT = @GL_GNULIB_ISWPUNCT@ GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@ GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@ GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@ @@ -350,6 +354,8 @@ GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@ GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@ GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@ GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@ +GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@ +GL_GNULIB_MBSZERO = @GL_GNULIB_MBSZERO@ GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@ GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@ GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@ @@ -394,6 +400,7 @@ GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@ GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@ GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@ GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@ +GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@ GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@ GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@ GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@ @@ -428,6 +435,7 @@ GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@ GL_GNULIB_PUTS = @GL_GNULIB_PUTS@ GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@ GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@ +GL_GNULIB_RAND = @GL_GNULIB_RAND@ GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@ GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@ GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@ @@ -488,6 +496,7 @@ GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@ GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@ GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@ GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@ +GL_GNULIB_TIME = @GL_GNULIB_TIME@ GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@ GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@ GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@ @@ -549,6 +558,7 @@ GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@ GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@ GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@ GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@ +GL_GNULIB_WGETCWD = @GL_GNULIB_WGETCWD@ GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@ GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@ GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@ @@ -560,8 +570,8 @@ GL_GNULIB__EXIT = @GL_GNULIB__EXIT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@ -GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GREP = @GREP@ +HARD_LOCALE_LIB = @HARD_LOCALE_LIB@ HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -589,6 +599,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ +HAVE_DECL_GETW = @HAVE_DECL_GETW@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ @@ -596,6 +607,8 @@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ +HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@ +HAVE_DECL_PUTW = @HAVE_DECL_PUTW@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ @@ -644,11 +657,14 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETPASS = @HAVE_GETPASS@ +HAVE_GETPROGNAME = @HAVE_GETPROGNAME@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GETUMASK = @HAVE_GETUMASK@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXABS = @HAVE_IMAXABS@ +HAVE_IMAXDIV = @HAVE_IMAXDIV@ HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ @@ -668,6 +684,7 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ @@ -746,6 +763,7 @@ HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@ HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ +HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_USLEEP = @HAVE_USLEEP@ @@ -794,7 +812,6 @@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMPCPY = @HAVE_WMEMPCPY@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ -HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ ICONV_CONST = @ICONV_CONST@ ICONV_H = @ICONV_H@ @@ -809,6 +826,10 @@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@ +LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@ +LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@ +LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@ LDFLAGS = @LDFLAGS@ LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ @@ -836,11 +857,14 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MBRTOWC_LIB = @MBRTOWC_LIB@ MKDIR_P = @MKDIR_P@ MONETARY_H = @MONETARY_H@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ +NEXT_ASSERT_H = @NEXT_ASSERT_H@ +NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ @@ -910,6 +934,7 @@ REPLACE_CTIME = @REPLACE_CTIME@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUP3 = @REPLACE_DUP3@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_EXECL = @REPLACE_EXECL@ REPLACE_EXECLE = @REPLACE_EXECLE@ @@ -919,9 +944,11 @@ REPLACE_EXECVE = @REPLACE_EXECVE@ REPLACE_EXECVP = @REPLACE_EXECVP@ REPLACE_EXECVPE = @REPLACE_EXECVPE@ REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ +REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCHMODAT = @REPLACE_FCHMODAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ +REPLACE_FDATASYNC = @REPLACE_FDATASYNC@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FFSLL = @REPLACE_FFSLL@ @@ -944,22 +971,29 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ +REPLACE_GETENTROPY = @REPLACE_GETENTROPY@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ +REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETPASS = @REPLACE_GETPASS@ REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@ +REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@ +REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ +REPLACE_IMAXABS = @REPLACE_IMAXABS@ +REPLACE_IMAXDIV = @REPLACE_IMAXDIV@ REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@ +REPLACE_ISWPUNCT = @REPLACE_ISWPUNCT@ REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ @@ -977,14 +1011,19 @@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ +REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@ REPLACE_MBTOWC = @REPLACE_MBTOWC@ +REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MEMPCPY = @REPLACE_MEMPCPY@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKNODAT = @REPLACE_MKNODAT@ +REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@ +REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ @@ -992,8 +1031,10 @@ REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ +REPLACE_PIPE2 = @REPLACE_PIPE2@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@ +REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ @@ -1001,6 +1042,7 @@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ +REPLACE_RAND = @REPLACE_RAND@ REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ @@ -1015,6 +1057,7 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ @@ -1023,6 +1066,7 @@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ +REPLACE_STPCPY = @REPLACE_STPCPY@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ @@ -1048,9 +1092,12 @@ REPLACE_STRTOULL = @REPLACE_STRTOULL@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ +REPLACE_STRVERSCMP = @REPLACE_STRVERSCMP@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ +REPLACE_TIME = @REPLACE_TIME@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ +REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TRUNCATE = @REPLACE_TRUNCATE@ @@ -1068,21 +1115,30 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ +REPLACE_WCSCMP = @REPLACE_WCSCMP@ REPLACE_WCSFTIME = @REPLACE_WCSFTIME@ +REPLACE_WCSNCMP = @REPLACE_WCSNCMP@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ +REPLACE_WCSSTR = @REPLACE_WCSSTR@ REPLACE_WCSTOK = @REPLACE_WCSTOK@ REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ +REPLACE_WCTRANS = @REPLACE_WCTRANS@ +REPLACE_WCTYPE = @REPLACE_WCTYPE@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ +REPLACE_WMEMCMP = @REPLACE_WMEMCMP@ +REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@ REPLACE_WRITE = @REPLACE_WRITE@ +REPLACE__EXIT = @REPLACE__EXIT@ +SCHED_YIELD_LIB = @SCHED_YIELD_LIB@ SED = @SED@ +SETLOCALE_NULL_LIB = @SETLOCALE_NULL_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -1117,7 +1173,6 @@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ -appdatadir = @appdatadir@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ @@ -1153,6 +1208,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ +metainfodir = @metainfodir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ diff --git a/m4/absolute-header.m4 b/m4/absolute-header.m4 index 67d6507..0e9f9ba 100644 --- a/m4/absolute-header.m4 +++ b/m4/absolute-header.m4 @@ -1,5 +1,5 @@ -# absolute-header.m4 serial 17 -dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. +# absolute-header.m4 serial 18 +dnl Copyright (C) 2006-2024 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. @@ -66,7 +66,7 @@ AC_DEFUN([gl_ABSOLUTE_HEADER_ONE], esac changequote(,) case "$host_os" in - mingw*) + mingw* | windows*) dnl For the sake of native Windows compilers (excluding gcc), dnl treat backslash as a directory separator, like /. dnl Actually, these compilers use a double-backslash as diff --git a/m4/assert.m4 b/m4/assert.m4 index e88979a..6219c05 100644 --- a/m4/assert.m4 +++ b/m4/assert.m4 @@ -1,6 +1,6 @@ -#serial 7 +#serial 8 -# Copyright (C) 1998-1999, 2001, 2004, 2008-2022 Free Software Foundation, Inc. +# Copyright (C) 1998-1999, 2001, 2004, 2008-2024 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,7 +12,7 @@ AC_DEFUN([gl_ASSERT], [ AC_MSG_CHECKING([whether to enable assertions]) AC_ARG_ENABLE([assert], - [AS_HELP_STRING([--disable-assert], [turn off assertions])], + [AS_HELP_STRING([[--disable-assert]], [turn off assertions])], [AS_IF([test "x$enableval" = xno], [AC_DEFINE([NDEBUG], [1], [Define to 1 if assertions should be disabled.])], diff --git a/m4/assert_h.m4 b/m4/assert_h.m4 new file mode 100644 index 0000000..a73e45f --- /dev/null +++ b/m4/assert_h.m4 @@ -0,0 +1,73 @@ +# assert-h.m4 +dnl Copyright (C) 2011-2024 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Paul Eggert. + +AC_DEFUN([gl_ASSERT_H], +[ + AC_CACHE_CHECK([for static_assert], [gl_cv_static_assert], + [gl_save_CFLAGS=$CFLAGS + for gl_working in "yes, a keyword" "yes, an macro"; do + AS_CASE([$gl_working], + [*assert.h*], [CFLAGS="$gl_save_CFLAGS -DINCLUDE_ASSERT_H"]) + + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#if defined __clang__ && __STDC_VERSION__ < 202311 + #pragma clang diagnostic error "-Wc2x-extensions" + #pragma clang diagnostic error "-Wc++1z-extensions" + #endif + #ifdef INCLUDE_ASSERT_H + #include + #endif + static_assert (2 + 2 == 4, "arithmetic does not work"); + static_assert (2 + 2 == 4); + ]], + [[ + static_assert (sizeof (char) == 1, "sizeof does not work"); + static_assert (sizeof (char) == 1); + ]])], + [gl_cv_static_assert=$gl_working], + [gl_cv_static_assert=no]) + CFLAGS=$gl_save_CFLAGS + test "$gl_cv_static_assert" != no && break + done]) + + GL_GENERATE_ASSERT_H=false + AS_CASE([$gl_cv_static_assert], + [yes*keyword*], + [AC_DEFINE([HAVE_C_STATIC_ASSERT], [1], + [Define to 1 if the static_assert keyword works.])], + [no], + [GL_GENERATE_ASSERT_H=true + gl_NEXT_HEADERS([assert.h])]) + + dnl The "zz" puts this toward config.h's end, to avoid potential + dnl collisions with other definitions. + dnl #undef assert so that programs are not tempted to use it without + dnl specifically including assert.h. + dnl #undef __ASSERT_H__ so that on IRIX, when programs later include + dnl , this include actually defines assert. + dnl Break the #undef_s apart with a comment so that 'configure' does + dnl not comment them out. + AH_VERBATIM([zzstatic_assert], +[#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \ + && (!defined __cplusplus \ + || (__cpp_static_assert < 201411 \ + && __GNUG__ < 6 && __clang_major__ < 6))) + #include + #undef/**/assert + #ifdef __sgi + #undef/**/__ASSERT_H__ + #endif + /* Solaris 11.4 defines static_assert as a macro with 2 arguments. + We need it also to be invocable with a single argument. */ + #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus + #undef/**/static_assert + #define static_assert _Static_assert + #endif +#endif]) +]) diff --git a/m4/ax_cflags_warn_all.m4 b/m4/ax_cflags_warn_all.m4 index 9235a18..2e80ed8 100644 --- a/m4/ax_cflags_warn_all.m4 +++ b/m4/ax_cflags_warn_all.m4 @@ -51,7 +51,7 @@ # # Copyright (c) 2008 Guido U. Draheim # Copyright (c) 2010 Rhys Ulerich -# Copyright (c) 2018 John Zaitseff +# Copyright (c) 2018-24 John Zaitseff # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the @@ -79,7 +79,7 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 25 +#serial 26 AC_DEFUN([AX_FLAGS_WARN_ALL], [ AX_REQUIRE_DEFINED([AX_PREPEND_FLAG])dnl @@ -102,6 +102,7 @@ AC_DEFUN([AX_FLAGS_WARN_ALL], [ [fujitsu], [], [sdcc], [], [sx], [VAR="-pvctl[,]fullmsg"], + [nvhpc], [VAR="-Wall"], [portland], [], [gnu], [VAR="-Wall"], [sun], [VAR="-v"], diff --git a/m4/btowc.m4 b/m4/btowc.m4 index 45a61f5..8bb55dc 100644 --- a/m4/btowc.m4 +++ b/m4/btowc.m4 @@ -1,5 +1,5 @@ -# btowc.m4 serial 12 -dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. +# btowc.m4 serial 14 +dnl Copyright (C) 2008-2024 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -40,12 +40,12 @@ int main () [ changequote(,)dnl case "$host_os" in - # Guess no on Cygwin. - cygwin*) gl_cv_func_btowc_nul="guessing no" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_btowc_nul="guessing yes" ;; - # Guess yes otherwise. - *) gl_cv_func_btowc_nul="guessing yes" ;; + # Guess no on Cygwin. + cygwin*) gl_cv_func_btowc_nul="guessing no" ;; + # Guess yes on native Windows. + mingw* | windows*) gl_cv_func_btowc_nul="guessing yes" ;; + # Guess yes otherwise. + *) gl_cv_func_btowc_nul="guessing yes" ;; esac changequote([,])dnl ]) @@ -59,12 +59,12 @@ changequote([,])dnl dnl is present. changequote(,)dnl case "$host_os" in - # Guess no on IRIX. - irix*) gl_cv_func_btowc_eof="guessing no" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_btowc_eof="guessing yes" ;; - # Guess yes otherwise. - *) gl_cv_func_btowc_eof="guessing yes" ;; + # Guess no on IRIX. + irix*) gl_cv_func_btowc_eof="guessing no" ;; + # Guess yes on native Windows. + mingw* | windows*) gl_cv_func_btowc_eof="guessing yes" ;; + # Guess yes otherwise. + *) gl_cv_func_btowc_eof="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR != none; then @@ -88,6 +88,50 @@ int main () fi ]) + dnl On mingw, in the C locale, btowc is inconsistent with mbrtowc: + dnl mbrtowc avoids calling MultiByteToWideChar when MB_CUR_MAX is 1 and + dnl ___lc_codepage_func() is 0, but btowc is lacking this special case. + AC_CHECK_FUNCS_ONCE([mbrtowc]) + AC_CACHE_CHECK([whether btowc is consistent with mbrtowc in the C locale], + [gl_cv_func_btowc_consistent], + [ + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +#include +int main () +{ +#if HAVE_MBRTOWC + wint_t wc1 = btowc (0x80); + wchar_t wc2 = (wchar_t) 0xbadface; + char buf[1] = { 0x80 }; + mbstate_t state; + memset (&state, 0, sizeof (mbstate_t)); + if (mbrtowc (&wc2, buf, 1, &state) != 1 || wc1 != wc2) + return 1; +#endif + return 0; +}]])], + [gl_cv_func_btowc_consistent=yes], + [gl_cv_func_btowc_consistent=no], + [case "$host_os" in + # Guess no on mingw. + mingw* | windows*) + AC_EGREP_CPP([Problem], [ +#ifdef __MINGW32__ + Problem +#endif + ], + [gl_cv_func_btowc_consistent="guessing no"], + [gl_cv_func_btowc_consistent="guessing yes"]) + ;; + # Guess yes otherwise. + *) gl_cv_func_btowc_consistent="guessing yes" ;; + esac + ]) + ]) + case "$gl_cv_func_btowc_nul" in *yes) ;; *) REPLACE_BTOWC=1 ;; @@ -96,10 +140,22 @@ int main () *yes) ;; *) REPLACE_BTOWC=1 ;; esac + case "$gl_cv_func_btowc_consistent" in + *yes) ;; + *) REPLACE_BTOWC=1 ;; + esac + if test $REPLACE_BTOWC = 0; then + gl_MBRTOWC_C_LOCALE + case "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" in + *yes) ;; + *) REPLACE_BTOWC=1 ;; + esac + fi fi ]) # Prerequisites of lib/btowc.c. AC_DEFUN([gl_PREREQ_BTOWC], [ : + AC_CHECK_FUNCS_ONCE([mbrtowc]) ]) diff --git a/m4/c-bool.m4 b/m4/c-bool.m4 new file mode 100644 index 0000000..44fba3c --- /dev/null +++ b/m4/c-bool.m4 @@ -0,0 +1,51 @@ +# Check for bool that conforms to C2023. + +dnl Copyright 2022-2024 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_C_BOOL], +[ + AC_CACHE_CHECK([for bool, true, false], [gl_cv_c_bool], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([[ + #if true == false + #error "true == false" + #endif + extern bool b; + bool b = true == false;]])], + [gl_cv_c_bool=yes], + [gl_cv_c_bool=no])]) + if test "$gl_cv_c_bool" = yes; then + AC_DEFINE([HAVE_C_BOOL], [1], + [Define to 1 if bool, true and false work as per C2023.]) + fi + + AC_CHECK_HEADERS_ONCE([stdbool.h]) + + dnl The "zz" puts this toward config.h's end, to avoid potential + dnl collisions with other definitions. + dnl If 'bool', 'true' and 'false' do not work, arrange for them to work. + dnl In C, this means including if it is not already included. + dnl However, if the preprocessor mistakenly treats 'true' as 0, + dnl define it to a bool expression equal to 1; this is needed in + dnl Sun C++ 5.11 (Oracle Solaris Studio 12.2, 2010) and older. + AH_VERBATIM([zzbool], +[#ifndef HAVE_C_BOOL +# if !defined __cplusplus && !defined __bool_true_false_are_defined +# if HAVE_STDBOOL_H +# include +# else +# if defined __SUNPRO_C +# error " is not usable with this configuration. To make it usable, add -D_STDC_C99= to $CC." +# else +# error " does not exist on this platform. Use gnulib module 'stdbool-c99' instead of gnulib module 'stdbool'." +# endif +# endif +# endif +# if !true +# define true (!false) +# endif +#endif]) +]) diff --git a/m4/codeset.m4 b/m4/codeset.m4 index eb73260..94dccce 100644 --- a/m4/codeset.m4 +++ b/m4/codeset.m4 @@ -1,5 +1,5 @@ # codeset.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2022 Free Software +dnl Copyright (C) 2000-2002, 2006, 2008-2014, 2016, 2019-2024 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, diff --git a/m4/config-h.m4 b/m4/config-h.m4 index 803888a..9f3ab6a 100644 --- a/m4/config-h.m4 +++ b/m4/config-h.m4 @@ -1,6 +1,6 @@ # Say that -DHAVE_CONFIG_H is not needed. -dnl Copyright (C) 2006, 2009-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2009-2024 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. diff --git a/m4/extensions.m4 b/m4/extensions.m4 index 0b3e4b5..6fc2e30 100644 --- a/m4/extensions.m4 +++ b/m4/extensions.m4 @@ -1,7 +1,7 @@ -# serial 22 -*- Autoconf -*- +# serial 23 -*- Autoconf -*- # Enable extensions on systems that normally disable them. -# Copyright (C) 2003, 2006-2022 Free Software Foundation, Inc. +# Copyright (C) 2003, 2006-2024 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -31,7 +31,7 @@ m4_ifndef([AC_CHECK_INCLUDES_DEFAULT], # its dependencies. This will ensure that the gl_USE_SYSTEM_EXTENSIONS # invocation occurs in gl_EARLY, not in gl_INIT. -m4_version_prereq([2.70.1], [], [ +m4_version_prereq([2.72], [], [ # AC_USE_SYSTEM_EXTENSIONS # ------------------------ @@ -113,11 +113,15 @@ AH_VERBATIM([USE_SYSTEM_EXTENSIONS], #ifndef __STDC_WANT_IEC_60559_DFP_EXT__ # undef __STDC_WANT_IEC_60559_DFP_EXT__ #endif +/* Enable extensions specified by C23 Annex F. */ +#ifndef __STDC_WANT_IEC_60559_EXT__ +# undef __STDC_WANT_IEC_60559_EXT__ +#endif /* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ #ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ # undef __STDC_WANT_IEC_60559_FUNCS_EXT__ #endif -/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ +/* Enable extensions specified by C23 Annex H and ISO/IEC TS 18661-3:2015. */ #ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ # undef __STDC_WANT_IEC_60559_TYPES_EXT__ #endif @@ -187,6 +191,7 @@ dnl it should only be defined when necessary. AC_DEFINE([__STDC_WANT_IEC_60559_ATTRIBS_EXT__]) AC_DEFINE([__STDC_WANT_IEC_60559_BFP_EXT__]) AC_DEFINE([__STDC_WANT_IEC_60559_DFP_EXT__]) + AC_DEFINE([__STDC_WANT_IEC_60559_EXT__]) AC_DEFINE([__STDC_WANT_IEC_60559_FUNCS_EXT__]) AC_DEFINE([__STDC_WANT_IEC_60559_TYPES_EXT__]) AC_DEFINE([__STDC_WANT_LIB_EXT2__]) diff --git a/m4/extern-inline.m4 b/m4/extern-inline.m4 index 8a12bdd..680250e 100644 --- a/m4/extern-inline.m4 +++ b/m4/extern-inline.m4 @@ -1,6 +1,6 @@ dnl 'extern inline' a la ISO C99. -dnl Copyright 2012-2022 Free Software Foundation, Inc. +dnl Copyright 2012-2024 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. @@ -79,7 +79,8 @@ AC_DEFUN([gl_EXTERN_INLINE], # define _GL_EXTERN_INLINE_STDHEADER_BUG #endif #if ((__GNUC__ \ - ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ + ? (defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \ + && !defined __PCC__) \ : (199901L <= __STDC_VERSION__ \ && !defined __HP_cc \ && !defined __PGI \ @@ -89,6 +90,7 @@ AC_DEFUN([gl_EXTERN_INLINE], # define _GL_EXTERN_INLINE extern inline # define _GL_EXTERN_INLINE_IN_USE #elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \ + && !defined __PCC__ \ && !defined _GL_EXTERN_INLINE_STDHEADER_BUG) # if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__ /* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */ diff --git a/m4/free.m4 b/m4/free.m4 index dfeecd2..4f6dc2e 100644 --- a/m4/free.m4 +++ b/m4/free.m4 @@ -1,5 +1,5 @@ # free.m4 serial 6 -# Copyright (C) 2003-2005, 2009-2022 Free Software Foundation, Inc. +# Copyright (C) 2003-2005, 2009-2024 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/getopt.m4 b/m4/getopt.m4 index ff78ed5..be812d8 100644 --- a/m4/getopt.m4 +++ b/m4/getopt.m4 @@ -1,5 +1,5 @@ -# getopt.m4 serial 48 -dnl Copyright (C) 2002-2006, 2008-2022 Free Software Foundation, Inc. +# getopt.m4 serial 49 +dnl Copyright (C) 2002-2006, 2008-2024 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. @@ -197,8 +197,8 @@ main () fi else case "$host_os" in - darwin* | aix* | mingw*) gl_cv_func_getopt_posix="guessing no";; - *) gl_cv_func_getopt_posix="guessing yes";; + darwin* | aix* | mingw* | windows*) gl_cv_func_getopt_posix="guessing no";; + *) gl_cv_func_getopt_posix="guessing yes";; esac fi ]) diff --git a/m4/gettimeofday.m4 b/m4/gettimeofday.m4 index f729601..3526991 100644 --- a/m4/gettimeofday.m4 +++ b/m4/gettimeofday.m4 @@ -1,6 +1,6 @@ -# serial 29 +# serial 30 -# Copyright (C) 2001-2003, 2005, 2007, 2009-2022 Free Software Foundation, Inc. +# Copyright (C) 2001-2003, 2005, 2007, 2009-2024 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -57,7 +57,7 @@ int gettimeofday (struct timeval *restrict, struct timezone *restrict); dnl On mingw, the original gettimeofday has only a precision of 15.6 dnl milliseconds. So override it. case "$host_os" in - mingw*) REPLACE_GETTIMEOFDAY=1 ;; + mingw* | windows*) REPLACE_GETTIMEOFDAY=1 ;; esac fi AC_DEFINE_UNQUOTED([GETTIMEOFDAY_TIMEZONE], [$gl_gettimeofday_timezone], diff --git a/m4/gnulib-cache.m4 b/m4/gnulib-cache.m4 index ed84135..972a5a7 100644 --- a/m4/gnulib-cache.m4 +++ b/m4/gnulib-cache.m4 @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2022 Free Software Foundation, Inc. +# Copyright (C) 2002-2024 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/m4/gnulib-common.m4 b/m4/gnulib-common.m4 index 30911d1..5dd755f 100644 --- a/m4/gnulib-common.m4 +++ b/m4/gnulib-common.m4 @@ -1,5 +1,5 @@ -# gnulib-common.m4 serial 73 -dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. +# gnulib-common.m4 serial 89 +dnl Copyright (C) 2007-2024 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,6 +15,10 @@ AC_DEFUN([gl_COMMON], [ AC_REQUIRE([gl_ZZGNULIB]) ]) AC_DEFUN([gl_COMMON_BODY], [ + AH_VERBATIM([0witness], +[/* Witness that has been included. */ +#define _GL_CONFIG_H_INCLUDED 1 +]) AH_VERBATIM([_GL_GNUC_PREREQ], [/* True if the compiler says it groks GNU C version MAJOR.MINOR. */ #if defined __GNUC__ && defined __GNUC_MINOR__ @@ -38,6 +42,11 @@ AC_DEFUN([gl_COMMON_BODY], [ AIX system header files and several gnulib header files use precisely this syntax with 'extern'. */ # define _Noreturn [[noreturn]] +# elif (defined __clang__ && __clang_major__ < 16 \ + && defined _GL_WORK_AROUND_LLVM_BUG_59792) + /* Compile with -D_GL_WORK_AROUND_LLVM_BUG_59792 to work around + that rare LLVM bug, though you may get many false-alarm warnings. */ +# define _Noreturn # elif ((!defined __cplusplus || defined __clang__) \ && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \ || (!defined __STRICT_ANSI__ \ @@ -71,7 +80,7 @@ AC_DEFUN([gl_COMMON_BODY], [ && (!defined __clang_minor__ \ || (defined __apple_build_version__ \ ? 6000000 <= __apple_build_version__ \ - : 3 < __clang_major__ + (5 <= __clang_minor__)))) + : 5 <= __clang_major__))) # define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__) #else # define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr @@ -105,17 +114,31 @@ AC_DEFUN([gl_COMMON_BODY], [ # define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4) #endif -#ifdef __has_c_attribute -# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \ - && _GL_GNUC_PREREQ (4, 6)) -# pragma GCC diagnostic ignored "-Wpedantic" -# endif -# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__) +/* Use __has_c_attribute if available. However, do not use with + pre-C23 GCC, which can issue false positives if -Wpedantic. */ +#if (defined __has_c_attribute \ + && ! (_GL_GNUC_PREREQ (4, 6) \ + && (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710)) +# define _GL_HAVE___HAS_C_ATTRIBUTE 1 #else -# define _GL_HAS_C_ATTRIBUTE(attr) 0 +# define _GL_HAVE___HAS_C_ATTRIBUTE 0 #endif -]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's _Alignas instead. +/* Define if, in a function declaration, the attributes in bracket syntax + [[...]] must come before the attributes in __attribute__((...)) syntax. + If this is defined, it is best to avoid the bracket syntax, so that the + various _GL_ATTRIBUTE_* can be cumulated on the same declaration in any + order. */ +#ifdef __cplusplus +# if defined __clang__ +# define _GL_BRACKET_BEFORE_ATTRIBUTE 1 +# endif +#else +# if defined __GNUC__ && !defined __clang__ +# define _GL_BRACKET_BEFORE_ATTRIBUTE 1 +# endif +#endif +]dnl There is no _GL_ATTRIBUTE_ALIGNED; use stdalign's alignas instead. [ /* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function is the size of the returned memory block. @@ -123,29 +146,35 @@ AC_DEFUN([gl_COMMON_BODY], [ by the Nth argument of the function is the size of the returned memory block. */ /* Applies to: function, pointer to function, function types. */ -#if _GL_HAS_ATTRIBUTE (alloc_size) -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) -#else -# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +#ifndef _GL_ATTRIBUTE_ALLOC_SIZE +# if _GL_HAS_ATTRIBUTE (alloc_size) +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args)) +# else +# define _GL_ATTRIBUTE_ALLOC_SIZE(args) +# endif #endif /* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the function and report an error if it cannot do so. */ /* Applies to: function. */ -#if _GL_HAS_ATTRIBUTE (always_inline) -# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) -#else -# define _GL_ATTRIBUTE_ALWAYS_INLINE +#ifndef _GL_ATTRIBUTE_ALWAYS_INLINE +# if _GL_HAS_ATTRIBUTE (always_inline) +# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__)) +# else +# define _GL_ATTRIBUTE_ALWAYS_INLINE +# endif #endif /* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show in stack traces when debugging. The compiler should omit the function from stack traces. */ /* Applies to: function. */ -#if _GL_HAS_ATTRIBUTE (artificial) -# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) -#else -# define _GL_ATTRIBUTE_ARTIFICIAL +#ifndef _GL_ATTRIBUTE_ARTIFICIAL +# if _GL_HAS_ATTRIBUTE (artificial) +# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__)) +# else +# define _GL_ATTRIBUTE_ARTIFICIAL +# endif #endif /* _GL_ATTRIBUTE_COLD declares that the function is rarely executed. */ @@ -153,14 +182,16 @@ AC_DEFUN([gl_COMMON_BODY], [ /* Avoid __attribute__ ((cold)) on MinGW; see thread starting at . Also, Oracle Studio 12.6 requires 'cold' not '__cold__'. */ -#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ -# ifndef __SUNPRO_C -# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) +#ifndef _GL_ATTRIBUTE_COLD +# if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__ +# ifndef __SUNPRO_C +# define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__)) +# else +# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) +# endif # else -# define _GL_ATTRIBUTE_COLD __attribute__ ((cold)) +# define _GL_ATTRIBUTE_COLD # endif -#else -# define _GL_ATTRIBUTE_COLD #endif /* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate @@ -170,10 +201,12 @@ AC_DEFUN([gl_COMMON_BODY], [ forever, and does not call longjmp. (This attribute is stricter than _GL_ATTRIBUTE_PURE.) */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (const) -# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) -#else -# define _GL_ATTRIBUTE_CONST +#ifndef _GL_ATTRIBUTE_CONST +# if _GL_HAS_ATTRIBUTE (const) +# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__)) +# else +# define _GL_ATTRIBUTE_CONST +# endif #endif /* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers @@ -182,16 +215,25 @@ AC_DEFUN([gl_COMMON_BODY], [ _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that can be freed via 'free'; it can be used only after declaring 'free'. */ /* Applies to: functions. Cannot be used on inline functions. */ -#if _GL_GNUC_PREREQ (11, 0) -# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) -#else -# define _GL_ATTRIBUTE_DEALLOC(f, i) +#ifndef _GL_ATTRIBUTE_DEALLOC +# if _GL_GNUC_PREREQ (11, 0) +# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i))) +# else +# define _GL_ATTRIBUTE_DEALLOC(f, i) +# endif #endif /* If gnulib's or has already defined this macro, continue to use this earlier definition, since may not have been included yet. */ #ifndef _GL_ATTRIBUTE_DEALLOC_FREE -# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1) +# if defined __cplusplus && defined __GNUC__ && !defined __clang__ +/* Work around GCC bug */ +# define _GL_ATTRIBUTE_DEALLOC_FREE \ + _GL_ATTRIBUTE_DEALLOC ((void (*) (void *)) free, 1) +# else +# define _GL_ATTRIBUTE_DEALLOC_FREE \ + _GL_ATTRIBUTE_DEALLOC (free, 1) +# endif #endif /* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated. @@ -202,12 +244,20 @@ AC_DEFUN([gl_COMMON_BODY], [ - enumeration, enumeration item, - typedef, in C++ also: namespace, class, template specialization. */ -#if _GL_HAS_C_ATTRIBUTE (deprecated) -# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] -#elif _GL_HAS_ATTRIBUTE (deprecated) -# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) -#else -# define _GL_ATTRIBUTE_DEPRECATED +#ifndef _GL_ATTRIBUTE_DEPRECATED +# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE +# if _GL_HAVE___HAS_C_ATTRIBUTE +# if __has_c_attribute (__deprecated__) +# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]] +# endif +# endif +# endif +# if !defined _GL_ATTRIBUTE_DEPRECATED && _GL_HAS_ATTRIBUTE (deprecated) +# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__)) +# endif +# ifndef _GL_ATTRIBUTE_DEPRECATED +# define _GL_ATTRIBUTE_DEPRECATED +# endif #endif /* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and @@ -215,24 +265,28 @@ AC_DEFUN([gl_COMMON_BODY], [ _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and the function call is not optimized away. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (error) -# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) -# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) -#elif _GL_HAS_ATTRIBUTE (diagnose_if) -# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) -# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) -#else -# define _GL_ATTRIBUTE_ERROR(msg) -# define _GL_ATTRIBUTE_WARNING(msg) +#if !(defined _GL_ATTRIBUTE_ERROR && defined _GL_ATTRIBUTE_WARNING) +# if _GL_HAS_ATTRIBUTE (error) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg))) +# elif _GL_HAS_ATTRIBUTE (diagnose_if) +# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error"))) +# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning"))) +# else +# define _GL_ATTRIBUTE_ERROR(msg) +# define _GL_ATTRIBUTE_WARNING(msg) +# endif #endif /* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain visible to debuggers etc., even with '-fwhole-program'. */ /* Applies to: functions, variables. */ -#if _GL_HAS_ATTRIBUTE (externally_visible) -# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) -#else -# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +#ifndef _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +# if _GL_HAS_ATTRIBUTE (externally_visible) +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible)) +# else +# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE +# endif #endif /* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if @@ -240,12 +294,18 @@ AC_DEFUN([gl_COMMON_BODY], [ 'default' label. The compiler should not warn in this case. */ /* Applies to: Empty statement (;), inside a 'switch' statement. */ /* Always expands to something. */ -#if _GL_HAS_C_ATTRIBUTE (fallthrough) -# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] -#elif _GL_HAS_ATTRIBUTE (fallthrough) -# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) -#else -# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +#ifndef _GL_ATTRIBUTE_FALLTHROUGH +# if _GL_HAVE___HAS_C_ATTRIBUTE +# if __has_c_attribute (__fallthrough__) +# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]] +# endif +# endif +# if !defined _GL_ATTRIBUTE_FALLTHROUGH && _GL_HAS_ATTRIBUTE (fallthrough) +# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__)) +# endif +# ifndef _GL_ATTRIBUTE_FALLTHROUGH +# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0) +# endif #endif /* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK)) @@ -259,10 +319,12 @@ AC_DEFUN([gl_COMMON_BODY], [ If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK are suitable for the format string. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (format) -# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) -#else -# define _GL_ATTRIBUTE_FORMAT(spec) +#ifndef _GL_ATTRIBUTE_FORMAT +# if _GL_HAS_ATTRIBUTE (format) +# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec)) +# else +# define _GL_ATTRIBUTE_FORMAT(spec) +# endif #endif /* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other @@ -270,19 +332,23 @@ AC_DEFUN([gl_COMMON_BODY], [ exception handling. This declaration lets the compiler optimize that unit more aggressively. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (leaf) -# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) -#else -# define _GL_ATTRIBUTE_LEAF +#ifndef _GL_ATTRIBUTE_LEAF +# if _GL_HAS_ATTRIBUTE (leaf) +# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__)) +# else +# define _GL_ATTRIBUTE_LEAF +# endif #endif /* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly allocated memory. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (malloc) -# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) -#else -# define _GL_ATTRIBUTE_MALLOC +#ifndef _GL_ATTRIBUTE_MALLOC +# if _GL_HAS_ATTRIBUTE (malloc) +# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__)) +# else +# define _GL_ATTRIBUTE_MALLOC +# endif #endif /* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the @@ -290,10 +356,12 @@ AC_DEFUN([gl_COMMON_BODY], [ strict aliasing optimization. */ /* Applies to: types. */ /* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK. */ -#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C -# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) -#else -# define _GL_ATTRIBUTE_MAY_ALIAS +#ifndef _GL_ATTRIBUTE_MAY_ALIAS +# if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C +# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__)) +# else +# define _GL_ATTRIBUTE_MAY_ALIAS +# endif #endif /* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if @@ -305,15 +373,29 @@ AC_DEFUN([gl_COMMON_BODY], [ - enumeration, enumeration item, - typedef, in C++ also: class. */ -/* In C++ and C2x, this is spelled [[__maybe_unused__]]. +/* In C++ and C23, this is spelled [[__maybe_unused__]]. GCC's syntax is __attribute__ ((__unused__)). - clang supports both syntaxes. */ -#if _GL_HAS_C_ATTRIBUTE (maybe_unused) -# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] -#else -# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED + clang supports both syntaxes. Except that with clang ≥ 6, < 10, in C++ mode, + __has_c_attribute (__maybe_unused__) yields true but the use of + [[__maybe_unused__]] nevertheless produces a warning. */ +#ifndef _GL_ATTRIBUTE_MAYBE_UNUSED +# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE +# if defined __clang__ && defined __cplusplus +# if !defined __apple_build_version__ && __clang_major__ >= 10 +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +# endif +# elif _GL_HAVE___HAS_C_ATTRIBUTE +# if __has_c_attribute (__maybe_unused__) +# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]] +# endif +# endif +# endif +# ifndef _GL_ATTRIBUTE_MAYBE_UNUSED +# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED +# endif #endif -/* Alternative spelling of this macro, for convenience. */ +/* Alternative spelling of this macro, for convenience and for + compatibility with glibc/include/libc-symbols.h. */ #define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED /* Earlier spellings of this macro. */ #define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED @@ -322,21 +404,40 @@ AC_DEFUN([gl_COMMON_BODY], [ discard the return value. The compiler may warn if the caller does not use the return value, unless the caller uses something like ignore_value. */ /* Applies to: function, enumeration, class. */ -#if _GL_HAS_C_ATTRIBUTE (nodiscard) -# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] -#elif _GL_HAS_ATTRIBUTE (warn_unused_result) -# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) -#else -# define _GL_ATTRIBUTE_NODISCARD +#ifndef _GL_ATTRIBUTE_NODISCARD +# ifndef _GL_BRACKET_BEFORE_ATTRIBUTE +# if defined __clang__ && defined __cplusplus + /* With clang up to 15.0.6 (at least), in C++ mode, [[__nodiscard__]] produces + a warning. + The 1000 below means a yet unknown threshold. When clang++ version X + starts supporting [[__nodiscard__]] without warning about it, you can + replace the 1000 with X. */ +# if __clang_major__ >= 1000 +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +# endif +# elif _GL_HAVE___HAS_C_ATTRIBUTE +# if __has_c_attribute (__nodiscard__) +# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]] +# endif +# endif +# endif +# if !defined _GL_ATTRIBUTE_NODISCARD && _GL_HAS_ATTRIBUTE (warn_unused_result) +# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__)) +# endif +# ifndef _GL_ATTRIBUTE_NODISCARD +# define _GL_ATTRIBUTE_NODISCARD +# endif #endif /* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the function. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (noinline) -# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) -#else -# define _GL_ATTRIBUTE_NOINLINE +#ifndef _GL_ATTRIBUTE_NOINLINE +# if _GL_HAS_ATTRIBUTE (noinline) +# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__)) +# else +# define _GL_ATTRIBUTE_NOINLINE +# endif #endif /* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,... @@ -344,20 +445,24 @@ AC_DEFUN([gl_COMMON_BODY], [ _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be null. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (nonnull) -# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) -#else -# define _GL_ATTRIBUTE_NONNULL(args) +#ifndef _GL_ATTRIBUTE_NONNULL +# if _GL_HAS_ATTRIBUTE (nonnull) +# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args)) +# else +# define _GL_ATTRIBUTE_NONNULL(args) +# endif #endif /* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is not meant to be NUL-terminated. */ /* Applies to: struct/union members and variables that are arrays of element type '[[un]signed] char'. */ -#if _GL_HAS_ATTRIBUTE (nonstring) -# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) -#else -# define _GL_ATTRIBUTE_NONSTRING +#ifndef _GL_ATTRIBUTE_NONSTRING +# if _GL_HAS_ATTRIBUTE (nonstring) +# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__)) +# else +# define _GL_ATTRIBUTE_NONSTRING +# endif #endif /* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead. */ @@ -365,10 +470,26 @@ AC_DEFUN([gl_COMMON_BODY], [ /* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus -# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) -#else -# define _GL_ATTRIBUTE_NOTHROW +/* After a function's parameter list, this attribute must come first, before + other attributes. */ +#ifndef _GL_ATTRIBUTE_NOTHROW +# if defined __cplusplus +# if _GL_GNUC_PREREQ (2, 8) || __clang_major >= 4 +# if __cplusplus >= 201103L +# define _GL_ATTRIBUTE_NOTHROW noexcept (true) +# else +# define _GL_ATTRIBUTE_NOTHROW throw () +# endif +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# else +# if _GL_HAS_ATTRIBUTE (nothrow) +# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__)) +# else +# define _GL_ATTRIBUTE_NOTHROW +# endif +# endif #endif /* _GL_ATTRIBUTE_PACKED declares: @@ -377,10 +498,12 @@ AC_DEFUN([gl_COMMON_BODY], [ minimizing the memory required. */ /* Applies to: struct members, struct, union, in C++ also: class. */ -#if _GL_HAS_ATTRIBUTE (packed) -# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) -#else -# define _GL_ATTRIBUTE_PACKED +#ifndef _GL_ATTRIBUTE_PACKED +# if _GL_HAS_ATTRIBUTE (packed) +# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__)) +# else +# define _GL_ATTRIBUTE_PACKED +# endif #endif /* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate @@ -390,19 +513,23 @@ AC_DEFUN([gl_COMMON_BODY], [ observable state, and always returns exactly once. (This attribute is looser than _GL_ATTRIBUTE_CONST.) */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (pure) -# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) -#else -# define _GL_ATTRIBUTE_PURE +#ifndef _GL_ATTRIBUTE_PURE +# if _GL_HAS_ATTRIBUTE (pure) +# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__)) +# else +# define _GL_ATTRIBUTE_PURE +# endif #endif /* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is a non-NULL pointer. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (returns_nonnull) -# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) -#else -# define _GL_ATTRIBUTE_RETURNS_NONNULL +#ifndef _GL_ATTRIBUTE_RETURNS_NONNULL +# if _GL_HAS_ATTRIBUTE (returns_nonnull) +# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__)) +# else +# define _GL_ATTRIBUTE_RETURNS_NONNULL +# endif #endif /* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a @@ -410,17 +537,21 @@ AC_DEFUN([gl_COMMON_BODY], [ _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99). _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL. */ /* Applies to: functions. */ -#if _GL_HAS_ATTRIBUTE (sentinel) -# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) -#else -# define _GL_ATTRIBUTE_SENTINEL(pos) +#ifndef _GL_ATTRIBUTE_SENTINEL +# if _GL_HAS_ATTRIBUTE (sentinel) +# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos)) +# else +# define _GL_ATTRIBUTE_SENTINEL(pos) +# endif #endif /* A helper macro. Don't use it directly. */ -#if _GL_HAS_ATTRIBUTE (unused) -# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) -#else -# define _GL_ATTRIBUTE_UNUSED +#ifndef _GL_ATTRIBUTE_UNUSED +# if _GL_HAS_ATTRIBUTE (unused) +# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__)) +# else +# define _GL_ATTRIBUTE_UNUSED +# endif #endif ]dnl There is no _GL_ATTRIBUTE_VISIBILITY; see m4/visibility.m4 instead. @@ -431,10 +562,24 @@ AC_DEFUN([gl_COMMON_BODY], [ /* Applies to: label (both in C and C++). */ /* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;' syntax. But clang does. */ -#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ -# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +#ifndef _GL_UNUSED_LABEL +# if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__ +# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED +# else +# define _GL_UNUSED_LABEL +# endif +#endif +]) + AH_VERBATIM([c_linkage], +[/* In C++, there is the concept of "language linkage", that encompasses + name mangling and function calling conventions. + The following macros start and end a block of "C" linkage. */ +#ifdef __cplusplus +# define _GL_BEGIN_C_LINKAGE extern "C" { +# define _GL_END_C_LINKAGE } #else -# define _GL_UNUSED_LABEL +# define _GL_BEGIN_C_LINKAGE +# define _GL_END_C_LINKAGE #endif ]) AH_VERBATIM([async_safe], @@ -492,7 +637,7 @@ AC_DEFUN([gl_COMMON_BODY], [ dnl gl_cross_guess_normal (to be used when 'yes' is good and 'no' is bad), dnl gl_cross_guess_inverted (to be used when 'no' is good and 'yes' is bad). AC_ARG_ENABLE([cross-guesses], - [AS_HELP_STRING([--enable-cross-guesses={conservative|risky}], + [AS_HELP_STRING([[--enable-cross-guesses={conservative|risky}]], [specify policy for cross-compilation guesses])], [if test "x$enableval" != xconservative && test "x$enableval" != xrisky; then AC_MSG_WARN([invalid argument supplied to --enable-cross-guesses]) @@ -929,6 +1074,7 @@ AC_DEFUN([gl_CC_GNULIB_WARNINGS], dnl -Wno-pedantic >= 4.8 >= 3.9 dnl -Wno-sign-compare >= 3 >= 3.9 dnl -Wno-sign-conversion >= 4.3 >= 3.9 + dnl -Wno-tautological-out-of-range-compare - >= 3.9 dnl -Wno-type-limits >= 4.3 >= 3.9 dnl -Wno-undef >= 3 >= 3.9 dnl -Wno-unsuffixed-float-constants >= 4.5 @@ -954,6 +1100,9 @@ AC_DEFUN([gl_CC_GNULIB_WARNINGS], #if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) -Wno-pedantic #endif + #if 3 < __clang_major__ + (9 <= __clang_minor__) + -Wno-tautological-constant-out-of-range-compare + #endif #if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3) -Wno-sign-conversion -Wno-type-limits @@ -1004,6 +1153,238 @@ AC_DEFUN([gl_CONDITIONAL_HEADER], m4_popdef([gl_header_name]) ]) +dnl Preparations for gl_CHECK_FUNCS_MACOS. +AC_DEFUN([gl_PREPARE_CHECK_FUNCS_MACOS], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_COMPILER_CLANG]) + AC_CACHE_CHECK([for compiler option needed when checking for future declarations], + [gl_cv_compiler_check_future_option], + [case "$host_os" in + dnl This is only needed on macOS. + darwin*) + if test $gl_cv_compiler_clang = yes; then + dnl Test whether the compiler supports the option + dnl '-Werror=unguarded-availability-new'. + save_ac_compile="$ac_compile" + ac_compile="$ac_compile -Werror=unguarded-availability-new" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],[[]])], + [gl_cv_compiler_check_future_option='-Werror=unguarded-availability-new'], + [gl_cv_compiler_check_future_option=none]) + ac_compile="$save_ac_compile" + else + gl_cv_compiler_check_future_option=none + fi + ;; + *) gl_cv_compiler_check_future_option=none ;; + esac + ]) +]) + +dnl Pieces of the expansion of +dnl gl_CHECK_FUNCS_ANDROID +dnl gl_CHECK_FUNCS_MACOS +dnl gl_CHECK_FUNCS_ANDROID_MACOS + +AC_DEFUN([gl_CHECK_FUNCS_DEFAULT_CASE], +[ + *) + AC_CHECK_FUNC([$1]) + [gl_cv_onwards_func_][$1]=$[ac_cv_func_][$1] + ;; +]) + +AC_DEFUN([gl_CHECK_FUNCS_CASE_FOR_ANDROID], +[ + linux*-android*) + AC_CHECK_DECL([$1], , , [$2]) + if test $[ac_cv_have_decl_][$1] = yes; then + AC_CHECK_FUNC([[$1]]) + if test $[ac_cv_func_][$1] = yes; then + [gl_cv_onwards_func_][$1]=yes + else + dnl The function is declared but does not exist. This should not + dnl happen normally. But anyway, we know that a future version + dnl of Android will have the function. + [gl_cv_onwards_func_][$1]='future OS version' + fi + else + [gl_cv_onwards_func_][$1]='future OS version' + fi + ;; +]) + +AC_DEFUN([gl_CHECK_FUNCS_CASE_FOR_MACOS], +[ + darwin*) + if test "x$gl_cv_compiler_check_future_option" != "xnone"; then + dnl Use a compile test, not a link test. + save_ac_compile="$ac_compile" + ac_compile="$ac_compile $gl_cv_compiler_check_future_option" + save_ac_compile_for_check_decl="$ac_compile_for_check_decl" + ac_compile_for_check_decl="$ac_compile_for_check_decl $gl_cv_compiler_check_future_option" + unset [ac_cv_have_decl_][$1] + AC_CHECK_DECL([$1], , , [$2]) + ac_compile="$save_ac_compile" + ac_compile_for_check_decl="$save_ac_compile_for_check_decl" + [ac_cv_func_][$1]="$[ac_cv_have_decl_][$1]" + if test $[ac_cv_func_][$1] = yes; then + [gl_cv_onwards_func_][$1]=yes + else + unset [ac_cv_have_decl_][$1] + AC_CHECK_DECL([$1], , , [$2]) + if test $[ac_cv_have_decl_][$1] = yes; then + [gl_cv_onwards_func_][$1]='future OS version' + else + [gl_cv_onwards_func_][$1]=no + fi + fi + else + AC_CHECK_FUNC([$1]) + [gl_cv_onwards_func_][$1]=$[ac_cv_func_][$1] + fi + ;; +]) + +AC_DEFUN([gl_CHECK_FUNCS_SET_RESULTS], +[ + case "$[gl_cv_onwards_func_][$1]" in + future*) [ac_cv_func_][$1]=no ;; + *) [ac_cv_func_][$1]=$[gl_cv_onwards_func_][$1] ;; + esac + if test $[ac_cv_func_][$1] = yes; then + AC_DEFINE([HAVE_]m4_translit([[$1]], + [abcdefghijklmnopqrstuvwxyz], + [ABCDEFGHIJKLMNOPQRSTUVWXYZ]), + [1], [Define to 1 if you have the `$1' function.]) + fi +]) + +dnl gl_CHECK_FUNCS_ANDROID([func], [[#include ]]) +dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem +dnl on Android. +dnl +dnl When code is compiled on Android, it is in the context of a certain +dnl "Android API level", which indicates the minimum version of Android on +dnl which the app can be installed. In other words, you don't compile for a +dnl specific version of Android. You compile for all versions of Android, +dnl onwards from the given API level. +dnl Thus, the question "does the OS have the function func" has three possible +dnl answers: +dnl - yes, in all versions starting from the given API level, +dnl - no, in no version, +dnl - not in the given API level, but in a later version of Android. +dnl +dnl In detail, this works as follows: +dnl If func was added to Android API level, say, 28, then the libc.so has the +dnl symbol func always, whereas the header file declares func +dnl conditionally: +dnl #if __ANDROID_API__ >= 28 +dnl ... func (...) __INTRODUCED_IN(28); +dnl #endif +dnl Thus, when compiling with "clang -target armv7a-unknown-linux-android28", +dnl the function func is declared and exists in libc. +dnl Whereas when compiling with "clang -target armv7a-unknown-linux-android27", +dnl the function func is not declared but exists in libc. +dnl +dnl This macro sets two variables: +dnl - gl_cv_onwards_func_ to yes / no / "future OS version" +dnl - ac_cv_func_ to yes / no / no +dnl The first variable allows to distinguish all three cases. +dnl The second variable is set, so that an invocation +dnl gl_CHECK_FUNCS_ANDROID([func], [[#include ]]) +dnl can be used as a drop-in replacement for +dnl AC_CHECK_FUNCS([func]). +AC_DEFUN([gl_CHECK_FUNCS_ANDROID], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_CACHE_CHECK([for [$1]], + [[gl_cv_onwards_func_][$1]], + [gl_SILENT([ + case "$host_os" in + gl_CHECK_FUNCS_CASE_FOR_ANDROID([$1], [$2]) + gl_CHECK_FUNCS_DEFAULT_CASE([$1]) + esac + ]) + ]) + gl_CHECK_FUNCS_SET_RESULTS([$1]) +]) + +dnl gl_CHECK_FUNCS_MACOS([func], [[#include ]]) +dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem +dnl on macOS. +dnl +dnl When code is compiled on macOS, it is in the context of a certain minimum +dnl macOS version, that can be set through the option '-mmacosx-version-min='. +dnl In other words, you don't compile for a specific version of macOS. You +dnl compile for all versions of macOS, onwards from the given version. +dnl Thus, the question "does the OS have the function func" has three possible +dnl answers: +dnl - yes, in all versions starting from the given version, +dnl - no, in no version, +dnl - not in the given version, but in a later version of macOS. +dnl +dnl In detail, this works as follows: +dnl If func was added to, say, macOS version 13, then the libc has the +dnl symbol func always, whereas the header file declares func +dnl conditionally with a special availability attribute: +dnl ... func (...) __attribute__((availability(macos,introduced=13.0))); +dnl Thus, when compiling with "clang mmacosx-version-min=13", there is no +dnl warning about the use of func, and the resulting binary +dnl - runs fine on macOS 13, +dnl - aborts with a dyld "Symbol not found" message on macOS 12. +dnl Whereas, when compiling with "clang mmacosx-version-min=12", there is a +dnl warning: 'func' is only available on macOS 13.0 or newer +dnl [-Wunguarded-availability-new], +dnl and the resulting binary +dnl - runs fine on macOS 13, +dnl - crashes with a SIGSEGV (signal 11) on macOS 12. +dnl +dnl This macro sets two variables: +dnl - gl_cv_onwards_func_ to yes / no / "future OS version" +dnl - ac_cv_func_ to yes / no / no +dnl The first variable allows to distinguish all three cases. +dnl The second variable is set, so that an invocation +dnl gl_CHECK_FUNCS_MACOS([func], [[#include ]]) +dnl can be used as a drop-in replacement for +dnl AC_CHECK_FUNCS([func]). +AC_DEFUN([gl_CHECK_FUNCS_MACOS], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_PREPARE_CHECK_FUNCS_MACOS]) + AC_CACHE_CHECK([for [$1]], + [[gl_cv_onwards_func_][$1]], + [gl_SILENT([ + case "$host_os" in + gl_CHECK_FUNCS_CASE_FOR_MACOS([$1], [$2]) + gl_CHECK_FUNCS_DEFAULT_CASE([$1]) + esac + ]) + ]) + gl_CHECK_FUNCS_SET_RESULTS([$1]) +]) + +dnl gl_CHECK_FUNCS_ANDROID_MACOS([func], [[#include ]]) +dnl is like AC_CHECK_FUNCS([func]), taking into account a portability problem +dnl on Android and on macOS. +dnl It is the combination of gl_CHECK_FUNCS_ANDROID and gl_CHECK_FUNCS_MACOS. +AC_DEFUN([gl_CHECK_FUNCS_ANDROID_MACOS], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gl_PREPARE_CHECK_FUNCS_MACOS]) + AC_CACHE_CHECK([for [$1]], + [[gl_cv_onwards_func_][$1]], + [gl_SILENT([ + case "$host_os" in + gl_CHECK_FUNCS_CASE_FOR_ANDROID([$1], [$2]) + gl_CHECK_FUNCS_CASE_FOR_MACOS([$1], [$2]) + gl_CHECK_FUNCS_DEFAULT_CASE([$1]) + esac + ]) + ]) + gl_CHECK_FUNCS_SET_RESULTS([$1]) +]) + dnl Expands to some code for use in .c programs that, on native Windows, defines dnl the Microsoft deprecated alias function names to the underscore-prefixed dnl actual function names. With this macro, these function names are available diff --git a/m4/gnulib-comp.m4 b/m4/gnulib-comp.m4 index dfe9232..e168e55 100644 --- a/m4/gnulib-comp.m4 +++ b/m4/gnulib-comp.m4 @@ -1,5 +1,5 @@ # DO NOT EDIT! GENERATED AUTOMATICALLY! -# Copyright (C) 2002-2022 Free Software Foundation, Inc. +# Copyright (C) 2002-2024 Free Software Foundation, Inc. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -44,6 +44,7 @@ AC_DEFUN([gl_EARLY], # Code from module absolute-header: # Code from module assert: + # Code from module assert-h: # Code from module attribute: # Code from module btowc: # Code from module c-ctype: @@ -74,6 +75,7 @@ AC_DEFUN([gl_EARLY], # Code from module mbrtowc: # Code from module mbsinit: # Code from module mbsrtowcs: + # Code from module mbszero: # Code from module mbtowc: # Code from module memchr: # Code from module monetary: @@ -90,6 +92,7 @@ AC_DEFUN([gl_EARLY], # Code from module stddef: # Code from module stdint: # Code from module stdio: + gl_STDIO_H_EARLY # Code from module stdlib: # Code from module streq: # Code from module striconv: @@ -98,14 +101,13 @@ AC_DEFUN([gl_EARLY], # Code from module sys_stat: # Code from module sys_time: # Code from module sys_types: - # Code from module time: + # Code from module time-h: # Code from module unistd: # Code from module unistr/base: # Code from module unistr/u8-mbtoucr: # Code from module unistr/u8-uctomb: # Code from module unitypes: # Code from module vararrays: - # Code from module verify: # Code from module wchar: # Code from module wcrtomb: # Code from module wcsdup: @@ -222,9 +224,7 @@ AC_DEFUN([gl_INIT], AC_PROG_MKDIR_P gl_MULTIARCH gt_TYPE_SSIZE_T - gl_STDBOOL_H - gl_CONDITIONAL_HEADER([stdbool.h]) - AC_PROG_MKDIR_P + gl_C_BOOL gl_STDDEF_H gl_STDDEF_H_REQUIRE_DEFAULTS gl_CONDITIONAL_HEADER([stddef.h]) @@ -311,11 +311,13 @@ AC_DEFUN([gl_INIT], gl_WCTYPE_H gl_WCTYPE_H_REQUIRE_DEFAULTS AC_PROG_MKDIR_P + gl_gnulib_enabled_d07eca4c7a24aaac657c64e6568d4c2f=false gl_gnulib_enabled_attribute=false gl_gnulib_enabled_30838f5439487421042f2225bed3af76=false gl_gnulib_enabled_inline=false gl_gnulib_enabled_localcharset=false gl_gnulib_enabled_mbsinit=false + gl_gnulib_enabled_mbszero=false gl_gnulib_enabled_mbtowc=false gl_gnulib_enabled_memchr=false gl_gnulib_enabled_e7e881d32ca02f1c997b13c737c64bbd=false @@ -325,20 +327,31 @@ AC_DEFUN([gl_INIT], gl_gnulib_enabled_53028ec81a2fde9235f1d688e4e85fc1=false gl_gnulib_enabled_fabe8eca3a52cf42d4d1d781b9f5fcbe=false gl_gnulib_enabled_unitypes=false - gl_gnulib_enabled_verify=false gl_gnulib_enabled_wctomb=false gl_gnulib_enabled_wmemcpy=false + func_gl_gnulib_m4code_d07eca4c7a24aaac657c64e6568d4c2f () + { + if $gl_gnulib_enabled_d07eca4c7a24aaac657c64e6568d4c2f; then :; else + gl_ASSERT_H + gl_CONDITIONAL_HEADER([assert.h]) + AC_PROG_MKDIR_P + gl_gnulib_enabled_d07eca4c7a24aaac657c64e6568d4c2f=true + fi + } func_gl_gnulib_m4code_attribute () { - if ! $gl_gnulib_enabled_attribute; then + if $gl_gnulib_enabled_attribute; then :; else gl_gnulib_enabled_attribute=true fi } func_gl_gnulib_m4code_30838f5439487421042f2225bed3af76 () { - if ! $gl_gnulib_enabled_30838f5439487421042f2225bed3af76; then + if $gl_gnulib_enabled_30838f5439487421042f2225bed3af76; then :; else AC_REQUIRE([gl_FUNC_SETLOCALE_NULL]) - LIB_HARD_LOCALE="$LIB_SETLOCALE_NULL" + HARD_LOCALE_LIB="$SETLOCALE_NULL_LIB" + AC_SUBST([HARD_LOCALE_LIB]) + dnl For backward compatibility. + LIB_HARD_LOCALE="$HARD_LOCALE_LIB" AC_SUBST([LIB_HARD_LOCALE]) gl_gnulib_enabled_30838f5439487421042f2225bed3af76=true func_gl_gnulib_m4code_e7e881d32ca02f1c997b13c737c64bbd @@ -346,14 +359,14 @@ AC_DEFUN([gl_INIT], } func_gl_gnulib_m4code_inline () { - if ! $gl_gnulib_enabled_inline; then + if $gl_gnulib_enabled_inline; then :; else gl_INLINE gl_gnulib_enabled_inline=true fi } func_gl_gnulib_m4code_localcharset () { - if ! $gl_gnulib_enabled_localcharset; then + if $gl_gnulib_enabled_localcharset; then :; else gl_LOCALCHARSET dnl For backward compatibility. Some packages still use this. LOCALCHARSET_TESTS_ENVIRONMENT= @@ -363,7 +376,7 @@ AC_DEFUN([gl_INIT], } func_gl_gnulib_m4code_mbsinit () { - if ! $gl_gnulib_enabled_mbsinit; then + if $gl_gnulib_enabled_mbsinit; then :; else gl_FUNC_MBSINIT gl_CONDITIONAL([GL_COND_OBJ_MBSINIT], [test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1]) @@ -373,13 +386,23 @@ AC_DEFUN([gl_INIT], gl_WCHAR_MODULE_INDICATOR([mbsinit]) gl_gnulib_enabled_mbsinit=true if test $HAVE_MBSINIT = 0 || test $REPLACE_MBSINIT = 1; then - func_gl_gnulib_m4code_verify + func_gl_gnulib_m4code_d07eca4c7a24aaac657c64e6568d4c2f fi fi } + func_gl_gnulib_m4code_mbszero () + { + if $gl_gnulib_enabled_mbszero; then :; else + AC_REQUIRE([AC_TYPE_MBSTATE_T]) + gl_MBSTATE_T_BROKEN + gl_MUSL_LIBC + gl_WCHAR_MODULE_INDICATOR([mbszero]) + gl_gnulib_enabled_mbszero=true + fi + } func_gl_gnulib_m4code_mbtowc () { - if ! $gl_gnulib_enabled_mbtowc; then + if $gl_gnulib_enabled_mbtowc; then :; else gl_FUNC_MBTOWC gl_CONDITIONAL([GL_COND_OBJ_MBTOWC], [test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1]) @@ -388,11 +411,14 @@ AC_DEFUN([gl_INIT], ]) gl_STDLIB_MODULE_INDICATOR([mbtowc]) gl_gnulib_enabled_mbtowc=true + if test $HAVE_MBTOWC = 0 || test $REPLACE_MBTOWC = 1; then + func_gl_gnulib_m4code_mbszero + fi fi } func_gl_gnulib_m4code_memchr () { - if ! $gl_gnulib_enabled_memchr; then + if $gl_gnulib_enabled_memchr; then :; else gl_FUNC_MEMCHR gl_CONDITIONAL([GL_COND_OBJ_MEMCHR], [test $REPLACE_MEMCHR = 1]) AM_COND_IF([GL_COND_OBJ_MEMCHR], [ @@ -404,7 +430,7 @@ AC_DEFUN([gl_INIT], } func_gl_gnulib_m4code_e7e881d32ca02f1c997b13c737c64bbd () { - if ! $gl_gnulib_enabled_e7e881d32ca02f1c997b13c737c64bbd; then + if $gl_gnulib_enabled_e7e881d32ca02f1c997b13c737c64bbd; then :; else gl_FUNC_SETLOCALE_NULL gl_CONDITIONAL([GL_COND_OBJ_SETLOCALE_LOCK], [test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0]) @@ -417,21 +443,21 @@ AC_DEFUN([gl_INIT], } func_gl_gnulib_m4code_streq () { - if ! $gl_gnulib_enabled_streq; then + if $gl_gnulib_enabled_streq; then :; else gl_gnulib_enabled_streq=true fi } func_gl_gnulib_m4code_strnlen1 () { - if ! $gl_gnulib_enabled_strnlen1; then + if $gl_gnulib_enabled_strnlen1; then :; else gl_gnulib_enabled_strnlen1=true func_gl_gnulib_m4code_memchr fi } func_gl_gnulib_m4code_9c4a70804d24b83657b84f487eb93a64 () { - if ! $gl_gnulib_enabled_9c4a70804d24b83657b84f487eb93a64; then - gl_LIBUNISTRING_LIBHEADER([0.9.11], [unistr.h]) + if $gl_gnulib_enabled_9c4a70804d24b83657b84f487eb93a64; then :; else + gl_LIBUNISTRING_LIBHEADER([1.2], [unistr.h]) AC_PROG_MKDIR_P gl_gnulib_enabled_9c4a70804d24b83657b84f487eb93a64=true func_gl_gnulib_m4code_inline @@ -440,7 +466,7 @@ AC_DEFUN([gl_INIT], } func_gl_gnulib_m4code_53028ec81a2fde9235f1d688e4e85fc1 () { - if ! $gl_gnulib_enabled_53028ec81a2fde9235f1d688e4e85fc1; then + if $gl_gnulib_enabled_53028ec81a2fde9235f1d688e4e85fc1; then :; else gl_MODULE_INDICATOR([unistr/u8-mbtoucr]) gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-mbtoucr]) gl_gnulib_enabled_53028ec81a2fde9235f1d688e4e85fc1=true @@ -449,7 +475,7 @@ AC_DEFUN([gl_INIT], } func_gl_gnulib_m4code_fabe8eca3a52cf42d4d1d781b9f5fcbe () { - if ! $gl_gnulib_enabled_fabe8eca3a52cf42d4d1d781b9f5fcbe; then + if $gl_gnulib_enabled_fabe8eca3a52cf42d4d1d781b9f5fcbe; then :; else gl_MODULE_INDICATOR([unistr/u8-uctomb]) gl_LIBUNISTRING_MODULE([0.9], [unistr/u8-uctomb]) gl_gnulib_enabled_fabe8eca3a52cf42d4d1d781b9f5fcbe=true @@ -459,7 +485,7 @@ AC_DEFUN([gl_INIT], } func_gl_gnulib_m4code_unitypes () { - if ! $gl_gnulib_enabled_unitypes; then + if $gl_gnulib_enabled_unitypes; then :; else gl_LIBUNISTRING_LIBHEADER([0.9.11], [unitypes.h]) AC_PROG_MKDIR_P AH_VERBATIM([unitypes_restrict], [ @@ -480,15 +506,9 @@ AC_DEFUN([gl_INIT], gl_gnulib_enabled_unitypes=true fi } - func_gl_gnulib_m4code_verify () - { - if ! $gl_gnulib_enabled_verify; then - gl_gnulib_enabled_verify=true - fi - } func_gl_gnulib_m4code_wctomb () { - if ! $gl_gnulib_enabled_wctomb; then + if $gl_gnulib_enabled_wctomb; then :; else gl_FUNC_WCTOMB gl_CONDITIONAL([GL_COND_OBJ_WCTOMB], [test $REPLACE_WCTOMB = 1]) AM_COND_IF([GL_COND_OBJ_WCTOMB], [ @@ -496,17 +516,23 @@ AC_DEFUN([gl_INIT], ]) gl_STDLIB_MODULE_INDICATOR([wctomb]) gl_gnulib_enabled_wctomb=true + if test $REPLACE_WCTOMB = 1; then + func_gl_gnulib_m4code_mbszero + fi fi } func_gl_gnulib_m4code_wmemcpy () { - if ! $gl_gnulib_enabled_wmemcpy; then + if $gl_gnulib_enabled_wmemcpy; then :; else gl_FUNC_WMEMCPY gl_CONDITIONAL([GL_COND_OBJ_WMEMCPY], [test $HAVE_WMEMCPY = 0]) gl_WCHAR_MODULE_INDICATOR([wmemcpy]) gl_gnulib_enabled_wmemcpy=true fi } + if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then + func_gl_gnulib_m4code_mbszero + fi if test $HAVE_BTOWC = 0 || test $REPLACE_BTOWC = 1; then func_gl_gnulib_m4code_mbtowc fi @@ -516,6 +542,9 @@ AC_DEFUN([gl_INIT], if test $REPLACE_ICONV_UTF = 1; then func_gl_gnulib_m4code_fabe8eca3a52cf42d4d1d781b9f5fcbe fi + if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then + func_gl_gnulib_m4code_d07eca4c7a24aaac657c64e6568d4c2f + fi if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then func_gl_gnulib_m4code_attribute fi @@ -531,9 +560,6 @@ AC_DEFUN([gl_INIT], if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then func_gl_gnulib_m4code_streq fi - if test $HAVE_MBRTOWC = 0 || test $REPLACE_MBRTOWC = 1; then - func_gl_gnulib_m4code_verify - fi if test $HAVE_MBSRTOWCS = 0 || test $REPLACE_MBSRTOWCS = 1; then func_gl_gnulib_m4code_strnlen1 fi @@ -547,11 +573,13 @@ AC_DEFUN([gl_INIT], func_gl_gnulib_m4code_wctomb fi m4_pattern_allow([^gl_GNULIB_ENABLED_]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_d07eca4c7a24aaac657c64e6568d4c2f], [$gl_gnulib_enabled_d07eca4c7a24aaac657c64e6568d4c2f]) AM_CONDITIONAL([gl_GNULIB_ENABLED_attribute], [$gl_gnulib_enabled_attribute]) AM_CONDITIONAL([gl_GNULIB_ENABLED_30838f5439487421042f2225bed3af76], [$gl_gnulib_enabled_30838f5439487421042f2225bed3af76]) AM_CONDITIONAL([gl_GNULIB_ENABLED_inline], [$gl_gnulib_enabled_inline]) AM_CONDITIONAL([gl_GNULIB_ENABLED_localcharset], [$gl_gnulib_enabled_localcharset]) AM_CONDITIONAL([gl_GNULIB_ENABLED_mbsinit], [$gl_gnulib_enabled_mbsinit]) + AM_CONDITIONAL([gl_GNULIB_ENABLED_mbszero], [$gl_gnulib_enabled_mbszero]) AM_CONDITIONAL([gl_GNULIB_ENABLED_mbtowc], [$gl_gnulib_enabled_mbtowc]) AM_CONDITIONAL([gl_GNULIB_ENABLED_memchr], [$gl_gnulib_enabled_memchr]) AM_CONDITIONAL([gl_GNULIB_ENABLED_e7e881d32ca02f1c997b13c737c64bbd], [$gl_gnulib_enabled_e7e881d32ca02f1c997b13c737c64bbd]) @@ -561,7 +589,6 @@ AC_DEFUN([gl_INIT], AM_CONDITIONAL([gl_GNULIB_ENABLED_53028ec81a2fde9235f1d688e4e85fc1], [$gl_gnulib_enabled_53028ec81a2fde9235f1d688e4e85fc1]) AM_CONDITIONAL([gl_GNULIB_ENABLED_fabe8eca3a52cf42d4d1d781b9f5fcbe], [$gl_gnulib_enabled_fabe8eca3a52cf42d4d1d781b9f5fcbe]) AM_CONDITIONAL([gl_GNULIB_ENABLED_unitypes], [$gl_gnulib_enabled_unitypes]) - AM_CONDITIONAL([gl_GNULIB_ENABLED_verify], [$gl_gnulib_enabled_verify]) AM_CONDITIONAL([gl_GNULIB_ENABLED_wctomb], [$gl_gnulib_enabled_wctomb]) AM_CONDITIONAL([gl_GNULIB_ENABLED_wmemcpy], [$gl_gnulib_enabled_wmemcpy]) # End of code from modules @@ -740,6 +767,7 @@ AC_DEFUN([gl_FILE_LIST], [ build-aux/config.rpath lib/_Noreturn.h lib/arg-nonnull.h + lib/assert.in.h lib/attribute.h lib/btowc.c lib/c++defs.h @@ -788,6 +816,7 @@ AC_DEFUN([gl_FILE_LIST], [ lib/mbsrtowcs-impl.h lib/mbsrtowcs-state.c lib/mbsrtowcs.c + lib/mbszero.c lib/mbtowc-impl.h lib/mbtowc-lock.c lib/mbtowc-lock.h @@ -798,7 +827,6 @@ AC_DEFUN([gl_FILE_LIST], [ lib/setlocale-lock.c lib/setlocale_null.c lib/setlocale_null.h - lib/stdbool.in.h lib/stddef.in.h lib/stdint.in.h lib/stdio-read.c @@ -839,7 +867,9 @@ AC_DEFUN([gl_FILE_LIST], [ m4/00gnulib.m4 m4/absolute-header.m4 m4/assert.m4 + m4/assert_h.m4 m4/btowc.m4 + m4/c-bool.m4 m4/codeset.m4 m4/config-h.m4 m4/extensions.m4 @@ -874,13 +904,13 @@ AC_DEFUN([gl_FILE_LIST], [ m4/mmap-anon.m4 m4/monetary_h.m4 m4/multiarch.m4 + m4/musl.m4 m4/nocrash.m4 m4/off_t.m4 m4/pid_t.m4 m4/setlocale_null.m4 m4/ssize_t.m4 m4/std-gnu11.m4 - m4/stdbool.m4 m4/stddef_h.m4 m4/stdint.m4 m4/stdio_h.m4 diff --git a/m4/host-cpu-c-abi.m4 b/m4/host-cpu-c-abi.m4 index b922324..2aa413c 100644 --- a/m4/host-cpu-c-abi.m4 +++ b/m4/host-cpu-c-abi.m4 @@ -1,5 +1,5 @@ -# host-cpu-c-abi.m4 serial 15 -dnl Copyright (C) 2002-2022 Free Software Foundation, Inc. +# host-cpu-c-abi.m4 serial 16 +dnl Copyright (C) 2002-2024 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. @@ -468,10 +468,11 @@ AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT], AC_REQUIRE([AC_CANONICAL_HOST]) AC_CACHE_CHECK([32-bit host C ABI], [gl_cv_host_cpu_c_abi_32bit], [if test -n "$gl_cv_host_cpu_c_abi"; then + dnl gl_HOST_CPU_C_ABI has already been run. Use its result. 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 ) + x86_64 | alpha | arm64 | aarch64c | 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 ;; @@ -535,7 +536,7 @@ changequote([,])dnl [gl_cv_host_cpu_c_abi_32bit=yes]) ;; - arm* | aarch64 ) + arm* | aarch64 | aarch64c ) # Assume arm with EABI. # On arm64 systems, the C compiler may be generating code in one of # these ABIs: diff --git a/m4/iconv.m4 b/m4/iconv.m4 index 2065c97..aa3de6c 100644 --- a/m4/iconv.m4 +++ b/m4/iconv.m4 @@ -1,5 +1,5 @@ # iconv.m4 serial 26 -dnl Copyright (C) 2000-2002, 2007-2014, 2016-2022 Free Software Foundation, +dnl Copyright (C) 2000-2002, 2007-2014, 2016-2024 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, diff --git a/m4/iconv_h.m4 b/m4/iconv_h.m4 index 5846566..7b56088 100644 --- a/m4/iconv_h.m4 +++ b/m4/iconv_h.m4 @@ -1,5 +1,5 @@ # iconv_h.m4 serial 16 -dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2024 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. diff --git a/m4/iconv_open.m4 b/m4/iconv_open.m4 index 1ed26cd..d4fd3ab 100644 --- a/m4/iconv_open.m4 +++ b/m4/iconv_open.m4 @@ -1,5 +1,5 @@ # iconv_open.m4 serial 16 -dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2024 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. diff --git a/m4/include_next.m4 b/m4/include_next.m4 index a9247f6..8a1c52c 100644 --- a/m4/include_next.m4 +++ b/m4/include_next.m4 @@ -1,5 +1,5 @@ # include_next.m4 serial 26 -dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2024 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. diff --git a/m4/inline.m4 b/m4/inline.m4 index 3f07265..208f742 100644 --- a/m4/inline.m4 +++ b/m4/inline.m4 @@ -1,5 +1,5 @@ # inline.m4 serial 4 -dnl Copyright (C) 2006, 2009-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2006, 2009-2024 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. diff --git a/m4/inttypes.m4 b/m4/inttypes.m4 index df25a21..6abf9db 100644 --- a/m4/inttypes.m4 +++ b/m4/inttypes.m4 @@ -1,5 +1,5 @@ -# inttypes.m4 serial 36 -dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. +# inttypes.m4 serial 37 +dnl Copyright (C) 2006-2024 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. @@ -170,6 +170,10 @@ AC_DEFUN([gl_INTTYPES_H_DEFAULTS], HAVE_DECL_STRTOIMAX=1; AC_SUBST([HAVE_DECL_STRTOIMAX]) HAVE_DECL_STRTOUMAX=1; AC_SUBST([HAVE_DECL_STRTOUMAX]) HAVE_IMAXDIV_T=1; AC_SUBST([HAVE_IMAXDIV_T]) + HAVE_IMAXABS=1; AC_SUBST([HAVE_IMAXABS]) + HAVE_IMAXDIV=1; AC_SUBST([HAVE_IMAXDIV]) + REPLACE_IMAXABS=0; AC_SUBST([REPLACE_IMAXABS]) + REPLACE_IMAXDIV=0; AC_SUBST([REPLACE_IMAXDIV]) REPLACE_STRTOIMAX=0; AC_SUBST([REPLACE_STRTOIMAX]) REPLACE_STRTOUMAX=0; AC_SUBST([REPLACE_STRTOUMAX]) INT32_MAX_LT_INTMAX_MAX=1; AC_SUBST([INT32_MAX_LT_INTMAX_MAX]) diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 index 934207a..f079332 100644 --- a/m4/lib-ld.m4 +++ b/m4/lib-ld.m4 @@ -1,5 +1,5 @@ -# lib-ld.m4 serial 10 -dnl Copyright (C) 1996-2003, 2009-2022 Free Software Foundation, Inc. +# lib-ld.m4 serial 12 +dnl Copyright (C) 1996-2003, 2009-2024 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -29,7 +29,7 @@ AC_DEFUN([AC_LIB_PROG_LD], AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], + [AS_HELP_STRING([[--with-gnu-ld]], [assume the C compiler uses GNU ld [default=no]])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl @@ -67,7 +67,7 @@ else if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. case $host in - *-*-mingw*) + *-*-mingw* | windows*) # gcc leaves a trailing carriage return which upsets mingw acl_output=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) diff --git a/m4/lib-link.m4 b/m4/lib-link.m4 index 3b75bcd..d91ecb3 100644 --- a/m4/lib-link.m4 +++ b/m4/lib-link.m4 @@ -1,5 +1,5 @@ # lib-link.m4 serial 33 -dnl Copyright (C) 2001-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2024 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. @@ -224,7 +224,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], additional_libdir3= fi dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. + dnl $LDFLAGS. Use breadth-first search. LIB[]NAME= LTLIB[]NAME= INC[]NAME= diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4 index 999f712..d597553 100644 --- a/m4/lib-prefix.m4 +++ b/m4/lib-prefix.m4 @@ -1,5 +1,5 @@ # lib-prefix.m4 serial 20 -dnl Copyright (C) 2001-2005, 2008-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2005, 2008-2024 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. diff --git a/m4/libunistring-base.m4 b/m4/libunistring-base.m4 index a0892da..7c3f65e 100644 --- a/m4/libunistring-base.m4 +++ b/m4/libunistring-base.m4 @@ -1,5 +1,5 @@ -# libunistring-base.m4 serial 7 -dnl Copyright (C) 2010-2022 Free Software Foundation, Inc. +# libunistring-base.m4 serial 8 +dnl Copyright (C) 2010-2024 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -18,6 +18,8 @@ dnl You have to bump the VERSION argument to the next projected version dnl number each time you make a change that affects the behaviour of the dnl functions defined in Module (even if the sources of Module itself do not dnl change). +dnl +dnl This macro invocation must not occur in macros that are AC_REQUIREd. AC_DEFUN([gl_LIBUNISTRING_MODULE], [ @@ -28,6 +30,35 @@ AC_DEFUN([gl_LIBUNISTRING_MODULE], [gl_LIBUNISTRING_VERSION_CMP([$1])]) ]) +dnl gl_LIBUNISTRING_MODULE_WITH_VARIABLE([VERSION], [Module]) +dnl is like gl_LIBUNISTRING_MODULE([VERSION], [Module]), except that it also +dnl defines an AC_SUBSTed autoconf variable GNULIB_$MODULE_DLL_VARIABLE. +dnl What's the expansion of this autoconf variable? +dnl - When building libunistring, it expands to LIBUNISTRING_DLL_VARIABLE. +dnl (This is necessary because this token must be present in the .h files +dnl when the .h files get installed.) +dnl - When building gnulib or application code it expands to +dnl - LIBUNISTRING_DLL_VARIABLE by default, +dnl - empty if the automake conditional LIBUNISTRING_COMPILE_$MODULE +dnl evaluates to true. +dnl (This is necessary because when the conditional evaluates to false, +dnl the application code expects to use the declared variable from the +dnl installed libunistring; it's in this case that the +dnl LIBUNISTRING_DLL_VARIABLE macro from the installed +dnl must be used.) +dnl +dnl This macro invocation must not occur in macros that are AC_REQUIREd. + +AC_DEFUN([gl_LIBUNISTRING_MODULE_WITH_VARIABLE], +[ + gl_LIBUNISTRING_MODULE([$1], [$2]) + m4_ifndef([gl_IN_LIBUNISTRING], + [if test -z "${AS_TR_CPP([LIBUNISTRING_COMPILE_$2])_TRUE}"; then + GL_MODULE_INDICATOR_PREFIX[]_GNULIB_[]AS_TR_CPP([$2_DLL_VARIABLE])= + fi + ]) +]) + dnl gl_LIBUNISTRING_LIBHEADER([VERSION], [HeaderFile]) dnl Declares that HeaderFile should be created, unless we are linking dnl with libunistring and its version is >= the given VERSION. @@ -95,6 +126,26 @@ changequote([,]) LIBUNISTRING_VERSION_MINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_minor"` LIBUNISTRING_VERSION_SUBMINOR=`echo "$LIBUNISTRING_VERSION" | sed -n -e "$gl_libunistring_sed_extract_subminor"` fi + + dnl Determine whether from an installed libunistring + dnl is available. + m4_ifdef([gl_IN_LIBUNISTRING], + [dnl In libunistring, all .h files that declare variables need to + dnl #include . This references the file + dnl unistring/woe32dll.h in libunistring. + HAVE_UNISTRING_WOE32DLL_H=1 + ], + [dnl In gnulib or in applications, we need a #include + dnl if and only if an installed libunistring is available. + if test "$HAVE_LIBUNISTRING" = yes; then + AC_CHECK_HEADERS([unistring/woe32dll.h], + [HAVE_UNISTRING_WOE32DLL_H=1], + [HAVE_UNISTRING_WOE32DLL_H=0]) + else + HAVE_UNISTRING_WOE32DLL_H=0 + fi + ]) + AC_SUBST([HAVE_UNISTRING_WOE32DLL_H]) ]) dnl gl_LIBUNISTRING_VERSION_CMP([VERSION]) diff --git a/m4/limits-h.m4 b/m4/limits-h.m4 index 5d5a5bf..1825328 100644 --- a/m4/limits-h.m4 +++ b/m4/limits-h.m4 @@ -1,6 +1,6 @@ dnl Check whether limits.h has needed features. -dnl Copyright 2016-2022 Free Software Foundation, Inc. +dnl Copyright 2016-2024 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. @@ -23,14 +23,27 @@ AC_DEFUN_ONCE([gl_LIMITS_H], int wb = WORD_BIT; int ullw = ULLONG_WIDTH; int bw = BOOL_WIDTH; + int bm = BOOL_MAX; + int mblm = MB_LEN_MAX; ]])], [gl_cv_header_limits_width=yes], [gl_cv_header_limits_width=no])]) - if test "$gl_cv_header_limits_width" = yes; then - GL_GENERATE_LIMITS_H=false - else - GL_GENERATE_LIMITS_H=true - fi + GL_GENERATE_LIMITS_H=true + AS_IF([test "$gl_cv_header_limits_width" = yes], + [AC_CACHE_CHECK([whether limits.h has SSIZE_MAX], + [gl_cv_header_limits_ssize_max], + [AC_COMPILE_IFELSE( + [AC_LANG_SOURCE( + [[#include + #ifndef SSIZE_MAX + #error "SSIZE_MAX is not defined" + #endif + ]])], + [gl_cv_header_limits_ssize_max=yes], + [gl_cv_header_limits_ssize_max=no])]) + if test "$gl_cv_header_limits_ssize_max" = yes; then + GL_GENERATE_LIMITS_H=false + fi]) ]) dnl Unconditionally enables the replacement of . diff --git a/m4/localcharset.m4 b/m4/localcharset.m4 index f5dbbd4..abf07dc 100644 --- a/m4/localcharset.m4 +++ b/m4/localcharset.m4 @@ -1,5 +1,5 @@ # localcharset.m4 serial 8 -dnl Copyright (C) 2002, 2004, 2006, 2009-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2002, 2004, 2006, 2009-2024 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. diff --git a/m4/locale-fr.m4 b/m4/locale-fr.m4 index 3753891..c952856 100644 --- a/m4/locale-fr.m4 +++ b/m4/locale-fr.m4 @@ -1,5 +1,5 @@ -# locale-fr.m4 serial 20 -dnl Copyright (C) 2003, 2005-2022 Free Software Foundation, Inc. +# locale-fr.m4 serial 23 +dnl Copyright (C) 2003, 2005-2024 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 Bruno Haible. dnl Determine the name of a french locale with traditional encoding. -AC_DEFUN([gt_LOCALE_FR], +AC_DEFUN_ONCE([gt_LOCALE_FR], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) @@ -86,7 +86,7 @@ int main () { # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. - mingw*) + mingw* | windows*) # Test for the native Windows locale name. if (LC_ALL=French_France.1252 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_fr=French_France.1252 @@ -133,15 +133,31 @@ int main () { rm -fr conftest* ]) LOCALE_FR=$gt_cv_locale_fr + case $LOCALE_FR in #( + '' | *[[[:space:]\"\$\'*@<:@]]*) + dnl This locale name might cause trouble with sh or make. + AC_MSG_WARN([invalid locale "$LOCALE_FR"; assuming "none"]) + LOCALE_FR=none;; + esac AC_SUBST([LOCALE_FR]) ]) dnl Determine the name of a french locale with UTF-8 encoding. -AC_DEFUN([gt_LOCALE_FR_UTF8], +AC_DEFUN_ONCE([gt_LOCALE_FR_UTF8], [ + AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) AC_CACHE_CHECK([for a french Unicode locale], [gt_cv_locale_fr_utf8], [ - AC_LANG_CONFTEST([AC_LANG_SOURCE([[ + case "$host_os" in + *-musl* | midipix*) + dnl On musl libc, all kinds of ll_CC.UTF-8 locales exist, even without + dnl any locale file on disk. But they are effectively equivalent to the + dnl C.UTF-8 locale, except for locale categories (such as LC_MESSSAGES) + dnl for which localizations (.mo files) have been installed. + gt_cv_locale_fr_utf8=fr_FR.UTF-8 + ;; + *) + AC_LANG_CONFTEST([AC_LANG_SOURCE([[ #include #include #if HAVE_LANGINFO_CODESET @@ -203,51 +219,82 @@ int main () { #endif return 0; } - ]])]) - if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then - case "$host_os" in - # Handle native Windows specially, because there setlocale() interprets - # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", - # "fr" or "fra" as "French" or "French_France.1252", - # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", - # "ja" as "Japanese" or "Japanese_Japan.932", - # and similar. - mingw*) - # Test for the hypothetical native Windows locale name. - if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_fr_utf8=French_France.65001 - else - # None found. - gt_cv_locale_fr_utf8=none - fi - ;; - *) - # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because - # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the - # configure script would override the LC_ALL setting. Likewise for - # LC_CTYPE, which is also set at the beginning of the configure script. - # Test for the usual locale name. - if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_fr_utf8=fr_FR - else - # Test for the locale name with explicit encoding suffix. - if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_fr_utf8=fr_FR.UTF-8 - else - # Test for the Solaris 7 locale name. - if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then - gt_cv_locale_fr_utf8=fr.UTF-8 + ]])]) + if AC_TRY_EVAL([ac_link]) && test -s conftest$ac_exeext; then + case "$host_os" in + # Handle native Windows specially, because there setlocale() interprets + # "ar" as "Arabic" or "Arabic_Saudi Arabia.1256", + # "fr" or "fra" as "French" or "French_France.1252", + # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", + # "ja" as "Japanese" or "Japanese_Japan.932", + # and similar. + mingw* | windows*) + # Test for the hypothetical native Windows locale name. + if (LC_ALL=French_France.65001 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_fr_utf8=French_France.65001 else # None found. gt_cv_locale_fr_utf8=none fi - fi - fi - ;; - esac - fi - rm -fr conftest* + ;; + *) + # Setting LC_ALL is not enough. Need to set LC_TIME to empty, because + # otherwise on Mac OS X 10.3.5 the LC_TIME=C from the beginning of the + # configure script would override the LC_ALL setting. Likewise for + # LC_CTYPE, which is also set at the beginning of the configure script. + # Test for the usual locale name. + if (LC_ALL=fr_FR LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_fr_utf8=fr_FR + else + # Test for the locale name with explicit encoding suffix. + if (LC_ALL=fr_FR.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_fr_utf8=fr_FR.UTF-8 + else + # Test for the Solaris 7 locale name. + if (LC_ALL=fr.UTF-8 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then + gt_cv_locale_fr_utf8=fr.UTF-8 + else + # None found. + gt_cv_locale_fr_utf8=none + fi + fi + fi + ;; + esac + fi + rm -fr conftest* + ;; + esac ]) LOCALE_FR_UTF8=$gt_cv_locale_fr_utf8 + case $LOCALE_FR_UTF8 in #( + '' | *[[[:space:]\"\$\'*@<:@]]*) + dnl This locale name might cause trouble with sh or make. + AC_MSG_WARN([invalid locale "$LOCALE_FR_UTF8"; assuming "none"]) + LOCALE_FR_UTF8=none;; + esac AC_SUBST([LOCALE_FR_UTF8]) + + dnl Users of $LOCALE_FR_UTF8 need to know which of the locale categories they + dnl can rely on. + case "$host_os" in + *-musl* | midipix*) + dnl On musl libc, locale categories other than LC_CTYPE and LC_MESSAGES + dnl are effectively unimplemented. + LC_COLLATE_IMPLEMENTED=false + LC_NUMERIC_IMPLEMENTED=false + LC_TIME_IMPLEMENTED=false + LC_MONETARY_IMPLEMENTED=false + ;; + *) + LC_COLLATE_IMPLEMENTED=true + LC_NUMERIC_IMPLEMENTED=true + LC_TIME_IMPLEMENTED=true + LC_MONETARY_IMPLEMENTED=true + ;; + esac + AC_SUBST([LC_COLLATE_IMPLEMENTED]) + AC_SUBST([LC_NUMERIC_IMPLEMENTED]) + AC_SUBST([LC_TIME_IMPLEMENTED]) + AC_SUBST([LC_MONETARY_IMPLEMENTED]) ]) diff --git a/m4/locale-ja.m4 b/m4/locale-ja.m4 index 73a5d1a..71a9863 100644 --- a/m4/locale-ja.m4 +++ b/m4/locale-ja.m4 @@ -1,5 +1,5 @@ -# locale-ja.m4 serial 15 -dnl Copyright (C) 2003, 2005-2022 Free Software Foundation, Inc. +# locale-ja.m4 serial 18 +dnl Copyright (C) 2003, 2005-2024 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 Bruno Haible. dnl Determine the name of a japanese locale with EUC-JP encoding. -AC_DEFUN([gt_LOCALE_JA], +AC_DEFUN_ONCE([gt_LOCALE_JA], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) @@ -90,7 +90,7 @@ int main () # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. - mingw*) + mingw* | windows*) # Note that on native Windows, the Japanese locale is # Japanese_Japan.932, and CP932 is very different from EUC-JP, so we # cannot use it here. @@ -139,5 +139,11 @@ int main () rm -fr conftest* ]) LOCALE_JA=$gt_cv_locale_ja + case $LOCALE_JA in #( + '' | *[[[:space:]\"\$\'*@<:@]]*) + dnl This locale name might cause trouble with sh or make. + AC_MSG_WARN([invalid locale "$LOCALE_JA"; assuming "none"]) + LOCALE_JA=none;; + esac AC_SUBST([LOCALE_JA]) ]) diff --git a/m4/locale-zh.m4 b/m4/locale-zh.m4 index c997971..f1a58c6 100644 --- a/m4/locale-zh.m4 +++ b/m4/locale-zh.m4 @@ -1,5 +1,5 @@ -# locale-zh.m4 serial 15 -dnl Copyright (C) 2003, 2005-2022 Free Software Foundation, Inc. +# locale-zh.m4 serial 18 +dnl Copyright (C) 2003, 2005-2024 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 Bruno Haible. dnl Determine the name of a chinese locale with GB18030 encoding. -AC_DEFUN([gt_LOCALE_ZH_CN], +AC_DEFUN_ONCE([gt_LOCALE_ZH_CN], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AM_LANGINFO_CODESET]) @@ -91,7 +91,7 @@ int main () # "ge"(!) or "deu"(!) as "German" or "German_Germany.1252", # "ja" as "Japanese" or "Japanese_Japan.932", # and similar. - mingw*) + mingw* | windows*) # Test for the hypothetical native Windows locale name. if (LC_ALL=Chinese_China.54936 LC_TIME= LC_CTYPE= ./conftest; exit) 2>/dev/null; then gt_cv_locale_zh_CN=Chinese_China.54936 @@ -133,5 +133,11 @@ int main () rm -fr conftest* ]) LOCALE_ZH_CN=$gt_cv_locale_zh_CN + case $LOCALE_ZH_CN in #( + '' | *[[[:space:]\"\$\'*@<:@]]*) + dnl This locale name might cause trouble with sh or make. + AC_MSG_WARN([invalid locale "$LOCALE_ZH_CN"; assuming "none"]) + LOCALE_ZH_CN=none;; + esac AC_SUBST([LOCALE_ZH_CN]) ]) diff --git a/m4/locale_h.m4 b/m4/locale_h.m4 index ca5d0d0..4e8e3ad 100644 --- a/m4/locale_h.m4 +++ b/m4/locale_h.m4 @@ -1,5 +1,5 @@ -# locale_h.m4 serial 28 -dnl Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. +# locale_h.m4 serial 30 +dnl Copyright (C) 2007, 2009-2024 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. @@ -59,7 +59,9 @@ AC_DEFUN_ONCE([gl_LOCALE_H], dnl On native Windows with MSVC, merely define these member names as macros. dnl This avoids trouble in C++ mode. case "$host_os" in - mingw*) + windows*-msvc*) + ;; + mingw* | windows*) AC_EGREP_CPP([Special], [ #ifdef _MSC_VER Special diff --git a/m4/mbrtowc.m4 b/m4/mbrtowc.m4 index ec8716b..6ff5182 100644 --- a/m4/mbrtowc.m4 +++ b/m4/mbrtowc.m4 @@ -1,5 +1,5 @@ -# mbrtowc.m4 serial 38 -*- coding: utf-8 -*- -dnl Copyright (C) 2001-2002, 2004-2005, 2008-2022 Free Software Foundation, +# mbrtowc.m4 serial 44 -*- coding: utf-8 -*- +dnl Copyright (C) 2001-2002, 2004-2005, 2008-2024 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, @@ -91,20 +91,25 @@ AC_DEFUN([gl_FUNC_MBRTOWC], fi if test $REPLACE_MBSTATE_T = 1; then case "$host_os" in - mingw*) LIB_MBRTOWC= ;; + mingw* | windows*) + MBRTOWC_LIB= + ;; *) gl_WEAK_SYMBOLS case "$gl_cv_have_weak" in - *yes) LIB_MBRTOWC= ;; - *) LIB_MBRTOWC="$LIBPTHREAD" ;; + *yes) MBRTOWC_LIB= ;; + *) MBRTOWC_LIB="$LIBPTHREAD" ;; esac ;; esac else - LIB_MBRTOWC= + MBRTOWC_LIB= fi - dnl LIB_MBRTOWC is expected to be '-pthread' or '-lpthread' on AIX + dnl MBRTOWC_LIB is expected to be '-pthread' or '-lpthread' on AIX dnl with gcc or xlc, and empty otherwise. + AC_SUBST([MBRTOWC_LIB]) + dnl For backward compatibility. + LIB_MBRTOWC="$MBRTOWC_LIB" AC_SUBST([LIB_MBRTOWC]) ]) @@ -114,7 +119,7 @@ dnl Result is REPLACE_MBSTATE_T. dnl When this is set to 1, we replace both mbsinit() and mbrtowc(), in order to dnl avoid inconsistencies. -AC_DEFUN([gl_MBSTATE_T_BROKEN], +AC_DEFUN_ONCE([gl_MBSTATE_T_BROKEN], [ AC_REQUIRE([gl_WCHAR_H_DEFAULTS]) AC_REQUIRE([AC_CANONICAL_HOST]) @@ -126,7 +131,7 @@ AC_DEFUN([gl_MBSTATE_T_BROKEN], dnl to override it, even if - like on MSVC - mbsinit() is only defined as dnl an inline function, not as a global function. if case "$host_os" in - mingw*) true ;; + mingw* | windows*) true ;; *) test $ac_cv_func_mbsinit = yes ;; esac \ && test $ac_cv_func_mbrtowc = yes; then @@ -408,14 +413,16 @@ AC_DEFUN([gl_MBRTOWC_RETVAL], dnl is present. changequote(,)dnl case "$host_os" in - # Guess no on HP-UX, Solaris, native Windows. - hpux* | solaris* | mingw*) gl_cv_func_mbrtowc_retval="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbrtowc_retval="guessing yes" ;; + # Guess no on HP-UX, Solaris, native Windows. + hpux* | solaris* | mingw* | windows*) + gl_cv_func_mbrtowc_retval="guessing no" ;; + # Guess yes otherwise. + *) + gl_cv_func_mbrtowc_retval="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none \ - || { case "$host_os" in mingw*) true;; *) false;; esac; }; then + || { case "$host_os" in mingw* | windows*) true;; *) false;; esac; }; then AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include @@ -426,7 +433,8 @@ int main () int result = 0; int found_some_locale = 0; /* This fails on Solaris. */ - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + if (strcmp ("$LOCALE_FR_UTF8", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { char input[] = "B\303\274\303\237er"; /* "Büßer" */ mbstate_t state; @@ -442,7 +450,8 @@ int main () found_some_locale = 1; } /* This fails on HP-UX 11.11. */ - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + if (strcmp ("$LOCALE_JA", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_JA") != NULL) { char input[] = "B\217\253\344\217\251\316er"; /* "Büßer" */ mbstate_t state; @@ -577,13 +586,13 @@ AC_DEFUN([gl_MBRTOWC_STORES_INCOMPLETE], dnl is present. changequote(,)dnl case "$host_os" in - # Guess yes on native Windows. - mingw*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;; - *) gl_cv_func_mbrtowc_stores_incomplete="guessing no" ;; + # Guess yes on native Windows. + mingw* | windows*) gl_cv_func_mbrtowc_stores_incomplete="guessing yes" ;; + *) gl_cv_func_mbrtowc_stores_incomplete="guessing no" ;; esac changequote([,])dnl case "$host_os" in - mingw*) + mingw* | windows*) AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include @@ -677,31 +686,28 @@ AC_DEFUN([gl_MBRTOWC_EMPTY_INPUT], AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether mbrtowc works on empty input], [gl_cv_func_mbrtowc_empty_input], - [ - dnl Initial guess, used when cross-compiling or when no suitable locale - dnl is present. -changequote(,)dnl - case "$host_os" in - # Guess no on AIX and glibc systems. - aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; - *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; - esac -changequote([,])dnl - AC_RUN_IFELSE( - [AC_LANG_SOURCE([[ - #include - static wchar_t wc; - static mbstate_t mbs; - int - main (void) - { - return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2; - }]])], - [gl_cv_func_mbrtowc_empty_input=yes], - [gl_cv_func_mbrtowc_empty_input=no], - [:]) + [AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ + #include + static wchar_t wc; + static mbstate_t mbs; + int + main (void) + { + return mbrtowc (&wc, "", 0, &mbs) != (size_t) -2; + }]])], + [gl_cv_func_mbrtowc_empty_input=yes], + [gl_cv_func_mbrtowc_empty_input=no], + [case "$host_os" in + # Guess no on AIX and glibc systems. + aix* | *-gnu* | gnu*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; + # Guess no on Android. + linux*-android*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; + # Guess no on native Windows. + mingw* | windows*) gl_cv_func_mbrtowc_empty_input="guessing no" ;; + *) gl_cv_func_mbrtowc_empty_input="guessing yes" ;; + esac + ]) ]) ]) @@ -709,18 +715,17 @@ dnl Test whether mbrtowc reports encoding errors in the C locale. dnl Although POSIX was never intended to allow this, the GNU C Library dnl and other implementations do it. See: dnl https://sourceware.org/bugzilla/show_bug.cgi?id=19932 +dnl POSIX has now clarified it: +dnl +dnl says: "In the POSIX locale an [EILSEQ] error cannot occur since all byte +dnl values are valid characters." AC_DEFUN([gl_MBRTOWC_C_LOCALE], [ AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether the C locale is free of encoding errors], [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ], - [ - dnl Initial guess, used when cross-compiling or when no suitable locale - dnl is present. - gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" - - AC_RUN_IFELSE( + [AC_RUN_IFELSE( [AC_LANG_PROGRAM( [[#include #include @@ -741,13 +746,14 @@ AC_DEFUN([gl_MBRTOWC_C_LOCALE], } return 0; ]])], - [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes], - [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no], - [case "$host_os" in - # Guess yes on native Windows. - mingw*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;; - esac - ]) + [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=yes], + [gl_cv_func_mbrtowc_C_locale_sans_EILSEQ=no], + [case "$host_os" in + # Guess yes on native Windows. + mingw* | windows*) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="guessing yes" ;; + *) gl_cv_func_mbrtowc_C_locale_sans_EILSEQ="$gl_cross_guess_normal" ;; + esac + ]) ]) ]) diff --git a/m4/mbsinit.m4 b/m4/mbsinit.m4 index ebd2d4f..10a5b61 100644 --- a/m4/mbsinit.m4 +++ b/m4/mbsinit.m4 @@ -1,5 +1,5 @@ -# mbsinit.m4 serial 9 -dnl Copyright (C) 2008, 2010-2022 Free Software Foundation, Inc. +# mbsinit.m4 serial 10 +dnl Copyright (C) 2008, 2010-2024 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,7 +32,7 @@ AC_DEFUN([gl_FUNC_MBSINIT], dnl states produced by mbrtowc() for an incomplete multibyte character dnl in multibyte locales. case "$host_os" in - mingw*) REPLACE_MBSINIT=1 ;; + mingw* | windows*) REPLACE_MBSINIT=1 ;; esac fi fi diff --git a/m4/mbsrtowcs.m4 b/m4/mbsrtowcs.m4 index f672fa5..84ac0b7 100644 --- a/m4/mbsrtowcs.m4 +++ b/m4/mbsrtowcs.m4 @@ -1,5 +1,5 @@ -# mbsrtowcs.m4 serial 14 -dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. +# mbsrtowcs.m4 serial 17 +dnl Copyright (C) 2008-2024 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,13 @@ AC_DEFUN([gl_FUNC_MBSRTOWCS], *yes) ;; *) REPLACE_MBSRTOWCS=1 ;; esac + if test $REPLACE_MBSRTOWCS = 0; then + gl_MBRTOWC_C_LOCALE + case "$gl_cv_func_mbrtowc_C_locale_sans_EILSEQ" in + *yes) ;; + *) REPLACE_MBSRTOWCS=1 ;; + esac + fi fi fi ]) @@ -54,10 +61,12 @@ AC_DEFUN([gl_MBSRTOWCS_WORKS], dnl is present. changequote(,)dnl case "$host_os" in - # Guess no on HP-UX, Solaris, mingw. - hpux* | solaris* | mingw*) gl_cv_func_mbsrtowcs_works="guessing no" ;; - # Guess yes otherwise. - *) gl_cv_func_mbsrtowcs_works="guessing yes" ;; + # Guess no on HP-UX, Solaris, mingw. + hpux* | solaris* | mingw* | windows*) + gl_cv_func_mbsrtowcs_works="guessing no" ;; + # Guess yes otherwise. + *) + gl_cv_func_mbsrtowcs_works="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then @@ -71,7 +80,8 @@ int main () int result = 0; /* Test whether the function supports a NULL destination argument. This fails on native Windows. */ - if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) + if (strcmp ("$LOCALE_FR", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_FR") != NULL) { const char input[] = "\337er"; const char *src = input; @@ -84,7 +94,8 @@ int main () } /* Test whether the function works when started with a conversion state in non-initial state. This fails on HP-UX 11.11 and Solaris 10. */ - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + if (strcmp ("$LOCALE_FR_UTF8", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { const char input[] = "B\303\274\303\237er"; mbstate_t state; @@ -98,7 +109,8 @@ int main () result |= 2; } } - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + if (strcmp ("$LOCALE_JA", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_JA") != NULL) { const char input[] = "<\306\374\313\334\270\354>"; mbstate_t state; @@ -112,7 +124,8 @@ int main () result |= 4; } } - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) + if (strcmp ("$LOCALE_ZH_CN", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { const char input[] = "B\250\271\201\060\211\070er"; mbstate_t state; diff --git a/m4/mbstate_t.m4 b/m4/mbstate_t.m4 index a6eba1b..b2bcba4 100644 --- a/m4/mbstate_t.m4 +++ b/m4/mbstate_t.m4 @@ -1,5 +1,5 @@ # mbstate_t.m4 serial 14 -dnl Copyright (C) 2000-2002, 2008-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2000-2002, 2008-2024 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. diff --git a/m4/mbtowc.m4 b/m4/mbtowc.m4 index 2827e83..2bdc879 100644 --- a/m4/mbtowc.m4 +++ b/m4/mbtowc.m4 @@ -1,5 +1,5 @@ -# mbtowc.m4 serial 3 -dnl Copyright (C) 2011-2022 Free Software Foundation, Inc. +# mbtowc.m4 serial 5 +dnl Copyright (C) 2011-2024 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,9 +8,12 @@ AC_DEFUN([gl_FUNC_MBTOWC], [ AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) - AC_CHECK_FUNCS([mbtowc]) + gl_CHECK_FUNCS_ANDROID([mbtowc], [[#include ]]) if test $ac_cv_func_mbtowc = no; then HAVE_MBTOWC=0 + case "$gl_cv_onwards_func_mbtowc" in + future*) REPLACE_MBTOWC=1 ;; + esac else if false; then REPLACE_MBTOWC=1 diff --git a/m4/memchr.m4 b/m4/memchr.m4 index c7489d8..6184ddc 100644 --- a/m4/memchr.m4 +++ b/m4/memchr.m4 @@ -1,5 +1,5 @@ -# memchr.m4 serial 18 -dnl Copyright (C) 2002-2004, 2009-2022 Free Software Foundation, Inc. +# memchr.m4 serial 19 +dnl Copyright (C) 2002-2004, 2009-2024 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. @@ -85,12 +85,12 @@ AC_DEFUN_ONCE([gl_FUNC_MEMCHR], [gl_cv_func_memchr_works=yes], [gl_cv_func_memchr_works=no], [case "$host_os" in - # Guess no on Android. - linux*-android*) gl_cv_func_memchr_works="guessing no" ;; - # Guess yes on native Windows. - mingw*) gl_cv_func_memchr_works="guessing yes" ;; - # If we don't know, obey --enable-cross-guesses. - *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;; + # Guess no on Android. + linux*-android*) gl_cv_func_memchr_works="guessing no" ;; + # Guess yes on native Windows. + mingw* | windows*) gl_cv_func_memchr_works="guessing yes" ;; + # If we don't know, obey --enable-cross-guesses. + *) gl_cv_func_memchr_works="$gl_cross_guess_normal" ;; esac ]) ]) diff --git a/m4/mmap-anon.m4 b/m4/mmap-anon.m4 index a4580ff..642f07d 100644 --- a/m4/mmap-anon.m4 +++ b/m4/mmap-anon.m4 @@ -1,5 +1,5 @@ # mmap-anon.m4 serial 12 -dnl Copyright (C) 2005, 2007, 2009-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2005, 2007, 2009-2024 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. diff --git a/m4/monetary_h.m4 b/m4/monetary_h.m4 index b1c65f3..9101b24 100644 --- a/m4/monetary_h.m4 +++ b/m4/monetary_h.m4 @@ -1,5 +1,5 @@ # monetary_h.m4 serial 9 -dnl Copyright (C) 2017-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2017-2024 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. diff --git a/m4/multiarch.m4 b/m4/multiarch.m4 index 5d94276..5f8339f 100644 --- a/m4/multiarch.m4 +++ b/m4/multiarch.m4 @@ -1,5 +1,5 @@ # multiarch.m4 serial 9 -dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2008-2024 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. diff --git a/m4/musl.m4 b/m4/musl.m4 new file mode 100644 index 0000000..34d2c1f --- /dev/null +++ b/m4/musl.m4 @@ -0,0 +1,20 @@ +# musl.m4 serial 4 +dnl Copyright (C) 2019-2024 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. + +# Test for musl libc, despite the musl libc authors don't like it +# +# . +# From Bruno Haible. + +AC_DEFUN_ONCE([gl_MUSL_LIBC], +[ + AC_REQUIRE([AC_CANONICAL_HOST]) + case "$host_os" in + *-musl* | midipix*) + AC_DEFINE([MUSL_LIBC], [1], [Define to 1 on musl libc.]) + ;; + esac +]) diff --git a/m4/nocrash.m4 b/m4/nocrash.m4 index 91f00c1..9730fc0 100644 --- a/m4/nocrash.m4 +++ b/m4/nocrash.m4 @@ -1,5 +1,5 @@ # nocrash.m4 serial 5 -dnl Copyright (C) 2005, 2009-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2005, 2009-2024 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. diff --git a/m4/off_t.m4 b/m4/off_t.m4 index 0890ada..f3259f9 100644 --- a/m4/off_t.m4 +++ b/m4/off_t.m4 @@ -1,5 +1,5 @@ # off_t.m4 serial 1 -dnl Copyright (C) 2012-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2012-2024 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. diff --git a/m4/setlocale_null.m4 b/m4/setlocale_null.m4 index 09ea50e..54d3d46 100644 --- a/m4/setlocale_null.m4 +++ b/m4/setlocale_null.m4 @@ -1,5 +1,5 @@ -# setlocale_null.m4 serial 5 -dnl Copyright (C) 2019-2022 Free Software Foundation, Inc. +# setlocale_null.m4 serial 9 +dnl Copyright (C) 2019-2024 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -13,11 +13,25 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL], AC_CACHE_CHECK([whether setlocale (LC_ALL, NULL) is multithread-safe], [gl_cv_func_setlocale_null_all_mtsafe], [case "$host_os" in - # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku, Cygwin. - *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku* | cygwin*) + # Guess no on musl libc, macOS, FreeBSD, NetBSD, OpenBSD, AIX, Haiku. + *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | openbsd* | aix* | haiku*) gl_cv_func_setlocale_null_all_mtsafe=no ;; + # Guess no on Cygwin < 3.4.6. + cygwin*) + AC_EGREP_CPP([Lucky user], + [ +#if defined __CYGWIN__ + #include + #if CYGWIN_VERSION_DLL_COMBINED >= CYGWIN_VERSION_DLL_MAKE_COMBINED (3004, 6) + Lucky user + #endif +#endif + ], + [gl_cv_func_setlocale_null_all_mtsafe=yes], + [gl_cv_func_setlocale_null_all_mtsafe=no]) + ;; # Guess yes on glibc, HP-UX, IRIX, Solaris, native Windows. - *-gnu* | gnu* | hpux* | irix* | solaris* | mingw*) + *-gnu* | gnu* | hpux* | irix* | solaris* | mingw* | windows*) gl_cv_func_setlocale_null_all_mtsafe=yes ;; # If we don't know, obey --enable-cross-guesses. *) @@ -26,7 +40,7 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL], ]) dnl On platforms without multithreading, there is no issue. case "$host_os" in - mingw*) ;; + mingw* | windows*) ;; *) if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then gl_cv_func_setlocale_null_all_mtsafe="trivially yes" @@ -48,7 +62,7 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL], openbsd* | aix*) gl_cv_func_setlocale_null_one_mtsafe=no ;; # Guess yes on glibc, musl libc, macOS, FreeBSD, NetBSD, HP-UX, IRIX, Solaris, Haiku, Cygwin, native Windows. - *-gnu* | gnu* | *-musl* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw*) + *-gnu* | gnu* | *-musl* | midipix* | darwin* | freebsd* | midnightbsd* | netbsd* | hpux* | irix* | solaris* | haiku* | cygwin* | mingw* | windows*) gl_cv_func_setlocale_null_one_mtsafe=yes ;; # If we don't know, obey --enable-cross-guesses. *) @@ -57,7 +71,7 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL], ]) dnl On platforms without multithreading, there is no issue. case "$host_os" in - mingw*) ;; + mingw* | windows*) ;; *) if test $gl_pthread_api = no && test $ac_cv_header_threads_h = no; then gl_cv_func_setlocale_null_one_mtsafe="trivially yes" @@ -74,20 +88,25 @@ AC_DEFUN([gl_FUNC_SETLOCALE_NULL], dnl Determine link dependencies of lib/setlocale_null.c and lib/setlocale-lock.c. if test $SETLOCALE_NULL_ALL_MTSAFE = 0 || test $SETLOCALE_NULL_ONE_MTSAFE = 0; then case "$host_os" in - mingw*) LIB_SETLOCALE_NULL= ;; + mingw* | windows*) + SETLOCALE_NULL_LIB= + ;; *) gl_WEAK_SYMBOLS case "$gl_cv_have_weak" in - *yes) LIB_SETLOCALE_NULL= ;; - *) LIB_SETLOCALE_NULL="$LIBPTHREAD" ;; + *yes) SETLOCALE_NULL_LIB= ;; + *) SETLOCALE_NULL_LIB="$LIBPTHREAD" ;; esac ;; esac else - LIB_SETLOCALE_NULL= + SETLOCALE_NULL_LIB= fi - dnl LIB_SETLOCALE_NULL is expected to be '-pthread' or '-lpthread' on AIX + dnl SETLOCALE_NULL_LIB is expected to be '-pthread' or '-lpthread' on AIX dnl with gcc or xlc, and empty otherwise. + AC_SUBST([SETLOCALE_NULL_LIB]) + dnl For backward compatibility. + LIB_SETLOCALE_NULL="$SETLOCALE_NULL_LIB" AC_SUBST([LIB_SETLOCALE_NULL]) ]) diff --git a/m4/ssize_t.m4 b/m4/ssize_t.m4 index 03b2b89..25b28d7 100644 --- a/m4/ssize_t.m4 +++ b/m4/ssize_t.m4 @@ -1,23 +1,37 @@ -# ssize_t.m4 serial 5 (gettext-0.18.2) -dnl Copyright (C) 2001-2003, 2006, 2010-2022 Free Software Foundation, Inc. +# ssize_t.m4 serial 6 +dnl Copyright (C) 2001-2003, 2006, 2010-2024 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. -dnl Test whether ssize_t is defined. +dnl Define ssize_t if it does not already exist. AC_DEFUN([gt_TYPE_SSIZE_T], [ - AC_CACHE_CHECK([for ssize_t], [gt_cv_ssize_t], + AC_CACHE_CHECK([for ssize_t], [gl_cv_ssize_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[#include ]], [[int x = sizeof (ssize_t *) + sizeof (ssize_t); return !x;]])], - [gt_cv_ssize_t=yes], [gt_cv_ssize_t=no])]) - if test $gt_cv_ssize_t = no; then - AC_DEFINE([ssize_t], [int], - [Define as a signed type of the same size as size_t.]) + [gl_cv_ssize_t=yes], [gl_cv_ssize_t=no])]) + if test $gl_cv_ssize_t = no; then + dnl On 64-bit native Windows, ssize_t needs to be defined as 'long long', + dnl for consistency with the 64-bit size_t. + AC_CACHE_CHECK([whether size_t is wider than 'long'], [gl_cv_size_t_large], + [AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[#include + typedef int array [2 * (sizeof (size_t) > sizeof (long)) - 1]; + ]])], + [gl_cv_size_t_large=yes], [gl_cv_size_t_large=no])]) + if test $gl_cv_size_t_large = yes; then + gl_def_ssize_t='long long' + else + gl_def_ssize_t='long' + fi + AC_DEFINE_UNQUOTED([ssize_t], [$gl_def_ssize_t], + [Define as a signed type of the same size as size_t.]) fi ]) diff --git a/m4/stdbool.m4 b/m4/stdbool.m4 deleted file mode 100644 index 3e6c400..0000000 --- a/m4/stdbool.m4 +++ /dev/null @@ -1,117 +0,0 @@ -# Check for stdbool.h that conforms to C99. - -dnl Copyright (C) 2002-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. - -#serial 9 - -# Prepare for substituting if it is not supported. - -AC_DEFUN([gl_STDBOOL_H], -[ - AC_REQUIRE([AC_CHECK_HEADER_STDBOOL]) - AC_REQUIRE([AC_CANONICAL_HOST]) - - dnl On some platforms, does not exist or does not conform to C99. - dnl On Solaris 10 with CC=cc CXX=CC, exists but is not usable - dnl in C++ mode (and no exists). In this case, we use our - dnl replacement, also in C mode (for binary compatibility between C and C++). - if test "$ac_cv_header_stdbool_h" = yes; then - case "$host_os" in - solaris*) - if test -z "$GCC"; then - GL_GENERATE_STDBOOL_H=true - else - GL_GENERATE_STDBOOL_H=false - fi - ;; - *) - GL_GENERATE_STDBOOL_H=false - ;; - esac - else - GL_GENERATE_STDBOOL_H=true - fi - - if test "$ac_cv_type__Bool" = yes; then - HAVE__BOOL=1 - else - HAVE__BOOL=0 - fi - AC_SUBST([HAVE__BOOL]) -]) - -# This version of the macro is needed in autoconf <= 2.68. - -AC_DEFUN([AC_CHECK_HEADER_STDBOOL], - [AC_CACHE_CHECK([for stdbool.h that conforms to C99], - [ac_cv_header_stdbool_h], - [AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM( - [[ - #include - - #ifdef __cplusplus - typedef bool Bool; - #else - typedef _Bool Bool; - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #endif - - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { Bool s: 1; Bool t; bool u: 1; bool v; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - /* See body of main program for 'e'. */ - char f[(Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; - /* Catch a bug in an HP-UX C compiler. See - https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html - */ - Bool q = true; - Bool *pq = &q; - bool *qq = &q; - ]], - [[ - bool e = &s; - *pq |= q; *pq |= ! q; - *qq |= q; *qq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq + !qq); - ]])], - [ac_cv_header_stdbool_h=yes], - [ac_cv_header_stdbool_h=no])]) - AC_CHECK_TYPES([_Bool]) -]) diff --git a/m4/stddef_h.m4 b/m4/stddef_h.m4 index abfd203..1bf9eb3 100644 --- a/m4/stddef_h.m4 +++ b/m4/stddef_h.m4 @@ -1,5 +1,5 @@ -# stddef_h.m4 serial 12 -dnl Copyright (C) 2009-2022 Free Software Foundation, Inc. +# stddef_h.m4 serial 14 +dnl Copyright (C) 2009-2024 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. @@ -22,7 +22,14 @@ AC_DEFUN_ONCE([gl_STDDEF_H], [gl_cv_type_max_align_t], [AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( - [[#include + [[/* On FreeBSD 12.0/x86, max_align_t defined by has + the correct alignment with the default (wrong) definition of + _Alignof, but a wrong alignment as soon as we activate an + ISO C compliant _Alignof definition. */ + #if ((defined __GNUC__ && 4 <= __GNUC__) || defined __clang__) && !defined __cplusplus + #define _Alignof(type) __builtin_offsetof (struct { char __a; type __b; }, __b) + #endif + #include unsigned int s = sizeof (max_align_t); #if defined __GNUC__ || defined __clang__ || defined __IBM__ALIGNOF__ int check1[2 * (__alignof__ (double) <= __alignof__ (max_align_t)) - 1]; @@ -61,6 +68,21 @@ AC_DEFUN_ONCE([gl_STDDEF_H], GL_GENERATE_STDDEF_H=true fi + AC_CACHE_CHECK([for unreachable], + [gl_cv_func_unreachable], + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[#include + ]], + [[unreachable (); + ]])], + [gl_cv_func_unreachable=yes], + [gl_cv_func_unreachable=no]) + ]) + if test $gl_cv_func_unreachable = no; then + GL_GENERATE_STDDEF_H=true + fi + if $GL_GENERATE_STDDEF_H; then gl_NEXT_HEADERS([stddef.h]) fi diff --git a/m4/stdint.m4 b/m4/stdint.m4 index c3f0894..4aa2508 100644 --- a/m4/stdint.m4 +++ b/m4/stdint.m4 @@ -1,5 +1,5 @@ -# stdint.m4 serial 61 -dnl Copyright (C) 2001-2022 Free Software Foundation, Inc. +# stdint.m4 serial 63 +dnl Copyright (C) 2001-2024 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. @@ -150,7 +150,10 @@ intmax_t i = INTMAX_MAX; uintmax_t j = UINTMAX_MAX; /* Check that SIZE_MAX has the correct type, if possible. */ -#if 201112 <= __STDC_VERSION__ +/* ISO C 11 mandates _Generic, but GCC versions < 4.9 lack it. */ +#if 201112 <= __STDC_VERSION__ \ + && (!defined __GNUC__ || 4 < __GNUC__ + (9 <= __GNUC_MINOR__) \ + || defined __clang__) int k = _Generic (SIZE_MAX, size_t: 0); #elif (2 <= __GNUC__ || 4 <= __clang_major__ || defined __IBM__TYPEOF__ \ || (0x5110 <= __SUNPRO_C && !__STDC__)) @@ -283,10 +286,10 @@ static const char *macro_values[] = [gl_cv_header_working_stdint_h=yes], [], [case "$host_os" in - # Guess yes on native Windows. - mingw*) gl_cv_header_working_stdint_h="guessing yes" ;; - # In general, assume it works. - *) gl_cv_header_working_stdint_h="guessing yes" ;; + # Guess yes on native Windows. + mingw* | windows*) gl_cv_header_working_stdint_h="guessing yes" ;; + # In general, assume it works. + *) gl_cv_header_working_stdint_h="guessing yes" ;; esac ]) ]) diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4 index 42e9607..c19feef 100644 --- a/m4/stdio_h.m4 +++ b/m4/stdio_h.m4 @@ -1,12 +1,22 @@ -# stdio_h.m4 serial 59 -dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. +# stdio_h.m4 serial 63 +dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -AC_DEFUN_ONCE([gl_STDIO_H], +AC_DEFUN([gl_STDIO_H_EARLY], [ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + dnl Defining __USE_MINGW_ANSI_STDIO to 1 must be done early, because + dnl the results of several configure tests depend on it: The tests + dnl - checking whether snprintf returns a byte count as in C99... + dnl - checking whether snprintf truncates the result as in C99... + dnl - checking whether printf supports the 'F' directive... + dnl - checking whether printf supports the grouping flag... + dnl - checking whether printf supports the zero flag correctly... + dnl - checking whether printf supports infinite 'double' arguments... + dnl - checking whether printf supports large precisions... + dnl report 'yes' if __USE_MINGW_ANSI_STDIO is 1 but 'no' if + dnl __USE_MINGW_ANSI_STDIO is not set. AH_VERBATIM([MINGW_ANSI_STDIO], [/* Use GNU style printf and scanf. */ #ifndef __USE_MINGW_ANSI_STDIO @@ -14,6 +24,11 @@ AC_DEFUN_ONCE([gl_STDIO_H], #endif ]) AC_DEFINE([__USE_MINGW_ANSI_STDIO]) +]) + +AC_DEFUN_ONCE([gl_STDIO_H], +[ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_NEXT_HEADERS([stdio.h]) dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and @@ -40,6 +55,9 @@ AC_DEFUN_ONCE([gl_STDIO_H], attribute "__gnu_printf__" instead of "__printf__"]) fi + dnl For defining _PRINTF_NAN_LEN_MAX. + gl_MUSL_LIBC + dnl This ifdef is an optimization, to avoid performing a configure check whose dnl result is not used. But it does not make the test of dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. @@ -82,6 +100,16 @@ AC_DEFUN_ONCE([gl_STDIO_H], if test $ac_cv_have_decl_fcloseall = no; then HAVE_DECL_FCLOSEALL=0 fi + + AC_CHECK_DECLS_ONCE([getw]) + if test $ac_cv_have_decl_getw = no; then + HAVE_DECL_GETW=0 + fi + + AC_CHECK_DECLS_ONCE([putw]) + if test $ac_cv_have_decl_putw = no; then + HAVE_DECL_PUTW=0 + fi ]) # gl_STDIO_MODULE_INDICATOR([modulename]) @@ -178,7 +206,9 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO]) HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) + HAVE_DECL_GETW=1; AC_SUBST([HAVE_DECL_GETW]) HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) + HAVE_DECL_PUTW=1; AC_SUBST([HAVE_DECL_PUTW]) HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) diff --git a/m4/stdlib_h.m4 b/m4/stdlib_h.m4 index 9e20969..92e67a7 100644 --- a/m4/stdlib_h.m4 +++ b/m4/stdlib_h.m4 @@ -1,5 +1,5 @@ -# stdlib_h.m4 serial 66 -dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. +# stdlib_h.m4 serial 76 +dnl Copyright (C) 2007-2024 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. @@ -23,15 +23,58 @@ AC_DEFUN_ONCE([gl_STDLIB_H], # include #endif ]], [_Exit aligned_alloc atoll canonicalize_file_name free - getloadavg getsubopt grantpt - initstate initstate_r mbtowc mkdtemp mkostemp mkostemps mkstemp mkstemps - posix_memalign posix_openpt ptsname ptsname_r qsort_r + getloadavg getprogname getsubopt grantpt + initstate initstate_r mbstowcs mbtowc mkdtemp mkostemp mkostemps mkstemp + mkstemps posix_memalign posix_openpt ptsname ptsname_r qsort_r random random_r reallocarray realpath rpmatch secure_getenv setenv setstate setstate_r srandom srandom_r strtod strtol strtold strtoll strtoul strtoull unlockpt unsetenv]) AC_REQUIRE([AC_C_RESTRICT]) + dnl Test whether MB_CUR_MAX needs to be overridden. + dnl On Solaris 10, in UTF-8 locales, its value is 3 but needs to be 4. + dnl Fortunately, we can do this because on this platform MB_LEN_MAX is 5. + AC_REQUIRE([AC_CANONICAL_HOST]) + AC_REQUIRE([gt_LOCALE_FR_UTF8]) + AC_CACHE_CHECK([whether MB_CUR_MAX is correct], + [gl_cv_macro_MB_CUR_MAX_good], + [ + dnl Initial guess, used when cross-compiling or when no suitable locale + dnl is present. +changequote(,)dnl + case "$host_os" in + # Guess no on Solaris. + solaris*) gl_cv_macro_MB_CUR_MAX_good="guessing no" ;; + # Guess yes otherwise. + *) gl_cv_macro_MB_CUR_MAX_good="guessing yes" ;; + esac +changequote([,])dnl + if test $LOCALE_FR_UTF8 != none; then + AC_RUN_IFELSE( + [AC_LANG_SOURCE([[ +#include +#include +int main () +{ + int result = 0; + if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + { + if (MB_CUR_MAX < 4) + result |= 1; + } + return result; +}]])], + [gl_cv_macro_MB_CUR_MAX_good=yes], + [gl_cv_macro_MB_CUR_MAX_good=no], + [:]) + fi + ]) + case "$gl_cv_macro_MB_CUR_MAX_good" in + *yes) ;; + *) REPLACE_MB_CUR_MAX=1 ;; + esac + AC_CHECK_DECLS_ONCE([ecvt]) if test $ac_cv_have_decl_ecvt = no; then HAVE_DECL_ECVT=0 @@ -73,10 +116,12 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS], gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_CANONICALIZE_FILE_NAME]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FREE_POSIX]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLOADAVG]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETPROGNAME]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETSUBOPT]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GRANTPT]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_GNU]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MALLOC_POSIX]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSTOWCS]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBTOWC]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKDTEMP]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MKOSTEMP]) @@ -89,6 +134,7 @@ AC_DEFUN([gl_STDLIB_H_REQUIRE_DEFAULTS], gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PTSNAME_R]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PUTENV]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_QSORT_R]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAND]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RANDOM_R]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_REALLOCARRAY]) @@ -130,6 +176,8 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], HAVE_DECL_FCVT=1; AC_SUBST([HAVE_DECL_FCVT]) HAVE_DECL_GCVT=1; AC_SUBST([HAVE_DECL_GCVT]) HAVE_DECL_GETLOADAVG=1; AC_SUBST([HAVE_DECL_GETLOADAVG]) + HAVE_DECL_PROGRAM_INVOCATION_NAME=1; AC_SUBST([HAVE_DECL_PROGRAM_INVOCATION_NAME]) + HAVE_GETPROGNAME=1; AC_SUBST([HAVE_GETPROGNAME]) HAVE_GETSUBOPT=1; AC_SUBST([HAVE_GETSUBOPT]) HAVE_GRANTPT=1; AC_SUBST([HAVE_GRANTPT]) HAVE_INITSTATE=1; AC_SUBST([HAVE_INITSTATE]) @@ -166,21 +214,31 @@ AC_DEFUN([gl_STDLIB_H_DEFAULTS], HAVE_SYS_LOADAVG_H=0; AC_SUBST([HAVE_SYS_LOADAVG_H]) HAVE_UNLOCKPT=1; AC_SUBST([HAVE_UNLOCKPT]) HAVE_DECL_UNSETENV=1; AC_SUBST([HAVE_DECL_UNSETENV]) + REPLACE__EXIT=0; AC_SUBST([REPLACE__EXIT]) REPLACE_ALIGNED_ALLOC=0; AC_SUBST([REPLACE_ALIGNED_ALLOC]) REPLACE_CALLOC_FOR_CALLOC_GNU=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_GNU]) REPLACE_CALLOC_FOR_CALLOC_POSIX=0; AC_SUBST([REPLACE_CALLOC_FOR_CALLOC_POSIX]) REPLACE_CANONICALIZE_FILE_NAME=0; AC_SUBST([REPLACE_CANONICALIZE_FILE_NAME]) REPLACE_FREE=0; AC_SUBST([REPLACE_FREE]) + REPLACE_GETLOADAVG=0; AC_SUBST([REPLACE_GETLOADAVG]) + REPLACE_GETPROGNAME=0; AC_SUBST([REPLACE_GETPROGNAME]) + REPLACE_GETSUBOPT=0; AC_SUBST([REPLACE_GETSUBOPT]) REPLACE_INITSTATE=0; AC_SUBST([REPLACE_INITSTATE]) REPLACE_MALLOC_FOR_MALLOC_GNU=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_GNU]) REPLACE_MALLOC_FOR_MALLOC_POSIX=0; AC_SUBST([REPLACE_MALLOC_FOR_MALLOC_POSIX]) + REPLACE_MB_CUR_MAX=0; AC_SUBST([REPLACE_MB_CUR_MAX]) + REPLACE_MBSTOWCS=0; AC_SUBST([REPLACE_MBSTOWCS]) REPLACE_MBTOWC=0; AC_SUBST([REPLACE_MBTOWC]) + REPLACE_MKOSTEMP=0; AC_SUBST([REPLACE_MKOSTEMP]) + REPLACE_MKOSTEMPS=0; AC_SUBST([REPLACE_MKOSTEMPS]) REPLACE_MKSTEMP=0; AC_SUBST([REPLACE_MKSTEMP]) REPLACE_POSIX_MEMALIGN=0; AC_SUBST([REPLACE_POSIX_MEMALIGN]) + REPLACE_POSIX_OPENPT=0; AC_SUBST([REPLACE_POSIX_OPENPT]) REPLACE_PTSNAME=0; AC_SUBST([REPLACE_PTSNAME]) REPLACE_PTSNAME_R=0; AC_SUBST([REPLACE_PTSNAME_R]) REPLACE_PUTENV=0; AC_SUBST([REPLACE_PUTENV]) REPLACE_QSORT_R=0; AC_SUBST([REPLACE_QSORT_R]) + REPLACE_RAND=0; AC_SUBST([REPLACE_RAND]) REPLACE_RANDOM=0; AC_SUBST([REPLACE_RANDOM]) REPLACE_RANDOM_R=0; AC_SUBST([REPLACE_RANDOM_R]) REPLACE_REALLOC_FOR_REALLOC_GNU=0; AC_SUBST([REPLACE_REALLOC_FOR_REALLOC_GNU]) diff --git a/m4/string_h.m4 b/m4/string_h.m4 index 9e09b96..8b12101 100644 --- a/m4/string_h.m4 +++ b/m4/string_h.m4 @@ -1,11 +1,11 @@ # Configure a GNU-like replacement for . -# Copyright (C) 2007-2022 Free Software Foundation, Inc. +# Copyright (C) 2007-2024 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 34 +# serial 38 # Written by Paul Eggert. @@ -21,7 +21,8 @@ AC_DEFUN_ONCE([gl_STRING_H], dnl guaranteed by C89. gl_WARN_ON_USE_PREPARE([[#include ]], - [ffsl ffsll memmem mempcpy memrchr rawmemchr stpcpy stpncpy strchrnul + [explicit_bzero ffsl ffsll memmem mempcpy memrchr memset_explicit + rawmemchr stpcpy stpncpy strchrnul strdup strncat strndup strnlen strpbrk strsep strcasestr strtok_r strerror_r strerrorname_np sigabbrev_np sigdescr_np strsignal strverscmp]) @@ -54,6 +55,7 @@ AC_DEFUN([gl_STRING_H_REQUIRE_DEFAULTS], gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMMEM]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMPCPY]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMRCHR]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MEMSET_EXPLICIT]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RAWMEMCHR]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPCPY]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STPNCPY]) @@ -107,6 +109,7 @@ AC_DEFUN([gl_STRING_H_DEFAULTS], HAVE_FFSLL=1; AC_SUBST([HAVE_FFSLL]) HAVE_DECL_MEMMEM=1; AC_SUBST([HAVE_DECL_MEMMEM]) HAVE_MEMPCPY=1; AC_SUBST([HAVE_MEMPCPY]) + HAVE_MEMSET_EXPLICIT=1; AC_SUBST([HAVE_MEMSET_EXPLICIT]) HAVE_DECL_MEMRCHR=1; AC_SUBST([HAVE_DECL_MEMRCHR]) HAVE_RAWMEMCHR=1; AC_SUBST([HAVE_RAWMEMCHR]) HAVE_STPCPY=1; AC_SUBST([HAVE_STPCPY]) @@ -128,6 +131,8 @@ AC_DEFUN([gl_STRING_H_DEFAULTS], REPLACE_FFSLL=0; AC_SUBST([REPLACE_FFSLL]) REPLACE_MEMCHR=0; AC_SUBST([REPLACE_MEMCHR]) REPLACE_MEMMEM=0; AC_SUBST([REPLACE_MEMMEM]) + REPLACE_MEMPCPY=0; AC_SUBST([REPLACE_MEMPCPY]) + REPLACE_STPCPY=0; AC_SUBST([REPLACE_STPCPY]) REPLACE_STPNCPY=0; AC_SUBST([REPLACE_STPNCPY]) REPLACE_STRCHRNUL=0; AC_SUBST([REPLACE_STRCHRNUL]) REPLACE_STRDUP=0; AC_SUBST([REPLACE_STRDUP]) @@ -141,5 +146,6 @@ AC_DEFUN([gl_STRING_H_DEFAULTS], REPLACE_STRERROR_R=0; AC_SUBST([REPLACE_STRERROR_R]) REPLACE_STRERRORNAME_NP=0; AC_SUBST([REPLACE_STRERRORNAME_NP]) REPLACE_STRSIGNAL=0; AC_SUBST([REPLACE_STRSIGNAL]) + REPLACE_STRVERSCMP=0; AC_SUBST([REPLACE_STRVERSCMP]) UNDEFINE_STRTOK_R=0; AC_SUBST([UNDEFINE_STRTOK_R]) ]) diff --git a/m4/sys_socket_h.m4 b/m4/sys_socket_h.m4 index ba3ae68..af52484 100644 --- a/m4/sys_socket_h.m4 +++ b/m4/sys_socket_h.m4 @@ -1,5 +1,5 @@ # sys_socket_h.m4 serial 29 -dnl Copyright (C) 2005-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2005-2024 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. diff --git a/m4/sys_stat_h.m4 b/m4/sys_stat_h.m4 index 2adbfde..7501853 100644 --- a/m4/sys_stat_h.m4 +++ b/m4/sys_stat_h.m4 @@ -1,5 +1,5 @@ # sys_stat_h.m4 serial 42 -*- Autoconf -*- -dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2024 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. diff --git a/m4/sys_time_h.m4 b/m4/sys_time_h.m4 index bc5e2b1..dc5353f 100644 --- a/m4/sys_time_h.m4 +++ b/m4/sys_time_h.m4 @@ -1,7 +1,7 @@ # Configure a replacement for . # serial 12 -# Copyright (C) 2007, 2009-2022 Free Software Foundation, Inc. +# Copyright (C) 2007, 2009-2024 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. diff --git a/m4/sys_types_h.m4 b/m4/sys_types_h.m4 index a5bef22..37d0cca 100644 --- a/m4/sys_types_h.m4 +++ b/m4/sys_types_h.m4 @@ -1,5 +1,5 @@ # sys_types_h.m4 serial 13 -dnl Copyright (C) 2011-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2024 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. diff --git a/m4/threadlib.m4 b/m4/threadlib.m4 index ecb4970..0be2c98 100644 --- a/m4/threadlib.m4 +++ b/m4/threadlib.m4 @@ -1,5 +1,5 @@ -# threadlib.m4 serial 32 -dnl Copyright (C) 2005-2022 Free Software Foundation, Inc. +# threadlib.m4 serial 41 +dnl Copyright (C) 2005-2024 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. @@ -85,10 +85,11 @@ AC_DEFUN([gl_WEAK_SYMBOLS], 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. + cygwin* | mingw* | windows*) + dnl On Cygwin 3.2.0 with gcc 10.2, and likewise on mingw 10.0.0 with + dnl gcc 11.3, the test below would succeed, but programs that use + dnl pthread_in_use() with weak symbol references crash miserably at + dnl runtime. gl_cv_have_weak="guessing no" ;; *) @@ -174,7 +175,7 @@ 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 Sets the variable SCHED_YIELD_LIB 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. @@ -261,11 +262,22 @@ AC_DEFUN([gl_PTHREADLIB_BODY], # On Solaris 10 or newer, this test is no longer needed, because # libc contains the fully functional pthread functions. case "$host_os" in +changequote(,)dnl solaris | solaris2.[1-9] | solaris2.[1-9].* | hpux*) +changequote([,])dnl AC_DEFINE([PTHREAD_IN_USE_DETECTION_HARD], [1], [Define if the pthread_in_use() detection is hard.]) esac fi + ], + [dnl This is needed on FreeBSD 5.2.1. + AC_CHECK_LIB([thr], [pthread_kill], + [if test $gl_pthread_in_glibc = yes; then + LIBPMULTITHREAD= + else + LIBPMULTITHREAD=-lthr + fi + ]) ]) elif test $gl_pthread_api != yes; then # Some library is needed. Try libpthread and libc_r. @@ -297,13 +309,16 @@ AC_DEFUN([gl_PTHREADLIB_BODY], [AC_LANG_PROGRAM( [[#include ]], [[sched_yield ();]])], - [LIB_SCHED_YIELD= + [SCHED_YIELD_LIB= ], [dnl Solaris 7...10 has sched_yield in librt, not in libpthread or libc. - AC_CHECK_LIB([rt], [sched_yield], [LIB_SCHED_YIELD=-lrt], + AC_CHECK_LIB([rt], [sched_yield], [SCHED_YIELD_LIB=-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_CHECK_LIB([posix4], [sched_yield], [SCHED_YIELD_LIB=-lposix4])]) ]) + AC_SUBST([SCHED_YIELD_LIB]) + dnl For backward compatibility. + LIB_SCHED_YIELD="$SCHED_YIELD_LIB" AC_SUBST([LIB_SCHED_YIELD]) gl_pthreadlib_body_done=done @@ -338,7 +353,7 @@ AC_DEFUN([gl_STDTHREADLIB_BODY], AC_CHECK_HEADERS_ONCE([threads.h]) case "$host_os" in - mingw*) + mingw* | windows*) LIBSTDTHREAD= ;; *) @@ -349,7 +364,7 @@ AC_DEFUN([gl_STDTHREADLIB_BODY], 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]) + gl_CHECK_FUNCS_ANDROID([thrd_create], [[#include ]]) if test $ac_cv_func_thrd_create = yes; then LIBSTDTHREAD= else @@ -362,7 +377,7 @@ AC_DEFUN([gl_STDTHREADLIB_BODY], fi else dnl Libraries needed by thrd.c, mtx.c, cnd.c, tss.c. - LIBSTDTHREAD="$LIBPMULTITHREAD $LIB_SCHED_YIELD" + LIBSTDTHREAD="$LIBPMULTITHREAD $SCHED_YIELD_LIB" fi ;; esac @@ -433,10 +448,12 @@ 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=]) + dnl gl_use_winpthreads_default defaults to 'no', because in mingw 10, like + dnl in mingw 5, the use of libwinpthread still makes test-pthread-tss crash. + m4_divert_text([DEFAULTS], [gl_use_winpthreads_default=no]) AC_ARG_ENABLE([threads], -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])]), +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 gl_use_threads="$gl_use_threads_default" @@ -457,7 +474,7 @@ changequote(,)dnl esac ;; dnl Obey gl_AVOID_WINPTHREAD on mingw. - mingw*) + mingw* | windows*) case "$gl_use_winpthreads_default" in yes) gl_use_threads=posix ;; no) gl_use_threads=windows ;; @@ -556,7 +573,7 @@ AC_DEFUN([gl_THREADLIB_BODY], case "$gl_use_threads" in yes | windows | win32) # The 'win32' is for backward compatibility. if { case "$host_os" in - mingw*) true;; + mingw* | windows*) true;; *) false;; esac }; then @@ -567,6 +584,10 @@ AC_DEFUN([gl_THREADLIB_BODY], ;; esac fi + else + dnl "$gl_use_threads" is "no". + AC_DEFINE([AVOID_ANY_THREADS], [1], + [Define if no multithread safety and no multithreading is desired.]) fi AC_MSG_CHECKING([for multithread API to use]) AC_MSG_RESULT([$gl_threads_api]) @@ -599,7 +620,8 @@ 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'. +dnl configure option '--enable-threads=posix'. +dnl As of 2023, this is now the default. AC_DEFUN([gl_AVOID_WINPTHREAD], [ m4_divert_text([INIT_PREPARE], [gl_use_winpthreads_default=no]) diff --git a/m4/time_h.m4 b/m4/time_h.m4 index 98d7b6e..367f69e 100644 --- a/m4/time_h.m4 +++ b/m4/time_h.m4 @@ -1,8 +1,8 @@ # Configure a more-standard replacement for . -# Copyright (C) 2000-2001, 2003-2007, 2009-2022 Free Software Foundation, Inc. +# Copyright (C) 2000-2001, 2003-2007, 2009-2024 Free Software Foundation, Inc. -# serial 19 +# serial 24 # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -19,6 +19,15 @@ AC_DEFUN_ONCE([gl_TIME_H], gl_NEXT_HEADERS([time.h]) AC_REQUIRE([gl_CHECK_TYPE_STRUCT_TIMESPEC]) + dnl Check for declarations of anything we want to poison if the + dnl corresponding gnulib module is not in use. + gl_WARN_ON_USE_PREPARE([[ +#include + ]], [ + asctime asctime_r ctime ctime_r gmtime_r localtime localtime_r mktime + nanosleep strftime strptime time timegm timespec_get timespec_getres tzset + ]) + AC_REQUIRE([AC_C_RESTRICT]) AC_CACHE_CHECK([for TIME_UTC in ], @@ -131,6 +140,7 @@ AC_DEFUN([gl_TIME_H_REQUIRE_DEFAULTS], gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_NANOSLEEP]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRFTIME]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STRPTIME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIME]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMEGM]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GET]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TIMESPEC_GETRES]) @@ -155,23 +165,15 @@ AC_DEFUN([gl_TIME_H_DEFAULTS], HAVE_TIMESPEC_GETRES=1; AC_SUBST([HAVE_TIMESPEC_GETRES]) dnl Even GNU libc does not have timezone_t yet. HAVE_TIMEZONE_T=0; AC_SUBST([HAVE_TIMEZONE_T]) - dnl If another module says to replace or to not replace, do that. - dnl Otherwise, replace only if someone compiles with -DGNULIB_PORTCHECK; - dnl this lets maintainers check for portability. - REPLACE_CTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_CTIME]) - REPLACE_LOCALTIME_R=GNULIB_PORTCHECK; AC_SUBST([REPLACE_LOCALTIME_R]) - REPLACE_MKTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_MKTIME]) - REPLACE_NANOSLEEP=GNULIB_PORTCHECK; AC_SUBST([REPLACE_NANOSLEEP]) - REPLACE_STRFTIME=GNULIB_PORTCHECK; AC_SUBST([REPLACE_STRFTIME]) - REPLACE_TIMEGM=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TIMEGM]) - REPLACE_TZSET=GNULIB_PORTCHECK; AC_SUBST([REPLACE_TZSET]) - - dnl Hack so that the time module doesn't depend on the sys_time module. - dnl First, default GNULIB_GETTIMEOFDAY to 0 if sys_time is absent. - : ${GNULIB_GETTIMEOFDAY=0}; AC_SUBST([GNULIB_GETTIMEOFDAY]) - dnl Second, it's OK to not use GNULIB_PORTCHECK for REPLACE_GMTIME - dnl and REPLACE_LOCALTIME, as portability to Solaris 2.6 and earlier - dnl is no longer a big deal. + REPLACE_CTIME=0; AC_SUBST([REPLACE_CTIME]) REPLACE_GMTIME=0; AC_SUBST([REPLACE_GMTIME]) REPLACE_LOCALTIME=0; AC_SUBST([REPLACE_LOCALTIME]) + REPLACE_LOCALTIME_R=0; AC_SUBST([REPLACE_LOCALTIME_R]) + REPLACE_MKTIME=0; AC_SUBST([REPLACE_MKTIME]) + REPLACE_NANOSLEEP=0; AC_SUBST([REPLACE_NANOSLEEP]) + REPLACE_STRFTIME=0; AC_SUBST([REPLACE_STRFTIME]) + REPLACE_TIME=0; AC_SUBST([REPLACE_TIME]) + REPLACE_TIMEGM=0; AC_SUBST([REPLACE_TIMEGM]) + REPLACE_TIMESPEC_GET=0; AC_SUBST([REPLACE_TIMESPEC_GET]) + REPLACE_TZSET=0; AC_SUBST([REPLACE_TZSET]) ]) diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4 index 4c66ccc..e078bd6 100644 --- a/m4/unistd_h.m4 +++ b/m4/unistd_h.m4 @@ -1,5 +1,5 @@ -# unistd_h.m4 serial 90 -dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. +# unistd_h.m4 serial 95 +dnl Copyright (C) 2006-2024 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. @@ -225,6 +225,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], REPLACE_COPY_FILE_RANGE=0; AC_SUBST([REPLACE_COPY_FILE_RANGE]) REPLACE_DUP=0; AC_SUBST([REPLACE_DUP]) REPLACE_DUP2=0; AC_SUBST([REPLACE_DUP2]) + REPLACE_DUP3=0; AC_SUBST([REPLACE_DUP3]) REPLACE_EXECL=0; AC_SUBST([REPLACE_EXECL]) REPLACE_EXECLE=0; AC_SUBST([REPLACE_EXECLE]) REPLACE_EXECLP=0; AC_SUBST([REPLACE_EXECLP]) @@ -233,11 +234,14 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], REPLACE_EXECVP=0; AC_SUBST([REPLACE_EXECVP]) REPLACE_EXECVPE=0; AC_SUBST([REPLACE_EXECVPE]) REPLACE_FACCESSAT=0; AC_SUBST([REPLACE_FACCESSAT]) + REPLACE_FCHDIR=0; AC_SUBST([REPLACE_FCHDIR]) REPLACE_FCHOWNAT=0; AC_SUBST([REPLACE_FCHOWNAT]) + REPLACE_FDATASYNC=0; AC_SUBST([REPLACE_FDATASYNC]) REPLACE_FTRUNCATE=0; AC_SUBST([REPLACE_FTRUNCATE]) REPLACE_GETCWD=0; AC_SUBST([REPLACE_GETCWD]) REPLACE_GETDOMAINNAME=0; AC_SUBST([REPLACE_GETDOMAINNAME]) REPLACE_GETDTABLESIZE=0; AC_SUBST([REPLACE_GETDTABLESIZE]) + REPLACE_GETENTROPY=0; AC_SUBST([REPLACE_GETENTROPY]) REPLACE_GETLOGIN_R=0; AC_SUBST([REPLACE_GETLOGIN_R]) REPLACE_GETGROUPS=0; AC_SUBST([REPLACE_GETGROUPS]) REPLACE_GETPAGESIZE=0; AC_SUBST([REPLACE_GETPAGESIZE]) @@ -248,12 +252,14 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], REPLACE_LINK=0; AC_SUBST([REPLACE_LINK]) REPLACE_LINKAT=0; AC_SUBST([REPLACE_LINKAT]) REPLACE_LSEEK=0; AC_SUBST([REPLACE_LSEEK]) + REPLACE_PIPE2=0; AC_SUBST([REPLACE_PIPE2]) REPLACE_PREAD=0; AC_SUBST([REPLACE_PREAD]) REPLACE_PWRITE=0; AC_SUBST([REPLACE_PWRITE]) REPLACE_READ=0; AC_SUBST([REPLACE_READ]) REPLACE_READLINK=0; AC_SUBST([REPLACE_READLINK]) REPLACE_READLINKAT=0; AC_SUBST([REPLACE_READLINKAT]) REPLACE_RMDIR=0; AC_SUBST([REPLACE_RMDIR]) + REPLACE_SETHOSTNAME=0; AC_SUBST([REPLACE_SETHOSTNAME]) REPLACE_SLEEP=0; AC_SUBST([REPLACE_SLEEP]) REPLACE_SYMLINK=0; AC_SUBST([REPLACE_SYMLINK]) REPLACE_SYMLINKAT=0; AC_SUBST([REPLACE_SYMLINKAT]) diff --git a/m4/visibility.m4 b/m4/visibility.m4 index 4a212a4..b9b36a8 100644 --- a/m4/visibility.m4 +++ b/m4/visibility.m4 @@ -1,5 +1,5 @@ # visibility.m4 serial 8 -dnl Copyright (C) 2005, 2008, 2010-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2005, 2008, 2010-2024 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. diff --git a/m4/warn-on-use.m4 b/m4/warn-on-use.m4 index d43355a..6e251fb 100644 --- a/m4/warn-on-use.m4 +++ b/m4/warn-on-use.m4 @@ -1,5 +1,5 @@ -# warn-on-use.m4 serial 9 -dnl Copyright (C) 2010-2022 Free Software Foundation, Inc. +# warn-on-use.m4 serial 10 +dnl Copyright (C) 2010-2024 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,17 +32,30 @@ AC_DEFUN([gl_WARN_ON_USE_PREPARE], undefining macros.])])dnl for gl_func in m4_flatten([$2]); do AS_VAR_PUSHDEF([gl_Symbol], [gl_cv_have_raw_decl_$gl_func])dnl + dnl As a workaround to implicit built-in function declarations in + dnl clang (e.g. strndup), reference ac_compile_for_check_decl instead + dnl of ac_compile. If, for whatever reason, the override of AC_PROG_CC + dnl in zzgnulib.m4 is inactive, use the original ac_compile. + ac_save_ac_compile="$ac_compile" + if test -n "$ac_compile_for_check_decl"; then + ac_compile="$ac_compile_for_check_decl" + fi AC_CACHE_CHECK([whether $gl_func is declared without a macro], [gl_Symbol], [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$1], [[#undef $gl_func (void) $gl_func;]])], [AS_VAR_SET([gl_Symbol], [yes])], [AS_VAR_SET([gl_Symbol], [no])])]) + ac_compile="$ac_save_ac_compile" AS_VAR_IF([gl_Symbol], [yes], [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_RAW_DECL_$gl_func]), [1]) - dnl shortcut - if the raw declaration exists, then set a cache - dnl variable to allow skipping any later AC_CHECK_DECL efforts - eval ac_cv_have_decl_$gl_func=yes]) + dnl Shortcut for an AC_CHECK_DECL invocation that may come later: + dnl If the raw declaration exists with the given includes, then + dnl AC_CHECK_DECL with its many includes would see it as well. + dnl So, set a cache variable to allow skipping any later + dnl AC_CHECK_DECL invocation for $gl_func. + eval "ac_cv_have_decl_$gl_func=yes" + ]) AS_VAR_POPDEF([gl_Symbol])dnl done ]) diff --git a/m4/wchar_h.m4 b/m4/wchar_h.m4 index 4baba1a..3582fa7 100644 --- a/m4/wchar_h.m4 +++ b/m4/wchar_h.m4 @@ -1,13 +1,13 @@ dnl A placeholder for ISO C99 , for platforms that have issues. -dnl Copyright (C) 2007-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2007-2024 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Written by Eric Blake. -# wchar_h.m4 serial 55 +# wchar_h.m4 serial 62 AC_DEFUN_ONCE([gl_WCHAR_H], [ @@ -147,6 +147,7 @@ AC_DEFUN([gl_WCHAR_H_REQUIRE_DEFAULTS], gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_BTOWC]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTOB]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSINIT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSZERO]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRTOWC]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBRLEN]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MBSRTOWCS]) @@ -185,6 +186,7 @@ AC_DEFUN([gl_WCHAR_H_REQUIRE_DEFAULTS], gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSTOK]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSWIDTH]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCSFTIME]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WGETCWD]) dnl Support Microsoft deprecated alias function names by default. gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_WCSDUP], [1]) ]) @@ -253,5 +255,10 @@ AC_DEFUN([gl_WCHAR_H_DEFAULTS], REPLACE_WCWIDTH=0; AC_SUBST([REPLACE_WCWIDTH]) REPLACE_WCSWIDTH=0; AC_SUBST([REPLACE_WCSWIDTH]) REPLACE_WCSFTIME=0; AC_SUBST([REPLACE_WCSFTIME]) + REPLACE_WCSCMP=0; AC_SUBST([REPLACE_WCSCMP]) + REPLACE_WCSNCMP=0; AC_SUBST([REPLACE_WCSNCMP]) + REPLACE_WCSSTR=0; AC_SUBST([REPLACE_WCSSTR]) REPLACE_WCSTOK=0; AC_SUBST([REPLACE_WCSTOK]) + REPLACE_WMEMCMP=0; AC_SUBST([REPLACE_WMEMCMP]) + REPLACE_WMEMPCPY=0; AC_SUBST([REPLACE_WMEMPCPY]) ]) diff --git a/m4/wchar_t.m4 b/m4/wchar_t.m4 index 268e3e5..9435357 100644 --- a/m4/wchar_t.m4 +++ b/m4/wchar_t.m4 @@ -1,5 +1,5 @@ # wchar_t.m4 serial 4 (gettext-0.18.2) -dnl Copyright (C) 2002-2003, 2008-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2002-2003, 2008-2024 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. diff --git a/m4/wcrtomb.m4 b/m4/wcrtomb.m4 index fee21d7..f00f645 100644 --- a/m4/wcrtomb.m4 +++ b/m4/wcrtomb.m4 @@ -1,5 +1,5 @@ -# wcrtomb.m4 serial 17 -dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. +# wcrtomb.m4 serial 19 +dnl Copyright (C) 2008-2024 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. @@ -82,9 +82,11 @@ int main () changequote(,)dnl case "$host_os" in # Guess no on AIX 4, OSF/1, Solaris, native Windows. - aix4* | osf* | solaris* | mingw*) gl_cv_func_wcrtomb_retval="guessing no" ;; + aix4* | osf* | solaris* | mingw* | windows*) + gl_cv_func_wcrtomb_retval="guessing no" ;; # Guess yes otherwise. - *) gl_cv_func_wcrtomb_retval="guessing yes" ;; + *) + gl_cv_func_wcrtomb_retval="guessing yes" ;; esac changequote([,])dnl if test $LOCALE_FR != none || test $LOCALE_FR_UTF8 != none || test $LOCALE_JA != none || test $LOCALE_ZH_CN != none; then @@ -97,12 +99,14 @@ changequote([,])dnl int main () { int result = 0; - if (setlocale (LC_ALL, "$LOCALE_FR") != NULL) + if (strcmp ("$LOCALE_FR", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_FR") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 1; } - if (setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) + if (strcmp ("$LOCALE_FR_UTF8", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_FR_UTF8") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 2; @@ -113,12 +117,14 @@ int main () result |= 2; } } - if (setlocale (LC_ALL, "$LOCALE_JA") != NULL) + if (strcmp ("$LOCALE_JA", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_JA") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 4; } - if (setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) + if (strcmp ("$LOCALE_ZH_CN", "none") != 0 + && setlocale (LC_ALL, "$LOCALE_ZH_CN") != NULL) { if (wcrtomb (NULL, 0, NULL) != 1) result |= 8; diff --git a/m4/wcsdup.m4 b/m4/wcsdup.m4 index 3bc7455..9573feb 100644 --- a/m4/wcsdup.m4 +++ b/m4/wcsdup.m4 @@ -1,5 +1,5 @@ # wcsdup.m4 serial 4 -dnl Copyright (C) 2011-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2024 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. diff --git a/m4/wctob.m4 b/m4/wctob.m4 index af172cd..323b1ed 100644 --- a/m4/wctob.m4 +++ b/m4/wctob.m4 @@ -1,5 +1,5 @@ -# wctob.m4 serial 13 -dnl Copyright (C) 2008-2022 Free Software Foundation, Inc. +# wctob.m4 serial 14 +dnl Copyright (C) 2008-2024 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,7 +32,7 @@ changequote(,)dnl solaris2.[1-9] | solaris2.[1-9].* | cygwin*) gl_cv_func_wctob_works="guessing no" ;; # Guess no on native Windows. - mingw*) + mingw* | windows*) gl_cv_func_wctob_works="guessing no" ;; # Guess yes otherwise. *) gl_cv_func_wctob_works="guessing yes" ;; diff --git a/m4/wctomb.m4 b/m4/wctomb.m4 index 12329d8..d8f3652 100644 --- a/m4/wctomb.m4 +++ b/m4/wctomb.m4 @@ -1,5 +1,5 @@ # wctomb.m4 serial 2 -dnl Copyright (C) 2011-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2024 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. diff --git a/m4/wctype_h.m4 b/m4/wctype_h.m4 index 702cb39..c899394 100644 --- a/m4/wctype_h.m4 +++ b/m4/wctype_h.m4 @@ -1,8 +1,8 @@ -# wctype_h.m4 serial 30 +# wctype_h.m4 serial 33 dnl A placeholder for ISO C99 , for platforms that lack it. -dnl Copyright (C) 2006-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2006-2024 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. @@ -178,6 +178,7 @@ AC_DEFUN([gl_WCTYPE_H_REQUIRE_DEFAULTS], m4_defun(GL_MODULE_INDICATOR_PREFIX[_WCTYPE_H_MODULE_INDICATOR_DEFAULTS], [ gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWBLANK]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWDIGIT]) + gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWPUNCT]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWXDIGIT]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_WCTYPE]) gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ISWCTYPE]) @@ -196,5 +197,8 @@ AC_DEFUN([gl_WCTYPE_H_DEFAULTS], HAVE_WCTRANS_T=1; AC_SUBST([HAVE_WCTRANS_T]) REPLACE_ISWBLANK=0; AC_SUBST([REPLACE_ISWBLANK]) REPLACE_ISWDIGIT=0; AC_SUBST([REPLACE_ISWDIGIT]) + REPLACE_ISWPUNCT=0; AC_SUBST([REPLACE_ISWPUNCT]) REPLACE_ISWXDIGIT=0; AC_SUBST([REPLACE_ISWXDIGIT]) + REPLACE_WCTRANS=0; AC_SUBST([REPLACE_WCTRANS]) + REPLACE_WCTYPE=0; AC_SUBST([REPLACE_WCTYPE]) ]) diff --git a/m4/wint_t.m4 b/m4/wint_t.m4 index adc5866..21350f5 100644 --- a/m4/wint_t.m4 +++ b/m4/wint_t.m4 @@ -1,5 +1,5 @@ # wint_t.m4 serial 11 -dnl Copyright (C) 2003, 2007-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2003, 2007-2024 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. diff --git a/m4/wmemcpy.m4 b/m4/wmemcpy.m4 index 7a270e3..3b627a6 100644 --- a/m4/wmemcpy.m4 +++ b/m4/wmemcpy.m4 @@ -1,5 +1,5 @@ # wmemcpy.m4 serial 5 -dnl Copyright (C) 2011-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2011-2024 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. diff --git a/m4/xopen-source.m4 b/m4/xopen-source.m4 index bc7adea..fbc9f93 100644 --- a/m4/xopen-source.m4 +++ b/m4/xopen-source.m4 @@ -1,7 +1,7 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### diff --git a/m4/zzgnulib.m4 b/m4/zzgnulib.m4 index fd73a20..eed5ecb 100644 --- a/m4/zzgnulib.m4 +++ b/m4/zzgnulib.m4 @@ -1,5 +1,5 @@ # zzgnulib.m4 serial 1 -dnl Copyright (C) 2020-2022 Free Software Foundation, Inc. +dnl Copyright (C) 2020-2024 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. diff --git a/po/LINGUAS b/po/LINGUAS index f0906ee..02db9a1 100644 --- a/po/LINGUAS +++ b/po/LINGUAS @@ -1,7 +1,7 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### @@ -40,7 +40,10 @@ fr hr hu nb +pl pt_BR +ro ru sr sv +uk diff --git a/po/Makevars b/po/Makevars index d6928e1..7dbbd80 100644 --- a/po/Makevars +++ b/po/Makevars @@ -1,7 +1,7 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### diff --git a/po/POTFILES.in b/po/POTFILES.in index 4f78e49..05b428c 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -1,7 +1,7 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### @@ -27,8 +27,8 @@ # Data files from Star Traders -data/trader.desktop.in -data/trader.appdata.xml.in +data/au.org.zap.trader.desktop.in +data/au.org.zap.trader.metainfo.xml.in # Source files from Star Traders src/trader.c diff --git a/po/da.gmo b/po/da.gmo index e18a1bb..394129e 100644 Binary files a/po/da.gmo and b/po/da.gmo differ diff --git a/po/da.po b/po/da.po index 4788026..1f7c376 100644 --- a/po/da.po +++ b/po/da.po @@ -1,7 +1,7 @@ # ************************************************************************* # * * # * Danish Translations for Star Traders * -# * Copyright (C) 2012-22, John Zaitseff * +# * Copyright (C) 2012-24, John Zaitseff * # * * # ************************************************************************* # @@ -12,10 +12,10 @@ # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: Joe Hansen \n" "Language-Team: Danish \n" "Language: da\n" @@ -29,22 +29,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Spil Star Traders, et simpelt spil med rumhandel" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "spil;interstellar;handel;strategi;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -52,10 +52,14 @@ msgstr "" "Star Traders er et simpelt spil med rumhandel, hvor formålet er at oprette firmaer, købe og sælge aktier, låne og betale tilbage " "på lån, alt sammen for at blive den rigeste spiller (vinderen)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Skærmbillede fra Star Traders" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1706,47 +1710,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: »%lc«" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: tilvalget »%s%s« er tvetydigt\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: tilvalget »%s%s« er tvetydigt; muligheder:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: tilvalget blev ikke genkendt »%s%s«\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: tilvalget »%s%s« tillader ikke et argument\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: tilvalget »%s%s« kræver et argument\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ugyldigt tilvalg -- »%c«\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: tilvalget kræver et argument -- »%c«\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/de.gmo b/po/de.gmo index ac0c965..c0608c7 100644 Binary files a/po/de.gmo and b/po/de.gmo differ diff --git a/po/de.po b/po/de.po index 9024a24..68bd26f 100644 --- a/po/de.po +++ b/po/de.po @@ -1,7 +1,7 @@ # ************************************************************************* # * * # * German Translations for Star Traders * -# * Copyright (C) 2012-22, John Zaitseff * +# * Copyright (C) 2012-24, John Zaitseff * # * * # ************************************************************************* # @@ -14,10 +14,10 @@ # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: Roland Illig \n" "Language-Team: German \n" "Language: de\n" @@ -31,22 +31,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Spielen Sie Star Trader, ein einfaches Spiel um interstellaren Handel" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "spiel;universum;galaxie;handel;strategie;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -54,10 +54,14 @@ msgstr "" "Star Traders ist ein einfaches interstellares Handelsspiel, bei dem es darum geht, Unternehmen zu gründen, Aktien zu kaufen und " "zu verkaufen, Geld zu leihen und zurückzuzahlen, um der reichste Spieler (der Gewinner) zu werden." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Screenshot von Star Traders" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1707,47 +1711,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: „%lc“" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: Option „%s%s“ ist mehrdeutig\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: Option „%s%s“ ist mehrdeutig; möglich wären:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: unbekannte Option „%s%s“\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: Option „%s%s“ akzeptiert keine Argumente\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: Option „%s%s“ erfordert ein Argument\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ungültige Option -- „%c“\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: die Option erfordert ein Argument -- „%c“\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/en@quot.gmo b/po/en@quot.gmo index 154a796..3ccbdaf 100644 Binary files a/po/en@quot.gmo and b/po/en@quot.gmo differ diff --git a/po/en@quot.po b/po/en@quot.po index 44ec1b6..a651517 100644 --- a/po/en@quot.po +++ b/po/en@quot.po @@ -1,7 +1,7 @@ # English translations for trader package. -# Copyright (C) 2022 John Zaitseff +# Copyright (C) 2024 John Zaitseff # This file is distributed under the same license as the trader package. -# Automatically generated, 2022. +# Automatically generated, 2024. # # All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation @@ -27,10 +27,10 @@ # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:12+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-05 16:49+1100\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: en@quot\n" @@ -43,22 +43,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Play Star Traders, a simple game of interstellar trading" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "game;interstellar;trading;strategy;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -66,10 +66,14 @@ msgstr "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Star Traders screenshot" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1706,47 +1710,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: ‘%lc’" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: option ‘%s%s’ is ambiguous\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: option ‘%s%s’ is ambiguous; possibilities:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: unrecognized option ‘%s%s’\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: option ‘%s%s’ doesn't allow an argument\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: option ‘%s%s’ requires an argument\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: invalid option -- ‘%c’\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: option requires an argument -- ‘%c’\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/en_AU.gmo b/po/en_AU.gmo index 418b16e..f078986 100644 Binary files a/po/en_AU.gmo and b/po/en_AU.gmo differ diff --git a/po/en_AU.po b/po/en_AU.po index dc631fa..8660fcd 100644 --- a/po/en_AU.po +++ b/po/en_AU.po @@ -1,21 +1,21 @@ # ************************************************************************* # * * # * English (Australian) Translations for Star Traders * -# * Copyright (C) 1990-2022, John Zaitseff * +# * Copyright (C) 1990-2024, John Zaitseff * # * * # ************************************************************************* # # This file is distributed under the same license as the trader package. # # Contributors: -# John Zaitseff , 2011-2022. +# John Zaitseff , 2011-2024. # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: John Zaitseff \n" "Language-Team: English (Australian) <(nothing)>\n" "Language: en_AU\n" @@ -28,22 +28,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Play Star Traders, a simple game of interstellar trading" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "game;interstellar;trading;strategy;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -51,10 +51,14 @@ msgstr "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Star Traders screenshot" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1691,47 +1695,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: ‘%lc’" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: option ‘%s%s’ is ambiguous\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: option ‘%s%s’ is ambiguous; possibilities:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: unrecognised option ‘%s%s’\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: option ‘%s%s’ doesn’t allow an argument\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: option ‘%s%s’ requires an argument\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: invalid option -- ‘%c’\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: option requires an argument -- ‘%c’\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/en_CA.gmo b/po/en_CA.gmo index 8391541..c03bd65 100644 Binary files a/po/en_CA.gmo and b/po/en_CA.gmo differ diff --git a/po/en_CA.po b/po/en_CA.po index 89b0688..1c61254 100644 --- a/po/en_CA.po +++ b/po/en_CA.po @@ -1,21 +1,21 @@ # ************************************************************************* # * * # * English (Canadian) Translations for Star Traders * -# * Copyright (C) 1990-2022, John Zaitseff * +# * Copyright (C) 1990-2024, John Zaitseff * # * * # ************************************************************************* # # This file is distributed under the same license as the trader package. # # Contributors: -# John Zaitseff , 2011-2022. +# John Zaitseff , 2011-2024. # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: John Zaitseff \n" "Language-Team: English (Canadian) <(nothing)>\n" "Language: en_CA\n" @@ -28,22 +28,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Play Star Traders, a simple game of interstellar trading" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "game;interstellar;trading;strategy;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -51,10 +51,14 @@ msgstr "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Star Traders screenshot" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1691,47 +1695,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: ‘%lc’" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: option ‘%s%s’ is ambiguous\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: option ‘%s%s’ is ambiguous; possibilities:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: unrecognized option ‘%s%s’\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: option ‘%s%s’ doesn’t allow an argument\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: option ‘%s%s’ requires an argument\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: invalid option -- ‘%c’\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: option requires an argument -- ‘%c’\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/en_GB.gmo b/po/en_GB.gmo index eefa478..521a579 100644 Binary files a/po/en_GB.gmo and b/po/en_GB.gmo differ diff --git a/po/en_GB.po b/po/en_GB.po index 86e4c62..3a20d13 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -1,21 +1,21 @@ # ************************************************************************* # * * # * English (British) Translations for Star Traders * -# * Copyright (C) 1990-2022, John Zaitseff * +# * Copyright (C) 1990-2024, John Zaitseff * # * * # ************************************************************************* # # This file is distributed under the same license as the trader package. # # Contributors: -# John Zaitseff , 2011-2022. +# John Zaitseff , 2011-2024. # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: John Zaitseff \n" "Language-Team: English (British) <(nothing)>\n" "Language: en_GB\n" @@ -28,22 +28,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Play Star Traders, a simple game of interstellar trading" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "game;interstellar;trading;strategy;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -51,10 +51,14 @@ msgstr "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Star Traders screenshot" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1691,47 +1695,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: ‘%lc’" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: option ‘%s%s’ is ambiguous\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: option ‘%s%s’ is ambiguous; possibilities:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: unrecognised option ‘%s%s’\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: option ‘%s%s’ doesn’t allow an argument\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: option ‘%s%s’ requires an argument\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: invalid option -- ‘%c’\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: option requires an argument -- ‘%c’\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/en_US.gmo b/po/en_US.gmo index 513cf4f..89116ab 100644 Binary files a/po/en_US.gmo and b/po/en_US.gmo differ diff --git a/po/en_US.po b/po/en_US.po index cbc3cd1..6f67059 100644 --- a/po/en_US.po +++ b/po/en_US.po @@ -1,21 +1,21 @@ # ************************************************************************* # * * # * English (US) Translations for Star Traders * -# * Copyright (C) 1990-2022, John Zaitseff * +# * Copyright (C) 1990-2024, John Zaitseff * # * * # ************************************************************************* # # This file is distributed under the same license as the trader package. # # Contributors: -# John Zaitseff , 2011-2022. +# John Zaitseff , 2011-2024. # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: John Zaitseff \n" "Language-Team: English (US) <(nothing)>\n" "Language: en_US\n" @@ -28,22 +28,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Play Star Traders, a simple game of interstellar trading" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "game;interstellar;trading;strategy;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -51,10 +51,14 @@ msgstr "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Star Traders screenshot" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1691,47 +1695,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: ‘%lc’" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: option ‘%s%s’ is ambiguous\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: option ‘%s%s’ is ambiguous; possibilities:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: unrecognized option ‘%s%s’\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: option ‘%s%s’ doesn’t allow an argument\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: option ‘%s%s’ requires an argument\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: invalid option -- ‘%c’\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: option requires an argument -- ‘%c’\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/eo.gmo b/po/eo.gmo index 4399e4d..5a29c50 100644 Binary files a/po/eo.gmo and b/po/eo.gmo differ diff --git a/po/eo.po b/po/eo.po index e68032c..3eadda7 100644 --- a/po/eo.po +++ b/po/eo.po @@ -1,7 +1,7 @@ # ************************************************************************* # * * # * Esperanto Translations for Star Traders * -# * Copyright (C) 2013-22, John Zaitseff * +# * Copyright (C) 2013-24, John Zaitseff * # * Copyright (C) 2013-21, Free Software Foundation, Inc. * # * * # ************************************************************************* @@ -13,10 +13,10 @@ # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: Felipe Castro \n" "Language-Team: Esperanto \n" "Language: eo\n" @@ -30,22 +30,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Ludi Star Traders, simpla ludo pri interstelara komerco" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "ludo;kosmo;negoco;strategio;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -53,10 +53,14 @@ msgstr "" "Star Traders estas simpla ludo pri interstelara komerco, kie la celo de la ludo estas krei kompaniojn, aĉeti kaj vendi akciojn, " "pruntepreni kaj repagi monon, por fariĝi la plej riĉa ludanto (la venkanto)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Ekrankopio de Star Traders" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1698,47 +1702,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: '%lc'" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: la modifilo '%s%s' estas plursenca\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: la modifilo '%s%s' estas plursenca; eblecoj:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: nerekonata modifilo '%s%s'\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: la modifilo '%s%s' ne permesas argumenton\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: la modifilo '%s%s' postulas argumenton\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: malvalida modifilo -- '%c'\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: la modifilo postulas argumenton -- '%c'\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/fi.gmo b/po/fi.gmo index 09d818a..bb25065 100644 Binary files a/po/fi.gmo and b/po/fi.gmo differ diff --git a/po/fi.po b/po/fi.po index 5076640..5934334 100644 --- a/po/fi.po +++ b/po/fi.po @@ -1,7 +1,7 @@ # ************************************************************************* # * * # * Finnish Translations for Star Traders * -# * Copyright (C) 2012-22, John Zaitseff * +# * Copyright (C) 2012-24, John Zaitseff * # * Copyright (C) 2012, Free Software Foundation, Inc. * # * * # ************************************************************************* @@ -13,10 +13,10 @@ # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: Jorma Karvonen \n" "Language-Team: Finnish \n" "Language: fi\n" @@ -30,22 +30,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Tähtikauppiaat" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Pelaa Tähtikauppiaita, yksinkertaista tähtienvälisen kaupan peliä" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -53,10 +53,14 @@ msgstr "" "Tähtikauppiaat on yksinkertainen tähtienvälisen kaupan peli, jossa pelin tarkoitus on luoda yhtiöitä, ostaa ja myydä osakkeita, " "lainata ja maksaa takaisin rahaa, tarkoituksena tulla varakkaimmaksi pelaajaksi (voittaja)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Kuvakaappaus Tähtikauppiaat" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1702,47 +1706,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: ”%lc”" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: valitsin ’%s%s’ ei ole yksiselitteinen\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: valitsin ’%s%s’ ei ole yksiselitteinen; mahdollisuudet:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: tunnistamaton valitsin ’%s%s’\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: valitsin ’%s%s’ ei salli argumenttia\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: valitsin ’%s%s’ vaatii argumentin\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: virheellinen valitsin -- ’%c’\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: valitsin vaatii argumentin -- ’%c’\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/fr.gmo b/po/fr.gmo index 7ffd2f9..8f64ec7 100644 Binary files a/po/fr.gmo and b/po/fr.gmo differ diff --git a/po/fr.po b/po/fr.po index 1b2e095..5cd7e98 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1,7 +1,7 @@ # ************************************************************************* # * * # * French Translations for Star Traders * -# * Copyright (C) 2012-22, John Zaitseff * +# * Copyright (C) 2012-24, John Zaitseff * # * Copyright (C) 2012-21, Free Software Foundation, Inc. * # * * # ************************************************************************* @@ -19,10 +19,10 @@ # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: Frédéric Marchal \n" "Language-Team: French \n" "Language: fr\n" @@ -36,22 +36,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Jouer à Star Traders, un simple jeu de commerce interstellaire" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "jeu;interstellaire;commerce;stratégie;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -59,10 +59,14 @@ msgstr "" "Star Traders est un simple jeu de commerce interstellaire où l'objectif consiste à créer des sociétés, acheter et vendre des " "actions, emprunter et rembourser de l'argent afin de devenir le joueur le plus riche (le gagnant)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Capture d'écran de Star Traders" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1717,47 +1721,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: « %lc »" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: l'option « %s%s » est ambiguë\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: l'option « %s%s » est ambiguë; les possibilités sont:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: option « %s%s » non reconnue\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: l'option « %s%s » n'accepte pas d'argument\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: l'option « %s%s » exige un argument\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: option invalide -- « %c »\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: l'option exige un argument -- « %c »\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/hr.gmo b/po/hr.gmo index 570bff4..666d479 100644 Binary files a/po/hr.gmo and b/po/hr.gmo differ diff --git a/po/hr.po b/po/hr.po index b5fd95b..0edafe1 100644 --- a/po/hr.po +++ b/po/hr.po @@ -1,7 +1,7 @@ # ************************************************************************* # * * # * Croatian Translations for Star Traders * -# * Copyright (C) 2012-22, John Zaitseff * +# * Copyright (C) 2012-24, John Zaitseff * # * * # ************************************************************************* # @@ -12,10 +12,10 @@ # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: Tomislav Krznar \n" "Language-Team: Croatian \n" "Language: hr\n" @@ -29,22 +29,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Igrajte Star Traders, jednostavnu igru međuzvjezdanog trgovanja" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -52,10 +52,14 @@ msgstr "" "„Star Traders” (Međuzvjezdani trgovci) je jednostavna igra međuzvjezadnog trgovanja, gdje je cilj igre stvarati tvrtke, kupovati " "i prodavati dionice te posuđivati i vraćati novac kako biste postali najbogatiji igrač (pobjednik)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Snimka zaslona „Star Traders” (Međuzvjezdani trgovci)" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1702,47 +1706,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: „%lc”" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: opcija „%s%s” je višeznačna\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: opcija „%s%s” je višeznačna; mogućnosti:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: neprepoznata opcija „%s%s”\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: opcija „%s%s” ne dozvoljava argument\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: opcija „%s%s” zahtijeva argument\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: neispravna opcija -- „%c”\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: opcija zahtijeva argument -- „%c”\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/hu.gmo b/po/hu.gmo index faed662..9b09576 100644 Binary files a/po/hu.gmo and b/po/hu.gmo differ diff --git a/po/hu.po b/po/hu.po index cd5947d..c3d5b9e 100644 --- a/po/hu.po +++ b/po/hu.po @@ -1,21 +1,21 @@ # ************************************************************************* # * * # * Hungarian Translations for Star Traders * -# * Copyright (C) 2012-22, John Zaitseff * +# * Copyright (C) 2012-24, John Zaitseff * # * * # ************************************************************************* # # This file is distributed under the same license as the trader package. # # Contributors: -# Balázs Úr , 2014, 2015, 2017, 2019. +# Balázs Úr , 2014, 2015, 2017, 2019, 2023. # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: Balázs Úr \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -29,33 +29,37 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "A Star Traders, egy egyszerű csillagközi kereskedelmi játék indítása" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "játék;csillagközi;kereskedés;stratégia;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." msgstr "" -"A Star Traders egy egyszerű csillagközi kereskedelmi játék, ahol a játék célja társaságok létrehozása, részvények vásárlása és " -"eladása, pénz kölcsönkérése és visszafizetése azért, hogy a leggazdagabb játékossá (győztessé) váljon." +"A Star Traders egy egyszerű csillagközi kereskedelmi játék, ahol a cél vállalatok létrehozása, részvények vásárlása és eladása, " +"kölcsönök felvétele és visszafizetése, hogy a leggazdagabb játékossá (győztessé) váljon." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Star Traders képernyőkép" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1696,47 +1700,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: „%lc”" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: a(z) „%s%s” kapcsoló nem egyértelmű\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: a(z) „%s%s” kapcsoló nem egyértelmű; lehetőségek:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: ismeretlen „%s%s” kapcsoló\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: a(z) „%s%s” kapcsoló nem enged meg argumentumot\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: a(z) „%s%s” kapcsolóhoz egy argumentum szükséges\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: érvénytelen kapcsoló -- „%c”\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: a kapcsolóhoz egy argumentum szükséges -- „%c”\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/nb.gmo b/po/nb.gmo index f1dc051..8cc5474 100644 Binary files a/po/nb.gmo and b/po/nb.gmo differ diff --git a/po/nb.po b/po/nb.po index ce940b5..b4e9f65 100644 --- a/po/nb.po +++ b/po/nb.po @@ -1,7 +1,7 @@ # ************************************************************************* # * * # * Norwegian Bokmål Translations for Star Traders * -# * Copyright (C) 2012-22, John Zaitseff * +# * Copyright (C) 2012-24, John Zaitseff * # * * # ************************************************************************* # @@ -12,10 +12,10 @@ # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: Johnny A. Solbu \n" "Language-Team: Norwegian Bokmaal \n" "Language: nb\n" @@ -29,22 +29,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Spill Star Traders, et enkelt spill med interstellar handel" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "spill;interstellar;handel;strategi;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -52,10 +52,14 @@ msgstr "" "Star Traders er et enkelt spill med interstellar handel, der målet med spillet er å opprette firmaer, kjøpe og selge aksjer, låne " "og betale tilbake penger for å bli den rikeste spilleren (vinneren)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Skjermbilde av Star Traders" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1697,47 +1701,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: «%lc»" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: valget «%s%s» er tvetydig\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: valget «%s%s» er tvetydig; muligheter:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: ukjent valg «%s%s»\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: valget «%s%s» tillater ikke argumenter\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: valget «%s%s» krever et argument\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ugyldig valg -- «%c»\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: valget krever et argument -- «%c»\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/pl.gmo b/po/pl.gmo new file mode 100644 index 0000000..5c4b097 Binary files /dev/null and b/po/pl.gmo differ diff --git a/po/pl.po b/po/pl.po new file mode 100644 index 0000000..c4ec962 --- /dev/null +++ b/po/pl.po @@ -0,0 +1,1891 @@ +# ************************************************************************* +# * * +# * Polish Translations for Star Traders * +# * Polskie tłumaczenie gry „Gwiezdni Traderzy” * +# * Copyright (C) 1990-2024, John Zaitseff * +# * * +# ************************************************************************* +# +# This file is distributed under the same license as the trader package. +# +# Contributors: +# John Zaitseff , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: trader 7.19\n" +"Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-04 22:59+1100\n" +"Last-Translator: John Zaitseff \n" +"Language-Team: Polish \n" +"Language: pl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. TRANSLATORS: The name of the game. You may choose to translate it into +#. your own language (recommended) or keep it the same as the English +#. version. Feel free to look through other translations to see how +#. others have done this. +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 +#, c-format +msgid "Star Traders" +msgstr "Gwiezdni Traderzy" + +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 +msgid "Play Star Traders, a simple game of interstellar trading" +msgstr "Zagraj w „Gwiezdni Traderzy”, prostą grę o handlu międzygwiezdnym" + +#. TRANSLATORS: A list of keywords describing Star Traders. By all means +#. add your own keywords! +#: data/au.org.zap.trader.desktop.in:27 +msgid "game;interstellar;trading;strategy;" +msgstr "gra;międzygwiezdna;handel;strategia;" + +#: data/au.org.zap.trader.metainfo.xml.in:29 +msgid "" +"Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " +"and repay money, in order to become the wealthiest player (the winner)." +msgstr "" +"„Gwiezdni Traderzy” to prosta gra o handlu międzygwiezdnym, której celem jest tworzenie firm, kupno i sprzedaż akcji, zdobywanie " +"i spłacanie pożyczek, aby stać się najbogatszym zwycięskim graczem." + +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 +msgid "John Zaitseff" +msgstr "John Zaitseff" + +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Zrzut ekranu z gry „Gwiezdni Traderzy”" + +#: src/trader.c:238 +#, c-format +msgid "%s: invalid value for --max-turn: '%s'\n" +msgstr "%s: niepoprawna wartość dla --max-turn: „%s”\n" + +#: src/trader.c:254 +#, c-format +msgid "%s: invalid operand '%s'\n" +msgstr "%s: nieprawidłowy operand „%s”\n" + +#: src/trader.c:263 +#, c-format +msgid "%s: invalid game number '%s'\n" +msgstr "%s: nieprawidłowy numer gry „%s”\n" + +#: src/trader.c:272 +#, c-format +msgid "%s: extra operand '%s'\n" +msgstr "%s: dodatkowy operand „%s”\n" + +#. TRANSLATORS: "John Zaitseff" [IPA d͡ʒɒn ˈzaɪ̯t͡səf] is the proper +#. name of the author. The IPA pronunciation in this comment is in +#. UTF-8 encoding. +#: src/trader.c:287 +#, c-format +msgid "" +"Star Traders (%s) %s\n" +"Copyright (C) %s, John Zaitseff.\n" +"\n" +"Star Traders is a simple game of interstellar trading, where the object\n" +"of the game is to create companies, buy and sell shares, borrow and repay\n" +"money, in order to become the wealthiest player (the winner).\n" +"\n" +"This program is free software that is distributed under the terms of the\n" +"GNU General Public License, version 3 or later. You are welcome to\n" +"modify and/or distribute it under certain conditions. This program has\n" +"NO WARRANTY, to the extent permitted by law; see the License for details.\n" +msgstr "" +"Gwiezdni Traderzy / Star Traders (%s) %s\n" +"Copyright (C) %s, John Zaitseff.\n" +"\n" +"„Gwiezdni Traderzy” to prosta gra o handlu międzygwiezdnym, której celem jest\n" +"tworzenie firm, kupno i sprzedaż akcji, zdobywanie i spłacanie pożyczek, aby\n" +"stać się najbogatszym zwycięskim graczem.\n" +"\n" +"Ten program jest wolnym oprogramowaniem rozpowszechnianym na warunkach\n" +"Powszechnej Licencji Publicznej GNU w wersji 3 lub nowszej. Możesz go\n" +"modyfikować i/lub rozpowszechniać pod pewnymi warunkami. Ten program NIE JEST\n" +"objęty ŻADNĄ GWARANCJĄ w zakresie dozwolonym przez prawo; szczegóły znajdziesz\n" +"w Licencji.\n" + +#: src/trader.c:311 +#, c-format +msgid "%s: Try '%s --help' for more information.\n" +msgstr "%s: Wypróbuj „%s --help”, aby uzyskać bardziej szczegółowy opis.\n" + +#: src/trader.c:314 +#, c-format +msgid "Usage: %s [OPTION ...] [GAME]\n" +msgstr "Użycie: %s [OPCJA ...] [GRA]\n" + +#: src/trader.c:315 +#, c-format +msgid "" +"Play Star Traders, a simple game of interstellar trading.\n" +"\n" +msgstr "" +"Zagraj w „Gwiezdni Traderzy”, prostą grę o handlu międzygwiezdnym.\n" +"\n" + +#: src/trader.c:318 +#, c-format +msgid "" +"Options:\n" +" -V, --version output version information and exit\n" +" -h, --help display this help and exit\n" +" --no-color don't use color for displaying text\n" +" --max-turn=NUM set the number of turns to NUM\n" +"\n" +msgstr "" +"Opcje:\n" +" -V, --version wyświetla informacje o wersji i kończy działanie\n" +" -h, --help wyświetla tę pomoc i kończy działanie\n" +" --no-color nie używa kolorów do wyświetlania tekstu\n" +" --max-turn=NR ustaw NR jako maksymalny ruch w grze\n" +"\n" + +#: src/trader.c:325 +#, c-format +msgid "" +"If GAME is specified as a number between 1 and 9, load and continue\n" +"playing that game. If GAME is not specified, start a new game.\n" +"\n" +msgstr "" +"Jeśli argumentem GRA jest liczba od 1 do 9, wczytaj i kontynuuj odpowiedni\n" +"zapisany stan gry. Domyślnie rozpocznij nową grę.\n" +"\n" + +#. TRANSLATORS: The first %s is the proper name of the package +#. author, John Zaitseff [IPA d͡ʒɒn ˈzaɪ̯t͡səf]; the second %s is +#. the email address for reporting bugs. Please add ANOTHER line +#. with the (translated) text "Report translation bugs to +#.
\n", with ADDRESS replaced with either an email +#. address or web URL for reporting bugs in your translation. +#: src/trader.c:337 +#, c-format +msgid "Report bugs to %s <%s>.\n" +msgstr "" +"Proszę zgłaszać błędy do %s <%s>.\n" +"Błędy w tłumaczeniu na język polski prosimy zgłaszać na ten sam adres.\n" + +#. TRANSLATORS: %s is the email address for reporting bugs. As +#. with the previous string, please add ANOTHER line with the +#. (translated) text "Report translation bugs to
\n", +#. with ADDRESS replaced with either an email address or web URL +#. for reporting bugs in your translation. +#: src/trader.c:344 +#, c-format +msgid "Report bugs to <%s>.\n" +msgstr "" +"Proszę zgłaszać błędy do <%s>.\n" +"Błędy w tłumaczeniu na język polski prosimy zgłaszać na ten sam adres.\n" + +#. TRANSLATORS: The first %s is for packagers and may be +#. something like "Debian". +#: src/trader.c:349 +#, c-format +msgid "Report %s bugs to <%s>.\n" +msgstr "Zgłoś błędy w %s do <%s>.\n" + +#: src/trader.c:352 +#, c-format +msgid "Star Traders home page: <%s>.\n" +msgstr "" +"Strona główna gry „Gwiezdni Traderzy”:\n" +" %s\n" + +#. TRANSLATORS: The eight company names do NOT have to be literal +#. translations of the English names. In fact, if possible, the +#. names should start with successive letters of your alphabet (in +#. English, for example, "A" to "H"), and, ideally, be related to +#. constellations or stars in our galaxy. No company name should be +#. more than 24 characters (column positions, to be precise) long. +#: src/globals.c:47 +msgid "Altair Starways" +msgstr "Altair Gwiazdy" + +#: src/globals.c:48 +msgid "Betelgeuse, Ltd" +msgstr "Betelgeza s. z o.o." + +#: src/globals.c:49 +msgid "Capella Freight Co" +msgstr "Capella Transport" + +#: src/globals.c:50 +msgid "Denebola Shippers" +msgstr "Dyspozytorzy Denebola" + +#: src/globals.c:51 +msgid "Eridani Expediters" +msgstr "Ekspedytorzy Eridani" + +#: src/globals.c:52 +msgid "Fornax Express" +msgstr "Fundacja Traderów Fornak" + +#: src/globals.c:53 +msgid "Gemini Inc" +msgstr "Godni Zaufania Handlowcy" + +#: src/globals.c:54 +msgid "Hercules and Co" +msgstr "Herkules i spółka" + +#. TRANSLATORS: This string specifies the keycodes (keyboard input +#. codes) used to enter the Stock Transaction window for each +#. company. There must be exactly eight characters, one for each +#. company in order, before the ASCII vertical line "|"; these must +#. be EITHER all in upper-case or all in lower-case. If at all +#. possible, these should be successive letters in your alphabet (in +#. English, "A" to "H"). Do NOT use digits or control characters. +#. Do not change or translate anything after the vertical line. +#: src/globals.c:68 +msgid "ABCDEFGH|input|Companies" +msgstr "ABCDEFGH|input|Companies" + +#. TRANSLATORS: This string specifies the keycodes used to select a +#. game move. There must be exactly 20 characters, one for each +#. move, before the ASCII vertical line "|"; these must be EITHER all +#. in upper-case or all in lower-case. If at all possible, these +#. should be successive letters in your alphabet. Do NOT use digits +#. or control characters. Do not change or translate anything after +#. the vertical line. +#: src/globals.c:80 +msgid "ABCDEFGHIJKLMNOPQRST|input|GameMoves" +msgstr "ABCDEFGHIJKLŁMNOPQRS|input|GameMoves" + +#. TRANSLATORS: This string is used to display the galaxy map to +#. screen. There must be exactly 11 characters before the ASCII +#. vertical line. The first ("." in English) is used for empty +#. space, the second ("+") for outposts, the third ("*") for stars, +#. the remaining for the eight companies. Do not change or translate +#. anything after the vertical line. Double-width characters ARE +#. handled correctly. +#: src/globals.c:92 +msgid ".+*ABCDEFGH|output|MapVals" +msgstr ".+*ABCDEFGH|output|MapVals" + +#. TRANSLATORS: This string is used to display the game moves +#. (choices). There must be exactly 20 characters (NUMBER_MOVES) +#. before the ASCII vertical line. The first character corresponds +#. to the first character in the "input|GameMoves" string, and so on. +#. Do not change or translate anything after the vertical line. +#. Double-width characters ARE handled correctly. +#: src/globals.c:103 +msgid "abcdefghijklmnopqrst|output|GameMoves" +msgstr "abcdefghijklłmnopqrs|output|GameMoves" + +#. TRANSLATORS: The ordinal strings "1st" to "8th" are used in the +#. Game Winner dialog box at the end of the game. If ordinals depend +#. on the gender of the player, it may be simpler to list cardinal +#. numbers instead (eg, "No. 1"). Up to five characters are allowed +#. (see ORDINAL_COLS in src/intf.h). +#: src/globals.c:114 +msgid "1st" +msgstr "Nr 1" + +#: src/globals.c:115 +msgid "2nd" +msgstr "Nr 2" + +#: src/globals.c:116 +msgid "3rd" +msgstr "Nr 3" + +#: src/globals.c:117 +msgid "4th" +msgstr "Nr 4" + +#: src/globals.c:118 +msgid "5th" +msgstr "Nr 5" + +#: src/globals.c:119 +msgid "6th" +msgstr "Nr 6" + +#: src/globals.c:120 +msgid "7th" +msgstr "Nr 7" + +#: src/globals.c:121 +msgid "8th" +msgstr "Nr 8" + +#: src/game.c:117 src/game.c:152 +#, c-format +msgid "Loading game %d... " +msgstr "Gra nr %d ładuje się... " + +#: src/game.c:226 +#, c-format +msgid " First Player " +msgstr " Pierwszy gracz " + +#: src/game.c:227 +#, c-format +msgid "The first player to go is ^{%ls^}." +msgstr "Pierwszy wybrany gracz: ^{%ls^}." + +#. TRANSLATORS: The keycode should be modified to +#. match that (or those) specified with msgctxt +#. "input|ContinueGame". +#: src/game.c:259 +#, c-format +msgid "Enter number of players [^{1^}-^{%d^}] or ^{^} to continue a game: " +msgstr "Wprowadź liczbę graczy [^{1^}-^{%d^}] lub ^{^}, aby kontynuować starą grę: " + +#. TRANSLATORS: This string specifies the keycodes used to continue a +#. game; these must NOT contain any numeric digit from 1 to 9. The +#. first character (keyboard input code) is used to print the user's +#. response if one of those keys is pressed. Both upper and +#. lower-case versions should be present. +#: src/game.c:276 +msgctxt "input|ContinueGame" +msgid "Cc" +msgstr "Kk" + +#: src/game.c:341 src/move.c:413 +#, c-format +msgid "Enter game number [^{1^}-^{9^}] or ^{^} to cancel: " +msgstr "Wprowadź numer gry [^{1^}-^{9^}] lub ^{^}, aby anulować: " + +#: src/game.c:406 +#, c-format +msgid "Please enter your name: " +msgstr "Twoje imię: " + +#. TRANSLATORS: Note that you should replace "Y" and "N" +#. with the localised upper-case characters used in the +#. "input|Yes" and "input|No" strings. There are other +#. strings in this game, each with "[^{Y^}/^{N^}]", that +#. need the same replacement. +#: src/game.c:430 +#, c-format +msgid "Do you need any instructions? [^{Y^}/^{N^}] " +msgstr "Pokaż pomoc jak grać? [^{T^}/^{N^}] " + +#: src/game.c:448 +#, c-format +msgid " Enter Player Names " +msgstr " Nazwy graczy " + +#: src/game.c:456 +#, c-format, range: 1..8 +msgid "Player %d: " +msgstr "Gracz nr %d: " + +#: src/game.c:534 +#, c-format +msgid "Does any player need instructions? [^{Y^}/^{N^}] " +msgstr "Pokaż pomoc jak grać? [^{T^}/^{N^}] " + +#: src/game.c:568 +#, c-format +msgid " Game Over " +msgstr " Koniec gry " + +#: src/game.c:569 +#, c-format +msgid "The game is over after one turn." +msgid_plural "The game is over after %d turns." +msgstr[0] "Gra kończy się po pierwszym ruchu." +msgstr[1] "Gra kończy się po %d. ruchu." +msgstr[2] "Gra kończy się po %d. ruchu." + +#: src/game.c:580 +#, c-format +msgid " Total Value " +msgstr " Całkowita wartość " + +#: src/game.c:582 +#, c-format +msgid "Your total value was ^{%N^}." +msgstr "Twoja łączna wartość wyniosła ^{%N^}." + +#: src/game.c:593 +#, c-format +msgid "" +"The winner is ^{%ls^}\n" +"who is ^[*** BANKRUPT ***^]" +msgstr "" +"Zwycięzcą gry zostaje ^{%ls^},\n" +"który jest ^[*** BANKRUTEM ***^]" + +#: src/game.c:596 +#, c-format +msgid "" +"The winner is ^{%ls^}\n" +"with a value of ^{%N^}." +msgstr "" +"Zwycięzcą gry zostaje ^{%ls^}!\n" +"Całkowita wartość tego gracza wynosi ^{%N^}" + +#: src/game.c:602 +#, c-format +msgid " Game Winner " +msgstr " Zwycięzca gry " + +#. TRANSLATORS: "Player" is used as a column title in a +#. table containing all player names. +#: src/game.c:611 src/move.c:882 +#, c-format +msgctxt "subtitle" +msgid "Player" +msgstr "Gracz" + +#. TRANSLATORS: "Total Value" refers to the total worth +#. (shares, cash and debt) of any given player. %ls is the +#. currency symbol of the current locale. +#: src/game.c:616 +#, c-format +msgctxt "subtitle" +msgid "Total Value (%ls)" +msgstr "Całkowita wartość (%ls)" + +#: src/game.c:650 src/game.c:700 src/exch.c:100 +#, c-format +msgid "Player: ^{%ls^}" +msgstr "Gracz: ^{%ls^}" + +#: src/game.c:653 +#, c-format +msgid " Turn: ^{%d^} " +msgstr " Ruch: ^{%d^} " + +#: src/game.c:654 +#, c-format +msgid " ^[*** Last Turn ***^] " +msgstr " ^[*** Ostatni ruch ***^] " + +#: src/game.c:698 +#, c-format +msgid " Stock Portfolio " +msgstr " Portfel akcji " + +#. TRANSLATORS: The current player is bankrupt (has no +#. shares or cash, ie, whose total value is zero) +#: src/game.c:707 +#, c-format +msgid "^[* * * B A N K R U P T * * *^]" +msgstr "^[* * * B A N K R U T * * *^]" + +#: src/game.c:722 src/exch.c:112 +#, c-format +msgid "No companies on the map" +msgstr "Brak spółek akcyjnych na mapie" + +#. TRANSLATORS: "Company" is a two-line column label in +#. a table containing a list of companies. +#: src/game.c:730 src/exch.c:120 +#, c-format +msgctxt "subtitle" +msgid "" +" \n" +"Company" +msgstr "" +" \n" +"Firma" + +#. TRANSLATORS: "Ownership" is a two-line column label +#. in a table containing the current player's +#. percentage ownership in any given company. The +#. maximum column width is 10 characters (see +#. OWNERSHIP_COLS in src/intf.h). +#: src/game.c:737 +#, c-format +msgctxt "subtitle" +msgid "" +"Ownership\n" +"(%%)" +msgstr "" +"Własność\n" +"(%%)" + +#. TRANSLATORS: "Holdings" is a two-line column label +#. in a table containing the number of shares the +#. current player owns in any given company. The +#. maximum column width is 10 characters (see +#. STOCK_OWNED_COLS in src/intf.h). +#: src/game.c:744 +#, c-format +msgctxt "subtitle" +msgid "" +"Holdings\n" +"(shares)" +msgstr "" +"Własność\n" +"(akcje)" + +#. TRANSLATORS: "Return" is a two-line column label in +#. a table containing the share return as a percentage +#. in any given company. The maximum column width is +#. 10 characters (see SHARE_RETURN_COLS in src/intf.h). +#: src/game.c:751 src/exch.c:141 +#, c-format +msgctxt "subtitle" +msgid "" +"Return\n" +"(%%)" +msgstr "" +"Zwrot\n" +"(%%)" + +#. TRANSLATORS: "Price per share" is a two-line column +#. label in a table containing the price per share in +#. any given company. %ls is the currency symbol in +#. the current locale. The maximum column width is 12 +#. characters INCLUDING the currency symbol (see +#. SHARE_PRICE_COLS in src/intf.h). +#: src/game.c:760 src/exch.c:150 +#, c-format +msgctxt "subtitle" +msgid "" +"Price per\n" +"share (%ls)" +msgstr "" +"Cena\n" +"akcji (%ls)" + +#. TRANSLATORS: The "Total value", "Current cash", +#. "Current debt" and "Interest rate" labels MUST all be +#. the same length (ie, right-padded with spaces as +#. needed) and must have at least one trailing space so +#. that the display routines work correctly. The maximum +#. length of each label is 36 characters. +#. +#. Note that some of these labels are used for both the +#. Player Status window and the Trading Bank window. +#: src/game.c:801 +#, c-format +msgctxt "label" +msgid "Total value: " +msgstr "Całkowita wartość: " + +#: src/game.c:805 src/exch.c:324 +#, c-format +msgctxt "label" +msgid "Current cash: " +msgstr "Aktualna gotówka: " + +#: src/game.c:812 src/exch.c:332 +#, c-format +msgctxt "label" +msgid "Current debt: " +msgstr "Aktualne zadłużenie: " + +#: src/game.c:818 src/exch.c:337 +#, c-format +msgctxt "label" +msgid "Interest rate: " +msgstr "Oprocentowanie: " + +#. TRANSLATORS: Each label may be up to 37 characters wide +#. (for <1> and <2>) or 38 characters wide (for <3> and +#. ). The sequences "^{" and "^}" change the +#. character rendition (attributes) and take up no space. +#: src/move.c:246 src/exch.c:182 +#, c-format +msgid "^{<1>^} Display stock portfolio" +msgstr "^{<1>^} Pokaż portfel akcji" + +#: src/move.c:248 +#, c-format +msgid "^{<2>^} Declare bankruptcy" +msgstr "^{<2>^} Ogłosić bankructwo" + +#: src/move.c:250 +#, c-format +msgid "^{<3>^} Save and end the game" +msgstr "^{<3>^} Zapisz i wyjdź z gry" + +#: src/move.c:252 +#, c-format +msgid "^{^} Quit the game" +msgstr "^{^} Wyjdź z gry" + +#. TRANSLATORS: The maximum column width is either 38 +#. characters (including the trailing space), or 76 +#. characters minus the length of the longest of the four +#. strings above this one. The sequences "^{", "^}", +#. "^[" and "^]" do not take up any room. "%lc" takes up +#. either one or two columns, depending on the appropriate +#. "output|GameMoves" string in the current PO file. +#: src/move.c:263 +#, c-format +msgid "Select move [^[%lc^]-^[%lc^]/^{1^}-^{3^}/^{^}]: " +msgstr "Wprowadź wybór [^[%lc^]-^[%lc^]/^{1^}-^{3^}/^{^}]: " + +#. TRANSLATORS: A game usually consists of +#. DEFAULT_MAX_TURN (50) turns. On each +#. turn, the computer randomly selects +#. NUMBER_MOVES (20) moves (positions on the +#. map); each player selects just one move +#. per turn. "Move" refers to the player's +#. choice. +#: src/move.c:309 +#, c-format +msgid "Move ^{%lc^}" +msgstr "Pozycja ^{%lc^}" + +#: src/move.c:330 +#, c-format +msgid "^{<2>^} (Declare bankruptcy)" +msgstr "^{<2>^} (Ogłosić bankructwo)" + +#: src/move.c:339 +#, c-format +msgid "^{<3>^} (Save and end the game)" +msgstr "^{<3>^} (Zapisz i wyjdź z gry)" + +#: src/move.c:360 +#, c-format +msgid "^{^} (Quit the game)" +msgstr "^{^} (Wyjdź z gry)" + +#: src/move.c:375 +#, c-format +msgid "Are you sure? [^{Y^}/^{N^}] " +msgstr "Jesteś pewny? [^{T^}/^{N^}] " + +#: src/move.c:392 src/move.c:470 +#, c-format +msgid "Saving game %d... " +msgstr "Gra nr %d została zapisana... " + +#: src/move.c:700 src/move.c:708 src/move.c:1066 src/move.c:1103 +#, c-format +msgid " Bankruptcy Court " +msgstr " Trybunał Arbitrażowy " + +#. TRANSLATORS: %ls is the player's name. +#: src/move.c:702 +#, c-format +msgid "%ls has been declared bankrupt by the Interstellar Trading Bank." +msgstr "Międzygwiezdny Bank Handlu ogłasza, że ​​gracz %ls zbankrutował." + +#. TRANSLATORS: %ls is the player's name. +#: src/move.c:710 +#, c-format +msgid "%ls has declared bankruptcy." +msgstr "%ls ogłasza bankructwo." + +#: src/move.c:778 +#, c-format +msgid " New Company " +msgstr " Nowa firma " + +#: src/move.c:779 +#, c-format +msgid "" +"A new company has been formed!\n" +"Its name is ^{%ls^}." +msgstr "" +"Powstała nowa firma handlowa!\n" +"Nazywa się ^{%ls^}." + +#: src/move.c:838 +#, c-format +msgid "" +"^{%ls^} has just merged into ^{%ls^}.\n" +"Please note the following transactions:\n" +msgstr "Firma ^{%ls^} została właśnie przejęta przez firmę ^{%ls^}. Proszę zwrócić uwagę na następujące transakcje:\n" + +#: src/move.c:844 +#, c-format +msgid " Company Merger " +msgstr " Fuzja spółek " + +#. TRANSLATORS: "Old stock" refers to the company that has +#. just ceased existence due to a merger. +#. +#. Note that the "Old stock" and "New stock" labels MUST be +#. the same length and must contain a trailing space for the +#. display routines to work correctly. The maximum length of +#. each label is 36 characters. +#: src/move.c:864 +#, c-format +msgctxt "label" +msgid "Old stock: " +msgstr "Stare akcje: " + +#. TRANSLATORS: "New stock" refers to the company that has +#. absorbed the other due to a merger. +#: src/move.c:875 +#, c-format +msgctxt "label" +msgid "New stock: " +msgstr "Nowe akcje: " + +#. TRANSLATORS: "Bonus" refers to the bonus cash amount paid to +#. each player after two companies merge. %ls is the currency +#. symbol in the current locale. The maximum column width is +#. 12 characters INCLUDING the currency symbol (see +#. MERGE_BONUS_COLS in src/intf.h). +#: src/move.c:889 +#, c-format +msgctxt "subtitle" +msgid "Bonus (%ls)" +msgstr "Premia (%ls)" + +#. TRANSLATORS: "Total" refers to the total number of shares in +#. the new company after a merger. The maximum column width is +#. 8 characters (see MERGE_TOTAL_STOCK_COLS in src/intf.h). +#: src/move.c:894 +#, c-format +msgctxt "subtitle" +msgid "Total" +msgstr "Ogółem" + +#. TRANSLATORS: "New" refers to how many (new) shares each +#. player receives in the surviving company after a merger. +#. The maximum column width is 8 characters (see +#. MERGE_NEW_STOCK_COLS in src/intf.h). +#: src/move.c:901 +#, c-format +msgctxt "subtitle" +msgid "New" +msgstr "Nowe" + +#. TRANSLATORS: "Old" refers to how many shares each player had +#. in the company ceasing existence. The maximum column width +#. is 8 characters (see MERGE_OLD_STOCK_COLS in src/intf.h). +#: src/move.c:907 +#, c-format +msgctxt "subtitle" +msgid "Old" +msgstr "Stare" + +#. TRANSLATORS: %ls represents the company name. +#: src/move.c:1068 +#, c-format +msgid "" +"%ls has been declared bankrupt by the Interstellar Trading Bank.\n" +"\n" +"^{All assets have been taken to repay outstanding loans.^}" +msgstr "" +"Międzygwiezdny Bank Handlu ogłasza, że ​​%ls zbankrutował.\n" +"\n" +"^{Całość majątku bank przeznacza na spłatę zadłużenia spółki.^}" + +#. TRANSLATORS: %ls represents the company name. +#: src/move.c:1092 +#, c-format +msgid "" +"%ls has been declared bankrupt by the Interstellar Trading Bank.\n" +"\n" +"^{The Bank has agreed to pay stock holders ^}%.2f%%^{ of the share value on each share owned.^}" +msgstr "" +"Międzygwiezdny Bank Handlu ogłasza, że ​​%ls zbankrutował.\n" +"\n" +"^{Bank zgodził się zapłacić akcjonariuszom^}\n" +"%.2f%%^{ wartości akcji.^}" + +#. TRANSLATORS: The label "Amount paid per share" +#. refers to payment made by the Interstellar +#. Trading Bank to each player upon company +#. bankruptcy. This label MUST be the same +#. length as "Old share value" and MUST have at +#. least one trailing space for the display +#. routines to work correctly. The maximum +#. length is 28 characters. +#: src/move.c:1120 +#, c-format +msgctxt "label" +msgid "Amount paid per share: " +msgstr "Kwota płacona za akcję: " + +#. TRANSLATORS: "Old share value" refers to the +#. share price of a company before it was forced +#. into bankruptcy by the Bank. This label must be +#. the same width as "Amount paid per share". +#: src/move.c:1128 +#, c-format +msgctxt "label" +msgid "Old share value: " +msgstr "Stara cena akcji: " + +#: src/move.c:1211 src/move.c:1246 src/exch.c:321 +#, c-format +msgid " Interstellar Trading Bank " +msgstr " Międzygwiezdny Bank Handlu " + +#: src/move.c:1213 +#, c-format +msgid "" +"You were forced to borrow %N\n" +"to cover losses from company shares." +msgstr "Aby pokryć stratę na akcjach spółki, trzeba było zaciągnąć pożyczkę w wysokości %N." + +#: src/move.c:1248 +#, c-format +msgid "" +"Your debt has amounted to %N!\n" +"^{The Bank has impounded ^}%N^{ from your cash.^}" +msgstr "" +"Twój dług wynosi %N!\n" +"\n" +"^{Międzygwiezdny Bank Handlu skonfiskował ^}\n" +"%N^{ dolarów z twojej gotówki.^}" + +#: src/exch.c:98 +#, c-format +msgid " Interstellar Stock Exchange " +msgstr " Międzygwiezdna giełda " + +#. TRANSLATORS: "Shares left" is a two-line column +#. label in a table containing the number of shares +#. left to be purchased in any given company. The +#. maximum column width is 10 characters (see +#. STOCK_LEFT_COLS in src/intf.h). +#: src/exch.c:127 +#, c-format +msgctxt "subtitle" +msgid "" +"Shares\n" +"left" +msgstr "" +"Pozostałe\n" +"akcje" + +#. TRANSLATORS: "Shares issued" is a two-line column +#. label in a table containing the number of shares +#. already sold (ie, bought by all players) in any +#. given company. The maximum column width is 10 +#. characters (see STOCK_ISSUED_COLS in src/intf.h). +#: src/exch.c:134 +#, c-format +msgctxt "subtitle" +msgid "" +"Shares\n" +"issued" +msgstr "" +"Wyemitowane\n" +"akcje" + +#. TRANSLATORS: Each label may be up to 37 characters wide +#. (for <1> and <2>) or 38 characters wide (for <3> and <4>). +#: src/exch.c:186 +#, c-format +msgid "^{<2>^} Display galaxy map" +msgstr "^{<2>^} Pokaż mapę galaktyki" + +#: src/exch.c:188 +#, c-format +msgid "^{<3>^} Visit the Trading Bank" +msgstr "^{<3>^} Odwiedź bank handlowy" + +#: src/exch.c:190 +#, c-format +msgid "^{<4>^} Exit the Stock Exchange" +msgstr "^{<4>^} Wyjdź z giełdy" + +#: src/exch.c:193 +#, c-format +msgid "Enter selection [^[Company letter^]/^{1^}-^{4^}]: " +msgstr "Wprowadź wybór [^[Kod firmy^]/^{1^}-^{4^}]: " + +#. TRANSLATORS: The "Total value", "Current cash", "Current +#. debt", "Interest rate" and "Credit limit" labels MUST all be +#. the same length (ie, right-padded with spaces as needed) and +#. must have at least one trailing space so that the display +#. routines work correctly. The maximum length of each label +#. is 36 characters. +#. +#. Note that some of these labels are used for both the Player +#. Status window and the Trading Bank window. +#: src/exch.c:351 +#, c-format +msgctxt "label" +msgid "Credit limit: " +msgstr "Limit kredytowy: " + +#. TRANSLATORS: The "Borrow money", "Repay debt" and "Exit +#. from the Bank" menu options must all be the same length +#. (ie, padded with trailing spaces as required). The maximum +#. length is 72 characters. +#: src/exch.c:366 +#, c-format +msgid "^{<1>^} Borrow money " +msgstr "^{<1>^} Pożyczać pieniądze" + +#: src/exch.c:368 +#, c-format +msgid "^{<2>^} Repay debt " +msgstr "^{<2>^} Spłacić dług " + +#: src/exch.c:370 +#, c-format +msgid "^{<3>^} Exit from the Bank" +msgstr "^{<3>^} Wyjdź z banku " + +#: src/exch.c:373 +#, c-format +msgid "Enter selection [^{1^}-^{3^}]: " +msgstr "Wprowadź wybór [^{1^}-^{3^}]: " + +#: src/exch.c:426 +#, c-format +msgid " Insufficient Credit Limit " +msgstr " Niewystarczający limit kredytowy " + +#: src/exch.c:427 +#, c-format +msgid "The Bank will not lend you any more money." +msgstr "Bank nie jest gotowy, aby zapewnić Ci więcej pieniędzy." + +#: src/exch.c:447 +#, c-format +msgid "How much do you wish to borrow? " +msgstr "Ile chcesz pożyczyć? " + +#: src/exch.c:479 +#, c-format +msgid " No Debt " +msgstr " Żadnego długu " + +#: src/exch.c:480 +#, c-format +msgid "You have no debt to repay." +msgstr "Nie masz długu do spłacenia." + +#: src/exch.c:484 +#, c-format +msgid " No Cash " +msgstr " Brak gotówki " + +#: src/exch.c:485 +#, c-format +msgid "You have no cash with which to repay the debt!" +msgstr "Nie masz środków na spłatę zadłużenia!" + +#: src/exch.c:505 +#, c-format +msgid "How much do you wish to repay? " +msgstr "Ile chcesz spłacić? " + +#. TRANSLATORS: %ls represents the company name. +#: src/exch.c:581 +#, c-format +msgid " Stock Transaction in %ls " +msgstr " Transakcje wymiany w firmie %ls " + +#. TRANSLATORS: "Shares issued" represents the number of +#. shares already sold by the company to all players. +#. +#. Note that the labels "Shares issued", "Shares left", +#. "Price per share" and "Return" must all be the same length +#. and must have at least one trailing space for the output +#. routines to work correctly. The maximum length of each +#. label is 22 characters. +#: src/exch.c:592 +#, c-format +msgctxt "label|Stock A" +msgid "Shares issued: " +msgstr "Wyemitowane akcje: " + +#. TRANSLATORS: "Shares left" is the number of shares that are +#. left to be purchased in the current company. +#: src/exch.c:600 +#, c-format +msgctxt "label|Stock A" +msgid "Shares left: " +msgstr "Pozostałe akcje: " + +#. TRANSLATORS: "Price per share" is the cost of each share in +#. the current company. +#: src/exch.c:607 +#, c-format +msgctxt "label|Stock A" +msgid "Price per share: " +msgstr "Cena akcji: " + +#. TRANSLATORS: "Return" is the share return as a percentage. +#: src/exch.c:613 +#, c-format +msgctxt "label|Stock A" +msgid "Return: " +msgstr "Zwrot: " + +#. TRANSLATORS: "Current holdings" is the number of shares +#. the current player owns in this particular company. +#. +#. Note that the labels "Current holdings", "Percentage owned" +#. and "Current cash" MUST all be the same length and contain at +#. least one trailing space for the display routines to work +#. correctly. The maximum length of each label is 18 +#. characters. +#: src/exch.c:626 +#, c-format +msgctxt "label|Stock B" +msgid "Current holdings: " +msgstr "Własność (akcje): " + +#. TRANSLATORS: "Percentage owned" is the current player's +#. percentage ownership in this particular company. +#: src/exch.c:636 +#, c-format +msgctxt "label|Stock B" +msgid "Percentage owned: " +msgstr "Własność: " + +#: src/exch.c:641 +#, c-format +msgctxt "label|Stock B" +msgid "Current cash: " +msgstr "Aktualna gotówka: " + +#. TRANSLATORS: Each label may be up to 35 characters wide +#. (for <1> and <2>) or 36 characters wide (for <3> and <4>). +#: src/exch.c:654 +#, c-format +msgid "^{<1>^} Buy stock from company" +msgstr "^{<1>^} Kup akcje spółki" + +#: src/exch.c:656 +#, c-format +msgid "^{<2>^} Sell stock back to company" +msgstr "^{<2>^} Sprzedaj akcje spółce" + +#: src/exch.c:658 +#, c-format +msgid "^{<3>^} Bid company to issue more shares" +msgstr "^{<3>^} Zaproponuj spółce emisję akcji" + +#: src/exch.c:660 +#, c-format +msgid "^{<4>^} Exit to the Stock Exchange" +msgstr "^{<4>^} Wejdź na giełdę" + +#: src/exch.c:663 +#, c-format +msgid "Enter selection [^{1^}-^{4^}]: " +msgstr "Wprowadź wybór [^{1^}-^{4^}]: " + +#: src/exch.c:719 +#, c-format +msgid " No Shares Available " +msgstr " Nie ma dostępnych akcji " + +#: src/exch.c:720 +#, c-format +msgid "No more shares are available for purchase." +msgstr "Nie ma już więcej akcji do kupienia." + +#: src/exch.c:724 +#, c-format +msgid " Insufficient Cash " +msgstr " Za mało gotówki " + +#: src/exch.c:725 +#, c-format +msgid "" +"You do not have enough cash\n" +"to purchase additional shares." +msgstr "" +"Nie masz wystarczającej ilości gotówki,\n" +"aby kupić dodatkowe akcje." + +#: src/exch.c:736 +#, c-format +msgid "You can purchase ^{one^} share." +msgid_plural "You can purchase up to ^{%'ld^} shares." +msgstr[0] "Możesz kupić ^{jedną^} akcję." +msgstr[1] "Możesz kupić maksymalnie ^{%'ld^} akcje." +msgstr[2] "Możesz kupić maksymalnie ^{%'ld^} akcji." + +#: src/exch.c:742 +#, c-format +msgid "How many shares do you wish to purchase? " +msgstr "Ile akcji chcesz kupić? " + +#: src/exch.c:763 +#, c-format +msgid " No Shares " +msgstr " Żadnych akcji " + +#: src/exch.c:764 +#, c-format +msgid "You do not have any shares to sell." +msgstr "Nie masz żadnych akcji do sprzedania." + +#: src/exch.c:771 +#, c-format +msgid "You can sell ^{one^} share." +msgid_plural "You can sell up to ^{%'ld^} shares." +msgstr[0] "Możesz sprzedać ^{jedną^} akcję." +msgstr[1] "Możesz sprzedać maksymalnie ^{%'ld^} akcje." +msgstr[2] "Możesz sprzedać maksymalnie ^{%'ld^} akcji." + +#: src/exch.c:777 +#, c-format +msgid "How many shares do you wish to sell? " +msgstr "Ile akcji chcesz sprzedać? " + +#: src/exch.c:805 +#, c-format +msgid " No Shares Issued " +msgstr " Brak emisji akcji " + +#. TRANSLATORS: %ls represents the company name. +#: src/exch.c:807 +#, c-format +msgid "" +"%ls has refused\n" +"to issue more shares." +msgstr "Firma %ls odmówiła emisji większej liczby akcji." + +#: src/exch.c:812 +#, c-format +msgid " Shares Issued " +msgstr " Wyemitowane akcje " + +#. TRANSLATORS: %ls represents the company name. +#: src/exch.c:814 +#, c-format +msgid "" +"%ls has issued\n" +"^{one^} more share." +msgid_plural "" +"%ls has issued\n" +"^{%'ld^} more shares." +msgstr[0] "" +"Firma %ls wyemitowała\n" +"jeszcze ^{jedną^} akcję." +msgstr[1] "" +"Firma %ls wyemitowała\n" +"jeszcze ^{%'ld^} akcje." +msgstr[2] "" +"Firma %ls wyemitowała\n" +"jeszcze ^{%'ld^} akcji." + +#: src/fileio.c:43 src/fileio.c:83 src/fileio.c:126 src/fileio.c:387 +#, c-format +msgid "%s: missing field on line %d" +msgstr "%s: brak pola w linii %d" + +#: src/fileio.c:47 src/fileio.c:87 src/fileio.c:130 src/fileio.c:390 src/fileio.c:393 +#, c-format +msgid "%s: illegal field on line %d" +msgstr "%s: nielegalne pole w linii %d" + +#: src/fileio.c:51 +#, c-format +msgid "%s: illegal field on line %d: '%s'" +msgstr "%s: nielegalne pole w linii %d: „%s”" + +#: src/fileio.c:55 +#, c-format +msgid "%s: illegal value on line %d: '%s'" +msgstr "%s: nielegalna wartość w linii %d: „%s”" + +#: src/fileio.c:91 src/fileio.c:134 src/fileio.c:402 +#, c-format +msgid "%s: illegal value on line %d" +msgstr "%s: nielegalna wartość w linii %d" + +#: src/fileio.c:98 +#, c-format +msgid "%s: illegal characters on line %d" +msgstr "%s: niedozwolone znaki w linii %d" + +#: src/fileio.c:183 +#, c-format +msgid "%s: could not convert string" +msgstr "%s: nie można przekonwertować ciągu" + +#: src/fileio.c:257 +#, c-format +msgid " Game Not Found " +msgstr " Gra nie znaleziona " + +#: src/fileio.c:258 +#, c-format +msgid "Game %d has not been saved to disk." +msgstr "Gra nr %d nie została zapisana." + +#: src/fileio.c:265 +#, c-format +msgid " Game Not Loaded " +msgstr " Gra nie załadowana " + +#: src/fileio.c:266 +#, c-format +msgid "" +"Game %d could not be loaded from disk.\n" +"\n" +"^{File %s: %s^}" +msgstr "" +"Nie udało się wczytać zapisanej gry nr %d.\n" +"\n" +"^{Plik %s: %s^}" + +#: src/fileio.c:319 +#, c-format +msgid "%s: missing header in game file" +msgstr "%s: brak nagłówka w pliku gry" + +#: src/fileio.c:322 +#, c-format +msgid "%s: not a valid game file" +msgstr "%s: nie jest prawidłowym plikiem gry" + +#: src/fileio.c:325 src/fileio.c:332 +#, c-format +msgid "%s: missing subheader in game file" +msgstr "%s: brak dodatkowego nagłówka w pliku gry" + +#: src/fileio.c:328 +#, c-format +msgid "%s: saved under a different version of Star Traders" +msgstr "%s: zapisane w innej wersji „Gwiezdni Traderzy”" + +#: src/fileio.c:335 +#, c-format +msgid "%s: saved under an incompatible character encoding" +msgstr "%s: zapisane w niezgodnym kodowaniu znaków" + +#: src/fileio.c:343 +#, c-format +msgid "%s: illegal or missing field on line %d" +msgstr "%s: Nieprawidłowe lub brakujące pole w linii %d" + +#: src/fileio.c:475 src/fileio.c:496 +#, c-format +msgid " Game Not Saved " +msgstr " Nie zapisano gry " + +#: src/fileio.c:476 +#, c-format +msgid "" +"Game %d could not be saved to disk.\n" +"\n" +"^{Directory %s: %s^}" +msgstr "" +"Nie udało się zapisać gry nr %d\n" +"\n" +"^{Katalog %s: %s^}" + +#: src/fileio.c:497 +#, c-format +msgid "" +"Game %d could not be saved to disk.\n" +"\n" +"^{File %s: %s^}" +msgstr "" +"Nie udało się zapisać gry nr %d\n" +"\n" +"^{Plik %s: %s^}" + +#. TRANSLATORS: The help text for Star Traders is marked up using a +#. custom mark-up format NOT used anywhere else in the source code. +#. +#. Each string is a single page of text that is displayed in an area 76 +#. columns wide by 16 lines high. Each line is delimited by "\n". NO +#. word-wrapping is performed: you must place the "\n" characters in the +#. appropriate place. Ideally, each line within the string should be +#. also (manually) space-justified or centred. TAB characters and other +#. control codes must NOT be used. If a string starts with "@" as the +#. very first character, that string is ignored (as are all strings +#. following): this allows a variable number of help text pages (from +#. one to ten). Multibyte strings are handled correctly (even those +#. requiring shift sequences!). +#. +#. The ASCII circumflex accent character "^" switches to a different +#. character rendition (also called attributes), depending on the +#. character following the "^": +#. +#. ^^ - Print the circumflex accent (ASCII code U+005E) +#. ^N - Switch to using the normal character rendition +#. ^B - Switch to using the bold character rendition +#. ^H - Switch to using the highlight character rendition +#. ^K - Switch to using the keycode character rendition (such as used for "") +#. ^e - Switch to using the character rendition used for empty space +#. ^o - Switch to using the character rendition used for outposts +#. ^s - Switch to using the character rendition used for stars +#. ^c - Switch to using the character rendition used for companies +#. ^k - Switch to using the character rendition used for keyboard choices on the galaxy map +#. +#. The help text parsing routines also understand the following "value +#. escapes" introduced by the ASCII tilde character "~"; these act like +#. "%" conversion specifiers in printf(): +#. +#. ~~ - Print the tilde character (ASCII code U+007E) [*] +#. ~x - Print the width of the galaxy map (MAX_X) [**] +#. ~y - Print the height of the galaxy map (MAX_Y) [**] +#. ~m - Print the number of moves available (NUMBER_MOVES) [**] +#. ~c - Print the maximum number of companies that can be formed (MAX_COMPANIES) [*] +#. ~t - Print the default number of turns in the game (DEFAULT_MAX_TURN) [**] +#. ~1 to ~9 - Print the keycode for the N-th choice of move [***] +#. ~M - Print the keycode for the last choice of move [***] +#. ~A to ~H - Print the character used to represent the company on the galaxy map [***] +#. ~. - Print the character used to represent empty space on the map [***] +#. ~+ - Print the character used to represent outposts on the map [***] +#. ~* - Print the character used to represent stars on the map [***] +#. +#. [*] Takes one character space (column space) in the output +#. [**] Takes two column spaces in the output +#. [***] Takes one or two column spaces in the output, depending on the +#. appropriate strings in the current PO file. +#. +#. Note that all keycodes and map representation characters use locale- +#. specific characters; double-width characters ARE supported. Note +#. also that the tilde value escapes do NOT change the current character +#. rendition: a circumflex accent escape is needed for that. For +#. example, to display the first choice of move as it would be shown on +#. the galaxy map, use something like "^k~1^N" (a six-character sequence +#. that would translate to just one character (or maybe two) in the +#. output text). +#. +#. Formatting the help text is probably the most complicated and tedious +#. part of translating Star Traders. The author and maintainer of this +#. game is more than happy to help you with this task: if you are able +#. to provide a translation, even if it is not formatted correctly, the +#. maintainer will perform the necessary adjustments for word-wrapping +#. and justification. In addition, remember that you have up to 10 +#. pages in which to display your help text: the translation does not +#. need to correspond exactly to the original text. This text will not +#. be changing any time soon! +#. +#: src/help.c:113 +msgid "" +"^BStar Traders^N is a simple game of interstellar trading. The object of the\n" +"game is to amass the greatest amount of wealth possible. This is done by\n" +"creating interstellar shipping lanes, expanding them and buying shares in\n" +"the companies controlling them. Shares appreciate in value as company\n" +"operations expand. In addition, the return on each share (as a percentage)\n" +"also changes. Players may also borrow from the Interstellar Trading Bank to\n" +"finance additional purchases on the Stock Exchange.\n" +"\n" +"The map of the galaxy is represented by a ^B~x^N x ^B~y^N grid. A typical section\n" +"of it may be:\n" +"\n" +" ^e ~. ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ~. ~. ~. ~. ~. ^N ^e ~. ^N represents ^Bempty space^N,\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ~. ~. ~. ^N ^s ~* ^N represents a ^Bstar^N.\n" +" ^e ~. ~. ~. ~. ~. ~. ~. ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" +msgstr "" +"^B„Gwiezdni Traderzy”^N to prosta gra o handlu międzygwiezdnym. Celem gry jest\n" +"zostać najbogatszym zwycięskim graczem. Odbywa się to poprzez tworzenie\n" +"międzygwiezdnych szlaków dostaw towarów, rozbudowę tych szlaków, a także\n" +"kupno i sprzedaż udziałów odpowiednich spółek akcyjnych. Ponadto zwrot na\n" +"akcję (w procentach) jest różny. Gracze mogą także pożyczyć pieniądze z\n" +"Międzygwiezdny Bank Handlu, aby sfinansować dodatkowe zakupy na giełdzie.\n" +"\n" +"Mapa galaktyki jest reprezentowana przez siatkę o wymiarach ^B~x^N na ^B~y^N. Typo-\n" +"wą częścią mapy może być:\n" +"\n" +" ^e ~. ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ~. ~. ~. ~. ~. ^N ^e ~. ^N oznacza ^Bpustą przestrzeń^N,\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ~. ~. ~. ^N ^s ~* ^N oznacza ^Bgwiazdę^N.\n" +" ^e ~. ~. ~. ~. ~. ~. ~. ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" + +#: src/help.c:132 +msgid "" +"The computer selects ^B~m^N moves (labeled ^k~1^N to ^k~M^N) at random, and places these\n" +"on the map. To select any of the highlighted positions, press that letter.\n" +"For example, some of the moves on the map may be:\n" +"\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^k~3^e ~. ~. ~. ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^k~5^e ~. ~. ^N Moves ^k~1^N to ^k~5^N shown.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" +"\n" +"\n" +"Selecting a position that is ^Bnot^N next to a star (such as moves ^k~1^N, ^k~3^N or ^k~5^N)\n" +"will set up an ^Boutpost^N, not belonging to any company. Thus, if move ^k~3^N is\n" +"selected on the above map, a ^o ~+ ^N would be placed at that position.\n" +msgstr "" +"Komputer wybiera losowo ^B~m^N pozycji na mapie (oznaczonych od ^k~1^N do ^k~M^N). Aby\n" +"wybrać którąkolwiek z wyróżnionych pozycji, kliknij odpowiednią literę. Na\n" +"przykład niektóre z tych stanowisk mogą być:\n" +"\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^k~3^e ~. ~. ~. ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^k~5^e ~. ~. ^N Pokazane pozycje to ^k~1^N do ^k~5^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" +"\n" +"\n" +"Wybranie pozycji ^Bnie sąsiadującej^N z gwiazdą (np. ^k~1^N, ^k~3^N czy ^k~5^N) spowoduje utwo-\n" +"rzenie placówki nienależącej do żadnej firmy. Zatem wybranie pozycji X na\n" +"powyższej mapie spowoduje utworzenie placówki oznaczonej symbolem ^o ~+ ^N.\n" + +#: src/help.c:150 +msgid "" +"If, on the other hand, a position next to a star (or another outpost) is\n" +"selected, a ^Bcompany^N would be formed and its letter would appear on the map.\n" +"As a reward for creating the company, you are granted the first five shares.\n" +"Up to ^B~c^N companies can be created in this way.\n" +"\n" +"If a position next to an existing company is selected, the company would\n" +"expand its operations by one square. This increases the cost of its shares\n" +"and hence your return. Thus, if the map was as shown below, selecting ^k~6^N\n" +"or ^k~8^N increases Company ^B~B^N's shipping lane:\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^o~+^e ~. ~. ^k~6^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^c~B^e ^c~B^e ^c~B^e ^N Move ^k~6^N or ^k~8^N increases Company ^B~B^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" +msgstr "" +"Wybierając pozycję w pobliżu gwiazdy (lub w pobliżu placówki), zostanie ut-\n" +"worzone ^Bnowe przedsiębiorstwo handlowe^N, a kod tej nowej firmy pojawi się na\n" +"mapie galaktyki. W nagrodę za założenie firmy otrzymasz pierwsze pięć ud-\n" +"ziałów. Można w ten sposób utworzyć do ^B~c^N firm.\n" +"\n" +"Wybierając stanowisko obok istniejącej firmy, firma ta poszerzy swoją dzia-\n" +"łalność o jedno pole. Zwiększa to wartość jej akcji, a co za tym idzie,\n" +"Twoje dochody. Zatem wybranie pozycji ^k~6^N lub ^k~8^N na poniższej mapie rozszerza\n" +"trasy firmy ^B~B^N:\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^o~+^e ~. ~. ^k~6^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^c~B^e ^c~B^e ^c~B^e ^N Wybór ^k~6^N lub ^k~8^N rozszerza firmę ^B~B^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" + +#: src/help.c:168 +msgid "" +"Selecting positions next to stars increases the value of your stock by about\n" +"five times as much as an extension not next to a star. Thus move ^k~6^N should\n" +"be preferred to move ^k~8^N.\n" +"\n" +" ^e ^c~C^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ^k~1^e ^o~+^e ~. ^o~+^e ~. ~. ^k~6^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^c~B^e ^c~B^e ^c~B^e ^N Move ^k~6^N is preferred to ^k~8^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" +"\n" +"You may also expand any company by selecting positions next to outposts.\n" +"Such outposts will be swallowed up by that company. Thus, move ^k~1^N will\n" +"extend Company ^B~C^N by ^Btwo^N squares. As a bonus, outposts next to stars are\n" +"more valuable: the company's share price will increase by a greater amount\n" +"than it would for outposts not next to stars.\n" +msgstr "" +"Wybór pozycji obok gwiazdy zwiększa wartość Twoich udziałów około pięcio-\n" +"krotnie w porównaniu do rozszerzenia firmy na kwadrat nie obok gwiazdy.\n" +"Zatem pozycja ^k~6^N jest lepsza niż pozycja ^k~8^N.\n" +"\n" +" ^e ^c~E^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ^k~1^e ^o~+^e ~. ^o~+^e ~. ~. ^k~6^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^c~B^e ^c~B^e ^c~B^e ^N Wybór ^k~6^N jest lepszy niż wybór ^k~8^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" +"\n" +"Możesz także rozbudować dowolną kompanię wybierając pozycję w pobliżu pla-\n" +"cówki. Takie placówki zostaną wchłonięte przez tę kompanię. Zatem pozycja\n" +"^k~1^N wydłuży trasy firmy ^B~E^N o ^Bdwa^N kwadraty. Co więcej, przejęcie placówek bli-\n" +"sko gwiazd ma wielką wartość: cena akcji spółki wzrośnie znacznie bardziej\n" +"niż przejęcie placówek oddalonych od gwiazd.\n" + +#: src/help.c:186 +msgid "" +"If two companies are separated on the map by only one square, then they can\n" +"be ^Bmerged^N into one company by selecting that position (if available). For\n" +"example, on the map below, companies ^B~A^N and ^B~B^N can be merged by selecting ^k~5^N.\n" +"When this occurs, the company with the greater assets value takes over the\n" +"other one. Here, Company ^B~B^N might take over Company ^B~A^N. Company ^B~A^N ceases to\n" +"exist, although it may reappear as an entirely new company at a later stage.\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^c~A^e ^c~A^e ^k~5^e ^c~B^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ^c~A^e ~. ^c~B^e ^c~B^e ^c~B^e ^N Move ^k~5^N merges companies ^B~A^N and ^B~B^N.\n" +" ^e ~. ^k~2^e ~. ~. ~. ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ^o~+^e ~. ~. ^N\n" +"\n" +"When companies merge, players are granted shares in the dominant company\n" +"proportional to the amount owned in the old company. As well, a cash bonus\n" +"is also paid, proportional to the percentage of the old company owned.\n" +msgstr "" +"Jeżeli dwie firmy dzieli na mapie tylko jedna komórka, to wybranie tej pozy-\n" +"cji (o ile to możliwe) ^Bpowoduje połączenie^N tych firm w jedną firmę. Przy-\n" +"kładowo wybranie pozycji ^k~5^N na poniższej mapie spowoduje połączenie firm ^B~A^N i\n" +"^B~B^N. W tym przypadku firma o większej łącznej wartości wchłonie drugą. Tutaj\n" +"np. firma ^B~B^N może zostać wchłonięta przez firmę ^B~A^N. Firma ^B~A^N przestaje ist-\n" +"nieć, choć w dalszej części gry może pojawić się później jako zupełnie nowa\n" +"spółka akcyjna.\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^c~A^e ^c~A^e ^k~5^e ^c~B^e ~. ~. ^N Wybór ^k~5^N łączy spółki ^B~A^N i ^B~B^N.\n" +" ^e ~. ^s~*^e ~. ~. ^c~A^e ~. ^c~B^e ^c~B^e ^c~B^e ^N\n" +"\n" +"W przypadku fuzji spółek gracze otrzymują akcje spółki dominującej (propor-\n" +"cjonalnie do liczby udziałów, jakie gracz posiadał w spółce przejmowanej).\n" +"Dodatkowo wypłacana jest premia proporcjonalnie do wielkości własności sta-\n" +"rej spółki.\n" + +#: src/help.c:205 +msgid "" +"Once you select your move, you enter the ^BInterstellar Stock Exchange^N. Here\n" +"you may purchase shares, sell them, borrow from the Trading Bank or repay\n" +"some of your debt (if applicable). Note that each company issues a limited\n" +"number of shares -- you cannot go on buying for ever! You may, however, bid\n" +"for more shares to be issued. You have a better chance of succeeding if you\n" +"own a larger proportion of the company.\n" +"\n" +"The game usually ends after ^B~t^N turns. However, you may end the game sooner\n" +"by pressing ^K^N when asked to select a move. As well, individual\n" +"players can declare themselves bankrupt at any time. If your debt is large\n" +"enough, the Bank may do this for you! If you do not complete your game in\n" +"the time you have available, you may save the game and continue it later.\n" +"\n" +"\n" +"The ^Bwinner of the game^N is the person with the greatest net worth (total\n" +"value of cash, stock and debt). ^HGood luck^N and may the best person win!\n" +msgstr "" +"Po wybraniu stanowiska trafiasz na ^BGiełdzie Międzygwiezdnej^N. Tutaj możesz\n" +"kupić akcje, sprzedać je, pożyczyć pieniądze z banku handlowego lub spłacić\n" +"część swojego zadłużenia (jeśli dotyczy). Pamiętaj, że każda spółka emituje\n" +"ograniczoną liczbę akcji — nie możesz kupować w nieskończoność! Istnieje\n" +"jednak możliwość zaproponowania spółce emisji większej liczby akcji. Im\n" +"większa jest Twoja własność w firmie, tym większe są Twoje szanse na zdoby-\n" +"cie większej liczby udziałów.\n" +"\n" +"\n" +"Gra kończy się zwykle po ^B~t^N ruchach. Możesz jednak zakończyć grę wcześniej,\n" +"naciskając ^K^N zamiast wybierać pozycję. Ponadto indywidualni gracze\n" +"mogą w każdej chwili ogłosić upadłość. Jeśli Twoje zadłużenie jest wystar-\n" +"czająco duże, bank może zrobić to za Ciebie! Jeśli nie masz wystarczająco\n" +"dużo czasu, aby ukończyć grę, możesz ją zapisać i kontynuować później.\n" + +#: src/help.c:225 +msgid "@ Help text, page 7\n" +msgstr "" +"^BZwycięzcą gry^N zostaje gracz z największą wartością netto, czyli różnicą po-\n" +"między majątkiem (gotówka + akcje) a długiem. ^HPowodzenia^N — niech wygra naj-\n" +"lepszy gracz!\n" + +#: src/help.c:226 +msgid "@ Help text, page 8\n" +msgstr "@\n" + +#: src/help.c:227 +msgid "@ Help text, page 9\n" +msgstr "@\n" + +#: src/help.c:228 +msgid "@ Help text, page 10\n" +msgstr "@\n" + +#: src/help.c:280 +#, c-format +msgid " How to Play " +msgstr " Jak grać w „Gwiezdni Traderzy” " + +#. TRANSLATORS: The parameter %1$d is the current page +#. number, %2$d is the number of pages your help text +#. takes (6, in English). +#: src/help.c:285 +#, c-format +msgid "Page %1$d of %2$d" +msgstr "Strona nr %1$d z %2$d" + +#. TRANSLATORS: The reason the user is not asked "Press any +#. key to continue" is historical: many, many people used to +#. ask "where is the key?" :-) +#: src/help.c:486 src/intf.c:3026 +#, c-format +msgid "[ Press to continue ] " +msgstr "[ Naciśnij klawisz , aby kontynuować ] " + +#. TRANSLATORS: The specific use of and +#. is not essential: you can use , , , +#. or instead of , and almost +#. any other key instead of (other than , +#. , , , or <\>). +#. Note that the maximum label length is 76 characters, +#. including the trailing space. +#: src/help.c:494 +#, c-format +msgid "[ Press to continue or for the previous page ] " +msgstr "[ Naciśnij , aby kontynuować; <←> — powrót do poprzedniej strony ] " + +#: src/intf.c:110 +#, c-format +msgid "%s: string has incorrect format: '%s'" +msgstr "%s: ciąg ma nieprawidłowy format: „%s”" + +#: src/intf.c:126 +#, c-format +msgid "%s: character has illegal width: '%lc'" +msgstr "%s: znak ma nieprawidłową szerokość: „%lc”" + +#: src/intf.c:435 +#, c-format +msgid "terminal size is too small (%d x %d required)" +msgstr "rozmiar terminala jest zbyt mały (wymagane %d x %d)" + +#: src/intf.c:1267 +#, c-format +msgid "mkchstr_conv: NUL" +msgstr "mkchstr_conv: NUL" + +#: src/intf.c:1559 +#, c-format +msgid "mkchstr: '%s'" +msgstr "mkchstr: „%s”" + +#. TRANSLATORS: This string specifies the keycodes used to insert the +#. default value into the input string, if entered as the very first +#. character. Ideally, it should contain an easily-accessible +#. keycode that would NOT be used in ordinary input. Digits, ".", +#. ",", "+" and "-" are definitely NOT acceptable. +#: src/intf.c:2011 +msgctxt "input|DefaultValue" +msgid "=;" +msgstr "=;\\/" + +#: src/intf.c:2025 src/intf.c:2070 +#, c-format +msgid "gettxline: illegal character in string: '%ls'" +msgstr "gettxline: niedozwolony znak w ciągu: „%ls”" + +#. TRANSLATORS: The strings with msgctxt "input|Yes" and +#. "input|No" contain the keycodes used to determine whether a +#. user is answering "Yes" or "No" in response to some question. +#. Both upper and lower-case versions should be present. +#: src/intf.c:2943 +msgctxt "input|Yes" +msgid "Yy" +msgstr "Tt" + +#: src/intf.c:2945 +msgctxt "input|No" +msgid "Nn" +msgstr "Nn" + +#. TRANSLATORS: The strings "Yes" and "No" are printed as a +#. response to user input in answer to questions like "Are you +#. sure? [Y/N] " +#: src/intf.c:2996 +msgctxt "answer" +msgid "Yes" +msgstr "Tak" + +#: src/intf.c:2998 +msgctxt "answer" +msgid "No" +msgstr "Nie" + +#: src/utils.c:596 src/utils.c:617 +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/utils.c:622 +msgid ": " +msgstr ": " + +#: src/utils.c:635 +#, c-format +msgid "out of memory" +msgstr "brak pamięci" + +#: src/utils.c:1375 +#, c-format +msgid "xmbstowcs: '%s'" +msgstr "xmbstowcs: „%s”" + +#: src/utils.c:1415 +#, c-format +msgid "xwcrtomb: NUL" +msgstr "xwcrtomb: NUL" + +#: src/utils.c:1420 +#, c-format +msgid "xwcrtomb: '%lc'" +msgstr "xwcrtomb: „%lc”" + +#: lib/getopt.c:282 lib/obsolete-strings.c:63 +#, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: opcja „%s%s” jest niejednoznaczna\n" + +#: lib/getopt.c:288 lib/obsolete-strings.c:65 +#, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: opcja „%s%s” jest niejednoznaczna; możliwości:" + +#: lib/getopt.c:322 lib/obsolete-strings.c:67 +#, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: nierozpoznana opcja „%s%s”\n" + +#: lib/getopt.c:348 lib/obsolete-strings.c:69 +#, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: opcja „%s%s” nie dopuszcza argumentu\n" + +#: lib/getopt.c:363 lib/obsolete-strings.c:71 +#, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: opcja „%s%s” wymaga argumentu\n" + +#: lib/getopt.c:624 lib/obsolete-strings.c:73 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: nieprawidłowa opcja „%c”\n" + +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: opcja „%c” wymaga argumentu\n" + +#. TRANSLATORS: Older versions of the GNU Gettext library utilities +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source +#. code directory. +#: lib/obsolete-strings.c:48 +msgid "trader" +msgstr "trader" + +#. TRANSLATORS: These strings are used in older versions of various +#. libraries, such as the GNU C Library as released with various +#. Linux distributions. +#: lib/obsolete-strings.c:62 +#, c-format +msgid "%s: option `%s%s' is ambiguous\n" +msgstr "%s: opcja „%s%s” jest niejednoznaczna\n" + +#: lib/obsolete-strings.c:64 +#, c-format +msgid "%s: option `%s%s' is ambiguous; possibilities:" +msgstr "%s: opcja „%s%s” jest niejednoznaczna; możliwości:" + +#: lib/obsolete-strings.c:66 +#, c-format +msgid "%s: unrecognized option `%s%s'\n" +msgstr "%s: nierozpoznana opcja „%s%s”\n" + +#: lib/obsolete-strings.c:68 +#, c-format +msgid "%s: option `%s%s' doesn't allow an argument\n" +msgstr "%s: opcja „%s%s” nie dopuszcza argumentu\n" + +#: lib/obsolete-strings.c:70 +#, c-format +msgid "%s: option `%s%s' requires an argument\n" +msgstr "%s: opcja „%s%s” wymaga argumentu\n" + +#: lib/obsolete-strings.c:72 +#, c-format +msgid "%s: invalid option -- `%c'\n" +msgstr "%s: nieprawidłowa opcja „%c”\n" + +#: lib/obsolete-strings.c:74 +#, c-format +msgid "%s: option requires an argument -- `%c'\n" +msgstr "%s: opcja „%c” wymaga argumentu\n" + +#: lib/obsolete-strings.c:77 +#, c-format +msgid "%s: option `%s' is ambiguous; possibilities:" +msgstr "%s: opcja „%s” jest niejednoznaczna; możliwości:" + +#: lib/obsolete-strings.c:78 +#, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" +msgstr "%s: opcja „%s” jest niejednoznaczna; możliwości:" + +#: lib/obsolete-strings.c:79 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: opcja „%s” jest niejednoznaczna\n" + +#: lib/obsolete-strings.c:80 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: opcja „%s” jest niejednoznaczna\n" + +#: lib/obsolete-strings.c:81 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: opcja „--%s” nie dopuszcza argumentu\n" + +#: lib/obsolete-strings.c:82 +#, c-format +msgid "%s: option '--%s' doesn't allow an argument\n" +msgstr "%s: opcja „--%s” nie dopuszcza argumentu\n" + +#: lib/obsolete-strings.c:83 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: opcja „%c%s” nie dopuszcza argumentu\n" + +#: lib/obsolete-strings.c:84 +#, c-format +msgid "%s: option '%c%s' doesn't allow an argument\n" +msgstr "%s: opcja „%c%s” nie dopuszcza argumentu\n" + +#: lib/obsolete-strings.c:85 +#, c-format +msgid "%s: option `--%s' requires an argument\n" +msgstr "%s: opcja „--%s” wymaga argumentu\n" + +#: lib/obsolete-strings.c:86 +#, c-format +msgid "%s: option '--%s' requires an argument\n" +msgstr "%s: opcja „--%s” wymaga argumentu\n" + +#: lib/obsolete-strings.c:87 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: nierozpoznana opcja „--%s”\n" + +#: lib/obsolete-strings.c:88 +#, c-format +msgid "%s: unrecognized option '--%s'\n" +msgstr "%s: nierozpoznana opcja „--%s”\n" + +#: lib/obsolete-strings.c:89 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: nierozpoznana opcja „%c%s”\n" + +#: lib/obsolete-strings.c:90 +#, c-format +msgid "%s: unrecognized option '%c%s'\n" +msgstr "%s: nierozpoznana opcja „%c%s”\n" + +#: lib/obsolete-strings.c:91 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: opcja „-W %s” jest niejednoznaczna\n" + +#: lib/obsolete-strings.c:92 +#, c-format +msgid "%s: option '-W %s' is ambiguous\n" +msgstr "%s: opcja „-W %s” jest niejednoznaczna\n" + +#: lib/obsolete-strings.c:93 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: opcja „-W %s” nie dopuszcza argumentu\n" + +#: lib/obsolete-strings.c:94 +#, c-format +msgid "%s: option '-W %s' doesn't allow an argument\n" +msgstr "%s: opcja „-W %s” nie dopuszcza argumentu\n" + +#: lib/obsolete-strings.c:95 +#, c-format +msgid "%s: option `-W %s' requires an argument\n" +msgstr "%s: opcja „-W %s” wymaga argumentu\n" + +#: lib/obsolete-strings.c:96 +#, c-format +msgid "%s: option '-W %s' requires an argument\n" +msgstr "%s: opcja „-W %s” wymaga argumentu\n" diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo index 02cff07..74dcb51 100644 Binary files a/po/pt_BR.gmo and b/po/pt_BR.gmo differ diff --git a/po/pt_BR.po b/po/pt_BR.po index 3fed6cc..b7dddc9 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -2,7 +2,7 @@ # * * # * Brazilian Portuguese Translations for Star Traders * # * Traduções em português brasileiro para o pacote trader * -# * Copyright (C) 2019-22, John Zaitseff * +# * Copyright (C) 2019-24, John Zaitseff * # * * # ************************************************************************* # @@ -13,10 +13,10 @@ # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: Rafael Fontenelle \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -30,22 +30,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Comerciantes Estelares" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Jogue Comerciantes Estelares, um jogo simples de comércio interestelar" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "jogo;interestelar;comércio;estratégia;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -53,10 +53,14 @@ msgstr "" "Comerciantes Estelares é um jogo simples de comércio interestelar, onde o objetivo é criar empresas, comprar e vender ações, " "pedir emprestado e devolver dinheiro, para se tornar o jogador mais rico (o vencedor)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Captura de tela do Comerciantes Estelares" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1698,47 +1702,47 @@ msgstr "xwcrtomb: NULO" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: “%lc”" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: a opção “%s%s” é ambígua\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: a opção “%s%s” é ambígua; possibilidades:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: opção desconhecida “%s%s”\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: a opção “%s%s” não permite um argumento\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: a opção “%s%s” exige um argumento\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: opção inválida -- “%c”\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: a opção exige um argumento -- “%c”\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/ro.gmo b/po/ro.gmo new file mode 100644 index 0000000..3349765 Binary files /dev/null and b/po/ro.gmo differ diff --git a/po/ro.po b/po/ro.po new file mode 100644 index 0000000..6fabf4c --- /dev/null +++ b/po/ro.po @@ -0,0 +1,1905 @@ +# ************************************************************************* +# * * +# * Romanian Translations for Star Traders * +# * Mesajele în limba română pentru pachetul „trader” * +# * Copyright (C) 2023-24, John Zaitseff * +# * * +# ************************************************************************* +# +# This file is distributed under the same license as the trader package. +# +# Contributors: +# Remus-Gabriel Chelu , 2023. +# +# Cronologia traducerii fișierului „trader”: +# * Traducerea inițială, făcută de R-GC, pentru versiunea trader 7.16, +# oct-2023. +# * Actualizare a traducerii pentru versiunea Y, făcută de X, Z(luna-anul). +# +msgid "" +msgstr "" +"Project-Id-Version: trader 7.19\n" +"Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" +"Last-Translator: Remus-Gabriel Chelu \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Bugs: Report translation errors to the Language-Team address.\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n==0 || (n!=1 && n%100>=1 && n%100<=19) ? 1 : 2);\n" + +#. TRANSLATORS: The name of the game. You may choose to translate it into +#. your own language (recommended) or keep it the same as the English +#. version. Feel free to look through other translations to see how +#. others have done this. +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 +#, c-format +msgid "Star Traders" +msgstr "Star Traders" + +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 +msgid "Play Star Traders, a simple game of interstellar trading" +msgstr "Joacă Star Traders, un joc simplu de comerț interstelar" + +#. TRANSLATORS: A list of keywords describing Star Traders. By all means +#. add your own keywords! +#: data/au.org.zap.trader.desktop.in:27 +msgid "game;interstellar;trading;strategy;" +msgstr "joc;interstelar;tranzacționare;strategie;" + +#: data/au.org.zap.trader.metainfo.xml.in:29 +msgid "" +"Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " +"and repay money, in order to become the wealthiest player (the winner)." +msgstr "" +"„Star Traders” este un joc simplu de comerț interstelar, în care obiectivul este să creezi companii, să cumperi și să vinzi " +"acțiuni, să împrumuți și să rambursezi bani, pentru a deveni cel mai bogat jucător (câștigătorul)." + +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 +msgid "John Zaitseff" +msgstr "John Zaitseff" + +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Captură de ecran de la Star Traders" + +#: src/trader.c:238 +#, c-format +msgid "%s: invalid value for --max-turn: '%s'\n" +msgstr "%s: valoare nevalidă pentru „--max-turn”: „%s”\n" + +#: src/trader.c:254 +#, c-format +msgid "%s: invalid operand '%s'\n" +msgstr "%s: operand nevalid „%s”\n" + +#: src/trader.c:263 +#, c-format +msgid "%s: invalid game number '%s'\n" +msgstr "%s: numărul jocului „%s” nu este valid\n" + +#: src/trader.c:272 +#, c-format +msgid "%s: extra operand '%s'\n" +msgstr "%s: operand extra „%s”\n" + +#. TRANSLATORS: "John Zaitseff" [IPA d͡ʒɒn ˈzaɪ̯t͡səf] is the proper +#. name of the author. The IPA pronunciation in this comment is in +#. UTF-8 encoding. +#: src/trader.c:287 +#, c-format +msgid "" +"Star Traders (%s) %s\n" +"Copyright (C) %s, John Zaitseff.\n" +"\n" +"Star Traders is a simple game of interstellar trading, where the object\n" +"of the game is to create companies, buy and sell shares, borrow and repay\n" +"money, in order to become the wealthiest player (the winner).\n" +"\n" +"This program is free software that is distributed under the terms of the\n" +"GNU General Public License, version 3 or later. You are welcome to\n" +"modify and/or distribute it under certain conditions. This program has\n" +"NO WARRANTY, to the extent permitted by law; see the License for details.\n" +msgstr "" +"Star Traders (%s) %s\n" +"Drepturi de autor © %s, John Zaitseff.\n" +"\n" +"„Star Traders” este un joc simplu de comerț interstelar, în care obiectivul\n" +"este să creezi companii, să cumperi și să vinzi acțiuni, să împrumuți și să\n" +"rambursezi bani, pentru a deveni cel mai bogat jucător (câștigătorul).\n" +"\n" +"Acest program este software liber distribuit în conformitate cu termenii\n" +"Licenței Publice Generale GNU, versiunea 3 sau o versiune ulterioară.\n" +"Sunteți binevenit să îl modificați și/sau să îl distribuiți în anumite\n" +"condiții. Acest program NU are NICI O GARANȚIE, în măsura permisă de lege;\n" +"consultați licența din fișierul License pentru detalii.\n" + +#: src/trader.c:311 +#, c-format +msgid "%s: Try '%s --help' for more information.\n" +msgstr "%s: Încercați „%s --help” pentru mai multe informații.\n" + +#: src/trader.c:314 +#, c-format +msgid "Usage: %s [OPTION ...] [GAME]\n" +msgstr "Utilizare: %s [OPȚIUNE ...] [JOC]\n" + +#: src/trader.c:315 +#, c-format +msgid "" +"Play Star Traders, a simple game of interstellar trading.\n" +"\n" +msgstr "" +"Joacă Star Traders, un joc simplu de comerț interstelar.\n" +"\n" + +#: src/trader.c:318 +#, c-format +msgid "" +"Options:\n" +" -V, --version output version information and exit\n" +" -h, --help display this help and exit\n" +" --no-color don't use color for displaying text\n" +" --max-turn=NUM set the number of turns to NUM\n" +"\n" +msgstr "" +"Opțiuni:\n" +" -V, --version afișează informații despre versiune și iese\n" +" -h, --help afișați acest mesaj de ajutor și iese\n" +" --no-color nu utilizează culori pentru afișarea textului\n" +" --max-turn=NUM stabilește numărul de tururi la NUM\n" +"\n" + +#: src/trader.c:325 +#, c-format +msgid "" +"If GAME is specified as a number between 1 and 9, load and continue\n" +"playing that game. If GAME is not specified, start a new game.\n" +"\n" +msgstr "" +"Dacă JOC este specificat ca un număr între 1 și 9, se încarcă și se continuă\n" +"jocul respectiv. Dacă JOCUL nu este specificat, începe un nou joc.\n" +"\n" + +#. TRANSLATORS: The first %s is the proper name of the package +#. author, John Zaitseff [IPA d͡ʒɒn ˈzaɪ̯t͡səf]; the second %s is +#. the email address for reporting bugs. Please add ANOTHER line +#. with the (translated) text "Report translation bugs to +#.
\n", with ADDRESS replaced with either an email +#. address or web URL for reporting bugs in your translation. +#: src/trader.c:337 +#, c-format +msgid "Report bugs to %s <%s>.\n" +msgstr "" +"Raportați erorile către %s <%s>.\n" +"Raportați erorile de traducere la: .\n" + +#. TRANSLATORS: %s is the email address for reporting bugs. As +#. with the previous string, please add ANOTHER line with the +#. (translated) text "Report translation bugs to
\n", +#. with ADDRESS replaced with either an email address or web URL +#. for reporting bugs in your translation. +#: src/trader.c:344 +#, c-format +msgid "Report bugs to <%s>.\n" +msgstr "" +"Raportați erorile din program la: <%s>.\n" +"Raportați erorile de traducere la: .\n" + +#. TRANSLATORS: The first %s is for packagers and may be +#. something like "Debian". +#: src/trader.c:349 +#, c-format +msgid "Report %s bugs to <%s>.\n" +msgstr "Raportați erorile „Star Traders” din %s la: <%s>.\n" + +#: src/trader.c:352 +#, c-format +msgid "Star Traders home page: <%s>.\n" +msgstr "Pagina principală a Star Traders: <%s>.\n" + +#. TRANSLATORS: The eight company names do NOT have to be literal +#. translations of the English names. In fact, if possible, the +#. names should start with successive letters of your alphabet (in +#. English, for example, "A" to "H"), and, ideally, be related to +#. constellations or stars in our galaxy. No company name should be +#. more than 24 characters (column positions, to be precise) long. +#: src/globals.c:47 +msgid "Altair Starways" +msgstr "Altair Deliorman" + +#: src/globals.c:48 +msgid "Betelgeuse, Ltd" +msgstr "Betelgeuse SRL" + +#: src/globals.c:49 +msgid "Capella Freight Co" +msgstr "Capella Transport" + +#: src/globals.c:50 +msgid "Denebola Shippers" +msgstr "Denebola Expres" + +#: src/globals.c:51 +msgid "Eridani Expediters" +msgstr "Eridani Export" + +#: src/globals.c:52 +msgid "Fornax Express" +msgstr "Fornax Armatori" + +#: src/globals.c:53 +msgid "Gemini Inc" +msgstr "Gemini SA" + +#: src/globals.c:54 +msgid "Hercules and Co" +msgstr "Hercule și asociații" + +#. TRANSLATORS: This string specifies the keycodes (keyboard input +#. codes) used to enter the Stock Transaction window for each +#. company. There must be exactly eight characters, one for each +#. company in order, before the ASCII vertical line "|"; these must +#. be EITHER all in upper-case or all in lower-case. If at all +#. possible, these should be successive letters in your alphabet (in +#. English, "A" to "H"). Do NOT use digits or control characters. +#. Do not change or translate anything after the vertical line. +#: src/globals.c:68 +msgid "ABCDEFGH|input|Companies" +msgstr "ABCDEFGH|input|Companies" + +#. TRANSLATORS: This string specifies the keycodes used to select a +#. game move. There must be exactly 20 characters, one for each +#. move, before the ASCII vertical line "|"; these must be EITHER all +#. in upper-case or all in lower-case. If at all possible, these +#. should be successive letters in your alphabet. Do NOT use digits +#. or control characters. Do not change or translate anything after +#. the vertical line. +#: src/globals.c:80 +msgid "ABCDEFGHIJKLMNOPQRST|input|GameMoves" +msgstr "ABCDEFGHIJKLMNOPQRST|input|GameMoves" + +#. TRANSLATORS: This string is used to display the galaxy map to +#. screen. There must be exactly 11 characters before the ASCII +#. vertical line. The first ("." in English) is used for empty +#. space, the second ("+") for outposts, the third ("*") for stars, +#. the remaining for the eight companies. Do not change or translate +#. anything after the vertical line. Double-width characters ARE +#. handled correctly. +#: src/globals.c:92 +msgid ".+*ABCDEFGH|output|MapVals" +msgstr ".+*ABCDEFGH|output|MapVals" + +#. TRANSLATORS: This string is used to display the game moves +#. (choices). There must be exactly 20 characters (NUMBER_MOVES) +#. before the ASCII vertical line. The first character corresponds +#. to the first character in the "input|GameMoves" string, and so on. +#. Do not change or translate anything after the vertical line. +#. Double-width characters ARE handled correctly. +#: src/globals.c:103 +msgid "abcdefghijklmnopqrst|output|GameMoves" +msgstr "abcdefghijklmnopqrst|output|GameMoves" + +#. TRANSLATORS: The ordinal strings "1st" to "8th" are used in the +#. Game Winner dialog box at the end of the game. If ordinals depend +#. on the gender of the player, it may be simpler to list cardinal +#. numbers instead (eg, "No. 1"). Up to five characters are allowed +#. (see ORDINAL_COLS in src/intf.h). +#: src/globals.c:114 +msgid "1st" +msgstr "Nr. 1" + +#: src/globals.c:115 +msgid "2nd" +msgstr "Nr. 2" + +#: src/globals.c:116 +msgid "3rd" +msgstr "Nr. 3" + +#: src/globals.c:117 +msgid "4th" +msgstr "Nr. 4" + +#: src/globals.c:118 +msgid "5th" +msgstr "Nr. 5" + +#: src/globals.c:119 +msgid "6th" +msgstr "Nr. 6" + +#: src/globals.c:120 +msgid "7th" +msgstr "Nr. 7" + +#: src/globals.c:121 +msgid "8th" +msgstr "Nr. 8" + +#: src/game.c:117 src/game.c:152 +#, c-format +msgid "Loading game %d... " +msgstr "Se încarcă jocul %d... " + +#: src/game.c:226 +#, c-format +msgid " First Player " +msgstr " Primul jucător " + +#: src/game.c:227 +#, c-format +msgid "The first player to go is ^{%ls^}." +msgstr "Primul jucător care pleacă este ^{%ls^}." + +#. TRANSLATORS: The keycode should be modified to +#. match that (or those) specified with msgctxt +#. "input|ContinueGame". +#: src/game.c:259 +#, c-format +msgid "Enter number of players [^{1^}-^{%d^}] or ^{^} to continue a game: " +msgstr "Introduceți numărul de jucători [^{1^}-^{%d^}] sau ^{^} pentru a continua un joc: " + +#. TRANSLATORS: This string specifies the keycodes used to continue a +#. game; these must NOT contain any numeric digit from 1 to 9. The +#. first character (keyboard input code) is used to print the user's +#. response if one of those keys is pressed. Both upper and +#. lower-case versions should be present. +#: src/game.c:276 +msgctxt "input|ContinueGame" +msgid "Cc" +msgstr "Cc" + +#: src/game.c:341 src/move.c:413 +#, c-format +msgid "Enter game number [^{1^}-^{9^}] or ^{^} to cancel: " +msgstr "Introduceți numărul jocului [^{1^}-^{9^}] sau ^{^} pentru a renunța: " + +#: src/game.c:406 +#, c-format +msgid "Please enter your name: " +msgstr "Introduceți numele dvs.: " + +#. TRANSLATORS: Note that you should replace "Y" and "N" +#. with the localised upper-case characters used in the +#. "input|Yes" and "input|No" strings. There are other +#. strings in this game, each with "[^{Y^}/^{N^}]", that +#. need the same replacement. +#: src/game.c:430 +#, c-format +msgid "Do you need any instructions? [^{Y^}/^{N^}] " +msgstr "Aveți nevoie de instrucțiuni? [^{D^}/^{N^}] " + +#: src/game.c:448 +#, c-format +msgid " Enter Player Names " +msgstr " Introduceți numele jucătorilor " + +#: src/game.c:456 +#, c-format, range: 1..8 +msgid "Player %d: " +msgstr "Jucătorul %d: " + +#: src/game.c:534 +#, c-format +msgid "Does any player need instructions? [^{Y^}/^{N^}] " +msgstr "Are vreun jucător nevoie de instrucțiuni? [^{D^}/^{N^}] " + +#: src/game.c:568 +#, c-format +msgid " Game Over " +msgstr " Sfârșitul jocului " + +#: src/game.c:569 +#, c-format +msgid "The game is over after one turn." +msgid_plural "The game is over after %d turns." +msgstr[0] "Jocul se încheie după o singură rundă." +msgstr[1] "Jocul se termină după %d runde." +msgstr[2] "Jocul se termină după %d de runde." + +#: src/game.c:580 +#, c-format +msgid " Total Value " +msgstr " Valoarea totală " + +#: src/game.c:582 +#, c-format +msgid "Your total value was ^{%N^}." +msgstr "Valoarea ta totală a fost de ^{%N^}." + +#: src/game.c:593 +#, c-format +msgid "" +"The winner is ^{%ls^}\n" +"who is ^[*** BANKRUPT ***^]" +msgstr "" +"Câștigătorul este ^{%ls^}\n" +"care este ^[*** BANCRUTĂ ***^]" + +#: src/game.c:596 +#, c-format +msgid "" +"The winner is ^{%ls^}\n" +"with a value of ^{%N^}." +msgstr "" +"Câștigătorul este ^{%ls^}\n" +"cu o valoare de ^{%N^}." + +#: src/game.c:602 +#, c-format +msgid " Game Winner " +msgstr " Câștigătorul jocului " + +#. TRANSLATORS: "Player" is used as a column title in a +#. table containing all player names. +#: src/game.c:611 src/move.c:882 +#, c-format +msgctxt "subtitle" +msgid "Player" +msgstr "Jucător" + +#. TRANSLATORS: "Total Value" refers to the total worth +#. (shares, cash and debt) of any given player. %ls is the +#. currency symbol of the current locale. +#: src/game.c:616 +#, c-format +msgctxt "subtitle" +msgid "Total Value (%ls)" +msgstr "Valoarea totală (%ls)" + +#: src/game.c:650 src/game.c:700 src/exch.c:100 +#, c-format +msgid "Player: ^{%ls^}" +msgstr "Jucător: ^{%ls^}" + +#: src/game.c:653 +#, c-format +msgid " Turn: ^{%d^} " +msgstr " Runda: ^{%d^} " + +#: src/game.c:654 +#, c-format +msgid " ^[*** Last Turn ***^] " +msgstr " ^[*** Ultima rundă ***^] " + +#: src/game.c:698 +#, c-format +msgid " Stock Portfolio " +msgstr " Portofoliu de acțiuni " + +#. TRANSLATORS: The current player is bankrupt (has no +#. shares or cash, ie, whose total value is zero) +#: src/game.c:707 +#, c-format +msgid "^[* * * B A N K R U P T * * *^]" +msgstr "^[* * * B A N C R U T Ă * * *^]" + +#: src/game.c:722 src/exch.c:112 +#, c-format +msgid "No companies on the map" +msgstr "Nu există companii pe hartă" + +#. TRANSLATORS: "Company" is a two-line column label in +#. a table containing a list of companies. +#: src/game.c:730 src/exch.c:120 +#, c-format +msgctxt "subtitle" +msgid "" +" \n" +"Company" +msgstr "" +" \n" +"Compania" + +#. TRANSLATORS: "Ownership" is a two-line column label +#. in a table containing the current player's +#. percentage ownership in any given company. The +#. maximum column width is 10 characters (see +#. OWNERSHIP_COLS in src/intf.h). +#: src/game.c:737 +#, c-format +msgctxt "subtitle" +msgid "" +"Ownership\n" +"(%%)" +msgstr "" +"Deținător\n" +"(%%)" + +#. TRANSLATORS: "Holdings" is a two-line column label +#. in a table containing the number of shares the +#. current player owns in any given company. The +#. maximum column width is 10 characters (see +#. STOCK_OWNED_COLS in src/intf.h). +#: src/game.c:744 +#, c-format +msgctxt "subtitle" +msgid "" +"Holdings\n" +"(shares)" +msgstr "" +"Participații\n" +"(acțiuni)" + +#. TRANSLATORS: "Return" is a two-line column label in +#. a table containing the share return as a percentage +#. in any given company. The maximum column width is +#. 10 characters (see SHARE_RETURN_COLS in src/intf.h). +#: src/game.c:751 src/exch.c:141 +#, c-format +msgctxt "subtitle" +msgid "" +"Return\n" +"(%%)" +msgstr "" +"Returnează\n" +"(%%)" + +#. TRANSLATORS: "Price per share" is a two-line column +#. label in a table containing the price per share in +#. any given company. %ls is the currency symbol in +#. the current locale. The maximum column width is 12 +#. characters INCLUDING the currency symbol (see +#. SHARE_PRICE_COLS in src/intf.h). +#: src/game.c:760 src/exch.c:150 +#, c-format +msgctxt "subtitle" +msgid "" +"Price per\n" +"share (%ls)" +msgstr "" +"Preț per\n" +"acțiune (%ls)" + +#. TRANSLATORS: The "Total value", "Current cash", +#. "Current debt" and "Interest rate" labels MUST all be +#. the same length (ie, right-padded with spaces as +#. needed) and must have at least one trailing space so +#. that the display routines work correctly. The maximum +#. length of each label is 36 characters. +#. +#. Note that some of these labels are used for both the +#. Player Status window and the Trading Bank window. +#: src/game.c:801 +#, c-format +msgctxt "label" +msgid "Total value: " +msgstr "Valoarea totală: " + +#: src/game.c:805 src/exch.c:324 +#, c-format +msgctxt "label" +msgid "Current cash: " +msgstr "Numerar curent: " + +#: src/game.c:812 src/exch.c:332 +#, c-format +msgctxt "label" +msgid "Current debt: " +msgstr "Debit curent: " + +#: src/game.c:818 src/exch.c:337 +#, c-format +msgctxt "label" +msgid "Interest rate: " +msgstr "Rata dobânzii: " + +#. TRANSLATORS: Each label may be up to 37 characters wide +#. (for <1> and <2>) or 38 characters wide (for <3> and +#. ). The sequences "^{" and "^}" change the +#. character rendition (attributes) and take up no space. +#: src/move.c:246 src/exch.c:182 +#, c-format +msgid "^{<1>^} Display stock portfolio" +msgstr "^{<1>^} Afișează portofoliul de acțiuni" + +#: src/move.c:248 +#, c-format +msgid "^{<2>^} Declare bankruptcy" +msgstr "^{<2>^} Declară bancruta" + +#: src/move.c:250 +#, c-format +msgid "^{<3>^} Save and end the game" +msgstr "^{<3>^} Salvează și termină jocul" + +#: src/move.c:252 +#, c-format +msgid "^{^} Quit the game" +msgstr "^{^} Ieșire din joc" + +#. TRANSLATORS: The maximum column width is either 38 +#. characters (including the trailing space), or 76 +#. characters minus the length of the longest of the four +#. strings above this one. The sequences "^{", "^}", +#. "^[" and "^]" do not take up any room. "%lc" takes up +#. either one or two columns, depending on the appropriate +#. "output|GameMoves" string in the current PO file. +#: src/move.c:263 +#, c-format +msgid "Select move [^[%lc^]-^[%lc^]/^{1^}-^{3^}/^{^}]: " +msgstr "Selectați mișcarea [^[%lc^]-^[%lc^]/^{1^}-^{3^}/^{^}]: " + +#. TRANSLATORS: A game usually consists of +#. DEFAULT_MAX_TURN (50) turns. On each +#. turn, the computer randomly selects +#. NUMBER_MOVES (20) moves (positions on the +#. map); each player selects just one move +#. per turn. "Move" refers to the player's +#. choice. +#: src/move.c:309 +#, c-format +msgid "Move ^{%lc^}" +msgstr "Mișcarea ^{%lc^}" + +#: src/move.c:330 +#, c-format +msgid "^{<2>^} (Declare bankruptcy)" +msgstr "^{<2>^} (Declară bancruta)" + +#: src/move.c:339 +#, c-format +msgid "^{<3>^} (Save and end the game)" +msgstr "^{<3>^} (Salvează și termină jocul)" + +#: src/move.c:360 +#, c-format +msgid "^{^} (Quit the game)" +msgstr "^{^} (Ieșire din joc)" + +#: src/move.c:375 +#, c-format +msgid "Are you sure? [^{Y^}/^{N^}] " +msgstr "Sunteți sigur? [^{D^}/^{N^}] " + +#: src/move.c:392 src/move.c:470 +#, c-format +msgid "Saving game %d... " +msgstr "Se salvează jocul %d... " + +#: src/move.c:700 src/move.c:708 src/move.c:1066 src/move.c:1103 +#, c-format +msgid " Bankruptcy Court " +msgstr " Instanța de faliment " + +#. TRANSLATORS: %ls is the player's name. +#: src/move.c:702 +#, c-format +msgid "%ls has been declared bankrupt by the Interstellar Trading Bank." +msgstr "%ls a fost declarat în bancrută de către Banca Comercială Interstelară." + +#. TRANSLATORS: %ls is the player's name. +#: src/move.c:710 +#, c-format +msgid "%ls has declared bankruptcy." +msgstr "%ls s-a declarat în bancrută." + +#: src/move.c:778 +#, c-format +msgid " New Company " +msgstr " Companie nouă " + +#: src/move.c:779 +#, c-format +msgid "" +"A new company has been formed!\n" +"Its name is ^{%ls^}." +msgstr "" +"O nouă companie a fost înființată!\n" +"Numele acesteia este ^{%ls^}." + +#: src/move.c:838 +#, c-format +msgid "" +"^{%ls^} has just merged into ^{%ls^}.\n" +"Please note the following transactions:\n" +msgstr "" +"^{%ls^} tocmai a fuzionat cu ^{%ls^}.\n" +"Vă rugăm să notați următoarele tranzacții:\n" + +#: src/move.c:844 +#, c-format +msgid " Company Merger " +msgstr " Fuziune de companii " + +#. TRANSLATORS: "Old stock" refers to the company that has +#. just ceased existence due to a merger. +#. +#. Note that the "Old stock" and "New stock" labels MUST be +#. the same length and must contain a trailing space for the +#. display routines to work correctly. The maximum length of +#. each label is 36 characters. +#: src/move.c:864 +#, c-format +msgctxt "label" +msgid "Old stock: " +msgstr "Acțiunile vechi: " + +#. TRANSLATORS: "New stock" refers to the company that has +#. absorbed the other due to a merger. +#: src/move.c:875 +#, c-format +msgctxt "label" +msgid "New stock: " +msgstr "Acțiunile noi: " + +#. TRANSLATORS: "Bonus" refers to the bonus cash amount paid to +#. each player after two companies merge. %ls is the currency +#. symbol in the current locale. The maximum column width is +#. 12 characters INCLUDING the currency symbol (see +#. MERGE_BONUS_COLS in src/intf.h). +#: src/move.c:889 +#, c-format +msgctxt "subtitle" +msgid "Bonus (%ls)" +msgstr "Bonus (%ls)" + +#. TRANSLATORS: "Total" refers to the total number of shares in +#. the new company after a merger. The maximum column width is +#. 8 characters (see MERGE_TOTAL_STOCK_COLS in src/intf.h). +#: src/move.c:894 +#, c-format +msgctxt "subtitle" +msgid "Total" +msgstr "Total" + +#. TRANSLATORS: "New" refers to how many (new) shares each +#. player receives in the surviving company after a merger. +#. The maximum column width is 8 characters (see +#. MERGE_NEW_STOCK_COLS in src/intf.h). +#: src/move.c:901 +#, c-format +msgctxt "subtitle" +msgid "New" +msgstr "Noi" + +#. TRANSLATORS: "Old" refers to how many shares each player had +#. in the company ceasing existence. The maximum column width +#. is 8 characters (see MERGE_OLD_STOCK_COLS in src/intf.h). +#: src/move.c:907 +#, c-format +msgctxt "subtitle" +msgid "Old" +msgstr "Vechi" + +#. TRANSLATORS: %ls represents the company name. +#: src/move.c:1068 +#, c-format +msgid "" +"%ls has been declared bankrupt by the Interstellar Trading Bank.\n" +"\n" +"^{All assets have been taken to repay outstanding loans.^}" +msgstr "" +"%ls a fost declarată în bancrută de către Banca Comercială Interstelară.\n" +"\n" +"^{Toate activele au fost luate pentru a rambursa datoriile restante.^}" + +#. TRANSLATORS: %ls represents the company name. +#: src/move.c:1092 +#, c-format +msgid "" +"%ls has been declared bankrupt by the Interstellar Trading Bank.\n" +"\n" +"^{The Bank has agreed to pay stock holders ^}%.2f%%^{ of the share value on each share owned.^}" +msgstr "" +"%ls a fost declarată în bancrută de către Banca Comercială Interstelară.\n" +"\n" +"^{Banca a fost de acord să plătească deținătorilor de acțiuni ^}%.2f%%^{ din valoarea acțiunilor pentru fiecare acțiune deținută." +"^}" + +#. TRANSLATORS: The label "Amount paid per share" +#. refers to payment made by the Interstellar +#. Trading Bank to each player upon company +#. bankruptcy. This label MUST be the same +#. length as "Old share value" and MUST have at +#. least one trailing space for the display +#. routines to work correctly. The maximum +#. length is 28 characters. +#: src/move.c:1120 +#, c-format +msgctxt "label" +msgid "Amount paid per share: " +msgstr "Suma plătită per acțiune: " + +#. TRANSLATORS: "Old share value" refers to the +#. share price of a company before it was forced +#. into bankruptcy by the Bank. This label must be +#. the same width as "Amount paid per share". +#: src/move.c:1128 +#, c-format +msgctxt "label" +msgid "Old share value: " +msgstr "Vechea valoare a acțiunii: " + +#: src/move.c:1211 src/move.c:1246 src/exch.c:321 +#, c-format +msgid " Interstellar Trading Bank " +msgstr " Banca Comercială Interstelară " + +#: src/move.c:1213 +#, c-format +msgid "" +"You were forced to borrow %N\n" +"to cover losses from company shares." +msgstr "" +"Ați fost obligat să împrumutați %N\n" +"pentru a acoperi pierderile din acțiunile companiei." + +#: src/move.c:1248 +#, c-format +msgid "" +"Your debt has amounted to %N!\n" +"^{The Bank has impounded ^}%N^{ from your cash.^}" +msgstr "" +"Datoria dumneavoastră s-a ridicat la %N!\n" +"^{Banca a confiscat ^}%N^{ din banii dvs.^}" + +#: src/exch.c:98 +#, c-format +msgid " Interstellar Stock Exchange " +msgstr " Bursa de Valori Interstelară " + +#. TRANSLATORS: "Shares left" is a two-line column +#. label in a table containing the number of shares +#. left to be purchased in any given company. The +#. maximum column width is 10 characters (see +#. STOCK_LEFT_COLS in src/intf.h). +#: src/exch.c:127 +#, c-format +msgctxt "subtitle" +msgid "" +"Shares\n" +"left" +msgstr "" +"Acțiuni\n" +"rămase" + +#. TRANSLATORS: "Shares issued" is a two-line column +#. label in a table containing the number of shares +#. already sold (ie, bought by all players) in any +#. given company. The maximum column width is 10 +#. characters (see STOCK_ISSUED_COLS in src/intf.h). +#: src/exch.c:134 +#, c-format +msgctxt "subtitle" +msgid "" +"Shares\n" +"issued" +msgstr "" +"Acțiuni\n" +"emise" + +#. TRANSLATORS: Each label may be up to 37 characters wide +#. (for <1> and <2>) or 38 characters wide (for <3> and <4>). +#: src/exch.c:186 +#, c-format +msgid "^{<2>^} Display galaxy map" +msgstr "^{<2>^} Afișează harta galaxiei" + +#: src/exch.c:188 +#, c-format +msgid "^{<3>^} Visit the Trading Bank" +msgstr "^{<3>^} Vizitați Banca Comercială" + +#: src/exch.c:190 +#, c-format +msgid "^{<4>^} Exit the Stock Exchange" +msgstr "^{<4>^} Ieșirea de la Bursa de Valori" + +#: src/exch.c:193 +#, c-format +msgid "Enter selection [^[Company letter^]/^{1^}-^{4^}]: " +msgstr "Introduceți selecția [^[Litera companiei^]/^{1^}-^{4^}]: " + +#. TRANSLATORS: The "Total value", "Current cash", "Current +#. debt", "Interest rate" and "Credit limit" labels MUST all be +#. the same length (ie, right-padded with spaces as needed) and +#. must have at least one trailing space so that the display +#. routines work correctly. The maximum length of each label +#. is 36 characters. +#. +#. Note that some of these labels are used for both the Player +#. Status window and the Trading Bank window. +#: src/exch.c:351 +#, c-format +msgctxt "label" +msgid "Credit limit: " +msgstr "Limita de credit: " + +#. TRANSLATORS: The "Borrow money", "Repay debt" and "Exit +#. from the Bank" menu options must all be the same length +#. (ie, padded with trailing spaces as required). The maximum +#. length is 72 characters. +#: src/exch.c:366 +#, c-format +msgid "^{<1>^} Borrow money " +msgstr "^{<1>^} Împrumutați bani " + +#: src/exch.c:368 +#, c-format +msgid "^{<2>^} Repay debt " +msgstr "^{<2>^} Rambursați datoria " + +#: src/exch.c:370 +#, c-format +msgid "^{<3>^} Exit from the Bank" +msgstr "^{<3>^} Ieșirea din bancă " + +#: src/exch.c:373 +#, c-format +msgid "Enter selection [^{1^}-^{3^}]: " +msgstr "Introduceți selecția [^{1^}-^{3^}]: " + +#: src/exch.c:426 +#, c-format +msgid " Insufficient Credit Limit " +msgstr " Limită de credit insuficientă " + +#: src/exch.c:427 +#, c-format +msgid "The Bank will not lend you any more money." +msgstr "Banca nu vă va mai împrumuta niciun ban." + +#: src/exch.c:447 +#, c-format +msgid "How much do you wish to borrow? " +msgstr "Cât doriți să împrumutați? " + +#: src/exch.c:479 +#, c-format +msgid " No Debt " +msgstr " Fără datorii " + +#: src/exch.c:480 +#, c-format +msgid "You have no debt to repay." +msgstr "Nu aveți nicio datorie de rambursat." + +#: src/exch.c:484 +#, c-format +msgid " No Cash " +msgstr " Fără lichidități " + +#: src/exch.c:485 +#, c-format +msgid "You have no cash with which to repay the debt!" +msgstr "Nu aveți lichidități cu care să rambursați datoria!" + +#: src/exch.c:505 +#, c-format +msgid "How much do you wish to repay? " +msgstr "Cât doriți să rambursați?" + +#. TRANSLATORS: %ls represents the company name. +#: src/exch.c:581 +#, c-format +msgid " Stock Transaction in %ls " +msgstr " Tranzacție cu acțiuni în %ls " + +#. TRANSLATORS: "Shares issued" represents the number of +#. shares already sold by the company to all players. +#. +#. Note that the labels "Shares issued", "Shares left", +#. "Price per share" and "Return" must all be the same length +#. and must have at least one trailing space for the output +#. routines to work correctly. The maximum length of each +#. label is 22 characters. +#: src/exch.c:592 +#, c-format +msgctxt "label|Stock A" +msgid "Shares issued: " +msgstr "Acțiuni emise: " + +#. TRANSLATORS: "Shares left" is the number of shares that are +#. left to be purchased in the current company. +#: src/exch.c:600 +#, c-format +msgctxt "label|Stock A" +msgid "Shares left: " +msgstr "Acțiuni rămase: " + +#. TRANSLATORS: "Price per share" is the cost of each share in +#. the current company. +#: src/exch.c:607 +#, c-format +msgctxt "label|Stock A" +msgid "Price per share: " +msgstr "Prețul pe acțiune: " + +#. TRANSLATORS: "Return" is the share return as a percentage. +#: src/exch.c:613 +#, c-format +msgctxt "label|Stock A" +msgid "Return: " +msgstr "Profit: " + +#. TRANSLATORS: "Current holdings" is the number of shares +#. the current player owns in this particular company. +#. +#. Note that the labels "Current holdings", "Percentage owned" +#. and "Current cash" MUST all be the same length and contain at +#. least one trailing space for the display routines to work +#. correctly. The maximum length of each label is 18 +#. characters. +#: src/exch.c:626 +#, c-format +msgctxt "label|Stock B" +msgid "Current holdings: " +msgstr "Deținute actual: " + +#. TRANSLATORS: "Percentage owned" is the current player's +#. percentage ownership in this particular company. +#: src/exch.c:636 +#, c-format +msgctxt "label|Stock B" +msgid "Percentage owned: " +msgstr "Procent deținut: " + +#: src/exch.c:641 +#, c-format +msgctxt "label|Stock B" +msgid "Current cash: " +msgstr "Lichidități: " + +#. TRANSLATORS: Each label may be up to 35 characters wide +#. (for <1> and <2>) or 36 characters wide (for <3> and <4>). +#: src/exch.c:654 +#, c-format +msgid "^{<1>^} Buy stock from company" +msgstr "^{<1>^} Cumpărați acț. de la companie" + +#: src/exch.c:656 +#, c-format +msgid "^{<2>^} Sell stock back to company" +msgstr "^{<2>^} Vindeți acț. către companie" + +#: src/exch.c:658 +#, c-format +msgid "^{<3>^} Bid company to issue more shares" +msgstr "^{<3>^} Solicitați emiterea mai +++ acț" + +#: src/exch.c:660 +#, c-format +msgid "^{<4>^} Exit to the Stock Exchange" +msgstr "^{<4>^} Ieșirea la Bursa de Valori" + +#: src/exch.c:663 +#, c-format +msgid "Enter selection [^{1^}-^{4^}]: " +msgstr "Introduceți selecția [^{1^}-^{4^}]: " + +#: src/exch.c:719 +#, c-format +msgid " No Shares Available " +msgstr " Nu există acțiuni disponibile " + +#: src/exch.c:720 +#, c-format +msgid "No more shares are available for purchase." +msgstr "Nu mai sunt disponibile acțiuni pentru cumpărare." + +#: src/exch.c:724 +#, c-format +msgid " Insufficient Cash " +msgstr " Insuficiență de lichidități " + +#: src/exch.c:725 +#, c-format +msgid "" +"You do not have enough cash\n" +"to purchase additional shares." +msgstr "" +"Nu aveți suficiente lichidități pentru\n" +"a cumpăra acțiuni suplimentare." + +#: src/exch.c:736 +#, c-format +msgid "You can purchase ^{one^} share." +msgid_plural "You can purchase up to ^{%'ld^} shares." +msgstr[0] "Puteți cumpăra ^{o^} acțiune." +msgstr[1] "Puteți cumpăra până la ^{%'ld^} acțiuni." +msgstr[2] "Puteți cumpăra până la ^{%'ld^} de acțiuni." + +#: src/exch.c:742 +#, c-format +msgid "How many shares do you wish to purchase? " +msgstr "Câte acțiuni doriți să cumpărați? " + +#: src/exch.c:763 +#, c-format +msgid " No Shares " +msgstr " Fără acțiuni " + +#: src/exch.c:764 +#, c-format +msgid "You do not have any shares to sell." +msgstr "Nu aveți nicio acțiune de vândut." + +#: src/exch.c:771 +#, c-format +msgid "You can sell ^{one^} share." +msgid_plural "You can sell up to ^{%'ld^} shares." +msgstr[0] "Puteți să vindeți ^{o^} acțiune." +msgstr[1] "Puteți să vindeți până la ^{%'ld^} acțiuni." +msgstr[2] "Puteți să vindeți până la ^{%'ld^} de acțiuni." + +#: src/exch.c:777 +#, c-format +msgid "How many shares do you wish to sell? " +msgstr "Câte acțiuni doriți să vindeți? " + +#: src/exch.c:805 +#, c-format +msgid " No Shares Issued " +msgstr " Nicio acțiune emisă " + +#. TRANSLATORS: %ls represents the company name. +#: src/exch.c:807 +#, c-format +msgid "" +"%ls has refused\n" +"to issue more shares." +msgstr "" +"%ls a refuzat\n" +"să emită mai multe acțiuni." + +#: src/exch.c:812 +#, c-format +msgid " Shares Issued " +msgstr " Acțiuni emise " + +#. TRANSLATORS: %ls represents the company name. +#: src/exch.c:814 +#, c-format +msgid "" +"%ls has issued\n" +"^{one^} more share." +msgid_plural "" +"%ls has issued\n" +"^{%'ld^} more shares." +msgstr[0] "" +"%ls a mai emis\n" +"încă ^{o^} acțiune." +msgstr[1] "" +"%ls a mai emis\n" +"încă ^{%'ld^} acțiuni." +msgstr[2] "" +"%ls a mai emis\n" +"încă ^{%'ld^} de acțiuni." + +#: src/fileio.c:43 src/fileio.c:83 src/fileio.c:126 src/fileio.c:387 +#, c-format +msgid "%s: missing field on line %d" +msgstr "%s: câmp lipsă pe linia %d" + +#: src/fileio.c:47 src/fileio.c:87 src/fileio.c:130 src/fileio.c:390 src/fileio.c:393 +#, c-format +msgid "%s: illegal field on line %d" +msgstr "%s: câmp ilegal pe linia %d" + +#: src/fileio.c:51 +#, c-format +msgid "%s: illegal field on line %d: '%s'" +msgstr "%s: câmp ilegal pe linia %d: „%s”" + +#: src/fileio.c:55 +#, c-format +msgid "%s: illegal value on line %d: '%s'" +msgstr "%s: valoare ilegală pe linia %d: „%s”" + +#: src/fileio.c:91 src/fileio.c:134 src/fileio.c:402 +#, c-format +msgid "%s: illegal value on line %d" +msgstr "%s: valoare ilegală pe linia %d" + +#: src/fileio.c:98 +#, c-format +msgid "%s: illegal characters on line %d" +msgstr "%s: caractere ilegale pe linia %d" + +#: src/fileio.c:183 +#, c-format +msgid "%s: could not convert string" +msgstr "%s: nu s-a putut converti șirul" + +#: src/fileio.c:257 +#, c-format +msgid " Game Not Found " +msgstr " Jocul nu a fost găsit " + +#: src/fileio.c:258 +#, c-format +msgid "Game %d has not been saved to disk." +msgstr "Jocul %d nu a fost salvat pe disc." + +#: src/fileio.c:265 +#, c-format +msgid " Game Not Loaded " +msgstr " Jocul nu a fost încărcat " + +#: src/fileio.c:266 +#, c-format +msgid "" +"Game %d could not be loaded from disk.\n" +"\n" +"^{File %s: %s^}" +msgstr "" +"Jocul %d nu a putut fi încărcat de pe disc.\n" +"\n" +"^{Fișierul %s: %s^}" + +#: src/fileio.c:319 +#, c-format +msgid "%s: missing header in game file" +msgstr "%s: antet lipsă în fișierul de joc" + +#: src/fileio.c:322 +#, c-format +msgid "%s: not a valid game file" +msgstr "%s: nu este un fișier de joc valid" + +#: src/fileio.c:325 src/fileio.c:332 +#, c-format +msgid "%s: missing subheader in game file" +msgstr "%s: subtitlu lipsă în fișierul de joc" + +#: src/fileio.c:328 +#, c-format +msgid "%s: saved under a different version of Star Traders" +msgstr "%s: salvat sub o versiune diferită de „Star Traders”" + +#: src/fileio.c:335 +#, c-format +msgid "%s: saved under an incompatible character encoding" +msgstr "%s: salvat sub o codificare de caractere incompatibilă" + +#: src/fileio.c:343 +#, c-format +msgid "%s: illegal or missing field on line %d" +msgstr "%s: câmp ilegal sau lipsă pe linia %d" + +#: src/fileio.c:475 src/fileio.c:496 +#, c-format +msgid " Game Not Saved " +msgstr " Jocul nu a fost salvat " + +#: src/fileio.c:476 +#, c-format +msgid "" +"Game %d could not be saved to disk.\n" +"\n" +"^{Directory %s: %s^}" +msgstr "" +"Jocul %d nu a putut fi salvat pe disc.\n" +"\n" +"^{Directorul %s: %s^}" + +#: src/fileio.c:497 +#, c-format +msgid "" +"Game %d could not be saved to disk.\n" +"\n" +"^{File %s: %s^}" +msgstr "" +"Jocul %d nu a putut fi salvat pe disc.\n" +"\n" +"^{Fișierul %s: %s^}" + +#. TRANSLATORS: The help text for Star Traders is marked up using a +#. custom mark-up format NOT used anywhere else in the source code. +#. +#. Each string is a single page of text that is displayed in an area 76 +#. columns wide by 16 lines high. Each line is delimited by "\n". NO +#. word-wrapping is performed: you must place the "\n" characters in the +#. appropriate place. Ideally, each line within the string should be +#. also (manually) space-justified or centred. TAB characters and other +#. control codes must NOT be used. If a string starts with "@" as the +#. very first character, that string is ignored (as are all strings +#. following): this allows a variable number of help text pages (from +#. one to ten). Multibyte strings are handled correctly (even those +#. requiring shift sequences!). +#. +#. The ASCII circumflex accent character "^" switches to a different +#. character rendition (also called attributes), depending on the +#. character following the "^": +#. +#. ^^ - Print the circumflex accent (ASCII code U+005E) +#. ^N - Switch to using the normal character rendition +#. ^B - Switch to using the bold character rendition +#. ^H - Switch to using the highlight character rendition +#. ^K - Switch to using the keycode character rendition (such as used for "") +#. ^e - Switch to using the character rendition used for empty space +#. ^o - Switch to using the character rendition used for outposts +#. ^s - Switch to using the character rendition used for stars +#. ^c - Switch to using the character rendition used for companies +#. ^k - Switch to using the character rendition used for keyboard choices on the galaxy map +#. +#. The help text parsing routines also understand the following "value +#. escapes" introduced by the ASCII tilde character "~"; these act like +#. "%" conversion specifiers in printf(): +#. +#. ~~ - Print the tilde character (ASCII code U+007E) [*] +#. ~x - Print the width of the galaxy map (MAX_X) [**] +#. ~y - Print the height of the galaxy map (MAX_Y) [**] +#. ~m - Print the number of moves available (NUMBER_MOVES) [**] +#. ~c - Print the maximum number of companies that can be formed (MAX_COMPANIES) [*] +#. ~t - Print the default number of turns in the game (DEFAULT_MAX_TURN) [**] +#. ~1 to ~9 - Print the keycode for the N-th choice of move [***] +#. ~M - Print the keycode for the last choice of move [***] +#. ~A to ~H - Print the character used to represent the company on the galaxy map [***] +#. ~. - Print the character used to represent empty space on the map [***] +#. ~+ - Print the character used to represent outposts on the map [***] +#. ~* - Print the character used to represent stars on the map [***] +#. +#. [*] Takes one character space (column space) in the output +#. [**] Takes two column spaces in the output +#. [***] Takes one or two column spaces in the output, depending on the +#. appropriate strings in the current PO file. +#. +#. Note that all keycodes and map representation characters use locale- +#. specific characters; double-width characters ARE supported. Note +#. also that the tilde value escapes do NOT change the current character +#. rendition: a circumflex accent escape is needed for that. For +#. example, to display the first choice of move as it would be shown on +#. the galaxy map, use something like "^k~1^N" (a six-character sequence +#. that would translate to just one character (or maybe two) in the +#. output text). +#. +#. Formatting the help text is probably the most complicated and tedious +#. part of translating Star Traders. The author and maintainer of this +#. game is more than happy to help you with this task: if you are able +#. to provide a translation, even if it is not formatted correctly, the +#. maintainer will perform the necessary adjustments for word-wrapping +#. and justification. In addition, remember that you have up to 10 +#. pages in which to display your help text: the translation does not +#. need to correspond exactly to the original text. This text will not +#. be changing any time soon! +#. +#: src/help.c:113 +msgid "" +"^BStar Traders^N is a simple game of interstellar trading. The object of the\n" +"game is to amass the greatest amount of wealth possible. This is done by\n" +"creating interstellar shipping lanes, expanding them and buying shares in\n" +"the companies controlling them. Shares appreciate in value as company\n" +"operations expand. In addition, the return on each share (as a percentage)\n" +"also changes. Players may also borrow from the Interstellar Trading Bank to\n" +"finance additional purchases on the Stock Exchange.\n" +"\n" +"The map of the galaxy is represented by a ^B~x^N x ^B~y^N grid. A typical section\n" +"of it may be:\n" +"\n" +" ^e ~. ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ~. ~. ~. ~. ~. ^N ^e ~. ^N represents ^Bempty space^N,\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ~. ~. ~. ^N ^s ~* ^N represents a ^Bstar^N.\n" +" ^e ~. ~. ~. ~. ~. ~. ~. ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" +msgstr "" +"^BStar Traders^N este un joc simplu de comerț interstelar. Scopul jocului este\n" +"de a acumula cea mai mare cantitate de avere posibilă. Acest lucru se face\n" +"prin crearea de rute de transport cosmic interstelar, extinderea acestora și\n" +"cumpărarea de acțiuni în companiile care le controlează. Valoarea acțiunil-\n" +"or se mărește pe măsură ce operațiunile companiei se extind. În plus,\n" +"profitul fiecărei acțiuni (ca procent) se modifică și el. Jucătorii pot, de\n" +"asemenea, să se împrumute de la Banca de Comerț Interstelar pentru a finanța\n" +"achiziții suplimentare la Bursa de Valori.\n" +"\n" +"Harta galaxiei este reprezentată de o grilă ^B~x^N × ^B~y^N. O secțiune tipică a\n" +"acesteia poate fi:\n" +"\n" +" ^e ~. ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ~. ~. ~. ~. ~. ^N ^e ~. ^N reprezintă ^Bspațiu gol^N,\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ~. ~. ~. ^N ^s ~* ^N reprezintă o ^Bstea^N.\n" +" ^e ~. ~. ~. ~. ~. ~. ~. ^s~*^e ~. ^N\n" + +#: src/help.c:132 +msgid "" +"The computer selects ^B~m^N moves (labeled ^k~1^N to ^k~M^N) at random, and places these\n" +"on the map. To select any of the highlighted positions, press that letter.\n" +"For example, some of the moves on the map may be:\n" +"\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^k~3^e ~. ~. ~. ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^k~5^e ~. ~. ^N Moves ^k~1^N to ^k~5^N shown.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" +"\n" +"\n" +"Selecting a position that is ^Bnot^N next to a star (such as moves ^k~1^N, ^k~3^N or ^k~5^N)\n" +"will set up an ^Boutpost^N, not belonging to any company. Thus, if move ^k~3^N is\n" +"selected on the above map, a ^o ~+ ^N would be placed at that position.\n" +msgstr "" +"Calculatorul selectează ^B~m^N mutări (etichetate de la ^k~1^N la ^k~M^N) la întâmplare și\n" +"le plasează pe hartă. Pentru a selecta oricare dintre pozițiile evidenția-\n" +"te, apăsați litera respectivă.\n" +"\n" +"De exemplu, unele dintre mutările de pe hartă pot fi:\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^k~3^e ~. ~. ~. ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^k~5^e ~. ~. ^N Mutările de la ^k~1^N la ^k~5^N sunt indicate.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" +"\n" +"Selectarea unei poziții care ^Bnu^N este lângă o stea (cum ar fi mutările ^k~1^N, ^k~3^N\n" +"sau ^k~5^N) va crea un ^Bavanpost^N, care nu aparține niciunei companii. Astfel, dacă\n" +"mutarea ^k~3^N este selectată pe harta de mai sus, un ^o ~+ ^N va fi plasat în acea\n" +"poziție.\n" + +#: src/help.c:150 +msgid "" +"If, on the other hand, a position next to a star (or another outpost) is\n" +"selected, a ^Bcompany^N would be formed and its letter would appear on the map.\n" +"As a reward for creating the company, you are granted the first five shares.\n" +"Up to ^B~c^N companies can be created in this way.\n" +"\n" +"If a position next to an existing company is selected, the company would\n" +"expand its operations by one square. This increases the cost of its shares\n" +"and hence your return. Thus, if the map was as shown below, selecting ^k~6^N\n" +"or ^k~8^N increases Company ^B~B^N's shipping lane:\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^o~+^e ~. ~. ^k~6^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^c~B^e ^c~B^e ^c~B^e ^N Move ^k~6^N or ^k~8^N increases Company ^B~B^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" +msgstr "" +"Dacă, pe de altă parte, este selectată o poziție lângă o stea (sau un alt\n" +"avanpost), se va forma o ^Bcompanie^N și litera acesteia va apărea pe hartă. Ca\n" +"o recompensă pentru crearea companiei, vi se acordă primele cinci acțiuni.\n" +"În acest mod pot fi create până la ^B~c^N companii.\n" +"\n" +"În cazul în care se selectează o poziție lângă o companie existentă, aceasta\n" +"își va extinde operațiunile cu un pătrat. Acest lucru crește valoarea acți-\n" +"unilor sale și, prin urmare, profitul dumneavoastră. Astfel, dacă harta ar\n" +"fi așa cum este prezentată mai jos, selectarea lui ^k~6^N sau ^k~8^N mărește numărul\n" +"rutelor comerciale ale companiei ^B~B^N:\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^o~+^e ~. ~. ^k~6^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^c~B^e ^c~B^e ^c~B^e ^N Mutarea ^k~6^N sau ^k~8^N crește Compania ^B~B^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" + +#: src/help.c:168 +msgid "" +"Selecting positions next to stars increases the value of your stock by about\n" +"five times as much as an extension not next to a star. Thus move ^k~6^N should\n" +"be preferred to move ^k~8^N.\n" +"\n" +" ^e ^c~C^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ^k~1^e ^o~+^e ~. ^o~+^e ~. ~. ^k~6^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^c~B^e ^c~B^e ^c~B^e ^N Move ^k~6^N is preferred to ^k~8^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" +"\n" +"You may also expand any company by selecting positions next to outposts.\n" +"Such outposts will be swallowed up by that company. Thus, move ^k~1^N will\n" +"extend Company ^B~C^N by ^Btwo^N squares. As a bonus, outposts next to stars are\n" +"more valuable: the company's share price will increase by a greater amount\n" +"than it would for outposts not next to stars.\n" +msgstr "" +"Selectarea pozițiilor lângă stele crește valoarea acțiunilor dumneavoastră\n" +"de aproximativ cinci ori mai mult decât o extensie care nu se află lângă o\n" +"stea. Astfel, mutarea ^k~6^N ar trebui să fie preferată celei ^k~8^N.\n" +"\n" +" ^e ^c~C^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ^k~1^e ^o~+^e ~. ^o~+^e ~. ~. ^k~6^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^c~B^e ^c~B^e ^c~B^e ^N Mutarea ^k~6^N este preferată la ^k~8^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" +"\n" +"Deasemenea, puteți extinde orice companie prin selectarea pozițiilor de\n" +"lângă avanposturi. Astfel de avanposturi vor fi înghițite de compania\n" +"respectivă. Astfel, mutarea ^k~1^N va extinde Compania ^B~C^N cu ^Bdouă^N pătrățele. Ca\n" +"bonus, avanposturile de lângă stele sunt cele mai valoroase: prețul acțiun-\n" +"ilor companiei va crește cu o sumă mai mare decât în cazul avanposturilor\n" +"care nu sunt lângă stele.\n" + +#: src/help.c:186 +msgid "" +"If two companies are separated on the map by only one square, then they can\n" +"be ^Bmerged^N into one company by selecting that position (if available). For\n" +"example, on the map below, companies ^B~A^N and ^B~B^N can be merged by selecting ^k~5^N.\n" +"When this occurs, the company with the greater assets value takes over the\n" +"other one. Here, Company ^B~B^N might take over Company ^B~A^N. Company ^B~A^N ceases to\n" +"exist, although it may reappear as an entirely new company at a later stage.\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^c~A^e ^c~A^e ^k~5^e ^c~B^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ^c~A^e ~. ^c~B^e ^c~B^e ^c~B^e ^N Move ^k~5^N merges companies ^B~A^N and ^B~B^N.\n" +" ^e ~. ^k~2^e ~. ~. ~. ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ^o~+^e ~. ~. ^N\n" +"\n" +"When companies merge, players are granted shares in the dominant company\n" +"proportional to the amount owned in the old company. As well, a cash bonus\n" +"is also paid, proportional to the percentage of the old company owned.\n" +msgstr "" +"Dacă două companii sunt separate pe hartă de un singur pătrat, atunci ele\n" +"pot fi ^Bfuzionate^N într-o singură companie prin selectarea acelei poziții\n" +"(dacă este disponibilă). De exemplu, pe harta de mai jos, companiile ^B~A^N și ^B~B^N\n" +"pot fi fuzionate prin selectarea lui ^k~5^N. Când se produce acest lucru, compa-\n" +"nia cu valoarea mai mare a activelor o preia pe cealaltă. În acest caz,\n" +"compania ^B~B^N ar putea prelua compania ^B~A^N. Compania ^B~A^N încetează să mai existe,\n" +"deși poate să reapară ca o companie complet nouă într-o etapă ulterioară.\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^c~A^e ^c~A^e ^k~5^e ^c~B^e ~. ~. ^N Mutarea ^k~5^N fuzionează companiile ^B~A^N și ^B~B^N.\n" +" ^e ~. ^s~*^e ~. ~. ^c~A^e ~. ^c~B^e ^c~B^e ^c~B^e ^N\n" +"\n" +"Atunci când companiile fuzionează, jucătorii primesc acțiuni în compania do-\n" +"minantă proporțional cu suma deținută în vechea companie. De asemenea, se\n" +"plătește și un bonus în numerar, proporțional cu procentul deținut în vechea\n" +"companie.\n" + +#: src/help.c:205 +msgid "" +"Once you select your move, you enter the ^BInterstellar Stock Exchange^N. Here\n" +"you may purchase shares, sell them, borrow from the Trading Bank or repay\n" +"some of your debt (if applicable). Note that each company issues a limited\n" +"number of shares -- you cannot go on buying for ever! You may, however, bid\n" +"for more shares to be issued. You have a better chance of succeeding if you\n" +"own a larger proportion of the company.\n" +"\n" +"The game usually ends after ^B~t^N turns. However, you may end the game sooner\n" +"by pressing ^K^N when asked to select a move. As well, individual\n" +"players can declare themselves bankrupt at any time. If your debt is large\n" +"enough, the Bank may do this for you! If you do not complete your game in\n" +"the time you have available, you may save the game and continue it later.\n" +"\n" +"\n" +"The ^Bwinner of the game^N is the person with the greatest net worth (total\n" +"value of cash, stock and debt). ^HGood luck^N and may the best person win!\n" +msgstr "" +"Odată ce ați selectat mutarea, intrați în ^BBursa de Valori Interstelară^N. Ai-\n" +"ci puteți achiziționa acțiuni, le puteți vinde, puteți împrumuta de la Banca\n" +"Comercială sau vă puteți rambursa o parte din datorie, dacă este cazul.\n" +"Rețineți că fiecare companie emite un număr limitat de acțiuni — nu puteți\n" +"continua să cumpărați la nesfârșit! Cu toate acestea, puteți licita pentru\n" +"a obține mai multe acțiuni care urmează să fie emise. Aveți mai multe șanse\n" +"de reușită dacă dețineți o proporție mai mare din companie.\n" +"\n" +"Jocul se termină de obicei după ^B~t^N tururi. Cu toate acestea, puteți încheia\n" +"jocul mai devreme apăsând ^K^N atunci când vi se cere să selectați o\n" +"mutare. Deasemenea, jucătorii individuali se pot declara falimentari în\n" +"orice moment. Dacă datoria dumneavoastră este suficient de mare, Banca poa-\n" +"te face acest lucru pentru dumneavoastră! Dacă nu terminați jocul în timpul\n" +"pe caren îl aveți la dispoziție, puteți salva jocul și îl puteți continua\n" +"mai târziu.\n" + +#: src/help.c:225 +msgid "@ Help text, page 7\n" +msgstr "" +"^BCâștigătorul jocului^N este persoana cu cea mai mare valoare netă (valoarea\n" +"totală a numerarului, a acțiunilor și a datoriilor).\n" +"\n" +"^HNoroc bun^N și fie ca cea mai bună persoană să câștige!\n" + +#: src/help.c:226 +msgid "@ Help text, page 8\n" +msgstr "@ Text de ajutor, pagina 8\n" + +#: src/help.c:227 +msgid "@ Help text, page 9\n" +msgstr "@ Text de ajutor, pagina 9\n" + +#: src/help.c:228 +msgid "@ Help text, page 10\n" +msgstr "@ Text de ajutor, pagina 10\n" + +#: src/help.c:280 +#, c-format +msgid " How to Play " +msgstr " Cum se joacă " + +#. TRANSLATORS: The parameter %1$d is the current page +#. number, %2$d is the number of pages your help text +#. takes (6, in English). +#: src/help.c:285 +#, c-format +msgid "Page %1$d of %2$d" +msgstr "Pagina %1$d din %2$d" + +#. TRANSLATORS: The reason the user is not asked "Press any +#. key to continue" is historical: many, many people used to +#. ask "where is the key?" :-) +#: src/help.c:486 src/intf.c:3026 +#, c-format +msgid "[ Press to continue ] " +msgstr "[ Apăsați pentru a continua ] " + +#. TRANSLATORS: The specific use of and +#. is not essential: you can use , , , +#. or instead of , and almost +#. any other key instead of (other than , +#. , , , or <\>). +#. Note that the maximum label length is 76 characters, +#. including the trailing space. +#: src/help.c:494 +#, c-format +msgid "[ Press to continue or for the previous page ] " +msgstr "[ Apăsați pentru a continua sau pentru pagina anterioară ] " + +#: src/intf.c:110 +#, c-format +msgid "%s: string has incorrect format: '%s'" +msgstr "%s: șirul are un format incorect: „%s”" + +#: src/intf.c:126 +#, c-format +msgid "%s: character has illegal width: '%lc'" +msgstr "%s: caracterul are lățimea ilegală: „%lc”" + +#: src/intf.c:435 +#, c-format +msgid "terminal size is too small (%d x %d required)" +msgstr "dimensiunea terminalului este prea mică (%d x %d necesar)" + +#: src/intf.c:1267 +#, c-format +msgid "mkchstr_conv: NUL" +msgstr "mkchstr_conv: NUL" + +#: src/intf.c:1559 +#, c-format +msgid "mkchstr: '%s'" +msgstr "mkchstr: „%s”" + +#. TRANSLATORS: This string specifies the keycodes used to insert the +#. default value into the input string, if entered as the very first +#. character. Ideally, it should contain an easily-accessible +#. keycode that would NOT be used in ordinary input. Digits, ".", +#. ",", "+" and "-" are definitely NOT acceptable. +#: src/intf.c:2011 +msgctxt "input|DefaultValue" +msgid "=;" +msgstr "=;" + +#: src/intf.c:2025 src/intf.c:2070 +#, c-format +msgid "gettxline: illegal character in string: '%ls'" +msgstr "gettxline: caracter ilegal în șirul: „%ls”" + +#. TRANSLATORS: The strings with msgctxt "input|Yes" and +#. "input|No" contain the keycodes used to determine whether a +#. user is answering "Yes" or "No" in response to some question. +#. Both upper and lower-case versions should be present. +#: src/intf.c:2943 +msgctxt "input|Yes" +msgid "Yy" +msgstr "Dd" + +#: src/intf.c:2945 +msgctxt "input|No" +msgid "Nn" +msgstr "Nn" + +#. TRANSLATORS: The strings "Yes" and "No" are printed as a +#. response to user input in answer to questions like "Are you +#. sure? [Y/N] " +#: src/intf.c:2996 +msgctxt "answer" +msgid "Yes" +msgstr "Da" + +#: src/intf.c:2998 +msgctxt "answer" +msgid "No" +msgstr "Nu" + +#: src/utils.c:596 src/utils.c:617 +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/utils.c:622 +msgid ": " +msgstr ": " + +#: src/utils.c:635 +#, c-format +msgid "out of memory" +msgstr "memorie insuficientă" + +#: src/utils.c:1375 +#, c-format +msgid "xmbstowcs: '%s'" +msgstr "xmbstowcs: „%s”" + +#: src/utils.c:1415 +#, c-format +msgid "xwcrtomb: NUL" +msgstr "xwcrtomb: NUL" + +#: src/utils.c:1420 +#, c-format +msgid "xwcrtomb: '%lc'" +msgstr "xwcrtomb: „%lc”" + +#: lib/getopt.c:282 lib/obsolete-strings.c:63 +#, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: opțiunea „%s%s” este ambiguă\n" + +#: lib/getopt.c:288 lib/obsolete-strings.c:65 +#, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: opțiunea „%s%s” este ambiguă; posibilități:" + +#: lib/getopt.c:322 lib/obsolete-strings.c:67 +#, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: opțiune nerecunoscută „%s%s”\n" + +#: lib/getopt.c:348 lib/obsolete-strings.c:69 +#, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: opțiunea „%s%s” nu permite un argument\n" + +#: lib/getopt.c:363 lib/obsolete-strings.c:71 +#, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: opțiunea „%s%s” necesită un argument\n" + +#: lib/getopt.c:624 lib/obsolete-strings.c:73 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: opțiune nevalidă -- „%c”\n" + +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: opțiunea necesită un argument -- „%c”\n" + +#. TRANSLATORS: Older versions of the GNU Gettext library utilities +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source +#. code directory. +#: lib/obsolete-strings.c:48 +msgid "trader" +msgstr "trader" + +#. TRANSLATORS: These strings are used in older versions of various +#. libraries, such as the GNU C Library as released with various +#. Linux distributions. +#: lib/obsolete-strings.c:62 +#, c-format +msgid "%s: option `%s%s' is ambiguous\n" +msgstr "%s: opțiunea „%s%s” este ambiguă\n" + +#: lib/obsolete-strings.c:64 +#, c-format +msgid "%s: option `%s%s' is ambiguous; possibilities:" +msgstr "%s: opțiunea „%s%s” este ambiguă; posibilități:" + +#: lib/obsolete-strings.c:66 +#, c-format +msgid "%s: unrecognized option `%s%s'\n" +msgstr "%s: opțiune nerecunoscută „%s%s”\n" + +#: lib/obsolete-strings.c:68 +#, c-format +msgid "%s: option `%s%s' doesn't allow an argument\n" +msgstr "%s: opțiunea „%s%s” nu permite un argument\n" + +#: lib/obsolete-strings.c:70 +#, c-format +msgid "%s: option `%s%s' requires an argument\n" +msgstr "%s: opțiunea „%s%s” necesită un argument\n" + +#: lib/obsolete-strings.c:72 +#, c-format +msgid "%s: invalid option -- `%c'\n" +msgstr "%s: opțiune nevalidă -- „%c”\n" + +#: lib/obsolete-strings.c:74 +#, c-format +msgid "%s: option requires an argument -- `%c'\n" +msgstr "%s: opțiunea necesită un argument -- „%c”\n" + +#: lib/obsolete-strings.c:77 +#, c-format +msgid "%s: option `%s' is ambiguous; possibilities:" +msgstr "%s: opțiunea „%s” este ambiguă; posibilități:" + +#: lib/obsolete-strings.c:78 +#, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" +msgstr "%s: opțiunea „%s” este ambiguă; posibilități:" + +#: lib/obsolete-strings.c:79 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: opțiunea „%s” este ambiguă\n" + +#: lib/obsolete-strings.c:80 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: opțiunea „%s” este ambiguă\n" + +#: lib/obsolete-strings.c:81 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: opțiunea „--%s” nu permite argumente\n" + +#: lib/obsolete-strings.c:82 +#, c-format +msgid "%s: option '--%s' doesn't allow an argument\n" +msgstr "%s: opțiunea „--%s” nu permite argumente\n" + +#: lib/obsolete-strings.c:83 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: opțiunea „%c%s” nu permite argumente\n" + +#: lib/obsolete-strings.c:84 +#, c-format +msgid "%s: option '%c%s' doesn't allow an argument\n" +msgstr "%s: opțiunea „%c%s” nu permite argumente\n" + +#: lib/obsolete-strings.c:85 +#, c-format +msgid "%s: option `--%s' requires an argument\n" +msgstr "%s: opțiunea „--%s” necesită un argument\n" + +#: lib/obsolete-strings.c:86 +#, c-format +msgid "%s: option '--%s' requires an argument\n" +msgstr "%s: opțiunea „--%s” necesită un argument\n" + +#: lib/obsolete-strings.c:87 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: opțiune nerecunoscută „--%s”\n" + +#: lib/obsolete-strings.c:88 +#, c-format +msgid "%s: unrecognized option '--%s'\n" +msgstr "%s: opțiune nerecunoscută „--%s”\n" + +#: lib/obsolete-strings.c:89 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: opțiune nerecunoscută „%c%s”\n" + +#: lib/obsolete-strings.c:90 +#, c-format +msgid "%s: unrecognized option '%c%s'\n" +msgstr "%s: opțiune nerecunoscută „%c%s”\n" + +#: lib/obsolete-strings.c:91 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: opțiunea „-W %s” este ambiguă\n" + +#: lib/obsolete-strings.c:92 +#, c-format +msgid "%s: option '-W %s' is ambiguous\n" +msgstr "%s: opțiunea „-W %s” este ambiguă\n" + +#: lib/obsolete-strings.c:93 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: opțiunea „-W %s” nu permite argumente\n" + +#: lib/obsolete-strings.c:94 +#, c-format +msgid "%s: option '-W %s' doesn't allow an argument\n" +msgstr "%s: opțiunea „-W %s” nu permite argumente\n" + +#: lib/obsolete-strings.c:95 +#, c-format +msgid "%s: option `-W %s' requires an argument\n" +msgstr "%s: opțiunea „-W %s” necesită un argument\n" + +#: lib/obsolete-strings.c:96 +#, c-format +msgid "%s: option '-W %s' requires an argument\n" +msgstr "%s: opțiunea „-W %s” necesită un argument\n" diff --git a/po/ru.gmo b/po/ru.gmo index fde6759..07e4bcd 100644 Binary files a/po/ru.gmo and b/po/ru.gmo differ diff --git a/po/ru.po b/po/ru.po index b2f811c..4e97106 100644 --- a/po/ru.po +++ b/po/ru.po @@ -2,23 +2,23 @@ # * * # * Russian Translations for Star Traders * # * Русский перевод для игры «Звёздные торговцы» * -# * Copyright (C) 1990-2022, John Zaitseff * +# * Copyright (C) 1990-2024, John Zaitseff * # * * # ************************************************************************* # # This file is distributed under the same license as the trader package. # # Contributors: -# John Zaitseff , 2011-2022. +# John Zaitseff , 2011-2024. # Vladimir B. Tsarkov , 2012. # Pavel Maryanov , 2012. # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:46+1100\n" "Last-Translator: John Zaitseff \n" "Language-Team: Russian \n" "Language: ru\n" @@ -31,22 +31,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Звёздные торговцы" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Играть в «Звёздные торговцы», простую игру о межзвёздной торговле" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "игра;межзвёздная;торговля;стратегия;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -54,10 +54,14 @@ msgstr "" "«Звёздные торговцы» — это простая игра о межзвёздной торговле, где целью игры является создание компаний, покупка и продажа " "акций, получение и погашение кредита, чтобы стать самым богатым игроком-победителем." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Скриншот из игры «Звёздные торговцы»" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1707,47 +1711,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: «%lc»" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: неоднозначный ключ «%s%s»\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: неоднозначный ключ «%s%s»; возможности:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: неизвестный ключ «%s%s»\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: ключ «%s%s» должен использоваться без аргумента\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: ключ «%s%s» должен использоваться с аргументом\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: неверный ключ «%c»\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: ключ «%c» должен использоваться с аргументом\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/sr.gmo b/po/sr.gmo index e893234..8e09289 100644 Binary files a/po/sr.gmo and b/po/sr.gmo differ diff --git a/po/sr.po b/po/sr.po index e318bb1..a2561d7 100644 --- a/po/sr.po +++ b/po/sr.po @@ -1,7 +1,7 @@ # ************************************************************************* # * * # * Serbian Translation for Star Traders * -# * Copyright (C) 2016-22, John Zaitseff * +# * Copyright (C) 2016-24, John Zaitseff * # * Copyright (C) 2016-17, Free Software Foundation, Inc. * # * * # ************************************************************************* @@ -13,10 +13,10 @@ # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:09+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: Мирослав Николић \n" "Language-Team: Serbian <(nothing)>\n" "Language: sr\n" @@ -30,22 +30,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Звездани трговци" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Играјте Звездане трговце, једноставну игру међузвезданог трговања" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "игра;међузвездано;трговање;стратегија;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -53,10 +53,14 @@ msgstr "" "Звездани трговци је једноставна игра међузвезданог трговања, где је циљ стварање компанија, куповина и продаја акција, " "позајмљивање и враћање новца, како би се постао најбогатији играч (победник)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "Џон Зајцеф (John Zaitseff)" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Снимак екрана са Звездани трговци" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1699,47 +1703,47 @@ msgstr "xwcrtomb: НИШТА" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: „%lc“" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: опција „%s%s“ је нејасна\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: опција „%s%s“ је нејасна; могућности:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: непозната опција „%s%s“\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: опција „%s%s“ не дозвољава аргумент\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: опција „%s%s“ захтева аргумент\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: неисправна опција -- „%c“\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: опција захтева аргумент -- „%c“\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/sv.gmo b/po/sv.gmo index f994e6f..df18e31 100644 Binary files a/po/sv.gmo and b/po/sv.gmo differ diff --git a/po/sv.po b/po/sv.po index 8e51e17..1340e92 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,7 +1,7 @@ # ************************************************************************* # * * # * Swedish Translations for Star Traders * -# * Copyright (C) 2015-22, John Zaitseff * +# * Copyright (C) 2015-24, John Zaitseff * # * * # ************************************************************************* # @@ -12,10 +12,10 @@ # msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" -"PO-Revision-Date: 2022-08-03 20:10+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-03 19:20+1100\n" "Last-Translator: Anders Jonsson \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -29,22 +29,22 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "Star Traders" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "Spela Star Traders, ett enkelt spel om interstellär handel" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "spel;interstellär;handel;strategi;" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." @@ -52,10 +52,14 @@ msgstr "" "Star Traders är ett enkelt spel om interstellär handel, där målet är att skapa företag, köpa och sälja aktier, låna och betala " "tillbaka pengar, allt för att bli den rikaste spelaren (vinnaren)." -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "John Zaitseff" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Skärmdump från Star Traders" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1702,47 +1706,47 @@ msgstr "xwcrtomb: NUL" msgid "xwcrtomb: '%lc'" msgstr "xwcrtomb: ”%lc”" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "%s: flaggan ”%s%s” är tvetydig\n" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "%s: flaggan ”%s%s” är tvetydig; möjligheter:" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "%s: okänd flagga ”%s%s”\n" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "%s: flaggan ”%s%s” tar inget argument\n" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "%s: flaggan ”%s%s” kräver ett argument\n" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "%s: ogiltig flagga -- ”%c”\n" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "%s: flaggan kräver ett argument -- ”%c”\n" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/trader.pot b/po/trader.pot index dc5521f..febb9c1 100644 --- a/po/trader.pot +++ b/po/trader.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: trader 7.18\n" +"Project-Id-Version: trader 7.19\n" "Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" -"POT-Creation-Date: 2022-08-03 20:12+1000\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,31 +22,35 @@ msgstr "" #. your own language (recommended) or keep it the same as the English #. version. Feel free to look through other translations to see how #. others have done this. -#: data/trader.desktop.in:23 data/trader.appdata.xml.in:26 src/intf.c:611 +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 #, c-format msgid "Star Traders" msgstr "" -#: data/trader.desktop.in:24 data/trader.appdata.xml.in:27 +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 msgid "Play Star Traders, a simple game of interstellar trading" msgstr "" #. TRANSLATORS: A list of keywords describing Star Traders. By all means #. add your own keywords! -#: data/trader.desktop.in:27 +#: data/au.org.zap.trader.desktop.in:27 msgid "game;interstellar;trading;strategy;" msgstr "" -#: data/trader.appdata.xml.in:29 +#: data/au.org.zap.trader.metainfo.xml.in:29 msgid "" "Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " "and repay money, in order to become the wealthiest player (the winner)." msgstr "" -#: data/trader.appdata.xml.in:47 +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 msgid "John Zaitseff" msgstr "" +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "" + #: src/trader.c:238 #, c-format msgid "%s: invalid value for --max-turn: '%s'\n" @@ -1519,47 +1523,47 @@ msgstr "" msgid "xwcrtomb: '%lc'" msgstr "" -#: lib/getopt.c:278 lib/obsolete-strings.c:63 +#: lib/getopt.c:282 lib/obsolete-strings.c:63 #, c-format msgid "%s: option '%s%s' is ambiguous\n" msgstr "" -#: lib/getopt.c:284 lib/obsolete-strings.c:65 +#: lib/getopt.c:288 lib/obsolete-strings.c:65 #, c-format msgid "%s: option '%s%s' is ambiguous; possibilities:" msgstr "" -#: lib/getopt.c:319 lib/obsolete-strings.c:67 +#: lib/getopt.c:322 lib/obsolete-strings.c:67 #, c-format msgid "%s: unrecognized option '%s%s'\n" msgstr "" -#: lib/getopt.c:345 lib/obsolete-strings.c:69 +#: lib/getopt.c:348 lib/obsolete-strings.c:69 #, c-format msgid "%s: option '%s%s' doesn't allow an argument\n" msgstr "" -#: lib/getopt.c:360 lib/obsolete-strings.c:71 +#: lib/getopt.c:363 lib/obsolete-strings.c:71 #, c-format msgid "%s: option '%s%s' requires an argument\n" msgstr "" -#: lib/getopt.c:621 lib/obsolete-strings.c:73 +#: lib/getopt.c:624 lib/obsolete-strings.c:73 #, c-format msgid "%s: invalid option -- '%c'\n" msgstr "" -#: lib/getopt.c:636 lib/getopt.c:682 lib/obsolete-strings.c:75 +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 #, c-format msgid "%s: option requires an argument -- '%c'\n" msgstr "" #. TRANSLATORS: Older versions of the GNU Gettext library utilities -#. treat the Icon value in data/trader.desktop.in as a translatable -#. string. That string, the name of the icon to use, is defined here -#. for those older versions of xgettext(1). Unless you provide a -#. matching icon, please leave it as "trader": this will use -#. trader.svg and the various trader.png files in the data source +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source #. code directory. #: lib/obsolete-strings.c:48 msgid "trader" diff --git a/po/uk.gmo b/po/uk.gmo new file mode 100644 index 0000000..8457123 Binary files /dev/null and b/po/uk.gmo differ diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..f0b9bed --- /dev/null +++ b/po/uk.po @@ -0,0 +1,1894 @@ +# ************************************************************************* +# * * +# * Ukrainian Translations for Star Traders * +# * Український переклад на гру «Зоряні торговці» * +# * Copyright (C) 1990-2024, John Zaitseff * +# * * +# ************************************************************************* +# +# This file is distributed under the same license as the trader package. +# +# Contributors: +# John Zaitseff , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: trader 7.19\n" +"Report-Msgid-Bugs-To: J.Zaitseff@zap.org.au\n" +"POT-Creation-Date: 2024-01-05 16:49+1100\n" +"PO-Revision-Date: 2024-01-04 00:00+1100\n" +"Last-Translator: John Zaitseff \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#. TRANSLATORS: The name of the game. You may choose to translate it into +#. your own language (recommended) or keep it the same as the English +#. version. Feel free to look through other translations to see how +#. others have done this. +#: data/au.org.zap.trader.desktop.in:23 data/au.org.zap.trader.metainfo.xml.in:26 src/intf.c:611 +#, c-format +msgid "Star Traders" +msgstr "Зоряні торговці" + +#: data/au.org.zap.trader.desktop.in:24 data/au.org.zap.trader.metainfo.xml.in:27 +msgid "Play Star Traders, a simple game of interstellar trading" +msgstr "Грати в «Зоряні торговці», просту гру про міжзоряну торгівлю" + +#. TRANSLATORS: A list of keywords describing Star Traders. By all means +#. add your own keywords! +#: data/au.org.zap.trader.desktop.in:27 +msgid "game;interstellar;trading;strategy;" +msgstr "гра;міжзоряна;торгівля;стратегія;" + +#: data/au.org.zap.trader.metainfo.xml.in:29 +msgid "" +"Star Traders is a simple game of interstellar trading, where the objective is to create companies, buy and sell shares, borrow " +"and repay money, in order to become the wealthiest player (the winner)." +msgstr "" +"«Зоряні торговці» — це проста гра про міжзоряну торгівлю, де метою гри є створення компаній, купівля та продаж акцій, отримання " +"та погашення кредиту, щоб стати найбагатшим гравцем-переможцем." + +#: data/au.org.zap.trader.metainfo.xml.in:47 data/au.org.zap.trader.metainfo.xml.in:49 +msgid "John Zaitseff" +msgstr "John Zaitseff" + +#: data/au.org.zap.trader.metainfo.xml.in:56 +msgid "Star Traders screenshot" +msgstr "Скріншот із гри «Зоряні торговці»" + +#: src/trader.c:238 +#, c-format +msgid "%s: invalid value for --max-turn: '%s'\n" +msgstr "%s: недійсне значення аргументу для --max-turn: «%s»\n" + +#: src/trader.c:254 +#, c-format +msgid "%s: invalid operand '%s'\n" +msgstr "%s: недійсний аргумент «%s»\n" + +#: src/trader.c:263 +#, c-format +msgid "%s: invalid game number '%s'\n" +msgstr "%s: недійсний номер гри «%s»\n" + +#: src/trader.c:272 +#, c-format +msgid "%s: extra operand '%s'\n" +msgstr "%s: зайвий аргумент «%s»\n" + +#. TRANSLATORS: "John Zaitseff" [IPA d͡ʒɒn ˈzaɪ̯t͡səf] is the proper +#. name of the author. The IPA pronunciation in this comment is in +#. UTF-8 encoding. +#: src/trader.c:287 +#, c-format +msgid "" +"Star Traders (%s) %s\n" +"Copyright (C) %s, John Zaitseff.\n" +"\n" +"Star Traders is a simple game of interstellar trading, where the object\n" +"of the game is to create companies, buy and sell shares, borrow and repay\n" +"money, in order to become the wealthiest player (the winner).\n" +"\n" +"This program is free software that is distributed under the terms of the\n" +"GNU General Public License, version 3 or later. You are welcome to\n" +"modify and/or distribute it under certain conditions. This program has\n" +"NO WARRANTY, to the extent permitted by law; see the License for details.\n" +msgstr "" +"Зоряні торговці / Star Traders (%s) %s\n" +"Copyright (C) %s, John Zaitseff.\n" +"\n" +"«Зоряні торговці» — це проста гра про міжзоряну торгівлю, де метою гри є\n" +"створення компаній, купівля та продаж акцій, отримання та погашення кредиту,\n" +"щоб стати найбагатшим гравцем-переможцем.\n" +"\n" +"Це вільне програмне забезпечення, яке розповсюджується згідно з GNU\n" +"General Public License версії 3 або новіше. Ви можете модифікувати та/або\n" +"розповсюджувати його на цих умовах. На програму не надається НІЯКИХ ГАРАНТІЙ\n" +"до ступеня, дозволеного законом. Для отримання більш детальної інформації\n" +"зверніться до веб-сторінки .\n" + +#: src/trader.c:311 +#, c-format +msgid "%s: Try '%s --help' for more information.\n" +msgstr "%s: Спробуйте «%s --help» для отримання більш детального опису.\n" + +#: src/trader.c:314 +#, c-format +msgid "Usage: %s [OPTION ...] [GAME]\n" +msgstr "Використання: %s [КЛЮЧ ...] [ГРА]\n" + +#: src/trader.c:315 +#, c-format +msgid "" +"Play Star Traders, a simple game of interstellar trading.\n" +"\n" +msgstr "" +"Грати в «Зоряні торговці», просту гру про міжзоряну торгівлю.\n" +"\n" + +#: src/trader.c:318 +#, c-format +msgid "" +"Options:\n" +" -V, --version output version information and exit\n" +" -h, --help display this help and exit\n" +" --no-color don't use color for displaying text\n" +" --max-turn=NUM set the number of turns to NUM\n" +"\n" +msgstr "" +"Ключі:\n" +" -V, --version показати інформацію про версію та вийти\n" +" -h, --help показати цю довідку та вийти\n" +" --no-color не користуватися квітами під час гри\n" +" --max-turn=НОМЕР встановити НОМЕР як максимальний хід гри\n" +"\n" + +#: src/trader.c:325 +#, c-format +msgid "" +"If GAME is specified as a number between 1 and 9, load and continue\n" +"playing that game. If GAME is not specified, start a new game.\n" +"\n" +msgstr "" +"Якщо в якості аргументу ГРА вказано число від 1 до 9, завантажити та\n" +"продовжувати відповідну збережену гру. За замовчуванням почати нову\n" +"гру.\n" +"\n" + +#. TRANSLATORS: The first %s is the proper name of the package +#. author, John Zaitseff [IPA d͡ʒɒn ˈzaɪ̯t͡səf]; the second %s is +#. the email address for reporting bugs. Please add ANOTHER line +#. with the (translated) text "Report translation bugs to +#.
\n", with ADDRESS replaced with either an email +#. address or web URL for reporting bugs in your translation. +#: src/trader.c:337 +#, c-format +msgid "Report bugs to %s <%s>.\n" +msgstr "" +"Про помилки повідомляйте на адресу %s <%s>.\n" +"Про помилки в українському перекладі повідомляйте за тією ж адресою.\n" + +#. TRANSLATORS: %s is the email address for reporting bugs. As +#. with the previous string, please add ANOTHER line with the +#. (translated) text "Report translation bugs to
\n", +#. with ADDRESS replaced with either an email address or web URL +#. for reporting bugs in your translation. +#: src/trader.c:344 +#, c-format +msgid "Report bugs to <%s>.\n" +msgstr "" +"Про помилки повідомляйте на адресу <%s>.\n" +"Про помилки в українському перекладі повідомляйте за тією ж адресою.\n" + +#. TRANSLATORS: The first %s is for packagers and may be +#. something like "Debian". +#: src/trader.c:349 +#, c-format +msgid "Report %s bugs to <%s>.\n" +msgstr "Про помилки у %s повідомляйте на адресу <%s>.\n" + +#: src/trader.c:352 +#, c-format +msgid "Star Traders home page: <%s>.\n" +msgstr "" +"Домашня сторінка гри «Зоряні торговці»:\n" +" %s\n" + +#. TRANSLATORS: The eight company names do NOT have to be literal +#. translations of the English names. In fact, if possible, the +#. names should start with successive letters of your alphabet (in +#. English, for example, "A" to "H"), and, ideally, be related to +#. constellations or stars in our galaxy. No company name should be +#. more than 24 characters (column positions, to be precise) long. +#: src/globals.c:47 +msgid "Altair Starways" +msgstr "Альтаїрські торговці" + +#: src/globals.c:48 +msgid "Betelgeuse, Ltd" +msgstr "ВАТ «Бетельгейзе»" + +#: src/globals.c:49 +msgid "Capella Freight Co" +msgstr "Візники вегавські" + +#: src/globals.c:50 +msgid "Denebola Shippers" +msgstr "Гідрівські відправники" + +#: src/globals.c:51 +msgid "Eridani Expediters" +msgstr "Диспетчери Денеболи" + +#: src/globals.c:52 +msgid "Fornax Express" +msgstr "Експедитори Ерідані" + +#: src/globals.c:53 +msgid "Gemini Inc" +msgstr "Єдинодушні трейдери" + +#: src/globals.c:54 +msgid "Hercules and Co" +msgstr "Живий брокер Капели" + +#. TRANSLATORS: This string specifies the keycodes (keyboard input +#. codes) used to enter the Stock Transaction window for each +#. company. There must be exactly eight characters, one for each +#. company in order, before the ASCII vertical line "|"; these must +#. be EITHER all in upper-case or all in lower-case. If at all +#. possible, these should be successive letters in your alphabet (in +#. English, "A" to "H"). Do NOT use digits or control characters. +#. Do not change or translate anything after the vertical line. +#: src/globals.c:68 +msgid "ABCDEFGH|input|Companies" +msgstr "АБВГДЕЄЖ|input|Companies" + +#. TRANSLATORS: This string specifies the keycodes used to select a +#. game move. There must be exactly 20 characters, one for each +#. move, before the ASCII vertical line "|"; these must be EITHER all +#. in upper-case or all in lower-case. If at all possible, these +#. should be successive letters in your alphabet. Do NOT use digits +#. or control characters. Do not change or translate anything after +#. the vertical line. +#: src/globals.c:80 +msgid "ABCDEFGHIJKLMNOPQRST|input|GameMoves" +msgstr "АБВГДЕЄЖЗИІЇЙКЛМНОПР|input|GameMoves" + +#. TRANSLATORS: This string is used to display the galaxy map to +#. screen. There must be exactly 11 characters before the ASCII +#. vertical line. The first ("." in English) is used for empty +#. space, the second ("+") for outposts, the third ("*") for stars, +#. the remaining for the eight companies. Do not change or translate +#. anything after the vertical line. Double-width characters ARE +#. handled correctly. +#: src/globals.c:92 +msgid ".+*ABCDEFGH|output|MapVals" +msgstr ".+*АБВГДЕЄЖ|output|MapVals" + +#. TRANSLATORS: This string is used to display the game moves +#. (choices). There must be exactly 20 characters (NUMBER_MOVES) +#. before the ASCII vertical line. The first character corresponds +#. to the first character in the "input|GameMoves" string, and so on. +#. Do not change or translate anything after the vertical line. +#. Double-width characters ARE handled correctly. +#: src/globals.c:103 +msgid "abcdefghijklmnopqrst|output|GameMoves" +msgstr "абвгдеєжзиіїйклмнопр|output|GameMoves" + +#. TRANSLATORS: The ordinal strings "1st" to "8th" are used in the +#. Game Winner dialog box at the end of the game. If ordinals depend +#. on the gender of the player, it may be simpler to list cardinal +#. numbers instead (eg, "No. 1"). Up to five characters are allowed +#. (see ORDINAL_COLS in src/intf.h). +#: src/globals.c:114 +msgid "1st" +msgstr "1-й" + +#: src/globals.c:115 +msgid "2nd" +msgstr "2-й" + +#: src/globals.c:116 +msgid "3rd" +msgstr "3-й" + +#: src/globals.c:117 +msgid "4th" +msgstr "4-й" + +#: src/globals.c:118 +msgid "5th" +msgstr "5-й" + +#: src/globals.c:119 +msgid "6th" +msgstr "6-й" + +#: src/globals.c:120 +msgid "7th" +msgstr "7-й" + +#: src/globals.c:121 +msgid "8th" +msgstr "8-й" + +#: src/game.c:117 src/game.c:152 +#, c-format +msgid "Loading game %d... " +msgstr "Завантажується гра №%d... " + +#: src/game.c:226 +#, c-format +msgid " First Player " +msgstr " Перший гравець " + +#: src/game.c:227 +#, c-format +msgid "The first player to go is ^{%ls^}." +msgstr "Першого гравця обрано: ^{%ls^}." + +#. TRANSLATORS: The keycode should be modified to +#. match that (or those) specified with msgctxt +#. "input|ContinueGame". +#: src/game.c:259 +#, c-format +msgid "Enter number of players [^{1^}-^{%d^}] or ^{^} to continue a game: " +msgstr "Введіть кількість гравців [^{1^}-^{%d^}] або ^{<П>^} для продовження старої гри: " + +#. TRANSLATORS: This string specifies the keycodes used to continue a +#. game; these must NOT contain any numeric digit from 1 to 9. The +#. first character (keyboard input code) is used to print the user's +#. response if one of those keys is pressed. Both upper and +#. lower-case versions should be present. +#: src/game.c:276 +msgctxt "input|ContinueGame" +msgid "Cc" +msgstr "Пп" + +#: src/game.c:341 src/move.c:413 +#, c-format +msgid "Enter game number [^{1^}-^{9^}] or ^{^} to cancel: " +msgstr "Введіть номер гри [^{1^}-^{9^}], або ^{^}, щоб скасувати: " + +#: src/game.c:406 +#, c-format +msgid "Please enter your name: " +msgstr "Ваше ім'я: " + +#. TRANSLATORS: Note that you should replace "Y" and "N" +#. with the localised upper-case characters used in the +#. "input|Yes" and "input|No" strings. There are other +#. strings in this game, each with "[^{Y^}/^{N^}]", that +#. need the same replacement. +#: src/game.c:430 +#, c-format +msgid "Do you need any instructions? [^{Y^}/^{N^}] " +msgstr "Показати довідку про те, як грати? [^{Т^}/^{Н^}] " + +#: src/game.c:448 +#, c-format +msgid " Enter Player Names " +msgstr " Імена гравців " + +#: src/game.c:456 +#, c-format, range: 1..8 +msgid "Player %d: " +msgstr "Гравець №%d: " + +#: src/game.c:534 +#, c-format +msgid "Does any player need instructions? [^{Y^}/^{N^}] " +msgstr "Показати довідку про те, як грати? [^{Т^}/^{Н^}] " + +#: src/game.c:568 +#, c-format +msgid " Game Over " +msgstr " Кінець гри " + +#: src/game.c:569 +#, c-format +msgid "The game is over after one turn." +msgid_plural "The game is over after %d turns." +msgstr[0] "Гра закінчена після %d-го ходу." +msgstr[1] "Гра закінчена після %d-го ходу." +msgstr[2] "Гра закінчена після %d-го ходу." + +#: src/game.c:580 +#, c-format +msgid " Total Value " +msgstr " Загальна вартість " + +#: src/game.c:582 +#, c-format +msgid "Your total value was ^{%N^}." +msgstr "Ваша загальна вартість дорівнює ^{%N^}." + +#: src/game.c:593 +#, c-format +msgid "" +"The winner is ^{%ls^}\n" +"who is ^[*** BANKRUPT ***^]" +msgstr "" +"Переможець гри — ^{%ls^},\n" +"який є ^[*** БАНКРОТОМ ***^]" + +#: src/game.c:596 +#, c-format +msgid "" +"The winner is ^{%ls^}\n" +"with a value of ^{%N^}." +msgstr "" +"Переможець гри — ^{%ls^}!\n" +"Загальна вартість цього гравця дорівнює ^{%N^}." + +#: src/game.c:602 +#, c-format +msgid " Game Winner " +msgstr " Переможець гри " + +#. TRANSLATORS: "Player" is used as a column title in a +#. table containing all player names. +#: src/game.c:611 src/move.c:882 +#, c-format +msgctxt "subtitle" +msgid "Player" +msgstr "Гравець" + +#. TRANSLATORS: "Total Value" refers to the total worth +#. (shares, cash and debt) of any given player. %ls is the +#. currency symbol of the current locale. +#: src/game.c:616 +#, c-format +msgctxt "subtitle" +msgid "Total Value (%ls)" +msgstr "Загальна вартість (%ls)" + +#: src/game.c:650 src/game.c:700 src/exch.c:100 +#, c-format +msgid "Player: ^{%ls^}" +msgstr "Гравець: ^{%ls^}" + +#: src/game.c:653 +#, c-format +msgid " Turn: ^{%d^} " +msgstr " Хід: ^{%d-й^} " + +#: src/game.c:654 +#, c-format +msgid " ^[*** Last Turn ***^] " +msgstr " ^[*** Крайній хід ***^] " + +#: src/game.c:698 +#, c-format +msgid " Stock Portfolio " +msgstr " Портфель акцій " + +#. TRANSLATORS: The current player is bankrupt (has no +#. shares or cash, ie, whose total value is zero) +#: src/game.c:707 +#, c-format +msgid "^[* * * B A N K R U P T * * *^]" +msgstr "^[* * * З Б А Н К Р О Т И С Я * * *^]" + +#: src/game.c:722 src/exch.c:112 +#, c-format +msgid "No companies on the map" +msgstr "Немає акціонерних товариств на карті" + +#. TRANSLATORS: "Company" is a two-line column label in +#. a table containing a list of companies. +#: src/game.c:730 src/exch.c:120 +#, c-format +msgctxt "subtitle" +msgid "" +" \n" +"Company" +msgstr "" +" \n" +"Фірма" + +#. TRANSLATORS: "Ownership" is a two-line column label +#. in a table containing the current player's +#. percentage ownership in any given company. The +#. maximum column width is 10 characters (see +#. OWNERSHIP_COLS in src/intf.h). +#: src/game.c:737 +#, c-format +msgctxt "subtitle" +msgid "" +"Ownership\n" +"(%%)" +msgstr "" +"Володіння\n" +"(%%)" + +#. TRANSLATORS: "Holdings" is a two-line column label +#. in a table containing the number of shares the +#. current player owns in any given company. The +#. maximum column width is 10 characters (see +#. STOCK_OWNED_COLS in src/intf.h). +#: src/game.c:744 +#, c-format +msgctxt "subtitle" +msgid "" +"Holdings\n" +"(shares)" +msgstr "" +"Володіння\n" +"(акції)" + +#. TRANSLATORS: "Return" is a two-line column label in +#. a table containing the share return as a percentage +#. in any given company. The maximum column width is +#. 10 characters (see SHARE_RETURN_COLS in src/intf.h). +#: src/game.c:751 src/exch.c:141 +#, c-format +msgctxt "subtitle" +msgid "" +"Return\n" +"(%%)" +msgstr "" +"Повернення\n" +"(%%)" + +#. TRANSLATORS: "Price per share" is a two-line column +#. label in a table containing the price per share in +#. any given company. %ls is the currency symbol in +#. the current locale. The maximum column width is 12 +#. characters INCLUDING the currency symbol (see +#. SHARE_PRICE_COLS in src/intf.h). +#: src/game.c:760 src/exch.c:150 +#, c-format +msgctxt "subtitle" +msgid "" +"Price per\n" +"share (%ls)" +msgstr "" +"Ціна\n" +"акції (%ls)" + +#. TRANSLATORS: The "Total value", "Current cash", +#. "Current debt" and "Interest rate" labels MUST all be +#. the same length (ie, right-padded with spaces as +#. needed) and must have at least one trailing space so +#. that the display routines work correctly. The maximum +#. length of each label is 36 characters. +#. +#. Note that some of these labels are used for both the +#. Player Status window and the Trading Bank window. +#: src/game.c:801 +#, c-format +msgctxt "label" +msgid "Total value: " +msgstr "Загальна вартість гравця: " + +#: src/game.c:805 src/exch.c:324 +#, c-format +msgctxt "label" +msgid "Current cash: " +msgstr "Поточна готівка: " + +#: src/game.c:812 src/exch.c:332 +#, c-format +msgctxt "label" +msgid "Current debt: " +msgstr "Поточна заборгованість: " + +#: src/game.c:818 src/exch.c:337 +#, c-format +msgctxt "label" +msgid "Interest rate: " +msgstr "Процентна ставка: " + +#. TRANSLATORS: Each label may be up to 37 characters wide +#. (for <1> and <2>) or 38 characters wide (for <3> and +#. ). The sequences "^{" and "^}" change the +#. character rendition (attributes) and take up no space. +#: src/move.c:246 src/exch.c:182 +#, c-format +msgid "^{<1>^} Display stock portfolio" +msgstr "^{<1>^} Показати портфель акцій" + +#: src/move.c:248 +#, c-format +msgid "^{<2>^} Declare bankruptcy" +msgstr "^{<2>^} Оголосити про банкрутство" + +#: src/move.c:250 +#, c-format +msgid "^{<3>^} Save and end the game" +msgstr "^{<3>^} Зберегти та вийти з гри" + +#: src/move.c:252 +#, c-format +msgid "^{^} Quit the game" +msgstr "^{^} Вийти з гри" + +#. TRANSLATORS: The maximum column width is either 38 +#. characters (including the trailing space), or 76 +#. characters minus the length of the longest of the four +#. strings above this one. The sequences "^{", "^}", +#. "^[" and "^]" do not take up any room. "%lc" takes up +#. either one or two columns, depending on the appropriate +#. "output|GameMoves" string in the current PO file. +#: src/move.c:263 +#, c-format +msgid "Select move [^[%lc^]-^[%lc^]/^{1^}-^{3^}/^{^}]: " +msgstr "Введіть вибір [^[%lc^]-^[%lc^]/^{1^}-^{3^}/^{^}]: " + +#. TRANSLATORS: A game usually consists of +#. DEFAULT_MAX_TURN (50) turns. On each +#. turn, the computer randomly selects +#. NUMBER_MOVES (20) moves (positions on the +#. map); each player selects just one move +#. per turn. "Move" refers to the player's +#. choice. +#: src/move.c:309 +#, c-format +msgid "Move ^{%lc^}" +msgstr "Позиція ^{%lc^}" + +#: src/move.c:330 +#, c-format +msgid "^{<2>^} (Declare bankruptcy)" +msgstr "^{<2>^} (Оголосити про банкрутство)" + +#: src/move.c:339 +#, c-format +msgid "^{<3>^} (Save and end the game)" +msgstr "^{<3>^} (Зберегти та вийти з гри)" + +#: src/move.c:360 +#, c-format +msgid "^{^} (Quit the game)" +msgstr "^{^} (Вийти з гри)" + +#: src/move.c:375 +#, c-format +msgid "Are you sure? [^{Y^}/^{N^}] " +msgstr "Ви впевнені? [^{Т^}/^{Н^}] " + +#: src/move.c:392 src/move.c:470 +#, c-format +msgid "Saving game %d... " +msgstr "Зберігається гра №%d... " + +#: src/move.c:700 src/move.c:708 src/move.c:1066 src/move.c:1103 +#, c-format +msgid " Bankruptcy Court " +msgstr " Арбітражний суд " + +#. TRANSLATORS: %ls is the player's name. +#: src/move.c:702 +#, c-format +msgid "%ls has been declared bankrupt by the Interstellar Trading Bank." +msgstr "Міжзоряний торговий банк повідомляє, що гравець %ls збанкрутував." + +#. TRANSLATORS: %ls is the player's name. +#: src/move.c:710 +#, c-format +msgid "%ls has declared bankruptcy." +msgstr "%ls оголошує про своє банкрутство." + +#: src/move.c:778 +#, c-format +msgid " New Company " +msgstr " Нова фірма " + +#: src/move.c:779 +#, c-format +msgid "" +"A new company has been formed!\n" +"Its name is ^{%ls^}." +msgstr "" +"Сформовано нове торгове підприємство!\n" +"Воно називається ^{%ls^}." + +#: src/move.c:838 +#, c-format +msgid "" +"^{%ls^} has just merged into ^{%ls^}.\n" +"Please note the following transactions:\n" +msgstr "Фірма ^{%ls^} щойно була поглинена фірмою ^{%ls^}. Зверніть увагу на такі транзакції:\n" + +#: src/move.c:844 +#, c-format +msgid " Company Merger " +msgstr " Злиття компаній " + +#. TRANSLATORS: "Old stock" refers to the company that has +#. just ceased existence due to a merger. +#. +#. Note that the "Old stock" and "New stock" labels MUST be +#. the same length and must contain a trailing space for the +#. display routines to work correctly. The maximum length of +#. each label is 36 characters. +#: src/move.c:864 +#, c-format +msgctxt "label" +msgid "Old stock: " +msgstr "Старі акції: " + +#. TRANSLATORS: "New stock" refers to the company that has +#. absorbed the other due to a merger. +#: src/move.c:875 +#, c-format +msgctxt "label" +msgid "New stock: " +msgstr "Нові акції: " + +#. TRANSLATORS: "Bonus" refers to the bonus cash amount paid to +#. each player after two companies merge. %ls is the currency +#. symbol in the current locale. The maximum column width is +#. 12 characters INCLUDING the currency symbol (see +#. MERGE_BONUS_COLS in src/intf.h). +#: src/move.c:889 +#, c-format +msgctxt "subtitle" +msgid "Bonus (%ls)" +msgstr "Бонус (%ls)" + +#. TRANSLATORS: "Total" refers to the total number of shares in +#. the new company after a merger. The maximum column width is +#. 8 characters (see MERGE_TOTAL_STOCK_COLS in src/intf.h). +#: src/move.c:894 +#, c-format +msgctxt "subtitle" +msgid "Total" +msgstr "Підсумок" + +#. TRANSLATORS: "New" refers to how many (new) shares each +#. player receives in the surviving company after a merger. +#. The maximum column width is 8 characters (see +#. MERGE_NEW_STOCK_COLS in src/intf.h). +#: src/move.c:901 +#, c-format +msgctxt "subtitle" +msgid "New" +msgstr "Нові" + +#. TRANSLATORS: "Old" refers to how many shares each player had +#. in the company ceasing existence. The maximum column width +#. is 8 characters (see MERGE_OLD_STOCK_COLS in src/intf.h). +#: src/move.c:907 +#, c-format +msgctxt "subtitle" +msgid "Old" +msgstr "Старі" + +#. TRANSLATORS: %ls represents the company name. +#: src/move.c:1068 +#, c-format +msgid "" +"%ls has been declared bankrupt by the Interstellar Trading Bank.\n" +"\n" +"^{All assets have been taken to repay outstanding loans.^}" +msgstr "" +"Міжзоряний торговий банк повідомляє, що фірма %ls збанкрутувала.\n" +"\n" +"^{Усі активи використано банком, щоб погасити борги фірми.^}" + +#. TRANSLATORS: %ls represents the company name. +#: src/move.c:1092 +#, c-format +msgid "" +"%ls has been declared bankrupt by the Interstellar Trading Bank.\n" +"\n" +"^{The Bank has agreed to pay stock holders ^}%.2f%%^{ of the share value on each share owned.^}" +msgstr "" +"Міжзоряний торговий банк повідомляє, що фірма %ls збанкрутувала.\n" +"\n" +"^{Банк погодився виплатити акціонерам^}\n" +"%.2f%%^{ вартості акцій.^}" + +#. TRANSLATORS: The label "Amount paid per share" +#. refers to payment made by the Interstellar +#. Trading Bank to each player upon company +#. bankruptcy. This label MUST be the same +#. length as "Old share value" and MUST have at +#. least one trailing space for the display +#. routines to work correctly. The maximum +#. length is 28 characters. +#: src/move.c:1120 +#, c-format +msgctxt "label" +msgid "Amount paid per share: " +msgstr "Виплачена сума за акцію: " + +#. TRANSLATORS: "Old share value" refers to the +#. share price of a company before it was forced +#. into bankruptcy by the Bank. This label must be +#. the same width as "Amount paid per share". +#: src/move.c:1128 +#, c-format +msgctxt "label" +msgid "Old share value: " +msgstr "Стара ціна акції: " + +#: src/move.c:1211 src/move.c:1246 src/exch.c:321 +#, c-format +msgid " Interstellar Trading Bank " +msgstr " Міжзоряний торговий банк " + +#: src/move.c:1213 +#, c-format +msgid "" +"You were forced to borrow %N\n" +"to cover losses from company shares." +msgstr "" +"Вам довелося взяти кредит у розмірі %N\n" +"для покриття збитків на акції компаній." + +#: src/move.c:1248 +#, c-format +msgid "" +"Your debt has amounted to %N!\n" +"^{The Bank has impounded ^}%N^{ from your cash.^}" +msgstr "" +"Ваш борг становить %N!\n" +"\n" +"^{Міжзоряний торговий банк конфіскував^}\n" +"%N^{ із Ваших готівки.^}" + +#: src/exch.c:98 +#, c-format +msgid " Interstellar Stock Exchange " +msgstr " Міжзоряна фондова біржа " + +#. TRANSLATORS: "Shares left" is a two-line column +#. label in a table containing the number of shares +#. left to be purchased in any given company. The +#. maximum column width is 10 characters (see +#. STOCK_LEFT_COLS in src/intf.h). +#: src/exch.c:127 +#, c-format +msgctxt "subtitle" +msgid "" +"Shares\n" +"left" +msgstr "" +"Акції, що\n" +"залишилися" + +#. TRANSLATORS: "Shares issued" is a two-line column +#. label in a table containing the number of shares +#. already sold (ie, bought by all players) in any +#. given company. The maximum column width is 10 +#. characters (see STOCK_ISSUED_COLS in src/intf.h). +#: src/exch.c:134 +#, c-format +msgctxt "subtitle" +msgid "" +"Shares\n" +"issued" +msgstr "" +"Випущені\n" +"акції" + +#. TRANSLATORS: Each label may be up to 37 characters wide +#. (for <1> and <2>) or 38 characters wide (for <3> and <4>). +#: src/exch.c:186 +#, c-format +msgid "^{<2>^} Display galaxy map" +msgstr "^{<2>^} Показати карту галактики" + +#: src/exch.c:188 +#, c-format +msgid "^{<3>^} Visit the Trading Bank" +msgstr "^{<3>^} Відвідати торговий банк" + +#: src/exch.c:190 +#, c-format +msgid "^{<4>^} Exit the Stock Exchange" +msgstr "^{<4>^} Вийти із фондової біржі" + +#: src/exch.c:193 +#, c-format +msgid "Enter selection [^[Company letter^]/^{1^}-^{4^}]: " +msgstr "Введіть вибір [^[Код фірми^]/^{1^}-^{4^}]: " + +#. TRANSLATORS: The "Total value", "Current cash", "Current +#. debt", "Interest rate" and "Credit limit" labels MUST all be +#. the same length (ie, right-padded with spaces as needed) and +#. must have at least one trailing space so that the display +#. routines work correctly. The maximum length of each label +#. is 36 characters. +#. +#. Note that some of these labels are used for both the Player +#. Status window and the Trading Bank window. +#: src/exch.c:351 +#, c-format +msgctxt "label" +msgid "Credit limit: " +msgstr "Межа кредиту: " + +#. TRANSLATORS: The "Borrow money", "Repay debt" and "Exit +#. from the Bank" menu options must all be the same length +#. (ie, padded with trailing spaces as required). The maximum +#. length is 72 characters. +#: src/exch.c:366 +#, c-format +msgid "^{<1>^} Borrow money " +msgstr "^{<1>^} Займати гроші" + +#: src/exch.c:368 +#, c-format +msgid "^{<2>^} Repay debt " +msgstr "^{<2>^} Погашати борг" + +#: src/exch.c:370 +#, c-format +msgid "^{<3>^} Exit from the Bank" +msgstr "^{<3>^} Вийти з банку" + +#: src/exch.c:373 +#, c-format +msgid "Enter selection [^{1^}-^{3^}]: " +msgstr "Введіть вибір [^{1^}-^{3^}]: " + +#: src/exch.c:426 +#, c-format +msgid " Insufficient Credit Limit " +msgstr " Недостатня межа кредиту " + +#: src/exch.c:427 +#, c-format +msgid "The Bank will not lend you any more money." +msgstr "Банк не готовий надавати Вам більше грошей." + +#: src/exch.c:447 +#, c-format +msgid "How much do you wish to borrow? " +msgstr "Скільки Ви бажаєте взяти в кредит? " + +#: src/exch.c:479 +#, c-format +msgid " No Debt " +msgstr " Нема боргу " + +#: src/exch.c:480 +#, c-format +msgid "You have no debt to repay." +msgstr "Ви не маєте боргу для погашення." + +#: src/exch.c:484 +#, c-format +msgid " No Cash " +msgstr " Немає готівки " + +#: src/exch.c:485 +#, c-format +msgid "You have no cash with which to repay the debt!" +msgstr "У Вас немає готівки для погашення боргу!" + +#: src/exch.c:505 +#, c-format +msgid "How much do you wish to repay? " +msgstr "Скільки Ви бажаєте повернути? " + +#. TRANSLATORS: %ls represents the company name. +#: src/exch.c:581 +#, c-format +msgid " Stock Transaction in %ls " +msgstr " Біржові операції у фірмі %ls " + +#. TRANSLATORS: "Shares issued" represents the number of +#. shares already sold by the company to all players. +#. +#. Note that the labels "Shares issued", "Shares left", +#. "Price per share" and "Return" must all be the same length +#. and must have at least one trailing space for the output +#. routines to work correctly. The maximum length of each +#. label is 22 characters. +#: src/exch.c:592 +#, c-format +msgctxt "label|Stock A" +msgid "Shares issued: " +msgstr "Випущені акції: " + +#. TRANSLATORS: "Shares left" is the number of shares that are +#. left to be purchased in the current company. +#: src/exch.c:600 +#, c-format +msgctxt "label|Stock A" +msgid "Shares left: " +msgstr "Акції, що залишилися: " + +#. TRANSLATORS: "Price per share" is the cost of each share in +#. the current company. +#: src/exch.c:607 +#, c-format +msgctxt "label|Stock A" +msgid "Price per share: " +msgstr "Ціна акції: " + +#. TRANSLATORS: "Return" is the share return as a percentage. +#: src/exch.c:613 +#, c-format +msgctxt "label|Stock A" +msgid "Return: " +msgstr "Повернення: " + +#. TRANSLATORS: "Current holdings" is the number of shares +#. the current player owns in this particular company. +#. +#. Note that the labels "Current holdings", "Percentage owned" +#. and "Current cash" MUST all be the same length and contain at +#. least one trailing space for the display routines to work +#. correctly. The maximum length of each label is 18 +#. characters. +#: src/exch.c:626 +#, c-format +msgctxt "label|Stock B" +msgid "Current holdings: " +msgstr "Володіння (акції):" + +#. TRANSLATORS: "Percentage owned" is the current player's +#. percentage ownership in this particular company. +#: src/exch.c:636 +#, c-format +msgctxt "label|Stock B" +msgid "Percentage owned: " +msgstr "Володіння: " + +#: src/exch.c:641 +#, c-format +msgctxt "label|Stock B" +msgid "Current cash: " +msgstr "Поточна готівка: " + +#. TRANSLATORS: Each label may be up to 35 characters wide +#. (for <1> and <2>) or 36 characters wide (for <3> and <4>). +#: src/exch.c:654 +#, c-format +msgid "^{<1>^} Buy stock from company" +msgstr "^{<1>^} Купувати акції від фірми" + +#: src/exch.c:656 +#, c-format +msgid "^{<2>^} Sell stock back to company" +msgstr "^{<2>^} Продавати акції назад фірмі" + +#: src/exch.c:658 +#, c-format +msgid "^{<3>^} Bid company to issue more shares" +msgstr "^{<3>^} Пропонувати фірмі випустити акції" + +#: src/exch.c:660 +#, c-format +msgid "^{<4>^} Exit to the Stock Exchange" +msgstr "^{<4>^} Вийти на фондову біржу" + +#: src/exch.c:663 +#, c-format +msgid "Enter selection [^{1^}-^{4^}]: " +msgstr "Введіть вибір [^{1^}-^{4^}]: " + +#: src/exch.c:719 +#, c-format +msgid " No Shares Available " +msgstr " Акції недоступні " + +#: src/exch.c:720 +#, c-format +msgid "No more shares are available for purchase." +msgstr "Не залишилося більше акцій на купівлю." + +#: src/exch.c:724 +#, c-format +msgid " Insufficient Cash " +msgstr " Недостатньо готівки " + +#: src/exch.c:725 +#, c-format +msgid "" +"You do not have enough cash\n" +"to purchase additional shares." +msgstr "" +"У Вас недостатньо готівки, щоб\n" +"придбати додаткові акції." + +#: src/exch.c:736 +#, c-format +msgid "You can purchase ^{one^} share." +msgid_plural "You can purchase up to ^{%'ld^} shares." +msgstr[0] "Ви можете придбати до ^{%'ld^} акції." +msgstr[1] "Ви можете придбати до ^{%'ld^} акцій." +msgstr[2] "Ви можете придбати до ^{%'ld^} акцій." + +#: src/exch.c:742 +#, c-format +msgid "How many shares do you wish to purchase? " +msgstr "Скільки акцій Ви хочете придбати? " + +#: src/exch.c:763 +#, c-format +msgid " No Shares " +msgstr " Немає акцій " + +#: src/exch.c:764 +#, c-format +msgid "You do not have any shares to sell." +msgstr "Ви не маєте жодної акції для продажу." + +#: src/exch.c:771 +#, c-format +msgid "You can sell ^{one^} share." +msgid_plural "You can sell up to ^{%'ld^} shares." +msgstr[0] "Ви можете продати до ^{%'ld^} акції." +msgstr[1] "Ви можете продати до ^{%'ld^} акцій." +msgstr[2] "Ви можете продати до ^{%'ld^} акцій." + +#: src/exch.c:777 +#, c-format +msgid "How many shares do you wish to sell? " +msgstr "Скільки акцій Ви хочете продати? " + +#: src/exch.c:805 +#, c-format +msgid " No Shares Issued " +msgstr " Акції не випущені " + +#. TRANSLATORS: %ls represents the company name. +#: src/exch.c:807 +#, c-format +msgid "" +"%ls has refused\n" +"to issue more shares." +msgstr "Фірма %ls відмовилася випустити більше акцій." + +#: src/exch.c:812 +#, c-format +msgid " Shares Issued " +msgstr " Акції випущено " + +#. TRANSLATORS: %ls represents the company name. +#: src/exch.c:814 +#, c-format +msgid "" +"%ls has issued\n" +"^{one^} more share." +msgid_plural "" +"%ls has issued\n" +"^{%'ld^} more shares." +msgstr[0] "" +"Фірма %ls випустила\n" +"ще ^{%'ld^} акцію." +msgstr[1] "" +"Фірма %ls випустила\n" +"ще ^{%'ld^} акції." +msgstr[2] "" +"Фірма %ls випустила\n" +"ще ^{%'ld^} акцій." + +#: src/fileio.c:43 src/fileio.c:83 src/fileio.c:126 src/fileio.c:387 +#, c-format +msgid "%s: missing field on line %d" +msgstr "%s: відсутнє поле в рядку %d" + +#: src/fileio.c:47 src/fileio.c:87 src/fileio.c:130 src/fileio.c:390 src/fileio.c:393 +#, c-format +msgid "%s: illegal field on line %d" +msgstr "%s: недозволене поле в рядку %d" + +#: src/fileio.c:51 +#, c-format +msgid "%s: illegal field on line %d: '%s'" +msgstr "%s: недозволене поле в рядку %d: «%s»" + +#: src/fileio.c:55 +#, c-format +msgid "%s: illegal value on line %d: '%s'" +msgstr "%s: недозволене значення в рядку %d: «%s»" + +#: src/fileio.c:91 src/fileio.c:134 src/fileio.c:402 +#, c-format +msgid "%s: illegal value on line %d" +msgstr "%s: недозволене значення в рядку %d" + +#: src/fileio.c:98 +#, c-format +msgid "%s: illegal characters on line %d" +msgstr "%s: недозволені символи в рядку %d" + +#: src/fileio.c:183 +#, c-format +msgid "%s: could not convert string" +msgstr "%s: не вдалося перетворити рядок" + +#: src/fileio.c:257 +#, c-format +msgid " Game Not Found " +msgstr " Гра не знайдено " + +#: src/fileio.c:258 +#, c-format +msgid "Game %d has not been saved to disk." +msgstr "Гра №%d не було збережено." + +#: src/fileio.c:265 +#, c-format +msgid " Game Not Loaded " +msgstr " Гра не завантажена " + +#: src/fileio.c:266 +#, c-format +msgid "" +"Game %d could not be loaded from disk.\n" +"\n" +"^{File %s: %s^}" +msgstr "" +"Неможливо завантажити збережену гру №%d.\n" +"\n" +"^{Файл %s: %s^}" + +#: src/fileio.c:319 +#, c-format +msgid "%s: missing header in game file" +msgstr "%s: відсутній заголовок в ігровому файлі" + +#: src/fileio.c:322 +#, c-format +msgid "%s: not a valid game file" +msgstr "%s: неправильний формат ігрового файлу" + +#: src/fileio.c:325 src/fileio.c:332 +#, c-format +msgid "%s: missing subheader in game file" +msgstr "%s: відсутній підзаголовок в ігровому файлі" + +#: src/fileio.c:328 +#, c-format +msgid "%s: saved under a different version of Star Traders" +msgstr "%s: файл збережено в іншій версії гри «Зоряні торговці»" + +#: src/fileio.c:335 +#, c-format +msgid "%s: saved under an incompatible character encoding" +msgstr "%s: у файлі використовується непідтримуване кодування символів" + +#: src/fileio.c:343 +#, c-format +msgid "%s: illegal or missing field on line %d" +msgstr "%s: неправильне поле або відсутнє поле в рядку %d" + +#: src/fileio.c:475 src/fileio.c:496 +#, c-format +msgid " Game Not Saved " +msgstr " Гра не збережена " + +#: src/fileio.c:476 +#, c-format +msgid "" +"Game %d could not be saved to disk.\n" +"\n" +"^{Directory %s: %s^}" +msgstr "" +"Не вдалось зберегти гру №%d.\n" +"\n" +"^{Каталог %s: %s^}" + +#: src/fileio.c:497 +#, c-format +msgid "" +"Game %d could not be saved to disk.\n" +"\n" +"^{File %s: %s^}" +msgstr "" +"Не вдалось зберегти гру №%d.\n" +"\n" +"^{Файл %s: %s^}" + +#. TRANSLATORS: The help text for Star Traders is marked up using a +#. custom mark-up format NOT used anywhere else in the source code. +#. +#. Each string is a single page of text that is displayed in an area 76 +#. columns wide by 16 lines high. Each line is delimited by "\n". NO +#. word-wrapping is performed: you must place the "\n" characters in the +#. appropriate place. Ideally, each line within the string should be +#. also (manually) space-justified or centred. TAB characters and other +#. control codes must NOT be used. If a string starts with "@" as the +#. very first character, that string is ignored (as are all strings +#. following): this allows a variable number of help text pages (from +#. one to ten). Multibyte strings are handled correctly (even those +#. requiring shift sequences!). +#. +#. The ASCII circumflex accent character "^" switches to a different +#. character rendition (also called attributes), depending on the +#. character following the "^": +#. +#. ^^ - Print the circumflex accent (ASCII code U+005E) +#. ^N - Switch to using the normal character rendition +#. ^B - Switch to using the bold character rendition +#. ^H - Switch to using the highlight character rendition +#. ^K - Switch to using the keycode character rendition (such as used for "") +#. ^e - Switch to using the character rendition used for empty space +#. ^o - Switch to using the character rendition used for outposts +#. ^s - Switch to using the character rendition used for stars +#. ^c - Switch to using the character rendition used for companies +#. ^k - Switch to using the character rendition used for keyboard choices on the galaxy map +#. +#. The help text parsing routines also understand the following "value +#. escapes" introduced by the ASCII tilde character "~"; these act like +#. "%" conversion specifiers in printf(): +#. +#. ~~ - Print the tilde character (ASCII code U+007E) [*] +#. ~x - Print the width of the galaxy map (MAX_X) [**] +#. ~y - Print the height of the galaxy map (MAX_Y) [**] +#. ~m - Print the number of moves available (NUMBER_MOVES) [**] +#. ~c - Print the maximum number of companies that can be formed (MAX_COMPANIES) [*] +#. ~t - Print the default number of turns in the game (DEFAULT_MAX_TURN) [**] +#. ~1 to ~9 - Print the keycode for the N-th choice of move [***] +#. ~M - Print the keycode for the last choice of move [***] +#. ~A to ~H - Print the character used to represent the company on the galaxy map [***] +#. ~. - Print the character used to represent empty space on the map [***] +#. ~+ - Print the character used to represent outposts on the map [***] +#. ~* - Print the character used to represent stars on the map [***] +#. +#. [*] Takes one character space (column space) in the output +#. [**] Takes two column spaces in the output +#. [***] Takes one or two column spaces in the output, depending on the +#. appropriate strings in the current PO file. +#. +#. Note that all keycodes and map representation characters use locale- +#. specific characters; double-width characters ARE supported. Note +#. also that the tilde value escapes do NOT change the current character +#. rendition: a circumflex accent escape is needed for that. For +#. example, to display the first choice of move as it would be shown on +#. the galaxy map, use something like "^k~1^N" (a six-character sequence +#. that would translate to just one character (or maybe two) in the +#. output text). +#. +#. Formatting the help text is probably the most complicated and tedious +#. part of translating Star Traders. The author and maintainer of this +#. game is more than happy to help you with this task: if you are able +#. to provide a translation, even if it is not formatted correctly, the +#. maintainer will perform the necessary adjustments for word-wrapping +#. and justification. In addition, remember that you have up to 10 +#. pages in which to display your help text: the translation does not +#. need to correspond exactly to the original text. This text will not +#. be changing any time soon! +#. +#: src/help.c:113 +msgid "" +"^BStar Traders^N is a simple game of interstellar trading. The object of the\n" +"game is to amass the greatest amount of wealth possible. This is done by\n" +"creating interstellar shipping lanes, expanding them and buying shares in\n" +"the companies controlling them. Shares appreciate in value as company\n" +"operations expand. In addition, the return on each share (as a percentage)\n" +"also changes. Players may also borrow from the Interstellar Trading Bank to\n" +"finance additional purchases on the Stock Exchange.\n" +"\n" +"The map of the galaxy is represented by a ^B~x^N x ^B~y^N grid. A typical section\n" +"of it may be:\n" +"\n" +" ^e ~. ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ~. ~. ~. ~. ~. ^N ^e ~. ^N represents ^Bempty space^N,\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ~. ~. ~. ^N ^s ~* ^N represents a ^Bstar^N.\n" +" ^e ~. ~. ~. ~. ~. ~. ~. ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" +msgstr "" +"^B«Зоряні торговці»^N — це проста гра про міжзоряну торгівлю. Мета гри полягає\n" +"в тому, щоб стати найбагатшим гравцем-переможцем. Це робиться шляхом ство-\n" +"рення міжзоряних маршрутів доставки товарів, розширення цих маршрутів, а\n" +"також купівлі та продажу акцій відповідних акціонерних товариств. Крім то-\n" +"го, повернення на кожну акцію (у відсотках) змінюється. Гравці також можуть\n" +"позичати у Міжзоряного торгового банку, щоб фінансувати додаткові покупки на\n" +"фондовій біржі.\n" +"\n" +"Карта галактики представлена сіткою розміром ^B~x^N на ^B~y^N. Типова частина\n" +"картки може бути:\n" +"\n" +" ^e ~. ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ~. ~. ~. ~. ~. ^N ^e ~. ^N позначає ^Bпорожній простір^N,\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ~. ~. ~. ^N ^s ~* ^N позначає ^Bзірку^N.\n" +" ^e ~. ~. ~. ~. ~. ~. ~. ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" + +#: src/help.c:132 +msgid "" +"The computer selects ^B~m^N moves (labeled ^k~1^N to ^k~M^N) at random, and places these\n" +"on the map. To select any of the highlighted positions, press that letter.\n" +"For example, some of the moves on the map may be:\n" +"\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^k~3^e ~. ~. ~. ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^k~5^e ~. ~. ^N Moves ^k~1^N to ^k~5^N shown.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" +"\n" +"\n" +"Selecting a position that is ^Bnot^N next to a star (such as moves ^k~1^N, ^k~3^N or ^k~5^N)\n" +"will set up an ^Boutpost^N, not belonging to any company. Thus, if move ^k~3^N is\n" +"selected on the above map, a ^o ~+ ^N would be placed at that position.\n" +msgstr "" +"Комп'ютер вибирає навмання ^B~m^N позицій на карті (позначені від ^k~1^N до ^k~M^N). Щоб\n" +"вибрати будь-яку з виділених позицій, натисніть на відповідну літеру. На-\n" +"приклад, деякі з цих позицій можуть бути:\n" +"\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^k~3^e ~. ~. ~. ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^k~5^e ~. ~. ^N Показано позиції від ^k~1^N до ^k~5^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ~. ^N\n" +"\n" +"\n" +"Вибір позиції, що ^Bне поруч^N із зіркою (як, наприклад, ^k~1^N, ^k~3^N або ^k~5^N) створить\n" +"^Bфорпост^N, що не належить до будь-якої компанії. Таким чином, вибір позиції\n" +"^k~3^N на вказаній вище карті створить форпост, позначено символом ^o ~+ ^N.\n" + +#: src/help.c:150 +msgid "" +"If, on the other hand, a position next to a star (or another outpost) is\n" +"selected, a ^Bcompany^N would be formed and its letter would appear on the map.\n" +"As a reward for creating the company, you are granted the first five shares.\n" +"Up to ^B~c^N companies can be created in this way.\n" +"\n" +"If a position next to an existing company is selected, the company would\n" +"expand its operations by one square. This increases the cost of its shares\n" +"and hence your return. Thus, if the map was as shown below, selecting ^k~6^N\n" +"or ^k~8^N increases Company ^B~B^N's shipping lane:\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^o~+^e ~. ~. ^k~6^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^c~B^e ^c~B^e ^c~B^e ^N Move ^k~6^N or ^k~8^N increases Company ^B~B^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" +msgstr "" +"При виборі позиції поряд із зіркою (або поряд з форпостом) буде сформовано\n" +"^Bнове торгове підприємство^N, і код цієї нової фірми з'явиться на карті гала-\n" +"ктики. Як нагороду за створення компанії, Ви отримаєте перші п'ять акцій.\n" +"До ^B~c^N компаній можуть бути створені таким чином.\n" +"\n" +"При виборі позиції поруч із вже існуючою компанією, ця компанія розширить\n" +"свою діяльність однією клітину. Це збільшує вартість її акцій і, отже, Ва-\n" +"шого прибутку. Таким чином, вибір позиції ^k~6^N або ^k~8^N на наведеній нижче карті\n" +"розширює маршрути компанії ^B~B^N:\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^o~+^e ~. ~. ^k~6^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^c~B^e ^c~B^e ^c~B^e ^N Вибір ^k~6^N чи ^k~8^N розширює фірму ^B~B^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" + +#: src/help.c:168 +msgid "" +"Selecting positions next to stars increases the value of your stock by about\n" +"five times as much as an extension not next to a star. Thus move ^k~6^N should\n" +"be preferred to move ^k~8^N.\n" +"\n" +" ^e ^c~C^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ^k~1^e ^o~+^e ~. ^o~+^e ~. ~. ^k~6^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^c~B^e ^c~B^e ^c~B^e ^N Move ^k~6^N is preferred to ^k~8^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" +"\n" +"You may also expand any company by selecting positions next to outposts.\n" +"Such outposts will be swallowed up by that company. Thus, move ^k~1^N will\n" +"extend Company ^B~C^N by ^Btwo^N squares. As a bonus, outposts next to stars are\n" +"more valuable: the company's share price will increase by a greater amount\n" +"than it would for outposts not next to stars.\n" +msgstr "" +"Вибір позиції поряд із зіркою збільшує вартість Ваших акцій приблизно\n" +"вп'ятеро, порівняно з розширенням фірми клітиною не поряд із зіркою. Таким\n" +"чином, позиція ^k~6^N є кращою, ніж позиція ^k~8^N.\n" +"\n" +" ^e ^c~E^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ^k~1^e ^o~+^e ~. ^o~+^e ~. ~. ^k~6^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ~. ~. ^c~B^e ^c~B^e ^c~B^e ^N Вибір ^k~6^N краще вибору ^k~8^N.\n" +" ^e ~. ^k~2^e ~. ~. ^k~4^e ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ~. ~. ^k~8^e ^N\n" +"\n" +"Ви також можете розширити будь-яку компанію, вибравши позицію поряд із фор-\n" +"постом. Такі форпости будуть поглинені цією фірмою. Таким чином, позиція\n" +"^k~1^N розширить маршрути компанії ^B~E^N на ^Bдві^N клітки. До того ж, поглинання фор-\n" +"постів біля зірок має велику цінність: ціна акцій фірми підніметься набагато\n" +"більше, ніж поглинання форпостів далеко від зірок.\n" + +#: src/help.c:186 +msgid "" +"If two companies are separated on the map by only one square, then they can\n" +"be ^Bmerged^N into one company by selecting that position (if available). For\n" +"example, on the map below, companies ^B~A^N and ^B~B^N can be merged by selecting ^k~5^N.\n" +"When this occurs, the company with the greater assets value takes over the\n" +"other one. Here, Company ^B~B^N might take over Company ^B~A^N. Company ^B~A^N ceases to\n" +"exist, although it may reappear as an entirely new company at a later stage.\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^c~A^e ^c~A^e ^k~5^e ^c~B^e ~. ~. ^N\n" +" ^e ~. ^s~*^e ~. ~. ^c~A^e ~. ^c~B^e ^c~B^e ^c~B^e ^N Move ^k~5^N merges companies ^B~A^N and ^B~B^N.\n" +" ^e ~. ^k~2^e ~. ~. ~. ~. ~. ^s~*^e ^c~B^e ^N\n" +" ^e ~. ~. ~. ~. ^s~*^e ~. ^o~+^e ~. ~. ^N\n" +"\n" +"When companies merge, players are granted shares in the dominant company\n" +"proportional to the amount owned in the old company. As well, a cash bonus\n" +"is also paid, proportional to the percentage of the old company owned.\n" +msgstr "" +"Якщо дві фірми поділяються на карті лише однією клітиною, вибір цієї позиції\n" +"(якщо є така можливість) ^Bоб'єднує^N ці фірми в одну компанію. Наприклад, ви-\n" +"бір позиції ^k~5^N на вказаній нижче карті об'єднає компанії ^B~A^N та ^B~B^N. У такому\n" +"разі фірма з більшою загальною вартістю поглинає другу. Тут, наприклад,\n" +"компанія ^B~B^N може бути поглине компанію ^B~A^N. Фірма ^B~A^N припиняє своє існування,\n" +"хоча вона може з'явитися пізніше як зовсім нове акціонерне товариство в май-\n" +"бутній частині гри.\n" +"\n" +" ^e ^k~1^e ~. ^s~*^e ~. ~. ~. ^s~*^e ^s~*^e ~. ^N\n" +" ^e ~. ~. ~. ^c~A^e ^c~A^e ^k~5^e ^c~B^e ~. ~. ^N Вибір ^k~5^N зливає компанії ^B~A^N та ^B~B^N.\n" +" ^e ~. ^s~*^e ~. ~. ^c~A^e ~. ^c~B^e ^c~B^e ^c~B^e ^N\n" +" ^e ~. ^k~2^e ~. ~. ~. ~. ~. ^s~*^e ^c~B^e ^N\n" +"\n" +"При злитті компаній, гравцям видаються акції домінуючої фірми (пропорційно\n" +"до кількості акцій, які гравець мав у поглиненому підприємстві). Крім того,\n" +"виплачується бонус, пропорційний володінню старої компанії.\n" + +#: src/help.c:205 +msgid "" +"Once you select your move, you enter the ^BInterstellar Stock Exchange^N. Here\n" +"you may purchase shares, sell them, borrow from the Trading Bank or repay\n" +"some of your debt (if applicable). Note that each company issues a limited\n" +"number of shares -- you cannot go on buying for ever! You may, however, bid\n" +"for more shares to be issued. You have a better chance of succeeding if you\n" +"own a larger proportion of the company.\n" +"\n" +"The game usually ends after ^B~t^N turns. However, you may end the game sooner\n" +"by pressing ^K^N when asked to select a move. As well, individual\n" +"players can declare themselves bankrupt at any time. If your debt is large\n" +"enough, the Bank may do this for you! If you do not complete your game in\n" +"the time you have available, you may save the game and continue it later.\n" +"\n" +"\n" +"The ^Bwinner of the game^N is the person with the greatest net worth (total\n" +"value of cash, stock and debt). ^HGood luck^N and may the best person win!\n" +msgstr "" +"Після вибору позиції, Ви опиняєтесь на ^BМіжзоряній фондовій біржі^N. Тут Ви\n" +"можете купувати акції, продавати їх, позичати гроші у торгового банку або\n" +"погашати частину свого боргу (якщо застосовується). Зверніть увагу, що кож-\n" +"на компанія випускає обмежену кількість акцій — не можна просто нескінченно\n" +"купувати! Проте, можна пропонувати фірмі випустити більше акцій. Чим біль-\n" +"ше Ваше володіння у фірмі, тим більше шансів отримати більше акцій.\n" +"\n" +"Гра зазвичай закінчується після ^B~t^N ходів. Однак, можна закінчити гру рані-\n" +"ше, натиснувши ^K^N замість вибору позиції. Крім того, окремі гравці\n" +"можуть оголосити себе банкрутом у будь-який момент. Якщо Ваш борг є досить\n" +"великим, банк може зробити це за Вас! Якщо не вистачає часу закінчити гру,\n" +"Ви можете зберегти її та продовжити пізніше.\n" +"\n" +"^BПереможцем гри^N є гравець з найбільшою загальною вартістю, тобто різницею між\n" +"активами (готівка + акції) та боргом. ^HУспіхів Вам^N ― нехай переможе найкра-\n" +"щий гравець!\n" + +#: src/help.c:225 +msgid "@ Help text, page 7\n" +msgstr "@\n" + +#: src/help.c:226 +msgid "@ Help text, page 8\n" +msgstr "@\n" + +#: src/help.c:227 +msgid "@ Help text, page 9\n" +msgstr "@\n" + +#: src/help.c:228 +msgid "@ Help text, page 10\n" +msgstr "@\n" + +#: src/help.c:280 +#, c-format +msgid " How to Play " +msgstr " Як грати в «Зоряні торговці» " + +#. TRANSLATORS: The parameter %1$d is the current page +#. number, %2$d is the number of pages your help text +#. takes (6, in English). +#: src/help.c:285 +#, c-format +msgid "Page %1$d of %2$d" +msgstr "Сторінка №%1$d з %2$d" + +#. TRANSLATORS: The reason the user is not asked "Press any +#. key to continue" is historical: many, many people used to +#. ask "where is the key?" :-) +#: src/help.c:486 src/intf.c:3026 +#, c-format +msgid "[ Press to continue ] " +msgstr "[ Натисніть <ПРОБІЛ>, щоб продовжити ] " + +#. TRANSLATORS: The specific use of and +#. is not essential: you can use , , , +#. or instead of , and almost +#. any other key instead of (other than , +#. , , , or <\>). +#. Note that the maximum label length is 76 characters, +#. including the trailing space. +#: src/help.c:494 +#, c-format +msgid "[ Press to continue or for the previous page ] " +msgstr "[ Натисніть <ПРОБІЛ>, щоб продовжити; <←> — повернутися на попер. сторінку ] " + +#: src/intf.c:110 +#, c-format +msgid "%s: string has incorrect format: '%s'" +msgstr "%s: рядок має неправильний формат: «%s»" + +#: src/intf.c:126 +#, c-format +msgid "%s: character has illegal width: '%lc'" +msgstr "%s: символ має недопустиму ширину: «%lc»" + +#: src/intf.c:435 +#, c-format +msgid "terminal size is too small (%d x %d required)" +msgstr "розмір терміналу замалий (потрібно %d на %d)" + +#: src/intf.c:1267 +#, c-format +msgid "mkchstr_conv: NUL" +msgstr "mkchstr_conv: NUL" + +#: src/intf.c:1559 +#, c-format +msgid "mkchstr: '%s'" +msgstr "mkchstr: «%s»" + +#. TRANSLATORS: This string specifies the keycodes used to insert the +#. default value into the input string, if entered as the very first +#. character. Ideally, it should contain an easily-accessible +#. keycode that would NOT be used in ordinary input. Digits, ".", +#. ",", "+" and "-" are definitely NOT acceptable. +#: src/intf.c:2011 +msgctxt "input|DefaultValue" +msgid "=;" +msgstr "=?*\\/" + +#: src/intf.c:2025 src/intf.c:2070 +#, c-format +msgid "gettxline: illegal character in string: '%ls'" +msgstr "gettxline: недопустимий символ в рядку: «%ls»" + +#. TRANSLATORS: The strings with msgctxt "input|Yes" and +#. "input|No" contain the keycodes used to determine whether a +#. user is answering "Yes" or "No" in response to some question. +#. Both upper and lower-case versions should be present. +#: src/intf.c:2943 +msgctxt "input|Yes" +msgid "Yy" +msgstr "Тт1+" + +#: src/intf.c:2945 +msgctxt "input|No" +msgid "Nn" +msgstr "Нн0-" + +#. TRANSLATORS: The strings "Yes" and "No" are printed as a +#. response to user input in answer to questions like "Are you +#. sure? [Y/N] " +#: src/intf.c:2996 +msgctxt "answer" +msgid "Yes" +msgstr "Так" + +#: src/intf.c:2998 +msgctxt "answer" +msgid "No" +msgstr "Ні" + +#: src/utils.c:596 src/utils.c:617 +#, c-format +msgid "%s: " +msgstr "%s: " + +#: src/utils.c:622 +msgid ": " +msgstr ": " + +#: src/utils.c:635 +#, c-format +msgid "out of memory" +msgstr "недостатньо пам'яті" + +#: src/utils.c:1375 +#, c-format +msgid "xmbstowcs: '%s'" +msgstr "xmbstowcs: «%s»" + +#: src/utils.c:1415 +#, c-format +msgid "xwcrtomb: NUL" +msgstr "xwcrtomb: NUL" + +#: src/utils.c:1420 +#, c-format +msgid "xwcrtomb: '%lc'" +msgstr "xwcrtomb: «%lc»" + +#: lib/getopt.c:282 lib/obsolete-strings.c:63 +#, c-format +msgid "%s: option '%s%s' is ambiguous\n" +msgstr "%s: неоднозначний ключ «%s%s»\n" + +#: lib/getopt.c:288 lib/obsolete-strings.c:65 +#, c-format +msgid "%s: option '%s%s' is ambiguous; possibilities:" +msgstr "%s: неоднозначний ключ «%s%s»; можливості:" + +#: lib/getopt.c:322 lib/obsolete-strings.c:67 +#, c-format +msgid "%s: unrecognized option '%s%s'\n" +msgstr "%s: невідомий ключ «%s%s»\n" + +#: lib/getopt.c:348 lib/obsolete-strings.c:69 +#, c-format +msgid "%s: option '%s%s' doesn't allow an argument\n" +msgstr "%s: ключ «%s%s» повинен використовуватися без аргументу\n" + +#: lib/getopt.c:363 lib/obsolete-strings.c:71 +#, c-format +msgid "%s: option '%s%s' requires an argument\n" +msgstr "%s: ключ «%s%s» повинен використовуватися з аргументом\n" + +#: lib/getopt.c:624 lib/obsolete-strings.c:73 +#, c-format +msgid "%s: invalid option -- '%c'\n" +msgstr "%s: недійсний ключ «%c»\n" + +#: lib/getopt.c:639 lib/getopt.c:685 lib/obsolete-strings.c:75 +#, c-format +msgid "%s: option requires an argument -- '%c'\n" +msgstr "%s: ключ «%c» повинен використовуватися з аргументом\n" + +#. TRANSLATORS: Older versions of the GNU Gettext library utilities +#. treat the Icon value in data/au.org.zap.trader.desktop.in as a +#. translatable string. That string, the name of the icon to use, is +#. defined here for those older versions of xgettext(1). Unless you +#. provide a matching icon, please leave it as "trader": this will +#. use trader.svg and the various trader.png files in the data source +#. code directory. +#: lib/obsolete-strings.c:48 +msgid "trader" +msgstr "trader" + +#. TRANSLATORS: These strings are used in older versions of various +#. libraries, such as the GNU C Library as released with various +#. Linux distributions. +#: lib/obsolete-strings.c:62 +#, c-format +msgid "%s: option `%s%s' is ambiguous\n" +msgstr "%s: неоднозначний ключ «%s%s»\n" + +#: lib/obsolete-strings.c:64 +#, c-format +msgid "%s: option `%s%s' is ambiguous; possibilities:" +msgstr "%s: неоднозначний ключ «%s%s»; можливості:" + +#: lib/obsolete-strings.c:66 +#, c-format +msgid "%s: unrecognized option `%s%s'\n" +msgstr "%s: невідомий ключ «%s%s»\n" + +#: lib/obsolete-strings.c:68 +#, c-format +msgid "%s: option `%s%s' doesn't allow an argument\n" +msgstr "%s: ключ «%s%s» повинен використовуватися без аргументу\n" + +#: lib/obsolete-strings.c:70 +#, c-format +msgid "%s: option `%s%s' requires an argument\n" +msgstr "%s: ключ «%s%s» повинен використовуватися з аргументом\n" + +#: lib/obsolete-strings.c:72 +#, c-format +msgid "%s: invalid option -- `%c'\n" +msgstr "%s: недійсний ключ «%c»\n" + +#: lib/obsolete-strings.c:74 +#, c-format +msgid "%s: option requires an argument -- `%c'\n" +msgstr "%s: ключ «%c» повинен використовуватися з аргументом\n" + +#: lib/obsolete-strings.c:77 +#, c-format +msgid "%s: option `%s' is ambiguous; possibilities:" +msgstr "%s: неоднозначний ключ «%s»; можливості:" + +#: lib/obsolete-strings.c:78 +#, c-format +msgid "%s: option '%s' is ambiguous; possibilities:" +msgstr "%s: неоднозначний ключ «%s»; можливості:" + +#: lib/obsolete-strings.c:79 +#, c-format +msgid "%s: option `%s' is ambiguous\n" +msgstr "%s: неоднозначний ключ «%s»\n" + +#: lib/obsolete-strings.c:80 +#, c-format +msgid "%s: option '%s' is ambiguous\n" +msgstr "%s: неоднозначний ключ «%s»\n" + +#: lib/obsolete-strings.c:81 +#, c-format +msgid "%s: option `--%s' doesn't allow an argument\n" +msgstr "%s: ключ «--%s» повинен використовуватися без аргументу\n" + +#: lib/obsolete-strings.c:82 +#, c-format +msgid "%s: option '--%s' doesn't allow an argument\n" +msgstr "%s: ключ «--%s» повинен використовуватися без аргументу\n" + +#: lib/obsolete-strings.c:83 +#, c-format +msgid "%s: option `%c%s' doesn't allow an argument\n" +msgstr "%s: ключ «%c%s» повинен використовуватися без аргументу\n" + +#: lib/obsolete-strings.c:84 +#, c-format +msgid "%s: option '%c%s' doesn't allow an argument\n" +msgstr "%s: ключ «%c%s» повинен використовуватися без аргументу\n" + +#: lib/obsolete-strings.c:85 +#, c-format +msgid "%s: option `--%s' requires an argument\n" +msgstr "%s: ключ «--%s» повинен використовуватися з аргументом\n" + +#: lib/obsolete-strings.c:86 +#, c-format +msgid "%s: option '--%s' requires an argument\n" +msgstr "%s: ключ «--%s» повинен використовуватися з аргументом\n" + +#: lib/obsolete-strings.c:87 +#, c-format +msgid "%s: unrecognized option `--%s'\n" +msgstr "%s: невідомий ключ «--%s»\n" + +#: lib/obsolete-strings.c:88 +#, c-format +msgid "%s: unrecognized option '--%s'\n" +msgstr "%s: невідомий ключ «--%s»\n" + +#: lib/obsolete-strings.c:89 +#, c-format +msgid "%s: unrecognized option `%c%s'\n" +msgstr "%s: невідомий ключ «%c%s»\n" + +#: lib/obsolete-strings.c:90 +#, c-format +msgid "%s: unrecognized option '%c%s'\n" +msgstr "%s: невідомий ключ «%c%s»\n" + +#: lib/obsolete-strings.c:91 +#, c-format +msgid "%s: option `-W %s' is ambiguous\n" +msgstr "%s: неоднозначний ключ «-W %s»\n" + +#: lib/obsolete-strings.c:92 +#, c-format +msgid "%s: option '-W %s' is ambiguous\n" +msgstr "%s: неоднозначний ключ «-W %s»\n" + +#: lib/obsolete-strings.c:93 +#, c-format +msgid "%s: option `-W %s' doesn't allow an argument\n" +msgstr "%s: ключ «-W %s» повинен використовуватися без аргументу\n" + +#: lib/obsolete-strings.c:94 +#, c-format +msgid "%s: option '-W %s' doesn't allow an argument\n" +msgstr "%s: ключ «-W %s» повинен використовуватися без аргументу\n" + +#: lib/obsolete-strings.c:95 +#, c-format +msgid "%s: option `-W %s' requires an argument\n" +msgstr "%s: ключ «-W %s» повинен використовуватися з аргументом\n" + +#: lib/obsolete-strings.c:96 +#, c-format +msgid "%s: option '-W %s' requires an argument\n" +msgstr "%s: ключ «-W %s» повинен використовуватися з аргументом\n" diff --git a/src/Makefile.am b/src/Makefile.am index 19eff4a..b51079e 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,7 +1,7 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### diff --git a/src/Makefile.in b/src/Makefile.in index d102e97..28f7951 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -17,12 +17,12 @@ ######################################################################### # # # Star Traders: A Game of Interstellar Trading # -# Copyright (C) 1990-2022, John Zaitseff # +# Copyright (C) 1990-2024, John Zaitseff # # # ######################################################################### # Author: John Zaitseff -# $Id: 19eff4afb2a536933760d14c78856b87052bc62a $ +# $Id: b51079ec0f198be34c7047f49aa1e75380080038 $ # # This file, src/Makefile.am, contains the source-code Makefile for Star # Traders. It needs to be processed by automake to produce the @@ -121,14 +121,15 @@ subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/assert.m4 \ + $(top_srcdir)/m4/assert_h.m4 \ $(top_srcdir)/m4/ax_c___attribute__.m4 \ $(top_srcdir)/m4/ax_cflags_warn_all.m4 \ $(top_srcdir)/m4/ax_compiler_vendor.m4 \ $(top_srcdir)/m4/ax_prepend_flag.m4 \ $(top_srcdir)/m4/ax_require_defined.m4 \ $(top_srcdir)/m4/ax_with_curses.m4 $(top_srcdir)/m4/btowc.m4 \ - $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \ - $(top_srcdir)/m4/extensions.m4 \ + $(top_srcdir)/m4/c-bool.m4 $(top_srcdir)/m4/codeset.m4 \ + $(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/extensions.m4 \ $(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/free.m4 \ $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettimeofday.m4 \ $(top_srcdir)/m4/gnulib-common.m4 \ @@ -146,9 +147,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \ $(top_srcdir)/m4/mbsrtowcs.m4 $(top_srcdir)/m4/mbstate_t.m4 \ $(top_srcdir)/m4/mbtowc.m4 $(top_srcdir)/m4/memchr.m4 \ $(top_srcdir)/m4/mmap-anon.m4 $(top_srcdir)/m4/monetary_h.m4 \ - $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nocrash.m4 \ - $(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/setlocale_null.m4 \ - $(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \ + $(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/musl.m4 \ + $(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \ + $(top_srcdir)/m4/setlocale_null.m4 $(top_srcdir)/m4/ssize_t.m4 \ $(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \ $(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \ $(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sys_socket_h.m4 \ @@ -252,6 +253,7 @@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ APPLE_UNIVERSAL_BUILD = @APPLE_UNIVERSAL_BUILD@ AR = @AR@ ARFLAGS = @ARFLAGS@ +ASSERT_H = @ASSERT_H@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -363,6 +365,7 @@ GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@ GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@ GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@ GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@ +GL_GNULIB_GETPROGNAME = @GL_GNULIB_GETPROGNAME@ GL_GNULIB_GETSUBOPT = @GL_GNULIB_GETSUBOPT@ GL_GNULIB_GETTIMEOFDAY = @GL_GNULIB_GETTIMEOFDAY@ GL_GNULIB_GETUMASK = @GL_GNULIB_GETUMASK@ @@ -376,6 +379,7 @@ GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@ GL_GNULIB_ISWBLANK = @GL_GNULIB_ISWBLANK@ GL_GNULIB_ISWCTYPE = @GL_GNULIB_ISWCTYPE@ GL_GNULIB_ISWDIGIT = @GL_GNULIB_ISWDIGIT@ +GL_GNULIB_ISWPUNCT = @GL_GNULIB_ISWPUNCT@ GL_GNULIB_ISWXDIGIT = @GL_GNULIB_ISWXDIGIT@ GL_GNULIB_LCHMOD = @GL_GNULIB_LCHMOD@ GL_GNULIB_LCHOWN = @GL_GNULIB_LCHOWN@ @@ -407,6 +411,8 @@ GL_GNULIB_MBSSEP = @GL_GNULIB_MBSSEP@ GL_GNULIB_MBSSPN = @GL_GNULIB_MBSSPN@ GL_GNULIB_MBSSTR = @GL_GNULIB_MBSSTR@ GL_GNULIB_MBSTOK_R = @GL_GNULIB_MBSTOK_R@ +GL_GNULIB_MBSTOWCS = @GL_GNULIB_MBSTOWCS@ +GL_GNULIB_MBSZERO = @GL_GNULIB_MBSZERO@ GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@ GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@ GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@ @@ -451,6 +457,7 @@ GL_GNULIB_MEMCHR = @GL_GNULIB_MEMCHR@ GL_GNULIB_MEMMEM = @GL_GNULIB_MEMMEM@ GL_GNULIB_MEMPCPY = @GL_GNULIB_MEMPCPY@ GL_GNULIB_MEMRCHR = @GL_GNULIB_MEMRCHR@ +GL_GNULIB_MEMSET_EXPLICIT = @GL_GNULIB_MEMSET_EXPLICIT@ GL_GNULIB_MKDIR = @GL_GNULIB_MKDIR@ GL_GNULIB_MKDIRAT = @GL_GNULIB_MKDIRAT@ GL_GNULIB_MKDTEMP = @GL_GNULIB_MKDTEMP@ @@ -485,6 +492,7 @@ GL_GNULIB_PUTENV = @GL_GNULIB_PUTENV@ GL_GNULIB_PUTS = @GL_GNULIB_PUTS@ GL_GNULIB_PWRITE = @GL_GNULIB_PWRITE@ GL_GNULIB_QSORT_R = @GL_GNULIB_QSORT_R@ +GL_GNULIB_RAND = @GL_GNULIB_RAND@ GL_GNULIB_RANDOM = @GL_GNULIB_RANDOM@ GL_GNULIB_RANDOM_R = @GL_GNULIB_RANDOM_R@ GL_GNULIB_RAWMEMCHR = @GL_GNULIB_RAWMEMCHR@ @@ -545,6 +553,7 @@ GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@ GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@ GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@ GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@ +GL_GNULIB_TIME = @GL_GNULIB_TIME@ GL_GNULIB_TIMEGM = @GL_GNULIB_TIMEGM@ GL_GNULIB_TIMESPEC_GET = @GL_GNULIB_TIMESPEC_GET@ GL_GNULIB_TIMESPEC_GETRES = @GL_GNULIB_TIMESPEC_GETRES@ @@ -606,6 +615,7 @@ GL_GNULIB_WCTOMB = @GL_GNULIB_WCTOMB@ GL_GNULIB_WCTRANS = @GL_GNULIB_WCTRANS@ GL_GNULIB_WCTYPE = @GL_GNULIB_WCTYPE@ GL_GNULIB_WCWIDTH = @GL_GNULIB_WCWIDTH@ +GL_GNULIB_WGETCWD = @GL_GNULIB_WGETCWD@ GL_GNULIB_WMEMCHR = @GL_GNULIB_WMEMCHR@ GL_GNULIB_WMEMCMP = @GL_GNULIB_WMEMCMP@ GL_GNULIB_WMEMCPY = @GL_GNULIB_WMEMCPY@ @@ -617,8 +627,8 @@ GL_GNULIB__EXIT = @GL_GNULIB__EXIT@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GNULIBHEADERS_OVERRIDE_WINT_T = @GNULIBHEADERS_OVERRIDE_WINT_T@ -GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@ GREP = @GREP@ +HARD_LOCALE_LIB = @HARD_LOCALE_LIB@ HAVE_ALIGNED_ALLOC = @HAVE_ALIGNED_ALLOC@ HAVE_ATOLL = @HAVE_ATOLL@ HAVE_BTOWC = @HAVE_BTOWC@ @@ -646,6 +656,7 @@ HAVE_DECL_GETLOGIN = @HAVE_DECL_GETLOGIN@ HAVE_DECL_GETLOGIN_R = @HAVE_DECL_GETLOGIN_R@ HAVE_DECL_GETPAGESIZE = @HAVE_DECL_GETPAGESIZE@ HAVE_DECL_GETUSERSHELL = @HAVE_DECL_GETUSERSHELL@ +HAVE_DECL_GETW = @HAVE_DECL_GETW@ HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@ HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@ HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@ @@ -653,6 +664,8 @@ HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@ HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@ HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@ HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@ +HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@ +HAVE_DECL_PUTW = @HAVE_DECL_PUTW@ HAVE_DECL_SETENV = @HAVE_DECL_SETENV@ HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@ HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@ @@ -701,11 +714,14 @@ HAVE_GETLOGIN = @HAVE_GETLOGIN@ HAVE_GETOPT_H = @HAVE_GETOPT_H@ HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@ HAVE_GETPASS = @HAVE_GETPASS@ +HAVE_GETPROGNAME = @HAVE_GETPROGNAME@ HAVE_GETSUBOPT = @HAVE_GETSUBOPT@ HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@ HAVE_GETUMASK = @HAVE_GETUMASK@ HAVE_GRANTPT = @HAVE_GRANTPT@ HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@ +HAVE_IMAXABS = @HAVE_IMAXABS@ +HAVE_IMAXDIV = @HAVE_IMAXDIV@ HAVE_IMAXDIV_T = @HAVE_IMAXDIV_T@ HAVE_INITSTATE = @HAVE_INITSTATE@ HAVE_INTTYPES_H = @HAVE_INTTYPES_H@ @@ -725,6 +741,7 @@ HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@ HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@ HAVE_MBTOWC = @HAVE_MBTOWC@ HAVE_MEMPCPY = @HAVE_MEMPCPY@ +HAVE_MEMSET_EXPLICIT = @HAVE_MEMSET_EXPLICIT@ HAVE_MKDIRAT = @HAVE_MKDIRAT@ HAVE_MKDTEMP = @HAVE_MKDTEMP@ HAVE_MKFIFO = @HAVE_MKFIFO@ @@ -803,6 +820,7 @@ HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@ HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@ HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@ HAVE_UNISTD_H = @HAVE_UNISTD_H@ +HAVE_UNISTRING_WOE32DLL_H = @HAVE_UNISTRING_WOE32DLL_H@ HAVE_UNLINKAT = @HAVE_UNLINKAT@ HAVE_UNLOCKPT = @HAVE_UNLOCKPT@ HAVE_USLEEP = @HAVE_USLEEP@ @@ -851,7 +869,6 @@ HAVE_WMEMMOVE = @HAVE_WMEMMOVE@ HAVE_WMEMPCPY = @HAVE_WMEMPCPY@ HAVE_WMEMSET = @HAVE_WMEMSET@ HAVE_XLOCALE_H = @HAVE_XLOCALE_H@ -HAVE__BOOL = @HAVE__BOOL@ HAVE__EXIT = @HAVE__EXIT@ ICONV_CONST = @ICONV_CONST@ ICONV_H = @ICONV_H@ @@ -866,6 +883,10 @@ INT32_MAX_LT_INTMAX_MAX = @INT32_MAX_LT_INTMAX_MAX@ INT64_MAX_EQ_LONG_MAX = @INT64_MAX_EQ_LONG_MAX@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ +LC_COLLATE_IMPLEMENTED = @LC_COLLATE_IMPLEMENTED@ +LC_MONETARY_IMPLEMENTED = @LC_MONETARY_IMPLEMENTED@ +LC_NUMERIC_IMPLEMENTED = @LC_NUMERIC_IMPLEMENTED@ +LC_TIME_IMPLEMENTED = @LC_TIME_IMPLEMENTED@ LDFLAGS = @LDFLAGS@ LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@ LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@ @@ -893,11 +914,14 @@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ +MBRTOWC_LIB = @MBRTOWC_LIB@ MKDIR_P = @MKDIR_P@ MONETARY_H = @MONETARY_H@ MSGFMT = @MSGFMT@ MSGMERGE = @MSGMERGE@ MSGMERGE_FOR_MSGFMT_OPTION = @MSGMERGE_FOR_MSGFMT_OPTION@ +NEXT_ASSERT_H = @NEXT_ASSERT_H@ +NEXT_AS_FIRST_DIRECTIVE_ASSERT_H = @NEXT_AS_FIRST_DIRECTIVE_ASSERT_H@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@ NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@ NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@ @@ -967,6 +991,7 @@ REPLACE_CTIME = @REPLACE_CTIME@ REPLACE_DPRINTF = @REPLACE_DPRINTF@ REPLACE_DUP = @REPLACE_DUP@ REPLACE_DUP2 = @REPLACE_DUP2@ +REPLACE_DUP3 = @REPLACE_DUP3@ REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@ REPLACE_EXECL = @REPLACE_EXECL@ REPLACE_EXECLE = @REPLACE_EXECLE@ @@ -976,9 +1001,11 @@ REPLACE_EXECVE = @REPLACE_EXECVE@ REPLACE_EXECVP = @REPLACE_EXECVP@ REPLACE_EXECVPE = @REPLACE_EXECVPE@ REPLACE_FACCESSAT = @REPLACE_FACCESSAT@ +REPLACE_FCHDIR = @REPLACE_FCHDIR@ REPLACE_FCHMODAT = @REPLACE_FCHMODAT@ REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@ REPLACE_FCLOSE = @REPLACE_FCLOSE@ +REPLACE_FDATASYNC = @REPLACE_FDATASYNC@ REPLACE_FDOPEN = @REPLACE_FDOPEN@ REPLACE_FFLUSH = @REPLACE_FFLUSH@ REPLACE_FFSLL = @REPLACE_FFSLL@ @@ -1001,22 +1028,29 @@ REPLACE_GETCWD = @REPLACE_GETCWD@ REPLACE_GETDELIM = @REPLACE_GETDELIM@ REPLACE_GETDOMAINNAME = @REPLACE_GETDOMAINNAME@ REPLACE_GETDTABLESIZE = @REPLACE_GETDTABLESIZE@ +REPLACE_GETENTROPY = @REPLACE_GETENTROPY@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@ REPLACE_GETLINE = @REPLACE_GETLINE@ +REPLACE_GETLOADAVG = @REPLACE_GETLOADAVG@ REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@ REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@ REPLACE_GETPASS = @REPLACE_GETPASS@ REPLACE_GETPASS_FOR_GETPASS_GNU = @REPLACE_GETPASS_FOR_GETPASS_GNU@ +REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@ +REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@ REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@ REPLACE_GMTIME = @REPLACE_GMTIME@ REPLACE_ICONV = @REPLACE_ICONV@ REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@ REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@ +REPLACE_IMAXABS = @REPLACE_IMAXABS@ +REPLACE_IMAXDIV = @REPLACE_IMAXDIV@ REPLACE_INITSTATE = @REPLACE_INITSTATE@ REPLACE_ISATTY = @REPLACE_ISATTY@ REPLACE_ISWBLANK = @REPLACE_ISWBLANK@ REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@ REPLACE_ISWDIGIT = @REPLACE_ISWDIGIT@ +REPLACE_ISWPUNCT = @REPLACE_ISWPUNCT@ REPLACE_ISWXDIGIT = @REPLACE_ISWXDIGIT@ REPLACE_LCHOWN = @REPLACE_LCHOWN@ REPLACE_LINK = @REPLACE_LINK@ @@ -1034,14 +1068,19 @@ REPLACE_MBSINIT = @REPLACE_MBSINIT@ REPLACE_MBSNRTOWCS = @REPLACE_MBSNRTOWCS@ REPLACE_MBSRTOWCS = @REPLACE_MBSRTOWCS@ REPLACE_MBSTATE_T = @REPLACE_MBSTATE_T@ +REPLACE_MBSTOWCS = @REPLACE_MBSTOWCS@ REPLACE_MBTOWC = @REPLACE_MBTOWC@ +REPLACE_MB_CUR_MAX = @REPLACE_MB_CUR_MAX@ REPLACE_MEMCHR = @REPLACE_MEMCHR@ REPLACE_MEMMEM = @REPLACE_MEMMEM@ +REPLACE_MEMPCPY = @REPLACE_MEMPCPY@ REPLACE_MKDIR = @REPLACE_MKDIR@ REPLACE_MKFIFO = @REPLACE_MKFIFO@ REPLACE_MKFIFOAT = @REPLACE_MKFIFOAT@ REPLACE_MKNOD = @REPLACE_MKNOD@ REPLACE_MKNODAT = @REPLACE_MKNODAT@ +REPLACE_MKOSTEMP = @REPLACE_MKOSTEMP@ +REPLACE_MKOSTEMPS = @REPLACE_MKOSTEMPS@ REPLACE_MKSTEMP = @REPLACE_MKSTEMP@ REPLACE_MKTIME = @REPLACE_MKTIME@ REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@ @@ -1049,8 +1088,10 @@ REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@ REPLACE_NULL = @REPLACE_NULL@ REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@ REPLACE_PERROR = @REPLACE_PERROR@ +REPLACE_PIPE2 = @REPLACE_PIPE2@ REPLACE_POPEN = @REPLACE_POPEN@ REPLACE_POSIX_MEMALIGN = @REPLACE_POSIX_MEMALIGN@ +REPLACE_POSIX_OPENPT = @REPLACE_POSIX_OPENPT@ REPLACE_PREAD = @REPLACE_PREAD@ REPLACE_PRINTF = @REPLACE_PRINTF@ REPLACE_PTSNAME = @REPLACE_PTSNAME@ @@ -1058,6 +1099,7 @@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@ REPLACE_PUTENV = @REPLACE_PUTENV@ REPLACE_PWRITE = @REPLACE_PWRITE@ REPLACE_QSORT_R = @REPLACE_QSORT_R@ +REPLACE_RAND = @REPLACE_RAND@ REPLACE_RANDOM = @REPLACE_RANDOM@ REPLACE_RANDOM_R = @REPLACE_RANDOM_R@ REPLACE_READ = @REPLACE_READ@ @@ -1072,6 +1114,7 @@ REPLACE_RENAME = @REPLACE_RENAME@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@ REPLACE_RMDIR = @REPLACE_RMDIR@ REPLACE_SETENV = @REPLACE_SETENV@ +REPLACE_SETHOSTNAME = @REPLACE_SETHOSTNAME@ REPLACE_SETLOCALE = @REPLACE_SETLOCALE@ REPLACE_SETSTATE = @REPLACE_SETSTATE@ REPLACE_SLEEP = @REPLACE_SLEEP@ @@ -1080,6 +1123,7 @@ REPLACE_SPRINTF = @REPLACE_SPRINTF@ REPLACE_STAT = @REPLACE_STAT@ REPLACE_STDIO_READ_FUNCS = @REPLACE_STDIO_READ_FUNCS@ REPLACE_STDIO_WRITE_FUNCS = @REPLACE_STDIO_WRITE_FUNCS@ +REPLACE_STPCPY = @REPLACE_STPCPY@ REPLACE_STPNCPY = @REPLACE_STPNCPY@ REPLACE_STRCASESTR = @REPLACE_STRCASESTR@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@ @@ -1105,9 +1149,12 @@ REPLACE_STRTOULL = @REPLACE_STRTOULL@ REPLACE_STRTOUMAX = @REPLACE_STRTOUMAX@ REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@ REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@ +REPLACE_STRVERSCMP = @REPLACE_STRVERSCMP@ REPLACE_SYMLINK = @REPLACE_SYMLINK@ REPLACE_SYMLINKAT = @REPLACE_SYMLINKAT@ +REPLACE_TIME = @REPLACE_TIME@ REPLACE_TIMEGM = @REPLACE_TIMEGM@ +REPLACE_TIMESPEC_GET = @REPLACE_TIMESPEC_GET@ REPLACE_TMPFILE = @REPLACE_TMPFILE@ REPLACE_TOWLOWER = @REPLACE_TOWLOWER@ REPLACE_TRUNCATE = @REPLACE_TRUNCATE@ @@ -1125,21 +1172,30 @@ REPLACE_VPRINTF = @REPLACE_VPRINTF@ REPLACE_VSNPRINTF = @REPLACE_VSNPRINTF@ REPLACE_VSPRINTF = @REPLACE_VSPRINTF@ REPLACE_WCRTOMB = @REPLACE_WCRTOMB@ +REPLACE_WCSCMP = @REPLACE_WCSCMP@ REPLACE_WCSFTIME = @REPLACE_WCSFTIME@ +REPLACE_WCSNCMP = @REPLACE_WCSNCMP@ REPLACE_WCSNRTOMBS = @REPLACE_WCSNRTOMBS@ REPLACE_WCSRTOMBS = @REPLACE_WCSRTOMBS@ +REPLACE_WCSSTR = @REPLACE_WCSSTR@ REPLACE_WCSTOK = @REPLACE_WCSTOK@ REPLACE_WCSWIDTH = @REPLACE_WCSWIDTH@ REPLACE_WCTOB = @REPLACE_WCTOB@ REPLACE_WCTOMB = @REPLACE_WCTOMB@ +REPLACE_WCTRANS = @REPLACE_WCTRANS@ +REPLACE_WCTYPE = @REPLACE_WCTYPE@ REPLACE_WCWIDTH = @REPLACE_WCWIDTH@ +REPLACE_WMEMCMP = @REPLACE_WMEMCMP@ +REPLACE_WMEMPCPY = @REPLACE_WMEMPCPY@ REPLACE_WRITE = @REPLACE_WRITE@ +REPLACE__EXIT = @REPLACE__EXIT@ +SCHED_YIELD_LIB = @SCHED_YIELD_LIB@ SED = @SED@ +SETLOCALE_NULL_LIB = @SETLOCALE_NULL_LIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SIG_ATOMIC_T_SUFFIX = @SIG_ATOMIC_T_SUFFIX@ SIZE_T_SUFFIX = @SIZE_T_SUFFIX@ -STDBOOL_H = @STDBOOL_H@ STDDEF_H = @STDDEF_H@ STDINT_H = @STDINT_H@ STRIP = @STRIP@ @@ -1174,7 +1230,6 @@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ -appdatadir = @appdatadir@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ @@ -1210,6 +1265,7 @@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ +metainfodir = @metainfodir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ diff --git a/src/exch.c b/src/exch.c index 43c9857..8fb44db 100644 --- a/src/exch.c +++ b/src/exch.c @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/exch.h b/src/exch.h index 845bc9e..3b6450e 100644 --- a/src/exch.h +++ b/src/exch.h @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/fileio.c b/src/fileio.c index 9df1c18..983c625 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/fileio.h b/src/fileio.h index c8f3f7b..dd96e70 100644 --- a/src/fileio.h +++ b/src/fileio.h @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/game.c b/src/game.c index eaec4bb..ef01ade 100644 --- a/src/game.c +++ b/src/game.c @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/game.h b/src/game.h index 1c5094d..77b4227 100644 --- a/src/game.h +++ b/src/game.h @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/globals.c b/src/globals.c index feba89f..f8ef6a0 100644 --- a/src/globals.c +++ b/src/globals.c @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/globals.h b/src/globals.h index 75392a3..069da06 100644 --- a/src/globals.h +++ b/src/globals.h @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/help.c b/src/help.c index 03d798f..3b3c03e 100644 --- a/src/help.c +++ b/src/help.c @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/help.h b/src/help.h index b7af565..a3cf4da 100644 --- a/src/help.h +++ b/src/help.h @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/intf.c b/src/intf.c index 4e84e3b..a106a0e 100644 --- a/src/intf.c +++ b/src/intf.c @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/intf.h b/src/intf.h index 57d5bdd..6d0a63f 100644 --- a/src/intf.h +++ b/src/intf.h @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/move.c b/src/move.c index a86ad9b..13b6b0f 100644 --- a/src/move.c +++ b/src/move.c @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/move.h b/src/move.h index e6b9604..1dbba27 100644 --- a/src/move.h +++ b/src/move.h @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/system.h b/src/system.h index 9ddc50a..f46ab1b 100644 --- a/src/system.h +++ b/src/system.h @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/trader.c b/src/trader.c index 22ec62b..27cb4ed 100644 --- a/src/trader.c +++ b/src/trader.c @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ @@ -296,7 +296,7 @@ This program is free software that is distributed under the terms of the\n\ GNU General Public License, version 3 or later. You are welcome to\n\ modify and/or distribute it under certain conditions. This program has\n\ NO WARRANTY, to the extent permitted by law; see the License for details.\n\ -"), program_name, PACKAGE_VERSION, "1990-2022"); +"), program_name, PACKAGE_VERSION, "1990-2024"); exit(EXIT_SUCCESS); } diff --git a/src/trader.h b/src/trader.h index 64139c9..63db1d9 100644 --- a/src/trader.h +++ b/src/trader.h @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/utils.c b/src/utils.c index 311e0a2..0e22b0b 100644 --- a/src/utils.c +++ b/src/utils.c @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/ diff --git a/src/utils.h b/src/utils.h index 9f61930..88af86a 100644 --- a/src/utils.h +++ b/src/utils.h @@ -1,7 +1,7 @@ /************************************************************************ * * * Star Traders: A Game of Interstellar Trading * -* Copyright (C) 1990-2022, John Zaitseff * +* Copyright (C) 1990-2024, John Zaitseff * * * ************************************************************************/