m4


Log

Author Commit Date CI Message
Collin Funk 2d08d875 2024-11-17T13:05:55 doc: Prefer https urls where possible. * doc/gnulib.texi (POSIXURL): Use https url. * doc/multithread.texi: Use https instead of http where possible. * doc/glibc-functions/*.texi: Likewise. * doc/posix-functions/*.texi: Likewise. * lib/glthread/lock.c: Likewise. * lib/hamt.h: Likewise. * lib/localcharset.c: Likewise. * lib/pipe2.c: Likewise. * lib/pipe.c: Likewise. * lib/sigsegv.c: Likewise. * lib/sigsegv.in.h: Likewise. * lib/sm3.c: Likewise. * lib/sm3.h: Likewise. * lib/sm3-stream.c: Likewise. * lib/stackvma.c: Likewise. * lib/stdio-impl.h: Likewise. * lib/stdnoreturn.in.h: Likewise. * m4/getopt.m4: Likewise. * m4/largefile.m4: Likewise. * m4/stdalign.m4: Likewise. * STATUS-libposix: Likewise. * tests/test-float.c: Likewise. * tests/test-getopt.h: Likewise. * tests/test-setenv.c: Likewise. * tests/test-spawn-pipe-child.c: Likewise. * tests/test-strerror.c: Likewise. * tests/test-strerror_r.c: Likewise. * tests/test-unsetenv.c: Likewise. * users.txt: Likewise.
Paul Eggert dbde74f1 2024-11-17T09:30:24 std-gnu23: sync from Autoconf This fixes a problem reported from Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2024-11/msg00145.html * m4/std-gnu23.m4 (_AC_C_C23_TEST_MAIN): Use null_ptr.
Collin Funk ec28c077 2024-11-16T20:54:10 Remove .cvsignore files. * .cvsignore: Remove file. * doc/.cvsignore: Likewise. * lib/.cvsignore: Likewise. * m4/.cvsignore: Likewise.
Paul Eggert 45385fc0 2024-11-16T12:07:34 std-gnu23: don’t test stdbit.h Although freestanding C23 compilers must support <stdbit.h>, some current sort-of-C23 environments lack it. We still want to use options like -std=gnu23 on such platforms. Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2024-11/msg00141.html * m4/std-gnu23.m4 (_AC_C_C23_TEST_GLOBALS): Do not test stdbit.h.
Paul Eggert 69d4a320 2024-11-16T11:51:23 std-gnu23: pacify GCC 15 Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2024-11/msg00140.html * m4/std-gnu23.m4 (_AC_C_C23_TEST_GLOBALS): Add parens. While we’re at it, use sizeof so that the expression is a conforming integer constant expression.
Paul Eggert 72abb08f 2024-11-14T10:40:24 mktime: don’t consult daylight * lib/mktime.c (__mktime_internal): Do not consult __daylight as it has unreliable contents - among other things, the user can set it. It also wasn’t being configured properly for mingw-w64; this problem was reported by Markus Muetzel in <https://lists.gnu.org/r/bug-gnulib/2024-11/msg00126.html>. * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not check for ‘daylight’; no longer needed.
Bruno Haible addffe3e 2024-11-14T07:06:25 pthread-rwlock tests: Fix compilation error on AIX with xlc. * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Cast the NULL pointer. * tests/test-pthread-rwlock-waitqueue.c (do_test): Likewise.
Bruno Haible 31487cb9 2024-11-14T04:51:23 fseeko: Fix potentially wrong override. * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Define the C macro HAVE_FSEEKO.
Bruno Haible 5ff01b5b 2024-11-14T04:42:45 ftello: Fix override on mingw and 32-bit Solaris OpenIndiana. Reported by Markus Mützel <markus.muetzel@gmx.de> in <https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00108.html>. * m4/ftello.m4 (gl_PREREQ_FTELLO): Define the C macro HAVE_FTELLO.
Bruno Haible c56c270c 2024-11-11T07:25:00 file-has-acl: Fix compilation errors on macOS et al. (regr. 2024-11-09). * m4/acl.m4 (gl_FUNC_ACL): Test whether acl_get_link_np exists. * lib/file-has-acl.c (file_has_aclinfo): Use ACL_SYMLINK_FOLLOW, not AC_SYMLINK_FOLLOW. Don't use acl_get_link_np if this function does not exist.
Bruno Haible e3915945 2024-11-06T13:02:09 memset_explicit: Guarantee N3322 functionality. * m4/memset_explicit.m4 (gl_PREREQ_MEMSET_EXPLICIT): Require AC_CANONICAL_HOST. Test whether memset_s supports zero-length operations. * lib/memset_explicit.c (memset_explicit): Don't invoke memset_s with argument 0 if memset_s does not support this.
Bruno Haible df78f65c 2024-11-06T12:44:26 wcsncat: Fix configure test. * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Fix wrong cache variable name.
Paul Eggert 67c01c9e 2024-11-05T22:20:45 regex: port better to AIX extensions Also, switch from eealloc.m4 to malloc.m4 to determine whether malloc (0) returns nonnull. * lib/regex_internal.c (re_node_set_alloc): Remove special case for malloc (0). * lib/regex_internal.h (MALLOC_0_IS_NONNULL): Remove. * m4/regex.m4 (gl_PREREQ_REGEX): Do not require gl_EEMALLOC. * modules/regex (Files): Remove m4/eealloc.m4, m4/malloc.m4. (Depends-on): Add malloc-gnu.
Paul Eggert ad999640 2024-11-05T22:06:54 malloca: port better to AIX extensions Also, switch from eealloc.m4 to malloc.m4 to determine whether malloc (0) returns nonnull. * lib/malloca.c (mmalloca): Use HAVE_MALLOC_0_NONNULL, not MALLOC_0_IS_NONNULL. * m4/malloca.m4 (gl_MALLOCA): Require gl_FUNC_MALLOC_GNU, not gl_EEMALLOC. * modules/malloca (Files): Remove m4/eemalloc.m4. (Depends-on): Add extensions-aix. * modules/relocatable-prog-wrapper: AC_REQUIRE gl_FUNC_MALLOC_POSIX to suppress Autoconf 2.71 “warning: AC_REQUIRE: `gl_FUNC_MALLOC_POSIX' was expanded before it was required”.
Paul Eggert 01c2e2e6 2024-11-05T22:00:01 malloc: refactor to help replace eealloc * m4/malloc.m4 (gl_FUNC_MALLOC_0_NONNULL): New macro, split out from gl_FUNC_MALLOC_GNU. (gl_FUNC_MALLOC_GNU): Require it.
Paul Eggert 7fb2347f 2024-11-05T21:23:40 realloc-posix: mention _LINUX_SOURCE_COMPAT * m4/realloc.m4 (gl_FUNC_REALLOC_0_NONNULL): Add comment about _LINUX_SOURCE_COMPAT.
Bruno Haible 6ba3df05 2024-11-06T05:05:26 reallocarray: Fix compilation error in C++ mode (regr. 2024-11-04). * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't use REPLACE_REALLOC_FOR_REALLOC_POSIX here. Use gl_cv_malloc_ptrdiff instead.
Paul Eggert 353a2f88 2024-11-05T15:55:24 malloc: sync with Autoconf This fixes a comment problem mentioned by Bruno in: https://lists.gnu.org/r/bug-gnulib/2024-11/msg00048.html
Bruno Haible 101b9d7f 2024-11-05T21:11:33 wcsncat: Guarantee N3322 functionality. * lib/wchar.in.h (wcsncat): Consider REPLACE_WCSNCAT. * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Test whether the zero-length bug is present. * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNCAT. * modules/wchar (Makefile.am): Substitute REPLACE_WCSNCAT. * modules/wcsncat (Status, Notice): Remove. (configure.ac): Consider REPLACE_WCSNCAT. * doc/posix-functions/wcsncat.texi: Mention the zero-length bug.
Bruno Haible bf799ba1 2024-11-05T21:10:20 strndup: Guarantee N3322 functionality. * m4/strndup.m4 (gl_FUNC_STRNDUP): Check against the AIX bug. * doc/posix-functions/strndup.texi: Mention the AIX bug.
Bruno Haible 56c8e85b 2024-11-05T15:53:47 calloc, malloc: Fix a comment. * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Mention that it sets HAVE_MALLOC_PTRDIFF. (gl_FUNC_MALLOC_PTRDIFF): Likewise. (gl_CHECK_MALLOC_PTRDIFF): Do not mention HAVE_MALLOC_PTRDIFF here.
Bruno Haible 46d0d94c 2024-11-05T15:30:49 calloc: Fix configure test (regression yesterday). * m4/calloc.m4 (gl_FUNC_CALLOC_IF): Fix wrong cache variable name. Rename cache variable. Restore earlier comment.
Paul Eggert c2df016c 2024-11-04T18:16:50 realloc-posix: tune for glibc-like For glibc, implementing realloc (p, s) as realloc (p, s?s:1) suffices, and it’s probably better to do it inline to aid static checking. * lib/realloc.c (rpl_realloc) [_GL_INLINE_RPL_REALLOC]: Remove, replacing with inline function in stdlib.h. * lib/stdlib.in.h (_GL_INLINE_RPL_REALLOC): New macro. (rpl_realloc): Define as inline if _GL_INLINE_RPL_REALLOC. * m4/realloc.m4 (gl_FUNC_REALLOC_0_NONNULL): Set REPLACE_REALLOC_FOR_REALLOC_POSIX=2 instead of 1, if it’s close enough to glibc that the inline optimization is valid.
Paul Eggert d884e6fc 2024-11-03T22:41:41 realloc-posix: realloc (..., 0) now returns nonnull * lib/realloc.c (rpl_realloc): Simplify and tune by using HAVE_REALLOC_0_NONNULL and HAVE_MALLOC_PTRDIFF, and by having just one call to realloc instead of two. * lib/reallocarray.c (reallocarray): Simplify and tune by delegating the zero case to the revised realloc. * m4/eealloc.m4 (_AC_FUNC_REALLOC_IF): Since only eealloc uses this macro now, move its definition here ... * m4/realloc.m4: ... from here. (gl_FUNC_REALLOC_0_NONNULL): Also check that realloc (p, 0) returns nonnull. Require gl_FUNC_REALLOC_POSIX. Define HAVE_REALLOC_0_NONNULL. * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Also replace reallocarray if it returns a null pointer for size zero. * modules/eealloc (Files): Remove m4/realloc.m4. * modules/realloc-posix (Depends-on): Add extensions-aix. * modules/reallocarray (Files): Add m4/realloc.m4.
Paul Eggert 9a7a9d1b 2024-11-03T18:18:58 calloc, malloc: tune a bit This applies mostly to non-glibc platforms, or to 32-bit glibc before glibc 2.30 (2019). * lib/calloc.c (rpl_calloc): * lib/malloc.c (rpl_malloc): Optimize away some of the code if !HAVE_MALLOC_0_NONNULL or if !HAVE_MALLOC_PTRDIFF. * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_0_NONNULL. (gl_FUNC_MALLOC_PTRDIFF): Define HAVE_MALLOC_PTRDIFF.
Paul Eggert 78ede6f3 2024-11-03T12:24:03 calloc: configure more like malloc * m4/calloc.m4 (gl_FUNC_CALLOC_IF): Rename from _AC_FUNC_CALLOC_IF since this is not derived from Autoconf. All uses changed. Redo implementation so that it is more like _AC_FUNC_MALLOC_IF; this fixes some problems with "volatile" and modernizes the known platforms.
Bruno Haible a1da46a0 2024-11-04T17:50:09 aligned_alloc: Fix test failures on macOS, Solaris (regr. 2024-10-30). * m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Check for the Solaris bug. Let the test program return a bit mask. Update cross-compilation guesses. * lib/aligned_alloc.c: Include <errno.h>. (aligned_alloc): Fail if the alignment is not a power of 2. Work around the Solaris bug. * modules/aligned_alloc (Depends-on): Add malloc-posix. * doc/posix-functions/aligned_alloc.texi: Mention the Solaris bug.
Bruno Haible 871748d4 2024-11-01T13:44:12 eealloc: Revert last change. * m4/eealloc.m4 (gl_EEMALLOC): Invoke _AC_FUNC_MALLOC_IF, not gl_CHECK_MALLOC_POSIX.
Bruno Haible 6cb29d22 2024-11-01T13:26:40 realloc-posix: Fix test failure on AIX (regression 2024-10-27). * m4/realloc.m4 (gl_FUNC_REALLOC_0_NONNULL): New macro. * modules/realloc-posix (configure.ac): Invoke it.
Bruno Haible 23d89b19 2024-11-01T12:28:05 eealloc: Use the same cross-compilation guess as malloc-posix. * m4/eealloc.m4 (gl_EEMALLOC): Invoke gl_CHECK_MALLOC_POSIX, not _AC_FUNC_MALLOC_IF. * modules/malloca (Files): Add m4/malloc.m4. * modules/regex (Files): Likewise.
Bruno Haible 69e170a8 2024-11-01T12:25:22 Improve log output of an Autoconf test. * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): On native Windows, report "guessing yes/no". (gl_FUNC_MALLOC_POSIX): Update. * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): Likewise.
Paul Eggert c7f29c82 2024-10-31T19:22:22 malloc, realloc: fix $3 bug Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2024-10/msg00284.html * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Sync from bleeding-edge Autoconf again.
Bruno Haible 0bf14793 2024-11-01T00:17:20 crc: Support generating the tables also when cross-compiling. * m4/build-cc.m4: New file. * modules/crc (Files): Add it. (configure.ac): Invoke gl_BUILD_CC. Don't set GL_CROSS_COMPILING. (Makefile.am): Use $(BUILD_CC) etc. instead of $(CC) etc.
Bruno Haible cb1e736c 2024-10-31T22:11:22 malloc-posix, realloc-posix: Fix incorrect expansion of AC_FUNC_MALLOC. * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Handle the case of a missing third argument. * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
Bruno Haible 0d39c0a0 2024-10-31T22:04:42 malloc-gnu, eealloc: Make code more future-proof. * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Protect evaluation of $gl_cross_guess_normal. * m4/eealloc.m4 (gl_EEMALLOC, gl_EEREALLOC): Likewise.
Bruno Haible ea0babb1 2024-10-31T20:54:52 malloc-posix, calloc-posix, realloc-posix: Optimize on MSVC. * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Assume that malloc sets errno upon failure if UCRT is in use.
Simon Josefsson cc3fb685 2024-10-31T13:10:34 crc: make it a maintainer setting rather than a user setting. * m4/crc.m4 (gl_CRC_SLICE_BY_8): Drop AC_ARG_ENABLE.
Sam Russell 54f3dae2 2024-10-27T13:19:17 crc: New optimised slice-by-8 implementation * lib/crc.c: Implementation of slice-by-8 algorithm * lib/crc-generate-table.c: Generation code for CRC32 lookup tables * m4/crc.m4: Autoconf enable slice-by-8, flag to disable * modules/crc (Depends-on): Add endian. (Makefile.am): Build slice-by-8 tables from crc-generate-table.c. Signed-off-by: Simon Josefsson <simon@josefsson.org>
Bruno Haible 0e55c626 2024-10-31T12:13:17 posix_memalign: Fix configure test (regression yesterday). * m4/posix_memalign.m4 (gl_FUNC_POSIX_MEMALIGN): Fix typo in comment. Fix variable name.
Bruno Haible 8be7e3ed 2024-10-31T12:09:46 aligned_alloc: Fix comment. * m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Fix typo in comment.
Bruno Haible 3b32a066 2024-10-31T04:34:29 assert-h: Allow mixed use of gcc/g++ also on Haiku 2022. * m4/assert_h.m4 (gl_ASSERT_H): Don't assume that in C mode, <assert.h> defines static_assert.
Paul Eggert 99bbb61c 2024-10-30T12:47:02 posix_memalign: check for GNU behavior with size 0 * lib/posix_memalign.c: Include stdckdint.h. (posix_memalign): Test for overflow more straightforwardly, and more portably to unlikely platforms where SIZE_MAX <= INT_MAX. Treat a zero size as if it were alignment. * m4/posix_memalign.m4 (gl_FUNC_POSIX_MEMALIGN): * tests/test-posix_memalign.c (main): Test zero size too. Use volatile to avoid compiler optimizations. * modules/posix_memalign (Depends-on): Add stdckdint.
Paul Eggert e6108a3b 2024-10-30T11:54:57 aligned_alloc: check for GNU behavior with size 0 If someone ever needs to distinguish between GNU and merely POSIX behavior we can split this into two modules, but for now just make this module act like GNU. * lib/aligned_alloc.c (aligned_alloc): Treat zero size like GNU. * m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): * tests/test-aligned_alloc.c (main): Test zero size too.
Bruno Haible 3b67980c 2024-10-30T15:56:41 assert-h, stdbool: Fix compilation error with MSVC 14 (regr. yesterday). * m4/assert_h.m4 (gl_ASSERT_H): Add parentheses to the preprocessor expression. * m4/c-bool.m4 (gl_C_BOOL): Likewise.
Paul Eggert 98b35580 2024-10-29T22:01:44 malloc, realloc: sync from Autoconf master * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Sync from bleeding-edge Autoconf. All uses changed.
Bruno Haible fc7205c2 2024-10-29T16:21:06 Fix indentation in config.h (regression 2024-09-25). * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a '#else' indentation.
Bruno Haible c384d484 2024-10-29T13:48:36 assert-h, stdbool: Allow mixed use of gcc/g++ and clang/clang++ again. * m4/assert_h.m4 (gl_ASSERT_H): Improve indentation. With GCC and clang, don't use the value of HAVE_C_STATIC_ASSERT. * m4/c-bool.m4 (gl_C_BOOL): With GCC and clang, don't use the value of HAVE_C_BOOL.
Bruno Haible 6659e016 2024-10-28T00:18:35 realloc-gnu: Replace module with an alias to realloc-posix. * tests/test-realloc-posix.c: Renamed from tests/test-realloc-gnu.c. Add more tests, not yet activated. * modules/realloc-posix-tests: Renamed from modules/realloc-gnu-tests. Test test-realloc-posix instead of test-realloc-gnu. * modules/realloc-gnu: Mark as a deprecated alias of 'realloc-posix'. * lib/stdlib.in.h (realloc): Ignore GNULIB_REALLOC_GNU. * modules/stdlib (Makefile.am): Don't substitute GNULIB_REALLOC_GNU, REPLACE_REALLOC_FOR_REALLOC_GNU. * m4/stdlib_h.m4 (gl_STDLIB_H_REQUIRE_DEFAULTS): Don't initialize GNULIB_REALLOC_GNU. (gl_STDLIB_H_DEFAULTS): Don't initialize REPLACE_REALLOC_FOR_REALLOC_GNU. * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Remove macro. * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Update comment. * doc/posix-functions/realloc.texi: Remove description of module 'realloc-gnu'. * MODULES.html.sh (Memory management functions <stdlib.h>): Remove realloc-gnu. Add realloc-posix.
Paul Eggert 54483dcf 2024-10-26T14:34:10 posix_memalign: port better to OpenBSD 6.2+ cross * m4/posix_memalign.m4 (gl_FUNC_POSIX_MEMALIGN): Don’t assume sizeof (void *) <= 32 (!). The bug is fixed in OpenBSD 6.2+.
Bruno Haible 1b5f6776 2024-10-26T21:10:30 regex: Avoid dialog while running configure test on Haiku/x86_64. Reported by Alexandru Popa <alpopa@gmail.com> in <https://sourceforge.net/p/clisp/mailman/message/58831511/>. * m4/regex.m4 (gl_REGEX): Disable dialog upon abort on Haiku.
Bruno Haible ee78a1e9 2024-10-26T20:58:05 regex: Make configure test more maintainable. * m4/regex.m4 (gl_REGEX): Include <malloc.h> before testing for M_CHECK_ACTION.
Bruno Haible 12cd6eca 2024-10-21T15:29:40 realloc: Optionally check for undefined behaviour. * m4/realloc.m4 (gl_FUNC_REALLOC_SANITIZED): New macro. (gl_FUNC_REALLOC_POSIX): Require it. If a sanitized realloc is requested, define NEED_SANITIZED_REALLOC and compile realloc.c. (gl_FUNC_REALLOC_GNU): Require it. If a sanitized realloc is requested, don't compile realloc.c a second time. * lib/realloc.c (rpl_realloc): If NEED_SANITIZED_REALLOC is defined, abort in the case of undefined behaviour.
Bruno Haible b1f65faa 2024-10-17T21:52:41 Use a warranty disclaimer in all-permissive license notices. * etc/license-notices/unlimited: Add a short warranty disclaimer sentence. * m4/*.m4: Update. * build-aux/prefix-gnulib-mk: Likewise. * HACKING: Likewise.
Bruno Haible e979e268 2024-10-11T17:43:02 bison-i18n: Add support for mingw builds on Cygwin hosts. * m4/bison-i18n.m4 (BISON_I18N): Define also BISON_LOCALEDIR_c and BISON_LOCALEDIR_c_make. * modules/bison-i18n (Files): Add m4/build-to-host.m4.
Bruno Haible 886aa98d 2024-10-11T17:41:11 build-to-host.m4: Add one more convenience macro. * m4/build-to-host.m4 (gl_BUILD_TO_HOST_DATADIR): New macro.
Bruno Haible 1a2aba48 2024-10-09T16:33:02 csharpcomp-script: Recognize dotnet even without --enable-csharp=dotnet. * m4/csharpcomp.m4 (gt_CSHARPCOMP): Try 'dotnet' also when --enable-csharp=dotnet is not specified.
Bruno Haible 4d69eebf 2024-10-09T03:14:26 csharpcomp-script: Add support for dotnet. * m4/csharpcomp.m4 (gt_CSHARPCOMP): Support 'dotnet' as implementation. Set HAVE_DOTNET_SDK, HAVE_DOTNET_CSC. * build-aux/csharpcomp.sh.in: Add implementations for the cases $HAVE_DOTNET_SDK = 1 and $HAVE_DOTNET_CSC = 1.
Bruno Haible d81eb1e8 2024-10-09T03:12:42 csharpexec-script: Add support for dotnet. * m4/csharpexec.m4 (gt_CSHARPEXEC): Support 'dotnet' as implementation. Set HAVE_DOTNET. * build-aux/csharpexec.sh.in (func_tmpdir): New function, copied from build-aux/csharpcomp.sh.in. Add implementation for the case $HAVE_DOTNET = 1.
Bruno Haible 9949a97e 2024-10-09T03:11:32 csharpexec-script, csharpcomp-script: Prepare support for dotnet. * m4/csharp.m4 (gt_CSHARP_CHOICE): Recognize 'dotnet' as value of --enable-csharp.
Paul Eggert cc292ecd 2024-10-05T09:02:23 mktime: fix daylight default Problem for FreeBSD 14 reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2024-10/msg00026.html * m4/mktime.m4 (gl_PREREQ_MKTIME): Default daylight to 1, not 0.
Paul Eggert 836c32a5 2024-10-04T09:12:42 timegm: ignore incoming tm_isdst Problem reported by Florian Weimer via a proposed glibc patch in: https://sourceware.org/pipermail/libc-alpha/2024-October/160310.html * lib/mktime.c (__mktime_internal): Ignore any tm_isdst request if the timezone never observes DST, as is the case for timegm. * m4/mktime.m4 (gl_PREREQ_MKTIME): Define new C macro __daylight if needed.
Bruno Haible 7e844a10 2024-10-02T14:41:49 Silence -Wunused-const-variable warnings in Gnulib code. Reported by Yuri Kanivetsky <yuri.kanivetsky@gmail.com> via Pádraig Brady in <https://lists.gnu.org/archive/html/bug-gnulib/2024-10/msg00007.html>. * m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): Add -Wno-unused-const-variable whenever it is supported.
Bruno Haible cc2be6b6 2024-09-30T14:26:53 selinux-h: Fix two syntax errors. * m4/selinux-selinux-h.m4 (gl_CHECK_HEADER_SELINUX_SELINUX_H): Terminate each 'case' clause with ';;'. Remove extraneous closing brace.
Bruno Haible c4e6d695 2024-09-30T14:16:28 file-has-acl: Fix compilation error (regression yesterday). * m4/acl.m4 (gl_FILE_HAS_ACL): Require, not invoke, gl_CHECK_HEADER_SELINUX_SELINUX_H.
Paul Eggert ccc26add 2024-09-29T16:13:53 file-has-acl: new function file_has_aclinfo This is for GNU coreutils, whose ‘ls’ can be made faster with the new function because it means (for example) that ‘ls’ needn’t call both listxattr and lgetxattr in the common case where the file has no extended attributes. * lib/acl.h (ACL_SYMLINK_FOLLOW): New constant. (struct aclinfo): New type. * lib/file-has-acl.c (UNKNOWN_SECURITY_CONTEXT): New constant. (USE_LINUX_XATTR): New macro. When set: Include stdint.h (for uint32_t). If also USE_SELINUX_SELINUX_H, include selinux/selinux.h (for getfilecon). If HAVE_SMACK, include <sys/smack.h>, otherwise provide substitutes for smack_smackfs_path and smack_new_label_from_path. (is_smack_enabled): New function. (aclinfo_has_xattr): Rename from have_xattr and make it extern. Use struct aclinfo const * arg instead of char const * and ssize_t. Work even if ai->size < 0. Supply a no-op macro on platforms lacking xattr. (get_aclinfo): New static function, much of it taken from coreutils/src/ls.c. (file_has_aclinfo): New function, which generalizes file_has_acl to provide more info. Its body is taken from the old file_has_acl with new stuff from ls.c. (file_has_acl): Use it. (aclinfo_scontext_free, aclinfo_free): Nwew functions, if not already no-op macros. * m4/acl.m4 (gl_FUNC_ACL_ARG): Add --without-libsmack option. (gl_FILE_HAS_ACL): Check for libsmack, selinux. * m4/selinux-selinux-h.m4 (gl_CHECK_HEADER_SELINUX_SELINUX_H): New macro, for use by file-has-acl. Rename HAVE_SELINUX_SELINUX_H to USE_SELINUX_SELINUX_H to avoid confusion as to whether we have <selinux/selinux.h>; all uses changed. (gl_HEADERS_SELINUX_SELINUX_H): Use the new macro. * modules/file-has-acl (Files): Add m4/selinux-selinux-h.m4. (Depends-on): Add errno, ssize_t. * tests/test-file-has-acl.c (main): Add a little test for file_has_aclinfo.
Bruno Haible df70a216 2024-09-26T03:48:11 manywarnings: Enable -Wthread-safety for clang. * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Enable -Wthread-safety if supported.
Bruno Haible 99ddb8ce 2024-09-26T02:42:45 build-to-host.m4: Add one more convenience macro. * m4/build-to-host.m4 (gl_BUILD_TO_HOST_PKGLIBEXECDIR): New macro.
Bruno Haible d3406543 2024-09-26T02:02:56 relocatable-lib-lgpl: Add support for mingw builds on Cygwin hosts. Reported by Michele Locati <michele@locati.it> in <https://lists.gnu.org/archive/html/bug-gettext/2024-09/msg00033.html>. * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Use gl_BUILD_TO_HOST on the value of INSTALLPREFIX. * modules/relocatable-lib (Files): Add m4/build-to-host.m4. * modules/relocatable-lib-lgpl (Files): Likewise. * modules/relocatable-prog-wrapper (Files): Likewise.
Bruno Haible eb515396 2024-09-26T01:33:45 build-to-host.m4: Add some convenience macros. Reported by Michele Locati <michele@locati.it> in <https://lists.gnu.org/archive/html/bug-gettext/2024-09/msg00033.html>. * m4/build-to-host.m4 (gl_BUILD_TO_HOST_BINDIR, gl_BUILD_TO_HOST_LIBDIR, gl_BUILD_TO_HOST_LIBEXECDIR, gl_BUILD_TO_HOST_LOCALEDIR, gl_BUILD_TO_HOST_PKGDATADIR, gl_BUILD_TO_HOST_PKGLIBDIR): New macros. * m4/gettext.m4 (AM_GNU_GETTEXT): Invoke gl_BUILD_TO_HOST_LOCALEDIR. * doc/relocatable-maint.texi (Supporting Relocation): Suggest to use the *dir_c_make variables and explain how to get them.
Bruno Haible 2bbbc32f 2024-09-25T16:21:12 string-buffer: Enable resource leak warnings from clang. * m4/gnulib-common.m4 (gl_COMMON_BODY): Define the macros _GL_ATTRIBUTE_CAPABILITY_TYPE, _GL_ATTRIBUTE_ACQUIRE_CAPABILITY, _GL_ATTRIBUTE_RELEASE_CAPABILITY. * lib/string-buffer.h (sb_heap_allocated_pointer_t): New type. (struct string_buffer): Use it. (sb_init): Mark with _GL_ATTRIBUTE_ACQUIRE_CAPABILITY. (sb_free, sb_dupfree): Mark with _GL_ATTRIBUTE_RELEASE_CAPABILITY. * lib/string-buffer.c: Silence the -Wthread-safety warnings in this compilation unit.
Bruno Haible 0d083cd9 2024-09-23T16:59:14 jit/cache tests: Fix link error (regression 2024-09-20). * m4/libdl.m4: New file. * modules/jit/cache-tests (Files): Add it. (configure.ac): Invoke gl_LIBDL. (Makefile.am): Link test-cache with $(LIBDL).
Bruno Haible 14205b0f 2024-09-19T16:32:43 spawn-pipe: Simplify. * m4/spawn-pipe.m4 (gl_SPAWN_PIPE): Don't define HAVE_LIBCX_SPAWN2_H as an AC_SUBSTed variable. Don't test for it on platforms other than OS/2.
KO Myung-Hun cafefb99 2024-09-19T22:58:01 spawn-pipe: Support a directory argument of create_pipe() on OS/2 kLIBC. * lib/os2-spawn.h (spawnpvech): New declaration. * lib/os2-spawn.c (spawnpvech): New function. * lib/spawn-pipe.c (create_pipe) [kLIBC]: Reimplement with spawnpvech(). * m4/spawn-pipe.m4 (gl_SPAWN_PIPE) [HAVE_LIBCX_SPAWN2_H]: Check if libcx/spawn2.h is available.
Paul Eggert 1d7d05e9 2024-09-16T23:55:37 utimens: port to NetBSD-10.99.12/amd64 On this platform, <sys/time.h> declares utimens and lutimens and the C library defines them, so we needn’t (and shouldn’t). Problem reported privately by Thomas Klausner. * lib/utimens.c (utimens) [HAVE_UTIMENS]: Don’t define. (lutimens) [HAVE_LUTIMENS]: Don’t define. * lib/utimens.h [HAVE_UTIMENS || HAVE_LUTIMENS]: Include <sys/time.h>, for NetBSD’s declaration of utimens and lutimens. (utimens) [HAVE_UTIMENS]: Don’t declare. (lutimens) [HAVE_LUTIMENS]: Don’t declare. * m4/utimens.m4 (gl_UTIMENS): Check for utimens, lutimens.
Paul Eggert 78b776d8 2024-09-16T15:32:17 fflush: NetBSD, OpenBSD can’t fflush input * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Guess no on NetBSD and OpenBSD; they document fflush to fail unless the stream is open for writing.
Bruno Haible 8fc19467 2024-09-13T15:25:05 Implement a new property, added by Unicode 16.0.0. * lib/gen-uni-tables.c (is_property_modifier_combining_mark): New function. (output_properties): Output also the property modifier_combining_mark. * lib/unictype.in.h (UC_PROPERTY_MODIFIER_COMBINING_MARK, uc_is_property_modifier_combining_mark): New declarations. * m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK. * modules/unictype/base (Makefile.am): Substitute GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK. * lib/unictype/pr_modifier_combining_mark.c: New file. * lib/unictype/pr_modifier_combining_mark.h: New generated file. * modules/unictype/property-modifier-combining-mark: New file. * tests/unictype/test-pr_modifier_combining_mark.c: New generated file. * modules/unictype/property-modifier-combining-mark-tests: New file. * lib/unictype/pr_byname.gperf: Add modifier_combining_mark. * lib/unictype/pr_byname.c (UC_PROPERTY_INDEX_MODIFIER_COMBINING_MARK): New enum item. (uc_property_byname): Handle it. * modules/unictype/property-byname (Depends-on): Add unictype/property-modifier-combining-mark. * modules/unictype/property-all (Depends-on): Likewise. * MODULES.html.sh (func_all_modules): Add unictype/property-modifier-combining-mark.
Paul Eggert e87d09be 2024-09-05T18:31:29 Fix COPYING.EXCEPTION license notices Problem reported by Bruno Haible in: https://lists.gnu.org/r/bug-gnulib/2024-08/msg00227.html * m4/std-gnu11.m4: Fix license notice to use COPYING.EXCEPTION correctly. * m4/std-gnu23.m4: Likewise. Also document the commit ID, since Autoconf was updated likewise and we’re copying from there.
Bruno Haible 6e953212 2024-09-04T19:38:52 Resolve conflicts for functions introduced in Android API level 35. Reported by Po Lu <luangruo@yahoo.com> in <https://lists.gnu.org/archive/html/bug-gnulib/2024-09/msg00024.html>. * lib/time.in.h (timezone_t, tzalloc, tzfree): Don't require _GNU_SOURCE to be defined. Define depending on HAVE_TZALLOC, not HAVE_TIMEZONE_T. (localtime_rz, mktime_z): Likewise. Override if REPLACE_LOCALTIME_RZ or REPLACE_MKTIME_Z is 1, respectively. * lib/time_rz.c: If NEED_TIMEZONE_NULL_SUPPORT, define only localtime_rz and mktime_z and only as wrappers around the system function. * m4/time_h.m4 (gl_TIME_H_DEFAULTS): Initialize HAVE_TZALLOC, REPLACE_LOCALTIME_RZ, REPLACE_MKTIME_Z. * m4/time_rz.m4 (gl_TIME_RZ): Conditionally set HAVE_TZALLOC, REPLACE_LOCALTIME_RZ, REPLACE_MKTIME_Z. Conditionally define NEED_TIMEZONE_NULL_SUPPORT. * modules/time-h (Makefile.am): Substitute HAVE_TZALLOC, REPLACE_LOCALTIME_RZ, REPLACE_MKTIME_Z. * modules/time_rz (Depends-on, configure.ac): Consider HAVE_TZALLOC, REPLACE_LOCALTIME_RZ, REPLACE_MKTIME_Z. Ignore HAVE_TIMEZONE_T.
Bruno Haible 2d4c7ab0 2024-09-04T10:34:04 Resolve conflicts for functions introduced in Android API level 35. * m4/strerrorname_np.m4 (gl_FUNC_COPY_FILE_RANGE): Conditionally set REPLACE_STRERRORNAME_NP. (gl_CHECK_STRERRORNAME_NP): Test for strerrorname_np using gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
Bruno Haible e6b06bfd 2024-09-01T12:42:30 Fix quoting of $LOCALE_EN_UTF8 (regression yesterday). * m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Properly quote $LOCALE_EN_UTF8. * m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise. * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise. * m4/mbrtoc16.m4 (gl_MBRTOC16_NULL_DESTINATION): Likewise. * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2, gl_MBRTOWC_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE): Likewise. * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise. * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise. * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
Bruno Haible 02d8add1 2024-09-01T01:57:29 Strengthen LC_CTYPE configure tests on OpenBSD, Android, Haiku. * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Require gt_LOCALE_EN_UTF8 instead of gt_LOCALE_FR_UTF8. Use LOCALE_EN_UTF8 instead of LOCALE_FR_UTF8. * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2, gl_MBRTOWC_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE): Likewise. * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise. * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. * m4/mbrtoc16.m4 (gl_MBRTOC16_NULL_DESTINATION): Require gt_LOCALE_EN_UTF8 instead of gt_LOCALE_FR_UTF8. Use LOCALE_EN_UTF8 instead of LOCALE_FR_UTF8. Update cross-compilation guess. * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise. * modules/btowc (Files): Add m4/locale-en.m4. * modules/c32isalnum (Files): Likewise. * modules/c32isalpha (Files): Likewise. * modules/c32isblank (Files): Likewise. * modules/c32iscntrl (Files): Likewise. * modules/c32isdigit (Files): Likewise. * modules/c32isgraph (Files): Likewise. * modules/c32islower (Files): Likewise. * modules/c32isprint (Files): Likewise. * modules/c32ispunct (Files): Likewise. * modules/c32isspace (Files): Likewise. * modules/c32isupper (Files): Likewise. * modules/c32isxdigit (Files): Likewise. * modules/c32rtomb (Files): Likewise. * modules/c32tob (Files): Likewise. * modules/c32tolower (Files): Likewise. * modules/c32toupper (Files): Likewise. * modules/c32width (Files): Likewise. * modules/iswdigit (Files): Likewise. * modules/mbrtoc16 (Files): Likewise. * modules/mbrtoc32 (Files): Likewise. * modules/mbsnrtowcs (Files): Likewise. * modules/mbsrtowcs (Files): Likewise. * modules/wcrtomb (Files): Likewise. * modules/wcsnrtombs (Files): Likewise. * modules/wcsrtombs (Files): Likewise. * modules/wctob (Files): Likewise. * modules/mbrlen (Files): Add m4/locale-en.m4. Remove m4/locale-fr.m4. * modules/mbrtowc (Files): Likewise. * modules/stdlib (Files): Likewise.
Bruno Haible cc08d989 2024-09-01T00:12:54 iswxdigit: Work around OpenBSD, Android, Haiku bug. * m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Require gt_LOCALE_EN_UTF8 instead of gt_LOCALE_FR_UTF8. Use LOCALE_EN_UTF8 instead of LOCALE_FR_UTF8. Update cross-compilation guess. * modules/iswxdigit (Files): Add m4/locale-en.m4. Remove m4/locale-fr.m4. * doc/posix-functions/iswxdigit.texi: Update list of platforms.
Bruno Haible 602a6728 2024-09-01T00:11:12 iswdigit: Work around OpenBSD, Android, Haiku bug. * m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Require gt_LOCALE_EN_UTF8 instead of gt_LOCALE_FR_UTF8. Use LOCALE_EN_UTF8 instead of LOCALE_FR_UTF8. Update cross-compilation guess. * modules/iswdigit (Files): Add m4/locale-en.m4. * doc/posix-functions/iswdigit.texi: Update list of platforms.
Bruno Haible c4bc471b 2024-08-31T19:22:37 tests: Strengthen LC_CTYPE tests on OpenBSD, Android, Haiku. * m4/locale-en.m4: New file, based on m4/locale-fr.m4. * m4/locale-ar.m4 (gt_LOCALE_AR): Update comments. * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise. * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise. * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise. * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. * modules/btoc32-tests (Files): Add m4/locale-en.m4. (configure.ac): Invoke gt_LOCALE_EN_UTF8. (Makefile.am): Set LOCALE_EN_UTF8 in TESTS_ENVIRONMENT. * modules/btowc-tests: Likewise. * modules/c32isalnum-tests: Likewise. * modules/c32isalpha-tests: Likewise. * modules/c32isblank-tests: Likewise. * modules/c32iscntrl-tests: Likewise. * modules/c32isdigit-tests: Likewise. * modules/c32isgraph-tests: Likewise. * modules/c32islower-tests: Likewise. * modules/c32isprint-tests: Likewise. * modules/c32ispunct-tests: Likewise. * modules/c32isspace-tests: Likewise. * modules/c32isupper-tests: Likewise. * modules/c32isxdigit-tests: Likewise. * modules/c32rtomb-tests: Likewise. * modules/c32snrtombs-tests: Likewise. * modules/c32srtombs-tests: Likewise. * modules/c32stombs-tests: Likewise. * modules/c32tolower-tests: Likewise. * modules/c32toupper-tests: Likewise. * modules/fnmatch-tests: Likewise. * modules/iswdigit-tests: Likewise. * modules/iswxdigit-tests: Likewise. * modules/mbmemcasecmp-tests: Likewise. * modules/mbmemcasecoll-tests: Likewise. * modules/mbrlen-tests: Likewise. * modules/mbrtoc16-tests: Likewise. * modules/mbrtoc32-tests: Likewise. * modules/mbrtowc-tests: Likewise. * modules/mbscasestr-tests: Likewise. * modules/mbscspn-tests: Likewise. * modules/mbsinit-tests: Likewise. * modules/mbslen-tests: Likewise. * modules/mbsnlen-tests: Likewise. * modules/mbsnrtoc32s-tests: Likewise. * modules/mbsnrtowcs-tests: Likewise. * modules/mbspbrk-tests: Likewise. * modules/mbsrtoc32s-tests: Likewise. * modules/mbsrtowcs-tests: Likewise. * modules/mbsspn-tests: Likewise. * modules/mbsstr-tests: Likewise. * modules/mbstoc32s-tests: Likewise. * modules/mbstowcs-tests: Likewise. * modules/mcel-tests: Likewise. * modules/trim-tests: Likewise. * modules/unicodeio-tests: Likewise. * modules/wcrtomb-tests: Likewise. * modules/wcsnrtombs-tests: Likewise. * modules/wcsrtombs-tests: Likewise. * tests/test-btoc32-3.sh: If LOCALE_FR_UTF8 is 'none', try LOCALE_EN_UTF8 instead. * tests/test-btowc-3.sh: Likewise. * tests/test-c32isalnum.sh: Likewise. * tests/test-c32isalpha.sh: Likewise. * tests/test-c32isblank.sh: Likewise. * tests/test-c32iscntrl.sh: Likewise. * tests/test-c32isdigit.sh: Likewise. * tests/test-c32isgraph.sh: Likewise. * tests/test-c32islower.sh: Likewise. * tests/test-c32isprint.sh: Likewise. * tests/test-c32ispunct.sh: Likewise. * tests/test-c32isspace.sh: Likewise. * tests/test-c32isupper.sh: Likewise. * tests/test-c32isxdigit.sh: Likewise. * tests/test-c32rtomb.sh: Likewise. * tests/test-c32snrtombs-3.sh: Likewise. * tests/test-c32srtombs-3.sh: Likewise. * tests/test-c32stombs-3.sh: Likewise. * tests/test-c32tolower.sh: Likewise. * tests/test-c32toupper.sh: Likewise. * tests/test-fnmatch-3.sh: Likewise. * tests/test-iswdigit.sh: Likewise. * tests/test-iswxdigit.sh: Likewise. * tests/test-mbmemcasecmp-3.sh: Likewise. * tests/test-mbmemcasecoll-3.sh: Likewise. * tests/test-mbrlen-3.sh: Likewise. * tests/test-mbrtoc16-3.sh: Likewise. * tests/test-mbrtoc32-3.sh: Likewise. * tests/test-mbrtowc-3.sh: Likewise. * tests/test-mbscasestr2.sh: Likewise. * tests/test-mbscspn.sh: Likewise. * tests/test-mbsinit.sh: Likewise. * tests/test-mbslen.sh: Likewise. * tests/test-mbsnlen.sh: Likewise. * tests/test-mbsnrtoc32s-3.sh: Likewise. * tests/test-mbsnrtowcs-3.sh: Likewise. * tests/test-mbspbrk.sh: Likewise. * tests/test-mbsrtoc32s-3.sh: Likewise. * tests/test-mbsrtowcs-3.sh: Likewise. * tests/test-mbsspn.sh: Likewise. * tests/test-mbsstr2.sh: Likewise. * tests/test-mbstoc32s-3.sh: Likewise. * tests/test-mbstowcs-3.sh: Likewise. * tests/test-mcel-3.sh: Likewise. * tests/test-trim2.sh: Likewise. * tests/test-unicodeio2.sh: Likewise. * tests/test-wcrtomb.sh: Likewise. * tests/test-wcsnrtombs-3.sh: Likewise. * tests/test-wcsrtombs-3.sh: Likewise.
Bruno Haible fa639f8d 2024-08-31T13:57:39 mbrtoc32: Fix a cross-compilation guess. * m4/mbrtoc32.m4 (gl_MBRTOC32_UTF8_LOCALE): Guess no on Cygwin.
Bruno Haible 0e62b885 2024-08-30T13:41:14 sigsegv: Clarify license of the *.m4 files. * m4/sigaltstack.m4: In the license notice, clarify which version of the GPL is meant. * m4/stack-direction.m4: Likewise.
Bruno Haible 7b6f844b 2024-08-29T18:32:35 gnulib-tool.py: Allow verifying license compatibility with GPLv2+. * pygnulib/GLInfo.py (GLInfo.usage): Document the --gpl option. * pygnulib/main.py (main): Accept a --gpl option. Pass it to the GLConfig. * pygnulib/GLConfig.py (GLConfig): Add 'gpl' field and constructor argument. Add getGPL, setGPL, resetGPL methods. * m4/gnulib-tool.m4 (gl_GPL): New macro. * doc/gnulib-tool.texi (Modified imports): Document the gl_GPL macro. * pygnulib/GLImport.py (GLImport.__init__): Look for gl_GPL invocations in gnulib-cache.m4. (GLImport.actioncmd): Output --gpl option when option --gpl was given. (GLImport.gnulib_cache): Emit a gl_GPL invocation when option --gpl was given. (GLImport.prepare): Do license compatibility checking when option --gpl was given. * pygnulib/GLModuleSystem.py: Update a comment.
Bruno Haible 40c97669 2024-08-28T00:34:53 mcel: Fix compilation error with MSVC. * modules/builtin-expect (Description): Improve. * m4/builtin-expect.m4: Improve comment. * modules/mcel (Depends-on): Add builtin-expect.
Bruno Haible ed1fca92 2024-08-27T22:50:05 write-any-file: Don't reference an undefined function on native Windows. * m4/write-any-file.m4 (): Remove test for <priv.h>, obsolete since 2009-05-03. Test for geteuid. * lib/write-any-file.c (geteuid): Define a fallback.
Bruno Haible 624b6158 2024-08-27T22:28:36 mkdir-p: Don't reference an undefined function on native Windows. * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Test whether fchown exists. * lib/dirchownmod.c (fchown): Define to a fallback if the system does not have fchown. (dirchownmod): Test HAVE_FCHOWN.
Bruno Haible 61720eb1 2024-08-27T16:20:16 Explicitly exclude clang when we test for a GCC version >= 4.3. Rationale: clang can disguise as any possible GCC version. * m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): When testing __GNUC__, exclude clang. * lib/_Noreturn.h (_Noreturn): Likewise. * lib/aligned-malloc.h (aligned_free, aligned_malloc): Likewise. * lib/base32.h: Likewise. * lib/base64.h: Likewise. * lib/dfa.c (FALLTHROUGH): Likewise. * lib/dirent.in.h (_GL_ATTRIBUTE_DEALLOC, opendir, fdopendir): Likewise. * lib/intprops-internal.h: Likewise. * lib/jit/cache.h (clear_cache): Likewise. * lib/malloc.in.h (memalign): Likewise. * lib/mcel.h: Likewise. * lib/regex.h: Likewise. * lib/stddef.in.h (_GL_HAS_BUILTIN_UNREACHABLE): Likewise. * lib/stdio.in.h (_GL_ATTRIBUTE_DEALLOC, fdopen, fopen, popen, tmpfile): Likewise. * lib/stdlib.in.h (_GL_ATTRIBUTE_DEALLOC, aligned_alloc, calloc, canonicalize_file_name, malloc, realloc): Likewise. * lib/string.in.h (_GL_ATTRIBUTE_DEALLOC, strdup, strndup): Likewise. * lib/verify.h: Likewise. * lib/wchar.in.h (_GL_ATTRIBUTE_DEALLOC, wcsdup): Likewise. * lib/xalloc-oversized.h (xalloc_oversized): Likewise. * lib/fenv-private.h (_FPU_GETCW, _FPU_SETCW, _FPU_GETFPSR, _FPU_SETFPSR): When testing __GNUC__, exclude clang. Use different builtins for clang. * lib/hamt.h (GL_HAMT_THREAD_SAFE): When testing __GNUC__, exclude clang. Enable for clang >= 4. * lib/astrxfrm.c: Use _GL_GNUC_PREREQ. * lib/readutmp.c: Likewise. * lib/strftime.c: Likewise. * tests/test-asyncsafe-linked_list-strong.c: Likewise. * tests/test-asyncsafe-linked_list-weak.c: Likewise. * tests/test-c-strtod-mt.c: Likewise. * tests/test-c-strtof-mt.c: Likewise. * tests/test-c-strtold-mt.c: Likewise. * tests/test-gmtime_r-mt.c: Likewise. * tests/test-intprops.c: Likewise. * tests/test-limits-h.c: Likewise. * tests/test-localtime_r-mt.c: Likewise. * tests/test-memrchr.c: Likewise. * tests/test-nl_langinfo-mt.c: Likewise. * tests/test-setlocale_null-mt-all.c: Likewise. * tests/test-setlocale_null-mt-one.c: Likewise. * tests/test-statat.c: Likewise. * tests/test-xvasprintf.c: Likewise.
Bruno Haible bf7e2ebd 2024-08-26T21:13:50 Fix compilation errors with clang that masquerades as gcc 13. Reported by Sam James and Paul Eggert. * m4/gnulib-common.m4 (gl_COMMON_BODY): For _GL_GNUC_PREREQ, ignore the values of __GNUC__ and __GNUC_MINOR__ defined by clang. * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Don't treat clang like GCC. * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Disable the _GL_CXXALIASWARN1 and _GL_CXXALIASWARN invocations for masquerading clang++.
Bruno Haible ab5cd68f 2024-08-24T16:33:05 relocatable-prog: Add support for 32-bit build on FreeBSD/powerpc64. Reference: <https://savannah.gnu.org/patch/?10469>. * build-aux/config.libpath: Accept a second argument. Use it on FreeBSD/powerpc64. (func_usage): Document it. * m4/relocatable.m4 (AC_LIB_LIBPATH): Require gl_HOST_CPU_C_ABI_32BIT. Pass HOST_CPU_C_ABI_32BIT to the config.libpath script. * modules/relocatable-prog (Files): Add m4/host-cpu-c-abi.m4.
Bruno Haible 38b5fabd 2024-08-23T19:01:55 host-cpu-c-abi: Update comment, working around FreeBSD breakage. * m4/host-cpu-c-abi.m4: For powerpc64, recommend to test __BIG_ENDIAN__ or __LITTLE_ENDIAN__, not _BIG_ENDIAN or _LITTLE_ENDIAN, as FreeBSD 14 breaks the latter.
Bruno Haible b1c67ccf 2024-08-19T16:20:08 hasmntopt: New module. * lib/mntent.in.h: Add config.h check. (hasmntopt): New declaration. * lib/hasmntopt.c: New file, based on glibc/misc/mntent_r.c. * m4/hasmntopt.m4: New file. * m4/mntent_h.m4 (gl_MNTENT_H): Test whether hasmntopt is declared. (gl_MNTENT_H_REQUIRE_DEFAULTS): Initialize GNULIB_HASMNTOPT. (gl_MNTENT_H_DEFAULTS): Initialize HAVE_HASMNTOPT, HAVE_SETMNTENT, REPLACE_HASMNTOPT. * modules/mntent (Depends-on): Add snippet/arg-nonnull, snippet/c++defs, snippet/warn-on-use. (Makefile.am): Insert c++defs.h, arg-nonnull.h, warn-on-use.h into mntent.h. Substitute GNULIB_HASMNTOPT, HAVE_HASMNTOPT, HAVE_SETMNTENT, REPLACE_HASMNTOPT. * modules/hasmntopt: New file. * doc/glibc-functions/hasmntopt.texi: Mention the new module and the musl bug. * doc/glibc-functions/setmntent.texi: Update info about Android. * doc/glibc-functions/getmntent_r.texi: Likewise. * doc/glibc-functions/endmntent.texi: Likewise.
Bruno Haible 662fd337 2024-08-19T13:46:02 mntent: New module. * lib/mntent.in.h: New file. * m4/mntent_h.m4: New file. * modules/mntent: New file. * doc/glibc-headers/mntent.texi: Mention the new module. * top/maint.mk (gl_prefer_angle_bracket_headers_): Add mntent.h. * doc/gnulib-tool.texi (Style of #include statements): Add mntent.h to the list.
Paul Eggert 959152ba 2024-08-14T18:03:54 error: merge from glibc and with verror * lib/error.c: Merge changes since 2018 from glibc. ----- The following changes are taken from glibc: (__error_internal, __error_at_line_internal): New functions, with most of the old error and error_at_line_internal but with va_list and with a new trailing mode_args, for wide character mode. (error_tail): Add trailing arg. (error_tail, __error_internal, __error_at_line_internal): Redo _LIBC implementation with respect to cancelation. [_LIBC]: Include <libc-lock.h>, not <bits/libc-lock.h>. ----- The following changes are specific to Gnulib: (__error_internal, __error_at_line_internal, error_tail) [!_LIBC]: Use macros to define away the new trailing arg, and to name the internal functions to verror and verror_at_line. (verror, verror_at_line) [!_LIBC]: Undef so that we omit the __gl_error_call business when defining these functions. * lib/error.in.h: Include stdarg.h. (verror, verror_at_line): New decls and macros. * m4/error_h.m4 ([gl_ERROR_H]): Always compile error.c if the verror module is also present. * modules/verror (Files, lib_SOURCES): Remove lib/verror.h, lib/verror.c. (Depends-on): Remove stdio, xvasprintf. (configure.ac-early): Define gl_HAVE_MODULE_VERROR so that the error module compiles error.c. Not sure if this is the standard way to do this, but it seems to work. * modules/verror (Include), tests/test-verror.c: Include error.h, not verror.h.
Collin Funk afbe2842 2024-08-12T20:09:01 termios: Define struct winsize on all platforms. * doc/posix-headers/termios.texi (termios.h): Mention struct winsize is defined in <sys/ioctl.h> on glibc. * lib/termios.in.h (struct winsize): Define or include. * m4/termios_h.m4 (gl_TERMIOS_H): Check for a definition of struct winsize. * modules/termios (Makefile.am): Replace AC_SUBST variables.
Bruno Haible 32601dbf 2024-08-12T17:11:35 errno: Ensure ESOCKTNOSUPPORT gets defined. * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ESOCKTNOSUPPORT is defined. * lib/errno.in.h (ESOCKTNOSUPPORT, GNULIB_defined_ESOCKTNOSUPPORT): New macros. * lib/strerror-override.h (strerror_override): Declare also if GNULIB_defined_ESOCKTNOSUPPORT is defined. * lib/strerror-override.c (strerror_override): Handle ESOCKTNOSUPPORT. * lib/strerrorname_np.c (strerrorname_np): Move ESOCKTNOSUPPORT code to the POSIX section. * doc/posix-headers/errno.texi: Document the Haiku problem.
Collin Funk c6ced39e 2024-08-11T13:53:48 htonl: Fix link errors on Windows. Reported by Bruno Haible in: <https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00066.html>. * lib/arpa_inet.in.h (htons, htonl, ntohs, ntohl): Only define when not declared by the system. * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set default behavior for htonl functions. * m4/htonl.m4 (gl_FUNC_HTONL): Check if -lws2_32 is required. Only check for declarations on POSIX systems. * modules/arpa_inet (Makefile.am): Substitute new Makefile variables. * modules/htonl (Files): Add m4/sys_socket_h.m4. (Depends-on): Remove endian condition. (Link): Add $(HOTNL_LIB). * modules/htonl-tests: Link to @HTONL_LIB@.