mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-05 22:20:24 -08:00
Update from Gnulib by running admin/merge-gnulib
This commit is contained in:
parent
995aed477d
commit
308e63ccfc
80 changed files with 902 additions and 548 deletions
11
build-aux/config.guess
vendored
11
build-aux/config.guess
vendored
|
|
@ -1,14 +1,14 @@
|
|||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright 1992-2021 Free Software Foundation, Inc.
|
||||
# Copyright 1992-2022 Free Software Foundation, Inc.
|
||||
|
||||
# shellcheck disable=SC2006,SC2268 # see below for rationale
|
||||
|
||||
timestamp='2021-11-30'
|
||||
timestamp='2022-01-09'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
|
|
@ -60,7 +60,7 @@ version="\
|
|||
GNU config.guess ($timestamp)
|
||||
|
||||
Originally written by Per Bothner.
|
||||
Copyright 1992-2021 Free Software Foundation, Inc.
|
||||
Copyright 1992-2022 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
|
|
@ -929,6 +929,9 @@ EOF
|
|||
i*:PW*:*)
|
||||
GUESS=$UNAME_MACHINE-pc-pw32
|
||||
;;
|
||||
*:SerenityOS:*:*)
|
||||
GUESS=$UNAME_MACHINE-pc-serenity
|
||||
;;
|
||||
*:Interix*:*)
|
||||
case $UNAME_MACHINE in
|
||||
x86)
|
||||
|
|
|
|||
2
build-aux/config.sub
vendored
2
build-aux/config.sub
vendored
|
|
@ -8,7 +8,7 @@ timestamp='2021-12-25'
|
|||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
eval 'exec perl -wSx "$0" "$@"'
|
||||
if 0;
|
||||
|
||||
my $VERSION = '2021-02-24 23:42'; # UTC
|
||||
my $VERSION = '2022-01-27 18:49'; # UTC
|
||||
# The definition above must lie within the first 8 lines in order
|
||||
# for the Emacs time-stamp write hook (at end) to update it.
|
||||
# If you change this file with Emacs, please let the write hook
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
#
|
||||
# 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 Free Software Foundation; either version 3, or (at your option)
|
||||
# the Free Software Foundation, either version 3, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -143,7 +143,8 @@
|
|||
#define __bos0(ptr) __builtin_object_size (ptr, 0)
|
||||
|
||||
/* Use __builtin_dynamic_object_size at _FORTIFY_SOURCE=3 when available. */
|
||||
#if __USE_FORTIFY_LEVEL == 3 && __glibc_clang_prereq (9, 0)
|
||||
#if __USE_FORTIFY_LEVEL == 3 && (__glibc_clang_prereq (9, 0) \
|
||||
|| __GNUC_PREREQ (12, 0))
|
||||
# define __glibc_objsize0(__o) __builtin_dynamic_object_size (__o, 0)
|
||||
# define __glibc_objsize(__o) __builtin_dynamic_object_size (__o, 1)
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
This file is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation; either version 3 of the License,
|
||||
by the Free Software Foundation, either version 3 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -20,11 +20,45 @@
|
|||
|
||||
#include <errno.h>
|
||||
|
||||
#if defined __linux__ && HAVE_COPY_FILE_RANGE
|
||||
# include <sys/utsname.h>
|
||||
#endif
|
||||
|
||||
ssize_t
|
||||
copy_file_range (int infd, off_t *pinoff,
|
||||
int outfd, off_t *poutoff,
|
||||
size_t length, unsigned int flags)
|
||||
{
|
||||
#undef copy_file_range
|
||||
|
||||
#if defined __linux__ && HAVE_COPY_FILE_RANGE
|
||||
/* The implementation of copy_file_range (which first appeared in
|
||||
Linux kernel release 4.5) had many issues before release 5.3
|
||||
<https://lwn.net/Articles/789527/>, so fail with ENOSYS for Linux
|
||||
kernels 5.2 and earlier.
|
||||
|
||||
This workaround, and the configure-time check for Linux, can be
|
||||
removed when such kernels (released March 2016 through September
|
||||
2019) are no longer a consideration. As of January 2021, the
|
||||
furthest-future planned kernel EOL is December 2024 for kernel
|
||||
release 4.19. */
|
||||
|
||||
static signed char ok;
|
||||
|
||||
if (! ok)
|
||||
{
|
||||
struct utsname name;
|
||||
uname (&name);
|
||||
char *p = name.release;
|
||||
ok = ((p[1] != '.' || '5' < p[0]
|
||||
|| (p[0] == '5' && (p[3] != '.' || '2' < p[2])))
|
||||
? 1 : -1);
|
||||
}
|
||||
|
||||
if (0 < ok)
|
||||
return copy_file_range (infd, pinoff, outfd, poutoff, length, flags);
|
||||
#endif
|
||||
|
||||
/* There is little need to emulate copy_file_range with read+write,
|
||||
since programs that use copy_file_range must fall back on
|
||||
read+write anyway. */
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
This file is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published
|
||||
by the Free Software Foundation; either version 3 of the License,
|
||||
by the Free Software Foundation, either version 3 of the License,
|
||||
or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
201
lib/filevercmp.c
201
lib/filevercmp.c
|
|
@ -1,11 +1,12 @@
|
|||
/*
|
||||
/* Compare file names containing version numbers.
|
||||
|
||||
Copyright (C) 1995 Ian Jackson <iwj10@cus.cam.ac.uk>
|
||||
Copyright (C) 2001 Anthony Towns <aj@azure.humbug.org.au>
|
||||
Copyright (C) 2008-2022 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 3 of the
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
@ -19,60 +20,65 @@
|
|||
#include <config.h>
|
||||
#include "filevercmp.h"
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdbool.h>
|
||||
#include <string.h>
|
||||
#include <c-ctype.h>
|
||||
#include <limits.h>
|
||||
#include <idx.h>
|
||||
#include <verify.h>
|
||||
|
||||
/* Match a file suffix defined by this regular expression:
|
||||
/(\.[A-Za-z~][A-Za-z0-9~]*)*$/
|
||||
Scan the string *STR and return a pointer to the matching suffix, or
|
||||
NULL if not found. Upon return, *STR points to terminating NUL. */
|
||||
static const char *
|
||||
match_suffix (const char **str)
|
||||
/* Return the length of a prefix of S that corresponds to the suffix
|
||||
defined by this extended regular expression in the C locale:
|
||||
(\.[A-Za-z~][A-Za-z0-9~]*)*$
|
||||
If *LEN is -1, S is a string; set *LEN to S's length.
|
||||
Otherwise, *LEN should be nonnegative, S is a char array,
|
||||
and *LEN does not change. */
|
||||
static idx_t
|
||||
file_prefixlen (char const *s, ptrdiff_t *len)
|
||||
{
|
||||
const char *match = NULL;
|
||||
bool read_alpha = false;
|
||||
while (**str)
|
||||
size_t n = *len; /* SIZE_MAX if N == -1. */
|
||||
|
||||
for (idx_t i = 0; ; i++)
|
||||
{
|
||||
if (read_alpha)
|
||||
idx_t prefixlen = i;
|
||||
while (i + 1 < n && s[i] == '.' && (c_isalpha (s[i + 1])
|
||||
|| s[i + 1] == '~'))
|
||||
for (i += 2; i < n && (c_isalnum (s[i]) || s[i] == '~'); i++)
|
||||
continue;
|
||||
|
||||
if (*len < 0 ? !s[i] : i == n)
|
||||
{
|
||||
read_alpha = false;
|
||||
if (!c_isalpha (**str) && '~' != **str)
|
||||
match = NULL;
|
||||
*len = i;
|
||||
return prefixlen;
|
||||
}
|
||||
else if ('.' == **str)
|
||||
{
|
||||
read_alpha = true;
|
||||
if (!match)
|
||||
match = *str;
|
||||
}
|
||||
else if (!c_isalnum (**str) && '~' != **str)
|
||||
match = NULL;
|
||||
(*str)++;
|
||||
}
|
||||
return match;
|
||||
}
|
||||
|
||||
/* verrevcmp helper function */
|
||||
/* Return a version sort comparison value for S's byte at position POS.
|
||||
S has length LEN. If POS == LEN, sort before all non-'~' bytes. */
|
||||
|
||||
static int
|
||||
order (unsigned char c)
|
||||
order (char const *s, idx_t pos, idx_t len)
|
||||
{
|
||||
if (pos == len)
|
||||
return -1;
|
||||
|
||||
unsigned char c = s[pos];
|
||||
if (c_isdigit (c))
|
||||
return 0;
|
||||
else if (c_isalpha (c))
|
||||
return c;
|
||||
else if (c == '~')
|
||||
return -1;
|
||||
return -2;
|
||||
else
|
||||
return (int) c + UCHAR_MAX + 1;
|
||||
{
|
||||
verify (UCHAR_MAX <= (INT_MAX - 1 - 2) / 2);
|
||||
return c + UCHAR_MAX + 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* slightly modified verrevcmp function from dpkg
|
||||
S1, S2 - compared string
|
||||
S1_LEN, S2_LEN - length of strings to be scanned
|
||||
S1, S2 - compared char array
|
||||
S1_LEN, S2_LEN - length of arrays to be scanned
|
||||
|
||||
This implements the algorithm for comparison of version strings
|
||||
specified by Debian and now widely adopted. The detailed
|
||||
|
|
@ -81,37 +87,38 @@ order (unsigned char c)
|
|||
implements that from s5.6.12 of Debian Policy v3.8.0.1
|
||||
https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Version */
|
||||
static int _GL_ATTRIBUTE_PURE
|
||||
verrevcmp (const char *s1, size_t s1_len, const char *s2, size_t s2_len)
|
||||
verrevcmp (const char *s1, idx_t s1_len, const char *s2, idx_t s2_len)
|
||||
{
|
||||
size_t s1_pos = 0;
|
||||
size_t s2_pos = 0;
|
||||
idx_t s1_pos = 0;
|
||||
idx_t s2_pos = 0;
|
||||
while (s1_pos < s1_len || s2_pos < s2_len)
|
||||
{
|
||||
int first_diff = 0;
|
||||
while ((s1_pos < s1_len && !c_isdigit (s1[s1_pos]))
|
||||
|| (s2_pos < s2_len && !c_isdigit (s2[s2_pos])))
|
||||
{
|
||||
int s1_c = (s1_pos == s1_len) ? 0 : order (s1[s1_pos]);
|
||||
int s2_c = (s2_pos == s2_len) ? 0 : order (s2[s2_pos]);
|
||||
int s1_c = order (s1, s1_pos, s1_len);
|
||||
int s2_c = order (s2, s2_pos, s2_len);
|
||||
if (s1_c != s2_c)
|
||||
return s1_c - s2_c;
|
||||
s1_pos++;
|
||||
s2_pos++;
|
||||
}
|
||||
while (s1[s1_pos] == '0')
|
||||
while (s1_pos < s1_len && s1[s1_pos] == '0')
|
||||
s1_pos++;
|
||||
while (s2[s2_pos] == '0')
|
||||
while (s2_pos < s2_len && s2[s2_pos] == '0')
|
||||
s2_pos++;
|
||||
while (c_isdigit (s1[s1_pos]) && c_isdigit (s2[s2_pos]))
|
||||
while (s1_pos < s1_len && s2_pos < s2_len
|
||||
&& c_isdigit (s1[s1_pos]) && c_isdigit (s2[s2_pos]))
|
||||
{
|
||||
if (!first_diff)
|
||||
first_diff = s1[s1_pos] - s2[s2_pos];
|
||||
s1_pos++;
|
||||
s2_pos++;
|
||||
}
|
||||
if (c_isdigit (s1[s1_pos]))
|
||||
if (s1_pos < s1_len && c_isdigit (s1[s1_pos]))
|
||||
return 1;
|
||||
if (c_isdigit (s2[s2_pos]))
|
||||
if (s2_pos < s2_len && c_isdigit (s2[s2_pos]))
|
||||
return -1;
|
||||
if (first_diff)
|
||||
return first_diff;
|
||||
|
|
@ -124,58 +131,56 @@ verrevcmp (const char *s1, size_t s1_len, const char *s2, size_t s2_len)
|
|||
int
|
||||
filevercmp (const char *s1, const char *s2)
|
||||
{
|
||||
const char *s1_pos;
|
||||
const char *s2_pos;
|
||||
const char *s1_suffix, *s2_suffix;
|
||||
size_t s1_len, s2_len;
|
||||
int result;
|
||||
|
||||
/* easy comparison to see if strings are identical */
|
||||
int simple_cmp = strcmp (s1, s2);
|
||||
if (simple_cmp == 0)
|
||||
return 0;
|
||||
|
||||
/* special handle for "", "." and ".." */
|
||||
if (!*s1)
|
||||
return -1;
|
||||
if (!*s2)
|
||||
return 1;
|
||||
if (0 == strcmp (".", s1))
|
||||
return -1;
|
||||
if (0 == strcmp (".", s2))
|
||||
return 1;
|
||||
if (0 == strcmp ("..", s1))
|
||||
return -1;
|
||||
if (0 == strcmp ("..", s2))
|
||||
return 1;
|
||||
|
||||
/* special handle for other hidden files */
|
||||
if (*s1 == '.' && *s2 != '.')
|
||||
return -1;
|
||||
if (*s1 != '.' && *s2 == '.')
|
||||
return 1;
|
||||
if (*s1 == '.' && *s2 == '.')
|
||||
{
|
||||
s1++;
|
||||
s2++;
|
||||
}
|
||||
|
||||
/* "cut" file suffixes */
|
||||
s1_pos = s1;
|
||||
s2_pos = s2;
|
||||
s1_suffix = match_suffix (&s1_pos);
|
||||
s2_suffix = match_suffix (&s2_pos);
|
||||
s1_len = (s1_suffix ? s1_suffix : s1_pos) - s1;
|
||||
s2_len = (s2_suffix ? s2_suffix : s2_pos) - s2;
|
||||
|
||||
/* restore file suffixes if strings are identical after "cut" */
|
||||
if ((s1_suffix || s2_suffix) && (s1_len == s2_len)
|
||||
&& 0 == strncmp (s1, s2, s1_len))
|
||||
{
|
||||
s1_len = s1_pos - s1;
|
||||
s2_len = s2_pos - s2;
|
||||
}
|
||||
|
||||
result = verrevcmp (s1, s1_len, s2, s2_len);
|
||||
return result == 0 ? simple_cmp : result;
|
||||
return filenvercmp (s1, -1, s2, -1);
|
||||
}
|
||||
|
||||
/* Compare versions A (of length ALEN) and B (of length BLEN).
|
||||
See filevercmp.h for function description. */
|
||||
int
|
||||
filenvercmp (char const *a, ptrdiff_t alen, char const *b, ptrdiff_t blen)
|
||||
{
|
||||
/* Special case for empty versions. */
|
||||
bool aempty = alen < 0 ? !a[0] : !alen;
|
||||
bool bempty = blen < 0 ? !b[0] : !blen;
|
||||
if (aempty)
|
||||
return -!bempty;
|
||||
if (bempty)
|
||||
return 1;
|
||||
|
||||
/* Special cases for leading ".": "." sorts first, then "..", then
|
||||
other names with leading ".", then other names. */
|
||||
if (a[0] == '.')
|
||||
{
|
||||
if (b[0] != '.')
|
||||
return -1;
|
||||
|
||||
bool adot = alen < 0 ? !a[1] : alen == 1;
|
||||
bool bdot = blen < 0 ? !b[1] : blen == 1;
|
||||
if (adot)
|
||||
return -!bdot;
|
||||
if (bdot)
|
||||
return 1;
|
||||
|
||||
bool adotdot = a[1] == '.' && (alen < 0 ? !a[2] : alen == 2);
|
||||
bool bdotdot = b[1] == '.' && (blen < 0 ? !b[2] : blen == 2);
|
||||
if (adotdot)
|
||||
return -!bdotdot;
|
||||
if (bdotdot)
|
||||
return 1;
|
||||
}
|
||||
else if (b[0] == '.')
|
||||
return 1;
|
||||
|
||||
/* Cut file suffixes. */
|
||||
idx_t aprefixlen = file_prefixlen (a, &alen);
|
||||
idx_t bprefixlen = file_prefixlen (b, &blen);
|
||||
|
||||
/* If both suffixes are empty, a second pass would return the same thing. */
|
||||
bool one_pass_only = aprefixlen == alen && bprefixlen == blen;
|
||||
|
||||
int result = verrevcmp (a, aprefixlen, b, bprefixlen);
|
||||
|
||||
/* Return the initial result if nonzero, or if no second pass is needed.
|
||||
Otherwise, restore the suffixes and try again. */
|
||||
return result || one_pass_only ? result : verrevcmp (a, alen, b, blen);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
/*
|
||||
/* Compare file names containing version numbers.
|
||||
|
||||
Copyright (C) 1995 Ian Jackson <iwj10@cus.cam.ac.uk>
|
||||
Copyright (C) 2001 Anthony Towns <aj@azure.humbug.org.au>
|
||||
Copyright (C) 2008-2022 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 3 of the
|
||||
published by the Free Software Foundation, either version 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
@ -19,24 +20,57 @@
|
|||
#ifndef FILEVERCMP_H
|
||||
#define FILEVERCMP_H
|
||||
|
||||
/* Compare version strings:
|
||||
#include <stddef.h>
|
||||
|
||||
This function compares strings S1 and S2:
|
||||
1) By PREFIX in the same way as strcmp.
|
||||
2) Then by VERSION (most similarly to version compare of Debian's dpkg).
|
||||
Leading zeros in version numbers are ignored.
|
||||
3) If both (PREFIX and VERSION) are equal, strcmp function is used for
|
||||
comparison. So this function can return 0 if (and only if) strings S1
|
||||
and S2 are identical.
|
||||
/* Compare strings A and B as file names containing version numbers,
|
||||
and return an integer that is negative, zero, or positive depending
|
||||
on whether A compares less than, equal to, or greater than B.
|
||||
|
||||
It returns number >0 for S1 > S2, 0 for S1 == S2 and number <0 for S1 < S2.
|
||||
Use the following version sort algorithm:
|
||||
|
||||
This function compares strings, in a way that if VER1 and VER2 are version
|
||||
numbers and PREFIX and SUFFIX (SUFFIX defined as (\.[A-Za-z~][A-Za-z0-9~]*)*)
|
||||
are strings then VER1 < VER2 implies filevercmp (PREFIX VER1 SUFFIX,
|
||||
PREFIX VER2 SUFFIX) < 0.
|
||||
1. Compare the strings' maximal-length non-digit prefixes lexically.
|
||||
If there is a difference return that difference.
|
||||
Otherwise discard the prefixes and continue with the next step.
|
||||
|
||||
This function is intended to be a replacement for strverscmp. */
|
||||
int filevercmp (const char *s1, const char *s2) _GL_ATTRIBUTE_PURE;
|
||||
2. Compare the strings' maximal-length digit prefixes, using
|
||||
numeric comparison of the numbers represented by each prefix.
|
||||
(Treat an empty prefix as zero; this can happen only at string end.)
|
||||
If there is a difference, return that difference.
|
||||
Otherwise discard the prefixes and continue with the next step.
|
||||
|
||||
3. If both strings are empty, return 0. Otherwise continue with step 1.
|
||||
|
||||
In version sort, lexical comparison is left to right, byte by byte,
|
||||
using the byte's numeric value (0-255), except that:
|
||||
|
||||
1. ASCII letters sort before other bytes.
|
||||
2. A tilde sorts before anything, even an empty string.
|
||||
|
||||
In addition to the version sort rules, the following strings have
|
||||
special priority and sort before all other strings (listed in order):
|
||||
|
||||
1. The empty string.
|
||||
2. ".".
|
||||
3. "..".
|
||||
4. Strings starting with "." sort before other strings.
|
||||
|
||||
Before comparing two strings where both begin with non-".",
|
||||
or where both begin with "." but neither is "." or "..",
|
||||
suffixes matching the C-locale extended regular expression
|
||||
(\.[A-Za-z~][A-Za-z0-9~]*)*$ are removed and the strings compared
|
||||
without them, using version sort without special priority;
|
||||
if they do not compare equal, this comparison result is used and
|
||||
the suffixes are effectively ignored. Otherwise, the entire
|
||||
strings are compared using version sort.
|
||||
|
||||
This function is intended to be a replacement for strverscmp. */
|
||||
int filevercmp (char const *a, char const *b) _GL_ATTRIBUTE_PURE;
|
||||
|
||||
/* Like filevercmp, except compare the byte arrays A (of length ALEN)
|
||||
and B (of length BLEN) so that A and B can contain '\0', which
|
||||
sorts just before '\1'. But if ALEN is -1 treat A as a string
|
||||
terminated by '\0', and similarly for BLEN. */
|
||||
int filenvercmp (char const *a, ptrdiff_t alen, char const *b, ptrdiff_t blen)
|
||||
_GL_ATTRIBUTE_PURE;
|
||||
|
||||
#endif /* FILEVERCMP_H */
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
411
lib/gnulib.mk.in
411
lib/gnulib.mk.in
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
# This file is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This file is distributed in the hope that it will be useful,
|
||||
|
|
@ -191,6 +191,10 @@ BUILD_DETAILS = @BUILD_DETAILS@
|
|||
BYTESWAP_H = @BYTESWAP_H@
|
||||
CAIRO_CFLAGS = @CAIRO_CFLAGS@
|
||||
CAIRO_LIBS = @CAIRO_LIBS@
|
||||
CAIRO_XCB_CFLAGS = @CAIRO_XCB_CFLAGS@
|
||||
CAIRO_XCB_LIBS = @CAIRO_XCB_LIBS@
|
||||
CAIRO_XLIB_CFLAGS = @CAIRO_XLIB_CFLAGS@
|
||||
CAIRO_XLIB_LIBS = @CAIRO_XLIB_LIBS@
|
||||
CC = @CC@
|
||||
CFLAGS = @CFLAGS@
|
||||
CFLAGS_SOUND = @CFLAGS_SOUND@
|
||||
|
|
@ -247,7 +251,59 @@ GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
|
|||
GETOPT_H = @GETOPT_H@
|
||||
GFILENOTIFY_CFLAGS = @GFILENOTIFY_CFLAGS@
|
||||
GFILENOTIFY_LIBS = @GFILENOTIFY_LIBS@
|
||||
GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
|
||||
GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
|
||||
GL_COND_LIBTOOL_CONDITION = @GL_COND_LIBTOOL_CONDITION@
|
||||
GL_COND_OBJ_CANONICALIZE_LGPL_CONDITION = @GL_COND_OBJ_CANONICALIZE_LGPL_CONDITION@
|
||||
GL_COND_OBJ_COPY_FILE_RANGE_CONDITION = @GL_COND_OBJ_COPY_FILE_RANGE_CONDITION@
|
||||
GL_COND_OBJ_DIRFD_CONDITION = @GL_COND_OBJ_DIRFD_CONDITION@
|
||||
GL_COND_OBJ_DUP2_CONDITION = @GL_COND_OBJ_DUP2_CONDITION@
|
||||
GL_COND_OBJ_EUIDACCESS_CONDITION = @GL_COND_OBJ_EUIDACCESS_CONDITION@
|
||||
GL_COND_OBJ_EXECINFO_CONDITION = @GL_COND_OBJ_EXECINFO_CONDITION@
|
||||
GL_COND_OBJ_EXPLICIT_BZERO_CONDITION = @GL_COND_OBJ_EXPLICIT_BZERO_CONDITION@
|
||||
GL_COND_OBJ_FACCESSAT_CONDITION = @GL_COND_OBJ_FACCESSAT_CONDITION@
|
||||
GL_COND_OBJ_FCHMODAT_CONDITION = @GL_COND_OBJ_FCHMODAT_CONDITION@
|
||||
GL_COND_OBJ_FCNTL_CONDITION = @GL_COND_OBJ_FCNTL_CONDITION@
|
||||
GL_COND_OBJ_FDOPENDIR_CONDITION = @GL_COND_OBJ_FDOPENDIR_CONDITION@
|
||||
GL_COND_OBJ_FPENDING_CONDITION = @GL_COND_OBJ_FPENDING_CONDITION@
|
||||
GL_COND_OBJ_FREE_CONDITION = @GL_COND_OBJ_FREE_CONDITION@
|
||||
GL_COND_OBJ_FSTATAT_CONDITION = @GL_COND_OBJ_FSTATAT_CONDITION@
|
||||
GL_COND_OBJ_FSUSAGE_CONDITION = @GL_COND_OBJ_FSUSAGE_CONDITION@
|
||||
GL_COND_OBJ_FSYNC_CONDITION = @GL_COND_OBJ_FSYNC_CONDITION@
|
||||
GL_COND_OBJ_FUTIMENS_CONDITION = @GL_COND_OBJ_FUTIMENS_CONDITION@
|
||||
GL_COND_OBJ_GETDTABLESIZE_CONDITION = @GL_COND_OBJ_GETDTABLESIZE_CONDITION@
|
||||
GL_COND_OBJ_GETGROUPS_CONDITION = @GL_COND_OBJ_GETGROUPS_CONDITION@
|
||||
GL_COND_OBJ_GETLOADAVG_CONDITION = @GL_COND_OBJ_GETLOADAVG_CONDITION@
|
||||
GL_COND_OBJ_GETOPT_CONDITION = @GL_COND_OBJ_GETOPT_CONDITION@
|
||||
GL_COND_OBJ_GETRANDOM_CONDITION = @GL_COND_OBJ_GETRANDOM_CONDITION@
|
||||
GL_COND_OBJ_GETTIMEOFDAY_CONDITION = @GL_COND_OBJ_GETTIMEOFDAY_CONDITION@
|
||||
GL_COND_OBJ_GROUP_MEMBER_CONDITION = @GL_COND_OBJ_GROUP_MEMBER_CONDITION@
|
||||
GL_COND_OBJ_LCHMOD_CONDITION = @GL_COND_OBJ_LCHMOD_CONDITION@
|
||||
GL_COND_OBJ_LSTAT_CONDITION = @GL_COND_OBJ_LSTAT_CONDITION@
|
||||
GL_COND_OBJ_MEMPCPY_CONDITION = @GL_COND_OBJ_MEMPCPY_CONDITION@
|
||||
GL_COND_OBJ_MEMRCHR_CONDITION = @GL_COND_OBJ_MEMRCHR_CONDITION@
|
||||
GL_COND_OBJ_MINI_GMP_GNULIB_CONDITION = @GL_COND_OBJ_MINI_GMP_GNULIB_CONDITION@
|
||||
GL_COND_OBJ_MKOSTEMP_CONDITION = @GL_COND_OBJ_MKOSTEMP_CONDITION@
|
||||
GL_COND_OBJ_OPEN_CONDITION = @GL_COND_OBJ_OPEN_CONDITION@
|
||||
GL_COND_OBJ_PSELECT_CONDITION = @GL_COND_OBJ_PSELECT_CONDITION@
|
||||
GL_COND_OBJ_PTHREAD_SIGMASK_CONDITION = @GL_COND_OBJ_PTHREAD_SIGMASK_CONDITION@
|
||||
GL_COND_OBJ_RAWMEMCHR_CONDITION = @GL_COND_OBJ_RAWMEMCHR_CONDITION@
|
||||
GL_COND_OBJ_READLINKAT_CONDITION = @GL_COND_OBJ_READLINKAT_CONDITION@
|
||||
GL_COND_OBJ_READLINK_CONDITION = @GL_COND_OBJ_READLINK_CONDITION@
|
||||
GL_COND_OBJ_REGEX_CONDITION = @GL_COND_OBJ_REGEX_CONDITION@
|
||||
GL_COND_OBJ_SIG2STR_CONDITION = @GL_COND_OBJ_SIG2STR_CONDITION@
|
||||
GL_COND_OBJ_SIGDESCR_NP_CONDITION = @GL_COND_OBJ_SIGDESCR_NP_CONDITION@
|
||||
GL_COND_OBJ_STDIO_READ_CONDITION = @GL_COND_OBJ_STDIO_READ_CONDITION@
|
||||
GL_COND_OBJ_STDIO_WRITE_CONDITION = @GL_COND_OBJ_STDIO_WRITE_CONDITION@
|
||||
GL_COND_OBJ_STPCPY_CONDITION = @GL_COND_OBJ_STPCPY_CONDITION@
|
||||
GL_COND_OBJ_STRNLEN_CONDITION = @GL_COND_OBJ_STRNLEN_CONDITION@
|
||||
GL_COND_OBJ_STRTOIMAX_CONDITION = @GL_COND_OBJ_STRTOIMAX_CONDITION@
|
||||
GL_COND_OBJ_STRTOLL_CONDITION = @GL_COND_OBJ_STRTOLL_CONDITION@
|
||||
GL_COND_OBJ_SYMLINK_CONDITION = @GL_COND_OBJ_SYMLINK_CONDITION@
|
||||
GL_COND_OBJ_TIMEGM_CONDITION = @GL_COND_OBJ_TIMEGM_CONDITION@
|
||||
GL_COND_OBJ_TIME_RZ_CONDITION = @GL_COND_OBJ_TIME_RZ_CONDITION@
|
||||
GL_COND_OBJ_TIME_R_CONDITION = @GL_COND_OBJ_TIME_R_CONDITION@
|
||||
GL_COND_OBJ_UTIMENSAT_CONDITION = @GL_COND_OBJ_UTIMENSAT_CONDITION@
|
||||
GL_GENERATE_ALLOCA_H_CONDITION = @GL_GENERATE_ALLOCA_H_CONDITION@
|
||||
GL_GENERATE_BYTESWAP_H_CONDITION = @GL_GENERATE_BYTESWAP_H_CONDITION@
|
||||
GL_GENERATE_ERRNO_H_CONDITION = @GL_GENERATE_ERRNO_H_CONDITION@
|
||||
|
|
@ -974,6 +1030,7 @@ REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
|
|||
REPLACE_CHOWN = @REPLACE_CHOWN@
|
||||
REPLACE_CLOSE = @REPLACE_CLOSE@
|
||||
REPLACE_CLOSEDIR = @REPLACE_CLOSEDIR@
|
||||
REPLACE_COPY_FILE_RANGE = @REPLACE_COPY_FILE_RANGE@
|
||||
REPLACE_CREAT = @REPLACE_CREAT@
|
||||
REPLACE_CTIME = @REPLACE_CTIME@
|
||||
REPLACE_DIRFD = @REPLACE_DIRFD@
|
||||
|
|
@ -1197,6 +1254,8 @@ XOBJ = @XOBJ@
|
|||
XRANDR_CFLAGS = @XRANDR_CFLAGS@
|
||||
XRANDR_LIBS = @XRANDR_LIBS@
|
||||
XRENDER_LIBS = @XRENDER_LIBS@
|
||||
XSYNC_CFLAGS = @XSYNC_CFLAGS@
|
||||
XSYNC_LIBS = @XSYNC_LIBS@
|
||||
XWIDGETS_OBJ = @XWIDGETS_OBJ@
|
||||
X_TOOLKIT_TYPE = @X_TOOLKIT_TYPE@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
|
|
@ -1251,8 +1310,10 @@ gl_GNULIB_ENABLED_rawmemchr_CONDITION = @gl_GNULIB_ENABLED_rawmemchr_CONDITION@
|
|||
gl_GNULIB_ENABLED_scratch_buffer_CONDITION = @gl_GNULIB_ENABLED_scratch_buffer_CONDITION@
|
||||
gl_GNULIB_ENABLED_strtoll_CONDITION = @gl_GNULIB_ENABLED_strtoll_CONDITION@
|
||||
gl_GNULIB_ENABLED_utimens_CONDITION = @gl_GNULIB_ENABLED_utimens_CONDITION@
|
||||
gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
|
||||
gl_LIBOBJS = @gl_LIBOBJS@
|
||||
gl_LTLIBOBJS = @gl_LTLIBOBJS@
|
||||
gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
|
||||
gltests_LIBOBJS = @gltests_LIBOBJS@
|
||||
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
|
||||
gltests_WITNESS = @gltests_WITNESS@
|
||||
|
|
@ -1303,6 +1364,7 @@ x_default_search_path = @x_default_search_path@
|
|||
noinst_LIBRARIES += libgnu.a
|
||||
|
||||
libgnu_a_SOURCES =
|
||||
libgnu_a_CFLAGS = $(AM_CFLAGS) $(GL_CFLAG_GNULIB_WARNINGS)
|
||||
libgnu_a_LIBADD = $(gl_LIBOBJS)
|
||||
libgnu_a_DEPENDENCIES = $(gl_LIBOBJS)
|
||||
EXTRA_libgnu_a_SOURCES =
|
||||
|
|
@ -1432,10 +1494,9 @@ endif
|
|||
## begin gnulib module canonicalize-lgpl
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_canonicalize-lgpl))
|
||||
|
||||
|
||||
EXTRA_DIST += canonicalize-lgpl.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += canonicalize-lgpl.c
|
||||
ifneq (,$(GL_COND_OBJ_CANONICALIZE_LGPL_CONDITION))
|
||||
libgnu_a_SOURCES += canonicalize-lgpl.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module canonicalize-lgpl
|
||||
|
|
@ -1475,10 +1536,9 @@ endif
|
|||
## begin gnulib module copy-file-range
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_copy-file-range))
|
||||
|
||||
|
||||
EXTRA_DIST += copy-file-range.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += copy-file-range.c
|
||||
ifneq (,$(GL_COND_OBJ_COPY_FILE_RANGE_CONDITION))
|
||||
libgnu_a_SOURCES += copy-file-range.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module copy-file-range
|
||||
|
|
@ -1621,12 +1681,11 @@ endif
|
|||
ifeq (,$(OMIT_GNULIB_MODULE_dirfd))
|
||||
|
||||
ifneq (,$(gl_GNULIB_ENABLED_dirfd_CONDITION))
|
||||
ifneq (,$(GL_COND_OBJ_DIRFD_CONDITION))
|
||||
libgnu_a_SOURCES += dirfd.c
|
||||
endif
|
||||
|
||||
endif
|
||||
EXTRA_DIST += dirfd.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += dirfd.c
|
||||
|
||||
endif
|
||||
## end gnulib module dirfd
|
||||
|
||||
|
|
@ -1653,10 +1712,9 @@ endif
|
|||
## begin gnulib module dup2
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_dup2))
|
||||
|
||||
|
||||
EXTRA_DIST += dup2.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += dup2.c
|
||||
ifneq (,$(GL_COND_OBJ_DUP2_CONDITION))
|
||||
libgnu_a_SOURCES += dup2.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module dup2
|
||||
|
|
@ -1747,12 +1805,11 @@ endif
|
|||
ifeq (,$(OMIT_GNULIB_MODULE_euidaccess))
|
||||
|
||||
ifneq (,$(gl_GNULIB_ENABLED_euidaccess_CONDITION))
|
||||
ifneq (,$(GL_COND_OBJ_EUIDACCESS_CONDITION))
|
||||
libgnu_a_SOURCES += euidaccess.c
|
||||
endif
|
||||
|
||||
endif
|
||||
EXTRA_DIST += euidaccess.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += euidaccess.c
|
||||
|
||||
endif
|
||||
## end gnulib module euidaccess
|
||||
|
||||
|
|
@ -1773,9 +1830,11 @@ execinfo.h: $(top_builddir)/config.status
|
|||
endif
|
||||
MOSTLYCLEANFILES += execinfo.h execinfo.h-t
|
||||
|
||||
EXTRA_DIST += execinfo.c execinfo.in.h
|
||||
ifneq (,$(GL_COND_OBJ_EXECINFO_CONDITION))
|
||||
libgnu_a_SOURCES += execinfo.c
|
||||
endif
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += execinfo.c
|
||||
EXTRA_DIST += execinfo.in.h
|
||||
|
||||
endif
|
||||
## end gnulib module execinfo
|
||||
|
|
@ -1783,10 +1842,9 @@ endif
|
|||
## begin gnulib module explicit_bzero
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_explicit_bzero))
|
||||
|
||||
|
||||
EXTRA_DIST += explicit_bzero.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += explicit_bzero.c
|
||||
ifneq (,$(GL_COND_OBJ_EXPLICIT_BZERO_CONDITION))
|
||||
libgnu_a_SOURCES += explicit_bzero.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module explicit_bzero
|
||||
|
|
@ -1794,10 +1852,13 @@ endif
|
|||
## begin gnulib module faccessat
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_faccessat))
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_FACCESSAT_CONDITION))
|
||||
libgnu_a_SOURCES += faccessat.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += at-func.c faccessat.c
|
||||
EXTRA_DIST += at-func.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += at-func.c faccessat.c
|
||||
EXTRA_libgnu_a_SOURCES += at-func.c
|
||||
|
||||
endif
|
||||
## end gnulib module faccessat
|
||||
|
|
@ -1805,10 +1866,13 @@ endif
|
|||
## begin gnulib module fchmodat
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_fchmodat))
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_FCHMODAT_CONDITION))
|
||||
libgnu_a_SOURCES += fchmodat.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += at-func.c fchmodat.c
|
||||
EXTRA_DIST += at-func.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += at-func.c fchmodat.c
|
||||
EXTRA_libgnu_a_SOURCES += at-func.c
|
||||
|
||||
endif
|
||||
## end gnulib module fchmodat
|
||||
|
|
@ -1816,10 +1880,9 @@ endif
|
|||
## begin gnulib module fcntl
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_fcntl))
|
||||
|
||||
|
||||
EXTRA_DIST += fcntl.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += fcntl.c
|
||||
ifneq (,$(GL_COND_OBJ_FCNTL_CONDITION))
|
||||
libgnu_a_SOURCES += fcntl.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module fcntl
|
||||
|
|
@ -1866,10 +1929,9 @@ endif
|
|||
## begin gnulib module fdopendir
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_fdopendir))
|
||||
|
||||
|
||||
EXTRA_DIST += fdopendir.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += fdopendir.c
|
||||
ifneq (,$(GL_COND_OBJ_FDOPENDIR_CONDITION))
|
||||
libgnu_a_SOURCES += fdopendir.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module fdopendir
|
||||
|
|
@ -1925,10 +1987,11 @@ endif
|
|||
## begin gnulib module fpending
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_fpending))
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_FPENDING_CONDITION))
|
||||
libgnu_a_SOURCES += fpending.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += fpending.c fpending.h stdio-impl.h
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += fpending.c
|
||||
EXTRA_DIST += fpending.h stdio-impl.h
|
||||
|
||||
endif
|
||||
## end gnulib module fpending
|
||||
|
|
@ -1936,10 +1999,9 @@ endif
|
|||
## begin gnulib module free-posix
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_free-posix))
|
||||
|
||||
|
||||
EXTRA_DIST += free.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += free.c
|
||||
ifneq (,$(GL_COND_OBJ_FREE_CONDITION))
|
||||
libgnu_a_SOURCES += free.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module free-posix
|
||||
|
|
@ -1947,10 +2009,13 @@ endif
|
|||
## begin gnulib module fstatat
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_fstatat))
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_FSTATAT_CONDITION))
|
||||
libgnu_a_SOURCES += fstatat.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += at-func.c fstatat.c
|
||||
EXTRA_DIST += at-func.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += at-func.c fstatat.c
|
||||
EXTRA_libgnu_a_SOURCES += at-func.c
|
||||
|
||||
endif
|
||||
## end gnulib module fstatat
|
||||
|
|
@ -1958,10 +2023,11 @@ endif
|
|||
## begin gnulib module fsusage
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_fsusage))
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_FSUSAGE_CONDITION))
|
||||
libgnu_a_SOURCES += fsusage.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += fsusage.c fsusage.h
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += fsusage.c
|
||||
EXTRA_DIST += fsusage.h
|
||||
|
||||
endif
|
||||
## end gnulib module fsusage
|
||||
|
|
@ -1969,10 +2035,9 @@ endif
|
|||
## begin gnulib module fsync
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_fsync))
|
||||
|
||||
|
||||
EXTRA_DIST += fsync.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += fsync.c
|
||||
ifneq (,$(GL_COND_OBJ_FSYNC_CONDITION))
|
||||
libgnu_a_SOURCES += fsync.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module fsync
|
||||
|
|
@ -1980,10 +2045,9 @@ endif
|
|||
## begin gnulib module futimens
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_futimens))
|
||||
|
||||
|
||||
EXTRA_DIST += futimens.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += futimens.c
|
||||
ifneq (,$(GL_COND_OBJ_FUTIMENS_CONDITION))
|
||||
libgnu_a_SOURCES += futimens.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module futimens
|
||||
|
|
@ -2013,12 +2077,11 @@ endif
|
|||
ifeq (,$(OMIT_GNULIB_MODULE_getdtablesize))
|
||||
|
||||
ifneq (,$(gl_GNULIB_ENABLED_getdtablesize_CONDITION))
|
||||
ifneq (,$(GL_COND_OBJ_GETDTABLESIZE_CONDITION))
|
||||
libgnu_a_SOURCES += getdtablesize.c
|
||||
endif
|
||||
|
||||
endif
|
||||
EXTRA_DIST += getdtablesize.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += getdtablesize.c
|
||||
|
||||
endif
|
||||
## end gnulib module getdtablesize
|
||||
|
||||
|
|
@ -2026,22 +2089,20 @@ endif
|
|||
ifeq (,$(OMIT_GNULIB_MODULE_getgroups))
|
||||
|
||||
ifneq (,$(gl_GNULIB_ENABLED_getgroups_CONDITION))
|
||||
ifneq (,$(GL_COND_OBJ_GETGROUPS_CONDITION))
|
||||
libgnu_a_SOURCES += getgroups.c
|
||||
endif
|
||||
|
||||
endif
|
||||
EXTRA_DIST += getgroups.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += getgroups.c
|
||||
|
||||
endif
|
||||
## end gnulib module getgroups
|
||||
|
||||
## begin gnulib module getloadavg
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_getloadavg))
|
||||
|
||||
|
||||
EXTRA_DIST += getloadavg.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += getloadavg.c
|
||||
ifneq (,$(GL_COND_OBJ_GETLOADAVG_CONDITION))
|
||||
libgnu_a_SOURCES += getloadavg.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module getloadavg
|
||||
|
|
@ -2083,9 +2144,11 @@ endif
|
|||
|
||||
MOSTLYCLEANFILES += getopt.h getopt.h-t getopt-cdefs.h getopt-cdefs.h-t
|
||||
|
||||
EXTRA_DIST += getopt-cdefs.in.h getopt-core.h getopt-ext.h getopt-pfx-core.h getopt-pfx-ext.h getopt.c getopt.in.h getopt1.c getopt_int.h
|
||||
ifneq (,$(GL_COND_OBJ_GETOPT_CONDITION))
|
||||
libgnu_a_SOURCES += getopt.c getopt1.c
|
||||
endif
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += getopt.c getopt1.c
|
||||
EXTRA_DIST += getopt-cdefs.in.h getopt-core.h getopt-ext.h getopt-pfx-core.h getopt-pfx-ext.h getopt.in.h getopt_int.h
|
||||
|
||||
endif
|
||||
## end gnulib module getopt-posix
|
||||
|
|
@ -2093,10 +2156,9 @@ endif
|
|||
## begin gnulib module getrandom
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_getrandom))
|
||||
|
||||
|
||||
EXTRA_DIST += getrandom.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += getrandom.c
|
||||
ifneq (,$(GL_COND_OBJ_GETRANDOM_CONDITION))
|
||||
libgnu_a_SOURCES += getrandom.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module getrandom
|
||||
|
|
@ -2122,10 +2184,9 @@ endif
|
|||
## begin gnulib module gettimeofday
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_gettimeofday))
|
||||
|
||||
|
||||
EXTRA_DIST += gettimeofday.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += gettimeofday.c
|
||||
ifneq (,$(GL_COND_OBJ_GETTIMEOFDAY_CONDITION))
|
||||
libgnu_a_SOURCES += gettimeofday.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module gettimeofday
|
||||
|
|
@ -2143,12 +2204,11 @@ endif
|
|||
ifeq (,$(OMIT_GNULIB_MODULE_group-member))
|
||||
|
||||
ifneq (,$(gl_GNULIB_ENABLED_a9786850e999ae65a836a6041e8e5ed1_CONDITION))
|
||||
ifneq (,$(GL_COND_OBJ_GROUP_MEMBER_CONDITION))
|
||||
libgnu_a_SOURCES += group-member.c
|
||||
endif
|
||||
|
||||
endif
|
||||
EXTRA_DIST += group-member.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += group-member.c
|
||||
|
||||
endif
|
||||
## end gnulib module group-member
|
||||
|
||||
|
|
@ -2249,12 +2309,11 @@ endif
|
|||
ifeq (,$(OMIT_GNULIB_MODULE_lchmod))
|
||||
|
||||
ifneq (,$(gl_GNULIB_ENABLED_lchmod_CONDITION))
|
||||
ifneq (,$(GL_COND_OBJ_LCHMOD_CONDITION))
|
||||
libgnu_a_SOURCES += lchmod.c
|
||||
endif
|
||||
|
||||
endif
|
||||
EXTRA_DIST += lchmod.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += lchmod.c
|
||||
|
||||
endif
|
||||
## end gnulib module lchmod
|
||||
|
||||
|
|
@ -2291,9 +2350,13 @@ gmp.h: $(top_builddir)/config.status
|
|||
endif
|
||||
MOSTLYCLEANFILES += gmp.h gmp.h-t
|
||||
|
||||
EXTRA_DIST += mini-gmp-gnulib.c mini-gmp.c mini-gmp.h
|
||||
ifneq (,$(GL_COND_OBJ_MINI_GMP_GNULIB_CONDITION))
|
||||
libgnu_a_SOURCES += mini-gmp-gnulib.c
|
||||
endif
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += mini-gmp-gnulib.c mini-gmp.c
|
||||
EXTRA_DIST += mini-gmp.c mini-gmp.h
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += mini-gmp.c
|
||||
|
||||
endif
|
||||
## end gnulib module libgmp
|
||||
|
|
@ -2329,10 +2392,9 @@ endif
|
|||
## begin gnulib module lstat
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_lstat))
|
||||
|
||||
|
||||
EXTRA_DIST += lstat.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += lstat.c
|
||||
ifneq (,$(GL_COND_OBJ_LSTAT_CONDITION))
|
||||
libgnu_a_SOURCES += lstat.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module lstat
|
||||
|
|
@ -2377,10 +2439,9 @@ endif
|
|||
## begin gnulib module mempcpy
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_mempcpy))
|
||||
|
||||
|
||||
EXTRA_DIST += mempcpy.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += mempcpy.c
|
||||
ifneq (,$(GL_COND_OBJ_MEMPCPY_CONDITION))
|
||||
libgnu_a_SOURCES += mempcpy.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module mempcpy
|
||||
|
|
@ -2388,10 +2449,9 @@ endif
|
|||
## begin gnulib module memrchr
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_memrchr))
|
||||
|
||||
|
||||
EXTRA_DIST += memrchr.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += memrchr.c
|
||||
ifneq (,$(GL_COND_OBJ_MEMRCHR_CONDITION))
|
||||
libgnu_a_SOURCES += memrchr.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module memrchr
|
||||
|
|
@ -2407,10 +2467,9 @@ endif
|
|||
## begin gnulib module mkostemp
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_mkostemp))
|
||||
|
||||
|
||||
EXTRA_DIST += mkostemp.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += mkostemp.c
|
||||
ifneq (,$(GL_COND_OBJ_MKOSTEMP_CONDITION))
|
||||
libgnu_a_SOURCES += mkostemp.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module mkostemp
|
||||
|
|
@ -2463,12 +2522,11 @@ endif
|
|||
ifeq (,$(OMIT_GNULIB_MODULE_open))
|
||||
|
||||
ifneq (,$(gl_GNULIB_ENABLED_open_CONDITION))
|
||||
ifneq (,$(GL_COND_OBJ_OPEN_CONDITION))
|
||||
libgnu_a_SOURCES += open.c
|
||||
endif
|
||||
|
||||
endif
|
||||
EXTRA_DIST += open.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += open.c
|
||||
|
||||
endif
|
||||
## end gnulib module open
|
||||
|
||||
|
|
@ -2503,10 +2561,9 @@ endif
|
|||
## begin gnulib module pselect
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_pselect))
|
||||
|
||||
|
||||
EXTRA_DIST += pselect.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += pselect.c
|
||||
ifneq (,$(GL_COND_OBJ_PSELECT_CONDITION))
|
||||
libgnu_a_SOURCES += pselect.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module pselect
|
||||
|
|
@ -2514,10 +2571,9 @@ endif
|
|||
## begin gnulib module pthread_sigmask
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_pthread_sigmask))
|
||||
|
||||
|
||||
EXTRA_DIST += pthread_sigmask.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += pthread_sigmask.c
|
||||
ifneq (,$(GL_COND_OBJ_PTHREAD_SIGMASK_CONDITION))
|
||||
libgnu_a_SOURCES += pthread_sigmask.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module pthread_sigmask
|
||||
|
|
@ -2534,11 +2590,12 @@ endif
|
|||
ifeq (,$(OMIT_GNULIB_MODULE_rawmemchr))
|
||||
|
||||
ifneq (,$(gl_GNULIB_ENABLED_rawmemchr_CONDITION))
|
||||
ifneq (,$(GL_COND_OBJ_RAWMEMCHR_CONDITION))
|
||||
libgnu_a_SOURCES += rawmemchr.c
|
||||
endif
|
||||
|
||||
endif
|
||||
EXTRA_DIST += rawmemchr.c rawmemchr.valgrind
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += rawmemchr.c
|
||||
EXTRA_DIST += rawmemchr.valgrind
|
||||
|
||||
endif
|
||||
## end gnulib module rawmemchr
|
||||
|
|
@ -2546,10 +2603,9 @@ endif
|
|||
## begin gnulib module readlink
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_readlink))
|
||||
|
||||
|
||||
EXTRA_DIST += readlink.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += readlink.c
|
||||
ifneq (,$(GL_COND_OBJ_READLINK_CONDITION))
|
||||
libgnu_a_SOURCES += readlink.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module readlink
|
||||
|
|
@ -2557,10 +2613,13 @@ endif
|
|||
## begin gnulib module readlinkat
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_readlinkat))
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_READLINKAT_CONDITION))
|
||||
libgnu_a_SOURCES += readlinkat.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += at-func.c readlinkat.c
|
||||
EXTRA_DIST += at-func.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += at-func.c readlinkat.c
|
||||
EXTRA_libgnu_a_SOURCES += at-func.c
|
||||
|
||||
endif
|
||||
## end gnulib module readlinkat
|
||||
|
|
@ -2594,10 +2653,13 @@ endif
|
|||
## begin gnulib module regex
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_regex))
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_REGEX_CONDITION))
|
||||
libgnu_a_SOURCES += regex.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += regcomp.c regex.c regex.h regex_internal.c regex_internal.h regexec.c
|
||||
EXTRA_DIST += regcomp.c regex.h regex_internal.c regex_internal.h regexec.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += regcomp.c regex.c regex_internal.c regexec.c
|
||||
EXTRA_libgnu_a_SOURCES += regcomp.c regex_internal.c regexec.c
|
||||
|
||||
endif
|
||||
## end gnulib module regex
|
||||
|
|
@ -2641,10 +2703,11 @@ endif
|
|||
## begin gnulib module sig2str
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_sig2str))
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_SIG2STR_CONDITION))
|
||||
libgnu_a_SOURCES += sig2str.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += sig2str.c sig2str.h
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += sig2str.c
|
||||
EXTRA_DIST += sig2str.h
|
||||
|
||||
endif
|
||||
## end gnulib module sig2str
|
||||
|
|
@ -2652,10 +2715,9 @@ endif
|
|||
## begin gnulib module sigdescr_np
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_sigdescr_np))
|
||||
|
||||
|
||||
EXTRA_DIST += sigdescr_np.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += sigdescr_np.c
|
||||
ifneq (,$(GL_COND_OBJ_SIGDESCR_NP_CONDITION))
|
||||
libgnu_a_SOURCES += sigdescr_np.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module sigdescr_np
|
||||
|
|
@ -3004,6 +3066,13 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
|
|||
$(AM_V_at)mv $@-t $@
|
||||
MOSTLYCLEANFILES += stdio.h stdio.h-t
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_STDIO_READ_CONDITION))
|
||||
libgnu_a_SOURCES += stdio-read.c
|
||||
endif
|
||||
ifneq (,$(GL_COND_OBJ_STDIO_WRITE_CONDITION))
|
||||
libgnu_a_SOURCES += stdio-write.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += stdio.in.h
|
||||
|
||||
endif
|
||||
|
|
@ -3163,10 +3232,9 @@ endif
|
|||
## begin gnulib module stpcpy
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_stpcpy))
|
||||
|
||||
|
||||
EXTRA_DIST += stpcpy.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += stpcpy.c
|
||||
ifneq (,$(GL_COND_OBJ_STPCPY_CONDITION))
|
||||
libgnu_a_SOURCES += stpcpy.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module stpcpy
|
||||
|
|
@ -3287,10 +3355,9 @@ endif
|
|||
## begin gnulib module strnlen
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_strnlen))
|
||||
|
||||
|
||||
EXTRA_DIST += strnlen.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += strnlen.c
|
||||
ifneq (,$(GL_COND_OBJ_STRNLEN_CONDITION))
|
||||
libgnu_a_SOURCES += strnlen.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module strnlen
|
||||
|
|
@ -3298,10 +3365,9 @@ endif
|
|||
## begin gnulib module strtoimax
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_strtoimax))
|
||||
|
||||
|
||||
EXTRA_DIST += strtoimax.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += strtoimax.c
|
||||
ifneq (,$(GL_COND_OBJ_STRTOIMAX_CONDITION))
|
||||
libgnu_a_SOURCES += strtoimax.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module strtoimax
|
||||
|
|
@ -3310,11 +3376,14 @@ endif
|
|||
ifeq (,$(OMIT_GNULIB_MODULE_strtoll))
|
||||
|
||||
ifneq (,$(gl_GNULIB_ENABLED_strtoll_CONDITION))
|
||||
ifneq (,$(GL_COND_OBJ_STRTOLL_CONDITION))
|
||||
libgnu_a_SOURCES += strtoll.c
|
||||
endif
|
||||
|
||||
endif
|
||||
EXTRA_DIST += strtol.c strtoll.c
|
||||
EXTRA_DIST += strtol.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += strtol.c strtoll.c
|
||||
EXTRA_libgnu_a_SOURCES += strtol.c
|
||||
|
||||
endif
|
||||
## end gnulib module strtoll
|
||||
|
|
@ -3322,10 +3391,9 @@ endif
|
|||
## begin gnulib module symlink
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_symlink))
|
||||
|
||||
|
||||
EXTRA_DIST += symlink.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += symlink.c
|
||||
ifneq (,$(GL_COND_OBJ_SYMLINK_CONDITION))
|
||||
libgnu_a_SOURCES += symlink.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module symlink
|
||||
|
|
@ -3602,10 +3670,9 @@ endif
|
|||
## begin gnulib module time_r
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_time_r))
|
||||
|
||||
|
||||
EXTRA_DIST += time_r.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += time_r.c
|
||||
ifneq (,$(GL_COND_OBJ_TIME_R_CONDITION))
|
||||
libgnu_a_SOURCES += time_r.c
|
||||
endif
|
||||
|
||||
endif
|
||||
## end gnulib module time_r
|
||||
|
|
@ -3613,10 +3680,11 @@ endif
|
|||
## begin gnulib module time_rz
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_time_rz))
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_TIME_RZ_CONDITION))
|
||||
libgnu_a_SOURCES += time_rz.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += time-internal.h time_rz.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += time_rz.c
|
||||
EXTRA_DIST += time-internal.h
|
||||
|
||||
endif
|
||||
## end gnulib module time_rz
|
||||
|
|
@ -3624,10 +3692,11 @@ endif
|
|||
## begin gnulib module timegm
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_timegm))
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_TIMEGM_CONDITION))
|
||||
libgnu_a_SOURCES += timegm.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += mktime-internal.h timegm.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += timegm.c
|
||||
EXTRA_DIST += mktime-internal.h
|
||||
|
||||
endif
|
||||
## end gnulib module timegm
|
||||
|
|
@ -3821,6 +3890,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
|||
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_EXECL''@|$(REPLACE_EXECL)|g' \
|
||||
|
|
@ -3909,10 +3979,13 @@ endif
|
|||
## begin gnulib module utimensat
|
||||
ifeq (,$(OMIT_GNULIB_MODULE_utimensat))
|
||||
|
||||
ifneq (,$(GL_COND_OBJ_UTIMENSAT_CONDITION))
|
||||
libgnu_a_SOURCES += utimensat.c
|
||||
endif
|
||||
|
||||
EXTRA_DIST += at-func.c utimensat.c
|
||||
EXTRA_DIST += at-func.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += at-func.c utimensat.c
|
||||
EXTRA_libgnu_a_SOURCES += at-func.c
|
||||
|
||||
endif
|
||||
## end gnulib module utimensat
|
||||
|
|
@ -3954,3 +4027,7 @@ mostlyclean-local: mostlyclean-generic
|
|||
fi; \
|
||||
done; \
|
||||
:
|
||||
distclean-local: distclean-gnulib-libobjs
|
||||
distclean-gnulib-libobjs:
|
||||
-rm -f @gl_LIBOBJDEPS@
|
||||
maintainer-clean-local: distclean-gnulib-libobjs
|
||||
|
|
|
|||
|
|
@ -229,11 +229,15 @@
|
|||
|
||||
/* True if __builtin_add_overflow (A, B, P) and __builtin_sub_overflow
|
||||
(A, B, P) work when P is non-null. */
|
||||
#if defined __has_builtin
|
||||
#ifdef __EDG__
|
||||
/* EDG-based compilers like nvc 22.1 cannot add 64-bit signed to unsigned
|
||||
<https://bugs.gnu.org/53256>. */
|
||||
# define _GL_HAS_BUILTIN_ADD_OVERFLOW 0
|
||||
#elif defined __has_builtin
|
||||
# define _GL_HAS_BUILTIN_ADD_OVERFLOW __has_builtin (__builtin_add_overflow)
|
||||
/* __builtin_{add,sub}_overflow exists but is not reliable in GCC 5.x and 6.x,
|
||||
see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98269>. */
|
||||
#elif 7 <= __GNUC__ && !defined __EDG__
|
||||
#elif 7 <= __GNUC__
|
||||
# define _GL_HAS_BUILTIN_ADD_OVERFLOW 1
|
||||
#else
|
||||
# define _GL_HAS_BUILTIN_ADD_OVERFLOW 0
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
It is dual-licensed under "the GNU LGPLv3+ or the GNU GPLv2+".
|
||||
You can redistribute it and/or modify it under either
|
||||
- the terms of the GNU Lesser General Public License as published
|
||||
by the Free Software Foundation; either version 3, or (at your
|
||||
by the Free Software Foundation, either version 3, or (at your
|
||||
option) any later version, or
|
||||
- the terms of the GNU General Public License as published by the
|
||||
Free Software Foundation; either version 2, or (at your option)
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ The GNU MP Library is free software; you can redistribute it and/or modify
|
|||
it under the terms of either:
|
||||
|
||||
* the GNU Lesser General Public License as published by the Free
|
||||
Software Foundation; either version 3 of the License, or (at your
|
||||
Software Foundation, either version 3 of the License, or (at your
|
||||
option) any later version.
|
||||
|
||||
or
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ The GNU MP Library is free software; you can redistribute it and/or modify
|
|||
it under the terms of either:
|
||||
|
||||
* the GNU Lesser General Public License as published by the Free
|
||||
Software Foundation; either version 3 of the License, or (at your
|
||||
Software Foundation, either version 3 of the License, or (at your
|
||||
option) any later version.
|
||||
|
||||
or
|
||||
|
|
|
|||
28
lib/mktime.c
28
lib/mktime.c
|
|
@ -429,8 +429,13 @@ __mktime_internal (struct tm *tp,
|
|||
time with the right value, and use its UTC offset.
|
||||
|
||||
Heuristic: probe the adjacent timestamps in both directions,
|
||||
looking for the desired isdst. This should work for all real
|
||||
time zone histories in the tz database. */
|
||||
looking for the desired isdst. If none is found within a
|
||||
reasonable duration bound, assume a one-hour DST difference.
|
||||
This should work for all real time zone histories in the tz
|
||||
database. */
|
||||
|
||||
/* +1 if we wanted standard time but got DST, -1 if the reverse. */
|
||||
int dst_difference = (isdst == 0) - (tm.tm_isdst == 0);
|
||||
|
||||
/* Distance between probes when looking for a DST boundary. In
|
||||
tzdata2003a, the shortest period of DST is 601200 seconds
|
||||
|
|
@ -441,12 +446,14 @@ __mktime_internal (struct tm *tp,
|
|||
periods when probing. */
|
||||
int stride = 601200;
|
||||
|
||||
/* The longest period of DST in tzdata2003a is 536454000 seconds
|
||||
(e.g., America/Jujuy starting 1946-10-01 01:00). The longest
|
||||
period of non-DST is much longer, but it makes no real sense
|
||||
to search for more than a year of non-DST, so use the DST
|
||||
max. */
|
||||
int duration_max = 536454000;
|
||||
/* In TZDB 2021e, the longest period of DST (or of non-DST), in
|
||||
which the DST (or adjacent DST) difference is not one hour,
|
||||
is 457243209 seconds: e.g., America/Cambridge_Bay with leap
|
||||
seconds, starting 1965-10-31 00:00 in a switch from
|
||||
double-daylight time (-05) to standard time (-07), and
|
||||
continuing to 1980-04-27 02:00 in a switch from standard time
|
||||
(-07) to daylight time (-06). */
|
||||
int duration_max = 457243209;
|
||||
|
||||
/* Search in both directions, so the maximum distance is half
|
||||
the duration; add the stride to avoid off-by-1 problems. */
|
||||
|
|
@ -483,6 +490,11 @@ __mktime_internal (struct tm *tp,
|
|||
}
|
||||
}
|
||||
|
||||
/* No unusual DST offset was found nearby. Assume one-hour DST. */
|
||||
t += 60 * 60 * dst_difference;
|
||||
if (mktime_min <= t && t <= mktime_max && convert_time (convert, t, &tm))
|
||||
goto offset_found;
|
||||
|
||||
__set_errno (EOVERFLOW);
|
||||
return -1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
@ -1158,7 +1158,6 @@ __strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)
|
|||
|
||||
case L_('q'): /* GNU extension. */
|
||||
DO_SIGNED_NUMBER (1, false, ((tp->tm_mon * 11) >> 5) + 1);
|
||||
break;
|
||||
|
||||
case L_('R'):
|
||||
subfmt = L_("%H:%M");
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -563,22 +563,35 @@ _GL_WARN_ON_USE (strncat, "strncat is unportable - "
|
|||
# undef strndup
|
||||
# define strndup rpl_strndup
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (strndup, char *, (char const *__s, size_t __n)
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_FUNCDECL_RPL (strndup, char *,
|
||||
(char const *__s, size_t __n)
|
||||
_GL_ARG_NONNULL ((1))
|
||||
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
|
||||
_GL_CXXALIAS_RPL (strndup, char *, (char const *__s, size_t __n));
|
||||
# else
|
||||
# if ! @HAVE_DECL_STRNDUP@
|
||||
_GL_FUNCDECL_SYS (strndup, char *, (char const *__s, size_t __n)
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
# if !@HAVE_DECL_STRNDUP@ || __GNUC__ >= 11
|
||||
_GL_FUNCDECL_SYS (strndup, char *,
|
||||
(char const *__s, size_t __n)
|
||||
_GL_ARG_NONNULL ((1))
|
||||
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (strndup, char *, (char const *__s, size_t __n));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (strndup);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef strndup
|
||||
# if HAVE_RAW_DECL_STRNDUP
|
||||
#else
|
||||
# if __GNUC__ >= 11
|
||||
/* For -Wmismatched-dealloc: Associate strndup with free or rpl_free. */
|
||||
_GL_FUNCDECL_SYS (strndup, char *,
|
||||
(char const *__s, size_t __n)
|
||||
_GL_ARG_NONNULL ((1))
|
||||
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE);
|
||||
# endif
|
||||
# if defined GNULIB_POSIXCHECK
|
||||
# undef strndup
|
||||
# if HAVE_RAW_DECL_STRNDUP
|
||||
_GL_WARN_ON_USE (strndup, "strndup is unportable - "
|
||||
"use gnulib module strndup for portability");
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -415,16 +415,30 @@ _GL_CXXALIASWARN (close);
|
|||
|
||||
|
||||
#if @GNULIB_COPY_FILE_RANGE@
|
||||
# if !@HAVE_COPY_FILE_RANGE@
|
||||
# if @REPLACE_COPY_FILE_RANGE@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef copy_file_range
|
||||
# define copy_file_range rpl_copy_file_range
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (copy_file_range, ssize_t, (int ifd, off_t *ipos,
|
||||
int ofd, off_t *opos,
|
||||
size_t len, unsigned flags));
|
||||
_GL_CXXALIAS_RPL (copy_file_range, ssize_t, (int ifd, off_t *ipos,
|
||||
int ofd, off_t *opos,
|
||||
size_t len, unsigned flags));
|
||||
# else
|
||||
# if !@HAVE_COPY_FILE_RANGE@
|
||||
_GL_FUNCDECL_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos,
|
||||
int ofd, off_t *opos,
|
||||
size_t len, unsigned flags));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (copy_file_range, ssize_t, (int ifd, off_t *ipos,
|
||||
int ofd, off_t *opos,
|
||||
size_t len, unsigned flags));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (copy_file_range);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef copy_file_range
|
||||
# if HAVE_RAW_DECL_COPY_FILE_RANGE
|
||||
_GL_WARN_ON_USE (copy_file_range,
|
||||
"copy_file_range is unportable - "
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 3 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
This file is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
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 Free Software Foundation; either version 3 of the License, or
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ dnl with or without modifications, as long as this notice is preserved.
|
|||
AC_DEFUN([gl_FUNC_COPY_FILE_RANGE],
|
||||
[
|
||||
AC_REQUIRE([gl_UNISTD_H_DEFAULTS])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
|
||||
dnl Persuade glibc <unistd.h> to declare copy_file_range.
|
||||
AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])
|
||||
|
|
@ -21,7 +22,7 @@ AC_DEFUN([gl_FUNC_COPY_FILE_RANGE],
|
|||
[AC_LANG_PROGRAM(
|
||||
[[#include <unistd.h>
|
||||
]],
|
||||
[[ssize_t (*func) (int, off_t *, int, off_t, size_t, unsigned)
|
||||
[[ssize_t (*func) (int, off_t *, int, off_t *, size_t, unsigned)
|
||||
= copy_file_range;
|
||||
return func (0, 0, 0, 0, 0, 0) & 127;
|
||||
]])
|
||||
|
|
@ -32,5 +33,27 @@ AC_DEFUN([gl_FUNC_COPY_FILE_RANGE],
|
|||
|
||||
if test "$gl_cv_func_copy_file_range" != yes; then
|
||||
HAVE_COPY_FILE_RANGE=0
|
||||
else
|
||||
AC_DEFINE([HAVE_COPY_FILE_RANGE], 1,
|
||||
[Define to 1 if the function copy_file_range exists.])
|
||||
|
||||
case $host_os in
|
||||
linux*)
|
||||
AC_CACHE_CHECK([whether copy_file_range is known to work],
|
||||
[gl_cv_copy_file_range_known_to_work],
|
||||
[AC_COMPILE_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[#include <linux/version.h>
|
||||
]],
|
||||
[[#if LINUX_VERSION_CODE < KERNEL_VERSION (5, 3, 0)
|
||||
#error "copy_file_range is buggy"
|
||||
#endif
|
||||
]])],
|
||||
[gl_cv_copy_file_range_known_to_work=yes],
|
||||
[gl_cv_copy_file_range_known_to_work=no])])
|
||||
if test "$gl_cv_copy_file_range_known_to_work" = no; then
|
||||
REPLACE_COPY_FILE_RANGE=1
|
||||
fi;;
|
||||
esac
|
||||
fi
|
||||
])
|
||||
|
|
|
|||
|
|
@ -7,7 +7,22 @@ dnl with or without modifications, as long as this notice is preserved.
|
|||
|
||||
AC_DEFUN([gl_EXTERN_INLINE],
|
||||
[
|
||||
AH_VERBATIM([extern_inline],
|
||||
AC_CACHE_CHECK([whether ctype.h defines __header_inline],
|
||||
[gl_cv_have___header_inline],
|
||||
[AC_PREPROC_IFELSE(
|
||||
[AC_LANG_SOURCE([[#include <ctype.h>
|
||||
#ifndef __header_inline
|
||||
#error "<ctype.h> does not define __header_inline"
|
||||
#endif
|
||||
]])],
|
||||
[gl_cv_have___header_inline=yes],
|
||||
[gl_cv_have___header_inline=no])])
|
||||
if test "$gl_cv_have___header_inline" = yes; then
|
||||
AC_DEFINE([HAVE___HEADER_INLINE], [1],
|
||||
[Define to 1 if ctype.h defines __header_inline.])
|
||||
fi
|
||||
|
||||
AH_VERBATIM([HAVE___HEADER_INLINE_1],
|
||||
[/* Please see the Gnulib manual for how to use these macros.
|
||||
|
||||
Suppress extern inline with HP-UX cc, as it appears to be broken; see
|
||||
|
|
@ -54,7 +69,7 @@ AC_DEFUN([gl_EXTERN_INLINE],
|
|||
*/
|
||||
#if (((defined __APPLE__ && defined __MACH__) \
|
||||
|| defined __DragonFly__ || defined __FreeBSD__) \
|
||||
&& (defined __header_inline \
|
||||
&& (defined HAVE___HEADER_INLINE \
|
||||
? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
|
||||
&& ! defined __clang__) \
|
||||
: ((! defined _DONT_USE_CTYPE_INLINE_ \
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# gnulib-common.m4 serial 69
|
||||
# gnulib-common.m4 serial 72
|
||||
dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
|
@ -181,7 +181,12 @@ AC_DEFUN([gl_COMMON_BODY], [
|
|||
#else
|
||||
# define _GL_ATTRIBUTE_DEALLOC(f, i)
|
||||
#endif
|
||||
#define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1)
|
||||
/* If gnulib's <string.h> or <wchar.h> has already defined this macro, continue
|
||||
to use this earlier definition, since <stdlib.h> may not have been included
|
||||
yet. */
|
||||
#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
|
||||
# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1)
|
||||
#endif
|
||||
|
||||
/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated.
|
||||
The compiler may warn if the entity is used. */
|
||||
|
|
@ -813,6 +818,24 @@ AC_DEFUN([gl_CACHE_VAL_SILENT],
|
|||
])
|
||||
])
|
||||
|
||||
# gl_CONDITIONAL(conditional, condition)
|
||||
# is like AM_CONDITIONAL(conditional, condition), except that it does not
|
||||
# produce an error
|
||||
# configure: error: conditional "..." was never defined.
|
||||
# Usually this means the macro was only invoked conditionally.
|
||||
# when only invoked conditionally. Instead, in that case, both the _TRUE
|
||||
# and the _FALSE case are disabled.
|
||||
AC_DEFUN([gl_CONDITIONAL],
|
||||
[
|
||||
pushdef([AC_CONFIG_COMMANDS_PRE], [:])dnl
|
||||
AM_CONDITIONAL([$1], [$2])
|
||||
popdef([AC_CONFIG_COMMANDS_PRE])dnl
|
||||
if test -z "${[$1]_TRUE}" && test -z "${[$1]_FALSE}"; then
|
||||
[$1]_TRUE='#'
|
||||
[$1]_FALSE='#'
|
||||
fi
|
||||
])
|
||||
|
||||
# gl_CC_ALLOW_WARNINGS
|
||||
# sets and substitutes a variable GL_CFLAG_ALLOW_WARNINGS, to a $(CC) option
|
||||
# that reverts a preceding '-Werror' option, if available.
|
||||
|
|
@ -879,6 +902,72 @@ AC_DEFUN([gl_CXX_ALLOW_WARNINGS],
|
|||
AC_SUBST([GL_CXXFLAG_ALLOW_WARNINGS])
|
||||
])
|
||||
|
||||
# gl_CC_GNULIB_WARNINGS
|
||||
# sets and substitutes a variable GL_CFLAG_GNULIB_WARNINGS, to a $(CC) option
|
||||
# set that enables or disables warnings as suitable for the Gnulib coding style.
|
||||
AC_DEFUN([gl_CC_GNULIB_WARNINGS],
|
||||
[
|
||||
AC_REQUIRE([gl_CC_ALLOW_WARNINGS])
|
||||
dnl Assume that the compiler supports -Wno-* options only if it also supports
|
||||
dnl -Wno-error.
|
||||
GL_CFLAG_GNULIB_WARNINGS=''
|
||||
if test -n "$GL_CFLAG_ALLOW_WARNINGS"; then
|
||||
dnl Enable these warning options:
|
||||
dnl
|
||||
dnl GCC clang
|
||||
dnl -Wno-cast-qual >= 3 >= 3.9
|
||||
dnl -Wno-conversion >= 3 >= 3.9
|
||||
dnl -Wno-float-conversion >= 4.9 >= 3.9
|
||||
dnl -Wno-float-equal >= 3 >= 3.9
|
||||
dnl -Wimplicit-fallthrough >= 7 >= 3.9
|
||||
dnl -Wno-pedantic >= 4.8 >= 3.9
|
||||
dnl -Wno-sign-compare >= 3 >= 3.9
|
||||
dnl -Wno-sign-conversion >= 4.3 >= 3.9
|
||||
dnl -Wno-type-limits >= 4.3 >= 3.9
|
||||
dnl -Wno-undef >= 3 >= 3.9
|
||||
dnl -Wno-unsuffixed-float-constants >= 4.5
|
||||
dnl -Wno-unused-function >= 3 >= 3.9
|
||||
dnl -Wno-unused-parameter >= 3 >= 3.9
|
||||
dnl
|
||||
cat > conftest.c <<\EOF
|
||||
#if __GNUC__ >= 3 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
|
||||
-Wno-cast-qual
|
||||
-Wno-conversion
|
||||
-Wno-float-equal
|
||||
-Wno-sign-compare
|
||||
-Wno-undef
|
||||
-Wno-unused-function
|
||||
-Wno-unused-parameter
|
||||
#endif
|
||||
#if __GNUC__ + (__GNUC_MINOR__ >= 9) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
|
||||
-Wno-float-conversion
|
||||
#endif
|
||||
#if __GNUC__ >= 7 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
|
||||
-Wimplicit-fallthrough
|
||||
#endif
|
||||
#if __GNUC__ + (__GNUC_MINOR__ >= 8) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
|
||||
-Wno-pedantic
|
||||
#endif
|
||||
#if __GNUC__ + (__GNUC_MINOR__ >= 3) > 4 || (__clang_major__ + (__clang_minor__ >= 9) > 3)
|
||||
-Wno-sign-conversion
|
||||
-Wno-type-limits
|
||||
#endif
|
||||
#if __GNUC__ + (__GNUC_MINOR__ >= 5) > 4
|
||||
-Wno-unsuffixed-float-constants
|
||||
#endif
|
||||
EOF
|
||||
gl_command="$CC $CFLAGS $CPPFLAGS -E conftest.c > conftest.out"
|
||||
if AC_TRY_EVAL([gl_command]); then
|
||||
gl_options=`grep -v '#' conftest.out`
|
||||
for word in $gl_options; do
|
||||
GL_CFLAG_GNULIB_WARNINGS="$GL_CFLAG_GNULIB_WARNINGS $word"
|
||||
done
|
||||
fi
|
||||
rm -f conftest.c conftest.out
|
||||
fi
|
||||
AC_SUBST([GL_CFLAG_GNULIB_WARNINGS])
|
||||
])
|
||||
|
||||
dnl gl_CONDITIONAL_HEADER([foo.h])
|
||||
dnl takes a shell variable GL_GENERATE_FOO_H (with value true or false) as input
|
||||
dnl and produces
|
||||
|
|
@ -903,7 +992,7 @@ AC_DEFUN([gl_CONDITIONAL_HEADER],
|
|||
*) echo "*** gl_generate_var is not set correctly" 1>&2; exit 1 ;;
|
||||
esac
|
||||
AC_SUBST(gl_header_name)
|
||||
AM_CONDITIONAL(gl_generate_cond, [$gl_generate_var])
|
||||
gl_CONDITIONAL(gl_generate_cond, [$gl_generate_var])
|
||||
m4_popdef([gl_generate_cond])
|
||||
m4_popdef([gl_generate_var])
|
||||
m4_popdef([gl_header_name])
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#
|
||||
# This file is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 3 of the License, or
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This file is distributed in the hope that it will be useful,
|
||||
|
|
@ -236,9 +236,8 @@ AC_DEFUN([gl_INIT],
|
|||
gl_CONDITIONAL_HEADER([byteswap.h])
|
||||
AC_PROG_MKDIR_P
|
||||
gl_CANONICALIZE_LGPL
|
||||
if test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1; then
|
||||
AC_LIBOBJ([canonicalize-lgpl])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_CANONICALIZE_LGPL],
|
||||
[test $HAVE_CANONICALIZE_FILE_NAME = 0 || test $REPLACE_CANONICALIZE_FILE_NAME = 1])
|
||||
gl_MODULE_INDICATOR([canonicalize-lgpl])
|
||||
gl_STDLIB_MODULE_INDICATOR([canonicalize_file_name])
|
||||
gl_STDLIB_MODULE_INDICATOR([realpath])
|
||||
|
|
@ -247,9 +246,9 @@ AC_DEFUN([gl_INIT],
|
|||
gl_CLOCK_TIME
|
||||
gl_MODULE_INDICATOR([close-stream])
|
||||
gl_FUNC_COPY_FILE_RANGE
|
||||
if test $HAVE_COPY_FILE_RANGE = 0; then
|
||||
AC_LIBOBJ([copy-file-range])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_COPY_FILE_RANGE],
|
||||
[test $HAVE_COPY_FILE_RANGE = 0 ||
|
||||
test $REPLACE_COPY_FILE_RANGE = 1])
|
||||
gl_UNISTD_MODULE_INDICATOR([copy-file-range])
|
||||
AC_REQUIRE([AC_C_RESTRICT])
|
||||
gl_MD5
|
||||
|
|
@ -265,10 +264,10 @@ AC_DEFUN([gl_INIT],
|
|||
AC_PROG_MKDIR_P
|
||||
gl_DOUBLE_SLASH_ROOT
|
||||
gl_FUNC_DUP2
|
||||
if test $REPLACE_DUP2 = 1; then
|
||||
AC_LIBOBJ([dup2])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_DUP2], [test $REPLACE_DUP2 = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_DUP2], [
|
||||
gl_PREREQ_DUP2
|
||||
fi
|
||||
])
|
||||
gl_UNISTD_MODULE_INDICATOR([dup2])
|
||||
gl_ENVIRON
|
||||
gl_UNISTD_MODULE_INDICATOR([environ])
|
||||
|
|
@ -278,83 +277,77 @@ AC_DEFUN([gl_INIT],
|
|||
gl_EXECINFO_H
|
||||
gl_CONDITIONAL_HEADER([execinfo.h])
|
||||
AC_PROG_MKDIR_P
|
||||
if $GL_GENERATE_EXECINFO_H; then
|
||||
AC_LIBOBJ([execinfo])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_EXECINFO], [$GL_GENERATE_EXECINFO_H])
|
||||
gl_FUNC_EXPLICIT_BZERO
|
||||
if test $HAVE_EXPLICIT_BZERO = 0; then
|
||||
AC_LIBOBJ([explicit_bzero])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_EXPLICIT_BZERO], [test $HAVE_EXPLICIT_BZERO = 0])
|
||||
AM_COND_IF([GL_COND_OBJ_EXPLICIT_BZERO], [
|
||||
gl_PREREQ_EXPLICIT_BZERO
|
||||
fi
|
||||
])
|
||||
gl_STRING_MODULE_INDICATOR([explicit_bzero])
|
||||
AC_REQUIRE([gl_EXTERN_INLINE])
|
||||
gl_FUNC_FACCESSAT
|
||||
if test $HAVE_FACCESSAT = 0 || test $REPLACE_FACCESSAT = 1; then
|
||||
AC_LIBOBJ([faccessat])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_FACCESSAT],
|
||||
[test $HAVE_FACCESSAT = 0 || test $REPLACE_FACCESSAT = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_FACCESSAT], [
|
||||
gl_PREREQ_FACCESSAT
|
||||
fi
|
||||
])
|
||||
gl_MODULE_INDICATOR([faccessat])
|
||||
gl_UNISTD_MODULE_INDICATOR([faccessat])
|
||||
gl_FUNC_FCHMODAT
|
||||
if test $HAVE_FCHMODAT = 0 || test $REPLACE_FCHMODAT = 1; then
|
||||
AC_LIBOBJ([fchmodat])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_FCHMODAT],
|
||||
[test $HAVE_FCHMODAT = 0 || test $REPLACE_FCHMODAT = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_FCHMODAT], [
|
||||
gl_PREREQ_FCHMODAT
|
||||
fi
|
||||
])
|
||||
gl_SYS_STAT_MODULE_INDICATOR([fchmodat])
|
||||
gl_FUNC_FCNTL
|
||||
if test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1; then
|
||||
AC_LIBOBJ([fcntl])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_FCNTL],
|
||||
[test $HAVE_FCNTL = 0 || test $REPLACE_FCNTL = 1])
|
||||
gl_FCNTL_MODULE_INDICATOR([fcntl])
|
||||
gl_FCNTL_H
|
||||
gl_FCNTL_H_REQUIRE_DEFAULTS
|
||||
AC_PROG_MKDIR_P
|
||||
gl_FUNC_FDOPENDIR
|
||||
if test $HAVE_FDOPENDIR = 0 || test $REPLACE_FDOPENDIR = 1; then
|
||||
AC_LIBOBJ([fdopendir])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_FDOPENDIR],
|
||||
[test $HAVE_FDOPENDIR = 0 || test $REPLACE_FDOPENDIR = 1])
|
||||
gl_DIRENT_MODULE_INDICATOR([fdopendir])
|
||||
gl_MODULE_INDICATOR([fdopendir])
|
||||
gl_FILE_HAS_ACL
|
||||
gl_FILEMODE
|
||||
AC_C_FLEXIBLE_ARRAY_MEMBER
|
||||
gl_FUNC_FPENDING
|
||||
if test $gl_cv_func___fpending = no; then
|
||||
AC_LIBOBJ([fpending])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_FPENDING], [test $gl_cv_func___fpending = no])
|
||||
gl_FUNC_FREE
|
||||
if test $REPLACE_FREE = 1; then
|
||||
AC_LIBOBJ([free])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_FREE], [test $REPLACE_FREE = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_FREE], [
|
||||
gl_PREREQ_FREE
|
||||
fi
|
||||
])
|
||||
gl_STDLIB_MODULE_INDICATOR([free-posix])
|
||||
gl_FUNC_FSTATAT
|
||||
if test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1; then
|
||||
AC_LIBOBJ([fstatat])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_FSTATAT],
|
||||
[test $HAVE_FSTATAT = 0 || test $REPLACE_FSTATAT = 1])
|
||||
gl_SYS_STAT_MODULE_INDICATOR([fstatat])
|
||||
gl_FSUSAGE
|
||||
if test $gl_cv_fs_space = yes; then
|
||||
AC_LIBOBJ([fsusage])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_FSUSAGE], [test $gl_cv_fs_space = yes])
|
||||
AM_COND_IF([GL_COND_OBJ_FSUSAGE], [
|
||||
gl_PREREQ_FSUSAGE_EXTRA
|
||||
fi
|
||||
])
|
||||
gl_FUNC_FSYNC
|
||||
if test $HAVE_FSYNC = 0; then
|
||||
AC_LIBOBJ([fsync])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_FSYNC], [test $HAVE_FSYNC = 0])
|
||||
AM_COND_IF([GL_COND_OBJ_FSYNC], [
|
||||
gl_PREREQ_FSYNC
|
||||
fi
|
||||
])
|
||||
gl_UNISTD_MODULE_INDICATOR([fsync])
|
||||
gl_FUNC_FUTIMENS
|
||||
if test $HAVE_FUTIMENS = 0 || test $REPLACE_FUTIMENS = 1; then
|
||||
AC_LIBOBJ([futimens])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_FUTIMENS],
|
||||
[test $HAVE_FUTIMENS = 0 || test $REPLACE_FUTIMENS = 1])
|
||||
gl_SYS_STAT_MODULE_INDICATOR([futimens])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
gl_GETLOADAVG
|
||||
if test $HAVE_GETLOADAVG = 0; then
|
||||
AC_LIBOBJ([getloadavg])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_GETLOADAVG], [test $HAVE_GETLOADAVG = 0])
|
||||
AM_COND_IF([GL_COND_OBJ_GETLOADAVG], [
|
||||
gl_PREREQ_GETLOADAVG
|
||||
fi
|
||||
])
|
||||
gl_STDLIB_MODULE_INDICATOR([getloadavg])
|
||||
gl_FUNC_GETOPT_GNU
|
||||
dnl Because of the way gl_FUNC_GETOPT_GNU is implemented (the gl_getopt_required
|
||||
|
|
@ -364,26 +357,25 @@ AC_DEFUN([gl_INIT],
|
|||
gl_CONDITIONAL_HEADER([getopt.h])
|
||||
gl_CONDITIONAL_HEADER([getopt-cdefs.h])
|
||||
AC_PROG_MKDIR_P
|
||||
if test $REPLACE_GETOPT = 1; then
|
||||
AC_LIBOBJ([getopt])
|
||||
AC_LIBOBJ([getopt1])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_GETOPT], [test $REPLACE_GETOPT = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_GETOPT], [
|
||||
dnl Define the substituted variable GNULIB_UNISTD_H_GETOPT to 1.
|
||||
gl_UNISTD_H_REQUIRE_DEFAULTS
|
||||
gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_UNISTD_H_GETOPT], [1])
|
||||
fi
|
||||
])
|
||||
gl_UNISTD_MODULE_INDICATOR([getopt-posix])
|
||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||
gl_FUNC_GETRANDOM
|
||||
if test $HAVE_GETRANDOM = 0 || test $REPLACE_GETRANDOM = 1; then
|
||||
AC_LIBOBJ([getrandom])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_GETRANDOM],
|
||||
[test $HAVE_GETRANDOM = 0 || test $REPLACE_GETRANDOM = 1])
|
||||
gl_SYS_RANDOM_MODULE_INDICATOR([getrandom])
|
||||
gl_GETTIME
|
||||
gl_FUNC_GETTIMEOFDAY
|
||||
if test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1; then
|
||||
AC_LIBOBJ([gettimeofday])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_GETTIMEOFDAY],
|
||||
[test $HAVE_GETTIMEOFDAY = 0 || test $REPLACE_GETTIMEOFDAY = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_GETTIMEOFDAY], [
|
||||
gl_PREREQ_GETTIMEOFDAY
|
||||
fi
|
||||
])
|
||||
gl_SYS_TIME_MODULE_INDICATOR([gettimeofday])
|
||||
gl_IEEE754_H
|
||||
gl_CONDITIONAL_HEADER([ieee754.h])
|
||||
|
|
@ -396,17 +388,15 @@ AC_DEFUN([gl_INIT],
|
|||
gl_LIBGMP
|
||||
gl_CONDITIONAL_HEADER([gmp.h])
|
||||
AC_PROG_MKDIR_P
|
||||
if test $HAVE_LIBGMP != yes; then
|
||||
AC_LIBOBJ([mini-gmp-gnulib])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_MINI_GMP_GNULIB], [test $HAVE_LIBGMP != yes])
|
||||
gl_LIMITS_H
|
||||
gl_CONDITIONAL_HEADER([limits.h])
|
||||
AC_PROG_MKDIR_P
|
||||
gl_FUNC_LSTAT
|
||||
if test $REPLACE_LSTAT = 1; then
|
||||
AC_LIBOBJ([lstat])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_LSTAT], [test $REPLACE_LSTAT = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_LSTAT], [
|
||||
gl_PREREQ_LSTAT
|
||||
fi
|
||||
])
|
||||
gl_SYS_STAT_MODULE_INDICATOR([lstat])
|
||||
gl_FUNC_MEMMEM_SIMPLE
|
||||
if test $HAVE_MEMMEM = 0 || test $REPLACE_MEMMEM = 1; then
|
||||
|
|
@ -414,23 +404,23 @@ AC_DEFUN([gl_INIT],
|
|||
fi
|
||||
gl_STRING_MODULE_INDICATOR([memmem])
|
||||
gl_FUNC_MEMPCPY
|
||||
if test $HAVE_MEMPCPY = 0; then
|
||||
AC_LIBOBJ([mempcpy])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_MEMPCPY], [test $HAVE_MEMPCPY = 0])
|
||||
AM_COND_IF([GL_COND_OBJ_MEMPCPY], [
|
||||
gl_PREREQ_MEMPCPY
|
||||
fi
|
||||
])
|
||||
gl_STRING_MODULE_INDICATOR([mempcpy])
|
||||
gl_FUNC_MEMRCHR
|
||||
if test $ac_cv_func_memrchr = no; then
|
||||
AC_LIBOBJ([memrchr])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_MEMRCHR], [test $ac_cv_func_memrchr = no])
|
||||
AM_COND_IF([GL_COND_OBJ_MEMRCHR], [
|
||||
gl_PREREQ_MEMRCHR
|
||||
fi
|
||||
])
|
||||
gl_STRING_MODULE_INDICATOR([memrchr])
|
||||
gl_MINMAX
|
||||
gl_FUNC_MKOSTEMP
|
||||
if test $HAVE_MKOSTEMP = 0; then
|
||||
AC_LIBOBJ([mkostemp])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_MKOSTEMP], [test $HAVE_MKOSTEMP = 0])
|
||||
AM_COND_IF([GL_COND_OBJ_MKOSTEMP], [
|
||||
gl_PREREQ_MKOSTEMP
|
||||
fi
|
||||
])
|
||||
gl_MODULE_INDICATOR([mkostemp])
|
||||
gl_STDLIB_MODULE_INDICATOR([mkostemp])
|
||||
gl_FUNC_MKTIME
|
||||
|
|
@ -446,41 +436,39 @@ AC_DEFUN([gl_INIT],
|
|||
gl_FUNC_PIPE2
|
||||
gl_UNISTD_MODULE_INDICATOR([pipe2])
|
||||
gl_FUNC_PSELECT
|
||||
if test $HAVE_PSELECT = 0 || test $REPLACE_PSELECT = 1; then
|
||||
AC_LIBOBJ([pselect])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_PSELECT],
|
||||
[test $HAVE_PSELECT = 0 || test $REPLACE_PSELECT = 1])
|
||||
gl_SYS_SELECT_MODULE_INDICATOR([pselect])
|
||||
gl_FUNC_PTHREAD_SIGMASK
|
||||
if test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1; then
|
||||
AC_LIBOBJ([pthread_sigmask])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_PTHREAD_SIGMASK],
|
||||
[test $HAVE_PTHREAD_SIGMASK = 0 || test $REPLACE_PTHREAD_SIGMASK = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_PTHREAD_SIGMASK], [
|
||||
gl_PREREQ_PTHREAD_SIGMASK
|
||||
fi
|
||||
])
|
||||
gl_SIGNAL_MODULE_INDICATOR([pthread_sigmask])
|
||||
gl_FUNC_READLINK
|
||||
if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then
|
||||
AC_LIBOBJ([readlink])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_READLINK],
|
||||
[test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_READLINK], [
|
||||
gl_PREREQ_READLINK
|
||||
fi
|
||||
])
|
||||
gl_UNISTD_MODULE_INDICATOR([readlink])
|
||||
gl_FUNC_READLINKAT
|
||||
if test $HAVE_READLINKAT = 0 || test $REPLACE_READLINKAT = 1; then
|
||||
AC_LIBOBJ([readlinkat])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_READLINKAT],
|
||||
[test $HAVE_READLINKAT = 0 || test $REPLACE_READLINKAT = 1])
|
||||
gl_UNISTD_MODULE_INDICATOR([readlinkat])
|
||||
gl_REGEX
|
||||
if test $ac_use_included_regex = yes; then
|
||||
AC_LIBOBJ([regex])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_REGEX], [test $ac_use_included_regex = yes])
|
||||
AM_COND_IF([GL_COND_OBJ_REGEX], [
|
||||
gl_PREREQ_REGEX
|
||||
fi
|
||||
])
|
||||
gl_FUNC_SIG2STR
|
||||
if test $ac_cv_func_sig2str = no; then
|
||||
AC_LIBOBJ([sig2str])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_SIG2STR], [test $ac_cv_func_sig2str = no])
|
||||
AM_COND_IF([GL_COND_OBJ_SIG2STR], [
|
||||
gl_PREREQ_SIG2STR
|
||||
fi
|
||||
])
|
||||
gl_FUNC_SIGDESCR_NP
|
||||
if test $HAVE_SIGDESCR_NP = 0; then
|
||||
AC_LIBOBJ([sigdescr_np])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_SIGDESCR_NP], [test $HAVE_SIGDESCR_NP = 0])
|
||||
gl_STRING_MODULE_INDICATOR([sigdescr_np])
|
||||
gl_SIGNAL_H
|
||||
gl_SIGNAL_H_REQUIRE_DEFAULTS
|
||||
|
|
@ -504,6 +492,8 @@ AC_DEFUN([gl_INIT],
|
|||
gl_STDIO_H
|
||||
gl_STDIO_H_REQUIRE_DEFAULTS
|
||||
AC_PROG_MKDIR_P
|
||||
gl_CONDITIONAL([GL_COND_OBJ_STDIO_READ], [test $REPLACE_STDIO_READ_FUNCS = 1])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_STDIO_WRITE], [test $REPLACE_STDIO_WRITE_FUNCS = 1])
|
||||
dnl No need to create extra modules for these functions. Everyone who uses
|
||||
dnl <stdio.h> likely needs them.
|
||||
gl_STDIO_MODULE_INDICATOR([fscanf])
|
||||
|
|
@ -531,30 +521,31 @@ AC_DEFUN([gl_INIT],
|
|||
gl_STDLIB_H_REQUIRE_DEFAULTS
|
||||
AC_PROG_MKDIR_P
|
||||
gl_FUNC_STPCPY
|
||||
if test $HAVE_STPCPY = 0; then
|
||||
AC_LIBOBJ([stpcpy])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_STPCPY], [test $HAVE_STPCPY = 0])
|
||||
AM_COND_IF([GL_COND_OBJ_STPCPY], [
|
||||
gl_PREREQ_STPCPY
|
||||
fi
|
||||
])
|
||||
gl_STRING_MODULE_INDICATOR([stpcpy])
|
||||
gl_STRING_H
|
||||
gl_STRING_H_REQUIRE_DEFAULTS
|
||||
AC_PROG_MKDIR_P
|
||||
gl_FUNC_STRNLEN
|
||||
if test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1; then
|
||||
AC_LIBOBJ([strnlen])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_STRNLEN],
|
||||
[test $HAVE_DECL_STRNLEN = 0 || test $REPLACE_STRNLEN = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_STRNLEN], [
|
||||
gl_PREREQ_STRNLEN
|
||||
fi
|
||||
])
|
||||
gl_STRING_MODULE_INDICATOR([strnlen])
|
||||
gl_FUNC_STRTOIMAX
|
||||
if test $HAVE_DECL_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1; then
|
||||
AC_LIBOBJ([strtoimax])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_STRTOIMAX],
|
||||
[test $HAVE_DECL_STRTOIMAX = 0 || test $REPLACE_STRTOIMAX = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_STRTOIMAX], [
|
||||
gl_PREREQ_STRTOIMAX
|
||||
fi
|
||||
])
|
||||
gl_INTTYPES_MODULE_INDICATOR([strtoimax])
|
||||
gl_FUNC_SYMLINK
|
||||
if test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1; then
|
||||
AC_LIBOBJ([symlink])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_SYMLINK],
|
||||
[test $HAVE_SYMLINK = 0 || test $REPLACE_SYMLINK = 1])
|
||||
gl_UNISTD_MODULE_INDICATOR([symlink])
|
||||
gl_SYS_RANDOM_H
|
||||
gl_SYS_RANDOM_H_REQUIRE_DEFAULTS
|
||||
|
|
@ -577,21 +568,21 @@ AC_DEFUN([gl_INIT],
|
|||
gl_TIME_H_REQUIRE_DEFAULTS
|
||||
AC_PROG_MKDIR_P
|
||||
gl_TIME_R
|
||||
if test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1; then
|
||||
AC_LIBOBJ([time_r])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_TIME_R],
|
||||
[test $HAVE_LOCALTIME_R = 0 || test $REPLACE_LOCALTIME_R = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_TIME_R], [
|
||||
gl_PREREQ_TIME_R
|
||||
fi
|
||||
])
|
||||
gl_TIME_MODULE_INDICATOR([time_r])
|
||||
gl_TIME_RZ
|
||||
if test $HAVE_TIMEZONE_T = 0; then
|
||||
AC_LIBOBJ([time_rz])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_TIME_RZ], [test $HAVE_TIMEZONE_T = 0])
|
||||
gl_TIME_MODULE_INDICATOR([time_rz])
|
||||
gl_FUNC_TIMEGM
|
||||
if test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1; then
|
||||
AC_LIBOBJ([timegm])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_TIMEGM],
|
||||
[test $HAVE_TIMEGM = 0 || test $REPLACE_TIMEGM = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_TIMEGM], [
|
||||
gl_PREREQ_TIMEGM
|
||||
fi
|
||||
])
|
||||
gl_TIME_MODULE_INDICATOR([timegm])
|
||||
gl_TIMER_TIME
|
||||
gl_TIMESPEC
|
||||
|
|
@ -610,9 +601,8 @@ AC_DEFUN([gl_INIT],
|
|||
[An alias of GNULIB_STDIO_SINGLE_THREAD.])
|
||||
gl_FUNC_GLIBC_UNLOCKED_IO
|
||||
gl_FUNC_UTIMENSAT
|
||||
if test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1; then
|
||||
AC_LIBOBJ([utimensat])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_UTIMENSAT],
|
||||
[test $HAVE_UTIMENSAT = 0 || test $REPLACE_UTIMENSAT = 1])
|
||||
gl_SYS_STAT_MODULE_INDICATOR([utimensat])
|
||||
AC_C_VARARRAYS
|
||||
gl_gnulib_enabled_260941c0e5dc67ec9e87d1fb321c300b=false
|
||||
|
|
@ -660,11 +650,11 @@ AC_DEFUN([gl_INIT],
|
|||
{
|
||||
if ! $gl_gnulib_enabled_dirfd; then
|
||||
gl_FUNC_DIRFD
|
||||
if test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no \
|
||||
|| test $REPLACE_DIRFD = 1; then
|
||||
AC_LIBOBJ([dirfd])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_DIRFD],
|
||||
[test $ac_cv_func_dirfd = no && test $gl_cv_func_dirfd_macro = no || test $REPLACE_DIRFD = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_DIRFD], [
|
||||
gl_PREREQ_DIRFD
|
||||
fi
|
||||
])
|
||||
gl_DIRENT_MODULE_INDICATOR([dirfd])
|
||||
gl_gnulib_enabled_dirfd=true
|
||||
fi
|
||||
|
|
@ -686,10 +676,10 @@ AC_DEFUN([gl_INIT],
|
|||
{
|
||||
if ! $gl_gnulib_enabled_euidaccess; then
|
||||
gl_FUNC_EUIDACCESS
|
||||
if test $HAVE_EUIDACCESS = 0; then
|
||||
AC_LIBOBJ([euidaccess])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_EUIDACCESS], [test $HAVE_EUIDACCESS = 0])
|
||||
AM_COND_IF([GL_COND_OBJ_EUIDACCESS], [
|
||||
gl_PREREQ_EUIDACCESS
|
||||
fi
|
||||
])
|
||||
gl_UNISTD_MODULE_INDICATOR([euidaccess])
|
||||
gl_gnulib_enabled_euidaccess=true
|
||||
if test $HAVE_EUIDACCESS = 0; then
|
||||
|
|
@ -702,10 +692,11 @@ AC_DEFUN([gl_INIT],
|
|||
{
|
||||
if ! $gl_gnulib_enabled_getdtablesize; then
|
||||
gl_FUNC_GETDTABLESIZE
|
||||
if test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1; then
|
||||
AC_LIBOBJ([getdtablesize])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_GETDTABLESIZE],
|
||||
[test $HAVE_GETDTABLESIZE = 0 || test $REPLACE_GETDTABLESIZE = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_GETDTABLESIZE], [
|
||||
gl_PREREQ_GETDTABLESIZE
|
||||
fi
|
||||
])
|
||||
gl_UNISTD_MODULE_INDICATOR([getdtablesize])
|
||||
gl_gnulib_enabled_getdtablesize=true
|
||||
fi
|
||||
|
|
@ -714,9 +705,8 @@ AC_DEFUN([gl_INIT],
|
|||
{
|
||||
if ! $gl_gnulib_enabled_getgroups; then
|
||||
gl_FUNC_GETGROUPS
|
||||
if test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1; then
|
||||
AC_LIBOBJ([getgroups])
|
||||
fi
|
||||
gl_CONDITIONAL([GL_COND_OBJ_GETGROUPS],
|
||||
[test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1])
|
||||
gl_UNISTD_MODULE_INDICATOR([getgroups])
|
||||
gl_gnulib_enabled_getgroups=true
|
||||
if test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1; then
|
||||
|
|
@ -736,10 +726,10 @@ AC_DEFUN([gl_INIT],
|
|||
{
|
||||
if ! $gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1; then
|
||||
gl_FUNC_GROUP_MEMBER
|
||||
if test $HAVE_GROUP_MEMBER = 0; then
|
||||
AC_LIBOBJ([group-member])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_GROUP_MEMBER], [test $HAVE_GROUP_MEMBER = 0])
|
||||
AM_COND_IF([GL_COND_OBJ_GROUP_MEMBER], [
|
||||
gl_PREREQ_GROUP_MEMBER
|
||||
fi
|
||||
])
|
||||
gl_UNISTD_MODULE_INDICATOR([group-member])
|
||||
gl_gnulib_enabled_a9786850e999ae65a836a6041e8e5ed1=true
|
||||
if test $HAVE_GROUP_MEMBER = 0; then
|
||||
|
|
@ -754,10 +744,10 @@ AC_DEFUN([gl_INIT],
|
|||
{
|
||||
if ! $gl_gnulib_enabled_lchmod; then
|
||||
gl_FUNC_LCHMOD
|
||||
if test $HAVE_LCHMOD = 0; then
|
||||
AC_LIBOBJ([lchmod])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_LCHMOD], [test $HAVE_LCHMOD = 0])
|
||||
AM_COND_IF([GL_COND_OBJ_LCHMOD], [
|
||||
gl_PREREQ_LCHMOD
|
||||
fi
|
||||
])
|
||||
gl_SYS_STAT_MODULE_INDICATOR([lchmod])
|
||||
gl_gnulib_enabled_lchmod=true
|
||||
fi
|
||||
|
|
@ -806,10 +796,10 @@ AC_DEFUN([gl_INIT],
|
|||
{
|
||||
if ! $gl_gnulib_enabled_open; then
|
||||
gl_FUNC_OPEN
|
||||
if test $REPLACE_OPEN = 1; then
|
||||
AC_LIBOBJ([open])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_OPEN], [test $REPLACE_OPEN = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_OPEN], [
|
||||
gl_PREREQ_OPEN
|
||||
fi
|
||||
])
|
||||
gl_FCNTL_MODULE_INDICATOR([open])
|
||||
gl_gnulib_enabled_open=true
|
||||
if test $REPLACE_OPEN = 1; then
|
||||
|
|
@ -827,10 +817,10 @@ AC_DEFUN([gl_INIT],
|
|||
{
|
||||
if ! $gl_gnulib_enabled_rawmemchr; then
|
||||
gl_FUNC_RAWMEMCHR
|
||||
if test $HAVE_RAWMEMCHR = 0; then
|
||||
AC_LIBOBJ([rawmemchr])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_RAWMEMCHR], [test $HAVE_RAWMEMCHR = 0])
|
||||
AM_COND_IF([GL_COND_OBJ_RAWMEMCHR], [
|
||||
gl_PREREQ_RAWMEMCHR
|
||||
fi
|
||||
])
|
||||
gl_STRING_MODULE_INDICATOR([rawmemchr])
|
||||
gl_gnulib_enabled_rawmemchr=true
|
||||
fi
|
||||
|
|
@ -889,10 +879,11 @@ AC_DEFUN([gl_INIT],
|
|||
{
|
||||
if ! $gl_gnulib_enabled_strtoll; then
|
||||
gl_FUNC_STRTOLL
|
||||
if test $HAVE_STRTOLL = 0 || test $REPLACE_STRTOLL = 1; then
|
||||
AC_LIBOBJ([strtoll])
|
||||
gl_CONDITIONAL([GL_COND_OBJ_STRTOLL],
|
||||
[test $HAVE_STRTOLL = 0 || test $REPLACE_STRTOLL = 1])
|
||||
AM_COND_IF([GL_COND_OBJ_STRTOLL], [
|
||||
gl_PREREQ_STRTOLL
|
||||
fi
|
||||
])
|
||||
gl_STDLIB_MODULE_INDICATOR([strtoll])
|
||||
gl_gnulib_enabled_strtoll=true
|
||||
fi
|
||||
|
|
@ -1035,16 +1026,28 @@ AC_DEFUN([gl_INIT],
|
|||
AC_CONFIG_COMMANDS_PRE([
|
||||
gl_libobjs=
|
||||
gl_ltlibobjs=
|
||||
gl_libobjdeps=
|
||||
if test -n "$gl_LIBOBJS"; then
|
||||
# Remove the extension.
|
||||
changequote(,)dnl
|
||||
sed_drop_objext='s/\.o$//;s/\.obj$//'
|
||||
sed_dirname1='s,//*,/,g'
|
||||
sed_dirname2='s,\(.\)/$,\1,'
|
||||
sed_dirname3='s,^[^/]*$,.,'
|
||||
sed_dirname4='s,\(.\)/[^/]*$,\1,'
|
||||
sed_basename1='s,.*/,,'
|
||||
changequote([, ])dnl
|
||||
for i in `for i in $gl_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
|
||||
gl_libobjs="$gl_libobjs $i.$ac_objext"
|
||||
gl_ltlibobjs="$gl_ltlibobjs $i.lo"
|
||||
i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"`
|
||||
i_base=`echo "$i" | sed -e "$sed_basename1"`
|
||||
gl_libobjdeps="$gl_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Po"
|
||||
done
|
||||
fi
|
||||
AC_SUBST([gl_LIBOBJS], [$gl_libobjs])
|
||||
AC_SUBST([gl_LTLIBOBJS], [$gl_ltlibobjs])
|
||||
AC_SUBST([gl_LIBOBJDEPS], [$gl_libobjdeps])
|
||||
])
|
||||
gltests_libdeps=
|
||||
gltests_ltlibdeps=
|
||||
|
|
@ -1087,17 +1090,30 @@ changequote([, ])dnl
|
|||
AC_CONFIG_COMMANDS_PRE([
|
||||
gltests_libobjs=
|
||||
gltests_ltlibobjs=
|
||||
gltests_libobjdeps=
|
||||
if test -n "$gltests_LIBOBJS"; then
|
||||
# Remove the extension.
|
||||
changequote(,)dnl
|
||||
sed_drop_objext='s/\.o$//;s/\.obj$//'
|
||||
sed_dirname1='s,//*,/,g'
|
||||
sed_dirname2='s,\(.\)/$,\1,'
|
||||
sed_dirname3='s,^[^/]*$,.,'
|
||||
sed_dirname4='s,\(.\)/[^/]*$,\1,'
|
||||
sed_basename1='s,.*/,,'
|
||||
changequote([, ])dnl
|
||||
for i in `for i in $gltests_LIBOBJS; do echo "$i"; done | sed -e "$sed_drop_objext" | sort | uniq`; do
|
||||
gltests_libobjs="$gltests_libobjs $i.$ac_objext"
|
||||
gltests_ltlibobjs="$gltests_ltlibobjs $i.lo"
|
||||
i_dir=`echo "$i" | sed -e "$sed_dirname1" -e "$sed_dirname2" -e "$sed_dirname3" -e "$sed_dirname4"`
|
||||
i_base=`echo "$i" | sed -e "$sed_basename1"`
|
||||
gltests_libobjdeps="$gltests_libobjdeps $i_dir/\$(DEPDIR)/$i_base.Po"
|
||||
done
|
||||
fi
|
||||
AC_SUBST([gltests_LIBOBJS], [$gltests_libobjs])
|
||||
AC_SUBST([gltests_LTLIBOBJS], [$gltests_ltlibobjs])
|
||||
AC_SUBST([gltests_LIBOBJDEPS], [$gltests_libobjdeps])
|
||||
])
|
||||
AC_REQUIRE([gl_CC_GNULIB_WARNINGS])
|
||||
LIBGNU_LIBDEPS="$gl_libdeps"
|
||||
AC_SUBST([LIBGNU_LIBDEPS])
|
||||
LIBGNU_LTLIBDEPS="$gl_ltlibdeps"
|
||||
|
|
@ -1330,6 +1346,8 @@ AC_DEFUN([gl_FILE_LIST], [
|
|||
lib/stddef.in.h
|
||||
lib/stdint.in.h
|
||||
lib/stdio-impl.h
|
||||
lib/stdio-read.c
|
||||
lib/stdio-write.c
|
||||
lib/stdio.in.h
|
||||
lib/stdlib.in.h
|
||||
lib/stpcpy.c
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# libgmp.m4 serial 6
|
||||
# libgmp.m4 serial 7
|
||||
# Configure the GMP library or a replacement.
|
||||
dnl Copyright 2020-2022 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
|
|
@ -63,8 +63,8 @@ AC_DEFUN([gl_LIBGMP],
|
|||
else
|
||||
GL_GENERATE_GMP_H=true
|
||||
fi
|
||||
AM_CONDITIONAL([GL_GENERATE_MINI_GMP_H],
|
||||
gl_CONDITIONAL([GL_GENERATE_MINI_GMP_H],
|
||||
[test $HAVE_LIBGMP != yes])
|
||||
AM_CONDITIONAL([GL_GENERATE_GMP_GMP_H],
|
||||
gl_CONDITIONAL([GL_GENERATE_GMP_GMP_H],
|
||||
[test $HAVE_LIBGMP = yes && test "$ac_cv_header_gmp_h" != yes])
|
||||
])
|
||||
|
|
|
|||
29
m4/mktime.m4
29
m4/mktime.m4
|
|
@ -1,4 +1,4 @@
|
|||
# serial 36
|
||||
# serial 37
|
||||
dnl Copyright (C) 2002-2003, 2005-2007, 2009-2022 Free Software Foundation,
|
||||
dnl Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
|
|
@ -82,7 +82,8 @@ spring_forward_gap ()
|
|||
instead of "TZ=America/Vancouver" in order to detect the bug even
|
||||
on systems that don't support the Olson extension, or don't have the
|
||||
full zoneinfo tables installed. */
|
||||
putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
|
||||
if (putenv ("TZ=PST8PDT,M4.1.0,M10.5.0") != 0)
|
||||
return -1;
|
||||
|
||||
tm.tm_year = 98;
|
||||
tm.tm_mon = 3;
|
||||
|
|
@ -170,7 +171,8 @@ year_2050_test ()
|
|||
instead of "TZ=America/Vancouver" in order to detect the bug even
|
||||
on systems that don't support the Olson extension, or don't have the
|
||||
full zoneinfo tables installed. */
|
||||
putenv ("TZ=PST8PDT,M4.1.0,M10.5.0");
|
||||
if (putenv ("TZ=PST8PDT,M4.1.0,M10.5.0") != 0)
|
||||
return -1;
|
||||
|
||||
t = mktime (&tm);
|
||||
|
||||
|
|
@ -181,6 +183,25 @@ year_2050_test ()
|
|||
|| (0 < t && answer - 120 <= t && t <= answer + 120));
|
||||
}
|
||||
|
||||
static int
|
||||
indiana_test ()
|
||||
{
|
||||
if (putenv ("TZ=America/Indiana/Indianapolis") != 0)
|
||||
return -1;
|
||||
struct tm tm;
|
||||
tm.tm_year = 1986 - 1900; tm.tm_mon = 4 - 1; tm.tm_mday = 28;
|
||||
tm.tm_hour = 16; tm.tm_min = 24; tm.tm_sec = 50; tm.tm_isdst = 0;
|
||||
time_t std = mktime (&tm);
|
||||
if (! (std == 515107490 || std == 515107503))
|
||||
return 1;
|
||||
|
||||
/* This platform supports TZDB, either without or with leap seconds.
|
||||
Return true if GNU Bug#48085 is absent. */
|
||||
tm.tm_isdst = 1;
|
||||
time_t dst = mktime (&tm);
|
||||
return std - dst == 60 * 60;
|
||||
}
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
|
|
@ -236,7 +257,7 @@ main ()
|
|||
result |= 16;
|
||||
if (! spring_forward_gap ())
|
||||
result |= 32;
|
||||
if (! year_2050_test ())
|
||||
if (! year_2050_test () || ! indiana_test ())
|
||||
result |= 64;
|
||||
return result;
|
||||
}]])],
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# stdio_h.m4 serial 57
|
||||
# stdio_h.m4 serial 59
|
||||
dnl Copyright (C) 2007-2022 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
|
@ -40,41 +40,32 @@ AC_DEFUN_ONCE([gl_STDIO_H],
|
|||
attribute "__gnu_printf__" instead of "__printf__"])
|
||||
fi
|
||||
|
||||
dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
|
||||
dnl "expected source file, required through AC_LIBSOURCES, not found". It is
|
||||
dnl also an optimization, to avoid performing a configure check whose result
|
||||
dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
|
||||
dnl or GNULIB_NONBLOCKING redundant.
|
||||
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.
|
||||
m4_ifdef([gl_NONBLOCKING_IO], [
|
||||
gl_NONBLOCKING_IO
|
||||
if test $gl_cv_have_nonblocking != yes; then
|
||||
REPLACE_STDIO_READ_FUNCS=1
|
||||
AC_LIBOBJ([stdio-read])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
|
||||
dnl "expected source file, required through AC_LIBSOURCES, not found". It is
|
||||
dnl also an optimization, to avoid performing a configure check whose result
|
||||
dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or
|
||||
dnl GNULIB_SIGPIPE redundant.
|
||||
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_SIGPIPE or GNULIB_SIGPIPE redundant.
|
||||
m4_ifdef([gl_SIGNAL_SIGPIPE], [
|
||||
gl_SIGNAL_SIGPIPE
|
||||
if test $gl_cv_header_signal_h_SIGPIPE != yes; then
|
||||
REPLACE_STDIO_WRITE_FUNCS=1
|
||||
AC_LIBOBJ([stdio-write])
|
||||
fi
|
||||
])
|
||||
dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
|
||||
dnl "expected source file, required through AC_LIBSOURCES, not found". It is
|
||||
dnl also an optimization, to avoid performing a configure check whose result
|
||||
dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
|
||||
dnl or GNULIB_NONBLOCKING redundant.
|
||||
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.
|
||||
m4_ifdef([gl_NONBLOCKING_IO], [
|
||||
gl_NONBLOCKING_IO
|
||||
if test $gl_cv_have_nonblocking != yes; then
|
||||
REPLACE_STDIO_WRITE_FUNCS=1
|
||||
AC_LIBOBJ([stdio-write])
|
||||
fi
|
||||
])
|
||||
|
||||
|
|
|
|||
|
|
@ -222,6 +222,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS],
|
|||
REPLACE_ACCESS=0; AC_SUBST([REPLACE_ACCESS])
|
||||
REPLACE_CHOWN=0; AC_SUBST([REPLACE_CHOWN])
|
||||
REPLACE_CLOSE=0; AC_SUBST([REPLACE_CLOSE])
|
||||
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_EXECL=0; AC_SUBST([REPLACE_EXECL])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue