mirror of
https://git.zap.org.au/git/trader.git
synced 2025-02-02 15:08:13 -05:00
Update all auto-generated files
These files have been created by running ./build-aux/bootstrap with Gnulib as at commit b3b1e95ca1de55cef8fa04b165c48b2178bb545d (with a date stamp of Mon Nov 11 13:04:02 2019 -0800), Autoconf 2.69, Automake 1.16.1, Gettext 0.19.8.1 and pkg-config 0.29.
This commit is contained in:
parent
8a1d36e128
commit
91538aac7f
110
Makefile.in
110
Makefile.in
@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -17,12 +17,12 @@
|
||||
#########################################################################
|
||||
# #
|
||||
# Star Traders: A Game of Interstellar Trading #
|
||||
# Copyright (C) 1990-2017, John Zaitseff #
|
||||
# Copyright (C) 1990-2019, John Zaitseff #
|
||||
# #
|
||||
#########################################################################
|
||||
|
||||
# Author: John Zaitseff <J.Zaitseff@zap.org.au>
|
||||
# $Id: b00291c0fcd9d6b5823eea1ae09772f653b1928c $
|
||||
# $Id: 1ef870decc2757ddbeeb382f058d1551fc8402b3 $
|
||||
#
|
||||
# This file, Makefile.am, contains the top-level Makefile for Star
|
||||
# Traders. It needs to be processed by automake to produce the
|
||||
@ -40,7 +40,7 @@
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
# along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
@ -100,6 +100,7 @@ am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
@ -118,19 +119,19 @@ subdir = .
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
|
||||
$(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/assert.m4 \
|
||||
$(top_srcdir)/m4/ax_append_flag.m4 \
|
||||
$(top_srcdir)/m4/ax_c___attribute__.m4 \
|
||||
$(top_srcdir)/m4/ax_cflags_warn_all.m4 \
|
||||
$(top_srcdir)/m4/ax_compiler_vendor.m4 \
|
||||
$(top_srcdir)/m4/ax_prepend_flag.m4 \
|
||||
$(top_srcdir)/m4/ax_require_defined.m4 \
|
||||
$(top_srcdir)/m4/ax_with_curses.m4 $(top_srcdir)/m4/btowc.m4 \
|
||||
$(top_srcdir)/m4/builtin-expect.m4 $(top_srcdir)/m4/codeset.m4 \
|
||||
$(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
|
||||
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
|
||||
$(top_srcdir)/m4/extensions.m4 \
|
||||
$(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
|
||||
$(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettimeofday.m4 \
|
||||
$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
|
||||
$(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/getopt.m4 \
|
||||
$(top_srcdir)/m4/gettimeofday.m4 \
|
||||
$(top_srcdir)/m4/gnulib-common.m4 \
|
||||
$(top_srcdir)/m4/gnulib-comp.m4 \
|
||||
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \
|
||||
$(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
|
||||
$(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \
|
||||
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
|
||||
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
||||
@ -139,25 +140,27 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
|
||||
$(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
|
||||
$(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
|
||||
$(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
|
||||
$(top_srcdir)/m4/localtime-buffer.m4 \
|
||||
$(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
|
||||
$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mbrtowc.m4 \
|
||||
$(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
|
||||
$(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
|
||||
$(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mmap-anon.m4 \
|
||||
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nocrash.m4 \
|
||||
$(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/ssize_t.m4 \
|
||||
$(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
|
||||
$(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
|
||||
$(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/string_h.m4 \
|
||||
$(top_srcdir)/m4/strstr.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
|
||||
$(top_srcdir)/m4/monetary_h.m4 $(top_srcdir)/m4/multiarch.m4 \
|
||||
$(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \
|
||||
$(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
|
||||
$(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
|
||||
$(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
|
||||
$(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
|
||||
$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
|
||||
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
|
||||
$(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/time_h.m4 \
|
||||
$(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/warn-on-use.m4 \
|
||||
$(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
|
||||
$(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wcsdup.m4 \
|
||||
$(top_srcdir)/m4/wctob.m4 $(top_srcdir)/m4/wctomb.m4 \
|
||||
$(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \
|
||||
$(top_srcdir)/m4/wmemcpy.m4 $(top_srcdir)/configure.ac
|
||||
$(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/threadlib.m4 \
|
||||
$(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
|
||||
$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wchar_h.m4 \
|
||||
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \
|
||||
$(top_srcdir)/m4/wcsdup.m4 $(top_srcdir)/m4/wctob.m4 \
|
||||
$(top_srcdir)/m4/wctomb.m4 $(top_srcdir)/m4/wctype_h.m4 \
|
||||
$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/wmemcpy.m4 \
|
||||
$(top_srcdir)/m4/xopen-source.m4 $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
|
||||
@ -202,7 +205,7 @@ am__recursive_targets = \
|
||||
$(RECURSIVE_CLEAN_TARGETS) \
|
||||
$(am__extra_recursive_targets)
|
||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||
cscope distdir dist dist-all distcheck
|
||||
cscope distdir distdir-am dist dist-all distcheck
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
||||
$(LISP)config.h.in
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
@ -233,7 +236,7 @@ am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||
$(top_srcdir)/build-aux/install-sh \
|
||||
$(top_srcdir)/build-aux/missing COPYING INSTALL NEWS README \
|
||||
build-aux/README build-aux/compile build-aux/config.guess \
|
||||
build-aux/config.rpath build-aux/config.sub build-aux/depcomp \
|
||||
build-aux/config.rpath build-aux/config.sub \
|
||||
build-aux/install-sh build-aux/missing
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
@ -277,7 +280,6 @@ distuninstallcheck_listfiles = find . -type f -print
|
||||
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
|
||||
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
pkglibexecdir = @pkglibexecdir@
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
@ -311,9 +313,9 @@ EXEEXT = @EXEEXT@
|
||||
GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
|
||||
GETOPT_H = @GETOPT_H@
|
||||
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GMSGFMT_015 = @GMSGFMT_015@
|
||||
GNULIB_ACCESS = @GNULIB_ACCESS@
|
||||
GNULIB_ATOLL = @GNULIB_ATOLL@
|
||||
GNULIB_BTOWC = @GNULIB_BTOWC@
|
||||
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
|
||||
@ -321,6 +323,7 @@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
|
||||
GNULIB_CHDIR = @GNULIB_CHDIR@
|
||||
GNULIB_CHOWN = @GNULIB_CHOWN@
|
||||
GNULIB_CLOSE = @GNULIB_CLOSE@
|
||||
GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
|
||||
GNULIB_CTIME = @GNULIB_CTIME@
|
||||
GNULIB_DPRINTF = @GNULIB_DPRINTF@
|
||||
GNULIB_DUP = @GNULIB_DUP@
|
||||
@ -374,6 +377,7 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
|
||||
GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
|
||||
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
|
||||
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
|
||||
GNULIB_GETPASS = @GNULIB_GETPASS@
|
||||
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
|
||||
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
|
||||
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
|
||||
@ -389,6 +393,7 @@ GNULIB_LCHOWN = @GNULIB_LCHOWN@
|
||||
GNULIB_LINK = @GNULIB_LINK@
|
||||
GNULIB_LINKAT = @GNULIB_LINKAT@
|
||||
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
|
||||
GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
|
||||
GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
|
||||
GNULIB_LSEEK = @GNULIB_LSEEK@
|
||||
GNULIB_LSTAT = @GNULIB_LSTAT@
|
||||
@ -482,6 +487,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
|
||||
GNULIB_STRDUP = @GNULIB_STRDUP@
|
||||
GNULIB_STRERROR = @GNULIB_STRERROR@
|
||||
GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
|
||||
GNULIB_STRFMON_L = @GNULIB_STRFMON_L@
|
||||
GNULIB_STRFTIME = @GNULIB_STRFTIME@
|
||||
GNULIB_STRNCAT = @GNULIB_STRNCAT@
|
||||
GNULIB_STRNDUP = @GNULIB_STRNDUP@
|
||||
@ -493,6 +499,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
|
||||
GNULIB_STRSTR = @GNULIB_STRSTR@
|
||||
GNULIB_STRTOD = @GNULIB_STRTOD@
|
||||
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
|
||||
GNULIB_STRTOLD = @GNULIB_STRTOLD@
|
||||
GNULIB_STRTOLL = @GNULIB_STRTOLL@
|
||||
GNULIB_STRTOULL = @GNULIB_STRTOULL@
|
||||
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
|
||||
@ -570,6 +577,7 @@ HAVE_BTOWC = @HAVE_BTOWC@
|
||||
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
|
||||
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
|
||||
HAVE_CHOWN = @HAVE_CHOWN@
|
||||
HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
|
||||
HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
|
||||
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
|
||||
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
|
||||
@ -600,6 +608,7 @@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
|
||||
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
|
||||
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
|
||||
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
|
||||
HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
|
||||
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
|
||||
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
|
||||
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
|
||||
@ -619,6 +628,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
|
||||
HAVE_FEATURES_H = @HAVE_FEATURES_H@
|
||||
HAVE_FFSL = @HAVE_FFSL@
|
||||
HAVE_FFSLL = @HAVE_FFSLL@
|
||||
HAVE_FREELOCALE = @HAVE_FREELOCALE@
|
||||
HAVE_FSEEKO = @HAVE_FSEEKO@
|
||||
HAVE_FSTATAT = @HAVE_FSTATAT@
|
||||
HAVE_FSYNC = @HAVE_FSYNC@
|
||||
@ -631,10 +641,12 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
|
||||
HAVE_GETLOGIN = @HAVE_GETLOGIN@
|
||||
HAVE_GETOPT_H = @HAVE_GETOPT_H@
|
||||
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
|
||||
HAVE_GETPASS = @HAVE_GETPASS@
|
||||
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
|
||||
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
|
||||
HAVE_GRANTPT = @HAVE_GRANTPT@
|
||||
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
|
||||
HAVE_INITSTATE = @HAVE_INITSTATE@
|
||||
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
|
||||
HAVE_ISWBLANK = @HAVE_ISWBLANK@
|
||||
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
|
||||
@ -651,6 +663,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@
|
||||
HAVE_MBSLEN = @HAVE_MBSLEN@
|
||||
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
|
||||
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
|
||||
HAVE_MBTOWC = @HAVE_MBTOWC@
|
||||
HAVE_MEMCHR = @HAVE_MEMCHR@
|
||||
HAVE_MEMPCPY = @HAVE_MEMPCPY@
|
||||
HAVE_MKDIRAT = @HAVE_MKDIRAT@
|
||||
@ -663,7 +676,9 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
|
||||
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
|
||||
HAVE_MKSTEMP = @HAVE_MKSTEMP@
|
||||
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
|
||||
HAVE_MONETARY_H = @HAVE_MONETARY_H@
|
||||
HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
|
||||
HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
|
||||
HAVE_OS_H = @HAVE_OS_H@
|
||||
HAVE_PCLOSE = @HAVE_PCLOSE@
|
||||
HAVE_PIPE = @HAVE_PIPE@
|
||||
@ -688,6 +703,7 @@ HAVE_RPMATCH = @HAVE_RPMATCH@
|
||||
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
|
||||
HAVE_SETENV = @HAVE_SETENV@
|
||||
HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
|
||||
HAVE_SETSTATE = @HAVE_SETSTATE@
|
||||
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
|
||||
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
|
||||
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
|
||||
@ -697,10 +713,12 @@ HAVE_STPCPY = @HAVE_STPCPY@
|
||||
HAVE_STPNCPY = @HAVE_STPNCPY@
|
||||
HAVE_STRCASESTR = @HAVE_STRCASESTR@
|
||||
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
|
||||
HAVE_STRFMON_L = @HAVE_STRFMON_L@
|
||||
HAVE_STRPBRK = @HAVE_STRPBRK@
|
||||
HAVE_STRPTIME = @HAVE_STRPTIME@
|
||||
HAVE_STRSEP = @HAVE_STRSEP@
|
||||
HAVE_STRTOD = @HAVE_STRTOD@
|
||||
HAVE_STRTOLD = @HAVE_STRTOLD@
|
||||
HAVE_STRTOLL = @HAVE_STRTOLL@
|
||||
HAVE_STRTOULL = @HAVE_STRTOULL@
|
||||
HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
|
||||
@ -717,7 +735,6 @@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
|
||||
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
|
||||
HAVE_TIMEGM = @HAVE_TIMEGM@
|
||||
HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
|
||||
HAVE_TRUNCATE = @HAVE_TRUNCATE@
|
||||
HAVE_TZSET = @HAVE_TZSET@
|
||||
HAVE_UNISTD_H = @HAVE_UNISTD_H@
|
||||
HAVE_UNLINKAT = @HAVE_UNLINKAT@
|
||||
@ -785,8 +802,10 @@ LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@
|
||||
LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBINTL = @LIBINTL@
|
||||
LIBMULTITHREAD = @LIBMULTITHREAD@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTHREAD = @LIBTHREAD@
|
||||
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
|
||||
LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
|
||||
LIMITS_H = @LIMITS_H@
|
||||
@ -797,10 +816,13 @@ LOCALE_JA = @LOCALE_JA@
|
||||
LOCALE_ZH_CN = @LOCALE_ZH_CN@
|
||||
LTLIBICONV = @LTLIBICONV@
|
||||
LTLIBINTL = @LTLIBINTL@
|
||||
LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LTLIBTHREAD = @LTLIBTHREAD@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MONETARY_H = @MONETARY_H@
|
||||
MSGFMT = @MSGFMT@
|
||||
MSGFMT_015 = @MSGFMT_015@
|
||||
MSGMERGE = @MSGMERGE@
|
||||
@ -808,6 +830,7 @@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_MONETARY_H = @NEXT_AS_FIRST_DIRECTIVE_MONETARY_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
|
||||
@ -824,6 +847,7 @@ NEXT_GETOPT_H = @NEXT_GETOPT_H@
|
||||
NEXT_ICONV_H = @NEXT_ICONV_H@
|
||||
NEXT_LIMITS_H = @NEXT_LIMITS_H@
|
||||
NEXT_LOCALE_H = @NEXT_LOCALE_H@
|
||||
NEXT_MONETARY_H = @NEXT_MONETARY_H@
|
||||
NEXT_STDDEF_H = @NEXT_STDDEF_H@
|
||||
NEXT_STDINT_H = @NEXT_STDINT_H@
|
||||
NEXT_STDIO_H = @NEXT_STDIO_H@
|
||||
@ -854,6 +878,7 @@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
|
||||
PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
|
||||
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
|
||||
RANLIB = @RANLIB@
|
||||
REPLACE_ACCESS = @REPLACE_ACCESS@
|
||||
REPLACE_BTOWC = @REPLACE_BTOWC@
|
||||
REPLACE_CALLOC = @REPLACE_CALLOC@
|
||||
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
|
||||
@ -864,6 +889,7 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
|
||||
REPLACE_DUP = @REPLACE_DUP@
|
||||
REPLACE_DUP2 = @REPLACE_DUP2@
|
||||
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
|
||||
REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
|
||||
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
|
||||
REPLACE_FCLOSE = @REPLACE_FCLOSE@
|
||||
REPLACE_FDOPEN = @REPLACE_FDOPEN@
|
||||
@ -871,6 +897,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
|
||||
REPLACE_FOPEN = @REPLACE_FOPEN@
|
||||
REPLACE_FPRINTF = @REPLACE_FPRINTF@
|
||||
REPLACE_FPURGE = @REPLACE_FPURGE@
|
||||
REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
|
||||
REPLACE_FREOPEN = @REPLACE_FREOPEN@
|
||||
REPLACE_FSEEK = @REPLACE_FSEEK@
|
||||
REPLACE_FSEEKO = @REPLACE_FSEEKO@
|
||||
@ -888,11 +915,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
|
||||
REPLACE_GETLINE = @REPLACE_GETLINE@
|
||||
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
|
||||
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
|
||||
REPLACE_GETPASS = @REPLACE_GETPASS@
|
||||
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
|
||||
REPLACE_GMTIME = @REPLACE_GMTIME@
|
||||
REPLACE_ICONV = @REPLACE_ICONV@
|
||||
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
|
||||
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
|
||||
REPLACE_INITSTATE = @REPLACE_INITSTATE@
|
||||
REPLACE_ISATTY = @REPLACE_ISATTY@
|
||||
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
|
||||
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
|
||||
@ -920,6 +949,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
|
||||
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
|
||||
REPLACE_MKTIME = @REPLACE_MKTIME@
|
||||
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
|
||||
REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
|
||||
REPLACE_NULL = @REPLACE_NULL@
|
||||
REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
|
||||
REPLACE_PERROR = @REPLACE_PERROR@
|
||||
@ -931,6 +961,7 @@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
|
||||
REPLACE_PUTENV = @REPLACE_PUTENV@
|
||||
REPLACE_PWRITE = @REPLACE_PWRITE@
|
||||
REPLACE_QSORT_R = @REPLACE_QSORT_R@
|
||||
REPLACE_RANDOM = @REPLACE_RANDOM@
|
||||
REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
|
||||
REPLACE_READ = @REPLACE_READ@
|
||||
REPLACE_READLINK = @REPLACE_READLINK@
|
||||
@ -943,6 +974,7 @@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
|
||||
REPLACE_RMDIR = @REPLACE_RMDIR@
|
||||
REPLACE_SETENV = @REPLACE_SETENV@
|
||||
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
|
||||
REPLACE_SETSTATE = @REPLACE_SETSTATE@
|
||||
REPLACE_SLEEP = @REPLACE_SLEEP@
|
||||
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
|
||||
REPLACE_SPRINTF = @REPLACE_SPRINTF@
|
||||
@ -955,6 +987,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
|
||||
REPLACE_STRDUP = @REPLACE_STRDUP@
|
||||
REPLACE_STRERROR = @REPLACE_STRERROR@
|
||||
REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
|
||||
REPLACE_STRFMON_L = @REPLACE_STRFMON_L@
|
||||
REPLACE_STRFTIME = @REPLACE_STRFTIME@
|
||||
REPLACE_STRNCAT = @REPLACE_STRNCAT@
|
||||
REPLACE_STRNDUP = @REPLACE_STRNDUP@
|
||||
@ -963,6 +996,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
|
||||
REPLACE_STRSTR = @REPLACE_STRSTR@
|
||||
REPLACE_STRTOD = @REPLACE_STRTOD@
|
||||
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
|
||||
REPLACE_STRTOLD = @REPLACE_STRTOLD@
|
||||
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
|
||||
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
|
||||
REPLACE_SYMLINK = @REPLACE_SYMLINK@
|
||||
@ -1059,7 +1093,6 @@ infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
lispdir = @lispdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
@ -1085,7 +1118,9 @@ SUBDIRS = lib src po data doc m4
|
||||
# Additional files to distribute
|
||||
EXTRA_DIST = \
|
||||
build-aux/bootstrap \
|
||||
build-aux/msgfmt-desktop
|
||||
build-aux/msgfmt-desktop \
|
||||
lib/obsolete-strings.c \
|
||||
lib/xopen-source.h
|
||||
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-recursive
|
||||
@ -1112,8 +1147,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
@ -1246,7 +1281,10 @@ distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
distdir-am: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
|
204
aclocal.m4
vendored
204
aclocal.m4
vendored
@ -1,6 +1,6 @@
|
||||
# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
|
||||
# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -1353,7 +1353,7 @@ fi
|
||||
AC_SUBST([$1])dnl
|
||||
])
|
||||
|
||||
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -1365,10 +1365,10 @@ AC_SUBST([$1])dnl
|
||||
# generated from the m4 files accompanying Automake X.Y.
|
||||
# (This private macro should not be called outside this file.)
|
||||
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||
[am__api_version='1.15'
|
||||
[am__api_version='1.16'
|
||||
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
||||
dnl require some minimum version. Point them to the right macro.
|
||||
m4_if([$1], [1.15.1], [],
|
||||
m4_if([$1], [1.16.1], [],
|
||||
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||
])
|
||||
|
||||
@ -1384,14 +1384,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
||||
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||
[AM_AUTOMAKE_VERSION([1.15.1])dnl
|
||||
[AM_AUTOMAKE_VERSION([1.16.1])dnl
|
||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||
|
||||
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -1443,7 +1443,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
|
||||
|
||||
# AM_CONDITIONAL -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -1474,7 +1474,7 @@ AC_CONFIG_COMMANDS_PRE(
|
||||
Usually this means the macro was only invoked conditionally.]])
|
||||
fi])])
|
||||
|
||||
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -1665,13 +1665,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
|
||||
|
||||
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
|
||||
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||
# ------------------------------
|
||||
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
@ -1679,49 +1678,41 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
# Older Autoconf quotes --file arguments for eval, but not when files
|
||||
# are listed without --file. Let's play safe and only enable the eval
|
||||
# if we detect the quoting.
|
||||
case $CONFIG_FILES in
|
||||
*\'*) eval set x "$CONFIG_FILES" ;;
|
||||
*) set x $CONFIG_FILES ;;
|
||||
esac
|
||||
# TODO: see whether this extra hack can be removed once we start
|
||||
# requiring Autoconf 2.70 or later.
|
||||
AS_CASE([$CONFIG_FILES],
|
||||
[*\'*], [eval set x "$CONFIG_FILES"],
|
||||
[*], [set x $CONFIG_FILES])
|
||||
shift
|
||||
for mf
|
||||
# Used to flag and report bootstrapping failures.
|
||||
am_rc=0
|
||||
for am_mf
|
||||
do
|
||||
# Strip MF so we end up with the name of the file.
|
||||
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
||||
# Check whether this is an Automake generated Makefile or not.
|
||||
# We used to match only the files named 'Makefile.in', but
|
||||
# some people rename them; so instead we look at the file content.
|
||||
# Grep'ing the first line is not enough: some people post-process
|
||||
# each Makefile.in and add a new line on top of each file to say so.
|
||||
# Grep'ing the whole file is not good either: AIX grep has a line
|
||||
am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
|
||||
# Check whether this is an Automake generated Makefile which includes
|
||||
# dependency-tracking related rules and includes.
|
||||
# Grep'ing the whole file directly is not great: AIX grep has a line
|
||||
# limit of 2048, but all sed's we know have understand at least 4000.
|
||||
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
|
||||
dirpart=`AS_DIRNAME("$mf")`
|
||||
else
|
||||
continue
|
||||
sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|
||||
|| continue
|
||||
am_dirpart=`AS_DIRNAME(["$am_mf"])`
|
||||
am_filepart=`AS_BASENAME(["$am_mf"])`
|
||||
AM_RUN_LOG([cd "$am_dirpart" \
|
||||
&& sed -e '/# am--include-marker/d' "$am_filepart" \
|
||||
| $MAKE -f - am--depfiles]) || am_rc=$?
|
||||
done
|
||||
if test $am_rc -ne 0; then
|
||||
AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
|
||||
for automatic dependency tracking. Try re-running configure with the
|
||||
'--disable-dependency-tracking' option to at least be able to build
|
||||
the package (albeit without support for automatic dependency tracking).])
|
||||
fi
|
||||
# Extract the definition of DEPDIR, am__include, and am__quote
|
||||
# from the Makefile without running 'make'.
|
||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
||||
test -z "$DEPDIR" && continue
|
||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
||||
test -z "$am__include" && continue
|
||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
||||
# Find all dependency output files, they are included files with
|
||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
||||
# simplest approach to changing $(DEPDIR) to its actual value in the
|
||||
# expansion.
|
||||
for file in `sed -n "
|
||||
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
||||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
|
||||
# Make sure the directory exists.
|
||||
test -f "$dirpart/$file" && continue
|
||||
fdir=`AS_DIRNAME(["$file"])`
|
||||
AS_MKDIR_P([$dirpart/$fdir])
|
||||
# echo "creating $dirpart/$file"
|
||||
echo '# dummy' > "$dirpart/$file"
|
||||
done
|
||||
done
|
||||
AS_UNSET([am_dirpart])
|
||||
AS_UNSET([am_filepart])
|
||||
AS_UNSET([am_mf])
|
||||
AS_UNSET([am_rc])
|
||||
rm -f conftest-deps.mk
|
||||
}
|
||||
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||
|
||||
@ -1730,18 +1721,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
# -----------------------------
|
||||
# This macro should only be invoked once -- use via AC_REQUIRE.
|
||||
#
|
||||
# This code is only required when automatic dependency tracking
|
||||
# is enabled. FIXME. This creates each '.P' file that we will
|
||||
# need in order to bootstrap the dependency handling code.
|
||||
# This code is only required when automatic dependency tracking is enabled.
|
||||
# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
|
||||
# order to bootstrap the dependency handling code.
|
||||
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[AC_CONFIG_COMMANDS([depfiles],
|
||||
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
||||
])
|
||||
[AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
|
||||
|
||||
# Do all the work for Automake. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -1828,8 +1818,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
|
||||
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
||||
# For better backward compatibility. To be removed once Automake 1.9.x
|
||||
# dies out for good. For more background, see:
|
||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
||||
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
||||
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
||||
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
|
||||
# We need awk for the "check" target (and possibly the TAP driver). The
|
||||
# system "awk" is bad on some platforms.
|
||||
@ -1896,7 +1886,7 @@ END
|
||||
Aborting the configuration process, to ensure you take notice of the issue.
|
||||
|
||||
You can download and install GNU coreutils to get an 'rm' implementation
|
||||
that behaves properly: <http://www.gnu.org/software/coreutils/>.
|
||||
that behaves properly: <https://www.gnu.org/software/coreutils/>.
|
||||
|
||||
If you want to complete the configuration process using your problematic
|
||||
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
||||
@ -1938,7 +1928,7 @@ for _am_header in $config_headers :; do
|
||||
done
|
||||
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
||||
|
||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -1959,7 +1949,7 @@ if test x"${install_sh+set}" != xset; then
|
||||
fi
|
||||
AC_SUBST([install_sh])])
|
||||
|
||||
# Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -1981,7 +1971,7 @@ AC_SUBST([am__leading_dot])])
|
||||
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
||||
# From Jim Meyering
|
||||
|
||||
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -2016,7 +2006,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||
|
||||
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -2024,49 +2014,42 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||
|
||||
# AM_MAKE_INCLUDE()
|
||||
# -----------------
|
||||
# Check to see how make treats includes.
|
||||
# Check whether make has an 'include' directive that can support all
|
||||
# the idioms we need for our automatic dependency tracking code.
|
||||
AC_DEFUN([AM_MAKE_INCLUDE],
|
||||
[am_make=${MAKE-make}
|
||||
cat > confinc << 'END'
|
||||
[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
|
||||
cat > confinc.mk << 'END'
|
||||
am__doit:
|
||||
@echo this is the am__doit target
|
||||
@echo this is the am__doit target >confinc.out
|
||||
.PHONY: am__doit
|
||||
END
|
||||
# If we don't find an include directive, just comment out the code.
|
||||
AC_MSG_CHECKING([for style of include used by $am_make])
|
||||
am__include="#"
|
||||
am__quote=
|
||||
_am_result=none
|
||||
# First try GNU make style include.
|
||||
echo "include confinc" > confmf
|
||||
# Ignore all kinds of additional output from 'make'.
|
||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||
*the\ am__doit\ target*)
|
||||
am__include=include
|
||||
am__quote=
|
||||
_am_result=GNU
|
||||
;;
|
||||
esac
|
||||
# Now try BSD make style include.
|
||||
if test "$am__include" = "#"; then
|
||||
echo '.include "confinc"' > confmf
|
||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
||||
*the\ am__doit\ target*)
|
||||
am__include=.include
|
||||
am__quote="\""
|
||||
_am_result=BSD
|
||||
;;
|
||||
esac
|
||||
# BSD make does it like this.
|
||||
echo '.include "confinc.mk" # ignored' > confmf.BSD
|
||||
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
|
||||
echo 'include confinc.mk # ignored' > confmf.GNU
|
||||
_am_result=no
|
||||
for s in GNU BSD; do
|
||||
AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
|
||||
AS_CASE([$?:`cat confinc.out 2>/dev/null`],
|
||||
['0:this is the am__doit target'],
|
||||
[AS_CASE([$s],
|
||||
[BSD], [am__include='.include' am__quote='"'],
|
||||
[am__include='include' am__quote=''])])
|
||||
if test "$am__include" != "#"; then
|
||||
_am_result="yes ($s style)"
|
||||
break
|
||||
fi
|
||||
AC_SUBST([am__include])
|
||||
AC_SUBST([am__quote])
|
||||
AC_MSG_RESULT([$_am_result])
|
||||
rm -f confinc confmf
|
||||
])
|
||||
done
|
||||
rm -f confinc.* confmf.*
|
||||
AC_MSG_RESULT([${_am_result}])
|
||||
AC_SUBST([am__include])])
|
||||
AC_SUBST([am__quote])])
|
||||
|
||||
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1997-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -2105,7 +2088,7 @@ fi
|
||||
|
||||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -2134,7 +2117,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
|
||||
AC_DEFUN([_AM_IF_OPTION],
|
||||
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
||||
|
||||
# Copyright (C) 1999-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -2181,7 +2164,7 @@ AC_LANG_POP([C])])
|
||||
# For backward compatibility.
|
||||
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
||||
|
||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -2200,7 +2183,7 @@ AC_DEFUN([AM_RUN_LOG],
|
||||
|
||||
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -2281,7 +2264,7 @@ AC_CONFIG_COMMANDS_PRE(
|
||||
rm -f conftest.file
|
||||
])
|
||||
|
||||
# Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2009-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -2341,7 +2324,7 @@ AC_SUBST([AM_BACKSLASH])dnl
|
||||
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
||||
])
|
||||
|
||||
# Copyright (C) 2001-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -2369,7 +2352,7 @@ fi
|
||||
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||
|
||||
# Copyright (C) 2006-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2006-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -2388,7 +2371,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
||||
|
||||
# Check how to create a tarball. -*- Autoconf -*-
|
||||
|
||||
# Copyright (C) 2004-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2004-2018 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -2522,25 +2505,22 @@ AC_SUBST([am__untar])
|
||||
m4_include([m4/00gnulib.m4])
|
||||
m4_include([m4/absolute-header.m4])
|
||||
m4_include([m4/assert.m4])
|
||||
m4_include([m4/ax_append_flag.m4])
|
||||
m4_include([m4/ax_c___attribute__.m4])
|
||||
m4_include([m4/ax_cflags_warn_all.m4])
|
||||
m4_include([m4/ax_compiler_vendor.m4])
|
||||
m4_include([m4/ax_prepend_flag.m4])
|
||||
m4_include([m4/ax_require_defined.m4])
|
||||
m4_include([m4/ax_with_curses.m4])
|
||||
m4_include([m4/btowc.m4])
|
||||
m4_include([m4/builtin-expect.m4])
|
||||
m4_include([m4/codeset.m4])
|
||||
m4_include([m4/config-h.m4])
|
||||
m4_include([m4/configmake.m4])
|
||||
m4_include([m4/extensions.m4])
|
||||
m4_include([m4/extern-inline.m4])
|
||||
m4_include([m4/fcntl-o.m4])
|
||||
m4_include([m4/getopt.m4])
|
||||
m4_include([m4/gettimeofday.m4])
|
||||
m4_include([m4/glibc21.m4])
|
||||
m4_include([m4/gnulib-common.m4])
|
||||
m4_include([m4/gnulib-comp.m4])
|
||||
m4_include([m4/hard-locale.m4])
|
||||
m4_include([m4/host-cpu-c-abi.m4])
|
||||
m4_include([m4/iconv.m4])
|
||||
m4_include([m4/iconv_h.m4])
|
||||
m4_include([m4/iconv_open.m4])
|
||||
@ -2557,6 +2537,7 @@ m4_include([m4/locale-ja.m4])
|
||||
m4_include([m4/locale-zh.m4])
|
||||
m4_include([m4/locale_h.m4])
|
||||
m4_include([m4/localtime-buffer.m4])
|
||||
m4_include([m4/lock.m4])
|
||||
m4_include([m4/longlong.m4])
|
||||
m4_include([m4/mbrtowc.m4])
|
||||
m4_include([m4/mbsinit.m4])
|
||||
@ -2565,9 +2546,11 @@ m4_include([m4/mbstate_t.m4])
|
||||
m4_include([m4/mbtowc.m4])
|
||||
m4_include([m4/memchr.m4])
|
||||
m4_include([m4/mmap-anon.m4])
|
||||
m4_include([m4/monetary_h.m4])
|
||||
m4_include([m4/multiarch.m4])
|
||||
m4_include([m4/nocrash.m4])
|
||||
m4_include([m4/off_t.m4])
|
||||
m4_include([m4/pthread_rwlock_rdlock.m4])
|
||||
m4_include([m4/ssize_t.m4])
|
||||
m4_include([m4/stdbool.m4])
|
||||
m4_include([m4/stddef_h.m4])
|
||||
@ -2575,11 +2558,11 @@ m4_include([m4/stdint.m4])
|
||||
m4_include([m4/stdio_h.m4])
|
||||
m4_include([m4/stdlib_h.m4])
|
||||
m4_include([m4/string_h.m4])
|
||||
m4_include([m4/strstr.m4])
|
||||
m4_include([m4/sys_socket_h.m4])
|
||||
m4_include([m4/sys_stat_h.m4])
|
||||
m4_include([m4/sys_time_h.m4])
|
||||
m4_include([m4/sys_types_h.m4])
|
||||
m4_include([m4/threadlib.m4])
|
||||
m4_include([m4/time_h.m4])
|
||||
m4_include([m4/unistd_h.m4])
|
||||
m4_include([m4/warn-on-use.m4])
|
||||
@ -2592,3 +2575,4 @@ m4_include([m4/wctomb.m4])
|
||||
m4_include([m4/wctype_h.m4])
|
||||
m4_include([m4/wint_t.m4])
|
||||
m4_include([m4/wmemcpy.m4])
|
||||
m4_include([m4/xopen-source.m4])
|
||||
|
@ -1,9 +1,9 @@
|
||||
#! /bin/sh
|
||||
# Wrapper for compilers which do not understand '-c -o'.
|
||||
|
||||
scriptversion=2012-10-14.11; # UTC
|
||||
scriptversion=2018-03-07.03; # UTC
|
||||
|
||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
@ -255,7 +255,8 @@ EOF
|
||||
echo "compile $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe )
|
||||
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
|
||||
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
|
||||
func_cl_wrapper "$@" # Doesn't return...
|
||||
;;
|
||||
esac
|
||||
@ -339,9 +340,9 @@ exit $ret
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
572
build-aux/config.guess
vendored
572
build-aux/config.guess
vendored
File diff suppressed because it is too large
Load Diff
@ -2,7 +2,7 @@
|
||||
# Output a system dependent set of variables, describing how to set the
|
||||
# run time search path of shared libraries in an executable.
|
||||
#
|
||||
# Copyright 1996-2017 Free Software Foundation, Inc.
|
||||
# Copyright 1996-2019 Free Software Foundation, Inc.
|
||||
# Taken from GNU libtool, 2001
|
||||
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
||||
#
|
||||
@ -57,7 +57,7 @@ else
|
||||
aix*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
mingw* | cygwin* | pw32* | os2* | cegcc*)
|
||||
mingw* | cygwin* | msys* | pw32* | os2* | cegcc*)
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
wl='-Wl,'
|
||||
@ -149,7 +149,7 @@ hardcode_direct=no
|
||||
hardcode_minus_L=no
|
||||
|
||||
case "$host_os" in
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
cygwin* | msys* | mingw* | pw32* | cegcc*)
|
||||
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
@ -198,7 +198,7 @@ if test "$with_gnu_ld" = yes; then
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
cygwin* | msys* | mingw* | pw32* | cegcc*)
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
@ -348,7 +348,7 @@ else
|
||||
;;
|
||||
bsdi[45]*)
|
||||
;;
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
cygwin* | msys* | mingw* | pw32* | cegcc*)
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
@ -533,7 +533,7 @@ case "$host_os" in
|
||||
bsdi[45]*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
cygwin* | msys* | mingw* | pw32* | cegcc*)
|
||||
shrext=.dll
|
||||
library_names_spec='$libname.dll.a $libname.lib'
|
||||
;;
|
||||
|
252
build-aux/config.sub
vendored
252
build-aux/config.sub
vendored
@ -1,8 +1,8 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script.
|
||||
# Copyright 1992-2016 Free Software Foundation, Inc.
|
||||
# Copyright 1992-2018 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2016-11-04'
|
||||
timestamp='2018-02-22'
|
||||
|
||||
# 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
|
||||
@ -15,7 +15,7 @@ timestamp='2016-11-04'
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program; if not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
@ -33,7 +33,7 @@ timestamp='2016-11-04'
|
||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||
|
||||
# You can get the latest version of this script from:
|
||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
|
||||
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
|
||||
|
||||
# This file is supposed to be the same for all GNU packages
|
||||
# and recognize all the CPU types, system types and aliases
|
||||
@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
|
||||
|
||||
Canonicalize a configuration name.
|
||||
|
||||
Operation modes:
|
||||
Options:
|
||||
-h, --help print this help, then exit
|
||||
-t, --time-stamp print date of last modification, then exit
|
||||
-v, --version print version number, then exit
|
||||
@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
|
||||
version="\
|
||||
GNU config.sub ($timestamp)
|
||||
|
||||
Copyright 1992-2016 Free Software Foundation, Inc.
|
||||
Copyright 1992-2018 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."
|
||||
@ -94,7 +94,7 @@ while test $# -gt 0 ; do
|
||||
|
||||
*local*)
|
||||
# First pass through any local machine types.
|
||||
echo $1
|
||||
echo "$1"
|
||||
exit ;;
|
||||
|
||||
* )
|
||||
@ -112,7 +112,7 @@ esac
|
||||
|
||||
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
|
||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||
case $maybe_os in
|
||||
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
||||
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
||||
@ -120,16 +120,16 @@ case $maybe_os in
|
||||
kopensolaris*-gnu* | cloudabi*-eabi* | \
|
||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||
os=-$maybe_os
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||
;;
|
||||
android-linux)
|
||||
os=-linux-android
|
||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
|
||||
basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
|
||||
;;
|
||||
*)
|
||||
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
|
||||
if [ $basic_machine != $1 ]
|
||||
then os=`echo $1 | sed 's/.*-/-/'`
|
||||
basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
|
||||
if [ "$basic_machine" != "$1" ]
|
||||
then os=`echo "$1" | sed 's/.*-/-/'`
|
||||
else os=; fi
|
||||
;;
|
||||
esac
|
||||
@ -178,44 +178,44 @@ case $os in
|
||||
;;
|
||||
-sco6)
|
||||
os=-sco5v6
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco5)
|
||||
os=-sco3.2v5
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco4)
|
||||
os=-sco3.2v4
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco3.2.[4-9]*)
|
||||
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco3.2v[4-9]*)
|
||||
# Don't forget version if it is 3.2v4 or newer.
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco5v6*)
|
||||
# Don't forget version if it is 3.2v4 or newer.
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-sco*)
|
||||
os=-sco3.2v2
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-udk*)
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-isc)
|
||||
os=-isc2.2
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-clix*)
|
||||
basic_machine=clipper-intergraph
|
||||
;;
|
||||
-isc*)
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||
;;
|
||||
-lynx*178)
|
||||
os=-lynxos178
|
||||
@ -227,10 +227,7 @@ case $os in
|
||||
os=-lynxos
|
||||
;;
|
||||
-ptx*)
|
||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
|
||||
;;
|
||||
-windowsnt*)
|
||||
os=`echo $os | sed -e 's/windowsnt/winnt/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
|
||||
;;
|
||||
-psos*)
|
||||
os=-psos
|
||||
@ -263,7 +260,7 @@ case $basic_machine in
|
||||
| fido | fr30 | frv | ft32 \
|
||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||
| hexagon \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| i370 | i860 | i960 | ia16 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| k1om \
|
||||
| le32 | le64 \
|
||||
@ -299,7 +296,7 @@ case $basic_machine in
|
||||
| nios | nios2 | nios2eb | nios2el \
|
||||
| ns16k | ns32k \
|
||||
| open8 | or1k | or1knd | or32 \
|
||||
| pdp10 | pdp11 | pj | pjl \
|
||||
| pdp10 | pj | pjl \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
||||
| pru \
|
||||
| pyramid \
|
||||
@ -315,7 +312,7 @@ case $basic_machine in
|
||||
| ubicom32 \
|
||||
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
||||
| visium \
|
||||
| we32k \
|
||||
| wasm32 \
|
||||
| x86 | xc16x | xstormy16 | xtensa \
|
||||
| z8k | z80)
|
||||
basic_machine=$basic_machine-unknown
|
||||
@ -336,7 +333,7 @@ case $basic_machine in
|
||||
basic_machine=$basic_machine-unknown
|
||||
os=-none
|
||||
;;
|
||||
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
|
||||
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
|
||||
;;
|
||||
ms1)
|
||||
basic_machine=mt-unknown
|
||||
@ -365,7 +362,7 @@ case $basic_machine in
|
||||
;;
|
||||
# Object if more than one company name word.
|
||||
*-*-*)
|
||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||
echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
# Recognize the basic CPU types with company name.
|
||||
@ -388,7 +385,7 @@ case $basic_machine in
|
||||
| h8300-* | h8500-* \
|
||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||
| hexagon-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
| i*86-* | i860-* | i960-* | ia16-* | ia64-* \
|
||||
| ip2k-* | iq2000-* \
|
||||
| k1om-* \
|
||||
| le32-* | le64-* \
|
||||
@ -446,6 +443,7 @@ case $basic_machine in
|
||||
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
|
||||
| vax-* \
|
||||
| visium-* \
|
||||
| wasm32-* \
|
||||
| we32k-* \
|
||||
| x86-* | x86_64-* | xc16x-* | xps100-* \
|
||||
| xstormy16-* | xtensa*-* \
|
||||
@ -459,7 +457,7 @@ case $basic_machine in
|
||||
# Recognize the various machine names and aliases which stand
|
||||
# for a CPU type and a company and sometimes even an OS.
|
||||
386bsd)
|
||||
basic_machine=i386-unknown
|
||||
basic_machine=i386-pc
|
||||
os=-bsd
|
||||
;;
|
||||
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
|
||||
@ -493,7 +491,7 @@ case $basic_machine in
|
||||
basic_machine=x86_64-pc
|
||||
;;
|
||||
amd64-*)
|
||||
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
amdahl)
|
||||
basic_machine=580-amdahl
|
||||
@ -538,7 +536,7 @@ case $basic_machine in
|
||||
os=-linux
|
||||
;;
|
||||
blackfin-*)
|
||||
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
os=-linux
|
||||
;;
|
||||
bluegene*)
|
||||
@ -546,13 +544,13 @@ case $basic_machine in
|
||||
os=-cnk
|
||||
;;
|
||||
c54x-*)
|
||||
basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
c55x-*)
|
||||
basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
c6x-*)
|
||||
basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
c90)
|
||||
basic_machine=c90-cray
|
||||
@ -641,7 +639,7 @@ case $basic_machine in
|
||||
basic_machine=rs6000-bull
|
||||
os=-bosx
|
||||
;;
|
||||
dpx2* | dpx2*-bull)
|
||||
dpx2*)
|
||||
basic_machine=m68k-bull
|
||||
os=-sysv3
|
||||
;;
|
||||
@ -650,7 +648,7 @@ case $basic_machine in
|
||||
os=$os"spe"
|
||||
;;
|
||||
e500v[12]-*)
|
||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
os=$os"spe"
|
||||
;;
|
||||
ebmon29k)
|
||||
@ -742,9 +740,6 @@ case $basic_machine in
|
||||
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
||||
basic_machine=hppa1.0-hp
|
||||
;;
|
||||
hppa-next)
|
||||
os=-nextstep3
|
||||
;;
|
||||
hppaosf)
|
||||
basic_machine=hppa1.1-hp
|
||||
os=-osf
|
||||
@ -757,26 +752,26 @@ case $basic_machine in
|
||||
basic_machine=i370-ibm
|
||||
;;
|
||||
i*86v32)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv32
|
||||
;;
|
||||
i*86v4*)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv4
|
||||
;;
|
||||
i*86v)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
|
||||
os=-sysv
|
||||
;;
|
||||
i*86sol2)
|
||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
||||
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
|
||||
os=-solaris2
|
||||
;;
|
||||
i386mach)
|
||||
basic_machine=i386-mach
|
||||
os=-mach
|
||||
;;
|
||||
i386-vsta | vsta)
|
||||
vsta)
|
||||
basic_machine=i386-unknown
|
||||
os=-vsta
|
||||
;;
|
||||
@ -795,19 +790,16 @@ case $basic_machine in
|
||||
os=-sysv
|
||||
;;
|
||||
leon-*|leon[3-9]-*)
|
||||
basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
|
||||
basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
|
||||
;;
|
||||
m68knommu)
|
||||
basic_machine=m68k-unknown
|
||||
os=-linux
|
||||
;;
|
||||
m68knommu-*)
|
||||
basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
os=-linux
|
||||
;;
|
||||
m88k-omron*)
|
||||
basic_machine=m88k-omron
|
||||
;;
|
||||
magnum | m3230)
|
||||
basic_machine=mips-mips
|
||||
os=-sysv
|
||||
@ -839,10 +831,10 @@ case $basic_machine in
|
||||
os=-mint
|
||||
;;
|
||||
mips3*-*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
|
||||
basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
|
||||
;;
|
||||
mips3*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
|
||||
basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
|
||||
;;
|
||||
monitor)
|
||||
basic_machine=m68k-rom68k
|
||||
@ -861,7 +853,7 @@ case $basic_machine in
|
||||
os=-msdos
|
||||
;;
|
||||
ms1-*)
|
||||
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
||||
basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
|
||||
;;
|
||||
msys)
|
||||
basic_machine=i686-pc
|
||||
@ -948,6 +940,12 @@ case $basic_machine in
|
||||
nsr-tandem)
|
||||
basic_machine=nsr-tandem
|
||||
;;
|
||||
nsv-tandem)
|
||||
basic_machine=nsv-tandem
|
||||
;;
|
||||
nsx-tandem)
|
||||
basic_machine=nsx-tandem
|
||||
;;
|
||||
op50n-* | op60c-*)
|
||||
basic_machine=hppa1.1-oki
|
||||
os=-proelf
|
||||
@ -980,7 +978,7 @@ case $basic_machine in
|
||||
os=-linux
|
||||
;;
|
||||
parisc-*)
|
||||
basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
os=-linux
|
||||
;;
|
||||
pbd)
|
||||
@ -996,7 +994,7 @@ case $basic_machine in
|
||||
basic_machine=i386-pc
|
||||
;;
|
||||
pc98-*)
|
||||
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentium | p5 | k5 | k6 | nexgen | viac3)
|
||||
basic_machine=i586-pc
|
||||
@ -1011,16 +1009,16 @@ case $basic_machine in
|
||||
basic_machine=i786-pc
|
||||
;;
|
||||
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
|
||||
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentiumpro-* | p6-* | 6x86-* | athlon-*)
|
||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
|
||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pentium4-*)
|
||||
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
pn)
|
||||
basic_machine=pn-gould
|
||||
@ -1030,23 +1028,23 @@ case $basic_machine in
|
||||
ppc | ppcbe) basic_machine=powerpc-unknown
|
||||
;;
|
||||
ppc-* | ppcbe-*)
|
||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ppcle | powerpclittle)
|
||||
basic_machine=powerpcle-unknown
|
||||
;;
|
||||
ppcle-* | powerpclittle-*)
|
||||
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ppc64) basic_machine=powerpc64-unknown
|
||||
;;
|
||||
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ppc64le | powerpc64little)
|
||||
basic_machine=powerpc64le-unknown
|
||||
;;
|
||||
ppc64le-* | powerpc64little-*)
|
||||
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
ps2)
|
||||
basic_machine=i386-ibm
|
||||
@ -1100,17 +1098,10 @@ case $basic_machine in
|
||||
sequent)
|
||||
basic_machine=i386-sequent
|
||||
;;
|
||||
sh)
|
||||
basic_machine=sh-hitachi
|
||||
os=-hms
|
||||
;;
|
||||
sh5el)
|
||||
basic_machine=sh5le-unknown
|
||||
;;
|
||||
sh64)
|
||||
basic_machine=sh64-unknown
|
||||
;;
|
||||
sparclite-wrs | simso-wrs)
|
||||
simso-wrs)
|
||||
basic_machine=sparclite-wrs
|
||||
os=-vxworks
|
||||
;;
|
||||
@ -1129,7 +1120,7 @@ case $basic_machine in
|
||||
os=-sysv4
|
||||
;;
|
||||
strongarm-* | thumb-*)
|
||||
basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||
basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||
;;
|
||||
sun2)
|
||||
basic_machine=m68000-sun
|
||||
@ -1251,6 +1242,9 @@ case $basic_machine in
|
||||
basic_machine=hppa1.1-winbond
|
||||
os=-proelf
|
||||
;;
|
||||
x64)
|
||||
basic_machine=x86_64-pc
|
||||
;;
|
||||
xbox)
|
||||
basic_machine=i686-pc
|
||||
os=-mingw32
|
||||
@ -1259,20 +1253,12 @@ case $basic_machine in
|
||||
basic_machine=xps100-honeywell
|
||||
;;
|
||||
xscale-* | xscalee[bl]-*)
|
||||
basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
|
||||
basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
|
||||
;;
|
||||
ymp)
|
||||
basic_machine=ymp-cray
|
||||
os=-unicos
|
||||
;;
|
||||
z8k-*-coff)
|
||||
basic_machine=z8k-unknown
|
||||
os=-sim
|
||||
;;
|
||||
z80-*-coff)
|
||||
basic_machine=z80-unknown
|
||||
os=-sim
|
||||
;;
|
||||
none)
|
||||
basic_machine=none-none
|
||||
os=-none
|
||||
@ -1301,10 +1287,6 @@ case $basic_machine in
|
||||
vax)
|
||||
basic_machine=vax-dec
|
||||
;;
|
||||
pdp10)
|
||||
# there are many clones, so DEC is not a safe bet
|
||||
basic_machine=pdp10-unknown
|
||||
;;
|
||||
pdp11)
|
||||
basic_machine=pdp11-dec
|
||||
;;
|
||||
@ -1314,9 +1296,6 @@ case $basic_machine in
|
||||
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
|
||||
basic_machine=sh-unknown
|
||||
;;
|
||||
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
|
||||
basic_machine=sparc-sun
|
||||
;;
|
||||
cydra)
|
||||
basic_machine=cydra-cydrome
|
||||
;;
|
||||
@ -1336,7 +1315,7 @@ case $basic_machine in
|
||||
# Make sure to match an already-canonicalized machine name.
|
||||
;;
|
||||
*)
|
||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||
echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@ -1344,10 +1323,10 @@ esac
|
||||
# Here we canonicalize certain aliases for manufacturers.
|
||||
case $basic_machine in
|
||||
*-digital*)
|
||||
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
|
||||
basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
|
||||
;;
|
||||
*-commodore*)
|
||||
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
|
||||
basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
@ -1358,8 +1337,8 @@ esac
|
||||
if [ x"$os" != x"" ]
|
||||
then
|
||||
case $os in
|
||||
# First match some system type aliases
|
||||
# that might get confused with valid system types.
|
||||
# First match some system type aliases that might get confused
|
||||
# with valid system types.
|
||||
# -solaris* is a basic system type, with this one exception.
|
||||
-auroraux)
|
||||
os=-auroraux
|
||||
@ -1370,18 +1349,19 @@ case $os in
|
||||
-solaris)
|
||||
os=-solaris2
|
||||
;;
|
||||
-svr4*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-unixware*)
|
||||
os=-sysv4.2uw
|
||||
;;
|
||||
-gnu/linux*)
|
||||
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
|
||||
;;
|
||||
# First accept the basic system types.
|
||||
# es1800 is here to avoid being matched by es* (a different OS)
|
||||
-es1800*)
|
||||
os=-ose
|
||||
;;
|
||||
# Now accept the basic system types.
|
||||
# The portable systems comes first.
|
||||
# Each alternative MUST END IN A *, to match a version number.
|
||||
# Each alternative MUST end in a * to match a version number.
|
||||
# -sysv* is not here because it comes later, after sysvr4.
|
||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||
@ -1391,25 +1371,26 @@ case $os in
|
||||
| -aos* | -aros* | -cloudabi* | -sortix* \
|
||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||
| -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
|
||||
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
||||
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||
| -chorusos* | -chorusrdb* | -cegcc* \
|
||||
| -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
|
||||
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
||||
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
||||
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
|
||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
|
||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||
| -morphos* | -superux* | -rtmk* | -windiss* \
|
||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
|
||||
| -onefs* | -tirtos* | -phoenix* | -fuchsia*)
|
||||
| -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
|
||||
| -midnightbsd*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-qnx*)
|
||||
@ -1426,12 +1407,12 @@ case $os in
|
||||
-nto*)
|
||||
os=`echo $os | sed -e 's|nto|nto-qnx|'`
|
||||
;;
|
||||
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
|
||||
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
|
||||
-sim | -xray | -os68k* | -v88r* \
|
||||
| -windows* | -osx | -abug | -netware* | -os9* \
|
||||
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
|
||||
;;
|
||||
-mac*)
|
||||
os=`echo $os | sed -e 's|mac|macos|'`
|
||||
os=`echo "$os" | sed -e 's|mac|macos|'`
|
||||
;;
|
||||
-linux-dietlibc)
|
||||
os=-linux-dietlibc
|
||||
@ -1440,10 +1421,10 @@ case $os in
|
||||
os=`echo $os | sed -e 's|linux|linux-gnu|'`
|
||||
;;
|
||||
-sunos5*)
|
||||
os=`echo $os | sed -e 's|sunos5|solaris2|'`
|
||||
os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
|
||||
;;
|
||||
-sunos6*)
|
||||
os=`echo $os | sed -e 's|sunos6|solaris3|'`
|
||||
os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
|
||||
;;
|
||||
-opened*)
|
||||
os=-openedition
|
||||
@ -1454,12 +1435,6 @@ case $os in
|
||||
-wince*)
|
||||
os=-wince
|
||||
;;
|
||||
-osfrose*)
|
||||
os=-osfrose
|
||||
;;
|
||||
-osf*)
|
||||
os=-osf
|
||||
;;
|
||||
-utek*)
|
||||
os=-bsd
|
||||
;;
|
||||
@ -1506,7 +1481,7 @@ case $os in
|
||||
-oss*)
|
||||
os=-sysv3
|
||||
;;
|
||||
-svr4)
|
||||
-svr4*)
|
||||
os=-sysv4
|
||||
;;
|
||||
-svr3)
|
||||
@ -1521,24 +1496,28 @@ case $os in
|
||||
-ose*)
|
||||
os=-ose
|
||||
;;
|
||||
-es1800*)
|
||||
os=-ose
|
||||
;;
|
||||
-xenix)
|
||||
os=-xenix
|
||||
;;
|
||||
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
|
||||
os=-mint
|
||||
;;
|
||||
-aros*)
|
||||
os=-aros
|
||||
;;
|
||||
-zvmoe)
|
||||
os=-zvmoe
|
||||
;;
|
||||
-dicos*)
|
||||
os=-dicos
|
||||
;;
|
||||
-pikeos*)
|
||||
# Until real need of OS specific support for
|
||||
# particular features comes up, bare metal
|
||||
# configurations are quite functional.
|
||||
case $basic_machine in
|
||||
arm*)
|
||||
os=-eabi
|
||||
;;
|
||||
*)
|
||||
os=-elf
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-nacl*)
|
||||
;;
|
||||
-ios)
|
||||
@ -1548,7 +1527,7 @@ case $os in
|
||||
*)
|
||||
# Get rid of the `-' at the beginning of $os.
|
||||
os=`echo $os | sed 's/[^-]*-//'`
|
||||
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
|
||||
echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@ -1638,12 +1617,12 @@ case $basic_machine in
|
||||
sparc-* | *-sun)
|
||||
os=-sunos4.1.1
|
||||
;;
|
||||
pru-*)
|
||||
os=-elf
|
||||
;;
|
||||
*-be)
|
||||
os=-beos
|
||||
;;
|
||||
*-haiku)
|
||||
os=-haiku
|
||||
;;
|
||||
*-ibm)
|
||||
os=-aix
|
||||
;;
|
||||
@ -1698,9 +1677,6 @@ case $basic_machine in
|
||||
i370-*)
|
||||
os=-mvs
|
||||
;;
|
||||
*-next)
|
||||
os=-nextstep3
|
||||
;;
|
||||
*-gould)
|
||||
os=-sysv
|
||||
;;
|
||||
@ -1810,15 +1786,15 @@ case $basic_machine in
|
||||
vendor=stratus
|
||||
;;
|
||||
esac
|
||||
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
|
||||
basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
|
||||
;;
|
||||
esac
|
||||
|
||||
echo $basic_machine$os
|
||||
echo "$basic_machine$os"
|
||||
exit
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'write-file-functions 'time-stamp)
|
||||
# time-stamp-start: "timestamp='"
|
||||
# time-stamp-format: "%:y-%02m-%02d"
|
||||
# time-stamp-end: "'"
|
||||
|
@ -1,9 +1,9 @@
|
||||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2013-05-30.07; # UTC
|
||||
scriptversion=2018-03-07.03; # UTC
|
||||
|
||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||
|
||||
# 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
|
||||
@ -16,7 +16,7 @@ scriptversion=2013-05-30.07; # UTC
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
@ -783,9 +783,9 @@ exit 0
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2014-09-12.12; # UTC
|
||||
scriptversion=2018-03-11.20; # UTC
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
@ -271,15 +271,18 @@ do
|
||||
fi
|
||||
dst=$dst_arg
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
# If destination is a directory, append the input filename.
|
||||
if test -d "$dst"; then
|
||||
if test "$is_target_a_directory" = never; then
|
||||
echo "$0: $dst_arg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstbase=`basename "$src"`
|
||||
case $dst in
|
||||
*/) dst=$dst$dstbase;;
|
||||
*) dst=$dst/$dstbase;;
|
||||
esac
|
||||
dstdir_status=0
|
||||
else
|
||||
dstdir=`dirname "$dst"`
|
||||
@ -288,6 +291,11 @@ do
|
||||
fi
|
||||
fi
|
||||
|
||||
case $dstdir in
|
||||
*/) dstdirslash=$dstdir;;
|
||||
*) dstdirslash=$dstdir/;;
|
||||
esac
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
@ -324,14 +332,16 @@ do
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
# $RANDOM is not portable (e.g. dash); use it when possible to
|
||||
# lower collision chance
|
||||
# Note that $RANDOM variable is not portable (e.g. dash); Use it
|
||||
# here however when possible just to lower collision chance.
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
|
||||
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
# As "mkdir -p" follows symlinks and we work in /tmp possibly; so
|
||||
# create the $tmpdir first (and fail if unsuccessful) to make sure
|
||||
# that nobody tries to guess the $tmpdir name.
|
||||
# Because "mkdir -p" follows existing symlinks and we likely work
|
||||
# directly in world-writeable /tmp, make sure that the '$tmpdir'
|
||||
# directory is successfully created first before we actually test
|
||||
# 'mkdir -p' feature.
|
||||
if (umask $mkdir_umask &&
|
||||
$mkdirprog $mkdir_mode "$tmpdir" &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
|
||||
@ -434,8 +444,8 @@ do
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
dsttmp=${dstdirslash}_inst.$$_
|
||||
rmtmp=${dstdirslash}_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
@ -500,9 +510,9 @@ do
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
@ -1,9 +1,9 @@
|
||||
#! /bin/sh
|
||||
# Common wrapper for a few potentially missing GNU programs.
|
||||
|
||||
scriptversion=2013-10-28.13; # UTC
|
||||
scriptversion=2018-03-07.03; # UTC
|
||||
|
||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
@ -17,7 +17,7 @@ scriptversion=2013-10-28.13; # UTC
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
@ -101,9 +101,9 @@ else
|
||||
exit $st
|
||||
fi
|
||||
|
||||
perl_URL=http://www.perl.org/
|
||||
flex_URL=http://flex.sourceforge.net/
|
||||
gnu_software_URL=http://www.gnu.org/software
|
||||
perl_URL=https://www.perl.org/
|
||||
flex_URL=https://github.com/westes/flex
|
||||
gnu_software_URL=https://www.gnu.org/software
|
||||
|
||||
program_details ()
|
||||
{
|
||||
@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: /' \
|
||||
exit $st
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-time-zone: "UTC"
|
||||
# time-stamp-time-zone: "UTC0"
|
||||
# time-stamp-end: "; # UTC"
|
||||
# End:
|
||||
|
665
config.h.in
665
config.h.in
@ -33,6 +33,10 @@
|
||||
whether the gnulib module fscanf shall be considered present. */
|
||||
#undef GNULIB_FSCANF
|
||||
|
||||
/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
|
||||
whether the gnulib module lock shall be considered present. */
|
||||
#undef GNULIB_LOCK
|
||||
|
||||
/* Define to 1 if printf and friends should be labeled with attribute
|
||||
"__gnu_printf__" instead of "__printf__" */
|
||||
#undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU
|
||||
@ -62,9 +66,6 @@
|
||||
/* Define to 1 when the gnulib module memchr should be tested. */
|
||||
#undef GNULIB_TEST_MEMCHR
|
||||
|
||||
/* Define to 1 when the gnulib module strstr should be tested. */
|
||||
#undef GNULIB_TEST_STRSTR
|
||||
|
||||
/* Define to 1 when the gnulib module wcrtomb should be tested. */
|
||||
#undef GNULIB_TEST_WCRTOMB
|
||||
|
||||
@ -124,10 +125,6 @@
|
||||
*/
|
||||
#undef HAVE_DCGETTEXT
|
||||
|
||||
/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_GETC_UNLOCKED
|
||||
|
||||
/* Define to 1 if you have the declaration of `mbrtowc', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL_MBRTOWC
|
||||
@ -209,9 +206,15 @@
|
||||
/* Define to 1 if <wchar.h> declares mbstate_t. */
|
||||
#undef HAVE_MBSTATE_T
|
||||
|
||||
/* Define to 1 if you have the `mbtowc' function. */
|
||||
#undef HAVE_MBTOWC
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <monetary.h> header file. */
|
||||
#undef HAVE_MONETARY_H
|
||||
|
||||
/* Define to 1 if you have the `mprotect' function. */
|
||||
#undef HAVE_MPROTECT
|
||||
|
||||
@ -233,525 +236,15 @@
|
||||
/* Define to 1 if <ncurses.h> is present */
|
||||
#undef HAVE_NCURSES_H
|
||||
|
||||
/* Define to 1 if atoll is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_ATOLL
|
||||
/* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */
|
||||
#undef HAVE_PTHREAD_MUTEX_RECURSIVE
|
||||
|
||||
/* Define to 1 if btowc is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_BTOWC
|
||||
/* Define if the POSIX multithreading library has read/write locks. */
|
||||
#undef HAVE_PTHREAD_RWLOCK
|
||||
|
||||
/* Define to 1 if canonicalize_file_name is declared even after undefining
|
||||
macros. */
|
||||
#undef HAVE_RAW_DECL_CANONICALIZE_FILE_NAME
|
||||
|
||||
/* Define to 1 if chdir is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_CHDIR
|
||||
|
||||
/* Define to 1 if chown is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_CHOWN
|
||||
|
||||
/* Define to 1 if dprintf is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_DPRINTF
|
||||
|
||||
/* Define to 1 if dup is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_DUP
|
||||
|
||||
/* Define to 1 if dup2 is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_DUP2
|
||||
|
||||
/* Define to 1 if dup3 is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_DUP3
|
||||
|
||||
/* Define to 1 if duplocale is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_DUPLOCALE
|
||||
|
||||
/* Define to 1 if endusershell is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_ENDUSERSHELL
|
||||
|
||||
/* Define to 1 if environ is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_ENVIRON
|
||||
|
||||
/* Define to 1 if euidaccess is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_EUIDACCESS
|
||||
|
||||
/* Define to 1 if faccessat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FACCESSAT
|
||||
|
||||
/* Define to 1 if fchdir is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FCHDIR
|
||||
|
||||
/* Define to 1 if fchmodat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FCHMODAT
|
||||
|
||||
/* Define to 1 if fchownat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FCHOWNAT
|
||||
|
||||
/* Define to 1 if fdatasync is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FDATASYNC
|
||||
|
||||
/* Define to 1 if ffsl is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FFSL
|
||||
|
||||
/* Define to 1 if ffsll is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FFSLL
|
||||
|
||||
/* Define to 1 if fpurge is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FPURGE
|
||||
|
||||
/* Define to 1 if fseeko is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FSEEKO
|
||||
|
||||
/* Define to 1 if fstat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FSTAT
|
||||
|
||||
/* Define to 1 if fstatat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FSTATAT
|
||||
|
||||
/* Define to 1 if fsync is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FSYNC
|
||||
|
||||
/* Define to 1 if ftello is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FTELLO
|
||||
|
||||
/* Define to 1 if ftruncate is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FTRUNCATE
|
||||
|
||||
/* Define to 1 if futimens is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_FUTIMENS
|
||||
|
||||
/* Define to 1 if getcwd is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETCWD
|
||||
|
||||
/* Define to 1 if getdelim is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETDELIM
|
||||
|
||||
/* Define to 1 if getdomainname is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETDOMAINNAME
|
||||
|
||||
/* Define to 1 if getdtablesize is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETDTABLESIZE
|
||||
|
||||
/* Define to 1 if getgroups is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETGROUPS
|
||||
|
||||
/* Define to 1 if gethostname is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETHOSTNAME
|
||||
|
||||
/* Define to 1 if getline is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETLINE
|
||||
|
||||
/* Define to 1 if getloadavg is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETLOADAVG
|
||||
|
||||
/* Define to 1 if getlogin is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETLOGIN
|
||||
|
||||
/* Define to 1 if getlogin_r is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETLOGIN_R
|
||||
|
||||
/* Define to 1 if getpagesize is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETPAGESIZE
|
||||
|
||||
/* Define to 1 if gets is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETS
|
||||
|
||||
/* Define to 1 if getsubopt is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETSUBOPT
|
||||
|
||||
/* Define to 1 if gettimeofday is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETTIMEOFDAY
|
||||
|
||||
/* Define to 1 if getusershell is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GETUSERSHELL
|
||||
|
||||
/* Define to 1 if grantpt is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GRANTPT
|
||||
|
||||
/* Define to 1 if group_member is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_GROUP_MEMBER
|
||||
|
||||
/* Define to 1 if initstate is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_INITSTATE
|
||||
|
||||
/* Define to 1 if initstate_r is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_INITSTATE_R
|
||||
|
||||
/* Define to 1 if isatty is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_ISATTY
|
||||
|
||||
/* Define to 1 if iswctype is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_ISWCTYPE
|
||||
|
||||
/* Define to 1 if lchmod is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_LCHMOD
|
||||
|
||||
/* Define to 1 if lchown is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_LCHOWN
|
||||
|
||||
/* Define to 1 if link is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_LINK
|
||||
|
||||
/* Define to 1 if linkat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_LINKAT
|
||||
|
||||
/* Define to 1 if lseek is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_LSEEK
|
||||
|
||||
/* Define to 1 if lstat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_LSTAT
|
||||
|
||||
/* Define to 1 if mbrlen is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MBRLEN
|
||||
|
||||
/* Define to 1 if mbrtowc is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MBRTOWC
|
||||
|
||||
/* Define to 1 if mbsinit is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MBSINIT
|
||||
|
||||
/* Define to 1 if mbsnrtowcs is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MBSNRTOWCS
|
||||
|
||||
/* Define to 1 if mbsrtowcs is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MBSRTOWCS
|
||||
|
||||
/* Define to 1 if memmem is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MEMMEM
|
||||
|
||||
/* Define to 1 if mempcpy is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MEMPCPY
|
||||
|
||||
/* Define to 1 if memrchr is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MEMRCHR
|
||||
|
||||
/* Define to 1 if mkdirat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MKDIRAT
|
||||
|
||||
/* Define to 1 if mkdtemp is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MKDTEMP
|
||||
|
||||
/* Define to 1 if mkfifo is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MKFIFO
|
||||
|
||||
/* Define to 1 if mkfifoat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MKFIFOAT
|
||||
|
||||
/* Define to 1 if mknod is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MKNOD
|
||||
|
||||
/* Define to 1 if mknodat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MKNODAT
|
||||
|
||||
/* Define to 1 if mkostemp is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MKOSTEMP
|
||||
|
||||
/* Define to 1 if mkostemps is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MKOSTEMPS
|
||||
|
||||
/* Define to 1 if mkstemp is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MKSTEMP
|
||||
|
||||
/* Define to 1 if mkstemps is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_MKSTEMPS
|
||||
|
||||
/* Define to 1 if pclose is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_PCLOSE
|
||||
|
||||
/* Define to 1 if pipe is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_PIPE
|
||||
|
||||
/* Define to 1 if pipe2 is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_PIPE2
|
||||
|
||||
/* Define to 1 if popen is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_POPEN
|
||||
|
||||
/* Define to 1 if posix_openpt is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_POSIX_OPENPT
|
||||
|
||||
/* Define to 1 if pread is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_PREAD
|
||||
|
||||
/* Define to 1 if ptsname is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_PTSNAME
|
||||
|
||||
/* Define to 1 if ptsname_r is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_PTSNAME_R
|
||||
|
||||
/* Define to 1 if pwrite is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_PWRITE
|
||||
|
||||
/* Define to 1 if qsort_r is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_QSORT_R
|
||||
|
||||
/* Define to 1 if random is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_RANDOM
|
||||
|
||||
/* Define to 1 if random_r is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_RANDOM_R
|
||||
|
||||
/* Define to 1 if rawmemchr is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_RAWMEMCHR
|
||||
|
||||
/* Define to 1 if readlink is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_READLINK
|
||||
|
||||
/* Define to 1 if readlinkat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_READLINKAT
|
||||
|
||||
/* Define to 1 if reallocarray is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_REALLOCARRAY
|
||||
|
||||
/* Define to 1 if realpath is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_REALPATH
|
||||
|
||||
/* Define to 1 if renameat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_RENAMEAT
|
||||
|
||||
/* Define to 1 if rmdir is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_RMDIR
|
||||
|
||||
/* Define to 1 if rpmatch is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_RPMATCH
|
||||
|
||||
/* Define to 1 if secure_getenv is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SECURE_GETENV
|
||||
|
||||
/* Define to 1 if setenv is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SETENV
|
||||
|
||||
/* Define to 1 if sethostname is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SETHOSTNAME
|
||||
|
||||
/* Define to 1 if setlocale is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SETLOCALE
|
||||
|
||||
/* Define to 1 if setstate is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SETSTATE
|
||||
|
||||
/* Define to 1 if setstate_r is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SETSTATE_R
|
||||
|
||||
/* Define to 1 if setusershell is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SETUSERSHELL
|
||||
|
||||
/* Define to 1 if sleep is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SLEEP
|
||||
|
||||
/* Define to 1 if snprintf is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SNPRINTF
|
||||
|
||||
/* Define to 1 if srandom is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SRANDOM
|
||||
|
||||
/* Define to 1 if srandom_r is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SRANDOM_R
|
||||
|
||||
/* Define to 1 if stat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STAT
|
||||
|
||||
/* Define to 1 if stpcpy is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STPCPY
|
||||
|
||||
/* Define to 1 if stpncpy is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STPNCPY
|
||||
|
||||
/* Define to 1 if strcasestr is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRCASESTR
|
||||
|
||||
/* Define to 1 if strchrnul is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRCHRNUL
|
||||
|
||||
/* Define to 1 if strdup is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRDUP
|
||||
|
||||
/* Define to 1 if strerror_r is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRERROR_R
|
||||
|
||||
/* Define to 1 if strncat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRNCAT
|
||||
|
||||
/* Define to 1 if strndup is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRNDUP
|
||||
|
||||
/* Define to 1 if strnlen is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRNLEN
|
||||
|
||||
/* Define to 1 if strpbrk is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRPBRK
|
||||
|
||||
/* Define to 1 if strsep is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRSEP
|
||||
|
||||
/* Define to 1 if strsignal is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRSIGNAL
|
||||
|
||||
/* Define to 1 if strtod is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRTOD
|
||||
|
||||
/* Define to 1 if strtok_r is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRTOK_R
|
||||
|
||||
/* Define to 1 if strtoll is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRTOLL
|
||||
|
||||
/* Define to 1 if strtoull is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRTOULL
|
||||
|
||||
/* Define to 1 if strverscmp is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_STRVERSCMP
|
||||
|
||||
/* Define to 1 if symlink is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SYMLINK
|
||||
|
||||
/* Define to 1 if symlinkat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_SYMLINKAT
|
||||
|
||||
/* Define to 1 if tmpfile is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_TMPFILE
|
||||
|
||||
/* Define to 1 if towctrans is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_TOWCTRANS
|
||||
|
||||
/* Define to 1 if truncate is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_TRUNCATE
|
||||
|
||||
/* Define to 1 if ttyname_r is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_TTYNAME_R
|
||||
|
||||
/* Define to 1 if unlink is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_UNLINK
|
||||
|
||||
/* Define to 1 if unlinkat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_UNLINKAT
|
||||
|
||||
/* Define to 1 if unlockpt is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_UNLOCKPT
|
||||
|
||||
/* Define to 1 if unsetenv is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_UNSETENV
|
||||
|
||||
/* Define to 1 if usleep is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_USLEEP
|
||||
|
||||
/* Define to 1 if utimensat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_UTIMENSAT
|
||||
|
||||
/* Define to 1 if vdprintf is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_VDPRINTF
|
||||
|
||||
/* Define to 1 if vsnprintf is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_VSNPRINTF
|
||||
|
||||
/* Define to 1 if wcpcpy is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCPCPY
|
||||
|
||||
/* Define to 1 if wcpncpy is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCPNCPY
|
||||
|
||||
/* Define to 1 if wcrtomb is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCRTOMB
|
||||
|
||||
/* Define to 1 if wcscasecmp is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSCASECMP
|
||||
|
||||
/* Define to 1 if wcscat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSCAT
|
||||
|
||||
/* Define to 1 if wcschr is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSCHR
|
||||
|
||||
/* Define to 1 if wcscmp is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSCMP
|
||||
|
||||
/* Define to 1 if wcscoll is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSCOLL
|
||||
|
||||
/* Define to 1 if wcscpy is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSCPY
|
||||
|
||||
/* Define to 1 if wcscspn is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSCSPN
|
||||
|
||||
/* Define to 1 if wcsdup is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSDUP
|
||||
|
||||
/* Define to 1 if wcsftime is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSFTIME
|
||||
|
||||
/* Define to 1 if wcslen is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSLEN
|
||||
|
||||
/* Define to 1 if wcsncasecmp is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSNCASECMP
|
||||
|
||||
/* Define to 1 if wcsncat is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSNCAT
|
||||
|
||||
/* Define to 1 if wcsncmp is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSNCMP
|
||||
|
||||
/* Define to 1 if wcsncpy is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSNCPY
|
||||
|
||||
/* Define to 1 if wcsnlen is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSNLEN
|
||||
|
||||
/* Define to 1 if wcsnrtombs is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSNRTOMBS
|
||||
|
||||
/* Define to 1 if wcspbrk is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSPBRK
|
||||
|
||||
/* Define to 1 if wcsrchr is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSRCHR
|
||||
|
||||
/* Define to 1 if wcsrtombs is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSRTOMBS
|
||||
|
||||
/* Define to 1 if wcsspn is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSSPN
|
||||
|
||||
/* Define to 1 if wcsstr is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSSTR
|
||||
|
||||
/* Define to 1 if wcstok is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSTOK
|
||||
|
||||
/* Define to 1 if wcswidth is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSWIDTH
|
||||
|
||||
/* Define to 1 if wcsxfrm is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCSXFRM
|
||||
|
||||
/* Define to 1 if wctob is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCTOB
|
||||
|
||||
/* Define to 1 if wctrans is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCTRANS
|
||||
|
||||
/* Define to 1 if wctype is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCTYPE
|
||||
|
||||
/* Define to 1 if wcwidth is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WCWIDTH
|
||||
|
||||
/* Define to 1 if wmemchr is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WMEMCHR
|
||||
|
||||
/* Define to 1 if wmemcmp is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WMEMCMP
|
||||
|
||||
/* Define to 1 if wmemcpy is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WMEMCPY
|
||||
|
||||
/* Define to 1 if wmemmove is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WMEMMOVE
|
||||
|
||||
/* Define to 1 if wmemset is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL_WMEMSET
|
||||
|
||||
/* Define to 1 if _Exit is declared even after undefining macros. */
|
||||
#undef HAVE_RAW_DECL__EXIT
|
||||
/* Define if the 'pthread_rwlock_rdlock' function prefers a writer to a
|
||||
reader. */
|
||||
#undef HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER
|
||||
|
||||
/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
|
||||
#undef HAVE_SIGNED_SIG_ATOMIC_T
|
||||
@ -774,9 +267,6 @@
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the `symlink' function. */
|
||||
#undef HAVE_SYMLINK
|
||||
|
||||
/* Define to 1 if you have the <sys/bitypes.h> header file. */
|
||||
#undef HAVE_SYS_BITYPES_H
|
||||
|
||||
@ -801,6 +291,9 @@
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <threads.h> header file. */
|
||||
#undef HAVE_THREADS_H
|
||||
|
||||
/* Define to 1 if you have the `towlower' function. */
|
||||
#undef HAVE_TOWLOWER
|
||||
|
||||
@ -834,12 +327,6 @@
|
||||
/* Define if you have the 'wint_t' type. */
|
||||
#undef HAVE_WINT_T
|
||||
|
||||
/* Define to 1 if O_NOATIME works. */
|
||||
#undef HAVE_WORKING_O_NOATIME
|
||||
|
||||
/* Define to 1 if O_NOFOLLOW works. */
|
||||
#undef HAVE_WORKING_O_NOFOLLOW
|
||||
|
||||
/* Define to 1 if you have the <xlocale.h> header file. */
|
||||
#undef HAVE_XLOCALE_H
|
||||
|
||||
@ -849,16 +336,6 @@
|
||||
/* define if your compiler has __attribute__ */
|
||||
#undef HAVE___ATTRIBUTE__
|
||||
|
||||
/* Define to 1 if the compiler supports __builtin_expect,
|
||||
and to 2 if <builtins.h> does. */
|
||||
#undef HAVE___BUILTIN_EXPECT
|
||||
#ifndef HAVE___BUILTIN_EXPECT
|
||||
# define __builtin_expect(e, c) (e)
|
||||
#elif HAVE___BUILTIN_EXPECT == 2
|
||||
# include <builtins.h>
|
||||
#endif
|
||||
|
||||
|
||||
/* Define as const if the declaration of iconv() needs const. */
|
||||
#undef ICONV_CONST
|
||||
|
||||
@ -866,6 +343,9 @@
|
||||
implementation. */
|
||||
#undef ICONV_FLAVOR
|
||||
|
||||
/* Define to the latest version of _XOPEN_SOURCE that is supported. */
|
||||
#undef LATEST_XOPEN_SOURCE
|
||||
|
||||
/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */
|
||||
#undef MAP_ANONYMOUS
|
||||
|
||||
@ -918,6 +398,9 @@
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define if the pthread_in_use() detection is hard. */
|
||||
#undef PTHREAD_IN_USE_DETECTION_HARD
|
||||
|
||||
/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
|
||||
'ptrdiff_t'. */
|
||||
#undef PTRDIFF_T_SUFFIX
|
||||
@ -936,6 +419,13 @@
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define if the POSIX multithreading library can be used. */
|
||||
#undef USE_POSIX_THREADS
|
||||
|
||||
/* Define if references to the POSIX multithreading library should be made
|
||||
weak. */
|
||||
#undef USE_POSIX_THREADS_WEAK
|
||||
|
||||
/* Enable extensions on AIX 3, Interix. */
|
||||
#ifndef _ALL_SOURCE
|
||||
# undef _ALL_SOURCE
|
||||
@ -998,12 +488,20 @@
|
||||
#ifndef _XOPEN_SOURCE
|
||||
# undef _XOPEN_SOURCE
|
||||
#endif
|
||||
/* Enable X/Open compliant socket functions that do not require linking
|
||||
with -lxnet on HP-UX 11.11. */
|
||||
#ifndef _HPUX_ALT_XOPEN_SOCKET_API
|
||||
# undef _HPUX_ALT_XOPEN_SOCKET_API
|
||||
#endif
|
||||
/* Enable general extensions on Solaris. */
|
||||
#ifndef __EXTENSIONS__
|
||||
# undef __EXTENSIONS__
|
||||
#endif
|
||||
|
||||
|
||||
/* Define if the native Windows multithreading API can be used. */
|
||||
#undef USE_WINDOWS_THREADS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
@ -1025,12 +523,18 @@
|
||||
#undef _NETBSD_SOURCE
|
||||
|
||||
/* The _Noreturn keyword of C11. */
|
||||
#if ! (defined _Noreturn \
|
||||
|| (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
|
||||
# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
|
||||
|| 0x5110 <= __SUNPRO_C)
|
||||
#ifndef _Noreturn
|
||||
# if (defined __cplusplus \
|
||||
&& ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
|
||||
|| (defined _MSC_VER && 1900 <= _MSC_VER)))
|
||||
# define _Noreturn [[noreturn]]
|
||||
# elif ((!defined __cplusplus || defined __clang__) \
|
||||
&& (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
|
||||
|| 4 < __GNUC__ + (7 <= __GNUC_MINOR__)))
|
||||
/* _Noreturn works as-is. */
|
||||
# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C
|
||||
# define _Noreturn __attribute__ ((__noreturn__))
|
||||
# elif defined _MSC_VER && 1200 <= _MSC_VER
|
||||
# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
|
||||
# define _Noreturn __declspec (noreturn)
|
||||
# else
|
||||
# define _Noreturn
|
||||
@ -1058,10 +562,37 @@
|
||||
/* Define to 1 if the system <stdint.h> predates C++11. */
|
||||
#undef __STDC_LIMIT_MACROS
|
||||
|
||||
/* The _GL_ASYNC_SAFE marker should be attached to functions that are
|
||||
signal handlers (for signals other than SIGABRT, SIGPIPE) or can be
|
||||
invoked from such signal handlers. Such functions have some restrictions:
|
||||
* All functions that it calls should be marked _GL_ASYNC_SAFE as well,
|
||||
or should be listed as async-signal-safe in POSIX
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04>
|
||||
section 2.4.3. Note that malloc(), sprintf(), and fwrite(), in
|
||||
particular, are NOT async-signal-safe.
|
||||
* All memory locations (variables and struct fields) that these functions
|
||||
access must be marked 'volatile'. This holds for both read and write
|
||||
accesses. Otherwise the compiler might optimize away stores to and
|
||||
reads from such locations that occur in the program, depending on its
|
||||
data flow analysis. For example, when the program contains a loop
|
||||
that is intended to inspect a variable set from within a signal handler
|
||||
while (!signal_occurred)
|
||||
;
|
||||
the compiler is allowed to transform this into an endless loop if the
|
||||
variable 'signal_occurred' is not declared 'volatile'.
|
||||
Additionally, recall that:
|
||||
* A signal handler should not modify errno (except if it is a handler
|
||||
for a fatal signal and ends by raising the same signal again, thus
|
||||
provoking the termination of the process). If it invokes a function
|
||||
that may clobber errno, it needs to save and restore the value of
|
||||
errno. */
|
||||
#define _GL_ASYNC_SAFE
|
||||
|
||||
|
||||
/* 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
|
||||
<http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
|
||||
<https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
|
||||
|
||||
Suppress extern inline with Sun C in standards-conformance mode, as it
|
||||
mishandles inline functions that call each other. E.g., for 'inline void f
|
||||
@ -1075,20 +606,32 @@
|
||||
if isdigit is mistakenly implemented via a static inline function,
|
||||
a program containing an extern inline function that calls isdigit
|
||||
may not work since the C standard prohibits extern inline functions
|
||||
from calling static functions. This bug is known to occur on:
|
||||
from calling static functions (ISO C 99 section 6.7.4.(3).
|
||||
This bug is known to occur on:
|
||||
|
||||
OS X 10.8 and earlier; see:
|
||||
http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html
|
||||
https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
|
||||
|
||||
DragonFly; see
|
||||
http://muscles.dragonflybsd.org/bulk/bleeding-edge-potential/latest-per-pkg/ah-tty-0.3.12.log
|
||||
http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log
|
||||
|
||||
FreeBSD; see:
|
||||
http://lists.gnu.org/archive/html/bug-gnulib/2014-07/msg00104.html
|
||||
https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
|
||||
|
||||
OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
|
||||
for clang but remains for g++; see <http://trac.macports.org/ticket/41033>.
|
||||
Assume DragonFly and FreeBSD will be similar. */
|
||||
for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
|
||||
Assume DragonFly and FreeBSD will be similar.
|
||||
|
||||
GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
|
||||
inline semantics, unless -fgnu89-inline is used. It defines a macro
|
||||
__GNUC_STDC_INLINE__ to indicate this situation or a macro
|
||||
__GNUC_GNU_INLINE__ to indicate the opposite situation.
|
||||
GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
|
||||
semantics but warns, unless -fgnu89-inline is used:
|
||||
warning: C99 inline functions are not supported; using GNU89
|
||||
warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
|
||||
It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
|
||||
*/
|
||||
#if (((defined __APPLE__ && defined __MACH__) \
|
||||
|| defined __DragonFly__ || defined __FreeBSD__) \
|
||||
&& (defined __header_inline \
|
||||
@ -1234,3 +777,15 @@
|
||||
# define _GL_ATTRIBUTE_CONST /* empty */
|
||||
#endif
|
||||
|
||||
/* The __malloc__ attribute was added in gcc 3. */
|
||||
#if 3 <= __GNUC__
|
||||
# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
|
||||
#else
|
||||
# define _GL_ATTRIBUTE_MALLOC /* empty */
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* Redefine _XOPEN_SOURCE as required */
|
||||
#include <xopen-source.h>
|
||||
|
||||
|
102
data/Makefile.in
102
data/Makefile.in
@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -17,12 +17,12 @@
|
||||
#########################################################################
|
||||
# #
|
||||
# Star Traders: A Game of Interstellar Trading #
|
||||
# Copyright (C) 1990-2017, John Zaitseff #
|
||||
# Copyright (C) 1990-2019, John Zaitseff #
|
||||
# #
|
||||
#########################################################################
|
||||
|
||||
# Author: John Zaitseff <J.Zaitseff@zap.org.au>
|
||||
# $Id: 46072f58b6d28544c7992ebd359e68464e468132 $
|
||||
# $Id: cecf7f49addcd789ba2910d3e09eab55d858d9eb $
|
||||
#
|
||||
# This file, data/Makefile.am, contains the non-code data directory
|
||||
# Makefile for Star Traders. It needs to be processed by automake to
|
||||
@ -40,7 +40,7 @@
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
# along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
@ -101,6 +101,7 @@ am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
@ -119,19 +120,19 @@ subdir = data
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
|
||||
$(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/assert.m4 \
|
||||
$(top_srcdir)/m4/ax_append_flag.m4 \
|
||||
$(top_srcdir)/m4/ax_c___attribute__.m4 \
|
||||
$(top_srcdir)/m4/ax_cflags_warn_all.m4 \
|
||||
$(top_srcdir)/m4/ax_compiler_vendor.m4 \
|
||||
$(top_srcdir)/m4/ax_prepend_flag.m4 \
|
||||
$(top_srcdir)/m4/ax_require_defined.m4 \
|
||||
$(top_srcdir)/m4/ax_with_curses.m4 $(top_srcdir)/m4/btowc.m4 \
|
||||
$(top_srcdir)/m4/builtin-expect.m4 $(top_srcdir)/m4/codeset.m4 \
|
||||
$(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
|
||||
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
|
||||
$(top_srcdir)/m4/extensions.m4 \
|
||||
$(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
|
||||
$(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettimeofday.m4 \
|
||||
$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
|
||||
$(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/getopt.m4 \
|
||||
$(top_srcdir)/m4/gettimeofday.m4 \
|
||||
$(top_srcdir)/m4/gnulib-common.m4 \
|
||||
$(top_srcdir)/m4/gnulib-comp.m4 \
|
||||
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \
|
||||
$(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
|
||||
$(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \
|
||||
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
|
||||
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
||||
@ -140,25 +141,27 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
|
||||
$(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
|
||||
$(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
|
||||
$(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
|
||||
$(top_srcdir)/m4/localtime-buffer.m4 \
|
||||
$(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
|
||||
$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mbrtowc.m4 \
|
||||
$(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
|
||||
$(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
|
||||
$(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mmap-anon.m4 \
|
||||
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nocrash.m4 \
|
||||
$(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/ssize_t.m4 \
|
||||
$(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
|
||||
$(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
|
||||
$(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/string_h.m4 \
|
||||
$(top_srcdir)/m4/strstr.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
|
||||
$(top_srcdir)/m4/monetary_h.m4 $(top_srcdir)/m4/multiarch.m4 \
|
||||
$(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \
|
||||
$(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
|
||||
$(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
|
||||
$(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
|
||||
$(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
|
||||
$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
|
||||
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
|
||||
$(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/time_h.m4 \
|
||||
$(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/warn-on-use.m4 \
|
||||
$(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
|
||||
$(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wcsdup.m4 \
|
||||
$(top_srcdir)/m4/wctob.m4 $(top_srcdir)/m4/wctomb.m4 \
|
||||
$(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \
|
||||
$(top_srcdir)/m4/wmemcpy.m4 $(top_srcdir)/configure.ac
|
||||
$(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/threadlib.m4 \
|
||||
$(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
|
||||
$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wchar_h.m4 \
|
||||
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \
|
||||
$(top_srcdir)/m4/wcsdup.m4 $(top_srcdir)/m4/wctob.m4 \
|
||||
$(top_srcdir)/m4/wctomb.m4 $(top_srcdir)/m4/wctype_h.m4 \
|
||||
$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/wmemcpy.m4 \
|
||||
$(top_srcdir)/m4/xopen-source.m4 $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(dist_desktop_DATA) \
|
||||
@ -233,7 +236,6 @@ DATA = $(dist_desktop_DATA) $(dist_icons128_DATA) $(dist_icons16_DATA) \
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
am__DIST_COMMON = $(srcdir)/Makefile.in README
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
pkglibexecdir = @pkglibexecdir@
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
@ -267,9 +269,9 @@ EXEEXT = @EXEEXT@
|
||||
GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
|
||||
GETOPT_H = @GETOPT_H@
|
||||
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GMSGFMT_015 = @GMSGFMT_015@
|
||||
GNULIB_ACCESS = @GNULIB_ACCESS@
|
||||
GNULIB_ATOLL = @GNULIB_ATOLL@
|
||||
GNULIB_BTOWC = @GNULIB_BTOWC@
|
||||
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
|
||||
@ -277,6 +279,7 @@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
|
||||
GNULIB_CHDIR = @GNULIB_CHDIR@
|
||||
GNULIB_CHOWN = @GNULIB_CHOWN@
|
||||
GNULIB_CLOSE = @GNULIB_CLOSE@
|
||||
GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
|
||||
GNULIB_CTIME = @GNULIB_CTIME@
|
||||
GNULIB_DPRINTF = @GNULIB_DPRINTF@
|
||||
GNULIB_DUP = @GNULIB_DUP@
|
||||
@ -330,6 +333,7 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
|
||||
GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
|
||||
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
|
||||
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
|
||||
GNULIB_GETPASS = @GNULIB_GETPASS@
|
||||
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
|
||||
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
|
||||
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
|
||||
@ -345,6 +349,7 @@ GNULIB_LCHOWN = @GNULIB_LCHOWN@
|
||||
GNULIB_LINK = @GNULIB_LINK@
|
||||
GNULIB_LINKAT = @GNULIB_LINKAT@
|
||||
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
|
||||
GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
|
||||
GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
|
||||
GNULIB_LSEEK = @GNULIB_LSEEK@
|
||||
GNULIB_LSTAT = @GNULIB_LSTAT@
|
||||
@ -438,6 +443,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
|
||||
GNULIB_STRDUP = @GNULIB_STRDUP@
|
||||
GNULIB_STRERROR = @GNULIB_STRERROR@
|
||||
GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
|
||||
GNULIB_STRFMON_L = @GNULIB_STRFMON_L@
|
||||
GNULIB_STRFTIME = @GNULIB_STRFTIME@
|
||||
GNULIB_STRNCAT = @GNULIB_STRNCAT@
|
||||
GNULIB_STRNDUP = @GNULIB_STRNDUP@
|
||||
@ -449,6 +455,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
|
||||
GNULIB_STRSTR = @GNULIB_STRSTR@
|
||||
GNULIB_STRTOD = @GNULIB_STRTOD@
|
||||
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
|
||||
GNULIB_STRTOLD = @GNULIB_STRTOLD@
|
||||
GNULIB_STRTOLL = @GNULIB_STRTOLL@
|
||||
GNULIB_STRTOULL = @GNULIB_STRTOULL@
|
||||
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
|
||||
@ -526,6 +533,7 @@ HAVE_BTOWC = @HAVE_BTOWC@
|
||||
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
|
||||
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
|
||||
HAVE_CHOWN = @HAVE_CHOWN@
|
||||
HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
|
||||
HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
|
||||
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
|
||||
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
|
||||
@ -556,6 +564,7 @@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
|
||||
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
|
||||
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
|
||||
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
|
||||
HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
|
||||
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
|
||||
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
|
||||
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
|
||||
@ -575,6 +584,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
|
||||
HAVE_FEATURES_H = @HAVE_FEATURES_H@
|
||||
HAVE_FFSL = @HAVE_FFSL@
|
||||
HAVE_FFSLL = @HAVE_FFSLL@
|
||||
HAVE_FREELOCALE = @HAVE_FREELOCALE@
|
||||
HAVE_FSEEKO = @HAVE_FSEEKO@
|
||||
HAVE_FSTATAT = @HAVE_FSTATAT@
|
||||
HAVE_FSYNC = @HAVE_FSYNC@
|
||||
@ -587,10 +597,12 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
|
||||
HAVE_GETLOGIN = @HAVE_GETLOGIN@
|
||||
HAVE_GETOPT_H = @HAVE_GETOPT_H@
|
||||
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
|
||||
HAVE_GETPASS = @HAVE_GETPASS@
|
||||
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
|
||||
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
|
||||
HAVE_GRANTPT = @HAVE_GRANTPT@
|
||||
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
|
||||
HAVE_INITSTATE = @HAVE_INITSTATE@
|
||||
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
|
||||
HAVE_ISWBLANK = @HAVE_ISWBLANK@
|
||||
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
|
||||
@ -607,6 +619,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@
|
||||
HAVE_MBSLEN = @HAVE_MBSLEN@
|
||||
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
|
||||
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
|
||||
HAVE_MBTOWC = @HAVE_MBTOWC@
|
||||
HAVE_MEMCHR = @HAVE_MEMCHR@
|
||||
HAVE_MEMPCPY = @HAVE_MEMPCPY@
|
||||
HAVE_MKDIRAT = @HAVE_MKDIRAT@
|
||||
@ -619,7 +632,9 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
|
||||
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
|
||||
HAVE_MKSTEMP = @HAVE_MKSTEMP@
|
||||
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
|
||||
HAVE_MONETARY_H = @HAVE_MONETARY_H@
|
||||
HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
|
||||
HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
|
||||
HAVE_OS_H = @HAVE_OS_H@
|
||||
HAVE_PCLOSE = @HAVE_PCLOSE@
|
||||
HAVE_PIPE = @HAVE_PIPE@
|
||||
@ -644,6 +659,7 @@ HAVE_RPMATCH = @HAVE_RPMATCH@
|
||||
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
|
||||
HAVE_SETENV = @HAVE_SETENV@
|
||||
HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
|
||||
HAVE_SETSTATE = @HAVE_SETSTATE@
|
||||
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
|
||||
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
|
||||
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
|
||||
@ -653,10 +669,12 @@ HAVE_STPCPY = @HAVE_STPCPY@
|
||||
HAVE_STPNCPY = @HAVE_STPNCPY@
|
||||
HAVE_STRCASESTR = @HAVE_STRCASESTR@
|
||||
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
|
||||
HAVE_STRFMON_L = @HAVE_STRFMON_L@
|
||||
HAVE_STRPBRK = @HAVE_STRPBRK@
|
||||
HAVE_STRPTIME = @HAVE_STRPTIME@
|
||||
HAVE_STRSEP = @HAVE_STRSEP@
|
||||
HAVE_STRTOD = @HAVE_STRTOD@
|
||||
HAVE_STRTOLD = @HAVE_STRTOLD@
|
||||
HAVE_STRTOLL = @HAVE_STRTOLL@
|
||||
HAVE_STRTOULL = @HAVE_STRTOULL@
|
||||
HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
|
||||
@ -673,7 +691,6 @@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
|
||||
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
|
||||
HAVE_TIMEGM = @HAVE_TIMEGM@
|
||||
HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
|
||||
HAVE_TRUNCATE = @HAVE_TRUNCATE@
|
||||
HAVE_TZSET = @HAVE_TZSET@
|
||||
HAVE_UNISTD_H = @HAVE_UNISTD_H@
|
||||
HAVE_UNLINKAT = @HAVE_UNLINKAT@
|
||||
@ -741,8 +758,10 @@ LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@
|
||||
LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBINTL = @LIBINTL@
|
||||
LIBMULTITHREAD = @LIBMULTITHREAD@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTHREAD = @LIBTHREAD@
|
||||
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
|
||||
LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
|
||||
LIMITS_H = @LIMITS_H@
|
||||
@ -753,10 +772,13 @@ LOCALE_JA = @LOCALE_JA@
|
||||
LOCALE_ZH_CN = @LOCALE_ZH_CN@
|
||||
LTLIBICONV = @LTLIBICONV@
|
||||
LTLIBINTL = @LTLIBINTL@
|
||||
LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LTLIBTHREAD = @LTLIBTHREAD@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MONETARY_H = @MONETARY_H@
|
||||
MSGFMT = @MSGFMT@
|
||||
MSGFMT_015 = @MSGFMT_015@
|
||||
MSGMERGE = @MSGMERGE@
|
||||
@ -764,6 +786,7 @@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_MONETARY_H = @NEXT_AS_FIRST_DIRECTIVE_MONETARY_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
|
||||
@ -780,6 +803,7 @@ NEXT_GETOPT_H = @NEXT_GETOPT_H@
|
||||
NEXT_ICONV_H = @NEXT_ICONV_H@
|
||||
NEXT_LIMITS_H = @NEXT_LIMITS_H@
|
||||
NEXT_LOCALE_H = @NEXT_LOCALE_H@
|
||||
NEXT_MONETARY_H = @NEXT_MONETARY_H@
|
||||
NEXT_STDDEF_H = @NEXT_STDDEF_H@
|
||||
NEXT_STDINT_H = @NEXT_STDINT_H@
|
||||
NEXT_STDIO_H = @NEXT_STDIO_H@
|
||||
@ -810,6 +834,7 @@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
|
||||
PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
|
||||
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
|
||||
RANLIB = @RANLIB@
|
||||
REPLACE_ACCESS = @REPLACE_ACCESS@
|
||||
REPLACE_BTOWC = @REPLACE_BTOWC@
|
||||
REPLACE_CALLOC = @REPLACE_CALLOC@
|
||||
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
|
||||
@ -820,6 +845,7 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
|
||||
REPLACE_DUP = @REPLACE_DUP@
|
||||
REPLACE_DUP2 = @REPLACE_DUP2@
|
||||
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
|
||||
REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
|
||||
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
|
||||
REPLACE_FCLOSE = @REPLACE_FCLOSE@
|
||||
REPLACE_FDOPEN = @REPLACE_FDOPEN@
|
||||
@ -827,6 +853,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
|
||||
REPLACE_FOPEN = @REPLACE_FOPEN@
|
||||
REPLACE_FPRINTF = @REPLACE_FPRINTF@
|
||||
REPLACE_FPURGE = @REPLACE_FPURGE@
|
||||
REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
|
||||
REPLACE_FREOPEN = @REPLACE_FREOPEN@
|
||||
REPLACE_FSEEK = @REPLACE_FSEEK@
|
||||
REPLACE_FSEEKO = @REPLACE_FSEEKO@
|
||||
@ -844,11 +871,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
|
||||
REPLACE_GETLINE = @REPLACE_GETLINE@
|
||||
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
|
||||
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
|
||||
REPLACE_GETPASS = @REPLACE_GETPASS@
|
||||
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
|
||||
REPLACE_GMTIME = @REPLACE_GMTIME@
|
||||
REPLACE_ICONV = @REPLACE_ICONV@
|
||||
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
|
||||
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
|
||||
REPLACE_INITSTATE = @REPLACE_INITSTATE@
|
||||
REPLACE_ISATTY = @REPLACE_ISATTY@
|
||||
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
|
||||
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
|
||||
@ -876,6 +905,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
|
||||
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
|
||||
REPLACE_MKTIME = @REPLACE_MKTIME@
|
||||
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
|
||||
REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
|
||||
REPLACE_NULL = @REPLACE_NULL@
|
||||
REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
|
||||
REPLACE_PERROR = @REPLACE_PERROR@
|
||||
@ -887,6 +917,7 @@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
|
||||
REPLACE_PUTENV = @REPLACE_PUTENV@
|
||||
REPLACE_PWRITE = @REPLACE_PWRITE@
|
||||
REPLACE_QSORT_R = @REPLACE_QSORT_R@
|
||||
REPLACE_RANDOM = @REPLACE_RANDOM@
|
||||
REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
|
||||
REPLACE_READ = @REPLACE_READ@
|
||||
REPLACE_READLINK = @REPLACE_READLINK@
|
||||
@ -899,6 +930,7 @@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
|
||||
REPLACE_RMDIR = @REPLACE_RMDIR@
|
||||
REPLACE_SETENV = @REPLACE_SETENV@
|
||||
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
|
||||
REPLACE_SETSTATE = @REPLACE_SETSTATE@
|
||||
REPLACE_SLEEP = @REPLACE_SLEEP@
|
||||
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
|
||||
REPLACE_SPRINTF = @REPLACE_SPRINTF@
|
||||
@ -911,6 +943,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
|
||||
REPLACE_STRDUP = @REPLACE_STRDUP@
|
||||
REPLACE_STRERROR = @REPLACE_STRERROR@
|
||||
REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
|
||||
REPLACE_STRFMON_L = @REPLACE_STRFMON_L@
|
||||
REPLACE_STRFTIME = @REPLACE_STRFTIME@
|
||||
REPLACE_STRNCAT = @REPLACE_STRNCAT@
|
||||
REPLACE_STRNDUP = @REPLACE_STRNDUP@
|
||||
@ -919,6 +952,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
|
||||
REPLACE_STRSTR = @REPLACE_STRSTR@
|
||||
REPLACE_STRTOD = @REPLACE_STRTOD@
|
||||
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
|
||||
REPLACE_STRTOLD = @REPLACE_STRTOLD@
|
||||
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
|
||||
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
|
||||
REPLACE_SYMLINK = @REPLACE_SYMLINK@
|
||||
@ -1015,7 +1049,6 @@ infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
lispdir = @lispdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
@ -1081,8 +1114,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
@ -1352,7 +1385,10 @@ ctags CTAGS:
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
distdir-am: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
|
@ -1,12 +1,12 @@
|
||||
#########################################################################
|
||||
# #
|
||||
# Star Traders: A Game of Interstellar Trading #
|
||||
# Copyright (C) 1990-2017, John Zaitseff #
|
||||
# Copyright (C) 1990-2019, John Zaitseff #
|
||||
# #
|
||||
#########################################################################
|
||||
|
||||
# Author: John Zaitseff <J.Zaitseff@zap.org.au>
|
||||
# $Id: 6fa6bec365e5b1e17b2eaebf3a9843aa5c451e22 $
|
||||
# $Id: f8e3e64b8d5bdf73079c79ae778aba1666f679a6 $
|
||||
|
||||
# This file provides a translated desktop entry for Star Traders and
|
||||
# conforms to the Desktop Entry Specification v1.1.
|
||||
@ -62,10 +62,12 @@ Keywords[en_GB]=game;interstellar;trading;strategy;
|
||||
Keywords[en_US]=game;interstellar;trading;strategy;
|
||||
Keywords[da]=spil;interstellar;handel;strategi;
|
||||
Keywords[de]=spiel;universum;galaxie;handel;strategie;
|
||||
Keywords[eo]=ludo;kosmo;negoco;strategio;
|
||||
Keywords[fr]=jeu;interstellaire;commerce;stratégie;
|
||||
Keywords[hu]=játék;csillagközi;kereskedés;stratégia;
|
||||
Keywords[nb]=spill;interstellar;handel;strategi;
|
||||
Keywords[ru]=игра;межзвёздная;торговля;стратегия;
|
||||
Keywords[sr]=игра;међузвездано;трговање;стратегиј;
|
||||
Keywords[sv]=spel;interstellär;handel;strategi;
|
||||
Keywords=game;interstellar;trading;strategy;
|
||||
# TRANSLATORS: This string is the name of the icon to use. The Desktop
|
||||
|
102
doc/Makefile.in
102
doc/Makefile.in
@ -1,7 +1,7 @@
|
||||
# Makefile.in generated by automake 1.15.1 from Makefile.am.
|
||||
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
@ -17,12 +17,12 @@
|
||||
#########################################################################
|
||||
# #
|
||||
# Star Traders: A Game of Interstellar Trading #
|
||||
# Copyright (C) 1990-2017, John Zaitseff #
|
||||
# Copyright (C) 1990-2019, John Zaitseff #
|
||||
# #
|
||||
#########################################################################
|
||||
|
||||
# Author: John Zaitseff <J.Zaitseff@zap.org.au>
|
||||
# $Id: d327088affc02929d70a6b728e1255b51ce74f3f $
|
||||
# $Id: fc8c0510914a0abae12ab728bc4c352038bb48fd $
|
||||
#
|
||||
# This file, doc/Makefile.am, contains the documentation directory
|
||||
# Makefile for Star Traders. It needs to be processed by automake to
|
||||
@ -40,7 +40,7 @@
|
||||
# General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
# along with this program. If not, see https://www.gnu.org/licenses/.
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = { \
|
||||
if test -z '$(MAKELEVEL)'; then \
|
||||
@ -100,6 +100,7 @@ am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
@ -118,19 +119,19 @@ subdir = doc
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
|
||||
$(top_srcdir)/m4/absolute-header.m4 $(top_srcdir)/m4/assert.m4 \
|
||||
$(top_srcdir)/m4/ax_append_flag.m4 \
|
||||
$(top_srcdir)/m4/ax_c___attribute__.m4 \
|
||||
$(top_srcdir)/m4/ax_cflags_warn_all.m4 \
|
||||
$(top_srcdir)/m4/ax_compiler_vendor.m4 \
|
||||
$(top_srcdir)/m4/ax_prepend_flag.m4 \
|
||||
$(top_srcdir)/m4/ax_require_defined.m4 \
|
||||
$(top_srcdir)/m4/ax_with_curses.m4 $(top_srcdir)/m4/btowc.m4 \
|
||||
$(top_srcdir)/m4/builtin-expect.m4 $(top_srcdir)/m4/codeset.m4 \
|
||||
$(top_srcdir)/m4/config-h.m4 $(top_srcdir)/m4/configmake.m4 \
|
||||
$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/config-h.m4 \
|
||||
$(top_srcdir)/m4/extensions.m4 \
|
||||
$(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/fcntl-o.m4 \
|
||||
$(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettimeofday.m4 \
|
||||
$(top_srcdir)/m4/glibc21.m4 $(top_srcdir)/m4/gnulib-common.m4 \
|
||||
$(top_srcdir)/m4/extern-inline.m4 $(top_srcdir)/m4/getopt.m4 \
|
||||
$(top_srcdir)/m4/gettimeofday.m4 \
|
||||
$(top_srcdir)/m4/gnulib-common.m4 \
|
||||
$(top_srcdir)/m4/gnulib-comp.m4 \
|
||||
$(top_srcdir)/m4/hard-locale.m4 $(top_srcdir)/m4/iconv.m4 \
|
||||
$(top_srcdir)/m4/host-cpu-c-abi.m4 $(top_srcdir)/m4/iconv.m4 \
|
||||
$(top_srcdir)/m4/iconv_h.m4 $(top_srcdir)/m4/iconv_open.m4 \
|
||||
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inline.m4 \
|
||||
$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
|
||||
@ -139,25 +140,27 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
|
||||
$(top_srcdir)/m4/limits-h.m4 $(top_srcdir)/m4/localcharset.m4 \
|
||||
$(top_srcdir)/m4/locale-fr.m4 $(top_srcdir)/m4/locale-ja.m4 \
|
||||
$(top_srcdir)/m4/locale-zh.m4 $(top_srcdir)/m4/locale_h.m4 \
|
||||
$(top_srcdir)/m4/localtime-buffer.m4 \
|
||||
$(top_srcdir)/m4/localtime-buffer.m4 $(top_srcdir)/m4/lock.m4 \
|
||||
$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mbrtowc.m4 \
|
||||
$(top_srcdir)/m4/mbsinit.m4 $(top_srcdir)/m4/mbsrtowcs.m4 \
|
||||
$(top_srcdir)/m4/mbstate_t.m4 $(top_srcdir)/m4/mbtowc.m4 \
|
||||
$(top_srcdir)/m4/memchr.m4 $(top_srcdir)/m4/mmap-anon.m4 \
|
||||
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nocrash.m4 \
|
||||
$(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/ssize_t.m4 \
|
||||
$(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
|
||||
$(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
|
||||
$(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/string_h.m4 \
|
||||
$(top_srcdir)/m4/strstr.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
|
||||
$(top_srcdir)/m4/monetary_h.m4 $(top_srcdir)/m4/multiarch.m4 \
|
||||
$(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \
|
||||
$(top_srcdir)/m4/pthread_rwlock_rdlock.m4 \
|
||||
$(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/stdbool.m4 \
|
||||
$(top_srcdir)/m4/stddef_h.m4 $(top_srcdir)/m4/stdint.m4 \
|
||||
$(top_srcdir)/m4/stdio_h.m4 $(top_srcdir)/m4/stdlib_h.m4 \
|
||||
$(top_srcdir)/m4/string_h.m4 $(top_srcdir)/m4/sys_socket_h.m4 \
|
||||
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
|
||||
$(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/time_h.m4 \
|
||||
$(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/warn-on-use.m4 \
|
||||
$(top_srcdir)/m4/wchar_h.m4 $(top_srcdir)/m4/wchar_t.m4 \
|
||||
$(top_srcdir)/m4/wcrtomb.m4 $(top_srcdir)/m4/wcsdup.m4 \
|
||||
$(top_srcdir)/m4/wctob.m4 $(top_srcdir)/m4/wctomb.m4 \
|
||||
$(top_srcdir)/m4/wctype_h.m4 $(top_srcdir)/m4/wint_t.m4 \
|
||||
$(top_srcdir)/m4/wmemcpy.m4 $(top_srcdir)/configure.ac
|
||||
$(top_srcdir)/m4/sys_types_h.m4 $(top_srcdir)/m4/threadlib.m4 \
|
||||
$(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/unistd_h.m4 \
|
||||
$(top_srcdir)/m4/warn-on-use.m4 $(top_srcdir)/m4/wchar_h.m4 \
|
||||
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/wcrtomb.m4 \
|
||||
$(top_srcdir)/m4/wcsdup.m4 $(top_srcdir)/m4/wctob.m4 \
|
||||
$(top_srcdir)/m4/wctomb.m4 $(top_srcdir)/m4/wctype_h.m4 \
|
||||
$(top_srcdir)/m4/wint_t.m4 $(top_srcdir)/m4/wmemcpy.m4 \
|
||||
$(top_srcdir)/m4/xopen-source.m4 $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
|
||||
@ -218,7 +221,6 @@ MANS = $(dist_man6_MANS)
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
am__DIST_COMMON = $(dist_man6_MANS) $(srcdir)/Makefile.in README
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
pkglibexecdir = @pkglibexecdir@
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
@ -252,9 +254,9 @@ EXEEXT = @EXEEXT@
|
||||
GETOPT_CDEFS_H = @GETOPT_CDEFS_H@
|
||||
GETOPT_H = @GETOPT_H@
|
||||
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
|
||||
GLIBC21 = @GLIBC21@
|
||||
GMSGFMT = @GMSGFMT@
|
||||
GMSGFMT_015 = @GMSGFMT_015@
|
||||
GNULIB_ACCESS = @GNULIB_ACCESS@
|
||||
GNULIB_ATOLL = @GNULIB_ATOLL@
|
||||
GNULIB_BTOWC = @GNULIB_BTOWC@
|
||||
GNULIB_CALLOC_POSIX = @GNULIB_CALLOC_POSIX@
|
||||
@ -262,6 +264,7 @@ GNULIB_CANONICALIZE_FILE_NAME = @GNULIB_CANONICALIZE_FILE_NAME@
|
||||
GNULIB_CHDIR = @GNULIB_CHDIR@
|
||||
GNULIB_CHOWN = @GNULIB_CHOWN@
|
||||
GNULIB_CLOSE = @GNULIB_CLOSE@
|
||||
GNULIB_COPY_FILE_RANGE = @GNULIB_COPY_FILE_RANGE@
|
||||
GNULIB_CTIME = @GNULIB_CTIME@
|
||||
GNULIB_DPRINTF = @GNULIB_DPRINTF@
|
||||
GNULIB_DUP = @GNULIB_DUP@
|
||||
@ -315,6 +318,7 @@ GNULIB_GETLOADAVG = @GNULIB_GETLOADAVG@
|
||||
GNULIB_GETLOGIN = @GNULIB_GETLOGIN@
|
||||
GNULIB_GETLOGIN_R = @GNULIB_GETLOGIN_R@
|
||||
GNULIB_GETPAGESIZE = @GNULIB_GETPAGESIZE@
|
||||
GNULIB_GETPASS = @GNULIB_GETPASS@
|
||||
GNULIB_GETSUBOPT = @GNULIB_GETSUBOPT@
|
||||
GNULIB_GETTIMEOFDAY = @GNULIB_GETTIMEOFDAY@
|
||||
GNULIB_GETUSERSHELL = @GNULIB_GETUSERSHELL@
|
||||
@ -330,6 +334,7 @@ GNULIB_LCHOWN = @GNULIB_LCHOWN@
|
||||
GNULIB_LINK = @GNULIB_LINK@
|
||||
GNULIB_LINKAT = @GNULIB_LINKAT@
|
||||
GNULIB_LOCALECONV = @GNULIB_LOCALECONV@
|
||||
GNULIB_LOCALENAME = @GNULIB_LOCALENAME@
|
||||
GNULIB_LOCALTIME = @GNULIB_LOCALTIME@
|
||||
GNULIB_LSEEK = @GNULIB_LSEEK@
|
||||
GNULIB_LSTAT = @GNULIB_LSTAT@
|
||||
@ -423,6 +428,7 @@ GNULIB_STRCHRNUL = @GNULIB_STRCHRNUL@
|
||||
GNULIB_STRDUP = @GNULIB_STRDUP@
|
||||
GNULIB_STRERROR = @GNULIB_STRERROR@
|
||||
GNULIB_STRERROR_R = @GNULIB_STRERROR_R@
|
||||
GNULIB_STRFMON_L = @GNULIB_STRFMON_L@
|
||||
GNULIB_STRFTIME = @GNULIB_STRFTIME@
|
||||
GNULIB_STRNCAT = @GNULIB_STRNCAT@
|
||||
GNULIB_STRNDUP = @GNULIB_STRNDUP@
|
||||
@ -434,6 +440,7 @@ GNULIB_STRSIGNAL = @GNULIB_STRSIGNAL@
|
||||
GNULIB_STRSTR = @GNULIB_STRSTR@
|
||||
GNULIB_STRTOD = @GNULIB_STRTOD@
|
||||
GNULIB_STRTOK_R = @GNULIB_STRTOK_R@
|
||||
GNULIB_STRTOLD = @GNULIB_STRTOLD@
|
||||
GNULIB_STRTOLL = @GNULIB_STRTOLL@
|
||||
GNULIB_STRTOULL = @GNULIB_STRTOULL@
|
||||
GNULIB_STRVERSCMP = @GNULIB_STRVERSCMP@
|
||||
@ -511,6 +518,7 @@ HAVE_BTOWC = @HAVE_BTOWC@
|
||||
HAVE_C99_STDINT_H = @HAVE_C99_STDINT_H@
|
||||
HAVE_CANONICALIZE_FILE_NAME = @HAVE_CANONICALIZE_FILE_NAME@
|
||||
HAVE_CHOWN = @HAVE_CHOWN@
|
||||
HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
|
||||
HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
|
||||
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
|
||||
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
|
||||
@ -541,6 +549,7 @@ HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
|
||||
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
|
||||
HAVE_DECL_STRSIGNAL = @HAVE_DECL_STRSIGNAL@
|
||||
HAVE_DECL_STRTOK_R = @HAVE_DECL_STRTOK_R@
|
||||
HAVE_DECL_TRUNCATE = @HAVE_DECL_TRUNCATE@
|
||||
HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
|
||||
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
|
||||
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
|
||||
@ -560,6 +569,7 @@ HAVE_FDATASYNC = @HAVE_FDATASYNC@
|
||||
HAVE_FEATURES_H = @HAVE_FEATURES_H@
|
||||
HAVE_FFSL = @HAVE_FFSL@
|
||||
HAVE_FFSLL = @HAVE_FFSLL@
|
||||
HAVE_FREELOCALE = @HAVE_FREELOCALE@
|
||||
HAVE_FSEEKO = @HAVE_FSEEKO@
|
||||
HAVE_FSTATAT = @HAVE_FSTATAT@
|
||||
HAVE_FSYNC = @HAVE_FSYNC@
|
||||
@ -572,10 +582,12 @@ HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
|
||||
HAVE_GETLOGIN = @HAVE_GETLOGIN@
|
||||
HAVE_GETOPT_H = @HAVE_GETOPT_H@
|
||||
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
|
||||
HAVE_GETPASS = @HAVE_GETPASS@
|
||||
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
|
||||
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
|
||||
HAVE_GRANTPT = @HAVE_GRANTPT@
|
||||
HAVE_GROUP_MEMBER = @HAVE_GROUP_MEMBER@
|
||||
HAVE_INITSTATE = @HAVE_INITSTATE@
|
||||
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
|
||||
HAVE_ISWBLANK = @HAVE_ISWBLANK@
|
||||
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
|
||||
@ -592,6 +604,7 @@ HAVE_MBSINIT = @HAVE_MBSINIT@
|
||||
HAVE_MBSLEN = @HAVE_MBSLEN@
|
||||
HAVE_MBSNRTOWCS = @HAVE_MBSNRTOWCS@
|
||||
HAVE_MBSRTOWCS = @HAVE_MBSRTOWCS@
|
||||
HAVE_MBTOWC = @HAVE_MBTOWC@
|
||||
HAVE_MEMCHR = @HAVE_MEMCHR@
|
||||
HAVE_MEMPCPY = @HAVE_MEMPCPY@
|
||||
HAVE_MKDIRAT = @HAVE_MKDIRAT@
|
||||
@ -604,7 +617,9 @@ HAVE_MKOSTEMP = @HAVE_MKOSTEMP@
|
||||
HAVE_MKOSTEMPS = @HAVE_MKOSTEMPS@
|
||||
HAVE_MKSTEMP = @HAVE_MKSTEMP@
|
||||
HAVE_MKSTEMPS = @HAVE_MKSTEMPS@
|
||||
HAVE_MONETARY_H = @HAVE_MONETARY_H@
|
||||
HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
|
||||
HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
|
||||
HAVE_OS_H = @HAVE_OS_H@
|
||||
HAVE_PCLOSE = @HAVE_PCLOSE@
|
||||
HAVE_PIPE = @HAVE_PIPE@
|
||||
@ -629,6 +644,7 @@ HAVE_RPMATCH = @HAVE_RPMATCH@
|
||||
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
|
||||
HAVE_SETENV = @HAVE_SETENV@
|
||||
HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
|
||||
HAVE_SETSTATE = @HAVE_SETSTATE@
|
||||
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
|
||||
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
|
||||
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
|
||||
@ -638,10 +654,12 @@ HAVE_STPCPY = @HAVE_STPCPY@
|
||||
HAVE_STPNCPY = @HAVE_STPNCPY@
|
||||
HAVE_STRCASESTR = @HAVE_STRCASESTR@
|
||||
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
|
||||
HAVE_STRFMON_L = @HAVE_STRFMON_L@
|
||||
HAVE_STRPBRK = @HAVE_STRPBRK@
|
||||
HAVE_STRPTIME = @HAVE_STRPTIME@
|
||||
HAVE_STRSEP = @HAVE_STRSEP@
|
||||
HAVE_STRTOD = @HAVE_STRTOD@
|
||||
HAVE_STRTOLD = @HAVE_STRTOLD@
|
||||
HAVE_STRTOLL = @HAVE_STRTOLL@
|
||||
HAVE_STRTOULL = @HAVE_STRTOULL@
|
||||
HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
|
||||
@ -658,7 +676,6 @@ HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
|
||||
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
|
||||
HAVE_TIMEGM = @HAVE_TIMEGM@
|
||||
HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
|
||||
HAVE_TRUNCATE = @HAVE_TRUNCATE@
|
||||
HAVE_TZSET = @HAVE_TZSET@
|
||||
HAVE_UNISTD_H = @HAVE_UNISTD_H@
|
||||
HAVE_UNLINKAT = @HAVE_UNLINKAT@
|
||||
@ -726,8 +743,10 @@ LIBGNU_LIBDEPS = @LIBGNU_LIBDEPS@
|
||||
LIBGNU_LTLIBDEPS = @LIBGNU_LTLIBDEPS@
|
||||
LIBICONV = @LIBICONV@
|
||||
LIBINTL = @LIBINTL@
|
||||
LIBMULTITHREAD = @LIBMULTITHREAD@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTHREAD = @LIBTHREAD@
|
||||
LIBUNISTRING_UNISTR_H = @LIBUNISTRING_UNISTR_H@
|
||||
LIBUNISTRING_UNITYPES_H = @LIBUNISTRING_UNITYPES_H@
|
||||
LIMITS_H = @LIMITS_H@
|
||||
@ -738,10 +757,13 @@ LOCALE_JA = @LOCALE_JA@
|
||||
LOCALE_ZH_CN = @LOCALE_ZH_CN@
|
||||
LTLIBICONV = @LTLIBICONV@
|
||||
LTLIBINTL = @LTLIBINTL@
|
||||
LTLIBMULTITHREAD = @LTLIBMULTITHREAD@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
LTLIBTHREAD = @LTLIBTHREAD@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MONETARY_H = @MONETARY_H@
|
||||
MSGFMT = @MSGFMT@
|
||||
MSGFMT_015 = @MSGFMT_015@
|
||||
MSGMERGE = @MSGMERGE@
|
||||
@ -749,6 +771,7 @@ NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_ICONV_H = @NEXT_AS_FIRST_DIRECTIVE_ICONV_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_MONETARY_H = @NEXT_AS_FIRST_DIRECTIVE_MONETARY_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
|
||||
NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
|
||||
@ -765,6 +788,7 @@ NEXT_GETOPT_H = @NEXT_GETOPT_H@
|
||||
NEXT_ICONV_H = @NEXT_ICONV_H@
|
||||
NEXT_LIMITS_H = @NEXT_LIMITS_H@
|
||||
NEXT_LOCALE_H = @NEXT_LOCALE_H@
|
||||
NEXT_MONETARY_H = @NEXT_MONETARY_H@
|
||||
NEXT_STDDEF_H = @NEXT_STDDEF_H@
|
||||
NEXT_STDINT_H = @NEXT_STDINT_H@
|
||||
NEXT_STDIO_H = @NEXT_STDIO_H@
|
||||
@ -795,6 +819,7 @@ PRAGMA_SYSTEM_HEADER = @PRAGMA_SYSTEM_HEADER@
|
||||
PTHREAD_H_DEFINES_STRUCT_TIMESPEC = @PTHREAD_H_DEFINES_STRUCT_TIMESPEC@
|
||||
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
|
||||
RANLIB = @RANLIB@
|
||||
REPLACE_ACCESS = @REPLACE_ACCESS@
|
||||
REPLACE_BTOWC = @REPLACE_BTOWC@
|
||||
REPLACE_CALLOC = @REPLACE_CALLOC@
|
||||
REPLACE_CANONICALIZE_FILE_NAME = @REPLACE_CANONICALIZE_FILE_NAME@
|
||||
@ -805,6 +830,7 @@ REPLACE_DPRINTF = @REPLACE_DPRINTF@
|
||||
REPLACE_DUP = @REPLACE_DUP@
|
||||
REPLACE_DUP2 = @REPLACE_DUP2@
|
||||
REPLACE_DUPLOCALE = @REPLACE_DUPLOCALE@
|
||||
REPLACE_FACCESSAT = @REPLACE_FACCESSAT@
|
||||
REPLACE_FCHOWNAT = @REPLACE_FCHOWNAT@
|
||||
REPLACE_FCLOSE = @REPLACE_FCLOSE@
|
||||
REPLACE_FDOPEN = @REPLACE_FDOPEN@
|
||||
@ -812,6 +838,7 @@ REPLACE_FFLUSH = @REPLACE_FFLUSH@
|
||||
REPLACE_FOPEN = @REPLACE_FOPEN@
|
||||
REPLACE_FPRINTF = @REPLACE_FPRINTF@
|
||||
REPLACE_FPURGE = @REPLACE_FPURGE@
|
||||
REPLACE_FREELOCALE = @REPLACE_FREELOCALE@
|
||||
REPLACE_FREOPEN = @REPLACE_FREOPEN@
|
||||
REPLACE_FSEEK = @REPLACE_FSEEK@
|
||||
REPLACE_FSEEKO = @REPLACE_FSEEKO@
|
||||
@ -829,11 +856,13 @@ REPLACE_GETGROUPS = @REPLACE_GETGROUPS@
|
||||
REPLACE_GETLINE = @REPLACE_GETLINE@
|
||||
REPLACE_GETLOGIN_R = @REPLACE_GETLOGIN_R@
|
||||
REPLACE_GETPAGESIZE = @REPLACE_GETPAGESIZE@
|
||||
REPLACE_GETPASS = @REPLACE_GETPASS@
|
||||
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
|
||||
REPLACE_GMTIME = @REPLACE_GMTIME@
|
||||
REPLACE_ICONV = @REPLACE_ICONV@
|
||||
REPLACE_ICONV_OPEN = @REPLACE_ICONV_OPEN@
|
||||
REPLACE_ICONV_UTF = @REPLACE_ICONV_UTF@
|
||||
REPLACE_INITSTATE = @REPLACE_INITSTATE@
|
||||
REPLACE_ISATTY = @REPLACE_ISATTY@
|
||||
REPLACE_ISWBLANK = @REPLACE_ISWBLANK@
|
||||
REPLACE_ISWCNTRL = @REPLACE_ISWCNTRL@
|
||||
@ -861,6 +890,7 @@ REPLACE_MKNOD = @REPLACE_MKNOD@
|
||||
REPLACE_MKSTEMP = @REPLACE_MKSTEMP@
|
||||
REPLACE_MKTIME = @REPLACE_MKTIME@
|
||||
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
|
||||
REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
|
||||
REPLACE_NULL = @REPLACE_NULL@
|
||||
REPLACE_OBSTACK_PRINTF = @REPLACE_OBSTACK_PRINTF@
|
||||
REPLACE_PERROR = @REPLACE_PERROR@
|
||||
@ -872,6 +902,7 @@ REPLACE_PTSNAME_R = @REPLACE_PTSNAME_R@
|
||||
REPLACE_PUTENV = @REPLACE_PUTENV@
|
||||
REPLACE_PWRITE = @REPLACE_PWRITE@
|
||||
REPLACE_QSORT_R = @REPLACE_QSORT_R@
|
||||
REPLACE_RANDOM = @REPLACE_RANDOM@
|
||||
REPLACE_RANDOM_R = @REPLACE_RANDOM_R@
|
||||
REPLACE_READ = @REPLACE_READ@
|
||||
REPLACE_READLINK = @REPLACE_READLINK@
|
||||
@ -884,6 +915,7 @@ REPLACE_RENAMEAT = @REPLACE_RENAMEAT@
|
||||
REPLACE_RMDIR = @REPLACE_RMDIR@
|
||||
REPLACE_SETENV = @REPLACE_SETENV@
|
||||
REPLACE_SETLOCALE = @REPLACE_SETLOCALE@
|
||||
REPLACE_SETSTATE = @REPLACE_SETSTATE@
|
||||
REPLACE_SLEEP = @REPLACE_SLEEP@
|
||||
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
|
||||
REPLACE_SPRINTF = @REPLACE_SPRINTF@
|
||||
@ -896,6 +928,7 @@ REPLACE_STRCHRNUL = @REPLACE_STRCHRNUL@
|
||||
REPLACE_STRDUP = @REPLACE_STRDUP@
|
||||
REPLACE_STRERROR = @REPLACE_STRERROR@
|
||||
REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
|
||||
REPLACE_STRFMON_L = @REPLACE_STRFMON_L@
|
||||
REPLACE_STRFTIME = @REPLACE_STRFTIME@
|
||||
REPLACE_STRNCAT = @REPLACE_STRNCAT@
|
||||
REPLACE_STRNDUP = @REPLACE_STRNDUP@
|
||||
@ -904,6 +937,7 @@ REPLACE_STRSIGNAL = @REPLACE_STRSIGNAL@
|
||||
REPLACE_STRSTR = @REPLACE_STRSTR@
|
||||
REPLACE_STRTOD = @REPLACE_STRTOD@
|
||||
REPLACE_STRTOK_R = @REPLACE_STRTOK_R@
|
||||
REPLACE_STRTOLD = @REPLACE_STRTOLD@
|
||||
REPLACE_STRUCT_LCONV = @REPLACE_STRUCT_LCONV@
|
||||
REPLACE_STRUCT_TIMEVAL = @REPLACE_STRUCT_TIMEVAL@
|
||||
REPLACE_SYMLINK = @REPLACE_SYMLINK@
|
||||
@ -1000,7 +1034,6 @@ infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
lispdir = @lispdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
@ -1041,8 +1074,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
*config.status*) \
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
@ -1101,7 +1134,10 @@ ctags CTAGS:
|
||||
cscope cscopelist:
|
||||
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
distdir: $(BUILT_SOURCES)
|
||||
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||
|
||||
distdir-am: $(DISTFILES)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
|
306
lib/Makefile.am
306
lib/Makefile.am
@ -1,6 +1,6 @@
|
||||
## DO NOT EDIT! GENERATED AUTOMATICALLY!
|
||||
## Process this file with automake to produce Makefile.in.
|
||||
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002-2019 Free Software Foundation, Inc.
|
||||
#
|
||||
# This file is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@ -13,7 +13,7 @@
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this file. If not, see <http://www.gnu.org/licenses/>.
|
||||
# along with this file. If not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
# As a special exception to the GNU General Public License,
|
||||
# this file may be distributed as part of a program that
|
||||
@ -21,9 +21,43 @@
|
||||
# the same distribution terms as the rest of that program.
|
||||
#
|
||||
# Generated by gnulib-tool.
|
||||
# Reproduce by: gnulib-tool --import --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --conditional-dependencies --no-libtool --macro-prefix=gl assert btowc config-h crc getopt-gnu gettext-h gettimeofday locale mbrtowc mbsrtowcs stdbool stdio striconv string strstr sys_stat sys_time unistd wchar wcrtomb wcsdup wctob wctype-h
|
||||
# Reproduce by:
|
||||
# gnulib-tool --import \
|
||||
# --lib=libgnu \
|
||||
# --source-base=lib \
|
||||
# --m4-base=m4 \
|
||||
# --doc-base=doc \
|
||||
# --tests-base=tests \
|
||||
# --aux-dir=build-aux \
|
||||
# --conditional-dependencies \
|
||||
# --no-libtool \
|
||||
# --macro-prefix=gl \
|
||||
# assert \
|
||||
# btowc \
|
||||
# config-h \
|
||||
# crc \
|
||||
# extensions \
|
||||
# getopt-gnu \
|
||||
# gettext-h \
|
||||
# gettimeofday \
|
||||
# locale \
|
||||
# mbrtowc \
|
||||
# mbsrtowcs \
|
||||
# monetary \
|
||||
# stdbool \
|
||||
# stdio \
|
||||
# striconv \
|
||||
# string \
|
||||
# sys_stat \
|
||||
# sys_time \
|
||||
# unistd \
|
||||
# wchar \
|
||||
# wcrtomb \
|
||||
# wcsdup \
|
||||
# wctob \
|
||||
# wctype-h
|
||||
|
||||
AUTOMAKE_OPTIONS = 1.9.6 gnits subdir-objects
|
||||
AUTOMAKE_OPTIONS = 1.11 gnits subdir-objects
|
||||
|
||||
SUBDIRS =
|
||||
noinst_HEADERS =
|
||||
@ -79,53 +113,6 @@ libgnu_a_SOURCES += c-strcase.h c-strcasecmp.c c-strncasecmp.c
|
||||
|
||||
## end gnulib module c-strcase
|
||||
|
||||
## begin gnulib module configmake
|
||||
|
||||
if gl_GNULIB_ENABLED_configmake
|
||||
# Listed in the same order as the GNU makefile conventions, and
|
||||
# provided by autoconf 2.59c+ or 2.70.
|
||||
# The Automake-defined pkg* macros are appended, in the order
|
||||
# listed in the Automake 1.10a+ documentation.
|
||||
configmake.h: Makefile
|
||||
$(AM_V_GEN)rm -f $@-t && \
|
||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
||||
echo '#define PREFIX "$(prefix)"'; \
|
||||
echo '#define EXEC_PREFIX "$(exec_prefix)"'; \
|
||||
echo '#define BINDIR "$(bindir)"'; \
|
||||
echo '#define SBINDIR "$(sbindir)"'; \
|
||||
echo '#define LIBEXECDIR "$(libexecdir)"'; \
|
||||
echo '#define DATAROOTDIR "$(datarootdir)"'; \
|
||||
echo '#define DATADIR "$(datadir)"'; \
|
||||
echo '#define SYSCONFDIR "$(sysconfdir)"'; \
|
||||
echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \
|
||||
echo '#define LOCALSTATEDIR "$(localstatedir)"'; \
|
||||
echo '#define RUNSTATEDIR "$(runstatedir)"'; \
|
||||
echo '#define INCLUDEDIR "$(includedir)"'; \
|
||||
echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \
|
||||
echo '#define DOCDIR "$(docdir)"'; \
|
||||
echo '#define INFODIR "$(infodir)"'; \
|
||||
echo '#define HTMLDIR "$(htmldir)"'; \
|
||||
echo '#define DVIDIR "$(dvidir)"'; \
|
||||
echo '#define PDFDIR "$(pdfdir)"'; \
|
||||
echo '#define PSDIR "$(psdir)"'; \
|
||||
echo '#define LIBDIR "$(libdir)"'; \
|
||||
echo '#define LISPDIR "$(lispdir)"'; \
|
||||
echo '#define LOCALEDIR "$(localedir)"'; \
|
||||
echo '#define MANDIR "$(mandir)"'; \
|
||||
echo '#define MANEXT "$(manext)"'; \
|
||||
echo '#define PKGDATADIR "$(pkgdatadir)"'; \
|
||||
echo '#define PKGINCLUDEDIR "$(pkgincludedir)"'; \
|
||||
echo '#define PKGLIBDIR "$(pkglibdir)"'; \
|
||||
echo '#define PKGLIBEXECDIR "$(pkglibexecdir)"'; \
|
||||
} | sed '/""/d' > $@-t && \
|
||||
mv -f $@-t $@
|
||||
|
||||
BUILT_SOURCES += configmake.h
|
||||
CLEANFILES += configmake.h configmake.h-t
|
||||
|
||||
endif
|
||||
## end gnulib module configmake
|
||||
|
||||
## begin gnulib module crc
|
||||
|
||||
libgnu_a_SOURCES += crc.c
|
||||
@ -140,7 +127,7 @@ BUILT_SOURCES += $(GETOPT_H) $(GETOPT_CDEFS_H)
|
||||
|
||||
# We need the following in order to create <getopt.h> when the system
|
||||
# doesn't have one that works with the given compiler.
|
||||
getopt.h: getopt.in.h $(top_builddir)/config.status
|
||||
getopt.h: getopt.in.h $(top_builddir)/config.status $(ARG_NONNULL_H)
|
||||
$(AM_V_GEN)rm -f $@-t $@ && \
|
||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
|
||||
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
||||
@ -306,76 +293,10 @@ EXTRA_DIST += limits.in.h
|
||||
## begin gnulib module localcharset
|
||||
|
||||
if gl_GNULIB_ENABLED_localcharset
|
||||
libgnu_a_SOURCES += localcharset.h localcharset.c
|
||||
|
||||
# We need the following in order to install a simple file in $(libdir)
|
||||
# which is shared with other installed packages. We use a list of referencing
|
||||
# packages so that "make uninstall" will remove the file if and only if it
|
||||
# is not used by another installed package.
|
||||
# On systems with glibc-2.1 or newer, the file is redundant, therefore we
|
||||
# avoid installing it.
|
||||
|
||||
all-local: charset.alias ref-add.sed ref-del.sed
|
||||
|
||||
charset_alias = $(DESTDIR)$(libdir)/charset.alias
|
||||
charset_tmp = $(DESTDIR)$(libdir)/charset.tmp
|
||||
install-exec-local: install-exec-localcharset
|
||||
install-exec-localcharset: all-local
|
||||
if test $(GLIBC21) = no; then \
|
||||
case '$(host_os)' in \
|
||||
darwin[56]*) \
|
||||
need_charset_alias=true ;; \
|
||||
darwin* | cygwin* | mingw* | pw32* | cegcc*) \
|
||||
need_charset_alias=false ;; \
|
||||
*) \
|
||||
need_charset_alias=true ;; \
|
||||
esac ; \
|
||||
else \
|
||||
need_charset_alias=false ; \
|
||||
fi ; \
|
||||
if $$need_charset_alias; then \
|
||||
$(mkinstalldirs) $(DESTDIR)$(libdir) ; \
|
||||
fi ; \
|
||||
if test -f $(charset_alias); then \
|
||||
sed -f ref-add.sed $(charset_alias) > $(charset_tmp) ; \
|
||||
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
|
||||
rm -f $(charset_tmp) ; \
|
||||
else \
|
||||
if $$need_charset_alias; then \
|
||||
sed -f ref-add.sed charset.alias > $(charset_tmp) ; \
|
||||
$(INSTALL_DATA) $(charset_tmp) $(charset_alias) ; \
|
||||
rm -f $(charset_tmp) ; \
|
||||
fi ; \
|
||||
fi
|
||||
|
||||
uninstall-local: uninstall-localcharset
|
||||
uninstall-localcharset: all-local
|
||||
if test -f $(charset_alias); then \
|
||||
sed -f ref-del.sed $(charset_alias) > $(charset_tmp); \
|
||||
if grep '^# Packages using this file: $$' $(charset_tmp) \
|
||||
> /dev/null; then \
|
||||
rm -f $(charset_alias); \
|
||||
else \
|
||||
$(INSTALL_DATA) $(charset_tmp) $(charset_alias); \
|
||||
fi; \
|
||||
rm -f $(charset_tmp); \
|
||||
fi
|
||||
|
||||
charset.alias: config.charset
|
||||
$(AM_V_GEN)rm -f t-$@ $@ && \
|
||||
$(SHELL) $(srcdir)/config.charset '$(host)' > t-$@ && \
|
||||
mv t-$@ $@
|
||||
|
||||
SUFFIXES += .sed .sin
|
||||
.sin.sed:
|
||||
$(AM_V_GEN)rm -f t-$@ $@ && \
|
||||
sed -e '/^#/d' -e 's/@''PACKAGE''@/$(PACKAGE)/g' $< > t-$@ && \
|
||||
mv t-$@ $@
|
||||
|
||||
CLEANFILES += charset.alias ref-add.sed ref-del.sed
|
||||
libgnu_a_SOURCES += localcharset.c
|
||||
|
||||
endif
|
||||
EXTRA_DIST += config.charset ref-add.sin ref-del.sin
|
||||
EXTRA_DIST += localcharset.h
|
||||
|
||||
## end gnulib module localcharset
|
||||
|
||||
@ -396,11 +317,16 @@ locale.h: locale.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||
-e 's/@''GNULIB_LOCALECONV''@/$(GNULIB_LOCALECONV)/g' \
|
||||
-e 's/@''GNULIB_SETLOCALE''@/$(GNULIB_SETLOCALE)/g' \
|
||||
-e 's/@''GNULIB_DUPLOCALE''@/$(GNULIB_DUPLOCALE)/g' \
|
||||
-e 's/@''GNULIB_LOCALENAME''@/$(GNULIB_LOCALENAME)/g' \
|
||||
-e 's|@''HAVE_NEWLOCALE''@|$(HAVE_NEWLOCALE)|g' \
|
||||
-e 's|@''HAVE_DUPLOCALE''@|$(HAVE_DUPLOCALE)|g' \
|
||||
-e 's|@''HAVE_FREELOCALE''@|$(HAVE_FREELOCALE)|g' \
|
||||
-e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
|
||||
-e 's|@''REPLACE_LOCALECONV''@|$(REPLACE_LOCALECONV)|g' \
|
||||
-e 's|@''REPLACE_SETLOCALE''@|$(REPLACE_SETLOCALE)|g' \
|
||||
-e 's|@''REPLACE_NEWLOCALE''@|$(REPLACE_NEWLOCALE)|g' \
|
||||
-e 's|@''REPLACE_DUPLOCALE''@|$(REPLACE_DUPLOCALE)|g' \
|
||||
-e 's|@''REPLACE_FREELOCALE''@|$(REPLACE_FREELOCALE)|g' \
|
||||
-e 's|@''REPLACE_STRUCT_LCONV''@|$(REPLACE_STRUCT_LCONV)|g' \
|
||||
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
||||
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
||||
@ -425,6 +351,14 @@ EXTRA_libgnu_a_SOURCES += localtime-buffer.c
|
||||
|
||||
## end gnulib module localtime-buffer
|
||||
|
||||
## begin gnulib module lock
|
||||
|
||||
if gl_GNULIB_ENABLED_lock
|
||||
libgnu_a_SOURCES += glthread/lock.h glthread/lock.c
|
||||
|
||||
endif
|
||||
## end gnulib module lock
|
||||
|
||||
## begin gnulib module mbrtowc
|
||||
|
||||
|
||||
@ -476,6 +410,42 @@ EXTRA_libgnu_a_SOURCES += memchr.c
|
||||
|
||||
## end gnulib module memchr
|
||||
|
||||
## begin gnulib module monetary
|
||||
|
||||
BUILT_SOURCES += $(MONETARY_H)
|
||||
|
||||
# We need the following in order to create <monetary.h> when the system
|
||||
# doesn't have one that works with the given compiler.
|
||||
if GL_GENERATE_MONETARY_H
|
||||
monetary.h: monetary.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(WARN_ON_USE_H) $(ARG_NONNULL_H)
|
||||
$(AM_V_GEN)rm -f $@-t $@ && \
|
||||
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
|
||||
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
|
||||
-e 's|@''HAVE_MONETARY_H''@|$(HAVE_MONETARY_H)|g' \
|
||||
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
|
||||
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
|
||||
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
||||
-e 's|@''NEXT_MONETARY_H''@|$(NEXT_MONETARY_H)|g' \
|
||||
-e 's|@''HAVE_XLOCALE_H''@|$(HAVE_XLOCALE_H)|g' \
|
||||
-e 's/@''GNULIB_STRFMON_L''@/$(GNULIB_STRFMON_L)/g' \
|
||||
-e 's|@''HAVE_STRFMON_L''@|$(HAVE_STRFMON_L)|g' \
|
||||
-e 's|@''REPLACE_STRFMON_L''@|$(REPLACE_STRFMON_L)|g' \
|
||||
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
||||
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
||||
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
|
||||
< $(srcdir)/monetary.in.h; \
|
||||
} > $@-t && \
|
||||
mv $@-t $@
|
||||
else
|
||||
monetary.h: $(top_builddir)/config.status
|
||||
rm -f $@
|
||||
endif
|
||||
MOSTLYCLEANFILES += monetary.h monetary.h-t
|
||||
|
||||
EXTRA_DIST += monetary.in.h
|
||||
|
||||
## end gnulib module monetary
|
||||
|
||||
## begin gnulib module snippet/_Noreturn
|
||||
|
||||
if gl_GNULIB_ENABLED_b3ae4a413a1340415f34a52d1dafb147
|
||||
@ -816,6 +786,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
|
||||
-e 's/@''GNULIB_SECURE_GETENV''@/$(GNULIB_SECURE_GETENV)/g' \
|
||||
-e 's/@''GNULIB_SETENV''@/$(GNULIB_SETENV)/g' \
|
||||
-e 's/@''GNULIB_STRTOD''@/$(GNULIB_STRTOD)/g' \
|
||||
-e 's/@''GNULIB_STRTOLD''@/$(GNULIB_STRTOLD)/g' \
|
||||
-e 's/@''GNULIB_STRTOLL''@/$(GNULIB_STRTOLL)/g' \
|
||||
-e 's/@''GNULIB_STRTOULL''@/$(GNULIB_STRTOULL)/g' \
|
||||
-e 's/@''GNULIB_SYSTEM_POSIX''@/$(GNULIB_SYSTEM_POSIX)/g' \
|
||||
@ -829,7 +800,9 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
|
||||
-e 's|@''HAVE_DECL_GETLOADAVG''@|$(HAVE_DECL_GETLOADAVG)|g' \
|
||||
-e 's|@''HAVE_GETSUBOPT''@|$(HAVE_GETSUBOPT)|g' \
|
||||
-e 's|@''HAVE_GRANTPT''@|$(HAVE_GRANTPT)|g' \
|
||||
-e 's|@''HAVE_INITSTATE''@|$(HAVE_INITSTATE)|g' \
|
||||
-e 's|@''HAVE_DECL_INITSTATE''@|$(HAVE_DECL_INITSTATE)|g' \
|
||||
-e 's|@''HAVE_MBTOWC''@|$(HAVE_MBTOWC)|g' \
|
||||
-e 's|@''HAVE_MKDTEMP''@|$(HAVE_MKDTEMP)|g' \
|
||||
-e 's|@''HAVE_MKOSTEMP''@|$(HAVE_MKOSTEMP)|g' \
|
||||
-e 's|@''HAVE_MKOSTEMPS''@|$(HAVE_MKOSTEMPS)|g' \
|
||||
@ -847,8 +820,10 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
|
||||
-e 's|@''HAVE_RPMATCH''@|$(HAVE_RPMATCH)|g' \
|
||||
-e 's|@''HAVE_SECURE_GETENV''@|$(HAVE_SECURE_GETENV)|g' \
|
||||
-e 's|@''HAVE_DECL_SETENV''@|$(HAVE_DECL_SETENV)|g' \
|
||||
-e 's|@''HAVE_SETSTATE''@|$(HAVE_SETSTATE)|g' \
|
||||
-e 's|@''HAVE_DECL_SETSTATE''@|$(HAVE_DECL_SETSTATE)|g' \
|
||||
-e 's|@''HAVE_STRTOD''@|$(HAVE_STRTOD)|g' \
|
||||
-e 's|@''HAVE_STRTOLD''@|$(HAVE_STRTOLD)|g' \
|
||||
-e 's|@''HAVE_STRTOLL''@|$(HAVE_STRTOLL)|g' \
|
||||
-e 's|@''HAVE_STRTOULL''@|$(HAVE_STRTOULL)|g' \
|
||||
-e 's|@''HAVE_STRUCT_RANDOM_DATA''@|$(HAVE_STRUCT_RANDOM_DATA)|g' \
|
||||
@ -857,6 +832,7 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
|
||||
-e 's|@''HAVE_DECL_UNSETENV''@|$(HAVE_DECL_UNSETENV)|g' \
|
||||
-e 's|@''REPLACE_CALLOC''@|$(REPLACE_CALLOC)|g' \
|
||||
-e 's|@''REPLACE_CANONICALIZE_FILE_NAME''@|$(REPLACE_CANONICALIZE_FILE_NAME)|g' \
|
||||
-e 's|@''REPLACE_INITSTATE''@|$(REPLACE_INITSTATE)|g' \
|
||||
-e 's|@''REPLACE_MALLOC''@|$(REPLACE_MALLOC)|g' \
|
||||
-e 's|@''REPLACE_MBTOWC''@|$(REPLACE_MBTOWC)|g' \
|
||||
-e 's|@''REPLACE_MKSTEMP''@|$(REPLACE_MKSTEMP)|g' \
|
||||
@ -864,11 +840,14 @@ stdlib.h: stdlib.in.h $(top_builddir)/config.status $(CXXDEFS_H) \
|
||||
-e 's|@''REPLACE_PTSNAME_R''@|$(REPLACE_PTSNAME_R)|g' \
|
||||
-e 's|@''REPLACE_PUTENV''@|$(REPLACE_PUTENV)|g' \
|
||||
-e 's|@''REPLACE_QSORT_R''@|$(REPLACE_QSORT_R)|g' \
|
||||
-e 's|@''REPLACE_RANDOM''@|$(REPLACE_RANDOM)|g' \
|
||||
-e 's|@''REPLACE_RANDOM_R''@|$(REPLACE_RANDOM_R)|g' \
|
||||
-e 's|@''REPLACE_REALLOC''@|$(REPLACE_REALLOC)|g' \
|
||||
-e 's|@''REPLACE_REALPATH''@|$(REPLACE_REALPATH)|g' \
|
||||
-e 's|@''REPLACE_SETENV''@|$(REPLACE_SETENV)|g' \
|
||||
-e 's|@''REPLACE_SETSTATE''@|$(REPLACE_SETSTATE)|g' \
|
||||
-e 's|@''REPLACE_STRTOD''@|$(REPLACE_STRTOD)|g' \
|
||||
-e 's|@''REPLACE_STRTOLD''@|$(REPLACE_STRTOLD)|g' \
|
||||
-e 's|@''REPLACE_UNSETENV''@|$(REPLACE_UNSETENV)|g' \
|
||||
-e 's|@''REPLACE_WCTOMB''@|$(REPLACE_WCTOMB)|g' \
|
||||
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
||||
@ -976,20 +955,20 @@ string.h: string.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||
-e 's|@''HAVE_DECL_STRERROR_R''@|$(HAVE_DECL_STRERROR_R)|g' \
|
||||
-e 's|@''HAVE_DECL_STRSIGNAL''@|$(HAVE_DECL_STRSIGNAL)|g' \
|
||||
-e 's|@''HAVE_STRVERSCMP''@|$(HAVE_STRVERSCMP)|g' \
|
||||
-e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
|
||||
-e 's|@''REPLACE_MEMCHR''@|$(REPLACE_MEMCHR)|g' \
|
||||
-e 's|@''REPLACE_MEMMEM''@|$(REPLACE_MEMMEM)|g' \
|
||||
-e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
|
||||
-e 's|@''REPLACE_STPNCPY''@|$(REPLACE_STPNCPY)|g' \
|
||||
-e 's|@''REPLACE_STRCHRNUL''@|$(REPLACE_STRCHRNUL)|g' \
|
||||
-e 's|@''REPLACE_STRDUP''@|$(REPLACE_STRDUP)|g' \
|
||||
-e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
|
||||
-e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
|
||||
-e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
|
||||
-e 's|@''REPLACE_STRNCAT''@|$(REPLACE_STRNCAT)|g' \
|
||||
-e 's|@''REPLACE_STRNDUP''@|$(REPLACE_STRNDUP)|g' \
|
||||
-e 's|@''REPLACE_STRNLEN''@|$(REPLACE_STRNLEN)|g' \
|
||||
-e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
|
||||
-e 's|@''REPLACE_STRSTR''@|$(REPLACE_STRSTR)|g' \
|
||||
-e 's|@''REPLACE_STRCASESTR''@|$(REPLACE_STRCASESTR)|g' \
|
||||
-e 's|@''REPLACE_STRTOK_R''@|$(REPLACE_STRTOK_R)|g' \
|
||||
-e 's|@''REPLACE_STRERROR''@|$(REPLACE_STRERROR)|g' \
|
||||
-e 's|@''REPLACE_STRERROR_R''@|$(REPLACE_STRERROR_R)|g' \
|
||||
-e 's|@''REPLACE_STRSIGNAL''@|$(REPLACE_STRSIGNAL)|g' \
|
||||
-e 's|@''UNDEFINE_STRTOK_R''@|$(UNDEFINE_STRTOK_R)|g' \
|
||||
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
|
||||
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
|
||||
@ -1011,15 +990,6 @@ libgnu_a_SOURCES += strnlen1.h strnlen1.c
|
||||
endif
|
||||
## end gnulib module strnlen1
|
||||
|
||||
## begin gnulib module strstr-simple
|
||||
|
||||
|
||||
EXTRA_DIST += str-two-way.h strstr.c
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += strstr.c
|
||||
|
||||
## end gnulib module strstr-simple
|
||||
|
||||
## begin gnulib module sys_stat
|
||||
|
||||
BUILT_SOURCES += sys/stat.h
|
||||
@ -1144,6 +1114,16 @@ EXTRA_DIST += sys_types.in.h
|
||||
|
||||
## end gnulib module sys_types
|
||||
|
||||
## begin gnulib module threadlib
|
||||
|
||||
if gl_GNULIB_ENABLED_threadlib
|
||||
libgnu_a_SOURCES += glthread/threadlib.c
|
||||
|
||||
endif
|
||||
EXTRA_DIST += $(top_srcdir)/build-aux/config.rpath
|
||||
|
||||
## end gnulib module threadlib
|
||||
|
||||
## begin gnulib module time
|
||||
|
||||
BUILT_SOURCES += time.h
|
||||
@ -1216,9 +1196,11 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
|
||||
-e 's|@''NEXT_UNISTD_H''@|$(NEXT_UNISTD_H)|g' \
|
||||
-e 's|@''WINDOWS_64_BIT_OFF_T''@|$(WINDOWS_64_BIT_OFF_T)|g' \
|
||||
-e 's/@''GNULIB_ACCESS''@/$(GNULIB_ACCESS)/g' \
|
||||
-e 's/@''GNULIB_CHDIR''@/$(GNULIB_CHDIR)/g' \
|
||||
-e 's/@''GNULIB_CHOWN''@/$(GNULIB_CHOWN)/g' \
|
||||
-e 's/@''GNULIB_CLOSE''@/$(GNULIB_CLOSE)/g' \
|
||||
-e 's/@''GNULIB_COPY_FILE_RANGE''@/$(GNULIB_COPY_FILE_RANGE)/g' \
|
||||
-e 's/@''GNULIB_DUP''@/$(GNULIB_DUP)/g' \
|
||||
-e 's/@''GNULIB_DUP2''@/$(GNULIB_DUP2)/g' \
|
||||
-e 's/@''GNULIB_DUP3''@/$(GNULIB_DUP3)/g' \
|
||||
@ -1238,6 +1220,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||
-e 's/@''GNULIB_GETLOGIN''@/$(GNULIB_GETLOGIN)/g' \
|
||||
-e 's/@''GNULIB_GETLOGIN_R''@/$(GNULIB_GETLOGIN_R)/g' \
|
||||
-e 's/@''GNULIB_GETPAGESIZE''@/$(GNULIB_GETPAGESIZE)/g' \
|
||||
-e 's/@''GNULIB_GETPASS''@/$(GNULIB_GETPASS)/g' \
|
||||
-e 's/@''GNULIB_GETUSERSHELL''@/$(GNULIB_GETUSERSHELL)/g' \
|
||||
-e 's/@''GNULIB_GROUP_MEMBER''@/$(GNULIB_GROUP_MEMBER)/g' \
|
||||
-e 's/@''GNULIB_ISATTY''@/$(GNULIB_ISATTY)/g' \
|
||||
@ -1268,6 +1251,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||
-e 's/@''GNULIB_WRITE''@/$(GNULIB_WRITE)/g' \
|
||||
< $(srcdir)/unistd.in.h | \
|
||||
sed -e 's|@''HAVE_CHOWN''@|$(HAVE_CHOWN)|g' \
|
||||
-e 's|@''HAVE_COPY_FILE_RANGE''@|$(HAVE_COPY_FILE_RANGE)|g' \
|
||||
-e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \
|
||||
-e 's|@''HAVE_DUP3''@|$(HAVE_DUP3)|g' \
|
||||
-e 's|@''HAVE_EUIDACCESS''@|$(HAVE_EUIDACCESS)|g' \
|
||||
@ -1281,6 +1265,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||
-e 's|@''HAVE_GETGROUPS''@|$(HAVE_GETGROUPS)|g' \
|
||||
-e 's|@''HAVE_GETHOSTNAME''@|$(HAVE_GETHOSTNAME)|g' \
|
||||
-e 's|@''HAVE_GETPAGESIZE''@|$(HAVE_GETPAGESIZE)|g' \
|
||||
-e 's|@''HAVE_GETPASS''@|$(HAVE_GETPASS)|g' \
|
||||
-e 's|@''HAVE_GROUP_MEMBER''@|$(HAVE_GROUP_MEMBER)|g' \
|
||||
-e 's|@''HAVE_LCHOWN''@|$(HAVE_LCHOWN)|g' \
|
||||
-e 's|@''HAVE_LINK''@|$(HAVE_LINK)|g' \
|
||||
@ -1295,7 +1280,6 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||
-e 's|@''HAVE_SLEEP''@|$(HAVE_SLEEP)|g' \
|
||||
-e 's|@''HAVE_SYMLINK''@|$(HAVE_SYMLINK)|g' \
|
||||
-e 's|@''HAVE_SYMLINKAT''@|$(HAVE_SYMLINKAT)|g' \
|
||||
-e 's|@''HAVE_TRUNCATE''@|$(HAVE_TRUNCATE)|g' \
|
||||
-e 's|@''HAVE_UNLINKAT''@|$(HAVE_UNLINKAT)|g' \
|
||||
-e 's|@''HAVE_USLEEP''@|$(HAVE_USLEEP)|g' \
|
||||
-e 's|@''HAVE_DECL_ENVIRON''@|$(HAVE_DECL_ENVIRON)|g' \
|
||||
@ -1307,14 +1291,17 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||
-e 's|@''HAVE_DECL_GETPAGESIZE''@|$(HAVE_DECL_GETPAGESIZE)|g' \
|
||||
-e 's|@''HAVE_DECL_GETUSERSHELL''@|$(HAVE_DECL_GETUSERSHELL)|g' \
|
||||
-e 's|@''HAVE_DECL_SETHOSTNAME''@|$(HAVE_DECL_SETHOSTNAME)|g' \
|
||||
-e 's|@''HAVE_DECL_TRUNCATE''@|$(HAVE_DECL_TRUNCATE)|g' \
|
||||
-e 's|@''HAVE_DECL_TTYNAME_R''@|$(HAVE_DECL_TTYNAME_R)|g' \
|
||||
-e 's|@''HAVE_OS_H''@|$(HAVE_OS_H)|g' \
|
||||
-e 's|@''HAVE_SYS_PARAM_H''@|$(HAVE_SYS_PARAM_H)|g' \
|
||||
| \
|
||||
sed -e 's|@''REPLACE_CHOWN''@|$(REPLACE_CHOWN)|g' \
|
||||
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_DUP''@|$(REPLACE_DUP)|g' \
|
||||
-e 's|@''REPLACE_DUP2''@|$(REPLACE_DUP2)|g' \
|
||||
-e 's|@''REPLACE_FACCESSAT''@|$(REPLACE_FACCESSAT)|g' \
|
||||
-e 's|@''REPLACE_FCHOWNAT''@|$(REPLACE_FCHOWNAT)|g' \
|
||||
-e 's|@''REPLACE_FTRUNCATE''@|$(REPLACE_FTRUNCATE)|g' \
|
||||
-e 's|@''REPLACE_GETCWD''@|$(REPLACE_GETCWD)|g' \
|
||||
@ -1323,6 +1310,7 @@ unistd.h: unistd.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H
|
||||
-e 's|@''REPLACE_GETLOGIN_R''@|$(REPLACE_GETLOGIN_R)|g' \
|
||||
-e 's|@''REPLACE_GETGROUPS''@|$(REPLACE_GETGROUPS)|g' \
|
||||
-e 's|@''REPLACE_GETPAGESIZE''@|$(REPLACE_GETPAGESIZE)|g' \
|
||||
-e 's|@''REPLACE_GETPASS''@|$(REPLACE_GETPASS)|g' \
|
||||
-e 's|@''REPLACE_ISATTY''@|$(REPLACE_ISATTY)|g' \
|
||||
-e 's|@''REPLACE_LCHOWN''@|$(REPLACE_LCHOWN)|g' \
|
||||
-e 's|@''REPLACE_LINK''@|$(REPLACE_LINK)|g' \
|
||||
@ -1619,6 +1607,50 @@ EXTRA_DIST += wctype.in.h
|
||||
|
||||
## end gnulib module wctype-h
|
||||
|
||||
## begin gnulib module windows-mutex
|
||||
|
||||
if gl_GNULIB_ENABLED_503a4cb75d69c787103d0aa2ab7d8440
|
||||
|
||||
endif
|
||||
EXTRA_DIST += windows-initguard.h windows-mutex.c windows-mutex.h
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += windows-mutex.c
|
||||
|
||||
## end gnulib module windows-mutex
|
||||
|
||||
## begin gnulib module windows-once
|
||||
|
||||
if gl_GNULIB_ENABLED_68a4501daeca58988392c7e60b4917ab
|
||||
|
||||
endif
|
||||
EXTRA_DIST += windows-once.c windows-once.h
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += windows-once.c
|
||||
|
||||
## end gnulib module windows-once
|
||||
|
||||
## begin gnulib module windows-recmutex
|
||||
|
||||
if gl_GNULIB_ENABLED_f0efff84a70f4afba30902bb8ffe9354
|
||||
|
||||
endif
|
||||
EXTRA_DIST += windows-initguard.h windows-recmutex.c windows-recmutex.h
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += windows-recmutex.c
|
||||
|
||||
## end gnulib module windows-recmutex
|
||||
|
||||
## begin gnulib module windows-rwlock
|
||||
|
||||
if gl_GNULIB_ENABLED_8bb827fe37eaccf1b97feb0c87bc92ef
|
||||
|
||||
endif
|
||||
EXTRA_DIST += windows-initguard.h windows-rwlock.c windows-rwlock.h
|
||||
|
||||
EXTRA_libgnu_a_SOURCES += windows-rwlock.c
|
||||
|
||||
## end gnulib module windows-rwlock
|
||||
|
||||
## begin gnulib module wmemcpy
|
||||
|
||||
if gl_GNULIB_ENABLED_wmemcpy
|
||||
|
645
lib/Makefile.in
645
lib/Makefile.in
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,31 @@
|
||||
#if !defined _Noreturn && __STDC_VERSION__ < 201112
|
||||
# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
|
||||
|| 0x5110 <= __SUNPRO_C)
|
||||
/* A C macro for declaring that a function does not return.
|
||||
Copyright (C) 2011-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _Noreturn
|
||||
# if (defined __cplusplus \
|
||||
&& ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
|
||||
|| (defined _MSC_VER && 1900 <= _MSC_VER)))
|
||||
# define _Noreturn [[noreturn]]
|
||||
# elif ((!defined __cplusplus || defined __clang__) \
|
||||
&& (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
|
||||
|| 4 < __GNUC__ + (7 <= __GNUC_MINOR__)))
|
||||
/* _Noreturn works as-is. */
|
||||
# elif 2 < __GNUC__ + (8 <= __GNUC_MINOR__) || 0x5110 <= __SUNPRO_C
|
||||
# define _Noreturn __attribute__ ((__noreturn__))
|
||||
# elif 1200 <= _MSC_VER
|
||||
# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
|
||||
# define _Noreturn __declspec (noreturn)
|
||||
# else
|
||||
# define _Noreturn
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* A C macro for declaring that specific arguments must not be NULL.
|
||||
Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published
|
||||
@ -12,7 +12,7 @@
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
|
||||
that the values passed as arguments n, ..., m must be non-NULL pointers.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Convert unibyte character to wide character.
|
||||
Copyright (C) 2008, 2010-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2008, 2010-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2008.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* C++ compatible function declaration macros.
|
||||
Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010-2019 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published
|
||||
@ -12,7 +12,7 @@
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _GL_CXXDEFS_H
|
||||
#define _GL_CXXDEFS_H
|
||||
@ -266,7 +266,7 @@
|
||||
_GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
|
||||
# define _GL_CXXALIASWARN_1(func,namespace) \
|
||||
_GL_CXXALIASWARN_2 (func, namespace)
|
||||
/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
|
||||
/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
|
||||
we enable the warning only when not optimizing. */
|
||||
# if !__OPTIMIZE__
|
||||
# define _GL_CXXALIASWARN_2(func,namespace) \
|
||||
@ -294,7 +294,7 @@
|
||||
GNULIB_NAMESPACE)
|
||||
# define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
|
||||
_GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
|
||||
/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
|
||||
/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
|
||||
we enable the warning only when not optimizing. */
|
||||
# if !__OPTIMIZE__
|
||||
# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
|
||||
|
@ -5,7 +5,7 @@
|
||||
<ctype.h> functions' behaviour depends on the current locale set via
|
||||
setlocale.
|
||||
|
||||
Copyright (C) 2000-2003, 2006, 2008-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000-2003, 2006, 2008-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -18,7 +18,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef C_CTYPE_H
|
||||
#define C_CTYPE_H
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Case-insensitive string comparison functions in C locale.
|
||||
Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2017 Free Software
|
||||
Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2019 Free Software
|
||||
Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef C_STRCASE_H
|
||||
#define C_STRCASE_H
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* c-strcasecmp.c -- case insensitive string comparator in C locale
|
||||
Copyright (C) 1998-1999, 2005-2006, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998-1999, 2005-2006, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* c-strncasecmp.c -- case insensitive string comparator in C locale
|
||||
Copyright (C) 1998-1999, 2005-2006, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998-1999, 2005-2006, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
@ -1,682 +0,0 @@
|
||||
#! /bin/sh
|
||||
# Output a system dependent table of character encoding aliases.
|
||||
#
|
||||
# Copyright (C) 2000-2004, 2006-2017 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# The table consists of lines of the form
|
||||
# ALIAS CANONICAL
|
||||
#
|
||||
# ALIAS is the (system dependent) result of "nl_langinfo (CODESET)".
|
||||
# ALIAS is compared in a case sensitive way.
|
||||
#
|
||||
# CANONICAL is the GNU canonical name for this character encoding.
|
||||
# It must be an encoding supported by libiconv. Support by GNU libc is
|
||||
# also desirable. CANONICAL is case insensitive. Usually an upper case
|
||||
# MIME charset name is preferred.
|
||||
# The current list of GNU canonical charset names is as follows.
|
||||
#
|
||||
# name MIME? used by which systems
|
||||
# (darwin = Mac OS X, woe32 = native Windows)
|
||||
#
|
||||
# ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin cygwin
|
||||
# ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
|
||||
# ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
|
||||
# ISO-8859-3 Y glibc solaris cygwin
|
||||
# ISO-8859-4 Y osf solaris freebsd netbsd openbsd darwin
|
||||
# ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
|
||||
# ISO-8859-6 Y glibc aix hpux solaris cygwin
|
||||
# ISO-8859-7 Y glibc aix hpux irix osf solaris netbsd openbsd darwin cygwin
|
||||
# ISO-8859-8 Y glibc aix hpux osf solaris cygwin
|
||||
# ISO-8859-9 Y glibc aix hpux irix osf solaris darwin cygwin
|
||||
# ISO-8859-13 glibc netbsd openbsd darwin cygwin
|
||||
# ISO-8859-14 glibc cygwin
|
||||
# ISO-8859-15 glibc aix osf solaris freebsd netbsd openbsd darwin cygwin
|
||||
# KOI8-R Y glibc solaris freebsd netbsd openbsd darwin
|
||||
# KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin
|
||||
# KOI8-T glibc
|
||||
# CP437 dos
|
||||
# CP775 dos
|
||||
# CP850 aix osf dos
|
||||
# CP852 dos
|
||||
# CP855 dos
|
||||
# CP856 aix
|
||||
# CP857 dos
|
||||
# CP861 dos
|
||||
# CP862 dos
|
||||
# CP864 dos
|
||||
# CP865 dos
|
||||
# CP866 freebsd netbsd openbsd darwin dos
|
||||
# CP869 dos
|
||||
# CP874 woe32 dos
|
||||
# CP922 aix
|
||||
# CP932 aix cygwin woe32 dos
|
||||
# CP943 aix
|
||||
# CP949 osf darwin woe32 dos
|
||||
# CP950 woe32 dos
|
||||
# CP1046 aix
|
||||
# CP1124 aix
|
||||
# CP1125 dos
|
||||
# CP1129 aix
|
||||
# CP1131 darwin
|
||||
# CP1250 woe32
|
||||
# CP1251 glibc solaris netbsd openbsd darwin cygwin woe32
|
||||
# CP1252 aix woe32
|
||||
# CP1253 woe32
|
||||
# CP1254 woe32
|
||||
# CP1255 glibc woe32
|
||||
# CP1256 woe32
|
||||
# CP1257 woe32
|
||||
# GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin
|
||||
# EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin
|
||||
# EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin
|
||||
# EUC-TW glibc aix hpux irix osf solaris netbsd
|
||||
# BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin
|
||||
# BIG5-HKSCS glibc solaris darwin
|
||||
# GBK glibc aix osf solaris darwin cygwin woe32 dos
|
||||
# GB18030 glibc solaris netbsd darwin
|
||||
# SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin
|
||||
# JOHAB glibc solaris woe32
|
||||
# TIS-620 glibc aix hpux osf solaris cygwin
|
||||
# VISCII Y glibc
|
||||
# TCVN5712-1 glibc
|
||||
# ARMSCII-8 glibc darwin
|
||||
# GEORGIAN-PS glibc cygwin
|
||||
# PT154 glibc
|
||||
# HP-ROMAN8 hpux
|
||||
# HP-ARABIC8 hpux
|
||||
# HP-GREEK8 hpux
|
||||
# HP-HEBREW8 hpux
|
||||
# HP-TURKISH8 hpux
|
||||
# HP-KANA8 hpux
|
||||
# DEC-KANJI osf
|
||||
# DEC-HANYU osf
|
||||
# UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin
|
||||
#
|
||||
# Note: Names which are not marked as being a MIME name should not be used in
|
||||
# Internet protocols for information interchange (mail, news, etc.).
|
||||
#
|
||||
# Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
|
||||
# must understand both names and treat them as equivalent.
|
||||
#
|
||||
# The first argument passed to this file is the canonical host specification,
|
||||
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
|
||||
# or
|
||||
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
|
||||
|
||||
host="$1"
|
||||
os=`echo "$host" | sed -e 's/^[^-]*-[^-]*-\(.*\)$/\1/'`
|
||||
echo "# This file contains a table of character encoding aliases,"
|
||||
echo "# suitable for operating system '${os}'."
|
||||
echo "# It was automatically generated from config.charset."
|
||||
# List of references, updated during installation:
|
||||
echo "# Packages using this file: "
|
||||
case "$os" in
|
||||
linux-gnulibc1*)
|
||||
# Linux libc5 doesn't have nl_langinfo(CODESET); therefore
|
||||
# localcharset.c falls back to using the full locale name
|
||||
# from the environment variables.
|
||||
echo "C ASCII"
|
||||
echo "POSIX ASCII"
|
||||
for l in af af_ZA ca ca_ES da da_DK de de_AT de_BE de_CH de_DE de_LU \
|
||||
en en_AU en_BW en_CA en_DK en_GB en_IE en_NZ en_US en_ZA \
|
||||
en_ZW es es_AR es_BO es_CL es_CO es_DO es_EC es_ES es_GT \
|
||||
es_HN es_MX es_PA es_PE es_PY es_SV es_US es_UY es_VE et \
|
||||
et_EE eu eu_ES fi fi_FI fo fo_FO fr fr_BE fr_CA fr_CH fr_FR \
|
||||
fr_LU ga ga_IE gl gl_ES id id_ID in in_ID is is_IS it it_CH \
|
||||
it_IT kl kl_GL nl nl_BE nl_NL no no_NO pt pt_BR pt_PT sv \
|
||||
sv_FI sv_SE; do
|
||||
echo "$l ISO-8859-1"
|
||||
echo "$l.iso-8859-1 ISO-8859-1"
|
||||
echo "$l.iso-8859-15 ISO-8859-15"
|
||||
echo "$l.iso-8859-15@euro ISO-8859-15"
|
||||
echo "$l@euro ISO-8859-15"
|
||||
echo "$l.cp-437 CP437"
|
||||
echo "$l.cp-850 CP850"
|
||||
echo "$l.cp-1252 CP1252"
|
||||
echo "$l.cp-1252@euro CP1252"
|
||||
#echo "$l.atari-st ATARI-ST" # not a commonly used encoding
|
||||
echo "$l.utf-8 UTF-8"
|
||||
echo "$l.utf-8@euro UTF-8"
|
||||
done
|
||||
for l in cs cs_CZ hr hr_HR hu hu_HU pl pl_PL ro ro_RO sk sk_SK sl \
|
||||
sl_SI sr sr_CS sr_YU; do
|
||||
echo "$l ISO-8859-2"
|
||||
echo "$l.iso-8859-2 ISO-8859-2"
|
||||
echo "$l.cp-852 CP852"
|
||||
echo "$l.cp-1250 CP1250"
|
||||
echo "$l.utf-8 UTF-8"
|
||||
done
|
||||
for l in mk mk_MK ru ru_RU; do
|
||||
echo "$l ISO-8859-5"
|
||||
echo "$l.iso-8859-5 ISO-8859-5"
|
||||
echo "$l.koi8-r KOI8-R"
|
||||
echo "$l.cp-866 CP866"
|
||||
echo "$l.cp-1251 CP1251"
|
||||
echo "$l.utf-8 UTF-8"
|
||||
done
|
||||
for l in ar ar_SA; do
|
||||
echo "$l ISO-8859-6"
|
||||
echo "$l.iso-8859-6 ISO-8859-6"
|
||||
echo "$l.cp-864 CP864"
|
||||
#echo "$l.cp-868 CP868" # not a commonly used encoding
|
||||
echo "$l.cp-1256 CP1256"
|
||||
echo "$l.utf-8 UTF-8"
|
||||
done
|
||||
for l in el el_GR gr gr_GR; do
|
||||
echo "$l ISO-8859-7"
|
||||
echo "$l.iso-8859-7 ISO-8859-7"
|
||||
echo "$l.cp-869 CP869"
|
||||
echo "$l.cp-1253 CP1253"
|
||||
echo "$l.cp-1253@euro CP1253"
|
||||
echo "$l.utf-8 UTF-8"
|
||||
echo "$l.utf-8@euro UTF-8"
|
||||
done
|
||||
for l in he he_IL iw iw_IL; do
|
||||
echo "$l ISO-8859-8"
|
||||
echo "$l.iso-8859-8 ISO-8859-8"
|
||||
echo "$l.cp-862 CP862"
|
||||
echo "$l.cp-1255 CP1255"
|
||||
echo "$l.utf-8 UTF-8"
|
||||
done
|
||||
for l in tr tr_TR; do
|
||||
echo "$l ISO-8859-9"
|
||||
echo "$l.iso-8859-9 ISO-8859-9"
|
||||
echo "$l.cp-857 CP857"
|
||||
echo "$l.cp-1254 CP1254"
|
||||
echo "$l.utf-8 UTF-8"
|
||||
done
|
||||
for l in lt lt_LT lv lv_LV; do
|
||||
#echo "$l BALTIC" # not a commonly used encoding, wrong encoding name
|
||||
echo "$l ISO-8859-13"
|
||||
done
|
||||
for l in ru_UA uk uk_UA; do
|
||||
echo "$l KOI8-U"
|
||||
done
|
||||
for l in zh zh_CN; do
|
||||
#echo "$l GB_2312-80" # not a commonly used encoding, wrong encoding name
|
||||
echo "$l GB2312"
|
||||
done
|
||||
for l in ja ja_JP ja_JP.EUC; do
|
||||
echo "$l EUC-JP"
|
||||
done
|
||||
for l in ko ko_KR; do
|
||||
echo "$l EUC-KR"
|
||||
done
|
||||
for l in th th_TH; do
|
||||
echo "$l TIS-620"
|
||||
done
|
||||
for l in fa fa_IR; do
|
||||
#echo "$l ISIRI-3342" # a broken encoding
|
||||
echo "$l.utf-8 UTF-8"
|
||||
done
|
||||
;;
|
||||
linux* | *-gnu*)
|
||||
# With glibc-2.1 or newer, we don't need any canonicalization,
|
||||
# because glibc has iconv and both glibc and libiconv support all
|
||||
# GNU canonical names directly. Therefore, the Makefile does not
|
||||
# need to install the alias file at all.
|
||||
# The following applies only to glibc-2.0.x and older libcs.
|
||||
echo "ISO_646.IRV:1983 ASCII"
|
||||
;;
|
||||
aix*)
|
||||
echo "ISO8859-1 ISO-8859-1"
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-6 ISO-8859-6"
|
||||
echo "ISO8859-7 ISO-8859-7"
|
||||
echo "ISO8859-8 ISO-8859-8"
|
||||
echo "ISO8859-9 ISO-8859-9"
|
||||
echo "ISO8859-15 ISO-8859-15"
|
||||
echo "IBM-850 CP850"
|
||||
echo "IBM-856 CP856"
|
||||
echo "IBM-921 ISO-8859-13"
|
||||
echo "IBM-922 CP922"
|
||||
echo "IBM-932 CP932"
|
||||
echo "IBM-943 CP943"
|
||||
echo "IBM-1046 CP1046"
|
||||
echo "IBM-1124 CP1124"
|
||||
echo "IBM-1129 CP1129"
|
||||
echo "IBM-1252 CP1252"
|
||||
echo "IBM-eucCN GB2312"
|
||||
echo "IBM-eucJP EUC-JP"
|
||||
echo "IBM-eucKR EUC-KR"
|
||||
echo "IBM-eucTW EUC-TW"
|
||||
echo "big5 BIG5"
|
||||
echo "GBK GBK"
|
||||
echo "TIS-620 TIS-620"
|
||||
echo "UTF-8 UTF-8"
|
||||
;;
|
||||
hpux*)
|
||||
echo "iso88591 ISO-8859-1"
|
||||
echo "iso88592 ISO-8859-2"
|
||||
echo "iso88595 ISO-8859-5"
|
||||
echo "iso88596 ISO-8859-6"
|
||||
echo "iso88597 ISO-8859-7"
|
||||
echo "iso88598 ISO-8859-8"
|
||||
echo "iso88599 ISO-8859-9"
|
||||
echo "iso885915 ISO-8859-15"
|
||||
echo "roman8 HP-ROMAN8"
|
||||
echo "arabic8 HP-ARABIC8"
|
||||
echo "greek8 HP-GREEK8"
|
||||
echo "hebrew8 HP-HEBREW8"
|
||||
echo "turkish8 HP-TURKISH8"
|
||||
echo "kana8 HP-KANA8"
|
||||
echo "tis620 TIS-620"
|
||||
echo "big5 BIG5"
|
||||
echo "eucJP EUC-JP"
|
||||
echo "eucKR EUC-KR"
|
||||
echo "eucTW EUC-TW"
|
||||
echo "hp15CN GB2312"
|
||||
#echo "ccdc ?" # what is this?
|
||||
echo "SJIS SHIFT_JIS"
|
||||
echo "utf8 UTF-8"
|
||||
;;
|
||||
irix*)
|
||||
echo "ISO8859-1 ISO-8859-1"
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-7 ISO-8859-7"
|
||||
echo "ISO8859-9 ISO-8859-9"
|
||||
echo "eucCN GB2312"
|
||||
echo "eucJP EUC-JP"
|
||||
echo "eucKR EUC-KR"
|
||||
echo "eucTW EUC-TW"
|
||||
;;
|
||||
osf*)
|
||||
echo "ISO8859-1 ISO-8859-1"
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-4 ISO-8859-4"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-7 ISO-8859-7"
|
||||
echo "ISO8859-8 ISO-8859-8"
|
||||
echo "ISO8859-9 ISO-8859-9"
|
||||
echo "ISO8859-15 ISO-8859-15"
|
||||
echo "cp850 CP850"
|
||||
echo "big5 BIG5"
|
||||
echo "dechanyu DEC-HANYU"
|
||||
echo "dechanzi GB2312"
|
||||
echo "deckanji DEC-KANJI"
|
||||
echo "deckorean EUC-KR"
|
||||
echo "eucJP EUC-JP"
|
||||
echo "eucKR EUC-KR"
|
||||
echo "eucTW EUC-TW"
|
||||
echo "GBK GBK"
|
||||
echo "KSC5601 CP949"
|
||||
echo "sdeckanji EUC-JP"
|
||||
echo "SJIS SHIFT_JIS"
|
||||
echo "TACTIS TIS-620"
|
||||
echo "UTF-8 UTF-8"
|
||||
;;
|
||||
solaris*)
|
||||
echo "646 ASCII"
|
||||
echo "ISO8859-1 ISO-8859-1"
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-3 ISO-8859-3"
|
||||
echo "ISO8859-4 ISO-8859-4"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-6 ISO-8859-6"
|
||||
echo "ISO8859-7 ISO-8859-7"
|
||||
echo "ISO8859-8 ISO-8859-8"
|
||||
echo "ISO8859-9 ISO-8859-9"
|
||||
echo "ISO8859-15 ISO-8859-15"
|
||||
echo "koi8-r KOI8-R"
|
||||
echo "ansi-1251 CP1251"
|
||||
echo "BIG5 BIG5"
|
||||
echo "Big5-HKSCS BIG5-HKSCS"
|
||||
echo "gb2312 GB2312"
|
||||
echo "GBK GBK"
|
||||
echo "GB18030 GB18030"
|
||||
echo "cns11643 EUC-TW"
|
||||
echo "5601 EUC-KR"
|
||||
echo "ko_KR.johap92 JOHAB"
|
||||
echo "eucJP EUC-JP"
|
||||
echo "PCK SHIFT_JIS"
|
||||
echo "TIS620.2533 TIS-620"
|
||||
#echo "sun_eu_greek ?" # what is this?
|
||||
echo "UTF-8 UTF-8"
|
||||
;;
|
||||
freebsd*)
|
||||
# FreeBSD 4.2 doesn't have nl_langinfo(CODESET); therefore
|
||||
# localcharset.c falls back to using the full locale name
|
||||
# from the environment variables.
|
||||
echo "C ASCII"
|
||||
echo "US-ASCII ASCII"
|
||||
for l in la_LN lt_LN; do
|
||||
echo "$l.ASCII ASCII"
|
||||
done
|
||||
for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
|
||||
fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT la_LN \
|
||||
lt_LN nl_BE nl_NL no_NO pt_PT sv_SE; do
|
||||
echo "$l.ISO_8859-1 ISO-8859-1"
|
||||
echo "$l.DIS_8859-15 ISO-8859-15"
|
||||
done
|
||||
for l in cs_CZ hr_HR hu_HU la_LN lt_LN pl_PL sl_SI; do
|
||||
echo "$l.ISO_8859-2 ISO-8859-2"
|
||||
done
|
||||
for l in la_LN lt_LT; do
|
||||
echo "$l.ISO_8859-4 ISO-8859-4"
|
||||
done
|
||||
for l in ru_RU ru_SU; do
|
||||
echo "$l.KOI8-R KOI8-R"
|
||||
echo "$l.ISO_8859-5 ISO-8859-5"
|
||||
echo "$l.CP866 CP866"
|
||||
done
|
||||
echo "uk_UA.KOI8-U KOI8-U"
|
||||
echo "zh_TW.BIG5 BIG5"
|
||||
echo "zh_TW.Big5 BIG5"
|
||||
echo "zh_CN.EUC GB2312"
|
||||
echo "ja_JP.EUC EUC-JP"
|
||||
echo "ja_JP.SJIS SHIFT_JIS"
|
||||
echo "ja_JP.Shift_JIS SHIFT_JIS"
|
||||
echo "ko_KR.EUC EUC-KR"
|
||||
;;
|
||||
netbsd*)
|
||||
echo "646 ASCII"
|
||||
echo "ISO8859-1 ISO-8859-1"
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-4 ISO-8859-4"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-7 ISO-8859-7"
|
||||
echo "ISO8859-13 ISO-8859-13"
|
||||
echo "ISO8859-15 ISO-8859-15"
|
||||
echo "eucCN GB2312"
|
||||
echo "eucJP EUC-JP"
|
||||
echo "eucKR EUC-KR"
|
||||
echo "eucTW EUC-TW"
|
||||
echo "BIG5 BIG5"
|
||||
echo "SJIS SHIFT_JIS"
|
||||
;;
|
||||
openbsd*)
|
||||
echo "646 ASCII"
|
||||
echo "ISO8859-1 ISO-8859-1"
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-4 ISO-8859-4"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-7 ISO-8859-7"
|
||||
echo "ISO8859-13 ISO-8859-13"
|
||||
echo "ISO8859-15 ISO-8859-15"
|
||||
;;
|
||||
darwin[56]*)
|
||||
# Darwin 6.8 doesn't have nl_langinfo(CODESET); therefore
|
||||
# localcharset.c falls back to using the full locale name
|
||||
# from the environment variables.
|
||||
echo "C ASCII"
|
||||
for l in en_AU en_CA en_GB en_US la_LN; do
|
||||
echo "$l.US-ASCII ASCII"
|
||||
done
|
||||
for l in da_DK de_AT de_CH de_DE en_AU en_CA en_GB en_US es_ES \
|
||||
fi_FI fr_BE fr_CA fr_CH fr_FR is_IS it_CH it_IT nl_BE \
|
||||
nl_NL no_NO pt_PT sv_SE; do
|
||||
echo "$l ISO-8859-1"
|
||||
echo "$l.ISO8859-1 ISO-8859-1"
|
||||
echo "$l.ISO8859-15 ISO-8859-15"
|
||||
done
|
||||
for l in la_LN; do
|
||||
echo "$l.ISO8859-1 ISO-8859-1"
|
||||
echo "$l.ISO8859-15 ISO-8859-15"
|
||||
done
|
||||
for l in cs_CZ hr_HR hu_HU la_LN pl_PL sl_SI; do
|
||||
echo "$l.ISO8859-2 ISO-8859-2"
|
||||
done
|
||||
for l in la_LN lt_LT; do
|
||||
echo "$l.ISO8859-4 ISO-8859-4"
|
||||
done
|
||||
for l in ru_RU; do
|
||||
echo "$l.KOI8-R KOI8-R"
|
||||
echo "$l.ISO8859-5 ISO-8859-5"
|
||||
echo "$l.CP866 CP866"
|
||||
done
|
||||
for l in bg_BG; do
|
||||
echo "$l.CP1251 CP1251"
|
||||
done
|
||||
echo "uk_UA.KOI8-U KOI8-U"
|
||||
echo "zh_TW.BIG5 BIG5"
|
||||
echo "zh_TW.Big5 BIG5"
|
||||
echo "zh_CN.EUC GB2312"
|
||||
echo "ja_JP.EUC EUC-JP"
|
||||
echo "ja_JP.SJIS SHIFT_JIS"
|
||||
echo "ko_KR.EUC EUC-KR"
|
||||
;;
|
||||
darwin*)
|
||||
# Darwin 7.5 has nl_langinfo(CODESET), but sometimes its value is
|
||||
# useless:
|
||||
# - It returns the empty string when LANG is set to a locale of the
|
||||
# form ll_CC, although ll_CC/LC_CTYPE is a symlink to an UTF-8
|
||||
# LC_CTYPE file.
|
||||
# - The environment variables LANG, LC_CTYPE, LC_ALL are not set by
|
||||
# the system; nl_langinfo(CODESET) returns "US-ASCII" in this case.
|
||||
# - The documentation says:
|
||||
# "... all code that calls BSD system routines should ensure
|
||||
# that the const *char parameters of these routines are in UTF-8
|
||||
# encoding. All BSD system functions expect their string
|
||||
# parameters to be in UTF-8 encoding and nothing else."
|
||||
# It also says
|
||||
# "An additional caveat is that string parameters for files,
|
||||
# paths, and other file-system entities must be in canonical
|
||||
# UTF-8. In a canonical UTF-8 Unicode string, all decomposable
|
||||
# characters are decomposed ..."
|
||||
# but this is not true: You can pass non-decomposed UTF-8 strings
|
||||
# to file system functions, and it is the OS which will convert
|
||||
# them to decomposed UTF-8 before accessing the file system.
|
||||
# - The Apple Terminal application displays UTF-8 by default.
|
||||
# - However, other applications are free to use different encodings:
|
||||
# - xterm uses ISO-8859-1 by default.
|
||||
# - TextEdit uses MacRoman by default.
|
||||
# We prefer UTF-8 over decomposed UTF-8-MAC because one should
|
||||
# minimize the use of decomposed Unicode. Unfortunately, through the
|
||||
# Darwin file system, decomposed UTF-8 strings are leaked into user
|
||||
# space nevertheless.
|
||||
# Then there are also the locales with encodings other than US-ASCII
|
||||
# and UTF-8. These locales can be occasionally useful to users (e.g.
|
||||
# when grepping through ISO-8859-1 encoded text files), when all their
|
||||
# file names are in US-ASCII.
|
||||
echo "ISO8859-1 ISO-8859-1"
|
||||
echo "ISO8859-2 ISO-8859-2"
|
||||
echo "ISO8859-4 ISO-8859-4"
|
||||
echo "ISO8859-5 ISO-8859-5"
|
||||
echo "ISO8859-7 ISO-8859-7"
|
||||
echo "ISO8859-9 ISO-8859-9"
|
||||
echo "ISO8859-13 ISO-8859-13"
|
||||
echo "ISO8859-15 ISO-8859-15"
|
||||
echo "KOI8-R KOI8-R"
|
||||
echo "KOI8-U KOI8-U"
|
||||
echo "CP866 CP866"
|
||||
echo "CP949 CP949"
|
||||
echo "CP1131 CP1131"
|
||||
echo "CP1251 CP1251"
|
||||
echo "eucCN GB2312"
|
||||
echo "GB2312 GB2312"
|
||||
echo "eucJP EUC-JP"
|
||||
echo "eucKR EUC-KR"
|
||||
echo "Big5 BIG5"
|
||||
echo "Big5HKSCS BIG5-HKSCS"
|
||||
echo "GBK GBK"
|
||||
echo "GB18030 GB18030"
|
||||
echo "SJIS SHIFT_JIS"
|
||||
echo "ARMSCII-8 ARMSCII-8"
|
||||
echo "PT154 PT154"
|
||||
#echo "ISCII-DEV ?"
|
||||
echo "* UTF-8"
|
||||
;;
|
||||
beos* | haiku*)
|
||||
# BeOS and Haiku have a single locale, and it has UTF-8 encoding.
|
||||
echo "* UTF-8"
|
||||
;;
|
||||
msdosdjgpp*)
|
||||
# DJGPP 2.03 doesn't have nl_langinfo(CODESET); therefore
|
||||
# localcharset.c falls back to using the full locale name
|
||||
# from the environment variables.
|
||||
echo "#"
|
||||
echo "# The encodings given here may not all be correct."
|
||||
echo "# If you find that the encoding given for your language and"
|
||||
echo "# country is not the one your DOS machine actually uses, just"
|
||||
echo "# correct it in this file, and send a mail to"
|
||||
echo "# Juan Manuel Guerrero <juan.guerrero@gmx.de>"
|
||||
echo "# and Bruno Haible <bruno@clisp.org>."
|
||||
echo "#"
|
||||
echo "C ASCII"
|
||||
# ISO-8859-1 languages
|
||||
echo "ca CP850"
|
||||
echo "ca_ES CP850"
|
||||
echo "da CP865" # not CP850 ??
|
||||
echo "da_DK CP865" # not CP850 ??
|
||||
echo "de CP850"
|
||||
echo "de_AT CP850"
|
||||
echo "de_CH CP850"
|
||||
echo "de_DE CP850"
|
||||
echo "en CP850"
|
||||
echo "en_AU CP850" # not CP437 ??
|
||||
echo "en_CA CP850"
|
||||
echo "en_GB CP850"
|
||||
echo "en_NZ CP437"
|
||||
echo "en_US CP437"
|
||||
echo "en_ZA CP850" # not CP437 ??
|
||||
echo "es CP850"
|
||||
echo "es_AR CP850"
|
||||
echo "es_BO CP850"
|
||||
echo "es_CL CP850"
|
||||
echo "es_CO CP850"
|
||||
echo "es_CR CP850"
|
||||
echo "es_CU CP850"
|
||||
echo "es_DO CP850"
|
||||
echo "es_EC CP850"
|
||||
echo "es_ES CP850"
|
||||
echo "es_GT CP850"
|
||||
echo "es_HN CP850"
|
||||
echo "es_MX CP850"
|
||||
echo "es_NI CP850"
|
||||
echo "es_PA CP850"
|
||||
echo "es_PY CP850"
|
||||
echo "es_PE CP850"
|
||||
echo "es_SV CP850"
|
||||
echo "es_UY CP850"
|
||||
echo "es_VE CP850"
|
||||
echo "et CP850"
|
||||
echo "et_EE CP850"
|
||||
echo "eu CP850"
|
||||
echo "eu_ES CP850"
|
||||
echo "fi CP850"
|
||||
echo "fi_FI CP850"
|
||||
echo "fr CP850"
|
||||
echo "fr_BE CP850"
|
||||
echo "fr_CA CP850"
|
||||
echo "fr_CH CP850"
|
||||
echo "fr_FR CP850"
|
||||
echo "ga CP850"
|
||||
echo "ga_IE CP850"
|
||||
echo "gd CP850"
|
||||
echo "gd_GB CP850"
|
||||
echo "gl CP850"
|
||||
echo "gl_ES CP850"
|
||||
echo "id CP850" # not CP437 ??
|
||||
echo "id_ID CP850" # not CP437 ??
|
||||
echo "is CP861" # not CP850 ??
|
||||
echo "is_IS CP861" # not CP850 ??
|
||||
echo "it CP850"
|
||||
echo "it_CH CP850"
|
||||
echo "it_IT CP850"
|
||||
echo "lt CP775"
|
||||
echo "lt_LT CP775"
|
||||
echo "lv CP775"
|
||||
echo "lv_LV CP775"
|
||||
echo "nb CP865" # not CP850 ??
|
||||
echo "nb_NO CP865" # not CP850 ??
|
||||
echo "nl CP850"
|
||||
echo "nl_BE CP850"
|
||||
echo "nl_NL CP850"
|
||||
echo "nn CP865" # not CP850 ??
|
||||
echo "nn_NO CP865" # not CP850 ??
|
||||
echo "no CP865" # not CP850 ??
|
||||
echo "no_NO CP865" # not CP850 ??
|
||||
echo "pt CP850"
|
||||
echo "pt_BR CP850"
|
||||
echo "pt_PT CP850"
|
||||
echo "sv CP850"
|
||||
echo "sv_SE CP850"
|
||||
# ISO-8859-2 languages
|
||||
echo "cs CP852"
|
||||
echo "cs_CZ CP852"
|
||||
echo "hr CP852"
|
||||
echo "hr_HR CP852"
|
||||
echo "hu CP852"
|
||||
echo "hu_HU CP852"
|
||||
echo "pl CP852"
|
||||
echo "pl_PL CP852"
|
||||
echo "ro CP852"
|
||||
echo "ro_RO CP852"
|
||||
echo "sk CP852"
|
||||
echo "sk_SK CP852"
|
||||
echo "sl CP852"
|
||||
echo "sl_SI CP852"
|
||||
echo "sq CP852"
|
||||
echo "sq_AL CP852"
|
||||
echo "sr CP852" # CP852 or CP866 or CP855 ??
|
||||
echo "sr_CS CP852" # CP852 or CP866 or CP855 ??
|
||||
echo "sr_YU CP852" # CP852 or CP866 or CP855 ??
|
||||
# ISO-8859-3 languages
|
||||
echo "mt CP850"
|
||||
echo "mt_MT CP850"
|
||||
# ISO-8859-5 languages
|
||||
echo "be CP866"
|
||||
echo "be_BE CP866"
|
||||
echo "bg CP866" # not CP855 ??
|
||||
echo "bg_BG CP866" # not CP855 ??
|
||||
echo "mk CP866" # not CP855 ??
|
||||
echo "mk_MK CP866" # not CP855 ??
|
||||
echo "ru CP866"
|
||||
echo "ru_RU CP866"
|
||||
echo "uk CP1125"
|
||||
echo "uk_UA CP1125"
|
||||
# ISO-8859-6 languages
|
||||
echo "ar CP864"
|
||||
echo "ar_AE CP864"
|
||||
echo "ar_DZ CP864"
|
||||
echo "ar_EG CP864"
|
||||
echo "ar_IQ CP864"
|
||||
echo "ar_IR CP864"
|
||||
echo "ar_JO CP864"
|
||||
echo "ar_KW CP864"
|
||||
echo "ar_MA CP864"
|
||||
echo "ar_OM CP864"
|
||||
echo "ar_QA CP864"
|
||||
echo "ar_SA CP864"
|
||||
echo "ar_SY CP864"
|
||||
# ISO-8859-7 languages
|
||||
echo "el CP869"
|
||||
echo "el_GR CP869"
|
||||
# ISO-8859-8 languages
|
||||
echo "he CP862"
|
||||
echo "he_IL CP862"
|
||||
# ISO-8859-9 languages
|
||||
echo "tr CP857"
|
||||
echo "tr_TR CP857"
|
||||
# Japanese
|
||||
echo "ja CP932"
|
||||
echo "ja_JP CP932"
|
||||
# Chinese
|
||||
echo "zh_CN GBK"
|
||||
echo "zh_TW CP950" # not CP938 ??
|
||||
# Korean
|
||||
echo "kr CP949" # not CP934 ??
|
||||
echo "kr_KR CP949" # not CP934 ??
|
||||
# Thai
|
||||
echo "th CP874"
|
||||
echo "th_TH CP874"
|
||||
# Other
|
||||
echo "eo CP850"
|
||||
echo "eo_EO CP850"
|
||||
;;
|
||||
esac
|
@ -1,5 +1,5 @@
|
||||
/* crc.c -- cyclic redundancy checks
|
||||
Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Simon Josefsson. */
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* crc.h -- cyclic redundancy checks
|
||||
Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Simon Josefsson. */
|
||||
|
||||
|
@ -1,22 +1,22 @@
|
||||
/* getopt-on-non-glibc compatibility macros.
|
||||
Copyright (C) 1989-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-2019 Free Software Foundation, Inc.
|
||||
This file is part of gnulib.
|
||||
Unlike most of the getopt implementation, it is NOT shared
|
||||
with the GNU C Library.
|
||||
|
||||
gnulib is free software; you can redistribute it and/or modify it
|
||||
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 (at your option) any later version.
|
||||
|
||||
gnulib is distributed in the hope that it will be useful, but
|
||||
This file is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with gnulib; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _GETOPT_CDEFS_H
|
||||
#define _GETOPT_CDEFS_H 1
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Declarations for getopt (basic, portable features only).
|
||||
Copyright (C) 1989-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-2019 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library and is also part of gnulib.
|
||||
Patches to this file should be submitted to both projects.
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _GETOPT_CORE_H
|
||||
#define _GETOPT_CORE_H 1
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Declarations for getopt (GNU extensions).
|
||||
Copyright (C) 1989-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-2019 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library and is also part of gnulib.
|
||||
Patches to this file should be submitted to both projects.
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _GETOPT_EXT_H
|
||||
#define _GETOPT_EXT_H 1
|
||||
|
@ -1,22 +1,22 @@
|
||||
/* getopt (basic, portable features) gnulib wrapper header.
|
||||
Copyright (C) 1989-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-2019 Free Software Foundation, Inc.
|
||||
This file is part of gnulib.
|
||||
Unlike most of the getopt implementation, it is NOT shared
|
||||
with the GNU C Library.
|
||||
|
||||
gnulib is free software; you can redistribute it and/or modify it
|
||||
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 (at your option) any later version.
|
||||
|
||||
gnulib is distributed in the hope that it will be useful, but
|
||||
This file is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with gnulib; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _GETOPT_PFX_CORE_H
|
||||
#define _GETOPT_PFX_CORE_H 1
|
||||
|
@ -1,22 +1,22 @@
|
||||
/* getopt (GNU extensions) gnulib wrapper header.
|
||||
Copyright (C) 1989-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-2019 Free Software Foundation, Inc.
|
||||
This file is part of gnulib.
|
||||
Unlike most of the getopt implementation, it is NOT shared
|
||||
with the GNU C Library.
|
||||
|
||||
gnulib is free software; you can redistribute it and/or modify it
|
||||
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 (at your option) any later version.
|
||||
|
||||
gnulib is distributed in the hope that it will be useful, but
|
||||
This file is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with gnulib; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _GETOPT_PFX_EXT_H
|
||||
#define _GETOPT_PFX_EXT_H 1
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Getopt for GNU.
|
||||
Copyright (C) 1987-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987-2019 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library and is also part of gnulib.
|
||||
Patches to this file should be submitted to both projects.
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _LIBC
|
||||
# include <config.h>
|
||||
@ -46,7 +46,7 @@
|
||||
/* When used standalone, flockfile and funlockfile might not be
|
||||
available. */
|
||||
# if (!defined _POSIX_THREAD_SAFE_FUNCTIONS \
|
||||
|| ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
|
||||
|| (defined _WIN32 && ! defined __CYGWIN__))
|
||||
# define flockfile(fp) /* nop */
|
||||
# define funlockfile(fp) /* nop */
|
||||
# endif
|
||||
|
@ -1,22 +1,22 @@
|
||||
/* Declarations for getopt.
|
||||
Copyright (C) 1989-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-2019 Free Software Foundation, Inc.
|
||||
This file is part of gnulib.
|
||||
Unlike most of the getopt implementation, it is NOT shared
|
||||
with the GNU C Library, which supplies a different version of
|
||||
this file.
|
||||
|
||||
gnulib is free software; you can redistribute it and/or modify it
|
||||
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 (at your option) any later version.
|
||||
|
||||
gnulib is distributed in the hope that it will be useful, but
|
||||
This file is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with gnulib; if not, see <http://www.gnu.org/licenses/>. */
|
||||
License along with gnulib; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _@GUARD_PREFIX@_GETOPT_H
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* getopt_long and getopt_long_only entry points for GNU getopt.
|
||||
Copyright (C) 1987-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1987-2019 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library and is also part of gnulib.
|
||||
Patches to this file should be submitted to both projects.
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _LIBC
|
||||
# include <config.h>
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Internal declarations for getopt.
|
||||
Copyright (C) 1989-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-2019 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library and is also part of gnulib.
|
||||
Patches to this file should be submitted to both projects.
|
||||
|
||||
@ -15,7 +15,7 @@
|
||||
|
||||
You should have received a copy of the GNU General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _GETOPT_INT_H
|
||||
#define _GETOPT_INT_H 1
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Convenience header for conditional use of GNU <libintl.h>.
|
||||
Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2017 Free Software
|
||||
Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2019 Free Software
|
||||
Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _LIBGETTEXT_H
|
||||
#define _LIBGETTEXT_H 1
|
||||
@ -184,9 +184,16 @@ npgettext_aux (const char *domain,
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#if (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
|
||||
/* || __STDC_VERSION__ == 199901L
|
||||
|| (__STDC_VERSION__ >= 201112L && !defined __STDC_NO_VLA__) */ )
|
||||
/* GNULIB_NO_VLA can be defined to disable use of VLAs even if supported.
|
||||
This relates to the -Wvla and -Wvla-larger-than warnings, enabled in
|
||||
the default GCC many warnings set. This allows programs to disable use
|
||||
of VLAs, which may be unintended, or may be awkward to support portably,
|
||||
or may have security implications due to non-deterministic stack usage. */
|
||||
|
||||
#if (!defined GNULIB_NO_VLA \
|
||||
&& (((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__) \
|
||||
/* || (__STDC_VERSION__ == 199901L && !defined __HP_cc)
|
||||
|| (__STDC_VERSION__ >= 201112L && !defined __STDC_NO_VLA__) */ ))
|
||||
# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 1
|
||||
#else
|
||||
# define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS 0
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Provide gettimeofday for systems that don't have it or for which it's broken.
|
||||
|
||||
Copyright (C) 2001-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2003, 2005-2007, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* written by Jim Meyering */
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
|
||||
#include <time.h>
|
||||
|
||||
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
|
||||
#if defined _WIN32 && ! defined __CYGWIN__
|
||||
# define WINDOWS_NATIVE
|
||||
# include <windows.h>
|
||||
#endif
|
||||
@ -33,6 +33,10 @@
|
||||
|
||||
#ifdef WINDOWS_NATIVE
|
||||
|
||||
/* Avoid warnings from gcc -Wcast-function-type. */
|
||||
# define GetProcAddress \
|
||||
(void *) GetProcAddress
|
||||
|
||||
/* GetSystemTimePreciseAsFileTime was introduced only in Windows 8. */
|
||||
typedef void (WINAPI * GetSystemTimePreciseAsFileTimeFuncType) (FILETIME *lpTime);
|
||||
static GetSystemTimePreciseAsFileTimeFuncType GetSystemTimePreciseAsFileTimeFunc = NULL;
|
||||
@ -68,10 +72,10 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz)
|
||||
|
||||
/* On native Windows, there are two ways to get the current time:
|
||||
GetSystemTimeAsFileTime
|
||||
<https://msdn.microsoft.com/en-us/library/ms724397.aspx>
|
||||
<https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemtimeasfiletime>
|
||||
or
|
||||
GetSystemTimePreciseAsFileTime
|
||||
<https://msdn.microsoft.com/en-us/library/hh706895.aspx>.
|
||||
<https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getsystemtimepreciseasfiletime>.
|
||||
GetSystemTimeAsFileTime produces values that jump by increments of
|
||||
15.627 milliseconds (!) on average.
|
||||
Whereas GetSystemTimePreciseAsFileTime values usually jump by 1 or 2
|
||||
@ -88,7 +92,7 @@ gettimeofday (struct timeval *restrict tv, void *restrict tz)
|
||||
GetSystemTimeAsFileTime (¤t_time);
|
||||
|
||||
/* Convert from FILETIME to 'struct timeval'. */
|
||||
/* FILETIME: <https://msdn.microsoft.com/en-us/library/ms724284.aspx> */
|
||||
/* FILETIME: <https://docs.microsoft.com/en-us/windows/desktop/api/minwinbase/ns-minwinbase-filetime> */
|
||||
ULONGLONG since_1601 =
|
||||
((ULONGLONG) current_time.dwHighDateTime << 32)
|
||||
| (ULONGLONG) current_time.dwLowDateTime;
|
||||
|
506
lib/glthread/lock.c
Normal file
506
lib/glthread/lock.c
Normal file
@ -0,0 +1,506 @@
|
||||
/* Locking in multithreaded situations.
|
||||
Copyright (C) 2005-2019 Free Software Foundation, Inc.
|
||||
|
||||
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)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Bruno Haible <bruno@clisp.org>, 2005.
|
||||
Based on GCC's gthr-posix.h, gthr-posix95.h. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include "glthread/lock.h"
|
||||
|
||||
/* ========================================================================= */
|
||||
|
||||
#if USE_POSIX_THREADS
|
||||
|
||||
/* -------------------------- gl_lock_t datatype -------------------------- */
|
||||
|
||||
/* ------------------------- gl_rwlock_t datatype ------------------------- */
|
||||
|
||||
# if HAVE_PTHREAD_RWLOCK && (HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER || (defined PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP && (__GNU_LIBRARY__ > 1)))
|
||||
|
||||
# ifdef PTHREAD_RWLOCK_INITIALIZER
|
||||
|
||||
# if !HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER
|
||||
/* glibc with bug https://sourceware.org/bugzilla/show_bug.cgi?id=13701 */
|
||||
|
||||
int
|
||||
glthread_rwlock_init_for_glibc (pthread_rwlock_t *lock)
|
||||
{
|
||||
pthread_rwlockattr_t attributes;
|
||||
int err;
|
||||
|
||||
err = pthread_rwlockattr_init (&attributes);
|
||||
if (err != 0)
|
||||
return err;
|
||||
/* Note: PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP is the only value that
|
||||
causes the writer to be preferred. PTHREAD_RWLOCK_PREFER_WRITER_NP does not
|
||||
do this; see
|
||||
http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html */
|
||||
err = pthread_rwlockattr_setkind_np (&attributes,
|
||||
PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP);
|
||||
if (err == 0)
|
||||
err = pthread_rwlock_init(lock, &attributes);
|
||||
/* pthread_rwlockattr_destroy always returns 0. It cannot influence the
|
||||
return value. */
|
||||
pthread_rwlockattr_destroy (&attributes);
|
||||
return err;
|
||||
}
|
||||
|
||||
# endif
|
||||
# else
|
||||
|
||||
int
|
||||
glthread_rwlock_init_multithreaded (gl_rwlock_t *lock)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = pthread_rwlock_init (&lock->rwlock, NULL);
|
||||
if (err != 0)
|
||||
return err;
|
||||
lock->initialized = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock)
|
||||
{
|
||||
if (!lock->initialized)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = pthread_mutex_lock (&lock->guard);
|
||||
if (err != 0)
|
||||
return err;
|
||||
if (!lock->initialized)
|
||||
{
|
||||
err = glthread_rwlock_init_multithreaded (lock);
|
||||
if (err != 0)
|
||||
{
|
||||
pthread_mutex_unlock (&lock->guard);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
err = pthread_mutex_unlock (&lock->guard);
|
||||
if (err != 0)
|
||||
return err;
|
||||
}
|
||||
return pthread_rwlock_rdlock (&lock->rwlock);
|
||||
}
|
||||
|
||||
int
|
||||
glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock)
|
||||
{
|
||||
if (!lock->initialized)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = pthread_mutex_lock (&lock->guard);
|
||||
if (err != 0)
|
||||
return err;
|
||||
if (!lock->initialized)
|
||||
{
|
||||
err = glthread_rwlock_init_multithreaded (lock);
|
||||
if (err != 0)
|
||||
{
|
||||
pthread_mutex_unlock (&lock->guard);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
err = pthread_mutex_unlock (&lock->guard);
|
||||
if (err != 0)
|
||||
return err;
|
||||
}
|
||||
return pthread_rwlock_wrlock (&lock->rwlock);
|
||||
}
|
||||
|
||||
int
|
||||
glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock)
|
||||
{
|
||||
if (!lock->initialized)
|
||||
return EINVAL;
|
||||
return pthread_rwlock_unlock (&lock->rwlock);
|
||||
}
|
||||
|
||||
int
|
||||
glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (!lock->initialized)
|
||||
return EINVAL;
|
||||
err = pthread_rwlock_destroy (&lock->rwlock);
|
||||
if (err != 0)
|
||||
return err;
|
||||
lock->initialized = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
int
|
||||
glthread_rwlock_init_multithreaded (gl_rwlock_t *lock)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = pthread_mutex_init (&lock->lock, NULL);
|
||||
if (err != 0)
|
||||
return err;
|
||||
err = pthread_cond_init (&lock->waiting_readers, NULL);
|
||||
if (err != 0)
|
||||
return err;
|
||||
err = pthread_cond_init (&lock->waiting_writers, NULL);
|
||||
if (err != 0)
|
||||
return err;
|
||||
lock->waiting_writers_count = 0;
|
||||
lock->runcount = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = pthread_mutex_lock (&lock->lock);
|
||||
if (err != 0)
|
||||
return err;
|
||||
/* Test whether only readers are currently running, and whether the runcount
|
||||
field will not overflow, and whether no writer is waiting. The latter
|
||||
condition is because POSIX recommends that "write locks shall take
|
||||
precedence over read locks", to avoid "writer starvation". */
|
||||
while (!(lock->runcount + 1 > 0 && lock->waiting_writers_count == 0))
|
||||
{
|
||||
/* This thread has to wait for a while. Enqueue it among the
|
||||
waiting_readers. */
|
||||
err = pthread_cond_wait (&lock->waiting_readers, &lock->lock);
|
||||
if (err != 0)
|
||||
{
|
||||
pthread_mutex_unlock (&lock->lock);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
lock->runcount++;
|
||||
return pthread_mutex_unlock (&lock->lock);
|
||||
}
|
||||
|
||||
int
|
||||
glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = pthread_mutex_lock (&lock->lock);
|
||||
if (err != 0)
|
||||
return err;
|
||||
/* Test whether no readers or writers are currently running. */
|
||||
while (!(lock->runcount == 0))
|
||||
{
|
||||
/* This thread has to wait for a while. Enqueue it among the
|
||||
waiting_writers. */
|
||||
lock->waiting_writers_count++;
|
||||
err = pthread_cond_wait (&lock->waiting_writers, &lock->lock);
|
||||
if (err != 0)
|
||||
{
|
||||
lock->waiting_writers_count--;
|
||||
pthread_mutex_unlock (&lock->lock);
|
||||
return err;
|
||||
}
|
||||
lock->waiting_writers_count--;
|
||||
}
|
||||
lock->runcount--; /* runcount becomes -1 */
|
||||
return pthread_mutex_unlock (&lock->lock);
|
||||
}
|
||||
|
||||
int
|
||||
glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = pthread_mutex_lock (&lock->lock);
|
||||
if (err != 0)
|
||||
return err;
|
||||
if (lock->runcount < 0)
|
||||
{
|
||||
/* Drop a writer lock. */
|
||||
if (!(lock->runcount == -1))
|
||||
{
|
||||
pthread_mutex_unlock (&lock->lock);
|
||||
return EINVAL;
|
||||
}
|
||||
lock->runcount = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Drop a reader lock. */
|
||||
if (!(lock->runcount > 0))
|
||||
{
|
||||
pthread_mutex_unlock (&lock->lock);
|
||||
return EINVAL;
|
||||
}
|
||||
lock->runcount--;
|
||||
}
|
||||
if (lock->runcount == 0)
|
||||
{
|
||||
/* POSIX recommends that "write locks shall take precedence over read
|
||||
locks", to avoid "writer starvation". */
|
||||
if (lock->waiting_writers_count > 0)
|
||||
{
|
||||
/* Wake up one of the waiting writers. */
|
||||
err = pthread_cond_signal (&lock->waiting_writers);
|
||||
if (err != 0)
|
||||
{
|
||||
pthread_mutex_unlock (&lock->lock);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Wake up all waiting readers. */
|
||||
err = pthread_cond_broadcast (&lock->waiting_readers);
|
||||
if (err != 0)
|
||||
{
|
||||
pthread_mutex_unlock (&lock->lock);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
}
|
||||
return pthread_mutex_unlock (&lock->lock);
|
||||
}
|
||||
|
||||
int
|
||||
glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = pthread_mutex_destroy (&lock->lock);
|
||||
if (err != 0)
|
||||
return err;
|
||||
err = pthread_cond_destroy (&lock->waiting_readers);
|
||||
if (err != 0)
|
||||
return err;
|
||||
err = pthread_cond_destroy (&lock->waiting_writers);
|
||||
if (err != 0)
|
||||
return err;
|
||||
return 0;
|
||||
}
|
||||
|
||||
# endif
|
||||
|
||||
/* --------------------- gl_recursive_lock_t datatype --------------------- */
|
||||
|
||||
# if HAVE_PTHREAD_MUTEX_RECURSIVE
|
||||
|
||||
# if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
|
||||
|
||||
int
|
||||
glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock)
|
||||
{
|
||||
pthread_mutexattr_t attributes;
|
||||
int err;
|
||||
|
||||
err = pthread_mutexattr_init (&attributes);
|
||||
if (err != 0)
|
||||
return err;
|
||||
err = pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE);
|
||||
if (err != 0)
|
||||
{
|
||||
pthread_mutexattr_destroy (&attributes);
|
||||
return err;
|
||||
}
|
||||
err = pthread_mutex_init (lock, &attributes);
|
||||
if (err != 0)
|
||||
{
|
||||
pthread_mutexattr_destroy (&attributes);
|
||||
return err;
|
||||
}
|
||||
err = pthread_mutexattr_destroy (&attributes);
|
||||
if (err != 0)
|
||||
return err;
|
||||
return 0;
|
||||
}
|
||||
|
||||
# else
|
||||
|
||||
int
|
||||
glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock)
|
||||
{
|
||||
pthread_mutexattr_t attributes;
|
||||
int err;
|
||||
|
||||
err = pthread_mutexattr_init (&attributes);
|
||||
if (err != 0)
|
||||
return err;
|
||||
err = pthread_mutexattr_settype (&attributes, PTHREAD_MUTEX_RECURSIVE);
|
||||
if (err != 0)
|
||||
{
|
||||
pthread_mutexattr_destroy (&attributes);
|
||||
return err;
|
||||
}
|
||||
err = pthread_mutex_init (&lock->recmutex, &attributes);
|
||||
if (err != 0)
|
||||
{
|
||||
pthread_mutexattr_destroy (&attributes);
|
||||
return err;
|
||||
}
|
||||
err = pthread_mutexattr_destroy (&attributes);
|
||||
if (err != 0)
|
||||
return err;
|
||||
lock->initialized = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock)
|
||||
{
|
||||
if (!lock->initialized)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = pthread_mutex_lock (&lock->guard);
|
||||
if (err != 0)
|
||||
return err;
|
||||
if (!lock->initialized)
|
||||
{
|
||||
err = glthread_recursive_lock_init_multithreaded (lock);
|
||||
if (err != 0)
|
||||
{
|
||||
pthread_mutex_unlock (&lock->guard);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
err = pthread_mutex_unlock (&lock->guard);
|
||||
if (err != 0)
|
||||
return err;
|
||||
}
|
||||
return pthread_mutex_lock (&lock->recmutex);
|
||||
}
|
||||
|
||||
int
|
||||
glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock)
|
||||
{
|
||||
if (!lock->initialized)
|
||||
return EINVAL;
|
||||
return pthread_mutex_unlock (&lock->recmutex);
|
||||
}
|
||||
|
||||
int
|
||||
glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock)
|
||||
{
|
||||
int err;
|
||||
|
||||
if (!lock->initialized)
|
||||
return EINVAL;
|
||||
err = pthread_mutex_destroy (&lock->recmutex);
|
||||
if (err != 0)
|
||||
return err;
|
||||
lock->initialized = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
int
|
||||
glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = pthread_mutex_init (&lock->mutex, NULL);
|
||||
if (err != 0)
|
||||
return err;
|
||||
lock->owner = (pthread_t) 0;
|
||||
lock->depth = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock)
|
||||
{
|
||||
pthread_t self = pthread_self ();
|
||||
if (lock->owner != self)
|
||||
{
|
||||
int err;
|
||||
|
||||
err = pthread_mutex_lock (&lock->mutex);
|
||||
if (err != 0)
|
||||
return err;
|
||||
lock->owner = self;
|
||||
}
|
||||
if (++(lock->depth) == 0) /* wraparound? */
|
||||
{
|
||||
lock->depth--;
|
||||
return EAGAIN;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock)
|
||||
{
|
||||
if (lock->owner != pthread_self ())
|
||||
return EPERM;
|
||||
if (lock->depth == 0)
|
||||
return EINVAL;
|
||||
if (--(lock->depth) == 0)
|
||||
{
|
||||
lock->owner = (pthread_t) 0;
|
||||
return pthread_mutex_unlock (&lock->mutex);
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock)
|
||||
{
|
||||
if (lock->owner != (pthread_t) 0)
|
||||
return EBUSY;
|
||||
return pthread_mutex_destroy (&lock->mutex);
|
||||
}
|
||||
|
||||
# endif
|
||||
|
||||
/* -------------------------- gl_once_t datatype -------------------------- */
|
||||
|
||||
static const pthread_once_t fresh_once = PTHREAD_ONCE_INIT;
|
||||
|
||||
int
|
||||
glthread_once_singlethreaded (pthread_once_t *once_control)
|
||||
{
|
||||
/* We don't know whether pthread_once_t is an integer type, a floating-point
|
||||
type, a pointer type, or a structure type. */
|
||||
char *firstbyte = (char *)once_control;
|
||||
if (*firstbyte == *(const char *)&fresh_once)
|
||||
{
|
||||
/* First time use of once_control. Invert the first byte. */
|
||||
*firstbyte = ~ *(const char *)&fresh_once;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* ========================================================================= */
|
||||
|
||||
#if USE_WINDOWS_THREADS
|
||||
|
||||
#endif
|
||||
|
||||
/* ========================================================================= */
|
666
lib/glthread/lock.h
Normal file
666
lib/glthread/lock.h
Normal file
@ -0,0 +1,666 @@
|
||||
/* Locking in multithreaded situations.
|
||||
Copyright (C) 2005-2019 Free Software Foundation, Inc.
|
||||
|
||||
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)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Bruno Haible <bruno@clisp.org>, 2005.
|
||||
Based on GCC's gthr-posix.h, gthr-posix95.h, gthr-win32.h. */
|
||||
|
||||
/* This file contains locking primitives for use with a given thread library.
|
||||
It does not contain primitives for creating threads or for other
|
||||
synchronization primitives.
|
||||
|
||||
Normal (non-recursive) locks:
|
||||
Type: gl_lock_t
|
||||
Declaration: gl_lock_define(extern, name)
|
||||
Initializer: gl_lock_define_initialized(, name)
|
||||
Initialization: gl_lock_init (name);
|
||||
Taking the lock: gl_lock_lock (name);
|
||||
Releasing the lock: gl_lock_unlock (name);
|
||||
De-initialization: gl_lock_destroy (name);
|
||||
Equivalent functions with control of error handling:
|
||||
Initialization: err = glthread_lock_init (&name);
|
||||
Taking the lock: err = glthread_lock_lock (&name);
|
||||
Releasing the lock: err = glthread_lock_unlock (&name);
|
||||
De-initialization: err = glthread_lock_destroy (&name);
|
||||
|
||||
Read-Write (non-recursive) locks:
|
||||
Type: gl_rwlock_t
|
||||
Declaration: gl_rwlock_define(extern, name)
|
||||
Initializer: gl_rwlock_define_initialized(, name)
|
||||
Initialization: gl_rwlock_init (name);
|
||||
Taking the lock: gl_rwlock_rdlock (name);
|
||||
gl_rwlock_wrlock (name);
|
||||
Releasing the lock: gl_rwlock_unlock (name);
|
||||
De-initialization: gl_rwlock_destroy (name);
|
||||
Equivalent functions with control of error handling:
|
||||
Initialization: err = glthread_rwlock_init (&name);
|
||||
Taking the lock: err = glthread_rwlock_rdlock (&name);
|
||||
err = glthread_rwlock_wrlock (&name);
|
||||
Releasing the lock: err = glthread_rwlock_unlock (&name);
|
||||
De-initialization: err = glthread_rwlock_destroy (&name);
|
||||
|
||||
Recursive locks:
|
||||
Type: gl_recursive_lock_t
|
||||
Declaration: gl_recursive_lock_define(extern, name)
|
||||
Initializer: gl_recursive_lock_define_initialized(, name)
|
||||
Initialization: gl_recursive_lock_init (name);
|
||||
Taking the lock: gl_recursive_lock_lock (name);
|
||||
Releasing the lock: gl_recursive_lock_unlock (name);
|
||||
De-initialization: gl_recursive_lock_destroy (name);
|
||||
Equivalent functions with control of error handling:
|
||||
Initialization: err = glthread_recursive_lock_init (&name);
|
||||
Taking the lock: err = glthread_recursive_lock_lock (&name);
|
||||
Releasing the lock: err = glthread_recursive_lock_unlock (&name);
|
||||
De-initialization: err = glthread_recursive_lock_destroy (&name);
|
||||
|
||||
Once-only execution:
|
||||
Type: gl_once_t
|
||||
Initializer: gl_once_define(extern, name)
|
||||
Execution: gl_once (name, initfunction);
|
||||
Equivalent functions with control of error handling:
|
||||
Execution: err = glthread_once (&name, initfunction);
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _LOCK_H
|
||||
#define _LOCK_H
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#if !defined c11_threads_in_use
|
||||
# if HAVE_THREADS_H && USE_POSIX_THREADS_WEAK
|
||||
# include <threads.h>
|
||||
# pragma weak thrd_exit
|
||||
# define c11_threads_in_use() (thrd_exit != NULL)
|
||||
# else
|
||||
# define c11_threads_in_use() 0
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* ========================================================================= */
|
||||
|
||||
#if USE_POSIX_THREADS
|
||||
|
||||
/* Use the POSIX threads library. */
|
||||
|
||||
# include <pthread.h>
|
||||
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
# endif
|
||||
|
||||
# if PTHREAD_IN_USE_DETECTION_HARD
|
||||
|
||||
/* The pthread_in_use() detection needs to be done at runtime. */
|
||||
# define pthread_in_use() \
|
||||
glthread_in_use ()
|
||||
extern int glthread_in_use (void);
|
||||
|
||||
# endif
|
||||
|
||||
# if USE_POSIX_THREADS_WEAK
|
||||
|
||||
/* Use weak references to the POSIX threads library. */
|
||||
|
||||
/* Weak references avoid dragging in external libraries if the other parts
|
||||
of the program don't use them. Here we use them, because we don't want
|
||||
every program that uses libintl to depend on libpthread. This assumes
|
||||
that libpthread would not be loaded after libintl; i.e. if libintl is
|
||||
loaded first, by an executable that does not depend on libpthread, and
|
||||
then a module is dynamically loaded that depends on libpthread, libintl
|
||||
will not be multithread-safe. */
|
||||
|
||||
/* The way to test at runtime whether libpthread is present is to test
|
||||
whether a function pointer's value, such as &pthread_mutex_init, is
|
||||
non-NULL. However, some versions of GCC have a bug through which, in
|
||||
PIC mode, &foo != NULL always evaluates to true if there is a direct
|
||||
call to foo(...) in the same function. To avoid this, we test the
|
||||
address of a function in libpthread that we don't use. */
|
||||
|
||||
# pragma weak pthread_mutex_init
|
||||
# pragma weak pthread_mutex_lock
|
||||
# pragma weak pthread_mutex_unlock
|
||||
# pragma weak pthread_mutex_destroy
|
||||
# pragma weak pthread_rwlock_init
|
||||
# pragma weak pthread_rwlock_rdlock
|
||||
# pragma weak pthread_rwlock_wrlock
|
||||
# pragma weak pthread_rwlock_unlock
|
||||
# pragma weak pthread_rwlock_destroy
|
||||
# pragma weak pthread_once
|
||||
# pragma weak pthread_cond_init
|
||||
# pragma weak pthread_cond_wait
|
||||
# pragma weak pthread_cond_signal
|
||||
# pragma weak pthread_cond_broadcast
|
||||
# pragma weak pthread_cond_destroy
|
||||
# pragma weak pthread_mutexattr_init
|
||||
# pragma weak pthread_mutexattr_settype
|
||||
# pragma weak pthread_mutexattr_destroy
|
||||
# pragma weak pthread_rwlockattr_init
|
||||
# if __GNU_LIBRARY__ > 1
|
||||
# pragma weak pthread_rwlockattr_setkind_np
|
||||
# endif
|
||||
# pragma weak pthread_rwlockattr_destroy
|
||||
# ifndef pthread_self
|
||||
# pragma weak pthread_self
|
||||
# endif
|
||||
|
||||
# if !PTHREAD_IN_USE_DETECTION_HARD
|
||||
/* Considering all platforms with USE_POSIX_THREADS_WEAK, only few symbols
|
||||
can be used to determine whether libpthread is in use. These are:
|
||||
pthread_mutexattr_gettype
|
||||
pthread_rwlockattr_destroy
|
||||
pthread_rwlockattr_init
|
||||
*/
|
||||
# pragma weak pthread_mutexattr_gettype
|
||||
# define pthread_in_use() \
|
||||
(pthread_mutexattr_gettype != NULL || c11_threads_in_use ())
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
# if !PTHREAD_IN_USE_DETECTION_HARD
|
||||
# define pthread_in_use() 1
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
/* -------------------------- gl_lock_t datatype -------------------------- */
|
||||
|
||||
typedef pthread_mutex_t gl_lock_t;
|
||||
# define gl_lock_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS pthread_mutex_t NAME;
|
||||
# define gl_lock_define_initialized(STORAGECLASS, NAME) \
|
||||
STORAGECLASS pthread_mutex_t NAME = gl_lock_initializer;
|
||||
# define gl_lock_initializer \
|
||||
PTHREAD_MUTEX_INITIALIZER
|
||||
# define glthread_lock_init(LOCK) \
|
||||
(pthread_in_use () ? pthread_mutex_init (LOCK, NULL) : 0)
|
||||
# define glthread_lock_lock(LOCK) \
|
||||
(pthread_in_use () ? pthread_mutex_lock (LOCK) : 0)
|
||||
# define glthread_lock_unlock(LOCK) \
|
||||
(pthread_in_use () ? pthread_mutex_unlock (LOCK) : 0)
|
||||
# define glthread_lock_destroy(LOCK) \
|
||||
(pthread_in_use () ? pthread_mutex_destroy (LOCK) : 0)
|
||||
|
||||
/* ------------------------- gl_rwlock_t datatype ------------------------- */
|
||||
|
||||
# if HAVE_PTHREAD_RWLOCK && (HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER || (defined PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP && (__GNU_LIBRARY__ > 1)))
|
||||
|
||||
# ifdef PTHREAD_RWLOCK_INITIALIZER
|
||||
|
||||
typedef pthread_rwlock_t gl_rwlock_t;
|
||||
# define gl_rwlock_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS pthread_rwlock_t NAME;
|
||||
# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
|
||||
STORAGECLASS pthread_rwlock_t NAME = gl_rwlock_initializer;
|
||||
# if HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER
|
||||
# define gl_rwlock_initializer \
|
||||
PTHREAD_RWLOCK_INITIALIZER
|
||||
# define glthread_rwlock_init(LOCK) \
|
||||
(pthread_in_use () ? pthread_rwlock_init (LOCK, NULL) : 0)
|
||||
# else /* glibc with bug https://sourceware.org/bugzilla/show_bug.cgi?id=13701 */
|
||||
# define gl_rwlock_initializer \
|
||||
PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP
|
||||
# define glthread_rwlock_init(LOCK) \
|
||||
(pthread_in_use () ? glthread_rwlock_init_for_glibc (LOCK) : 0)
|
||||
extern int glthread_rwlock_init_for_glibc (pthread_rwlock_t *lock);
|
||||
# endif
|
||||
# define glthread_rwlock_rdlock(LOCK) \
|
||||
(pthread_in_use () ? pthread_rwlock_rdlock (LOCK) : 0)
|
||||
# define glthread_rwlock_wrlock(LOCK) \
|
||||
(pthread_in_use () ? pthread_rwlock_wrlock (LOCK) : 0)
|
||||
# define glthread_rwlock_unlock(LOCK) \
|
||||
(pthread_in_use () ? pthread_rwlock_unlock (LOCK) : 0)
|
||||
# define glthread_rwlock_destroy(LOCK) \
|
||||
(pthread_in_use () ? pthread_rwlock_destroy (LOCK) : 0)
|
||||
|
||||
# else
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int initialized;
|
||||
pthread_mutex_t guard; /* protects the initialization */
|
||||
pthread_rwlock_t rwlock; /* read-write lock */
|
||||
}
|
||||
gl_rwlock_t;
|
||||
# define gl_rwlock_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_rwlock_t NAME;
|
||||
# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer;
|
||||
# define gl_rwlock_initializer \
|
||||
{ 0, PTHREAD_MUTEX_INITIALIZER }
|
||||
# define glthread_rwlock_init(LOCK) \
|
||||
(pthread_in_use () ? glthread_rwlock_init_multithreaded (LOCK) : 0)
|
||||
# define glthread_rwlock_rdlock(LOCK) \
|
||||
(pthread_in_use () ? glthread_rwlock_rdlock_multithreaded (LOCK) : 0)
|
||||
# define glthread_rwlock_wrlock(LOCK) \
|
||||
(pthread_in_use () ? glthread_rwlock_wrlock_multithreaded (LOCK) : 0)
|
||||
# define glthread_rwlock_unlock(LOCK) \
|
||||
(pthread_in_use () ? glthread_rwlock_unlock_multithreaded (LOCK) : 0)
|
||||
# define glthread_rwlock_destroy(LOCK) \
|
||||
(pthread_in_use () ? glthread_rwlock_destroy_multithreaded (LOCK) : 0)
|
||||
extern int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock);
|
||||
extern int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock);
|
||||
extern int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock);
|
||||
extern int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock);
|
||||
extern int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock);
|
||||
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
typedef struct
|
||||
{
|
||||
pthread_mutex_t lock; /* protects the remaining fields */
|
||||
pthread_cond_t waiting_readers; /* waiting readers */
|
||||
pthread_cond_t waiting_writers; /* waiting writers */
|
||||
unsigned int waiting_writers_count; /* number of waiting writers */
|
||||
int runcount; /* number of readers running, or -1 when a writer runs */
|
||||
}
|
||||
gl_rwlock_t;
|
||||
# define gl_rwlock_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_rwlock_t NAME;
|
||||
# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer;
|
||||
# define gl_rwlock_initializer \
|
||||
{ PTHREAD_MUTEX_INITIALIZER, PTHREAD_COND_INITIALIZER, PTHREAD_COND_INITIALIZER, 0, 0 }
|
||||
# define glthread_rwlock_init(LOCK) \
|
||||
(pthread_in_use () ? glthread_rwlock_init_multithreaded (LOCK) : 0)
|
||||
# define glthread_rwlock_rdlock(LOCK) \
|
||||
(pthread_in_use () ? glthread_rwlock_rdlock_multithreaded (LOCK) : 0)
|
||||
# define glthread_rwlock_wrlock(LOCK) \
|
||||
(pthread_in_use () ? glthread_rwlock_wrlock_multithreaded (LOCK) : 0)
|
||||
# define glthread_rwlock_unlock(LOCK) \
|
||||
(pthread_in_use () ? glthread_rwlock_unlock_multithreaded (LOCK) : 0)
|
||||
# define glthread_rwlock_destroy(LOCK) \
|
||||
(pthread_in_use () ? glthread_rwlock_destroy_multithreaded (LOCK) : 0)
|
||||
extern int glthread_rwlock_init_multithreaded (gl_rwlock_t *lock);
|
||||
extern int glthread_rwlock_rdlock_multithreaded (gl_rwlock_t *lock);
|
||||
extern int glthread_rwlock_wrlock_multithreaded (gl_rwlock_t *lock);
|
||||
extern int glthread_rwlock_unlock_multithreaded (gl_rwlock_t *lock);
|
||||
extern int glthread_rwlock_destroy_multithreaded (gl_rwlock_t *lock);
|
||||
|
||||
# endif
|
||||
|
||||
/* --------------------- gl_recursive_lock_t datatype --------------------- */
|
||||
|
||||
# if HAVE_PTHREAD_MUTEX_RECURSIVE
|
||||
|
||||
# if defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER || defined PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
|
||||
|
||||
typedef pthread_mutex_t gl_recursive_lock_t;
|
||||
# define gl_recursive_lock_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS pthread_mutex_t NAME;
|
||||
# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
|
||||
STORAGECLASS pthread_mutex_t NAME = gl_recursive_lock_initializer;
|
||||
# ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER
|
||||
# define gl_recursive_lock_initializer \
|
||||
PTHREAD_RECURSIVE_MUTEX_INITIALIZER
|
||||
# else
|
||||
# define gl_recursive_lock_initializer \
|
||||
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
|
||||
# endif
|
||||
# define glthread_recursive_lock_init(LOCK) \
|
||||
(pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0)
|
||||
# define glthread_recursive_lock_lock(LOCK) \
|
||||
(pthread_in_use () ? pthread_mutex_lock (LOCK) : 0)
|
||||
# define glthread_recursive_lock_unlock(LOCK) \
|
||||
(pthread_in_use () ? pthread_mutex_unlock (LOCK) : 0)
|
||||
# define glthread_recursive_lock_destroy(LOCK) \
|
||||
(pthread_in_use () ? pthread_mutex_destroy (LOCK) : 0)
|
||||
extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock);
|
||||
|
||||
# else
|
||||
|
||||
typedef struct
|
||||
{
|
||||
pthread_mutex_t recmutex; /* recursive mutex */
|
||||
pthread_mutex_t guard; /* protects the initialization */
|
||||
int initialized;
|
||||
}
|
||||
gl_recursive_lock_t;
|
||||
# define gl_recursive_lock_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_recursive_lock_t NAME;
|
||||
# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;
|
||||
# define gl_recursive_lock_initializer \
|
||||
{ PTHREAD_MUTEX_INITIALIZER, PTHREAD_MUTEX_INITIALIZER, 0 }
|
||||
# define glthread_recursive_lock_init(LOCK) \
|
||||
(pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0)
|
||||
# define glthread_recursive_lock_lock(LOCK) \
|
||||
(pthread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0)
|
||||
# define glthread_recursive_lock_unlock(LOCK) \
|
||||
(pthread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0)
|
||||
# define glthread_recursive_lock_destroy(LOCK) \
|
||||
(pthread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0)
|
||||
extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock);
|
||||
extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock);
|
||||
extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock);
|
||||
extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock);
|
||||
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
/* Old versions of POSIX threads on Solaris did not have recursive locks.
|
||||
We have to implement them ourselves. */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
pthread_mutex_t mutex;
|
||||
pthread_t owner;
|
||||
unsigned long depth;
|
||||
}
|
||||
gl_recursive_lock_t;
|
||||
# define gl_recursive_lock_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_recursive_lock_t NAME;
|
||||
# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;
|
||||
# define gl_recursive_lock_initializer \
|
||||
{ PTHREAD_MUTEX_INITIALIZER, (pthread_t) 0, 0 }
|
||||
# define glthread_recursive_lock_init(LOCK) \
|
||||
(pthread_in_use () ? glthread_recursive_lock_init_multithreaded (LOCK) : 0)
|
||||
# define glthread_recursive_lock_lock(LOCK) \
|
||||
(pthread_in_use () ? glthread_recursive_lock_lock_multithreaded (LOCK) : 0)
|
||||
# define glthread_recursive_lock_unlock(LOCK) \
|
||||
(pthread_in_use () ? glthread_recursive_lock_unlock_multithreaded (LOCK) : 0)
|
||||
# define glthread_recursive_lock_destroy(LOCK) \
|
||||
(pthread_in_use () ? glthread_recursive_lock_destroy_multithreaded (LOCK) : 0)
|
||||
extern int glthread_recursive_lock_init_multithreaded (gl_recursive_lock_t *lock);
|
||||
extern int glthread_recursive_lock_lock_multithreaded (gl_recursive_lock_t *lock);
|
||||
extern int glthread_recursive_lock_unlock_multithreaded (gl_recursive_lock_t *lock);
|
||||
extern int glthread_recursive_lock_destroy_multithreaded (gl_recursive_lock_t *lock);
|
||||
|
||||
# endif
|
||||
|
||||
/* -------------------------- gl_once_t datatype -------------------------- */
|
||||
|
||||
typedef pthread_once_t gl_once_t;
|
||||
# define gl_once_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS pthread_once_t NAME = PTHREAD_ONCE_INIT;
|
||||
# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
|
||||
(pthread_in_use () \
|
||||
? pthread_once (ONCE_CONTROL, INITFUNCTION) \
|
||||
: (glthread_once_singlethreaded (ONCE_CONTROL) ? (INITFUNCTION (), 0) : 0))
|
||||
extern int glthread_once_singlethreaded (pthread_once_t *once_control);
|
||||
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
/* ========================================================================= */
|
||||
|
||||
#if USE_WINDOWS_THREADS
|
||||
|
||||
# define WIN32_LEAN_AND_MEAN /* avoid including junk */
|
||||
# include <windows.h>
|
||||
|
||||
# include "windows-mutex.h"
|
||||
# include "windows-rwlock.h"
|
||||
# include "windows-recmutex.h"
|
||||
# include "windows-once.h"
|
||||
|
||||
# ifdef __cplusplus
|
||||
extern "C" {
|
||||
# endif
|
||||
|
||||
/* We can use CRITICAL_SECTION directly, rather than the native Windows Event,
|
||||
Mutex, Semaphore types, because
|
||||
- we need only to synchronize inside a single process (address space),
|
||||
not inter-process locking,
|
||||
- we don't need to support trylock operations. (TryEnterCriticalSection
|
||||
does not work on Windows 95/98/ME. Packages that need trylock usually
|
||||
define their own mutex type.) */
|
||||
|
||||
/* There is no way to statically initialize a CRITICAL_SECTION. It needs
|
||||
to be done lazily, once only. For this we need spinlocks. */
|
||||
|
||||
/* -------------------------- gl_lock_t datatype -------------------------- */
|
||||
|
||||
typedef glwthread_mutex_t gl_lock_t;
|
||||
# define gl_lock_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_lock_t NAME;
|
||||
# define gl_lock_define_initialized(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_lock_t NAME = gl_lock_initializer;
|
||||
# define gl_lock_initializer \
|
||||
GLWTHREAD_MUTEX_INIT
|
||||
# define glthread_lock_init(LOCK) \
|
||||
(glwthread_mutex_init (LOCK), 0)
|
||||
# define glthread_lock_lock(LOCK) \
|
||||
glwthread_mutex_lock (LOCK)
|
||||
# define glthread_lock_unlock(LOCK) \
|
||||
glwthread_mutex_unlock (LOCK)
|
||||
# define glthread_lock_destroy(LOCK) \
|
||||
glwthread_mutex_destroy (LOCK)
|
||||
|
||||
/* ------------------------- gl_rwlock_t datatype ------------------------- */
|
||||
|
||||
typedef glwthread_rwlock_t gl_rwlock_t;
|
||||
# define gl_rwlock_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_rwlock_t NAME;
|
||||
# define gl_rwlock_define_initialized(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_rwlock_t NAME = gl_rwlock_initializer;
|
||||
# define gl_rwlock_initializer \
|
||||
GLWTHREAD_RWLOCK_INIT
|
||||
# define glthread_rwlock_init(LOCK) \
|
||||
(glwthread_rwlock_init (LOCK), 0)
|
||||
# define glthread_rwlock_rdlock(LOCK) \
|
||||
glwthread_rwlock_rdlock (LOCK)
|
||||
# define glthread_rwlock_wrlock(LOCK) \
|
||||
glwthread_rwlock_wrlock (LOCK)
|
||||
# define glthread_rwlock_unlock(LOCK) \
|
||||
glwthread_rwlock_unlock (LOCK)
|
||||
# define glthread_rwlock_destroy(LOCK) \
|
||||
glwthread_rwlock_destroy (LOCK)
|
||||
|
||||
/* --------------------- gl_recursive_lock_t datatype --------------------- */
|
||||
|
||||
typedef glwthread_recmutex_t gl_recursive_lock_t;
|
||||
# define gl_recursive_lock_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_recursive_lock_t NAME;
|
||||
# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_recursive_lock_t NAME = gl_recursive_lock_initializer;
|
||||
# define gl_recursive_lock_initializer \
|
||||
GLWTHREAD_RECMUTEX_INIT
|
||||
# define glthread_recursive_lock_init(LOCK) \
|
||||
(glwthread_recmutex_init (LOCK), 0)
|
||||
# define glthread_recursive_lock_lock(LOCK) \
|
||||
glwthread_recmutex_lock (LOCK)
|
||||
# define glthread_recursive_lock_unlock(LOCK) \
|
||||
glwthread_recmutex_unlock (LOCK)
|
||||
# define glthread_recursive_lock_destroy(LOCK) \
|
||||
glwthread_recmutex_destroy (LOCK)
|
||||
|
||||
/* -------------------------- gl_once_t datatype -------------------------- */
|
||||
|
||||
typedef glwthread_once_t gl_once_t;
|
||||
# define gl_once_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_once_t NAME = GLWTHREAD_ONCE_INIT;
|
||||
# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
|
||||
(glwthread_once (ONCE_CONTROL, INITFUNCTION), 0)
|
||||
|
||||
# ifdef __cplusplus
|
||||
}
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
/* ========================================================================= */
|
||||
|
||||
#if !(USE_POSIX_THREADS || USE_WINDOWS_THREADS)
|
||||
|
||||
/* Provide dummy implementation if threads are not supported. */
|
||||
|
||||
/* -------------------------- gl_lock_t datatype -------------------------- */
|
||||
|
||||
typedef int gl_lock_t;
|
||||
# define gl_lock_define(STORAGECLASS, NAME)
|
||||
# define gl_lock_define_initialized(STORAGECLASS, NAME)
|
||||
# define glthread_lock_init(NAME) 0
|
||||
# define glthread_lock_lock(NAME) 0
|
||||
# define glthread_lock_unlock(NAME) 0
|
||||
# define glthread_lock_destroy(NAME) 0
|
||||
|
||||
/* ------------------------- gl_rwlock_t datatype ------------------------- */
|
||||
|
||||
typedef int gl_rwlock_t;
|
||||
# define gl_rwlock_define(STORAGECLASS, NAME)
|
||||
# define gl_rwlock_define_initialized(STORAGECLASS, NAME)
|
||||
# define glthread_rwlock_init(NAME) 0
|
||||
# define glthread_rwlock_rdlock(NAME) 0
|
||||
# define glthread_rwlock_wrlock(NAME) 0
|
||||
# define glthread_rwlock_unlock(NAME) 0
|
||||
# define glthread_rwlock_destroy(NAME) 0
|
||||
|
||||
/* --------------------- gl_recursive_lock_t datatype --------------------- */
|
||||
|
||||
typedef int gl_recursive_lock_t;
|
||||
# define gl_recursive_lock_define(STORAGECLASS, NAME)
|
||||
# define gl_recursive_lock_define_initialized(STORAGECLASS, NAME)
|
||||
# define glthread_recursive_lock_init(NAME) 0
|
||||
# define glthread_recursive_lock_lock(NAME) 0
|
||||
# define glthread_recursive_lock_unlock(NAME) 0
|
||||
# define glthread_recursive_lock_destroy(NAME) 0
|
||||
|
||||
/* -------------------------- gl_once_t datatype -------------------------- */
|
||||
|
||||
typedef int gl_once_t;
|
||||
# define gl_once_define(STORAGECLASS, NAME) \
|
||||
STORAGECLASS gl_once_t NAME = 0;
|
||||
# define glthread_once(ONCE_CONTROL, INITFUNCTION) \
|
||||
(*(ONCE_CONTROL) == 0 ? (*(ONCE_CONTROL) = ~ 0, INITFUNCTION (), 0) : 0)
|
||||
|
||||
#endif
|
||||
|
||||
/* ========================================================================= */
|
||||
|
||||
/* Macros with built-in error handling. */
|
||||
|
||||
/* -------------------------- gl_lock_t datatype -------------------------- */
|
||||
|
||||
#define gl_lock_init(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_lock_init (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
#define gl_lock_lock(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_lock_lock (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
#define gl_lock_unlock(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_lock_unlock (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
#define gl_lock_destroy(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_lock_destroy (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* ------------------------- gl_rwlock_t datatype ------------------------- */
|
||||
|
||||
#define gl_rwlock_init(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_rwlock_init (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
#define gl_rwlock_rdlock(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_rwlock_rdlock (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
#define gl_rwlock_wrlock(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_rwlock_wrlock (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
#define gl_rwlock_unlock(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_rwlock_unlock (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
#define gl_rwlock_destroy(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_rwlock_destroy (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* --------------------- gl_recursive_lock_t datatype --------------------- */
|
||||
|
||||
#define gl_recursive_lock_init(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_recursive_lock_init (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
#define gl_recursive_lock_lock(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_recursive_lock_lock (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
#define gl_recursive_lock_unlock(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_recursive_lock_unlock (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
#define gl_recursive_lock_destroy(NAME) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_recursive_lock_destroy (&NAME)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* -------------------------- gl_once_t datatype -------------------------- */
|
||||
|
||||
#define gl_once(NAME, INITFUNCTION) \
|
||||
do \
|
||||
{ \
|
||||
if (glthread_once (&NAME, INITFUNCTION)) \
|
||||
abort (); \
|
||||
} \
|
||||
while (0)
|
||||
|
||||
/* ========================================================================= */
|
||||
|
||||
#endif /* _LOCK_H */
|
73
lib/glthread/threadlib.c
Normal file
73
lib/glthread/threadlib.c
Normal file
@ -0,0 +1,73 @@
|
||||
/* Multithreading primitives.
|
||||
Copyright (C) 2005-2019 Free Software Foundation, Inc.
|
||||
|
||||
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)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Bruno Haible <bruno@clisp.org>, 2005. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/* ========================================================================= */
|
||||
|
||||
#if USE_POSIX_THREADS
|
||||
|
||||
/* Use the POSIX threads library. */
|
||||
|
||||
# include <pthread.h>
|
||||
# include <stdlib.h>
|
||||
|
||||
# if PTHREAD_IN_USE_DETECTION_HARD
|
||||
|
||||
/* The function to be executed by a dummy thread. */
|
||||
static void *
|
||||
dummy_thread_func (void *arg)
|
||||
{
|
||||
return arg;
|
||||
}
|
||||
|
||||
int
|
||||
glthread_in_use (void)
|
||||
{
|
||||
static int tested;
|
||||
static int result; /* 1: linked with -lpthread, 0: only with libc */
|
||||
|
||||
if (!tested)
|
||||
{
|
||||
pthread_t thread;
|
||||
|
||||
if (pthread_create (&thread, NULL, dummy_thread_func, NULL) != 0)
|
||||
/* Thread creation failed. */
|
||||
result = 0;
|
||||
else
|
||||
{
|
||||
/* Thread creation works. */
|
||||
void *retval;
|
||||
if (pthread_join (thread, &retval) != 0)
|
||||
abort ();
|
||||
result = 1;
|
||||
}
|
||||
tested = 1;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
/* ========================================================================= */
|
||||
|
||||
/* This declaration is solely to ensure that after preprocessing
|
||||
this file is never empty. */
|
||||
typedef int dummy;
|
@ -1,6 +1,6 @@
|
||||
/* hard-locale.c -- Determine whether a locale is hard.
|
||||
|
||||
Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2017 Free Software
|
||||
Copyright (C) 1997-1999, 2002-2004, 2006-2007, 2009-2019 Free Software
|
||||
Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@ -14,7 +14,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Determine whether a locale is hard.
|
||||
|
||||
Copyright (C) 1999, 2003-2004, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999, 2003-2004, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef HARD_LOCALE_H_
|
||||
# define HARD_LOCALE_H_ 1
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Character set conversion.
|
||||
Copyright (C) 1999-2001, 2007, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999-2001, 2007, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@ -26,9 +26,6 @@
|
||||
# include <stdint.h>
|
||||
# include <stdlib.h>
|
||||
# include "unistr.h"
|
||||
# ifndef uintptr_t
|
||||
# define uintptr_t unsigned long
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if REPLACE_ICONV_UTF
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* A GNU-like <iconv.h>.
|
||||
|
||||
Copyright (C) 2007-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2007-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _@GUARD_PREFIX@_ICONV_H
|
||||
|
||||
@ -52,6 +52,12 @@ _GL_CXXALIAS_SYS (iconv_open, iconv_t,
|
||||
(const char *tocode, const char *fromcode));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (iconv_open);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef iconv_open
|
||||
# if HAVE_RAW_DECL_ICONV_OPEN
|
||||
_GL_WARN_ON_USE (iconv_open, "iconv_open is not working correctly everywhere - "
|
||||
"use gnulib module iconv for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if @REPLACE_ICONV_UTF@
|
||||
@ -90,6 +96,12 @@ _GL_CXXALIASWARN (iconv);
|
||||
# ifndef ICONV_CONST
|
||||
# define ICONV_CONST @ICONV_CONST@
|
||||
# endif
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef iconv
|
||||
# if HAVE_RAW_DECL_ICONV
|
||||
_GL_WARN_ON_USE (iconv, "iconv is not working correctly everywhere - "
|
||||
"use gnulib module iconv for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if @GNULIB_ICONV@
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Character set conversion.
|
||||
Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@ -20,9 +20,6 @@
|
||||
#include <iconv.h>
|
||||
|
||||
#include <stdint.h>
|
||||
#ifndef uintptr_t
|
||||
# define uintptr_t unsigned long
|
||||
#endif
|
||||
|
||||
int
|
||||
rpl_iconv_close (iconv_t cd)
|
||||
|
@ -1,3 +1,19 @@
|
||||
/* Character set conversion.
|
||||
Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
|
||||
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)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
|
||||
%struct-type
|
||||
%language=ANSI-C
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* ANSI-C code produced by gperf version 3.0.4 */
|
||||
/* ANSI-C code produced by gperf version 3.1 */
|
||||
/* Command-line: gperf -m 10 ./iconv_open-aix.gperf */
|
||||
/* Computed positions: -k'4,$' */
|
||||
|
||||
@ -26,10 +26,10 @@
|
||||
&& ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
|
||||
&& ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
|
||||
/* The character set is not based on ISO-646. */
|
||||
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
|
||||
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
|
||||
#endif
|
||||
|
||||
#line 1 "./iconv_open-aix.gperf"
|
||||
#line 17 "./iconv_open-aix.gperf"
|
||||
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
|
||||
|
||||
#define TOTAL_KEYWORDS 32
|
||||
@ -47,7 +47,7 @@ inline
|
||||
#endif
|
||||
#endif
|
||||
static unsigned int
|
||||
mapping_hash (register const char *str, register unsigned int len)
|
||||
mapping_hash (register const char *str, register size_t len)
|
||||
{
|
||||
static const unsigned char asso_values[] =
|
||||
{
|
||||
@ -156,91 +156,85 @@ static const struct stringpool_t stringpool_contents =
|
||||
static const struct mapping mappings[] =
|
||||
{
|
||||
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
|
||||
#line 43 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "IBM-eucTW"},
|
||||
#line 42 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "IBM-eucKR"},
|
||||
#line 25 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "IBM-852"},
|
||||
#line 59 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "IBM-eucTW"},
|
||||
#line 58 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "IBM-eucKR"},
|
||||
#line 41 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "IBM-eucJP"},
|
||||
#line 14 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-2"},
|
||||
#line 27 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "IBM-857"},
|
||||
#line 24 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "IBM-850"},
|
||||
#line 19 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-7"},
|
||||
#line 33 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "IBM-932"},
|
||||
#line 40 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "IBM-eucCN"},
|
||||
#line 44 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "big5"},
|
||||
#line 23 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "IBM-437"},
|
||||
{-1},
|
||||
#line 17 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-5"},
|
||||
#line 22 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-15"},
|
||||
#line 15 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-3"},
|
||||
#line 31 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "IBM-921"},
|
||||
#line 35 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "IBM-1046"},
|
||||
#line 20 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str24, "ISO8859-8"},
|
||||
#line 26 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "IBM-856"},
|
||||
#line 37 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "IBM-1125"},
|
||||
#line 18 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"},
|
||||
#line 29 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str28, "IBM-865"},
|
||||
#line 32 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "IBM-922"},
|
||||
#line 39 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "IBM-1252"},
|
||||
#line 21 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "ISO8859-9"},
|
||||
{-1},
|
||||
#line 34 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "IBM-943"},
|
||||
#line 16 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "ISO8859-4"},
|
||||
#line 13 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "ISO8859-1"},
|
||||
{-1}, {-1},
|
||||
#line 38 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "IBM-1129"},
|
||||
{-1},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "IBM-852"},
|
||||
#line 57 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "IBM-eucJP"},
|
||||
#line 30 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "IBM-869"},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-2"},
|
||||
#line 43 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "IBM-857"},
|
||||
#line 40 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "IBM-850"},
|
||||
#line 35 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-7"},
|
||||
#line 49 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "IBM-932"},
|
||||
#line 56 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "IBM-eucCN"},
|
||||
#line 60 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "big5"},
|
||||
#line 39 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "IBM-437"},
|
||||
{-1},
|
||||
#line 33 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-5"},
|
||||
#line 38 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-15"},
|
||||
#line 31 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-3"},
|
||||
#line 47 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "IBM-921"},
|
||||
#line 51 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "IBM-1046"},
|
||||
#line 36 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "IBM-1124"},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, "ISO8859-8"},
|
||||
#line 42 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "IBM-856"},
|
||||
#line 53 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "IBM-1125"},
|
||||
#line 34 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"},
|
||||
#line 45 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, "IBM-865"},
|
||||
#line 48 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "IBM-922"},
|
||||
#line 55 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "IBM-1252"},
|
||||
#line 37 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "ISO8859-9"},
|
||||
{-1},
|
||||
#line 50 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "IBM-943"},
|
||||
#line 32 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "ISO8859-4"},
|
||||
#line 29 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "ISO8859-1"},
|
||||
{-1}, {-1},
|
||||
#line 28 "./iconv_open-aix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str44, "IBM-861"}
|
||||
#line 54 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "IBM-1129"},
|
||||
{-1},
|
||||
#line 46 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "IBM-869"},
|
||||
#line 52 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "IBM-1124"},
|
||||
{-1}, {-1},
|
||||
#line 44 "./iconv_open-aix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, "IBM-861"}
|
||||
};
|
||||
|
||||
#ifdef __GNUC__
|
||||
__inline
|
||||
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
|
||||
__attribute__ ((__gnu_inline__))
|
||||
#endif
|
||||
#endif
|
||||
const struct mapping *
|
||||
mapping_lookup (register const char *str, register unsigned int len)
|
||||
mapping_lookup (register const char *str, register size_t len)
|
||||
{
|
||||
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
|
||||
{
|
||||
register int key = mapping_hash (str, len);
|
||||
register unsigned int key = mapping_hash (str, len);
|
||||
|
||||
if (key <= MAX_HASH_VALUE && key >= 0)
|
||||
if (key <= MAX_HASH_VALUE)
|
||||
{
|
||||
register int o = mappings[key].standard_name;
|
||||
if (o >= 0)
|
||||
|
@ -1,3 +1,19 @@
|
||||
/* Character set conversion.
|
||||
Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
|
||||
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)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
struct mapping { int standard_name; const char vendor_name[9 + 1]; };
|
||||
%struct-type
|
||||
%language=ANSI-C
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* ANSI-C code produced by gperf version 3.0.4 */
|
||||
/* ANSI-C code produced by gperf version 3.1 */
|
||||
/* Command-line: gperf -m 10 ./iconv_open-hpux.gperf */
|
||||
/* Computed positions: -k'4,$' */
|
||||
|
||||
@ -26,10 +26,10 @@
|
||||
&& ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
|
||||
&& ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
|
||||
/* The character set is not based on ISO-646. */
|
||||
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
|
||||
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
|
||||
#endif
|
||||
|
||||
#line 1 "./iconv_open-hpux.gperf"
|
||||
#line 17 "./iconv_open-hpux.gperf"
|
||||
struct mapping { int standard_name; const char vendor_name[9 + 1]; };
|
||||
|
||||
#define TOTAL_KEYWORDS 44
|
||||
@ -47,7 +47,7 @@ inline
|
||||
#endif
|
||||
#endif
|
||||
static unsigned int
|
||||
mapping_hash (register const char *str, register unsigned int len)
|
||||
mapping_hash (register const char *str, register size_t len)
|
||||
{
|
||||
static const unsigned char asso_values[] =
|
||||
{
|
||||
@ -180,110 +180,104 @@ static const struct stringpool_t stringpool_contents =
|
||||
static const struct mapping mappings[] =
|
||||
{
|
||||
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
|
||||
#line 40 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "cp1256"},
|
||||
#line 34 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "cp1250"},
|
||||
#line 35 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "cp1251"},
|
||||
#line 23 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "cp850"},
|
||||
#line 49 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "tis620"},
|
||||
#line 38 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "cp1254"},
|
||||
#line 16 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "iso88596"},
|
||||
#line 53 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "eucTW"},
|
||||
#line 13 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "iso88591"},
|
||||
#line 19 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "iso88599"},
|
||||
#line 39 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "cp1255"},
|
||||
#line 54 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "big5"},
|
||||
#line 25 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "cp855"},
|
||||
#line 41 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "cp1257"},
|
||||
#line 52 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "eucKR"},
|
||||
#line 26 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "cp857"},
|
||||
#line 15 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "iso88595"},
|
||||
#line 20 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "iso885915"},
|
||||
#line 31 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str24, "cp866"},
|
||||
#line 17 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "iso88597"},
|
||||
#line 27 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "cp861"},
|
||||
#line 32 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "cp869"},
|
||||
#line 33 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str28, "cp874"},
|
||||
#line 29 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "cp864"},
|
||||
#line 36 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"},
|
||||
#line 21 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "cp437"},
|
||||
#line 24 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str32, "cp852"},
|
||||
#line 22 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "cp775"},
|
||||
#line 30 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "cp865"},
|
||||
#line 51 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "eucJP"},
|
||||
#line 14 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str36, "iso88592"},
|
||||
#line 55 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str37, "sjis"},
|
||||
#line 42 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "cp1258"},
|
||||
#line 56 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str39, "utf8"},
|
||||
#line 48 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "kana8"},
|
||||
#line 43 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "roman8"},
|
||||
#line 46 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str42, "hebrew8"},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "cp1256"},
|
||||
#line 50 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str43, "hp15CN"},
|
||||
#line 18 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str44, "iso88598"},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "cp1250"},
|
||||
#line 51 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "cp1251"},
|
||||
#line 39 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "cp850"},
|
||||
#line 65 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "tis620"},
|
||||
#line 54 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "cp1254"},
|
||||
#line 32 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "iso88596"},
|
||||
#line 69 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "eucTW"},
|
||||
#line 29 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "iso88591"},
|
||||
#line 35 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "iso88599"},
|
||||
#line 55 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "cp1255"},
|
||||
#line 70 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "big5"},
|
||||
#line 41 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "cp855"},
|
||||
#line 57 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "cp1257"},
|
||||
#line 68 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "eucKR"},
|
||||
#line 42 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "cp857"},
|
||||
#line 31 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "iso88595"},
|
||||
#line 36 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "iso885915"},
|
||||
#line 47 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str45, "turkish8"},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, "cp866"},
|
||||
#line 33 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "iso88597"},
|
||||
#line 43 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "cp861"},
|
||||
#line 48 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "cp869"},
|
||||
#line 49 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, "cp874"},
|
||||
#line 45 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str46, "greek8"},
|
||||
#line 44 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str47, "arabic8"},
|
||||
#line 28 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str48, "cp862"},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "cp864"},
|
||||
#line 52 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"},
|
||||
#line 37 "./iconv_open-hpux.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str49, "cp1253"}
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "cp437"},
|
||||
#line 40 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, "cp852"},
|
||||
#line 38 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "cp775"},
|
||||
#line 46 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "cp865"},
|
||||
#line 67 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "eucJP"},
|
||||
#line 30 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, "iso88592"},
|
||||
#line 71 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, "sjis"},
|
||||
#line 58 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "cp1258"},
|
||||
#line 72 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, "utf8"},
|
||||
#line 64 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "kana8"},
|
||||
#line 59 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "roman8"},
|
||||
#line 62 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, "hebrew8"},
|
||||
#line 66 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, "hp15CN"},
|
||||
#line 34 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, "iso88598"},
|
||||
#line 63 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str45, "turkish8"},
|
||||
#line 61 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, "greek8"},
|
||||
#line 60 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, "arabic8"},
|
||||
#line 44 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, "cp862"},
|
||||
#line 53 "./iconv_open-hpux.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49, "cp1253"}
|
||||
};
|
||||
|
||||
#ifdef __GNUC__
|
||||
__inline
|
||||
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
|
||||
__attribute__ ((__gnu_inline__))
|
||||
#endif
|
||||
#endif
|
||||
const struct mapping *
|
||||
mapping_lookup (register const char *str, register unsigned int len)
|
||||
mapping_lookup (register const char *str, register size_t len)
|
||||
{
|
||||
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
|
||||
{
|
||||
register int key = mapping_hash (str, len);
|
||||
register unsigned int key = mapping_hash (str, len);
|
||||
|
||||
if (key <= MAX_HASH_VALUE && key >= 0)
|
||||
if (key <= MAX_HASH_VALUE)
|
||||
{
|
||||
register int o = mappings[key].standard_name;
|
||||
if (o >= 0)
|
||||
|
@ -1,3 +1,19 @@
|
||||
/* Character set conversion.
|
||||
Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
|
||||
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)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
|
||||
%struct-type
|
||||
%language=ANSI-C
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* ANSI-C code produced by gperf version 3.0.4 */
|
||||
/* ANSI-C code produced by gperf version 3.1 */
|
||||
/* Command-line: gperf -m 10 ./iconv_open-irix.gperf */
|
||||
/* Computed positions: -k'1,$' */
|
||||
|
||||
@ -26,10 +26,10 @@
|
||||
&& ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
|
||||
&& ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
|
||||
/* The character set is not based on ISO-646. */
|
||||
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
|
||||
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
|
||||
#endif
|
||||
|
||||
#line 1 "./iconv_open-irix.gperf"
|
||||
#line 17 "./iconv_open-irix.gperf"
|
||||
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
|
||||
|
||||
#define TOTAL_KEYWORDS 19
|
||||
@ -47,7 +47,7 @@ inline
|
||||
#endif
|
||||
#endif
|
||||
static unsigned int
|
||||
mapping_hash (register const char *str, register unsigned int len)
|
||||
mapping_hash (register const char *str, register size_t len)
|
||||
{
|
||||
static const unsigned char asso_values[] =
|
||||
{
|
||||
@ -130,60 +130,54 @@ static const struct stringpool_t stringpool_contents =
|
||||
static const struct mapping mappings[] =
|
||||
{
|
||||
{-1}, {-1}, {-1}, {-1}, {-1},
|
||||
#line 24 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str5, "DOS855"},
|
||||
#line 40 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, "DOS855"},
|
||||
#line 45 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "eucTW"},
|
||||
#line 44 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "eucKR"},
|
||||
#line 41 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "WIN1251"},
|
||||
#line 46 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "sjis"},
|
||||
#line 33 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-5"},
|
||||
#line 38 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"},
|
||||
#line 29 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "eucTW"},
|
||||
#line 28 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "eucKR"},
|
||||
#line 25 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "WIN1251"},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-1"},
|
||||
#line 43 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "eucJP"},
|
||||
#line 39 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "KOI8"},
|
||||
#line 30 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "sjis"},
|
||||
#line 17 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-5"},
|
||||
#line 22 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"},
|
||||
#line 13 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-1"},
|
||||
#line 27 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "eucJP"},
|
||||
#line 23 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "KOI8"},
|
||||
#line 14 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-2"},
|
||||
#line 26 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "eucCN"},
|
||||
#line 21 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-9"},
|
||||
#line 20 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-8"},
|
||||
#line 19 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-7"},
|
||||
#line 18 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-6"},
|
||||
#line 16 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-4"},
|
||||
#line 15 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-3"},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-2"},
|
||||
#line 42 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "eucCN"},
|
||||
#line 37 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-9"},
|
||||
#line 36 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-8"},
|
||||
#line 35 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-7"},
|
||||
#line 34 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "ISO8859-6"},
|
||||
#line 32 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "ISO8859-4"},
|
||||
#line 31 "./iconv_open-irix.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "TIS620"}
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-3"},
|
||||
#line 47 "./iconv_open-irix.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "TIS620"}
|
||||
};
|
||||
|
||||
#ifdef __GNUC__
|
||||
__inline
|
||||
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
|
||||
__attribute__ ((__gnu_inline__))
|
||||
#endif
|
||||
#endif
|
||||
const struct mapping *
|
||||
mapping_lookup (register const char *str, register unsigned int len)
|
||||
mapping_lookup (register const char *str, register size_t len)
|
||||
{
|
||||
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
|
||||
{
|
||||
register int key = mapping_hash (str, len);
|
||||
register unsigned int key = mapping_hash (str, len);
|
||||
|
||||
if (key <= MAX_HASH_VALUE && key >= 0)
|
||||
if (key <= MAX_HASH_VALUE)
|
||||
{
|
||||
register int o = mappings[key].standard_name;
|
||||
if (o >= 0)
|
||||
|
@ -1,3 +1,19 @@
|
||||
/* Character set conversion.
|
||||
Copyright (C) 2007 Free Software Foundation, Inc.
|
||||
|
||||
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)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
|
||||
%struct-type
|
||||
%language=ANSI-C
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* ANSI-C code produced by gperf version 3.0.4 */
|
||||
/* ANSI-C code produced by gperf version 3.1 */
|
||||
/* Command-line: gperf -m 10 ./iconv_open-osf.gperf */
|
||||
/* Computed positions: -k'4,$' */
|
||||
|
||||
@ -26,10 +26,10 @@
|
||||
&& ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
|
||||
&& ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
|
||||
/* The character set is not based on ISO-646. */
|
||||
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
|
||||
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
|
||||
#endif
|
||||
|
||||
#line 1 "./iconv_open-osf.gperf"
|
||||
#line 17 "./iconv_open-osf.gperf"
|
||||
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
|
||||
|
||||
#define TOTAL_KEYWORDS 38
|
||||
@ -47,7 +47,7 @@ inline
|
||||
#endif
|
||||
#endif
|
||||
static unsigned int
|
||||
mapping_hash (register const char *str, register unsigned int len)
|
||||
mapping_hash (register const char *str, register size_t len)
|
||||
{
|
||||
static const unsigned char asso_values[] =
|
||||
{
|
||||
@ -168,101 +168,95 @@ static const struct stringpool_t stringpool_contents =
|
||||
static const struct mapping mappings[] =
|
||||
{
|
||||
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
|
||||
#line 41 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "cp1255"},
|
||||
#line 24 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str7, "cp775"},
|
||||
#line 36 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str8, "cp1250"},
|
||||
#line 47 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str9, "eucTW"},
|
||||
#line 46 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "eucKR"},
|
||||
#line 50 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "TACTIS"},
|
||||
#line 17 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-5"},
|
||||
#line 22 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-15"},
|
||||
#line 48 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "big5"},
|
||||
#line 27 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "cp855"},
|
||||
#line 44 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "cp1258"},
|
||||
#line 25 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "cp850"},
|
||||
#line 31 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "cp865"},
|
||||
#line 45 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "eucJP"},
|
||||
#line 43 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str20, "cp1257"},
|
||||
#line 42 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str21, "cp1256"},
|
||||
#line 20 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-8"},
|
||||
#line 49 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str23, "SJIS"},
|
||||
{-1},
|
||||
#line 21 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str25, "ISO8859-9"},
|
||||
#line 19 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str26, "ISO8859-7"},
|
||||
#line 18 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"},
|
||||
{-1},
|
||||
#line 28 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str29, "cp857"},
|
||||
#line 38 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"},
|
||||
#line 33 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str31, "cp869"},
|
||||
#line 35 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str32, "KSC5601"},
|
||||
#line 32 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str33, "cp866"},
|
||||
#line 23 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str34, "cp437"},
|
||||
#line 37 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str35, "cp1251"},
|
||||
#line 14 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str36, "ISO8859-2"},
|
||||
#line 57 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "cp1255"},
|
||||
#line 40 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str37, "cp1254"},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7, "cp775"},
|
||||
#line 52 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str8, "cp1250"},
|
||||
#line 63 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str9, "eucTW"},
|
||||
#line 62 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "eucKR"},
|
||||
#line 66 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "TACTIS"},
|
||||
#line 33 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-5"},
|
||||
#line 38 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-15"},
|
||||
#line 64 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "big5"},
|
||||
#line 43 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "cp855"},
|
||||
#line 60 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "cp1258"},
|
||||
#line 41 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "cp850"},
|
||||
#line 47 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "cp865"},
|
||||
#line 61 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "eucJP"},
|
||||
#line 59 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, "cp1257"},
|
||||
#line 58 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, "cp1256"},
|
||||
#line 36 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, "ISO8859-8"},
|
||||
#line 65 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, "SJIS"},
|
||||
{-1},
|
||||
#line 37 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, "ISO8859-9"},
|
||||
#line 35 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, "ISO8859-7"},
|
||||
#line 34 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str38, "cp874"},
|
||||
#line 26 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str39, "cp852"},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str27, "ISO8859-6"},
|
||||
{-1},
|
||||
#line 44 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, "cp857"},
|
||||
#line 54 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, "cp1252"},
|
||||
#line 49 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, "cp869"},
|
||||
#line 51 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, "KSC5601"},
|
||||
#line 48 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, "cp866"},
|
||||
#line 39 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str40, "cp1253"},
|
||||
#line 13 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str41, "ISO8859-1"},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, "cp437"},
|
||||
#line 53 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, "cp1251"},
|
||||
#line 30 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str42, "cp862"},
|
||||
#line 16 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str43, "ISO8859-4"},
|
||||
{-1}, {-1},
|
||||
#line 15 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str46, "ISO8859-3"},
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, "ISO8859-2"},
|
||||
#line 56 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, "cp1254"},
|
||||
#line 50 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, "cp874"},
|
||||
#line 42 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, "cp852"},
|
||||
#line 55 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, "cp1253"},
|
||||
#line 29 "./iconv_open-osf.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str47, "cp861"}
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, "ISO8859-1"},
|
||||
#line 46 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, "cp862"},
|
||||
#line 32 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, "ISO8859-4"},
|
||||
{-1}, {-1},
|
||||
#line 31 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, "ISO8859-3"},
|
||||
#line 45 "./iconv_open-osf.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, "cp861"}
|
||||
};
|
||||
|
||||
#ifdef __GNUC__
|
||||
__inline
|
||||
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
|
||||
__attribute__ ((__gnu_inline__))
|
||||
#endif
|
||||
#endif
|
||||
const struct mapping *
|
||||
mapping_lookup (register const char *str, register unsigned int len)
|
||||
mapping_lookup (register const char *str, register size_t len)
|
||||
{
|
||||
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
|
||||
{
|
||||
register int key = mapping_hash (str, len);
|
||||
register unsigned int key = mapping_hash (str, len);
|
||||
|
||||
if (key <= MAX_HASH_VALUE && key >= 0)
|
||||
if (key <= MAX_HASH_VALUE)
|
||||
{
|
||||
register int o = mappings[key].standard_name;
|
||||
if (o >= 0)
|
||||
|
@ -1,3 +1,19 @@
|
||||
/* Character set conversion.
|
||||
Copyright (C) 2007, 2009 Free Software Foundation, Inc.
|
||||
|
||||
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)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
|
||||
%struct-type
|
||||
%language=ANSI-C
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* ANSI-C code produced by gperf version 3.0.4 */
|
||||
/* ANSI-C code produced by gperf version 3.1 */
|
||||
/* Command-line: gperf -m 10 ./iconv_open-solaris.gperf */
|
||||
/* Computed positions: -k'10' */
|
||||
|
||||
@ -26,10 +26,10 @@
|
||||
&& ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
|
||||
&& ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
|
||||
/* The character set is not based on ISO-646. */
|
||||
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
|
||||
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
|
||||
#endif
|
||||
|
||||
#line 1 "./iconv_open-solaris.gperf"
|
||||
#line 17 "./iconv_open-solaris.gperf"
|
||||
struct mapping { int standard_name; const char vendor_name[10 + 1]; };
|
||||
|
||||
#define TOTAL_KEYWORDS 13
|
||||
@ -47,7 +47,7 @@ inline
|
||||
#endif
|
||||
#endif
|
||||
static unsigned int
|
||||
mapping_hash (register const char *str, register unsigned int len)
|
||||
mapping_hash (register const char *str, register size_t len)
|
||||
{
|
||||
static const unsigned char asso_values[] =
|
||||
{
|
||||
@ -78,7 +78,7 @@ mapping_hash (register const char *str, register unsigned int len)
|
||||
20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
|
||||
20, 20, 20, 20, 20, 20
|
||||
};
|
||||
register int hval = len;
|
||||
register unsigned int hval = len;
|
||||
|
||||
switch (hval)
|
||||
{
|
||||
@ -132,49 +132,43 @@ static const struct stringpool_t stringpool_contents =
|
||||
static const struct mapping mappings[] =
|
||||
{
|
||||
{-1}, {-1}, {-1}, {-1}, {-1},
|
||||
#line 19 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str5, "646"},
|
||||
#line 30 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str6, "ansi-1251"},
|
||||
#line 18 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str7},
|
||||
#line 35 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str5, "646"},
|
||||
#line 46 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str6, "ansi-1251"},
|
||||
#line 34 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str7},
|
||||
{-1}, {-1},
|
||||
#line 20 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-1"},
|
||||
#line 29 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"},
|
||||
#line 28 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-9"},
|
||||
#line 27 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-8"},
|
||||
#line 26 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str14, "ISO8859-7"},
|
||||
#line 25 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-6"},
|
||||
#line 24 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str16, "ISO8859-5"},
|
||||
#line 23 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-4"},
|
||||
#line 22 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-3"},
|
||||
#line 21 "./iconv_open-solaris.gperf"
|
||||
{(int)(long)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-2"}
|
||||
#line 36 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str10, "ISO8859-1"},
|
||||
#line 45 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str11, "ISO8859-15"},
|
||||
#line 44 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, "ISO8859-9"},
|
||||
#line 43 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, "ISO8859-8"},
|
||||
#line 42 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, "ISO8859-7"},
|
||||
#line 41 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, "ISO8859-6"},
|
||||
#line 40 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, "ISO8859-5"},
|
||||
#line 39 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, "ISO8859-4"},
|
||||
#line 38 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, "ISO8859-3"},
|
||||
#line 37 "./iconv_open-solaris.gperf"
|
||||
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, "ISO8859-2"}
|
||||
};
|
||||
|
||||
#ifdef __GNUC__
|
||||
__inline
|
||||
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
|
||||
__attribute__ ((__gnu_inline__))
|
||||
#endif
|
||||
#endif
|
||||
const struct mapping *
|
||||
mapping_lookup (register const char *str, register unsigned int len)
|
||||
mapping_lookup (register const char *str, register size_t len)
|
||||
{
|
||||
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
|
||||
{
|
||||
register int key = mapping_hash (str, len);
|
||||
register unsigned int key = mapping_hash (str, len);
|
||||
|
||||
if (key <= MAX_HASH_VALUE && key >= 0)
|
||||
if (key <= MAX_HASH_VALUE)
|
||||
{
|
||||
register int o = mappings[key].standard_name;
|
||||
if (o >= 0)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Character set conversion.
|
||||
Copyright (C) 2007, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2007, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* A GNU-like <limits.h>.
|
||||
|
||||
Copyright 2016-2017 Free Software Foundation, Inc.
|
||||
Copyright 2016-2019 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _@GUARD_PREFIX@_LIMITS_H
|
||||
|
||||
@ -28,15 +28,32 @@
|
||||
#ifndef _@GUARD_PREFIX@_LIMITS_H
|
||||
#define _@GUARD_PREFIX@_LIMITS_H
|
||||
|
||||
/* For HP-UX 11.31. */
|
||||
#if defined LONG_LONG_MIN && !defined LLONG_MIN
|
||||
#ifndef LLONG_MIN
|
||||
# if defined LONG_LONG_MIN /* HP-UX 11.31 */
|
||||
# define LLONG_MIN LONG_LONG_MIN
|
||||
# elif defined LONGLONG_MIN /* IRIX 6.5 */
|
||||
# define LLONG_MIN LONGLONG_MIN
|
||||
# elif defined __GNUC__
|
||||
# define LLONG_MIN (- __LONG_LONG_MAX__ - 1LL)
|
||||
# endif
|
||||
#if defined LONG_LONG_MAX && !defined LLONG_MAX
|
||||
#endif
|
||||
#ifndef LLONG_MAX
|
||||
# if defined LONG_LONG_MAX /* HP-UX 11.31 */
|
||||
# define LLONG_MAX LONG_LONG_MAX
|
||||
# elif defined LONGLONG_MAX /* IRIX 6.5 */
|
||||
# define LLONG_MAX LONGLONG_MAX
|
||||
# elif defined __GNUC__
|
||||
# define LLONG_MAX __LONG_LONG_MAX__
|
||||
# endif
|
||||
#if defined ULONG_LONG_MAX && !defined ULLONG_MAX
|
||||
#endif
|
||||
#ifndef ULLONG_MAX
|
||||
# if defined ULONG_LONG_MAX /* HP-UX 11.31 */
|
||||
# define ULLONG_MAX ULONG_LONG_MAX
|
||||
# elif defined ULONGLONG_MAX /* IRIX 6.5 */
|
||||
# define ULLONG_MAX ULONGLONG_MAX
|
||||
# elif defined __GNUC__
|
||||
# define ULLONG_MAX (__LONG_LONG_MAX__ * 2ULL + 1ULL)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* The number of usable bits in an unsigned or signed integer type
|
||||
@ -53,6 +70,19 @@
|
||||
#define _GL_COB8(n) (_GL_COB4 ((n) >> 4) + _GL_COB4 (n))
|
||||
#define _GL_COB4(n) (!!((n) & 8) + !!((n) & 4) + !!((n) & 2) + !!((n) & 1))
|
||||
|
||||
#ifndef WORD_BIT
|
||||
/* Assume 'int' is 32 bits wide. */
|
||||
# define WORD_BIT 32
|
||||
#endif
|
||||
#ifndef LONG_BIT
|
||||
/* Assume 'long' is 32 or 64 bits wide. */
|
||||
# if LONG_MAX == INT_MAX
|
||||
# define LONG_BIT 32
|
||||
# else
|
||||
# define LONG_BIT 64
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Macros specified by ISO/IEC TS 18661-1:2014. */
|
||||
|
||||
#if (! defined ULLONG_WIDTH \
|
||||
|
1209
lib/localcharset.c
1209
lib/localcharset.c
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
/* Determine a canonical name for the current locale's character encoding.
|
||||
Copyright (C) 2000-2003, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000-2003, 2009-2019 Free Software Foundation, Inc.
|
||||
This file is part of the GNU CHARSET Library.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _LOCALCHARSET_H
|
||||
#define _LOCALCHARSET_H
|
||||
@ -25,12 +25,106 @@ extern "C" {
|
||||
|
||||
|
||||
/* Determine the current locale's character encoding, and canonicalize it
|
||||
into one of the canonical names listed in config.charset.
|
||||
into one of the canonical names listed below.
|
||||
The result must not be freed; it is statically allocated.
|
||||
If the canonical name cannot be determined, the result is a non-canonical
|
||||
name. */
|
||||
extern const char * locale_charset (void);
|
||||
|
||||
/* About GNU canonical names for character encodings:
|
||||
|
||||
Every canonical name must be supported by GNU libiconv. Support by GNU libc
|
||||
is also desirable.
|
||||
|
||||
The name is case insensitive. Usually an upper case MIME charset name is
|
||||
preferred.
|
||||
|
||||
The current list of these GNU canonical names is:
|
||||
|
||||
name MIME? used by which systems
|
||||
(darwin = Mac OS X, windows = native Windows)
|
||||
|
||||
ASCII, ANSI_X3.4-1968 glibc solaris freebsd netbsd darwin minix cygwin
|
||||
ISO-8859-1 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
|
||||
ISO-8859-2 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
|
||||
ISO-8859-3 Y glibc solaris cygwin
|
||||
ISO-8859-4 Y hpux osf solaris freebsd netbsd openbsd darwin
|
||||
ISO-8859-5 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
|
||||
ISO-8859-6 Y glibc aix hpux solaris cygwin
|
||||
ISO-8859-7 Y glibc aix hpux irix osf solaris freebsd netbsd openbsd darwin cygwin
|
||||
ISO-8859-8 Y glibc aix hpux osf solaris cygwin
|
||||
ISO-8859-9 Y glibc aix hpux irix osf solaris freebsd darwin cygwin
|
||||
ISO-8859-13 glibc hpux solaris freebsd netbsd openbsd darwin cygwin
|
||||
ISO-8859-14 glibc cygwin
|
||||
ISO-8859-15 glibc aix irix osf solaris freebsd netbsd openbsd darwin cygwin
|
||||
KOI8-R Y glibc hpux solaris freebsd netbsd openbsd darwin
|
||||
KOI8-U Y glibc freebsd netbsd openbsd darwin cygwin
|
||||
KOI8-T glibc
|
||||
CP437 dos
|
||||
CP775 dos
|
||||
CP850 aix osf dos
|
||||
CP852 dos
|
||||
CP855 dos
|
||||
CP856 aix
|
||||
CP857 dos
|
||||
CP861 dos
|
||||
CP862 dos
|
||||
CP864 dos
|
||||
CP865 dos
|
||||
CP866 freebsd netbsd openbsd darwin dos
|
||||
CP869 dos
|
||||
CP874 windows dos
|
||||
CP922 aix
|
||||
CP932 aix cygwin windows dos
|
||||
CP943 aix
|
||||
CP949 osf darwin windows dos
|
||||
CP950 windows dos
|
||||
CP1046 aix
|
||||
CP1124 aix
|
||||
CP1125 dos
|
||||
CP1129 aix
|
||||
CP1131 freebsd darwin
|
||||
CP1250 windows
|
||||
CP1251 glibc hpux solaris freebsd netbsd openbsd darwin cygwin windows
|
||||
CP1252 aix windows
|
||||
CP1253 windows
|
||||
CP1254 windows
|
||||
CP1255 glibc windows
|
||||
CP1256 windows
|
||||
CP1257 windows
|
||||
GB2312 Y glibc aix hpux irix solaris freebsd netbsd darwin cygwin
|
||||
EUC-JP Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin
|
||||
EUC-KR Y glibc aix hpux irix osf solaris freebsd netbsd darwin cygwin
|
||||
EUC-TW glibc aix hpux irix osf solaris netbsd
|
||||
BIG5 Y glibc aix hpux osf solaris freebsd netbsd darwin cygwin
|
||||
BIG5-HKSCS glibc hpux solaris netbsd darwin
|
||||
GBK glibc aix osf solaris freebsd darwin cygwin windows dos
|
||||
GB18030 glibc hpux solaris freebsd netbsd darwin
|
||||
SHIFT_JIS Y hpux osf solaris freebsd netbsd darwin
|
||||
JOHAB glibc solaris windows
|
||||
TIS-620 glibc aix hpux osf solaris cygwin
|
||||
VISCII Y glibc
|
||||
TCVN5712-1 glibc
|
||||
ARMSCII-8 glibc freebsd netbsd darwin
|
||||
GEORGIAN-PS glibc cygwin
|
||||
PT154 glibc netbsd cygwin
|
||||
HP-ROMAN8 hpux
|
||||
HP-ARABIC8 hpux
|
||||
HP-GREEK8 hpux
|
||||
HP-HEBREW8 hpux
|
||||
HP-TURKISH8 hpux
|
||||
HP-KANA8 hpux
|
||||
DEC-KANJI osf
|
||||
DEC-HANYU osf
|
||||
UTF-8 Y glibc aix hpux osf solaris netbsd darwin cygwin
|
||||
|
||||
Note: Names which are not marked as being a MIME name should not be used in
|
||||
Internet protocols for information interchange (mail, news, etc.).
|
||||
|
||||
Note: ASCII and ANSI_X3.4-1968 are synonymous canonical names. Applications
|
||||
must understand both names and treat them as equivalent.
|
||||
*/
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* A POSIX <locale.h>.
|
||||
Copyright (C) 2007-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2007-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -12,17 +12,20 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#if __GNUC__ >= 3
|
||||
@PRAGMA_SYSTEM_HEADER@
|
||||
#endif
|
||||
@PRAGMA_COLUMNS@
|
||||
|
||||
#ifdef _GL_ALREADY_INCLUDING_LOCALE_H
|
||||
#if (defined _WIN32 && !defined __CYGWIN__ && defined __need_locale_t) \
|
||||
|| defined _GL_ALREADY_INCLUDING_LOCALE_H
|
||||
|
||||
/* Special invocation conventions to handle Solaris header files
|
||||
(through Solaris 10) when combined with gettext's libintl.h. */
|
||||
/* Special invocation convention:
|
||||
- Inside mingw header files,
|
||||
- To handle Solaris header files (through Solaris 10) when combined
|
||||
with gettext's libintl.h. */
|
||||
|
||||
#@INCLUDE_NEXT@ @NEXT_LOCALE_H@
|
||||
|
||||
@ -69,7 +72,7 @@ struct lconv
|
||||
/* All 'char *' are actually 'const char *'. */
|
||||
|
||||
/* Members that depend on the LC_NUMERIC category of the locale. See
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_04> */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_04> */
|
||||
|
||||
/* Symbol used as decimal point. */
|
||||
char *decimal_point;
|
||||
@ -81,7 +84,7 @@ struct lconv
|
||||
char *grouping;
|
||||
|
||||
/* Members that depend on the LC_MONETARY category of the locale. See
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_03> */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html#tag_07_03_03> */
|
||||
|
||||
/* Symbol used as decimal point. */
|
||||
char *mon_decimal_point;
|
||||
@ -187,11 +190,40 @@ _GL_WARN_ON_USE (setlocale, "setlocale works differently on native Windows - "
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if @GNULIB_DUPLOCALE@
|
||||
#if /*@GNULIB_NEWLOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @HAVE_NEWLOCALE@)
|
||||
# if @REPLACE_NEWLOCALE@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef newlocale
|
||||
# define newlocale rpl_newlocale
|
||||
# define GNULIB_defined_newlocale 1
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (newlocale, locale_t,
|
||||
(int category_mask, const char *name, locale_t base)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
_GL_CXXALIAS_RPL (newlocale, locale_t,
|
||||
(int category_mask, const char *name, locale_t base));
|
||||
# else
|
||||
# if @HAVE_NEWLOCALE@
|
||||
_GL_CXXALIAS_SYS (newlocale, locale_t,
|
||||
(int category_mask, const char *name, locale_t base));
|
||||
# endif
|
||||
# endif
|
||||
# if @HAVE_NEWLOCALE@
|
||||
_GL_CXXALIASWARN (newlocale);
|
||||
# endif
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef newlocale
|
||||
# if HAVE_RAW_DECL_NEWLOCALE
|
||||
_GL_WARN_ON_USE (newlocale, "newlocale is not portable");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if @GNULIB_DUPLOCALE@ || (@GNULIB_LOCALENAME@ && @HAVE_DUPLOCALE@)
|
||||
# if @REPLACE_DUPLOCALE@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef duplocale
|
||||
# define duplocale rpl_duplocale
|
||||
# define GNULIB_defined_duplocale 1
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (duplocale, locale_t, (locale_t locale) _GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (duplocale, locale_t, (locale_t locale));
|
||||
@ -211,6 +243,30 @@ _GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - "
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if /*@GNULIB_FREELOCALE@ ||*/ (@GNULIB_LOCALENAME@ && @HAVE_FREELOCALE@)
|
||||
# if @REPLACE_FREELOCALE@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef freelocale
|
||||
# define freelocale rpl_freelocale
|
||||
# define GNULIB_defined_freelocale 1
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (freelocale, void, (locale_t locale) _GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (freelocale, void, (locale_t locale));
|
||||
# else
|
||||
# if @HAVE_FREELOCALE@
|
||||
_GL_CXXALIAS_SYS (freelocale, void, (locale_t locale));
|
||||
# endif
|
||||
# endif
|
||||
# if @HAVE_FREELOCALE@
|
||||
_GL_CXXALIASWARN (freelocale);
|
||||
# endif
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef freelocale
|
||||
# if HAVE_RAW_DECL_FREELOCALE
|
||||
_GL_WARN_ON_USE (freelocale, "freelocale is not portable");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* _@GUARD_PREFIX@_LOCALE_H */
|
||||
#endif /* ! _GL_ALREADY_INCLUDING_LOCALE_H */
|
||||
#endif /* _@GUARD_PREFIX@_LOCALE_H */
|
||||
#endif /* !(__need_locale_t || _GL_ALREADY_INCLUDING_LOCALE_H) */
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Provide access to the last buffer returned by localtime() or gmtime().
|
||||
|
||||
Copyright (C) 2001-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2003, 2005-2007, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* written by Jim Meyering */
|
||||
|
||||
@ -34,6 +34,7 @@ struct tm *localtime_buffer_addr = &tm_zero_buffer;
|
||||
|
||||
struct tm *
|
||||
rpl_localtime (time_t const *timep)
|
||||
#undef localtime
|
||||
{
|
||||
struct tm *tm = localtime (timep);
|
||||
|
||||
@ -46,6 +47,7 @@ rpl_localtime (time_t const *timep)
|
||||
/* Same as above, since gmtime and localtime use the same buffer. */
|
||||
struct tm *
|
||||
rpl_gmtime (time_t const *timep)
|
||||
#undef gmtime
|
||||
{
|
||||
struct tm *tm = gmtime (timep);
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Provide access to the last buffer returned by localtime() or gmtime().
|
||||
|
||||
Copyright (C) 2001-2003, 2005-2007, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2003, 2005-2007, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* written by Jim Meyering */
|
||||
|
||||
|
232
lib/mbrtowc.c
232
lib/mbrtowc.c
@ -1,5 +1,5 @@
|
||||
/* Convert multibyte character to wide character.
|
||||
Copyright (C) 1999-2002, 2005-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999-2002, 2005-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2008.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@ -34,6 +34,7 @@
|
||||
# include "localcharset.h"
|
||||
# include "streq.h"
|
||||
# include "verify.h"
|
||||
# include "glthread/lock.h"
|
||||
|
||||
# ifndef FALLTHROUGH
|
||||
# if __GNUC__ < 7
|
||||
@ -43,6 +44,58 @@
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* Returns a classification of special values of the encoding of the current
|
||||
locale. */
|
||||
typedef enum {
|
||||
enc_other, /* other */
|
||||
enc_utf8, /* UTF-8 */
|
||||
enc_eucjp, /* EUC-JP */
|
||||
enc_94, /* EUC-KR, GB2312, BIG5 */
|
||||
enc_euctw, /* EUC-TW */
|
||||
enc_gb18030, /* GB18030 */
|
||||
enc_sjis /* SJIS */
|
||||
} enc_t;
|
||||
static inline enc_t
|
||||
locale_enc (void)
|
||||
{
|
||||
const char *encoding = locale_charset ();
|
||||
if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
|
||||
return enc_utf8;
|
||||
if (STREQ_OPT (encoding, "EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0))
|
||||
return enc_eucjp;
|
||||
if (STREQ_OPT (encoding, "EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
|
||||
|| STREQ_OPT (encoding, "GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0)
|
||||
|| STREQ_OPT (encoding, "BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0))
|
||||
return enc_94;
|
||||
if (STREQ_OPT (encoding, "EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0))
|
||||
return enc_euctw;
|
||||
if (STREQ_OPT (encoding, "GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0))
|
||||
return enc_gb18030;
|
||||
if (STREQ_OPT (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0))
|
||||
return enc_sjis;
|
||||
return enc_other;
|
||||
}
|
||||
|
||||
# if GNULIB_WCHAR_SINGLE
|
||||
/* When we know that the locale does not change, provide a speedup by
|
||||
caching the value of locale_enc. */
|
||||
static int cached_locale_enc = -1;
|
||||
static inline enc_t
|
||||
locale_enc_cached (void)
|
||||
{
|
||||
if (cached_locale_enc < 0)
|
||||
cached_locale_enc = locale_enc ();
|
||||
return cached_locale_enc;
|
||||
}
|
||||
# else
|
||||
/* By default, don't make assumptions, hence no caching. */
|
||||
# define locale_enc_cached locale_enc
|
||||
# endif
|
||||
|
||||
/* This lock protects the internal state of mbtowc against multiple simultaneous
|
||||
calls of mbrtowc. */
|
||||
gl_lock_define_initialized(static, mbtowc_lock)
|
||||
|
||||
verify (sizeof (mbstate_t) >= 4);
|
||||
|
||||
static char internal_state[4];
|
||||
@ -72,6 +125,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
|
||||
char buf[4];
|
||||
const char *p;
|
||||
size_t m;
|
||||
enc_t enc;
|
||||
int res;
|
||||
|
||||
switch (nstate)
|
||||
{
|
||||
@ -104,73 +159,77 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
|
||||
|
||||
/* Here m > 0. */
|
||||
|
||||
# if __GLIBC__ || defined __UCLIBC__
|
||||
/* Work around bug <http://sourceware.org/bugzilla/show_bug.cgi?id=9674> */
|
||||
mbtowc (NULL, NULL, 0);
|
||||
# endif
|
||||
{
|
||||
int res = mbtowc (pwc, p, m);
|
||||
enc = locale_enc_cached ();
|
||||
|
||||
if (res >= 0)
|
||||
if (enc == enc_utf8) /* UTF-8 */
|
||||
{
|
||||
if (pwc != NULL && ((*pwc == 0) != (res == 0)))
|
||||
abort ();
|
||||
if (nstate >= (res > 0 ? res : 1))
|
||||
abort ();
|
||||
res -= nstate;
|
||||
pstate[0] = 0;
|
||||
return res;
|
||||
}
|
||||
|
||||
/* mbtowc does not distinguish between invalid and incomplete multibyte
|
||||
sequences. But mbrtowc needs to make this distinction.
|
||||
There are two possible approaches:
|
||||
- Use iconv() and its return value.
|
||||
- Use built-in knowledge about the possible encodings.
|
||||
Given the low quality of implementation of iconv() on the systems that
|
||||
lack mbrtowc(), we use the second approach.
|
||||
The possible encodings are:
|
||||
- 8-bit encodings,
|
||||
- EUC-JP, EUC-KR, GB2312, EUC-TW, BIG5, GB18030, SJIS,
|
||||
- UTF-8.
|
||||
Use specialized code for each. */
|
||||
if (m >= 4 || m >= MB_CUR_MAX)
|
||||
goto invalid;
|
||||
/* Here MB_CUR_MAX > 1 and 0 < m < 4. */
|
||||
{
|
||||
const char *encoding = locale_charset ();
|
||||
|
||||
if (STREQ_OPT (encoding, "UTF-8", 'U', 'T', 'F', '-', '8', 0, 0, 0, 0))
|
||||
{
|
||||
/* Cf. unistr/u8-mblen.c. */
|
||||
/* Achieve multi-thread safety by not calling mbtowc() at all. */
|
||||
/* Cf. unistr/u8-mbtouc.c. */
|
||||
unsigned char c = (unsigned char) p[0];
|
||||
|
||||
if (c < 0x80)
|
||||
{
|
||||
if (pwc != NULL)
|
||||
*pwc = c;
|
||||
res = (c == 0 ? 0 : 1);
|
||||
goto success;
|
||||
}
|
||||
if (c >= 0xc2)
|
||||
{
|
||||
if (c < 0xe0)
|
||||
{
|
||||
if (m == 1)
|
||||
goto incomplete;
|
||||
else /* m >= 2 */
|
||||
{
|
||||
unsigned char c2 = (unsigned char) p[1];
|
||||
|
||||
if ((c2 ^ 0x80) < 0x40)
|
||||
{
|
||||
if (pwc != NULL)
|
||||
*pwc = ((unsigned int) (c & 0x1f) << 6)
|
||||
| (unsigned int) (c2 ^ 0x80);
|
||||
res = 2;
|
||||
goto success;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (c < 0xf0)
|
||||
{
|
||||
if (m == 1)
|
||||
goto incomplete;
|
||||
if (m == 2)
|
||||
else
|
||||
{
|
||||
unsigned char c2 = (unsigned char) p[1];
|
||||
|
||||
if ((c2 ^ 0x80) < 0x40
|
||||
&& (c >= 0xe1 || c2 >= 0xa0)
|
||||
&& (c != 0xed || c2 < 0xa0))
|
||||
{
|
||||
if (m == 2)
|
||||
goto incomplete;
|
||||
else /* m >= 3 */
|
||||
{
|
||||
unsigned char c3 = (unsigned char) p[2];
|
||||
|
||||
if ((c3 ^ 0x80) < 0x40)
|
||||
{
|
||||
if (pwc != NULL)
|
||||
*pwc = ((unsigned int) (c & 0x0f) << 12)
|
||||
| ((unsigned int) (c2 ^ 0x80) << 6)
|
||||
| (unsigned int) (c3 ^ 0x80);
|
||||
res = 3;
|
||||
goto success;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (c <= 0xf4)
|
||||
{
|
||||
if (m == 1)
|
||||
goto incomplete;
|
||||
else /* m == 2 || m == 3 */
|
||||
else
|
||||
{
|
||||
unsigned char c2 = (unsigned char) p[1];
|
||||
|
||||
@ -180,12 +239,30 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
|
||||
{
|
||||
if (m == 2)
|
||||
goto incomplete;
|
||||
else /* m == 3 */
|
||||
else
|
||||
{
|
||||
unsigned char c3 = (unsigned char) p[2];
|
||||
|
||||
if ((c3 ^ 0x80) < 0x40)
|
||||
{
|
||||
if (m == 3)
|
||||
goto incomplete;
|
||||
else /* m >= 4 */
|
||||
{
|
||||
unsigned char c4 = (unsigned char) p[3];
|
||||
|
||||
if ((c4 ^ 0x80) < 0x40)
|
||||
{
|
||||
if (pwc != NULL)
|
||||
*pwc = ((unsigned int) (c & 0x07) << 18)
|
||||
| ((unsigned int) (c2 ^ 0x80) << 12)
|
||||
| ((unsigned int) (c3 ^ 0x80) << 6)
|
||||
| (unsigned int) (c4 ^ 0x80);
|
||||
res = 4;
|
||||
goto success;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -193,12 +270,49 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
|
||||
}
|
||||
goto invalid;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* The hidden internal state of mbtowc would make this function not
|
||||
multi-thread safe. Achieve multi-thread safety through a lock. */
|
||||
gl_lock_lock (mbtowc_lock);
|
||||
|
||||
/* Put the hidden internal state of mbtowc into its initial state.
|
||||
This is needed at least with glibc, uClibc, and MSVC CRT.
|
||||
See <https://sourceware.org/bugzilla/show_bug.cgi?id=9674>. */
|
||||
mbtowc (NULL, NULL, 0);
|
||||
|
||||
res = mbtowc (pwc, p, m);
|
||||
|
||||
gl_lock_unlock (mbtowc_lock);
|
||||
|
||||
if (res >= 0)
|
||||
{
|
||||
if (pwc != NULL && ((*pwc == 0) != (res == 0)))
|
||||
abort ();
|
||||
goto success;
|
||||
}
|
||||
|
||||
/* mbtowc does not distinguish between invalid and incomplete multibyte
|
||||
sequences. But mbrtowc needs to make this distinction.
|
||||
There are two possible approaches:
|
||||
- Use iconv() and its return value.
|
||||
- Use built-in knowledge about the possible encodings.
|
||||
Given the low quality of implementation of iconv() on the systems
|
||||
that lack mbrtowc(), we use the second approach.
|
||||
The possible encodings are:
|
||||
- 8-bit encodings,
|
||||
- EUC-JP, EUC-KR, GB2312, EUC-TW, BIG5, GB18030, SJIS,
|
||||
- UTF-8 (already handled above).
|
||||
Use specialized code for each. */
|
||||
if (m >= 4 || m >= MB_CUR_MAX)
|
||||
goto invalid;
|
||||
/* Here MB_CUR_MAX > 1 and 0 < m < 4. */
|
||||
switch (enc)
|
||||
{
|
||||
/* As a reference for this code, you can use the GNU libiconv
|
||||
implementation. Look for uses of the RET_TOOFEW macro. */
|
||||
|
||||
if (STREQ_OPT (encoding,
|
||||
"EUC-JP", 'E', 'U', 'C', '-', 'J', 'P', 0, 0, 0))
|
||||
case enc_eucjp: /* EUC-JP */
|
||||
{
|
||||
if (m == 1)
|
||||
{
|
||||
@ -221,12 +335,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
|
||||
}
|
||||
goto invalid;
|
||||
}
|
||||
if (STREQ_OPT (encoding,
|
||||
"EUC-KR", 'E', 'U', 'C', '-', 'K', 'R', 0, 0, 0)
|
||||
|| STREQ_OPT (encoding,
|
||||
"GB2312", 'G', 'B', '2', '3', '1', '2', 0, 0, 0)
|
||||
|| STREQ_OPT (encoding,
|
||||
"BIG5", 'B', 'I', 'G', '5', 0, 0, 0, 0, 0))
|
||||
|
||||
case enc_94: /* EUC-KR, GB2312, BIG5 */
|
||||
{
|
||||
if (m == 1)
|
||||
{
|
||||
@ -237,8 +347,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
|
||||
}
|
||||
goto invalid;
|
||||
}
|
||||
if (STREQ_OPT (encoding,
|
||||
"EUC-TW", 'E', 'U', 'C', '-', 'T', 'W', 0, 0, 0))
|
||||
|
||||
case enc_euctw: /* EUC-TW */
|
||||
{
|
||||
if (m == 1)
|
||||
{
|
||||
@ -256,8 +366,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
|
||||
}
|
||||
goto invalid;
|
||||
}
|
||||
if (STREQ_OPT (encoding,
|
||||
"GB18030", 'G', 'B', '1', '8', '0', '3', '0', 0, 0))
|
||||
|
||||
case enc_gb18030: /* GB18030 */
|
||||
{
|
||||
if (m == 1)
|
||||
{
|
||||
@ -290,7 +400,8 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
|
||||
}
|
||||
goto invalid;
|
||||
}
|
||||
if (STREQ_OPT (encoding, "SJIS", 'S', 'J', 'I', 'S', 0, 0, 0, 0, 0))
|
||||
|
||||
case enc_sjis: /* SJIS */
|
||||
{
|
||||
if (m == 1)
|
||||
{
|
||||
@ -303,9 +414,19 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
|
||||
goto invalid;
|
||||
}
|
||||
|
||||
default:
|
||||
/* An unknown multibyte encoding. */
|
||||
goto incomplete;
|
||||
}
|
||||
}
|
||||
|
||||
success:
|
||||
/* res >= 0 is the corrected return value of mbtowc (pwc, p, m). */
|
||||
if (nstate >= (res > 0 ? res : 1))
|
||||
abort ();
|
||||
res -= nstate;
|
||||
pstate[0] = 0;
|
||||
return res;
|
||||
|
||||
incomplete:
|
||||
{
|
||||
@ -330,7 +451,6 @@ mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
|
||||
return (size_t)(-1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
/* Override the system's mbrtowc() function. */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Test for initial conversion state.
|
||||
Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2008-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2008.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@ -54,7 +54,7 @@ mbsinit (const mbstate_t *ps)
|
||||
int
|
||||
mbsinit (const mbstate_t *ps)
|
||||
{
|
||||
# if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__
|
||||
# if defined _WIN32 && !defined __CYGWIN__
|
||||
/* Native Windows. */
|
||||
# ifdef __MINGW32__
|
||||
/* On mingw, 'mbstate_t' is defined as 'int'. */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Convert string to wide string.
|
||||
Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2008-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2008.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
size_t
|
||||
mbsrtowcs (wchar_t *dest, const char **srcp, size_t len, mbstate_t *ps)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Convert string to wide string.
|
||||
Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2008-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2008.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
@ -23,7 +23,7 @@
|
||||
mbstate_t _gl_mbsrtowcs_state
|
||||
/* The state must initially be in the "initial state"; so, zero-initialize it.
|
||||
On most systems, putting it into BSS is sufficient. Not so on Mac OS X 10.3,
|
||||
see <http://lists.gnu.org/archive/html/bug-gnulib/2009-01/msg00329.html>.
|
||||
see <https://lists.gnu.org/r/bug-gnulib/2009-01/msg00329.html>.
|
||||
When it needs an initializer, use 0 or {0} as initializer? 0 only works
|
||||
when mbstate_t is a scalar type (such as when gnulib defines it, or on
|
||||
AIX, IRIX, mingw). {0} works as an initializer in all cases: for a struct
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Convert string to wide string.
|
||||
Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2008-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2008.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Convert multibyte character to wide character.
|
||||
Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2011-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2011.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* We don't need a static internal state, because the encoding is not state
|
||||
dependent, and when mbrtowc returns (size_t)(-2). we throw the result
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Convert multibyte character to wide character.
|
||||
Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2011-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2011.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2017
|
||||
/* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2019
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
|
||||
@ -21,7 +21,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _LIBC
|
||||
# include <config.h>
|
||||
|
@ -1,4 +1,20 @@
|
||||
# Suppress a valgrind message about use of uninitialized memory in memchr().
|
||||
|
||||
# Copyright (C) 2009-2019 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# POSIX states that when the character is found, memchr must not read extra
|
||||
# bytes in an overestimated length (for example, where memchr is used to
|
||||
# implement strnlen). However, we use a safe word read to provide a speedup.
|
||||
|
109
lib/monetary.in.h
Normal file
109
lib/monetary.in.h
Normal file
@ -0,0 +1,109 @@
|
||||
/* Wrapper around <monetary.h>.
|
||||
Copyright (C) 2017-2019 Free Software Foundation, Inc.
|
||||
|
||||
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)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _@GUARD_PREFIX@_MONETARY_H
|
||||
|
||||
#if __GNUC__ >= 3
|
||||
@PRAGMA_SYSTEM_HEADER@
|
||||
#endif
|
||||
@PRAGMA_COLUMNS@
|
||||
|
||||
/* The include_next requires a split double-inclusion guard. */
|
||||
#if @HAVE_MONETARY_H@
|
||||
# @INCLUDE_NEXT@ @NEXT_MONETARY_H@
|
||||
#endif
|
||||
|
||||
#ifndef _@GUARD_PREFIX@_MONETARY_H
|
||||
#define _@GUARD_PREFIX@_MONETARY_H
|
||||
|
||||
#if @GNULIB_STRFMON_L@
|
||||
# if @HAVE_XLOCALE_H@
|
||||
/* Get locale_t on Mac OS X 10.12. */
|
||||
# include <xlocale.h>
|
||||
# endif
|
||||
/* Get locale_t on glibc 2.5. */
|
||||
# include <locale.h>
|
||||
#endif
|
||||
|
||||
/* Like in <stdio.h>. */
|
||||
#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
|
||||
# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
|
||||
#else
|
||||
# define _GL_ATTRIBUTE_FORMAT(spec) /* empty */
|
||||
#endif
|
||||
|
||||
/* _GL_ATTRIBUTE_FORMAT_STRFMON
|
||||
indicates to GCC that the function takes a format string and arguments,
|
||||
where the format string directives are the ones standardized by ISO C99
|
||||
and POSIX. */
|
||||
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
|
||||
# define _GL_ATTRIBUTE_FORMAT_STRFMON(formatstring_parameter, first_argument) \
|
||||
_GL_ATTRIBUTE_FORMAT ((__gnu_strfmon__, formatstring_parameter, first_argument))
|
||||
#elif __GNUC__ >= 3
|
||||
# define _GL_ATTRIBUTE_FORMAT_STRFMON(formatstring_parameter, first_argument) \
|
||||
_GL_ATTRIBUTE_FORMAT ((__strfmon__, formatstring_parameter, first_argument))
|
||||
#else
|
||||
# define _GL_ATTRIBUTE_FORMAT_STRFMON(formatstring_parameter, first_argument) /* empty */
|
||||
#endif
|
||||
|
||||
|
||||
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
|
||||
|
||||
/* The definition of _GL_ARG_NONNULL is copied here. */
|
||||
|
||||
/* The definition of _GL_WARN_ON_USE is copied here. */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#if @GNULIB_STRFMON_L@
|
||||
/* Converts a monetary value to a string.
|
||||
See the POSIX:2008 specification
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/strfmon_l.html. */
|
||||
# if @REPLACE_STRFMON_L@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# define strfmon_l rpl_strfmon_l
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (strfmon_l, ssize_t, (char *s, size_t maxsize, locale_t locale,
|
||||
const char *format, ...)
|
||||
_GL_ATTRIBUTE_FORMAT_STRFMON (4, 5)
|
||||
_GL_ARG_NONNULL ((4)));
|
||||
_GL_CXXALIAS_RPL (strfmon_l, ssize_t, (char *s, size_t maxsize, locale_t locale,
|
||||
const char *format, ...));
|
||||
# else
|
||||
# if @HAVE_STRFMON_L@
|
||||
_GL_CXXALIAS_SYS (strfmon_l, ssize_t, (char *s, size_t maxsize, locale_t locale,
|
||||
const char *format, ...));
|
||||
# endif
|
||||
# endif
|
||||
_GL_CXXALIASWARN (strfmon_l);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef strfmon_l
|
||||
# if HAVE_RAW_DECL_STRFMON_L
|
||||
_GL_WARN_ON_USE (strfmon_l, "strfmon_l is buggy on older glibc systems - "
|
||||
"use gnulib module chown for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* _@GUARD_PREFIX@_MONETARY_H */
|
||||
#endif /* _@GUARD_PREFIX@_MONETARY_H */
|
@ -1,29 +0,0 @@
|
||||
# Add this package to a list of references stored in a text file.
|
||||
#
|
||||
# Copyright (C) 2000, 2009-2017 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Written by Bruno Haible <haible@clisp.cons.org>.
|
||||
#
|
||||
/^# Packages using this file: / {
|
||||
s/# Packages using this file://
|
||||
ta
|
||||
:a
|
||||
s/ @PACKAGE@ / @PACKAGE@ /
|
||||
tb
|
||||
s/ $/ @PACKAGE@ /
|
||||
:b
|
||||
s/^/# Packages using this file:/
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
# Remove this package from a list of references stored in a text file.
|
||||
#
|
||||
# Copyright (C) 2000, 2009-2017 Free Software Foundation, Inc.
|
||||
#
|
||||
# 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)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# Written by Bruno Haible <haible@clisp.cons.org>.
|
||||
#
|
||||
/^# Packages using this file: / {
|
||||
s/# Packages using this file://
|
||||
s/ @PACKAGE@ / /
|
||||
s/^/# Packages using this file:/
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2001-2003, 2006-2017 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2001-2003, 2006-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <haible@clisp.cons.org>, 2001.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _GL_STDBOOL_H
|
||||
#define _GL_STDBOOL_H
|
||||
@ -82,9 +82,9 @@ typedef bool _Bool;
|
||||
/* If @HAVE__BOOL@:
|
||||
Some HP-UX cc and AIX IBM C compiler versions have compiler bugs when
|
||||
the built-in _Bool type is used. See
|
||||
http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
|
||||
http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
|
||||
http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html
|
||||
https://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
|
||||
https://lists.gnu.org/r/bug-coreutils/2005-11/msg00161.html
|
||||
https://lists.gnu.org/r/bug-coreutils/2005-10/msg00086.html
|
||||
Similar bugs are likely with other compilers as well; this file
|
||||
wouldn't be used if <stdbool.h> was working.
|
||||
So we override the _Bool type.
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* A substitute for POSIX 2008 <stddef.h>, for platforms that have issues.
|
||||
|
||||
Copyright (C) 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,13 +13,13 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Eric Blake. */
|
||||
|
||||
/*
|
||||
* POSIX 2008 <stddef.h> for platforms that have issues.
|
||||
* <http://www.opengroup.org/susv3xbd/stddef.h.html>
|
||||
* <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stddef.h.html>
|
||||
*/
|
||||
|
||||
#if __GNUC__ >= 3
|
||||
@ -85,6 +85,7 @@
|
||||
a hack in case the configure-time test was done with g++ even though
|
||||
we are currently compiling with gcc. */
|
||||
#if ! (@HAVE_MAX_ALIGN_T@ || defined _GCC_MAX_ALIGN_T)
|
||||
# if !GNULIB_defined_max_align_t
|
||||
/* On the x86, the maximum storage alignment of double, long, etc. is 4,
|
||||
but GCC's C11 ABI for x86 says that max_align_t has an alignment of 8,
|
||||
and the C11 standard allows this. Work around this problem by
|
||||
@ -102,7 +103,10 @@ typedef union
|
||||
double __d _GL_STDDEF_ALIGNAS (double);
|
||||
long double __ld _GL_STDDEF_ALIGNAS (long double);
|
||||
long int __i _GL_STDDEF_ALIGNAS (long int);
|
||||
} max_align_t;
|
||||
} rpl_max_align_t;
|
||||
# define max_align_t rpl_max_align_t
|
||||
# define GNULIB_defined_max_align_t 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
# endif /* _@GUARD_PREFIX@_STDDEF_H */
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2001-2002, 2004-2017 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2001-2002, 2004-2019 Free Software Foundation, Inc.
|
||||
Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
|
||||
This file is part of gnulib.
|
||||
|
||||
@ -13,11 +13,11 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/*
|
||||
* ISO C 99 <stdint.h> for platforms that lack it.
|
||||
* <http://www.opengroup.org/susv3xbd/stdint.h.html>
|
||||
* <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/stdint.h.html>
|
||||
*/
|
||||
|
||||
#ifndef _@GUARD_PREFIX@_STDINT_H
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* A GNU-like <stdio.h>.
|
||||
|
||||
Copyright (C) 2004, 2007-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2004, 2007-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#if __GNUC__ >= 3
|
||||
@PRAGMA_SYSTEM_HEADER@
|
||||
@ -118,11 +118,18 @@
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
/* Android 4.3 declares renameat in <sys/stat.h>, not in <stdio.h>. */
|
||||
/* But in any case avoid namespace pollution on glibc systems. */
|
||||
#if (@GNULIB_RENAMEAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \
|
||||
&& ! defined __GLIBC__
|
||||
# include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
/* MSVC declares 'perror' in <stdlib.h>, not in <stdio.h>. We must include
|
||||
it before we #define perror rpl_perror. */
|
||||
/* But in any case avoid namespace pollution on glibc systems. */
|
||||
#if (@GNULIB_PERROR@ || defined GNULIB_POSIXCHECK) \
|
||||
&& ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
|
||||
&& (defined _WIN32 && ! defined __CYGWIN__) \
|
||||
&& ! defined __GLIBC__
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
@ -133,7 +140,7 @@
|
||||
it before we #define rename rpl_rename. */
|
||||
/* But in any case avoid namespace pollution on glibc systems. */
|
||||
#if (@GNULIB_REMOVE@ || @GNULIB_RENAME@ || defined GNULIB_POSIXCHECK) \
|
||||
&& ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
|
||||
&& (defined _WIN32 && ! defined __CYGWIN__) \
|
||||
&& ! defined __GLIBC__
|
||||
# include <io.h>
|
||||
#endif
|
||||
@ -152,7 +159,7 @@
|
||||
/* When also using extern inline, suppress the use of static inline in
|
||||
standard headers of problematic Apple configurations, as Libc at
|
||||
least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
|
||||
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
|
||||
<https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
|
||||
Perhaps Apple will fix this some day. */
|
||||
#if (defined _GL_EXTERN_INLINE_IN_USE && defined __APPLE__ \
|
||||
&& defined __GNUC__ && defined __STDC__)
|
||||
@ -610,7 +617,7 @@ _GL_CXXALIAS_SYS (fwrite, size_t,
|
||||
(const void *ptr, size_t s, size_t n, FILE *stream));
|
||||
|
||||
/* Work around bug 11959 when fortifying glibc 2.4 through 2.15
|
||||
<http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>,
|
||||
<https://sourceware.org/bugzilla/show_bug.cgi?id=11959>,
|
||||
which sometimes causes an unwanted diagnostic for fwrite calls.
|
||||
This affects only function declaration attributes under certain
|
||||
versions of gcc and clang, and is not needed for C++. */
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* A GNU-like <stdlib.h>.
|
||||
|
||||
Copyright (C) 1995, 2001-2004, 2006-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995, 2001-2004, 2006-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#if __GNUC__ >= 3
|
||||
@PRAGMA_SYSTEM_HEADER@
|
||||
@ -47,11 +47,14 @@
|
||||
|
||||
/* Solaris declares getloadavg() in <sys/loadavg.h>. */
|
||||
#if (@GNULIB_GETLOADAVG@ || defined GNULIB_POSIXCHECK) && @HAVE_SYS_LOADAVG_H@
|
||||
/* OpenIndiana has a bug: <sys/time.h> must be included before
|
||||
<sys/loadavg.h>. */
|
||||
# include <sys/time.h>
|
||||
# include <sys/loadavg.h>
|
||||
#endif
|
||||
|
||||
/* Native Windows platforms declare mktemp() in <io.h>. */
|
||||
#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
|
||||
#if 0 && (defined _WIN32 && ! defined __CYGWIN__)
|
||||
# include <io.h>
|
||||
#endif
|
||||
|
||||
@ -87,9 +90,10 @@ struct random_data
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
|
||||
#if (@GNULIB_MKSTEMP@ || @GNULIB_MKSTEMPS@ || @GNULIB_MKOSTEMP@ || @GNULIB_MKOSTEMPS@ || @GNULIB_GETSUBOPT@ || defined GNULIB_POSIXCHECK) && ! defined __GLIBC__ && !(defined _WIN32 && ! defined __CYGWIN__)
|
||||
/* On Mac OS X 10.3, only <unistd.h> declares mkstemp. */
|
||||
/* On Mac OS X 10.5, only <unistd.h> declares mkstemps. */
|
||||
/* On Mac OS X 10.13, only <unistd.h> declares mkostemp and mkostemps. */
|
||||
/* On Cygwin 1.7.1, only <unistd.h> declares getsubopt. */
|
||||
/* But avoid namespace pollution on glibc systems and native Windows. */
|
||||
# include <unistd.h>
|
||||
@ -234,8 +238,8 @@ _GL_WARN_ON_USE (getloadavg, "getloadavg is not portable - "
|
||||
element (or NULL if it doesn't contain an "=" sign),
|
||||
- It returns the index of the "token" in the given array of tokens.
|
||||
Otherwise it returns -1, and *OPTIONP and *VALUEP are undefined.
|
||||
For more details see the POSIX:2001 specification.
|
||||
http://www.opengroup.org/susv3xsh/getsubopt.html */
|
||||
For more details see the POSIX specification.
|
||||
https://pubs.opengroup.org/onlinepubs/9699919799/functions/getsubopt.html */
|
||||
# if !@HAVE_GETSUBOPT@
|
||||
_GL_FUNCDECL_SYS (getsubopt, int,
|
||||
(char **optionp, char *const *tokens, char **valuep)
|
||||
@ -302,9 +306,18 @@ _GL_WARN_ON_USE (malloc, "malloc is not POSIX compliant everywhere - "
|
||||
_GL_FUNCDECL_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
|
||||
_GL_CXXALIAS_RPL (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
|
||||
# else
|
||||
# if !@HAVE_MBTOWC@
|
||||
_GL_FUNCDECL_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (mbtowc, int, (wchar_t *pwc, const char *s, size_t n));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (mbtowc);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef mbtowc
|
||||
# if HAVE_RAW_DECL_MBTOWC
|
||||
_GL_WARN_ON_USE (mbtowc, "mbtowc is not portable - "
|
||||
"use gnulib module mbtowc for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if @GNULIB_MKDTEMP@
|
||||
@ -569,10 +582,19 @@ _GL_WARN_ON_USE (qsort_r, "qsort_r is not portable - "
|
||||
|
||||
|
||||
#if @GNULIB_RANDOM@
|
||||
# if @REPLACE_RANDOM@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef random
|
||||
# define random rpl_random
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (random, long, (void));
|
||||
_GL_CXXALIAS_RPL (random, long, (void));
|
||||
# else
|
||||
# if !@HAVE_RANDOM@
|
||||
_GL_FUNCDECL_SYS (random, long, (void));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (random, long, (void));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (random);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef random
|
||||
@ -583,10 +605,19 @@ _GL_WARN_ON_USE (random, "random is unportable - "
|
||||
#endif
|
||||
|
||||
#if @GNULIB_RANDOM@
|
||||
# if @REPLACE_RANDOM@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef srandom
|
||||
# define srandom rpl_srandom
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (srandom, void, (unsigned int seed));
|
||||
_GL_CXXALIAS_RPL (srandom, void, (unsigned int seed));
|
||||
# else
|
||||
# if !@HAVE_RANDOM@
|
||||
_GL_FUNCDECL_SYS (srandom, void, (unsigned int seed));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (srandom, void, (unsigned int seed));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (srandom);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef srandom
|
||||
@ -597,31 +628,52 @@ _GL_WARN_ON_USE (srandom, "srandom is unportable - "
|
||||
#endif
|
||||
|
||||
#if @GNULIB_RANDOM@
|
||||
# if !@HAVE_RANDOM@ || !@HAVE_DECL_INITSTATE@
|
||||
# if @REPLACE_INITSTATE@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef initstate
|
||||
# define initstate rpl_initstate
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (initstate, char *,
|
||||
(unsigned int seed, char *buf, size_t buf_size)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
_GL_CXXALIAS_RPL (initstate, char *,
|
||||
(unsigned int seed, char *buf, size_t buf_size));
|
||||
# else
|
||||
# if !@HAVE_INITSTATE@ || !@HAVE_DECL_INITSTATE@
|
||||
_GL_FUNCDECL_SYS (initstate, char *,
|
||||
(unsigned int seed, char *buf, size_t buf_size)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (initstate, char *,
|
||||
(unsigned int seed, char *buf, size_t buf_size));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (initstate);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef initstate
|
||||
# if HAVE_RAW_DECL_INITSTATE_R
|
||||
# if HAVE_RAW_DECL_INITSTATE
|
||||
_GL_WARN_ON_USE (initstate, "initstate is unportable - "
|
||||
"use gnulib module random for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if @GNULIB_RANDOM@
|
||||
# if !@HAVE_RANDOM@ || !@HAVE_DECL_SETSTATE@
|
||||
# if @REPLACE_SETSTATE@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef setstate
|
||||
# define setstate rpl_setstate
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (setstate, char *, (char *arg_state));
|
||||
# else
|
||||
# if !@HAVE_SETSTATE@ || !@HAVE_DECL_SETSTATE@
|
||||
_GL_FUNCDECL_SYS (setstate, char *, (char *arg_state) _GL_ARG_NONNULL ((1)));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (setstate, char *, (char *arg_state));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (setstate);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef setstate
|
||||
# if HAVE_RAW_DECL_SETSTATE_R
|
||||
# if HAVE_RAW_DECL_SETSTATE
|
||||
_GL_WARN_ON_USE (setstate, "setstate is unportable - "
|
||||
"use gnulib module random for portability");
|
||||
# endif
|
||||
@ -877,6 +929,7 @@ _GL_WARN_ON_USE (setenv, "setenv is unportable - "
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# define strtod rpl_strtod
|
||||
# endif
|
||||
# define GNULIB_defined_strtod_function 1
|
||||
_GL_FUNCDECL_RPL (strtod, double, (const char *str, char **endp)
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (strtod, double, (const char *str, char **endp));
|
||||
@ -896,6 +949,32 @@ _GL_WARN_ON_USE (strtod, "strtod is unportable - "
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if @GNULIB_STRTOLD@
|
||||
/* Parse a 'long double' from STRING, updating ENDP if appropriate. */
|
||||
# if @REPLACE_STRTOLD@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# define strtold rpl_strtold
|
||||
# endif
|
||||
# define GNULIB_defined_strtold_function 1
|
||||
_GL_FUNCDECL_RPL (strtold, long double, (const char *str, char **endp)
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (strtold, long double, (const char *str, char **endp));
|
||||
# else
|
||||
# if !@HAVE_STRTOLD@
|
||||
_GL_FUNCDECL_SYS (strtold, long double, (const char *str, char **endp)
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (strtold, long double, (const char *str, char **endp));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (strtold);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef strtold
|
||||
# if HAVE_RAW_DECL_STRTOLD
|
||||
_GL_WARN_ON_USE (strtold, "strtold is unportable - "
|
||||
"use gnulib module strtold for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if @GNULIB_STRTOLL@
|
||||
/* Parse a signed integer whose textual representation starts at STRING.
|
||||
The integer is expected to be in base BASE (2 <= BASE <= 36); if BASE == 0,
|
||||
|
@ -1,452 +0,0 @@
|
||||
/* Byte-wise substring search, using the Two-Way algorithm.
|
||||
Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Written by Eric Blake <ebb9@byu.net>, 2008.
|
||||
|
||||
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)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Before including this file, you need to include <config.h> and
|
||||
<string.h>, and define:
|
||||
RESULT_TYPE A macro that expands to the return type.
|
||||
AVAILABLE(h, h_l, j, n_l)
|
||||
A macro that returns nonzero if there are
|
||||
at least N_L bytes left starting at H[J].
|
||||
H is 'unsigned char *', H_L, J, and N_L
|
||||
are 'size_t'; H_L is an lvalue. For
|
||||
NUL-terminated searches, H_L can be
|
||||
modified each iteration to avoid having
|
||||
to compute the end of H up front.
|
||||
|
||||
For case-insensitivity, you may optionally define:
|
||||
CMP_FUNC(p1, p2, l) A macro that returns 0 iff the first L
|
||||
characters of P1 and P2 are equal.
|
||||
CANON_ELEMENT(c) A macro that canonicalizes an element right after
|
||||
it has been fetched from one of the two strings.
|
||||
The argument is an 'unsigned char'; the result
|
||||
must be an 'unsigned char' as well.
|
||||
|
||||
This file undefines the macros documented above, and defines
|
||||
LONG_NEEDLE_THRESHOLD.
|
||||
*/
|
||||
|
||||
#include <limits.h>
|
||||
#include <stdint.h>
|
||||
|
||||
/* We use the Two-Way string matching algorithm (also known as
|
||||
Chrochemore-Perrin), which guarantees linear complexity with
|
||||
constant space. Additionally, for long needles, we also use a bad
|
||||
character shift table similar to the Boyer-Moore algorithm to
|
||||
achieve improved (potentially sub-linear) performance.
|
||||
|
||||
See http://www-igm.univ-mlv.fr/~lecroq/string/node26.html#SECTION00260,
|
||||
http://en.wikipedia.org/wiki/Boyer-Moore_string_search_algorithm,
|
||||
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.34.6641&rep=rep1&type=pdf
|
||||
*/
|
||||
|
||||
/* Point at which computing a bad-byte shift table is likely to be
|
||||
worthwhile. Small needles should not compute a table, since it
|
||||
adds (1 << CHAR_BIT) + NEEDLE_LEN computations of preparation for a
|
||||
speedup no greater than a factor of NEEDLE_LEN. The larger the
|
||||
needle, the better the potential performance gain. On the other
|
||||
hand, on non-POSIX systems with CHAR_BIT larger than eight, the
|
||||
memory required for the table is prohibitive. */
|
||||
#if CHAR_BIT < 10
|
||||
# define LONG_NEEDLE_THRESHOLD 32U
|
||||
#else
|
||||
# define LONG_NEEDLE_THRESHOLD SIZE_MAX
|
||||
#endif
|
||||
|
||||
#ifndef MAX
|
||||
# define MAX(a, b) ((a < b) ? (b) : (a))
|
||||
#endif
|
||||
|
||||
#ifndef CANON_ELEMENT
|
||||
# define CANON_ELEMENT(c) c
|
||||
#endif
|
||||
#ifndef CMP_FUNC
|
||||
# define CMP_FUNC memcmp
|
||||
#endif
|
||||
|
||||
/* Perform a critical factorization of NEEDLE, of length NEEDLE_LEN.
|
||||
Return the index of the first byte in the right half, and set
|
||||
*PERIOD to the global period of the right half.
|
||||
|
||||
The global period of a string is the smallest index (possibly its
|
||||
length) at which all remaining bytes in the string are repetitions
|
||||
of the prefix (the last repetition may be a subset of the prefix).
|
||||
|
||||
When NEEDLE is factored into two halves, a local period is the
|
||||
length of the smallest word that shares a suffix with the left half
|
||||
and shares a prefix with the right half. All factorizations of a
|
||||
non-empty NEEDLE have a local period of at least 1 and no greater
|
||||
than NEEDLE_LEN.
|
||||
|
||||
A critical factorization has the property that the local period
|
||||
equals the global period. All strings have at least one critical
|
||||
factorization with the left half smaller than the global period.
|
||||
And while some strings have more than one critical factorization,
|
||||
it is provable that with an ordered alphabet, at least one of the
|
||||
critical factorizations corresponds to a maximal suffix.
|
||||
|
||||
Given an ordered alphabet, a critical factorization can be computed
|
||||
in linear time, with 2 * NEEDLE_LEN comparisons, by computing the
|
||||
shorter of two ordered maximal suffixes. The ordered maximal
|
||||
suffixes are determined by lexicographic comparison while tracking
|
||||
periodicity. */
|
||||
static size_t
|
||||
critical_factorization (const unsigned char *needle, size_t needle_len,
|
||||
size_t *period)
|
||||
{
|
||||
/* Index of last byte of left half, or SIZE_MAX. */
|
||||
size_t max_suffix, max_suffix_rev;
|
||||
size_t j; /* Index into NEEDLE for current candidate suffix. */
|
||||
size_t k; /* Offset into current period. */
|
||||
size_t p; /* Intermediate period. */
|
||||
unsigned char a, b; /* Current comparison bytes. */
|
||||
|
||||
/* Special case NEEDLE_LEN of 1 or 2 (all callers already filtered
|
||||
out 0-length needles. */
|
||||
if (needle_len < 3)
|
||||
{
|
||||
*period = 1;
|
||||
return needle_len - 1;
|
||||
}
|
||||
|
||||
/* Invariants:
|
||||
0 <= j < NEEDLE_LEN - 1
|
||||
-1 <= max_suffix{,_rev} < j (treating SIZE_MAX as if it were signed)
|
||||
min(max_suffix, max_suffix_rev) < global period of NEEDLE
|
||||
1 <= p <= global period of NEEDLE
|
||||
p == global period of the substring NEEDLE[max_suffix{,_rev}+1...j]
|
||||
1 <= k <= p
|
||||
*/
|
||||
|
||||
/* Perform lexicographic search. */
|
||||
max_suffix = SIZE_MAX;
|
||||
j = 0;
|
||||
k = p = 1;
|
||||
while (j + k < needle_len)
|
||||
{
|
||||
a = CANON_ELEMENT (needle[j + k]);
|
||||
b = CANON_ELEMENT (needle[max_suffix + k]);
|
||||
if (a < b)
|
||||
{
|
||||
/* Suffix is smaller, period is entire prefix so far. */
|
||||
j += k;
|
||||
k = 1;
|
||||
p = j - max_suffix;
|
||||
}
|
||||
else if (a == b)
|
||||
{
|
||||
/* Advance through repetition of the current period. */
|
||||
if (k != p)
|
||||
++k;
|
||||
else
|
||||
{
|
||||
j += p;
|
||||
k = 1;
|
||||
}
|
||||
}
|
||||
else /* b < a */
|
||||
{
|
||||
/* Suffix is larger, start over from current location. */
|
||||
max_suffix = j++;
|
||||
k = p = 1;
|
||||
}
|
||||
}
|
||||
*period = p;
|
||||
|
||||
/* Perform reverse lexicographic search. */
|
||||
max_suffix_rev = SIZE_MAX;
|
||||
j = 0;
|
||||
k = p = 1;
|
||||
while (j + k < needle_len)
|
||||
{
|
||||
a = CANON_ELEMENT (needle[j + k]);
|
||||
b = CANON_ELEMENT (needle[max_suffix_rev + k]);
|
||||
if (b < a)
|
||||
{
|
||||
/* Suffix is smaller, period is entire prefix so far. */
|
||||
j += k;
|
||||
k = 1;
|
||||
p = j - max_suffix_rev;
|
||||
}
|
||||
else if (a == b)
|
||||
{
|
||||
/* Advance through repetition of the current period. */
|
||||
if (k != p)
|
||||
++k;
|
||||
else
|
||||
{
|
||||
j += p;
|
||||
k = 1;
|
||||
}
|
||||
}
|
||||
else /* a < b */
|
||||
{
|
||||
/* Suffix is larger, start over from current location. */
|
||||
max_suffix_rev = j++;
|
||||
k = p = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* Choose the shorter suffix. Return the index of the first byte of
|
||||
the right half, rather than the last byte of the left half.
|
||||
|
||||
For some examples, 'banana' has two critical factorizations, both
|
||||
exposed by the two lexicographic extreme suffixes of 'anana' and
|
||||
'nana', where both suffixes have a period of 2. On the other
|
||||
hand, with 'aab' and 'bba', both strings have a single critical
|
||||
factorization of the last byte, with the suffix having a period
|
||||
of 1. While the maximal lexicographic suffix of 'aab' is 'b',
|
||||
the maximal lexicographic suffix of 'bba' is 'ba', which is not a
|
||||
critical factorization. Conversely, the maximal reverse
|
||||
lexicographic suffix of 'a' works for 'bba', but not 'ab' for
|
||||
'aab'. The shorter suffix of the two will always be a critical
|
||||
factorization. */
|
||||
if (max_suffix_rev + 1 < max_suffix + 1)
|
||||
return max_suffix + 1;
|
||||
*period = p;
|
||||
return max_suffix_rev + 1;
|
||||
}
|
||||
|
||||
/* Return the first location of non-empty NEEDLE within HAYSTACK, or
|
||||
NULL. HAYSTACK_LEN is the minimum known length of HAYSTACK. This
|
||||
method is optimized for NEEDLE_LEN < LONG_NEEDLE_THRESHOLD.
|
||||
Performance is guaranteed to be linear, with an initialization cost
|
||||
of 2 * NEEDLE_LEN comparisons.
|
||||
|
||||
If AVAILABLE does not modify HAYSTACK_LEN (as in memmem), then at
|
||||
most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching.
|
||||
If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 *
|
||||
HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching. */
|
||||
static RETURN_TYPE
|
||||
two_way_short_needle (const unsigned char *haystack, size_t haystack_len,
|
||||
const unsigned char *needle, size_t needle_len)
|
||||
{
|
||||
size_t i; /* Index into current byte of NEEDLE. */
|
||||
size_t j; /* Index into current window of HAYSTACK. */
|
||||
size_t period; /* The period of the right half of needle. */
|
||||
size_t suffix; /* The index of the right half of needle. */
|
||||
|
||||
/* Factor the needle into two halves, such that the left half is
|
||||
smaller than the global period, and the right half is
|
||||
periodic (with a period as large as NEEDLE_LEN - suffix). */
|
||||
suffix = critical_factorization (needle, needle_len, &period);
|
||||
|
||||
/* Perform the search. Each iteration compares the right half
|
||||
first. */
|
||||
if (CMP_FUNC (needle, needle + period, suffix) == 0)
|
||||
{
|
||||
/* Entire needle is periodic; a mismatch in the left half can
|
||||
only advance by the period, so use memory to avoid rescanning
|
||||
known occurrences of the period in the right half. */
|
||||
size_t memory = 0;
|
||||
j = 0;
|
||||
while (AVAILABLE (haystack, haystack_len, j, needle_len))
|
||||
{
|
||||
/* Scan for matches in right half. */
|
||||
i = MAX (suffix, memory);
|
||||
while (i < needle_len && (CANON_ELEMENT (needle[i])
|
||||
== CANON_ELEMENT (haystack[i + j])))
|
||||
++i;
|
||||
if (needle_len <= i)
|
||||
{
|
||||
/* Scan for matches in left half. */
|
||||
i = suffix - 1;
|
||||
while (memory < i + 1 && (CANON_ELEMENT (needle[i])
|
||||
== CANON_ELEMENT (haystack[i + j])))
|
||||
--i;
|
||||
if (i + 1 < memory + 1)
|
||||
return (RETURN_TYPE) (haystack + j);
|
||||
/* No match, so remember how many repetitions of period
|
||||
on the right half were scanned. */
|
||||
j += period;
|
||||
memory = needle_len - period;
|
||||
}
|
||||
else
|
||||
{
|
||||
j += i - suffix + 1;
|
||||
memory = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* The two halves of needle are distinct; no extra memory is
|
||||
required, and any mismatch results in a maximal shift. */
|
||||
period = MAX (suffix, needle_len - suffix) + 1;
|
||||
j = 0;
|
||||
while (AVAILABLE (haystack, haystack_len, j, needle_len))
|
||||
{
|
||||
/* Scan for matches in right half. */
|
||||
i = suffix;
|
||||
while (i < needle_len && (CANON_ELEMENT (needle[i])
|
||||
== CANON_ELEMENT (haystack[i + j])))
|
||||
++i;
|
||||
if (needle_len <= i)
|
||||
{
|
||||
/* Scan for matches in left half. */
|
||||
i = suffix - 1;
|
||||
while (i != SIZE_MAX && (CANON_ELEMENT (needle[i])
|
||||
== CANON_ELEMENT (haystack[i + j])))
|
||||
--i;
|
||||
if (i == SIZE_MAX)
|
||||
return (RETURN_TYPE) (haystack + j);
|
||||
j += period;
|
||||
}
|
||||
else
|
||||
j += i - suffix + 1;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Return the first location of non-empty NEEDLE within HAYSTACK, or
|
||||
NULL. HAYSTACK_LEN is the minimum known length of HAYSTACK. This
|
||||
method is optimized for LONG_NEEDLE_THRESHOLD <= NEEDLE_LEN.
|
||||
Performance is guaranteed to be linear, with an initialization cost
|
||||
of 3 * NEEDLE_LEN + (1 << CHAR_BIT) operations.
|
||||
|
||||
If AVAILABLE does not modify HAYSTACK_LEN (as in memmem), then at
|
||||
most 2 * HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching,
|
||||
and sublinear performance O(HAYSTACK_LEN / NEEDLE_LEN) is possible.
|
||||
If AVAILABLE modifies HAYSTACK_LEN (as in strstr), then at most 3 *
|
||||
HAYSTACK_LEN - NEEDLE_LEN comparisons occur in searching, and
|
||||
sublinear performance is not possible. */
|
||||
static RETURN_TYPE
|
||||
two_way_long_needle (const unsigned char *haystack, size_t haystack_len,
|
||||
const unsigned char *needle, size_t needle_len)
|
||||
{
|
||||
size_t i; /* Index into current byte of NEEDLE. */
|
||||
size_t j; /* Index into current window of HAYSTACK. */
|
||||
size_t period; /* The period of the right half of needle. */
|
||||
size_t suffix; /* The index of the right half of needle. */
|
||||
size_t shift_table[1U << CHAR_BIT]; /* See below. */
|
||||
|
||||
/* Factor the needle into two halves, such that the left half is
|
||||
smaller than the global period, and the right half is
|
||||
periodic (with a period as large as NEEDLE_LEN - suffix). */
|
||||
suffix = critical_factorization (needle, needle_len, &period);
|
||||
|
||||
/* Populate shift_table. For each possible byte value c,
|
||||
shift_table[c] is the distance from the last occurrence of c to
|
||||
the end of NEEDLE, or NEEDLE_LEN if c is absent from the NEEDLE.
|
||||
shift_table[NEEDLE[NEEDLE_LEN - 1]] contains the only 0. */
|
||||
for (i = 0; i < 1U << CHAR_BIT; i++)
|
||||
shift_table[i] = needle_len;
|
||||
for (i = 0; i < needle_len; i++)
|
||||
shift_table[CANON_ELEMENT (needle[i])] = needle_len - i - 1;
|
||||
|
||||
/* Perform the search. Each iteration compares the right half
|
||||
first. */
|
||||
if (CMP_FUNC (needle, needle + period, suffix) == 0)
|
||||
{
|
||||
/* Entire needle is periodic; a mismatch in the left half can
|
||||
only advance by the period, so use memory to avoid rescanning
|
||||
known occurrences of the period in the right half. */
|
||||
size_t memory = 0;
|
||||
size_t shift;
|
||||
j = 0;
|
||||
while (AVAILABLE (haystack, haystack_len, j, needle_len))
|
||||
{
|
||||
/* Check the last byte first; if it does not match, then
|
||||
shift to the next possible match location. */
|
||||
shift = shift_table[CANON_ELEMENT (haystack[j + needle_len - 1])];
|
||||
if (0 < shift)
|
||||
{
|
||||
if (memory && shift < period)
|
||||
{
|
||||
/* Since needle is periodic, but the last period has
|
||||
a byte out of place, there can be no match until
|
||||
after the mismatch. */
|
||||
shift = needle_len - period;
|
||||
}
|
||||
memory = 0;
|
||||
j += shift;
|
||||
continue;
|
||||
}
|
||||
/* Scan for matches in right half. The last byte has
|
||||
already been matched, by virtue of the shift table. */
|
||||
i = MAX (suffix, memory);
|
||||
while (i < needle_len - 1 && (CANON_ELEMENT (needle[i])
|
||||
== CANON_ELEMENT (haystack[i + j])))
|
||||
++i;
|
||||
if (needle_len - 1 <= i)
|
||||
{
|
||||
/* Scan for matches in left half. */
|
||||
i = suffix - 1;
|
||||
while (memory < i + 1 && (CANON_ELEMENT (needle[i])
|
||||
== CANON_ELEMENT (haystack[i + j])))
|
||||
--i;
|
||||
if (i + 1 < memory + 1)
|
||||
return (RETURN_TYPE) (haystack + j);
|
||||
/* No match, so remember how many repetitions of period
|
||||
on the right half were scanned. */
|
||||
j += period;
|
||||
memory = needle_len - period;
|
||||
}
|
||||
else
|
||||
{
|
||||
j += i - suffix + 1;
|
||||
memory = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* The two halves of needle are distinct; no extra memory is
|
||||
required, and any mismatch results in a maximal shift. */
|
||||
size_t shift;
|
||||
period = MAX (suffix, needle_len - suffix) + 1;
|
||||
j = 0;
|
||||
while (AVAILABLE (haystack, haystack_len, j, needle_len))
|
||||
{
|
||||
/* Check the last byte first; if it does not match, then
|
||||
shift to the next possible match location. */
|
||||
shift = shift_table[CANON_ELEMENT (haystack[j + needle_len - 1])];
|
||||
if (0 < shift)
|
||||
{
|
||||
j += shift;
|
||||
continue;
|
||||
}
|
||||
/* Scan for matches in right half. The last byte has
|
||||
already been matched, by virtue of the shift table. */
|
||||
i = suffix;
|
||||
while (i < needle_len - 1 && (CANON_ELEMENT (needle[i])
|
||||
== CANON_ELEMENT (haystack[i + j])))
|
||||
++i;
|
||||
if (needle_len - 1 <= i)
|
||||
{
|
||||
/* Scan for matches in left half. */
|
||||
i = suffix - 1;
|
||||
while (i != SIZE_MAX && (CANON_ELEMENT (needle[i])
|
||||
== CANON_ELEMENT (haystack[i + j])))
|
||||
--i;
|
||||
if (i == SIZE_MAX)
|
||||
return (RETURN_TYPE) (haystack + j);
|
||||
j += period;
|
||||
}
|
||||
else
|
||||
j += i - suffix + 1;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#undef AVAILABLE
|
||||
#undef CANON_ELEMENT
|
||||
#undef CMP_FUNC
|
||||
#undef MAX
|
||||
#undef RETURN_TYPE
|
@ -1,5 +1,5 @@
|
||||
/* Optimized string comparison.
|
||||
Copyright (C) 2001-2002, 2007, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2002, 2007, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published
|
||||
@ -12,7 +12,7 @@
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Bruno Haible <bruno@clisp.org>. */
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Charset conversion.
|
||||
Copyright (C) 2001-2007, 2010-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2007, 2010-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible and Simon Josefsson.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Charset conversion.
|
||||
Copyright (C) 2001-2004, 2006-2007, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2004, 2006-2007, 2009-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible and Simon Josefsson.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _STRICONV_H
|
||||
#define _STRICONV_H
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* A GNU-like <string.h>.
|
||||
|
||||
Copyright (C) 1995-1996, 2001-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1995-1996, 2001-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#if __GNUC__ >= 3
|
||||
@PRAGMA_SYSTEM_HEADER@
|
||||
@ -693,7 +693,7 @@ _GL_WARN_ON_USE (strcasestr, "strcasestr does work correctly on character "
|
||||
This is a variant of strtok() that is multithread-safe.
|
||||
|
||||
For the POSIX documentation for this function, see:
|
||||
http://www.opengroup.org/susv3xsh/strtok.html
|
||||
https://pubs.opengroup.org/onlinepubs/9699919799/functions/strtok.html
|
||||
|
||||
Caveat: It modifies the original string.
|
||||
Caveat: These functions cannot be used on constant strings.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Find the length of STRING + 1, but scan at most MAXLEN bytes.
|
||||
Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Find the length of STRING + 1, but scan at most MAXLEN bytes.
|
||||
Copyright (C) 2005, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _STRNLEN1_H
|
||||
#define _STRNLEN1_H
|
||||
|
78
lib/strstr.c
78
lib/strstr.c
@ -1,78 +0,0 @@
|
||||
/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2017 Free Software
|
||||
Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
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)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* This particular implementation was written by Eric Blake, 2008. */
|
||||
|
||||
#ifndef _LIBC
|
||||
# include <config.h>
|
||||
#endif
|
||||
|
||||
/* Specification of strstr. */
|
||||
#include <string.h>
|
||||
|
||||
#include <stdbool.h>
|
||||
|
||||
#define RETURN_TYPE char *
|
||||
#define AVAILABLE(h, h_l, j, n_l) \
|
||||
(!memchr ((h) + (h_l), '\0', (j) + (n_l) - (h_l)) \
|
||||
&& ((h_l) = (j) + (n_l)))
|
||||
#include "str-two-way.h"
|
||||
|
||||
/* Return the first occurrence of NEEDLE in HAYSTACK. Return HAYSTACK
|
||||
if NEEDLE is empty, otherwise NULL if NEEDLE is not found in
|
||||
HAYSTACK. */
|
||||
char *
|
||||
strstr (const char *haystack_start, const char *needle_start)
|
||||
{
|
||||
const char *haystack = haystack_start;
|
||||
const char *needle = needle_start;
|
||||
size_t needle_len; /* Length of NEEDLE. */
|
||||
size_t haystack_len; /* Known minimum length of HAYSTACK. */
|
||||
bool ok = true; /* True if NEEDLE is prefix of HAYSTACK. */
|
||||
|
||||
/* Determine length of NEEDLE, and in the process, make sure
|
||||
HAYSTACK is at least as long (no point processing all of a long
|
||||
NEEDLE if HAYSTACK is too short). */
|
||||
while (*haystack && *needle)
|
||||
ok &= *haystack++ == *needle++;
|
||||
if (*needle)
|
||||
return NULL;
|
||||
if (ok)
|
||||
return (char *) haystack_start;
|
||||
|
||||
/* Reduce the size of haystack using strchr, since it has a smaller
|
||||
linear coefficient than the Two-Way algorithm. */
|
||||
needle_len = needle - needle_start;
|
||||
haystack = strchr (haystack_start + 1, *needle_start);
|
||||
if (!haystack || __builtin_expect (needle_len == 1, 0))
|
||||
return (char *) haystack;
|
||||
needle -= needle_len;
|
||||
haystack_len = (haystack > haystack_start + needle_len ? 1
|
||||
: needle_len + haystack_start - haystack);
|
||||
|
||||
/* Perform the search. Abstract memory is considered to be an array
|
||||
of 'unsigned char' values, not an array of 'char' values. See
|
||||
ISO C 99 section 6.2.6.1. */
|
||||
if (needle_len < LONG_NEEDLE_THRESHOLD)
|
||||
return two_way_short_needle ((const unsigned char *) haystack,
|
||||
haystack_len,
|
||||
(const unsigned char *) needle, needle_len);
|
||||
return two_way_long_needle ((const unsigned char *) haystack, haystack_len,
|
||||
(const unsigned char *) needle, needle_len);
|
||||
}
|
||||
|
||||
#undef LONG_NEEDLE_THRESHOLD
|
@ -1,5 +1,5 @@
|
||||
/* Provide a more complete sys/stat.h header file.
|
||||
Copyright (C) 2005-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Eric Blake, Paul Eggert, and Jim Meyering. */
|
||||
|
||||
@ -54,16 +54,23 @@
|
||||
|
||||
/* The definition of _GL_WARN_ON_USE is copied here. */
|
||||
|
||||
/* Before doing "#define mknod rpl_mknod" below, we need to include all
|
||||
headers that may declare mknod(). OS/2 kLIBC declares mknod() in
|
||||
<unistd.h>, not in <sys/stat.h>. */
|
||||
#ifdef __KLIBC__
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
/* Before doing "#define mkdir rpl_mkdir" below, we need to include all
|
||||
headers that may declare mkdir(). Native Windows platforms declare mkdir
|
||||
in <io.h> and/or <direct.h>, not in <unistd.h>. */
|
||||
#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
|
||||
in <io.h> and/or <direct.h>, not in <sys/stat.h>. */
|
||||
#if defined _WIN32 && ! defined __CYGWIN__
|
||||
# include <io.h> /* mingw32, mingw64 */
|
||||
# include <direct.h> /* mingw64, MSVC 9 */
|
||||
#endif
|
||||
|
||||
/* Native Windows platforms declare umask() in <io.h>. */
|
||||
#if 0 && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
|
||||
#if 0 && (defined _WIN32 && ! defined __CYGWIN__)
|
||||
# include <io.h>
|
||||
#endif
|
||||
|
||||
@ -576,7 +583,7 @@ _GL_CXXALIAS_RPL (mkdir, int, (char const *name, mode_t mode));
|
||||
Additionally, it declares _mkdir (and depending on compile flags, an
|
||||
alias mkdir), only in the nonstandard includes <direct.h> and <io.h>,
|
||||
which are included above. */
|
||||
# if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__
|
||||
# if defined _WIN32 && ! defined __CYGWIN__
|
||||
|
||||
# if !GNULIB_defined_rpl_mkdir
|
||||
static int
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Provide a more complete sys/time.h.
|
||||
|
||||
Copyright (C) 2007-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2007-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert. */
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Provide a more complete sys/types.h.
|
||||
|
||||
Copyright (C) 2011-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2011-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,13 +13,24 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#if __GNUC__ >= 3
|
||||
@PRAGMA_SYSTEM_HEADER@
|
||||
#endif
|
||||
@PRAGMA_COLUMNS@
|
||||
|
||||
#if defined _WIN32 && !defined __CYGWIN__ \
|
||||
&& (defined __need_off_t || defined __need___off64_t \
|
||||
|| defined __need_ssize_t || defined __need_time_t)
|
||||
|
||||
/* Special invocation convention inside mingw header files. */
|
||||
|
||||
#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
|
||||
|
||||
#else
|
||||
/* Normal invocation convention. */
|
||||
|
||||
#ifndef _@GUARD_PREFIX@_SYS_TYPES_H
|
||||
|
||||
/* The include_next requires a split double-inclusion guard. */
|
||||
@ -86,10 +97,10 @@ typedef unsigned long long int rpl_ino_t;
|
||||
|
||||
/* MSVC 9 defines size_t in <stddef.h>, not in <sys/types.h>. */
|
||||
/* But avoid namespace pollution on glibc systems. */
|
||||
#if ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__) \
|
||||
&& ! defined __GLIBC__
|
||||
#if (defined _WIN32 && ! defined __CYGWIN__) && ! defined __GLIBC__
|
||||
# include <stddef.h>
|
||||
#endif
|
||||
|
||||
#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
|
||||
#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
|
||||
#endif /* __need_XXX */
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* A more-standard <time.h>.
|
||||
|
||||
Copyright (C) 2007-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2007-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#if __GNUC__ >= 3
|
||||
@PRAGMA_SYSTEM_HEADER@
|
||||
@ -48,7 +48,7 @@
|
||||
|
||||
/* The definition of _GL_WARN_ON_USE is copied here. */
|
||||
|
||||
/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3).
|
||||
/* Some systems don't define struct timespec (e.g., AIX 4.1).
|
||||
Or they define it with the wrong member names or define it in <sys/time.h>
|
||||
(e.g., FreeBSD circa 1997). Stock Mingw prior to 3.0 does not define it,
|
||||
but the pthreads-win32 library defines it in <pthread.h>. */
|
||||
@ -84,8 +84,8 @@ struct timespec
|
||||
# endif
|
||||
|
||||
# if !GNULIB_defined_struct_time_t_must_be_integral
|
||||
/* Per http://austingroupbugs.net/view.php?id=327, POSIX requires
|
||||
time_t to be an integer type, even though C99 permits floating
|
||||
/* https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_types.h.html
|
||||
requires time_t to be an integer type, even though C99 permits floating
|
||||
point. We don't know of any implementation that uses floating
|
||||
point, and it is much easier to write code that doesn't have to
|
||||
worry about that corner case, so we force the issue. */
|
||||
@ -97,7 +97,7 @@ struct __time_t_must_be_integral {
|
||||
|
||||
/* Sleep for at least RQTP seconds unless interrupted, If interrupted,
|
||||
return -1 and store the remaining time into RMTP. See
|
||||
<http://www.opengroup.org/susv3xsh/nanosleep.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/nanosleep.html>. */
|
||||
# if @GNULIB_NANOSLEEP@
|
||||
# if @REPLACE_NANOSLEEP@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
@ -153,8 +153,8 @@ _GL_CXXALIASWARN (mktime);
|
||||
# endif
|
||||
|
||||
/* Convert TIMER to RESULT, assuming local time and UTC respectively. See
|
||||
<http://www.opengroup.org/susv3xsh/localtime_r.html> and
|
||||
<http://www.opengroup.org/susv3xsh/gmtime_r.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/localtime_r.html> and
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/gmtime_r.html>. */
|
||||
# if @GNULIB_TIME_R@
|
||||
# if @REPLACE_LOCALTIME_R@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
@ -203,8 +203,8 @@ _GL_CXXALIASWARN (gmtime_r);
|
||||
# endif
|
||||
|
||||
/* Convert TIMER to RESULT, assuming local time and UTC respectively. See
|
||||
<http://www.opengroup.org/susv3xsh/localtime.html> and
|
||||
<http://www.opengroup.org/susv3xsh/gmtime.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/localtime.html> and
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/gmtime.html>. */
|
||||
# if @GNULIB_LOCALTIME@ || @REPLACE_LOCALTIME@
|
||||
# if @REPLACE_LOCALTIME@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
@ -237,7 +237,7 @@ _GL_CXXALIASWARN (gmtime);
|
||||
|
||||
/* Parse BUF as a timestamp, assuming FORMAT specifies its layout, and store
|
||||
the resulting broken-down time into TM. See
|
||||
<http://www.opengroup.org/susv3xsh/strptime.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/strptime.html>. */
|
||||
# if @GNULIB_STRPTIME@
|
||||
# if ! @HAVE_STRPTIME@
|
||||
_GL_FUNCDECL_SYS (strptime, char *, (char const *restrict __buf,
|
||||
@ -252,7 +252,7 @@ _GL_CXXALIASWARN (strptime);
|
||||
# endif
|
||||
|
||||
/* Convert *TP to a date and time string. See
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/ctime.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/ctime.html>. */
|
||||
# if @GNULIB_CTIME@
|
||||
# if @REPLACE_CTIME@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
@ -268,7 +268,7 @@ _GL_CXXALIASWARN (ctime);
|
||||
# endif
|
||||
|
||||
/* Convert *TP to a date and time string. See
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html>. */
|
||||
# if @GNULIB_STRFTIME@
|
||||
# if @REPLACE_STRFTIME@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
|
182
lib/unistd.in.h
182
lib/unistd.in.h
@ -1,5 +1,5 @@
|
||||
/* Substitute for and wrapper around <unistd.h>.
|
||||
Copyright (C) 2003-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2003-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -12,7 +12,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program; if not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _@GUARD_PREFIX@_UNISTD_H
|
||||
|
||||
@ -52,7 +52,10 @@
|
||||
#define _@GUARD_PREFIX@_UNISTD_H
|
||||
|
||||
/* NetBSD 5.0 mis-defines NULL. Also get size_t. */
|
||||
/* But avoid namespace pollution on glibc systems. */
|
||||
#ifndef __GLIBC__
|
||||
# include <stddef.h>
|
||||
#endif
|
||||
|
||||
/* mingw doesn't define the SEEK_* or *_FILENO macros in <unistd.h>. */
|
||||
/* MSVC declares 'unlink' in <stdio.h>, not in <unistd.h>. We must include
|
||||
@ -61,16 +64,18 @@
|
||||
/* But avoid namespace pollution on glibc systems. */
|
||||
#if (!(defined SEEK_CUR && defined SEEK_END && defined SEEK_SET) \
|
||||
|| ((@GNULIB_UNLINK@ || defined GNULIB_POSIXCHECK) \
|
||||
&& ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)) \
|
||||
&& (defined _WIN32 && ! defined __CYGWIN__)) \
|
||||
|| ((@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK) \
|
||||
&& defined __CYGWIN__)) \
|
||||
&& ! defined __GLIBC__
|
||||
# include <stdio.h>
|
||||
#endif
|
||||
|
||||
/* Cygwin 1.7.1 declares unlinkat in <fcntl.h>, not in <unistd.h>. */
|
||||
/* Cygwin 1.7.1 and Android 4.3 declare unlinkat in <fcntl.h>, not in
|
||||
<unistd.h>. */
|
||||
/* But avoid namespace pollution on glibc systems. */
|
||||
#if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) && defined __CYGWIN__ \
|
||||
#if (@GNULIB_UNLINKAT@ || defined GNULIB_POSIXCHECK) \
|
||||
&& (defined __CYGWIN__ || defined __ANDROID__) \
|
||||
&& ! defined __GLIBC__
|
||||
# include <fcntl.h>
|
||||
#endif
|
||||
@ -94,13 +99,13 @@
|
||||
lseek(), read(), unlink(), write() in <io.h>. */
|
||||
#if ((@GNULIB_CHDIR@ || @GNULIB_GETCWD@ || @GNULIB_RMDIR@ \
|
||||
|| defined GNULIB_POSIXCHECK) \
|
||||
&& ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
|
||||
&& (defined _WIN32 && ! defined __CYGWIN__))
|
||||
# include <io.h> /* mingw32, mingw64 */
|
||||
# include <direct.h> /* mingw64, MSVC 9 */
|
||||
#elif (@GNULIB_CLOSE@ || @GNULIB_DUP@ || @GNULIB_DUP2@ || @GNULIB_ISATTY@ \
|
||||
|| @GNULIB_LSEEK@ || @GNULIB_READ@ || @GNULIB_UNLINK@ || @GNULIB_WRITE@ \
|
||||
|| defined GNULIB_POSIXCHECK) \
|
||||
&& ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
|
||||
&& (defined _WIN32 && ! defined __CYGWIN__)
|
||||
# include <io.h>
|
||||
#endif
|
||||
|
||||
@ -113,17 +118,18 @@
|
||||
# include <netdb.h>
|
||||
#endif
|
||||
|
||||
/* MSVC defines off_t in <sys/types.h>.
|
||||
May also define off_t to a 64-bit type on native Windows. */
|
||||
#if !@HAVE_UNISTD_H@ || @WINDOWS_64_BIT_OFF_T@
|
||||
/* Get off_t. */
|
||||
# include <sys/types.h>
|
||||
/* Android 4.3 declares fchownat in <sys/stat.h>, not in <unistd.h>. */
|
||||
/* But avoid namespace pollution on glibc systems. */
|
||||
#if (@GNULIB_FCHOWNAT@ || defined GNULIB_POSIXCHECK) && defined __ANDROID__ \
|
||||
&& !defined __GLIBC__
|
||||
# include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#if (@GNULIB_READ@ || @GNULIB_WRITE@ \
|
||||
|| @GNULIB_READLINK@ || @GNULIB_READLINKAT@ \
|
||||
|| @GNULIB_PREAD@ || @GNULIB_PWRITE@ || defined GNULIB_POSIXCHECK)
|
||||
/* Get ssize_t. */
|
||||
/* MSVC defines off_t in <sys/types.h>.
|
||||
May also define off_t to a 64-bit type on native Windows. */
|
||||
/* But avoid namespace pollution on glibc systems. */
|
||||
#ifndef __GLIBC__
|
||||
/* Get off_t, ssize_t. */
|
||||
# include <sys/types.h>
|
||||
#endif
|
||||
|
||||
@ -134,9 +140,8 @@
|
||||
/* The definition of _GL_WARN_ON_USE is copied here. */
|
||||
|
||||
|
||||
/* Get getopt(), optarg, optind, opterr, optopt.
|
||||
But avoid namespace pollution on glibc systems. */
|
||||
#if @GNULIB_UNISTD_H_GETOPT@ && !defined __GLIBC__ && !defined _GL_SYSTEM_GETOPT
|
||||
/* Get getopt(), optarg, optind, opterr, optopt. */
|
||||
#if @GNULIB_UNISTD_H_GETOPT@ && !defined _GL_SYSTEM_GETOPT
|
||||
# include <getopt-cdefs.h>
|
||||
# include <getopt-pfx-core.h>
|
||||
#endif
|
||||
@ -248,11 +253,29 @@ _GL_INLINE_HEADER_BEGIN
|
||||
/* Declare overridden functions. */
|
||||
|
||||
|
||||
#if defined GNULIB_POSIXCHECK
|
||||
#if @GNULIB_ACCESS@
|
||||
# if @REPLACE_ACCESS@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef access
|
||||
# define access rpl_access
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (access, int, (const char *file, int mode)
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (access, int, (const char *file, int mode));
|
||||
# else
|
||||
_GL_CXXALIAS_SYS (access, int, (const char *file, int mode));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (access);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef access
|
||||
# if HAVE_RAW_DECL_ACCESS
|
||||
/* The access() function is a security risk. */
|
||||
_GL_WARN_ON_USE (access, "the access function is a security risk - "
|
||||
_GL_WARN_ON_USE (access, "access does not always support X_OK - "
|
||||
"use gnulib module access for portability; "
|
||||
"also, this function is a security risk - "
|
||||
"use the gnulib module faccessat instead");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#if @GNULIB_CHDIR@
|
||||
@ -272,7 +295,7 @@ _GL_WARN_ON_USE (chown, "chdir is not always in <unistd.h> - "
|
||||
to GID (if GID is not -1). Follow symbolic links.
|
||||
Return 0 if successful, otherwise -1 and errno set.
|
||||
See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html. */
|
||||
# if @REPLACE_CHOWN@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef chown
|
||||
@ -323,6 +346,24 @@ _GL_WARN_ON_USE (close, "close does not portably work on sockets - "
|
||||
#endif
|
||||
|
||||
|
||||
#if @GNULIB_COPY_FILE_RANGE@
|
||||
# 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));
|
||||
_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
|
||||
/* Assume copy_file_range is always declared. */
|
||||
_GL_WARN_ON_USE (copy_file_range,
|
||||
"copy_file_range is unportable - "
|
||||
"use gnulib module copy_file_range for portability");
|
||||
#endif
|
||||
|
||||
|
||||
#if @GNULIB_DUP@
|
||||
# if @REPLACE_DUP@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
@ -348,7 +389,7 @@ _GL_WARN_ON_USE (dup, "dup is unportable - "
|
||||
NEWFD = OLDFD, otherwise close NEWFD first if it is open.
|
||||
Return newfd if successful, otherwise -1 and errno set.
|
||||
See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/dup2.html>. */
|
||||
# if @REPLACE_DUP2@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# define dup2 rpl_dup2
|
||||
@ -379,7 +420,7 @@ _GL_WARN_ON_USE (dup2, "dup2 is unportable - "
|
||||
Close NEWFD first if it is open.
|
||||
Return newfd if successful, otherwise -1 and errno set.
|
||||
See the Linux man page at
|
||||
<http://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>. */
|
||||
<https://www.kernel.org/doc/man-pages/online/pages/man2/dup3.2.html>. */
|
||||
# if @HAVE_DUP3@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# define dup3 rpl_dup3
|
||||
@ -401,6 +442,13 @@ _GL_WARN_ON_USE (dup3, "dup3 is unportable - "
|
||||
|
||||
|
||||
#if @GNULIB_ENVIRON@
|
||||
# if defined __CYGWIN__ && !defined __i386__
|
||||
/* The 'environ' variable is defined in a DLL. Therefore its declaration needs
|
||||
the '__declspec(dllimport)' attribute, but the system's <unistd.h> lacks it.
|
||||
This leads to a link error on 64-bit Cygwin when the option
|
||||
-Wl,--disable-auto-import is in use. */
|
||||
_GL_EXTERN_C __declspec(dllimport) char **environ;
|
||||
# endif
|
||||
# if !@HAVE_DECL_ENVIRON@
|
||||
/* Set of environment variables and values. An array of strings of the form
|
||||
"VARIABLE=VALUE", terminated with a NULL. */
|
||||
@ -426,12 +474,12 @@ extern char **environ;
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# if HAVE_RAW_DECL_ENVIRON
|
||||
_GL_UNISTD_INLINE char ***
|
||||
_GL_WARN_ON_USE_ATTRIBUTE ("environ is unportable - "
|
||||
"use gnulib module environ for portability")
|
||||
rpl_environ (void)
|
||||
{
|
||||
return &environ;
|
||||
}
|
||||
_GL_WARN_ON_USE (rpl_environ, "environ is unportable - "
|
||||
"use gnulib module environ for portability");
|
||||
# undef environ
|
||||
# define environ (*rpl_environ ())
|
||||
# endif
|
||||
@ -462,6 +510,17 @@ _GL_WARN_ON_USE (euidaccess, "euidaccess is unportable - "
|
||||
|
||||
|
||||
#if @GNULIB_FACCESSAT@
|
||||
# if @REPLACE_FACCESSAT@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef faccessat
|
||||
# define faccessat rpl_faccessat
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (faccessat, int,
|
||||
(int fd, char const *name, int mode, int flag)
|
||||
_GL_ARG_NONNULL ((2)));
|
||||
_GL_CXXALIAS_RPL (faccessat, int,
|
||||
(int fd, char const *name, int mode, int flag));
|
||||
# else
|
||||
# if !@HAVE_FACCESSAT@
|
||||
_GL_FUNCDECL_SYS (faccessat, int,
|
||||
(int fd, char const *file, int mode, int flag)
|
||||
@ -469,6 +528,7 @@ _GL_FUNCDECL_SYS (faccessat, int,
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (faccessat, int,
|
||||
(int fd, char const *file, int mode, int flag));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (faccessat);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef faccessat
|
||||
@ -484,7 +544,7 @@ _GL_WARN_ON_USE (faccessat, "faccessat is not portable - "
|
||||
the given file descriptor is open.
|
||||
Return 0 if successful, otherwise -1 and errno set.
|
||||
See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/fchdir.html>. */
|
||||
# if ! @HAVE_FCHDIR@
|
||||
_GL_FUNCDECL_SYS (fchdir, int, (int /*fd*/));
|
||||
|
||||
@ -545,7 +605,7 @@ _GL_WARN_ON_USE (fchownat, "fchownat is not portable - "
|
||||
/* Synchronize changes to a file.
|
||||
Return 0 if successful, otherwise -1 and errno set.
|
||||
See POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/fdatasync.html>. */
|
||||
# if !@HAVE_FDATASYNC@ || !@HAVE_DECL_FDATASYNC@
|
||||
_GL_FUNCDECL_SYS (fdatasync, int, (int fd));
|
||||
# endif
|
||||
@ -564,7 +624,7 @@ _GL_WARN_ON_USE (fdatasync, "fdatasync is unportable - "
|
||||
/* Synchronize changes, including metadata, to a file.
|
||||
Return 0 if successful, otherwise -1 and errno set.
|
||||
See POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/fsync.html>. */
|
||||
# if !@HAVE_FSYNC@
|
||||
_GL_FUNCDECL_SYS (fsync, int, (int fd));
|
||||
# endif
|
||||
@ -583,7 +643,7 @@ _GL_WARN_ON_USE (fsync, "fsync is unportable - "
|
||||
/* Change the size of the file to which FD is opened to become equal to LENGTH.
|
||||
Return 0 if successful, otherwise -1 and errno set.
|
||||
See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/ftruncate.html>. */
|
||||
# if @REPLACE_FTRUNCATE@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef ftruncate
|
||||
@ -613,7 +673,7 @@ _GL_WARN_ON_USE (ftruncate, "ftruncate is unportable - "
|
||||
Return BUF if successful, or NULL if the directory couldn't be determined
|
||||
or SIZE was too small.
|
||||
See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/getcwd.html>.
|
||||
Additionally, the gnulib module 'getcwd' guarantees the following GNU
|
||||
extension: If BUF is NULL, an array is allocated with 'malloc'; the array
|
||||
is SIZE bytes long, unless SIZE == 0, in which case it is as big as
|
||||
@ -773,7 +833,7 @@ _GL_WARN_ON_USE (gethostname, "gethostname is unportable - "
|
||||
/* Returns the user's login name, or NULL if it cannot be found. Upon error,
|
||||
returns NULL with errno set.
|
||||
|
||||
See <http://www.opengroup.org/susv3xsh/getlogin.html>.
|
||||
See <https://pubs.opengroup.org/onlinepubs/9699919799/functions/getlogin.html>.
|
||||
|
||||
Most programs don't need to use this function, because the information is
|
||||
available through environment variables:
|
||||
@ -802,7 +862,7 @@ _GL_WARN_ON_USE (getlogin, "getlogin is unportable - "
|
||||
the case that the login name cannot be found but no specific error is
|
||||
provided (this case is hopefully rare but is left open by the POSIX spec).
|
||||
|
||||
See <http://www.opengroup.org/susv3xsh/getlogin.html>.
|
||||
See <https://pubs.opengroup.org/onlinepubs/9699919799/functions/getlogin.html>.
|
||||
|
||||
Most programs don't need to use this function, because the information is
|
||||
available through environment variables:
|
||||
@ -917,6 +977,36 @@ _GL_WARN_ON_USE (getpagesize, "getpagesize is unportable - "
|
||||
#endif
|
||||
|
||||
|
||||
#if @GNULIB_GETPASS@
|
||||
/* Function getpass() from module 'getpass':
|
||||
Read a password from /dev/tty or stdin.
|
||||
Function getpass() from module 'getpass-gnu':
|
||||
Read a password of arbitrary length from /dev/tty or stdin. */
|
||||
# if @REPLACE_GETPASS@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef getpass
|
||||
# define getpass rpl_getpass
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (getpass, char *, (const char *prompt)
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (getpass, char *, (const char *prompt));
|
||||
# else
|
||||
# if !@HAVE_GETPASS@
|
||||
_GL_FUNCDECL_SYS (getpass, char *, (const char *prompt)
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
# endif
|
||||
_GL_CXXALIAS_SYS (getpass, char *, (const char *prompt));
|
||||
# endif
|
||||
_GL_CXXALIASWARN (getpass);
|
||||
#elif defined GNULIB_POSIXCHECK
|
||||
# undef getpass
|
||||
# if HAVE_RAW_DECL_GETPASS
|
||||
_GL_WARN_ON_USE (getpass, "getpass is unportable - "
|
||||
"use gnulib module getpass or getpass-gnu for portability");
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
#if @GNULIB_GETUSERSHELL@
|
||||
/* Return the next valid login shell on the system, or NULL when the end of
|
||||
the list has been reached. */
|
||||
@ -1007,7 +1097,7 @@ _GL_WARN_ON_USE (isatty, "isatty has portability problems on native Windows - "
|
||||
to GID (if GID is not -1). Do not follow symbolic links.
|
||||
Return 0 if successful, otherwise -1 and errno set.
|
||||
See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/lchown.html>. */
|
||||
# if @REPLACE_LCHOWN@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef lchown
|
||||
@ -1037,7 +1127,7 @@ _GL_WARN_ON_USE (lchown, "lchown is unportable to pre-POSIX.1-2001 systems - "
|
||||
/* Create a new hard link for an existing file.
|
||||
Return 0 if successful, otherwise -1 and errno set.
|
||||
See POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/link.html>. */
|
||||
# if @REPLACE_LINK@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# define link rpl_link
|
||||
@ -1103,7 +1193,7 @@ _GL_WARN_ON_USE (linkat, "linkat is unportable - "
|
||||
/* Set the offset of FD relative to SEEK_SET, SEEK_CUR, or SEEK_END.
|
||||
Return the new offset if successful, otherwise -1 and errno set.
|
||||
See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/lseek.html>. */
|
||||
# if @REPLACE_LSEEK@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# define lseek rpl_lseek
|
||||
@ -1149,7 +1239,7 @@ _GL_WARN_ON_USE (pipe, "pipe is unportable - "
|
||||
Store the read-end as fd[0] and the write-end as fd[1].
|
||||
Return 0 upon success, or -1 with errno set upon failure.
|
||||
See also the Linux man page at
|
||||
<http://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>. */
|
||||
<https://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html>. */
|
||||
# if @HAVE_PIPE2@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# define pipe2 rpl_pipe2
|
||||
@ -1175,7 +1265,7 @@ _GL_WARN_ON_USE (pipe2, "pipe2 is unportable - "
|
||||
Return the number of bytes placed into BUF if successful, otherwise
|
||||
set errno and return -1. 0 indicates EOF.
|
||||
See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/pread.html>. */
|
||||
# if @REPLACE_PREAD@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef pread
|
||||
@ -1210,7 +1300,7 @@ _GL_WARN_ON_USE (pread, "pread is unportable - "
|
||||
Return the number of bytes written if successful, otherwise
|
||||
set errno and return -1. 0 indicates nothing written. See the
|
||||
POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/pwrite.html>. */
|
||||
# if @REPLACE_PWRITE@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef pwrite
|
||||
@ -1243,7 +1333,7 @@ _GL_WARN_ON_USE (pwrite, "pwrite is unportable - "
|
||||
#if @GNULIB_READ@
|
||||
/* Read up to COUNT bytes from file descriptor FD into the buffer starting
|
||||
at BUF. See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/read.html>. */
|
||||
# if @REPLACE_READ@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef read
|
||||
@ -1267,7 +1357,7 @@ _GL_CXXALIASWARN (read);
|
||||
bytes of it into BUF. Return the number of bytes placed into BUF if
|
||||
successful, otherwise -1 and errno set.
|
||||
See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/readlink.html>. */
|
||||
# if @REPLACE_READLINK@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# define readlink rpl_readlink
|
||||
@ -1377,7 +1467,7 @@ _GL_WARN_ON_USE (sethostname, "sethostname is unportable - "
|
||||
/* Pause the execution of the current thread for N seconds.
|
||||
Returns the number of seconds left to sleep.
|
||||
See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/sleep.html>. */
|
||||
# if @REPLACE_SLEEP@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef sleep
|
||||
@ -1461,7 +1551,7 @@ _GL_WARN_ON_USE (symlinkat, "symlinkat is not portable - "
|
||||
/* Change the size of the file designated by FILENAME to become equal to LENGTH.
|
||||
Return 0 if successful, otherwise -1 and errno set.
|
||||
See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/truncate.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/truncate.html>. */
|
||||
# if @REPLACE_TRUNCATE@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef truncate
|
||||
@ -1471,7 +1561,7 @@ _GL_FUNCDECL_RPL (truncate, int, (const char *filename, off_t length)
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (truncate, int, (const char *filename, off_t length));
|
||||
# else
|
||||
# if !@HAVE_TRUNCATE@
|
||||
# if !@HAVE_DECL_TRUNCATE@
|
||||
_GL_FUNCDECL_SYS (truncate, int, (const char *filename, off_t length)
|
||||
_GL_ARG_NONNULL ((1)));
|
||||
# endif
|
||||
@ -1568,7 +1658,7 @@ _GL_WARN_ON_USE (unlinkat, "unlinkat is not portable - "
|
||||
/* Pause the execution of the current thread for N microseconds.
|
||||
Returns 0 on completion, or -1 on range error.
|
||||
See the POSIX:2001 specification
|
||||
<http://www.opengroup.org/susv3xsh/usleep.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/009695399/functions/usleep.html>. */
|
||||
# if @REPLACE_USLEEP@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef usleep
|
||||
@ -1595,7 +1685,7 @@ _GL_WARN_ON_USE (usleep, "usleep is unportable - "
|
||||
#if @GNULIB_WRITE@
|
||||
/* Write up to COUNT bytes starting at BUF to file descriptor FD.
|
||||
See the POSIX:2008 specification
|
||||
<http://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>. */
|
||||
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/write.html>. */
|
||||
# if @REPLACE_WRITE@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef write
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Elementary Unicode string functions.
|
||||
Copyright (C) 2001-2002, 2005-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001-2002, 2005-2019 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published
|
||||
@ -12,7 +12,7 @@
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _UNISTR_H
|
||||
#define _UNISTR_H
|
||||
@ -137,8 +137,8 @@ extern int
|
||||
The number of available units, N, must be > 0. */
|
||||
/* Similar to mbtowc(), except that puc and s must not be NULL, n must be > 0,
|
||||
and the NUL character is not treated specially. */
|
||||
/* The variants with _safe suffix are safe, even if the library is compiled
|
||||
without --enable-safety. */
|
||||
/* The variants with _unsafe suffix are for backward compatibility with
|
||||
libunistring versions < 0.9.7. */
|
||||
|
||||
#if GNULIB_UNISTR_U8_MBTOUC_UNSAFE || HAVE_LIBUNISTRING
|
||||
# if !HAVE_INLINE
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Look at first character in UTF-8 string, returning an error code.
|
||||
Copyright (C) 1999-2002, 2006-2007, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 1999-2002, 2006-2007, 2009-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2001.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
@ -13,7 +13,7 @@
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Conversion UCS-4 to UTF-8.
|
||||
Copyright (C) 2002, 2006-2007, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002, 2006-2007, 2009-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2002.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
@ -13,7 +13,7 @@
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Store a character in UTF-8 string.
|
||||
Copyright (C) 2002, 2005-2006, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002, 2005-2006, 2009-2019 Free Software Foundation, Inc.
|
||||
Written by Bruno Haible <bruno@clisp.org>, 2002.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
@ -13,7 +13,7 @@
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Elementary types and macros for the GNU UniString library.
|
||||
Copyright (C) 2002, 2005-2006, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2002, 2005-2006, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published
|
||||
@ -12,7 +12,7 @@
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifndef _UNITYPES_H
|
||||
#define _UNITYPES_H
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* A C macro for declaring that specific function parameters are not used.
|
||||
Copyright (C) 2008-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2008-2019 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published
|
||||
@ -12,7 +12,7 @@
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* _GL_UNUSED_PARAMETER is a marker that can be appended to function parameter
|
||||
declarations for parameters that are not used. This helps to reduce
|
||||
|
125
lib/verify.h
125
lib/verify.h
@ -1,6 +1,6 @@
|
||||
/* Compile-time assert-like macros.
|
||||
|
||||
Copyright (C) 2005-2006, 2009-2017 Free Software Foundation, Inc.
|
||||
Copyright (C) 2005-2006, 2009-2019 Free Software Foundation, Inc.
|
||||
|
||||
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
|
||||
@ -13,7 +13,7 @@
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>. */
|
||||
|
||||
/* Written by Paul Eggert, Bruno Haible, and Jim Meyering. */
|
||||
|
||||
@ -21,31 +21,37 @@
|
||||
#define _GL_VERIFY_H
|
||||
|
||||
|
||||
/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert works as per C11.
|
||||
This is supported by GCC 4.6.0 and later, in C mode, and its use
|
||||
here generates easier-to-read diagnostics when verify (R) fails.
|
||||
/* Define _GL_HAVE__STATIC_ASSERT to 1 if _Static_assert (R, DIAGNOSTIC)
|
||||
works as per C11. This is supported by GCC 4.6.0 and later, in C
|
||||
mode.
|
||||
|
||||
Define _GL_HAVE_STATIC_ASSERT to 1 if static_assert works as per C++11.
|
||||
This will likely be supported by future GCC versions, in C++ mode.
|
||||
Define _GL_HAVE__STATIC_ASSERT1 to 1 if _Static_assert (R) works as
|
||||
per C2X, and define _GL_HAVE_STATIC_ASSERT1 if static_assert (R)
|
||||
works as per C++17. This is supported by GCC 9.1 and later.
|
||||
|
||||
Use this only with GCC. If we were willing to slow 'configure'
|
||||
down we could also use it with other compilers, but since this
|
||||
affects only the quality of diagnostics, why bother? */
|
||||
#if (4 < __GNUC__ + (6 <= __GNUC_MINOR__) \
|
||||
&& (201112L <= __STDC_VERSION__ || !defined __STRICT_ANSI__) \
|
||||
&& !defined __cplusplus)
|
||||
Support compilers claiming conformance to the relevant standard,
|
||||
and also support GCC when not pedantic. If we were willing to slow
|
||||
'configure' down we could also use it with other compilers, but
|
||||
since this affects only the quality of diagnostics, why bother? */
|
||||
#ifndef __cplusplus
|
||||
# if (201112L <= __STDC_VERSION__ \
|
||||
|| (!defined __STRICT_ANSI__ && 4 < __GNUC__ + (6 <= __GNUC_MINOR__)))
|
||||
# define _GL_HAVE__STATIC_ASSERT 1
|
||||
# endif
|
||||
/* The condition (99 < __GNUC__) is temporary, until we know about the
|
||||
first G++ release that supports static_assert. */
|
||||
#if (99 < __GNUC__) && defined __cplusplus
|
||||
# define _GL_HAVE_STATIC_ASSERT 1
|
||||
# if (202000L <= __STDC_VERSION__ \
|
||||
|| (!defined __STRICT_ANSI__ && 9 <= __GNUC__))
|
||||
# define _GL_HAVE__STATIC_ASSERT1 1
|
||||
# endif
|
||||
#else
|
||||
# if 201703L <= __cplusplus || 9 <= __GNUC__
|
||||
# define _GL_HAVE_STATIC_ASSERT1 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* FreeBSD 9.1 <sys/cdefs.h>, included by <stddef.h> and lots of other
|
||||
system headers, defines a conflicting _Static_assert that is no
|
||||
better than ours; override it. */
|
||||
#ifndef _GL_HAVE_STATIC_ASSERT
|
||||
#ifndef _GL_HAVE__STATIC_ASSERT
|
||||
# include <stddef.h>
|
||||
# undef _Static_assert
|
||||
#endif
|
||||
@ -143,9 +149,9 @@
|
||||
which do not support _Static_assert, also do not warn about the
|
||||
last declaration mentioned above.
|
||||
|
||||
* GCC warns if -Wnested-externs is enabled and verify() is used
|
||||
* GCC warns if -Wnested-externs is enabled and 'verify' is used
|
||||
within a function body; but inside a function, you can always
|
||||
arrange to use verify_expr() instead.
|
||||
arrange to use verify_expr instead.
|
||||
|
||||
* In C++, any struct definition inside sizeof is invalid.
|
||||
Use a template type to work around the problem. */
|
||||
@ -197,48 +203,61 @@ template <int w>
|
||||
#endif
|
||||
|
||||
/* Verify requirement R at compile-time, as a declaration without a
|
||||
trailing ';'. If R is false, fail at compile-time, preferably
|
||||
with a diagnostic that includes the string-literal DIAGNOSTIC.
|
||||
trailing ';'. If R is false, fail at compile-time.
|
||||
|
||||
This macro requires three or more arguments but uses at most the first
|
||||
two, so that the _Static_assert macro optionally defined below supports
|
||||
both the C11 two-argument syntax and the C2X one-argument syntax.
|
||||
|
||||
Unfortunately, unlike C11, this implementation must appear as an
|
||||
ordinary declaration, and cannot appear inside struct { ... }. */
|
||||
|
||||
#ifdef _GL_HAVE__STATIC_ASSERT
|
||||
# define _GL_VERIFY _Static_assert
|
||||
#if defined _GL_HAVE__STATIC_ASSERT
|
||||
# define _GL_VERIFY(R, DIAGNOSTIC, ...) _Static_assert (R, DIAGNOSTIC)
|
||||
#else
|
||||
# define _GL_VERIFY(R, DIAGNOSTIC) \
|
||||
# define _GL_VERIFY(R, DIAGNOSTIC, ...) \
|
||||
extern int (*_GL_GENSYM (_gl_verify_function) (void)) \
|
||||
[_GL_VERIFY_TRUE (R, DIAGNOSTIC)]
|
||||
#endif
|
||||
|
||||
/* _GL_STATIC_ASSERT_H is defined if this code is copied into assert.h. */
|
||||
#ifdef _GL_STATIC_ASSERT_H
|
||||
# if !defined _GL_HAVE__STATIC_ASSERT && !defined _Static_assert
|
||||
# define _Static_assert(R, DIAGNOSTIC) _GL_VERIFY (R, DIAGNOSTIC)
|
||||
# if !defined _GL_HAVE__STATIC_ASSERT1 && !defined _Static_assert
|
||||
# define _Static_assert(...) \
|
||||
_GL_VERIFY (__VA_ARGS__, "static assertion failed", -)
|
||||
# endif
|
||||
# if !defined _GL_HAVE_STATIC_ASSERT && !defined static_assert
|
||||
# if !defined _GL_HAVE_STATIC_ASSERT1 && !defined static_assert
|
||||
# define static_assert _Static_assert /* C11 requires this #define. */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* @assert.h omit start@ */
|
||||
|
||||
#if 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))
|
||||
# define _GL_HAS_BUILTIN_TRAP 1
|
||||
#elif defined __has_builtin
|
||||
# define _GL_HAS_BUILTIN_TRAP __has_builtin (__builtin_trap)
|
||||
#else
|
||||
# define _GL_HAS_BUILTIN_TRAP 0
|
||||
#endif
|
||||
|
||||
#if 4 < __GNUC__ + (5 <= __GNUC_MINOR__)
|
||||
# define _GL_HAS_BUILTIN_UNREACHABLE 1
|
||||
#elif defined __has_builtin
|
||||
# define _GL_HAS_BUILTIN_UNREACHABLE __has_builtin (__builtin_unreachable)
|
||||
#else
|
||||
# define _GL_HAS_BUILTIN_UNREACHABLE 0
|
||||
#endif
|
||||
|
||||
/* Each of these macros verifies that its argument R is nonzero. To
|
||||
be portable, R should be an integer constant expression. Unlike
|
||||
assert (R), there is no run-time overhead.
|
||||
|
||||
There are two macros, since no single macro can be used in all
|
||||
contexts in C. verify_true (R) is for scalar contexts, including
|
||||
contexts in C. verify_expr (R, E) is for scalar contexts, including
|
||||
integer constant expression contexts. verify (R) is for declaration
|
||||
contexts, e.g., the top level. */
|
||||
|
||||
/* Verify requirement R at compile-time, as an integer constant expression.
|
||||
Return 1. This is equivalent to verify_expr (R, 1).
|
||||
|
||||
verify_true is obsolescent; please use verify_expr instead. */
|
||||
|
||||
#define verify_true(R) _GL_VERIFY_TRUE (R, "verify_true (" #R ")")
|
||||
|
||||
/* Verify requirement R at compile-time. Return the value of the
|
||||
expression E. */
|
||||
|
||||
@ -246,37 +265,35 @@ template <int w>
|
||||
(_GL_VERIFY_TRUE (R, "verify_expr (" #R ", " #E ")") ? (E) : (E))
|
||||
|
||||
/* Verify requirement R at compile-time, as a declaration without a
|
||||
trailing ';'. */
|
||||
trailing ';'. verify (R) acts like static_assert (R) except that
|
||||
it is portable to C11/C++14 and earlier, it can issue better
|
||||
diagnostics, and its name is shorter and may be more convenient. */
|
||||
|
||||
#ifdef __GNUC__
|
||||
# define verify(R) _GL_VERIFY (R, "verify (" #R ")")
|
||||
#ifdef __PGI
|
||||
/* PGI barfs if R is long. */
|
||||
# define verify(R) _GL_VERIFY (R, "verify (...)", -)
|
||||
#else
|
||||
/* PGI barfs if R is long. Play it safe. */
|
||||
# define verify(R) _GL_VERIFY (R, "verify (...)")
|
||||
# define verify(R) _GL_VERIFY (R, "verify (" #R ")", -)
|
||||
#endif
|
||||
|
||||
#ifndef __has_builtin
|
||||
# define __has_builtin(x) 0
|
||||
#endif
|
||||
/* Assume that R always holds. Behavior is undefined if R is false,
|
||||
fails to evaluate, or has side effects. Although assuming R can
|
||||
help a compiler generate better code or diagnostics, performance
|
||||
can suffer if R uses hard-to-optimize features such as function
|
||||
calls not inlined by the compiler. */
|
||||
|
||||
/* Assume that R always holds. This lets the compiler optimize
|
||||
accordingly. R should not have side-effects; it may or may not be
|
||||
evaluated. Behavior is undefined if R is false. */
|
||||
|
||||
#if (__has_builtin (__builtin_unreachable) \
|
||||
|| 4 < __GNUC__ + (5 <= __GNUC_MINOR__))
|
||||
#if _GL_HAS_BUILTIN_UNREACHABLE
|
||||
# define assume(R) ((R) ? (void) 0 : __builtin_unreachable ())
|
||||
#elif 1200 <= _MSC_VER
|
||||
# define assume(R) __assume (R)
|
||||
#elif ((defined GCC_LINT || defined lint) \
|
||||
&& (__has_builtin (__builtin_trap) \
|
||||
|| 3 < __GNUC__ + (3 < __GNUC_MINOR__ + (4 <= __GNUC_PATCHLEVEL__))))
|
||||
#elif (defined GCC_LINT || defined lint) && _GL_HAS_BUILTIN_TRAP
|
||||
/* Doing it this way helps various packages when configured with
|
||||
--enable-gcc-warnings, which compiles with -Dlint. It's nicer
|
||||
when 'assume' silences warnings even with older GCCs. */
|
||||
# define assume(R) ((R) ? (void) 0 : __builtin_trap ())
|
||||
#else
|
||||
# define assume(R) ((void) (0 && (R)))
|
||||
/* Some tools grok NOTREACHED, e.g., Oracle Studio 12.6. */
|
||||
# define assume(R) ((R) ? (void) 0 : /*NOTREACHED*/ (void) 0)
|
||||
#endif
|
||||
|
||||
/* @assert.h omit end@ */
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user