summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthegeorg <[email protected]>2024-10-19 22:10:02 +0300
committerthegeorg <[email protected]>2024-10-19 22:19:51 +0300
commit6378cb156ead0e2eedc675b8e2e37769bf86bb46 (patch)
tree3990facbf8ccd09098b8f098c356e4dc8c869e60
parentd920c750e476fa2dc80c45f990d9456b1afeadd1 (diff)
Put contrib/tools/m4 under yamaker
commit_hash:0fad455f3d7eb62f50aece2733dbdc32b2484c62
-rw-r--r--build/conf/licenses.json1
-rw-r--r--contrib/tools/m4/.yandex_meta/__init__.py169
-rw-r--r--contrib/tools/m4/.yandex_meta/devtools.copyrights.report1525
-rw-r--r--contrib/tools/m4/.yandex_meta/devtools.licenses.report450
-rw-r--r--contrib/tools/m4/.yandex_meta/licenses.list.txt1411
-rw-r--r--contrib/tools/m4/.yandex_meta/override.nix8
-rw-r--r--contrib/tools/m4/AUTHORS42
-rw-r--r--contrib/tools/m4/BACKLOG60
-rw-r--r--contrib/tools/m4/COPYING674
-rw-r--r--contrib/tools/m4/INSTALL370
-rw-r--r--contrib/tools/m4/NEWS722
-rw-r--r--contrib/tools/m4/README76
-rw-r--r--contrib/tools/m4/THANKS147
-rw-r--r--contrib/tools/m4/TODO47
-rw-r--r--contrib/tools/m4/lib/.yandex_meta/licenses.list.txt353
-rw-r--r--contrib/tools/m4/lib/config-linux.h165
-rw-r--r--contrib/tools/m4/lib/config-osx.h32
-rw-r--r--contrib/tools/m4/lib/config-win.h19
-rw-r--r--contrib/tools/m4/lib/config.h4
-rw-r--r--contrib/tools/m4/lib/configmake-linux.h28
-rw-r--r--contrib/tools/m4/lib/error.c2
-rw-r--r--contrib/tools/m4/lib/execute.c5
-rw-r--r--contrib/tools/m4/lib/fcntl.h399
-rw-r--r--contrib/tools/m4/lib/fflush.c225
-rw-r--r--contrib/tools/m4/lib/fstat.c88
-rw-r--r--contrib/tools/m4/lib/getdtablesize.c4
-rw-r--r--contrib/tools/m4/lib/getopt.c4
-rw-r--r--contrib/tools/m4/lib/getopt1.c165
-rw-r--r--contrib/tools/m4/lib/isnanf-nolibm.h2
-rw-r--r--contrib/tools/m4/lib/isnanl-nolibm.h2
-rw-r--r--contrib/tools/m4/lib/isnanl.c20
-rw-r--r--contrib/tools/m4/lib/palloca.h7
-rw-r--r--contrib/tools/m4/lib/penviron.h5
-rw-r--r--contrib/tools/m4/lib/platform/win64/sys/stat.h2
-rw-r--r--contrib/tools/m4/lib/regex_internal.h2
-rw-r--r--contrib/tools/m4/lib/spawn-pipe.c5
-rw-r--r--contrib/tools/m4/lib/stdio--.h7
-rw-r--r--contrib/tools/m4/lib/stdlib--.h6
-rw-r--r--contrib/tools/m4/lib/strsignal.c4
-rw-r--r--contrib/tools/m4/lib/unistd--.h4
-rw-r--r--contrib/tools/m4/lib/vfprintf.c74
-rw-r--r--contrib/tools/m4/lib/ya.make103
-rw-r--r--contrib/tools/m4/patches/config.patch8
-rw-r--r--contrib/tools/m4/patches/darwin-extern-environ.patch26
-rw-r--r--contrib/tools/m4/patches/darwin-segfaults.patch11
-rw-r--r--contrib/tools/m4/patches/mkstemp-windows.patch14
-rw-r--r--contrib/tools/m4/src/Makefile.am29
-rw-r--r--contrib/tools/m4/src/m4.c7
-rw-r--r--contrib/tools/m4/src/path.c1
-rw-r--r--contrib/tools/m4/ya.make37
50 files changed, 6131 insertions, 1440 deletions
diff --git a/build/conf/licenses.json b/build/conf/licenses.json
index abfed06c8d4..2832e2871a6 100644
--- a/build/conf/licenses.json
+++ b/build/conf/licenses.json
@@ -48,6 +48,7 @@
"GCC-exception-3.1",
"GDAL",
"GFDL-1.1-or-later",
+ "GFDL-1.3-or-later",
"Go-License",
"Google-Patent-License-Webm",
"Google-Patent-License-Webrtc",
diff --git a/contrib/tools/m4/.yandex_meta/__init__.py b/contrib/tools/m4/.yandex_meta/__init__.py
new file mode 100644
index 00000000000..db1c36fe9a5
--- /dev/null
+++ b/contrib/tools/m4/.yandex_meta/__init__.py
@@ -0,0 +1,169 @@
+import os
+import itertools
+
+from devtools.yamaker.modules import GLOBAL, Linkable, Switch
+from devtools.yamaker import pathutil
+from devtools.yamaker.project import NixProject
+
+
+WINDOWS_SRCS = [
+ "close.c",
+ "dup2.c",
+ "error.c",
+ "float+.h",
+ "fpending.c",
+ "getdtablesize.c",
+ "getopt.c",
+ "getopt1.c",
+ "getopt_int.h",
+ "gettimeofday.c",
+ "isnand-nolibm.h",
+ "isnanf-nolibm.h",
+ "isnanl-nolibm.h",
+ "localeconv.c",
+ "mkdtemp.c",
+ "msvc-inval.c",
+ "msvc-inval.h",
+ "msvc-nothrow.c",
+ "msvc-nothrow.h",
+ "nl_langinfo.c",
+ "obstack.c",
+ "raise.c",
+ "regex.c",
+ "regex.h",
+ "sigaction.c",
+ "siglist.h",
+ "sigprocmask.c",
+ "strsignal.c",
+ "w32spawn.h",
+ "waitpid.c",
+]
+
+DARWIN_SRCS = [
+ "error.c",
+ "fpending.c",
+ "obstack.c",
+ "regex.c",
+ "secure_getenv.c",
+]
+
+EXCESSIVE_SRCS = [
+ "alloca.h",
+ "asprintf.c",
+ "fflush.c",
+ "fpurge.c",
+ "fseek.c",
+ "freading.c",
+ "langinfo.h",
+ "locale.h",
+ "math.h",
+ "signal.h",
+ "spawn.h",
+ "stdio.h",
+ "stdlib.h",
+ "string.h",
+ "sys/stat.h",
+ "sys/time.h",
+ "sys/types.h",
+ "sys/wait.h",
+ "time.h",
+ "unistd.h",
+ "wchar.h",
+ "wctype.h",
+]
+
+
+def post_install(self):
+ with self.yamakes["lib"] as gnulib:
+ # Provide sys/random.h implementations which is used disregarding HAVE_SYS_RANDOM configuration value
+ gnulib.PEERDIR.add("contrib/libs/libc_compat")
+
+ gnulib.after(
+ "SRCS",
+ Switch(
+ OS_WINDOWS=Linkable(
+ SRCS=[src for src in WINDOWS_SRCS if pathutil.is_source(src)],
+ ADDINCL=[GLOBAL(f"{self.arcdir}/lib/platform/win64")],
+ ),
+ OS_DARWIN=Linkable(
+ SRCS=[src for src in DARWIN_SRCS if pathutil.is_source(src)],
+ ),
+ ),
+ )
+ for src in WINDOWS_SRCS:
+ if pathutil.is_source(src) and src in gnulib.SRCS:
+ gnulib.SRCS.remove(src)
+
+ for src in EXCESSIVE_SRCS:
+ os.remove(f"{self.dstdir}/lib/{src}")
+ if pathutil.is_source(src):
+ gnulib.SRCS.remove(src)
+
+
+m4 = NixProject(
+ arcdir="contrib/tools/m4",
+ owners=["g:cpp-contrib"],
+ nixattr="m4",
+ ignore_commands=[
+ "bash",
+ "cat",
+ "sed",
+ ],
+ copy_sources=[
+ # these are included from regex.c and should not be added into SRCS
+ "lib/regcomp.c",
+ "lib/regex_internal.c",
+ "lib/regex_internal.h",
+ "lib/regexec.c",
+ ] + [f"lib/{src}" for src in itertools.chain(WINDOWS_SRCS, DARWIN_SRCS)],
+ use_full_libnames=True,
+ install_targets=[
+ "libm4",
+ "m4",
+ ],
+ keep_paths=[
+ "lib/platform/win64/*.h",
+ "lib/platform/win64/sys/*.h",
+ # Keep this for now, these were backported from the future
+ "lib/fpending.c",
+ "lib/freadahead.c",
+ "lib/fseeko.c",
+ "lib/stdio-impl.h",
+ ],
+ platform_dispatchers=[
+ "lib/config.h",
+ "lib/configmake.h",
+ ],
+ disable_includes=[
+ "InnoTekLIBC/backend.h",
+ "bits/libc-lock.h",
+ "gettextP.h",
+ "lc-charset-dispatch.h",
+ "localename-table.h",
+ "../locale/localeinfo.h",
+ "OS.h",
+ "os2.h",
+ "os2-spawn.h",
+ "mbtowc-lock.h",
+ "mbrtowc-impl.h",
+ "relocatable.h",
+ "sigsegv.h",
+ "streq.h",
+ "synch.h",
+ "sys/ps.h",
+ "sys/single_threaded.h",
+ "unistring-notinline.h",
+ ],
+ put={
+ "libm4": "lib",
+ "m4": ".",
+ },
+ post_install=post_install,
+)
+
+m4.copy_top_sources_except |= {
+ "ABOUT-NLS",
+ "ChangeLog",
+ "ChangeLog-2014",
+}
+
diff --git a/contrib/tools/m4/.yandex_meta/devtools.copyrights.report b/contrib/tools/m4/.yandex_meta/devtools.copyrights.report
new file mode 100644
index 00000000000..079a03da065
--- /dev/null
+++ b/contrib/tools/m4/.yandex_meta/devtools.copyrights.report
@@ -0,0 +1,1525 @@
+# File format ($ symbol means the beginning of a line):
+#
+# $ # this message
+# $ # =======================
+# $ # comments (all commentaries should starts with some number of spaces and # symbol)
+# $ IGNORE_FILES {file1.ext1} {file2.ext2} - (optional) ignore listed files when generating license macro and credits
+# $ RENAME {original license id} TO {new license id} # user comments - (optional) use {new license id} instead {original license id} in ya.make files
+# $ # user comments
+# $
+# ${action} {license id} {license text hash}
+# $BELONGS ./ya/make/file/relative/path/1/ya.make ./ya/make/2/ya.make
+# ${all_file_action} filename
+# $ # user commentaries (many lines)
+# $ generated description - files with this license, license text... (some number of lines that starts with some number of spaces, do not modify)
+# ${action} {license spdx} {license text hash}
+# $BELONGS ./ya/make/file/relative/path/3/ya.make
+# ${all_file_action} filename
+# $ # user commentaries
+# $ generated description
+# $ ...
+#
+# You can modify action, all_file_action and add commentaries
+# Available actions:
+# keep - keep license in contrib and use in credits
+# skip - skip license
+# remove - remove all files with this license
+# rename - save license text/links into licenses texts file, but not store SPDX into LINCENSE macro. You should store correct license id into devtools.license.spdx.txt file
+#
+# {all file action} records will be generated when license text contains filename that exists on filesystem (in contrib directory)
+# We suppose that that files can contain some license info
+# Available all file actions:
+# FILE_IGNORE - ignore file (do nothing)
+# FILE_INCLUDE - include all file data into licenses text file
+# =======================
+
+KEEP COPYRIGHT_SERVICE_LABEL 00c986dd4ba920668d906f7bffbf6c5f
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001, 2003, 2005, 2008-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/binary-io.h [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 058f1c652a23a2496bbf854dbca10300
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001, 2003, 2006, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/stdio-safer.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 0702da6758f2577f59e5bd336aa87866
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1999, 2002-2003, 2005-2007, 2009-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/printf-args.c [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 07467591c00eacc34d6d64e47366b9d4
+BELONGS ya.make
+ License text:
+ Copyright (C) 1989-1994, 2006-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ src/format.c [3:3]
+ src/freeze.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 0a0dfef456f909f45e6f264305db10b5
+BELONGS ya.make
+ License text:
+ Copyright (C) 1989-1993, 2004, 2006-2013 Free Software Foundation,
+ Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ src/path.c [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL 0d14cff7e7175319fa36210084ee76a5
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1985, 1989-1993, 1995-1998, 2000-2003, 2005-2013 Free Software
+ Foundation, Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/regex.h [3:5]
+
+KEEP COPYRIGHT_SERVICE_LABEL 120581a5d502bc366df71ac0f1e21603
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2002-2003, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/raise.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 1229ae41ea00ec7cef49fc6db333e618
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001-2004, 2006, 2009-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2001.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/progname.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 129b8cfbebfaa719b20c12a6fb0a1c86
+BELONGS ya.make
+ License text:
+ Copyright (C) 2000, 2005-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ README [69:69]
+
+KEEP COPYRIGHT_SERVICE_LABEL 15e124024eb2c86926816fb98a7bec11
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1995-1998, 2000-2002, 2004-2006, 2009-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/gettext.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 19badf1ab4d109ed57f0d52c5242ce53
+BELONGS lib/ya.make
+ License text:
+ /* Copyright (C) 1999, 2001-2003, 2006-2007, 2009-2013 Free Software
+ Foundation, Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/mkdtemp.c [1:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 19c356d0dffd4901e70e9450940a07c8
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/filenamecat-lgpl.c [3:3]
+ lib/filenamecat.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 1d3aa15befc9a920b6fac9f78e6f4aec
+BELONGS lib/ya.make
+ License text:
+ /* Copyright (C) 1991, 1993, 1996-1997, 1999-2000, 2003-2004, 2006, 2008-2013
+ Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/memchr2.c [1:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 1e7f599a240efccbda3ab4c9efc32120
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001, 2003, 2005, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/unistd-safer.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 232de1f77bbafd80547ce6228d7649f5
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1999, 2002-2003, 2005, 2007, 2010-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/printf-parse.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 23301b45ba80435162a9b78237254a09
+BELONGS lib/ya.make
+ License text:
+ /* Copyright (C) 1999, 2001-2002, 2006, 2009-2013 Free Software Foundation,
+ Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/tmpdir.c [1:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 2611d35278bba7eb43f0271b9dc3af0d
+BELONGS ya.make
+ License text:
+ Copyright (C) 1989-1994, 2003, 2006-2013 Free Software Foundation,
+ Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ src/symtab.c [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL 2a95c5c93500406da275ace71c40beb9
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1991, 2004-2006, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/cloexec.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 2dbefb710287caf60ae462785dc52fde
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2002-2004, 2007-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/vasnprintf.h [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 2e065ae9c67a2e73da331941c7e27dcb
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2003, 2005, 2007, 2009-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2003.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/xmalloca.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 2e182f93884b2a3949c39e8591b0e31e
+BELONGS lib/ya.make
+ License text:
+ /* Ordered set data type implemented by a binary tree.
+ Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2006.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/gl_anytree_oset.h [1:3]
+ lib/gl_avltree_oset.c [1:3]
+ lib/gl_oset.h [2:3]
+ lib/verror.c [2:2]
+ lib/verror.h [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 2e732ac9f6b74dbcc834df9e53324a9f
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001-2004, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/unlocked-io.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 3101335adcc4584165cd82c0de43552b
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2002-2004, 2006-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/xvasprintf.h [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 3289f2428f1bde15c29edfb025786a00
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1990, 2001, 2003-2006, 2009-2013 Free Software Foundation,
+ Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/stripslash.c [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL 33c3435ef2e7b730a5779285e67c4d37
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1999, 2002-2004, 2006-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/xvasprintf.c [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 372539316e62c1ce62c57f38df8eb67e
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1990-2000, 2003-2004, 2006-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/xalloc-oversized.h [3:3]
+ lib/xalloc.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 3b643fb3a489e9de6c5ea29048b94696
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1987-1996, 1998-2004, 2006, 2008-2013 Free Software
+ Foundation, Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/getopt.c [5:7]
+
+KEEP COPYRIGHT_SERVICE_LABEL 3d1c5160866e31c4478a17530dbde5f0
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2000-2003, 2006, 2008-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/c-ctype.h [8:8]
+
+KEEP COPYRIGHT_SERVICE_LABEL 4184562b88c3624de8cdb446d894c390
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/close.c [2:2]
+ lib/fclose.c [2:2]
+ lib/getdtablesize.c [2:3]
+ lib/ignore-value.h [3:3]
+ lib/memchr2.h [2:2]
+ lib/platform/win64/sched.h [3:3]
+ lib/sig-handler.h [3:3]
+ lib/sigaction.c [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 422bc90acb59e21340f7fcc1acb0ae3a
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2000, 2004, 2006-2007, 2009-2021 Free Software Foundation,
+ Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/fpending.c [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 44bb9314fc9057479455541413d51520
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2005, 2007-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/glthread/tls.h [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 4603473a112e29f3e9315a949a3ddaf8
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1999, 2002, 2006-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/vasprintf.c [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 465e04de07b2e95f8a448170f20d31b8
+BELONGS lib/ya.make
+ License text:
+ Copyright 2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/secure_getenv.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 4854918d3ca04b7f4687772c04e78711
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1990-1998, 2000-2007, 2009-2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/error.c [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 48710321da010f086d88a01ba02f43f8
+BELONGS lib/ya.make
+ License text:
+ /* Sequential list data type implemented by a hash table with a linked list.
+ Copyright (C) 2006, 2008-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2006.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/gl_linkedhash_list.c [1:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 4d6253f33abc179952f327ee3b1f4e15
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1995, 1999, 2001-2004, 2006-2013 Free Software Foundation,
+ Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/platform/win64/alloca.h [4:5]
+
+KEEP COPYRIGHT_SERVICE_LABEL 4f5224922ca1060274bb2d14132e28d2
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/fcntl.c [3:3]
+ lib/fd-hook.c [2:3]
+ lib/fd-hook.h [2:2]
+ lib/gl_xlist.h [2:3]
+ lib/gl_xoset.h [2:3]
+ lib/pipe2.c [2:2]
+ lib/platform/win64/langinfo.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 4f9492fc0e89e312df497f4fcaeab044
+BELONGS ya.make
+ License text:
+ Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
+ Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ INSTALL [4:5]
+
+KEEP COPYRIGHT_SERVICE_LABEL 5321d65e6ca662e722b1d7cf5c99dcdd
+BELONGS ya.make
+ License text:
+ Copyright (C) 2000, 2006, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ BACKLOG [53:53]
+
+KEEP COPYRIGHT_SERVICE_LABEL 53b19367c4cfc77fe8351516a21ff332
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2007-2021 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/freadahead.c [2:2]
+ lib/fseeko.c [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 544ab2438f7aa43ef1ce1ed67e54b937
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2013 Free Software
+ Foundation, Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/platform/win64/getopt.h [3:5]
+
+KEEP COPYRIGHT_SERVICE_LABEL 57f755a70896c04eff0d8aa077c79db4
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2003-2007, 2009-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2003.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/malloca.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 5ccfd3fc29d53e79100f45ae23b3ce40
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1998-2002, 2004, 2006, 2008-2013 Free Software Foundation,
+ Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/closeout.c [3:4]
+ lib/quotearg.h [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL 5d1667bf16257cb8c0eddfec1ef63a4f
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2003-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/platform/win64/unistd.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 605c920eb2434c3b95d6aa972321ec57
+BELONGS lib/ya.make
+ License text:
+ Copyright 2000-2003, 2006, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/c-ctype.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 64f4044ab5e89b15adc1b10141e80bf8
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1995-1996, 2001, 2003, 2005, 2009-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/c-strcase.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 66d9e77c3f2d7507f9842af6cd5bb6ff
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1999, 2002, 2006, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/asnprintf.c [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 6de66b010a0194aab3aa38e295986d51
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/exitfail.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 6ef288fe470b028ed9393f0f9cdb0d5e
+BELONGS lib/ya.make
+ License text:
+ /* Variable with FSF copyright information, for version-etc.
+ Copyright (C) 1999-2006, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/version-etc-fsf.c [1:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 6f2ef572ed987bb1f02a38b932cdfedf
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1996-1999, 2008-2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/siglist.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 71de0111bb2934395d6c712100e955bf
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2000, 2003-2004, 2008-2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/platform/win64/spawn.h [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL 773aa1e6c51eddee7d07ce7ce2b1ab99
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2004, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/cloexec.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 784d708766ce06df6c18e76dbf618bbe
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/xalloc-die.c [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL 7ac575d17a582e20f8b561c93c284942
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2000-2001, 2004-2006, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/dosname.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 7b7a440b5b9672dede4b45418bd6ff73
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2012-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/localeconv.c [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 7ccf05a38bd8f519c2e08ea318d8a0b8
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001, 2003, 2006-2007, 2009-2013 Free Software Foundation,
+ Inc.
+ Written by Bruno Haible <[email protected]>, 2006.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/clean-temp.c [2:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL 7fe411a514c6a2124401c5518cfce0bf
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001-2003, 2006, 2008-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2001.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/spawn-pipe.h [2:3]
+ lib/wait-process.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 87a2b4ef7420f613bbd7d104a9b85aca
+BELONGS ya.make
+ License text:
+ Copyright (C) 1991-1994, 2004, 2006-2007, 2009-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ src/debug.c [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL 87b4383fae83c0bc4b1abfa5c78e9304
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2003, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2003.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/malloca.c [2:3]
+ lib/xmalloca.c [2:3]
+ lib/xstrndup.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 8852eec613da8d0c23dbe9378c64629d
+BELONGS lib/ya.make
+ License text:
+ Copyright d Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/version-etc-fsf.c [26:30]
+
+KEEP COPYRIGHT_SERVICE_LABEL 8988632bc136efb8041411edd4493b82
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2002-2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Isamu Hasegawa <[email protected]>.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/regcomp.c [2:4]
+ lib/regex.c [2:4]
+ lib/regex_internal.c [2:4]
+ lib/regex_internal.h [2:4]
+ lib/regexec.c [2:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL 8f5cd12bb2141575153cc3bc45e631f9
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2005, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/stdlib-safer.h [3:3]
+ lib/unistd--.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 951365a51f6640f4abefc658cd5a58a9
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001, 2004-2006, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/dup-safer-flag.c [4:4]
+ lib/dup-safer.c [3:3]
+ lib/fopen-safer.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 9846317830421b28752aae3ec0daaebd
+BELONGS ya.make
+ License text:
+ Copyright (C) 2000, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ AUTHORS [35:35]
+ TODO [40:40]
+
+KEEP COPYRIGHT_SERVICE_LABEL 9ae366a7ff1d7343508f4419d8f30902
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2007.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/fpucw.h [2:3]
+ lib/freadahead.h [2:2]
+ lib/freading.h [2:2]
+ lib/isnan.c [2:2]
+ lib/isnand-nolibm.h [2:2]
+ lib/isnanf-nolibm.h [2:2]
+ lib/isnanl-nolibm.h [2:2]
+ lib/nl_langinfo.c [3:3]
+ lib/platform/win64/locale.h [3:3]
+ lib/platform/win64/sys/time.h [4:4]
+ lib/xprintf.h [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL 9b1b58fcfb772a472db1c3fb09bf34d1
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2002, 2004, 2008-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/c-stack.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL 9fbaab46200cfc8c4b4e1562ded458ac
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2013 Free Software
+ Foundation, Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/getopt1.c [2:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL a2a73a0e4276a111cc70d4e0c2a55b58
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1998, 2001, 2003-2006, 2009-2013 Free Software Foundation,
+ Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/dirname.h [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL a49d222350d83caf91027426eed2347d
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1999, 2004-2007, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/dup2.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL a4c17a0a339347eccb15204e2957c984
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/fd-safer-flag.c [4:4]
+ lib/fd-safer.c [3:3]
+ lib/pipe-safer.c [2:2]
+ lib/pipe2-safer.c [2:2]
+ lib/stdio--.h [3:3]
+ lib/verify.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL a681cce71fccede25a5d0637e74d4cf1
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1998-2002, 2004, 2006-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/close-stream.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL a6fa5ef5a6e35f8d45c238c9c265b6bc
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2003, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/xstrndup.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL a8534a32046c85f9c163c599b7acf5fa
+BELONGS ya.make
+ License text:
+ Copyright (C) 1989-1994, 2000, 2004, 2006-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ src/builtin.c [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL b78d2fba2b832b27e3066a77aeceb44a
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2006-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/fcntl.h [4:4]
+ lib/gl_anylinked_list2.h [1:3]
+ lib/gl_list.h [2:3]
+ lib/platform/win64/fcntl.h [4:4]
+ lib/platform/win64/signal.h [4:4]
+ lib/sigprocmask.c [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL b8eb228e92142d90c52ac1f532deded9
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1999, 2002-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/vasnprintf.c [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL b957f28d6fe2a6c19bfd1b221880d900
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/msvc-inval.c [2:2]
+ lib/msvc-inval.h [2:2]
+ lib/msvc-nothrow.c [3:3]
+ lib/msvc-nothrow.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL b97536f0f5df238c15d5c12d52ab0c5a
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2000-2003, 2009-2013 Free Software Foundation, Inc.
+ This file is part of the GNU CHARSET Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/localcharset.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL bc024ddbff3d1712047f5138bde3fd38
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2003-2004, 2006-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2003.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/fatal-signal.c [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL bc4e82047bdc4ca05fa4e50667ef5ba0
+BELONGS lib/ya.make
+ License text:
+ /* Copyright (C) 1991, 1994-2002, 2005, 2008-2013 Free Software Foundation,
+ Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/strsignal.c [1:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL bd69d607134ae9156c6d0e83aac20d6c
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1999-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/version-etc.c [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL bff340ef4d002beefef7f8ee38124215
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/closeout.h [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL c0163a2fe88e2703b1880e204238f2ec
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2005-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/glthread/lock.c [2:2]
+ lib/glthread/lock.h [2:2]
+ lib/glthread/threadlib.c [2:2]
+ lib/glthread/tls.c [2:2]
+ lib/platform/win64/sys/stat.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL c25c26483702f7bca157f8f73d5e056f
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1996-1997, 2003, 2005, 2007, 2009-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/filenamecat.h [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL c34e2546d35ccbb2c1f4737dd351e6af
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2001.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/execute.c [2:3]
+ lib/spawn-pipe.c [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL c49923e7a55a963e7a02c2a7f406eef4
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2006, 2011-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2006.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/clean-temp.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL c5b4c3795b41b032298298e3146a344c
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1995-1997, 2003, 2006, 2008-2013 Free Software Foundation,
+ Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/error.h [2:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL cbc68f7f97745cdfbb2786dc61187706
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/c-stack.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL cbdf063c9090fff599e42620773cfc42
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2000-2006, 2008-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/localcharset.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL ce730c13959bb52afcf459694cce2f32
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001, 2003-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2003.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/w32spawn.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL cf9cb97726f6ecb8f34de7433963ef78
+BELONGS ya.make
+ License text:
+ Copyright (C) 1989-1994, 2004-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ src/input.c [3:3]
+ src/m4.c [3:3]
+ src/m4.h [3:3]
+ src/output.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL d00ba1bf4e95526accacbc7f64aeccc8
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001-2003, 2005-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2001.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/platform/win64/sys/wait.h [3:3]
+ lib/progname.c [2:3]
+ lib/wait-process.c [2:3]
+ lib/waitpid.c [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL d2a4dc23c40d2e7ebfda72ac558a7e00
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2000, 2003, 2005-2006, 2009-2013 Free Software Foundation,
+ Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/fpending.h [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL d5cd42bc7f6466d72fb5c45748172a64
+BELONGS ya.make
+ License text:
+ Copyright (C) 1989-1994, 2006-2007, 2009-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ src/eval.c [3:4]
+ src/macro.c [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL d667ff08e8fafd0a2a686f94251f31af
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1990, 1998, 2000-2001, 2003-2006, 2009-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/dirname-lgpl.c [3:4]
+ lib/dirname.c [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL d82bb852333bcf3b61ce6e4e93b89bfc
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1990-2000, 2002-2006, 2008-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/xmalloc.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL da48928a63b26aa3f98c78e8b3df198d
+BELONGS ya.make
+ License text:
+ Copyright (C) 2000, 2006-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ THANKS [140:140]
+
+KEEP COPYRIGHT_SERVICE_LABEL db6dbf9bcaacaf77ea5d31d8bbdd1630
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001-2002, 2007, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/c-strcaseeq.h [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL dbe06cb527798aade152667fb71b0913
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1998-2002, 2004-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/quotearg.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL df97657845f746f885a67c630a3b4b7d
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2007-2008, 2010-2021 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/stdio-impl.h [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL dff9484898bb53af32257afe4f396496
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1999, 2002-2004, 2006, 2009-2013 Free Software Foundation,
+ Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/xasprintf.c [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL e04888e6284b3d292729f957fce5ea5c
+BELONGS lib/ya.make
+ License text:
+ /* Sequential list data type implemented by a hash table with another list.
+ Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2006.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/gl_anyhash_list1.h [1:3]
+ lib/gl_anyhash_list2.h [1:3]
+ lib/gl_anylinked_list1.h [1:3]
+ lib/gl_avltree_oset.h [1:3]
+ lib/gl_linkedhash_list.h [1:3]
+ lib/tempname.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL e329f07beb92d1b098a25208dc86a840
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2003, 2008-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/xsize.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL e3f5708a6f1e8c1584c69be73c82fdbd
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1991-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/tempname.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL e595547844fab779f343fa93a6e559e7
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1998-2001, 2003, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/quote.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL e65fd6e5ba4f2ec80c3b64809d46a5a8
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2002-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/exitfail.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL e74e555b63d2c0888f49c3596fa5e8d5
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1999-2000, 2002-2003, 2006-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/printf-parse.c [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL e88757980644cf5eae50af779a400879
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1998-1999, 2005-2006, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/c-strcasecmp.c [2:2]
+ lib/c-strncasecmp.c [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL e922d0e340952e8a672efb7856e820f9
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2004, 2009-2013 Free Software
+ Foundation, Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/getopt_int.h [2:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL ea529c8bbc5b15ff88bb87fbba92801e
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1988-1994, 1996-2006, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/obstack.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL ece2dc9da1a472caf28566b49eb32168
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1988-1994, 1996-1999, 2003-2006, 2009-2013 Free Software
+ Foundation, Inc.
+ This file is part of the GNU C Library.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/obstack.h [2:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL ee222f77a16d4f3148321625257f15a6
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001-2002, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/tmpdir.h [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL ee86e96aba3e305f890e3242468ea4e9
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/basename-lgpl.c [3:4]
+ lib/basename.c [3:4]
+
+KEEP COPYRIGHT_SERVICE_LABEL f1e942edc857af01ccc1e18f1ed8536d
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001-2003, 2008-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2001.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/execute.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL f54ec8492caaee6122ab97c025085b70
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/pathmax.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL f5b7778e3ba74a945ef4c73b5233e0e6
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2001-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/gettimeofday.c [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL f62c5288c2c96dd652c7da573c17f4b3
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1999, 2002-2003, 2006-2007, 2011-2013 Free Software
+ Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/printf-args.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL fbaaeb67f80365fc3ed5e085bc80881b
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2005-2007, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/mkstemp-safer.c [3:3]
+ lib/stdlib--.h [3:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL fd21bae584d2fc69b2af9ead1d430dea
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 1999, 2003, 2005, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/version-etc.h [2:2]
+
+KEEP COPYRIGHT_SERVICE_LABEL fe2068a4ac32499bd9c90c3059b52a95
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2003-2004, 2009-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2003.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/fatal-signal.h [2:3]
+
+KEEP COPYRIGHT_SERVICE_LABEL fe6f4a2cadd39168e946fc1f97e42e56
+BELONGS ya.make
+ License text:
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ COPYING [4:6]
+
+KEEP COPYRIGHT_SERVICE_LABEL fe8fcc676c3dcc20548fbdd1a0ce99a9
+BELONGS lib/ya.make
+ License text:
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+ Scancode info:
+ Original SPDX id: COPYRIGHT_SERVICE_LABEL
+ Score : 100.00
+ Match type : COPYRIGHT
+ Files with this license:
+ lib/closein.c [3:3]
+ lib/closein.h [3:3]
+ lib/float+.h [2:3]
+ lib/isnanl.c [2:2]
+ lib/printf-frexp.c [2:2]
+ lib/printf-frexp.h [2:2]
+ lib/printf-frexpl.c [2:2]
+ lib/printf-frexpl.h [2:2]
+ lib/xprintf.c [2:2]
diff --git a/contrib/tools/m4/.yandex_meta/devtools.licenses.report b/contrib/tools/m4/.yandex_meta/devtools.licenses.report
new file mode 100644
index 00000000000..885335192cd
--- /dev/null
+++ b/contrib/tools/m4/.yandex_meta/devtools.licenses.report
@@ -0,0 +1,450 @@
+# File format ($ symbol means the beginning of a line):
+#
+# $ # this message
+# $ # =======================
+# $ # comments (all commentaries should starts with some number of spaces and # symbol)
+# $ IGNORE_FILES {file1.ext1} {file2.ext2} - (optional) ignore listed files when generating license macro and credits
+# $ RENAME {original license id} TO {new license id} # user comments - (optional) use {new license id} instead {original license id} in ya.make files
+# $ # user comments
+# $
+# ${action} {license id} {license text hash}
+# $BELONGS ./ya/make/file/relative/path/1/ya.make ./ya/make/2/ya.make
+# ${all_file_action} filename
+# $ # user commentaries (many lines)
+# $ generated description - files with this license, license text... (some number of lines that starts with some number of spaces, do not modify)
+# ${action} {license spdx} {license text hash}
+# $BELONGS ./ya/make/file/relative/path/3/ya.make
+# ${all_file_action} filename
+# $ # user commentaries
+# $ generated description
+# $ ...
+#
+# You can modify action, all_file_action and add commentaries
+# Available actions:
+# keep - keep license in contrib and use in credits
+# skip - skip license
+# remove - remove all files with this license
+# rename - save license text/links into licenses texts file, but not store SPDX into LINCENSE macro. You should store correct license id into devtools.license.spdx.txt file
+#
+# {all file action} records will be generated when license text contains filename that exists on filesystem (in contrib directory)
+# We suppose that that files can contain some license info
+# Available all file actions:
+# FILE_IGNORE - ignore file (do nothing)
+# FILE_INCLUDE - include all file data into licenses text file
+# =======================
+IGNORE_FILES ChangeLog-1998 ChangeLog-2012 NEWS
+
+KEEP GPL-3.0-or-later 1693b04c7e65f9c96100278355221b12
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/fpending.c [5:16]
+ lib/freadahead.c [4:15]
+ lib/stdio-impl.h [4:15]
+
+KEEP GPL-3.0-or-later 35d1da49e32346e7015e3afbe5b31200
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/c-ctype.c [5:16]
+ lib/c-ctype.h [10:21]
+
+KEEP GPL-3.0-or-later 3cd46c6a1211d1fc8d07f721f1554323
+BELONGS ya.make
+ License text:
+ source, you must update the license to be GPLv3 or later.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 16.00
+ Match type : TAG
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ README [42:42]
+
+KEEP GPL-3.0-or-later 3f43560ef83ab8f3e18de24f216342f9
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/asnprintf.c [4:15]
+ lib/gettext.h [5:16]
+ lib/localcharset.c [5:16]
+ lib/localcharset.h [5:16]
+ lib/msvc-inval.c [4:15]
+ lib/msvc-inval.h [4:15]
+ lib/msvc-nothrow.c [5:16]
+ lib/msvc-nothrow.h [5:16]
+ lib/pipe2.c [4:15]
+ lib/printf-args.c [5:16]
+ lib/printf-args.h [5:16]
+ lib/printf-parse.c [4:15]
+ lib/printf-parse.h [5:16]
+ lib/vasnprintf.c [4:15]
+ lib/vasnprintf.h [4:15]
+ lib/vasprintf.c [4:15]
+
+KEEP GPL-3.0-or-later 4ae51eba59eabe09f95132c440dce661
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/regcomp.c [6:18]
+ lib/regex.c [6:18]
+ lib/regex.h [7:19]
+ lib/regex_internal.c [6:18]
+ lib/regex_internal.h [6:18]
+ lib/regexec.c [6:18]
+
+KEEP GPL-3.0-or-later 4c1501e84b9200d3a65db7c65c2a40eb
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/platform/win64/alloca.h [7:19]
+
+KEEP GPL-3.0-only 4fe869ee987a340198fb0d54c55c47f1
+BELONGS ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-only
+ Score : 100.00
+ Match type : TEXT
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, http://www.gnu.org/licenses/gpl-3.0.html, https://spdx.org/licenses/GPL-3.0-only
+ Files with this license:
+ COPYING [1:674]
+
+KEEP GPL-3.0-or-later 5ba7dada0924de4a0806984d740f21db
+BELONGS ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 98.99
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ src/builtin.c [8:19]
+ src/debug.c [8:19]
+ src/eval.c [8:19]
+ src/format.c [7:18]
+ src/freeze.c [7:18]
+ src/input.c [7:18]
+ src/m4.c [7:18]
+ src/m4.h [7:18]
+ src/macro.c [8:19]
+ src/output.c [7:18]
+ src/path.c [8:19]
+ src/symtab.c [8:19]
+
+KEEP GFDL-1.3-or-later 60919ca4d1580be02b2b016156c1e2a2
+BELONGS ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GFDL-1.3-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/fdl-1.3.txt, https://spdx.org/licenses/GFDL-1.3-or-later
+ Files with this license:
+ AUTHORS [37:42]
+ BACKLOG [55:60]
+ README [71:76]
+ THANKS [142:147]
+ TODO [42:47]
+
+KEEP GPL-3.0-or-later 659dd41b50d94dd686004e4d8e78c706
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/c-strcase.h [5:16]
+ lib/c-strcasecmp.c [4:15]
+ lib/c-strncasecmp.c [4:15]
+ lib/float+.h [5:16]
+ lib/gettimeofday.c [5:16]
+ lib/glthread/lock.c [4:15]
+ lib/glthread/lock.h [4:15]
+ lib/glthread/threadlib.c [4:15]
+ lib/malloca.c [5:16]
+ lib/malloca.h [5:16]
+ lib/pathmax.h [5:16]
+ lib/platform/win64/langinfo.h [5:16]
+ lib/platform/win64/sys/stat.h [5:16]
+ lib/platform/win64/sys/time.h [6:17]
+ lib/platform/win64/sys/wait.h [5:16]
+ lib/platform/win64/unistd.h [5:16]
+ lib/waitpid.c [4:15]
+ lib/xsize.h [5:16]
+
+KEEP GPL-3.0-or-later 7c229c32d3d54dacee032f7da11d3dc5
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/basename-lgpl.c [6:17]
+ lib/basename.c [6:17]
+ lib/binary-io.h [4:15]
+ lib/c-stack.c [5:16]
+ lib/c-stack.h [5:16]
+ lib/clean-temp.c [6:17]
+ lib/clean-temp.h [5:16]
+ lib/close-stream.c [5:16]
+ lib/close.c [4:15]
+ lib/closein.c [5:16]
+ lib/closein.h [5:16]
+ lib/closeout.c [6:17]
+ lib/closeout.h [6:17]
+ lib/dirname-lgpl.c [6:17]
+ lib/dirname.c [6:17]
+ lib/dup-safer-flag.c [6:17]
+ lib/dup-safer.c [5:16]
+ lib/dup2.c [5:16]
+ lib/error.c [5:16]
+ lib/error.h [6:17]
+ lib/execute.c [5:16]
+ lib/execute.h [5:16]
+ lib/exitfail.c [5:16]
+ lib/exitfail.h [5:16]
+ lib/fatal-signal.c [5:16]
+ lib/fatal-signal.h [5:16]
+ lib/fclose.c [4:15]
+ lib/fcntl.c [5:16]
+ lib/fcntl.h [6:17]
+ lib/fd-safer-flag.c [6:17]
+ lib/fd-safer.c [5:16]
+ lib/filenamecat-lgpl.c [5:16]
+ lib/filenamecat.c [5:16]
+ lib/filenamecat.h [6:17]
+ lib/fopen-safer.c [5:16]
+ lib/fpucw.h [5:16]
+ lib/freadahead.h [4:15]
+ lib/freading.h [4:15]
+ lib/getdtablesize.c [5:16]
+ lib/getopt.c [9:20]
+ lib/getopt1.c [6:17]
+ lib/getopt_int.h [6:17]
+ lib/gl_anyhash_list1.h [5:16]
+ lib/gl_anyhash_list2.h [5:16]
+ lib/gl_anylinked_list1.h [5:16]
+ lib/gl_anylinked_list2.h [5:16]
+ lib/gl_anytree_oset.h [5:16]
+ lib/gl_avltree_oset.c [5:16]
+ lib/gl_avltree_oset.h [5:16]
+ lib/gl_linkedhash_list.c [5:16]
+ lib/gl_linkedhash_list.h [5:16]
+ lib/gl_list.h [5:16]
+ lib/gl_oset.h [5:16]
+ lib/gl_xlist.h [5:16]
+ lib/gl_xoset.h [5:16]
+ lib/glthread/tls.c [4:15]
+ lib/glthread/tls.h [4:15]
+ lib/ignore-value.h [5:16]
+ lib/isnan.c [4:15]
+ lib/isnand-nolibm.h [4:15]
+ lib/isnanf-nolibm.h [4:15]
+ lib/isnanl-nolibm.h [4:15]
+ lib/isnanl.c [4:15]
+ lib/localeconv.c [4:15]
+ lib/memchr2.h [4:15]
+ lib/mkdtemp.c [5:16]
+ lib/mkstemp-safer.c [5:16]
+ lib/nl_langinfo.c [5:16]
+ lib/obstack.c [5:16]
+ lib/obstack.h [6:17]
+ lib/pipe-safer.c [4:15]
+ lib/pipe2-safer.c [4:15]
+ lib/platform/win64/fcntl.h [6:17]
+ lib/platform/win64/getopt.h [7:18]
+ lib/platform/win64/locale.h [5:16]
+ lib/platform/win64/sched.h [5:16]
+ lib/platform/win64/signal.h [6:17]
+ lib/platform/win64/spawn.h [6:17]
+ lib/printf-frexp.c [4:15]
+ lib/printf-frexp.h [4:15]
+ lib/printf-frexpl.c [4:15]
+ lib/printf-frexpl.h [4:15]
+ lib/progname.c [5:16]
+ lib/progname.h [5:16]
+ lib/quote.h [5:16]
+ lib/quotearg.c [5:16]
+ lib/quotearg.h [6:17]
+ lib/raise.c [5:16]
+ lib/sig-handler.h [5:16]
+ lib/sigaction.c [5:16]
+ lib/siglist.h [5:16]
+ lib/sigprocmask.c [5:16]
+ lib/spawn-pipe.c [5:16]
+ lib/spawn-pipe.h [5:16]
+ lib/stdio--.h [5:16]
+ lib/stdio-safer.h [5:16]
+ lib/stdlib--.h [5:16]
+ lib/stdlib-safer.h [5:16]
+ lib/stripslash.c [6:17]
+ lib/strsignal.c [5:16]
+ lib/tempname.c [5:16]
+ lib/tempname.h [5:16]
+ lib/tmpdir.c [5:16]
+ lib/tmpdir.h [4:15]
+ lib/unistd--.h [5:16]
+ lib/unistd-safer.h [5:16]
+ lib/unlocked-io.h [5:16]
+ lib/verify.h [5:16]
+ lib/verror.c [4:15]
+ lib/verror.h [4:15]
+ lib/version-etc-fsf.c [4:15]
+ lib/version-etc.c [4:15]
+ lib/version-etc.h [4:15]
+ lib/w32spawn.h [5:16]
+ lib/wait-process.c [5:16]
+ lib/wait-process.h [5:16]
+ lib/xalloc-die.c [6:17]
+ lib/xalloc-oversized.h [5:16]
+ lib/xalloc.h [5:16]
+ lib/xasprintf.c [5:16]
+ lib/xmalloc.c [5:16]
+ lib/xmalloca.c [5:16]
+ lib/xmalloca.h [5:16]
+ lib/xprintf.c [4:15]
+ lib/xprintf.h [4:15]
+ lib/xstrndup.c [5:16]
+ lib/xstrndup.h [5:16]
+ lib/xvasprintf.c [4:15]
+ lib/xvasprintf.h [4:15]
+
+KEEP LGPL-2.0-or-later 99de7539428539ca5bda44e3fc08a41c
+BELONGS lib/ya.make
+FILE_INCLUDE lib/filenamecat-lgpl.c found in files: lib/filenamecat.c at line 30
+ License text:
+ /* Just like mfile_name_concat (filenamecat-lgpl.c), except, rather than
+ Scancode info:
+ Original SPDX id: LGPL-2.0-or-later
+ Score : 75.00
+ Match type : REFERENCE
+ Links : http://www.gnu.org/licenses/old-licenses/lgpl-2.0-standalone.html, http://www.gnu.org/licenses/old-licenses/lgpl-2.0.html, https://spdx.org/licenses/LGPL-2.0-or-later
+ Files with this license:
+ lib/filenamecat.c [30:30]
+
+KEEP GPL-3.0-or-later a6532c8141a6e70f23165e25c02c7e03
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/memchr2.c [11:22]
+
+KEEP GPL-3.0-or-later b8b08f6b7c2fc67e871e96840b7f67e8
+BELONGS ya.make
+FILE_INCLUDE COPYING found in files: README at line 37
+ License text:
+ See file `COPYING' for copying conditions. Note that M4 is distributed
+ under the GNU Public License version 3 or later. Some files in the
+ Scancode info:
+ Original SPDX id: GPL-2.0-or-later
+ Score : 14.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html, https://spdx.org/licenses/GPL-2.0-or-later
+ Files with this license:
+ README [37:38]
+
+KEEP GPL-3.0-or-later bd5912a561636d67d8f95a9e34cf5b04
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/c-strcaseeq.h [4:15]
+ lib/fd-hook.c [5:16]
+ lib/fd-hook.h [4:15]
+ lib/secure_getenv.c [5:16]
+
+KEEP GPL-3.0-or-later c3d8c615523b05d13b1f620348206d18
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/fseeko.c [4:15]
+
+KEEP GPL-3.0-or-later c43a3f8af41c78419310d68f52c2a0fd
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/version-etc.c [88:90]
+
+KEEP FSFAP d02cc4799cbd521d2aa8c3ff19e655f6
+BELONGS ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: FSFAP
+ Score : 100.00
+ Match type : TEXT
+ Links : http://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html, https://spdx.org/licenses/FSFAP
+ Files with this license:
+ INSTALL [7:10]
+
+KEEP GPL-3.0-or-later d4567748e68738e056e4352a3e312182
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/cloexec.c [5:16]
+ lib/cloexec.h [5:16]
+ lib/dosname.h [5:16]
+ lib/fpending.h [6:17]
+
+KEEP GPL-3.0-or-later f35abb2e4128ba709bfba3bd5a3e7ce3
+BELONGS lib/ya.make
+ Note: matched license text is too long. Read it in the source files.
+ Scancode info:
+ Original SPDX id: GPL-3.0-or-later
+ Score : 100.00
+ Match type : NOTICE
+ Links : http://www.gnu.org/licenses/gpl-3.0-standalone.html, https://spdx.org/licenses/GPL-3.0-or-later
+ Files with this license:
+ lib/dirname.h [6:17]
diff --git a/contrib/tools/m4/.yandex_meta/licenses.list.txt b/contrib/tools/m4/.yandex_meta/licenses.list.txt
index c0c24001ed2..dbfa4374854 100644
--- a/contrib/tools/m4/.yandex_meta/licenses.list.txt
+++ b/contrib/tools/m4/.yandex_meta/licenses.list.txt
@@ -32,9 +32,1400 @@
====================COPYRIGHT====================
- Copyright (C) 2006-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+====================COPYRIGHT====================
+Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
+Inc.
+
+
+====================COPYRIGHT====================
+Copyright (C) 2000, 2005-2013 Free Software Foundation, Inc.
+
+
+====================COPYRIGHT====================
+Copyright (C) 2000, 2006, 2009-2013 Free Software Foundation, Inc.
+
+
+====================COPYRIGHT====================
+Copyright (C) 2000, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+
+
+====================COPYRIGHT====================
+Copyright (C) 2000, 2006-2013 Free Software Foundation, Inc.
+
+
+====================FSFAP====================
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
+
+
+====================File: COPYING====================
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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 <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+
+
+====================GFDL-1.3-or-later====================
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
+
+====================GPL-3.0-only====================
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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 <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+
====================GPL-3.0-or-later====================
GNU M4 is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -51,15 +1442,9 @@
====================GPL-3.0-or-later====================
-## GNU M4 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.
-##
-## GNU M4 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/>.
+See file `COPYING' for copying conditions. Note that M4 is distributed
+under the GNU Public License version 3 or later. Some files in the
+
+
+====================GPL-3.0-or-later====================
+source, you must update the license to be GPLv3 or later.
diff --git a/contrib/tools/m4/.yandex_meta/override.nix b/contrib/tools/m4/.yandex_meta/override.nix
new file mode 100644
index 00000000000..ab2048da643
--- /dev/null
+++ b/contrib/tools/m4/.yandex_meta/override.nix
@@ -0,0 +1,8 @@
+pkgs: attrs: with pkgs; with attrs; rec {
+ version = "1.4.17";
+
+ src = fetchurl {
+ url = "mirror://gnu/m4/m4-${version}.tar.bz2";
+ sha256 = "sha256-jk4fljkyE27UXc1a+wxuI36Wpvzc0qL6Z1UECFlQDXA=";
+ };
+}
diff --git a/contrib/tools/m4/AUTHORS b/contrib/tools/m4/AUTHORS
new file mode 100644
index 00000000000..c2800095b35
--- /dev/null
+++ b/contrib/tools/m4/AUTHORS
@@ -0,0 +1,42 @@
+Authors of GNU M4.
+
+The following contributors have warranted legal paper exchanges with
+the Free Software Foundation for their contributions to GNU M4. Also
+see the files ChangeLog and THANKS. This list results from searching
+for /\bM4\b/ in the file /gd/gnuorg/copyright.list on the
+fencepost.gnu.org machine.
+
+Rene' Seindal [email protected] 1990-03-28
+James L. Avera [email protected] 1993-10-04
+Pete Chown [email protected] 1994-06-28
+John Gerard Makecki [email protected] 1995-04-24
+Francois Pinard [email protected] 1996-02-01
+Thomas Tanner [email protected] 1999-06-23
+Gary V. Vaughan [email protected] 2000-10-02
+Yuji Minejima ? 2001-05-09
+Akim Demaille [email protected] 2001-11-01
+Andrew James Bettison [email protected] 2001-11-19
+Noah Jeffrey Misch [email protected] 2004-07-05
+Michael Elizabeth Chastain [email protected] 2001-12-27
+William C. Cox [email protected] 2004-12-04
+Alexandre Duret-Lutz [email protected] 2004-12-04
+John Gatewood Ham [email protected] 2005-11-01
+Eric Benjamin Blake [email protected] 2006-01-18
+John Brzustowski [email protected] 2006-03-06
+Ralf Wildenhues [email protected] 2006-03-20
+Markus Duft [email protected] 2006-08-03
+Joel E. Denny [email protected] 2009-08-18
+David Warme [email protected] 2010-03-10
+Raphael Poss [email protected] 2010-10-04
+Tim Rice [email protected] 2011-01-24
+
+========================================================================
+
+Copyright (C) 2000, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/contrib/tools/m4/BACKLOG b/contrib/tools/m4/BACKLOG
new file mode 100644
index 00000000000..9b8973edc18
--- /dev/null
+++ b/contrib/tools/m4/BACKLOG
@@ -0,0 +1,60 @@
+# Summary of pending email for GNU m4 1.4.
+# Last updated: Saturday, November 05, 1994.
+
+rmail/announce
+ 1. 15 Sep 94 <[email protected]> Release: GNU m4 1.3
+ 2. 29 Oct 94 <[email protected]> Prerelease: GNU m4 1.3.1
+
+rmail/changeword
+ 1. 02 Sep 94 <pinard> Re: Prerelease: GNU m4 1.2.3
+ 2. 05 Sep 94 <[email protected]> Re: Prerelease: GNU m4 1.2.3
+
+rmail/configuration
+ 1. 03 Nov 94 <[email protected]> Re: m4 1.3 on DEC OSF/1 3.0
+ 2. 05 Nov 94 <pinard> Re: m4 1.3 on DEC OSF/1 3.0
+
+rmail/documentation
+ 1. 05 Jun 92 <[email protected]> Re: M4
+ 2. 10 Nov 92 <[email protected]> Re: Is anyone using m4?
+ 3. 25 May 94 <[email protected]> Autoconf 1.11: minor bu
+ 4. 27 Jul 94 <[email protected]> Re: 0.95: Spacing details
+ 5. 28 Jul 94 <[email protected]> Re: 0.95: Spacing details
+ 6. 31 Aug 94 <[email protected]> Re: Frozen file documentation to proofread
+
+rmail/floating-point
+ 1. 27 Oct 94 <[email protected]> Re: enhancement to m4 eval()
+ 2. 25 Oct 94 <[email protected]> enhancement to m4
+ 3. 27 Oct 94 <pinard> Re: enhancement to m4
+ 4. 27 Oct 94 <[email protected]> Re: enhancement to m4 eval()
+ 5. 27 Oct 94 <pinard> Re: enhancement to m4 eval()
+ 6. 27 Oct 94 <[email protected]> Re: enhancement to m4 eval()
+ 7. 28 Oct 94 <pinard> Re: enhancement to m4 eval()
+ 8. 28 Oct 94 <pinard> Re: enhancement to m4 eval()
+ 9. 28 Oct 94 <[email protected]> Re: enhancement to m4 eval()
+10. 28 Oct 94 <pinard> Re: enhancement to m4 eval()
+11. 28 Oct 94 <[email protected]> Re: enhancement to m4 eval()
+12. 28 Oct 94 <[email protected]> Re: enhancement to m4 eval()
+13. 28 Oct 94 <[email protected]> Re: enhancement to m4 eval()
+
+rmail/format-rewrite
+ 1. 25 Jun 94 <[email protected]> Re: Prerelease: GNU m4 1.1.3
+
+rmail/named-formals
+ 1. 30 Sep 94 <[email protected]> m4 macros with named formal parameters
+
+rmail/purify
+ 1. 06 Dec 93 <[email protected]> m4 1.1.1 "make realclean"
+
+rmail/speed
+ 1. 29 Aug 94 <pinard> Re: diversions and freezing
+ 2. 05 Sep 94 <[email protected]> slowness
+ 3. 04 Oct 94 <pinard> Autoconf, m4, and dnl's.
+
+Copyright (C) 2000, 2006, 2009-2013 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/contrib/tools/m4/COPYING b/contrib/tools/m4/COPYING
new file mode 100644
index 00000000000..94a9ed024d3
--- /dev/null
+++ b/contrib/tools/m4/COPYING
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ 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 <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/contrib/tools/m4/INSTALL b/contrib/tools/m4/INSTALL
new file mode 100644
index 00000000000..2099840756e
--- /dev/null
+++ b/contrib/tools/m4/INSTALL
@@ -0,0 +1,370 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
+Inc.
+
+ Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved. This file is offered as-is,
+without warranty of any kind.
+
+Basic Installation
+==================
+
+ Briefly, the shell command `./configure && make && make install'
+should configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package. Some packages provide this
+`INSTALL' file but do not implement all of the features documented
+below. The lack of an optional feature in a given package is not
+necessarily a bug. More recommendations for GNU packages can be found
+in *note Makefile Conventions: (standards)Makefile Conventions.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+ The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system.
+
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package, generally using the just-built uninstalled binaries.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation. When installing into a prefix owned by root, it is
+ recommended that the package be configured and built as a regular
+ user, and only the `make install' phase executed with root
+ privileges.
+
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
+ this time using the binaries in their final installed location.
+ This target does not install anything. Running this target as a
+ regular user, particularly if the prior `make install' required
+ root privileges, verifies that the installation completed
+ correctly.
+
+ 6. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+ 7. Often, you can also type `make uninstall' to remove the installed
+ files again. In practice, not all packages have tested that
+ uninstallation works correctly, even though it is required by the
+ GNU Coding Standards.
+
+ 8. Some packages, particularly those that use Automake, provide `make
+ distcheck', which can by used by developers to test that all other
+ targets like `make install' and `make uninstall' work correctly.
+ This target is generally not run by end users.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here
+is an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you can use GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'. This
+is known as a "VPATH" build.
+
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
+Installation Names
+==================
+
+ By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
+absolute file name.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them. In general, the
+default for these options is expressed in terms of `${prefix}', so that
+specifying just `--prefix' will affect all of the other directory
+specifications that were not explicitly provided.
+
+ The most portable way to affect installation locations is to pass the
+correct locations to `configure'; however, many packages provide one or
+both of the following shortcuts of passing variable assignments to the
+`make install' command line to change installation locations without
+having to reconfigure or recompile.
+
+ The first method involves providing an override variable for each
+affected directory. For example, `make install
+prefix=/alternate/directory' will choose an alternate location for all
+directory configuration variables that were expressed in terms of
+`${prefix}'. Any directories that were specified during `configure',
+but not in terms of `${prefix}', must each be overridden at install
+time for the entire installation to be relocated. The approach of
+makefile variable overrides for each directory variable is required by
+the GNU Coding Standards, and ideally causes no recompilation.
+However, some platforms have known limitations with the semantics of
+shared libraries that end up requiring recompilation when using this
+method, particularly noticeable in packages that use GNU Libtool.
+
+ The second method involves providing the `DESTDIR' variable. For
+example, `make install DESTDIR=/alternate/directory' will prepend
+`/alternate/directory' before all installation names. The approach of
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
+does not work on platforms that have drive letters. On the other hand,
+it does better at avoiding recompilation issues, and works well even
+when some directory options were not specified in terms of `${prefix}'
+at `configure' time.
+
+Optional Features
+=================
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+ Some packages offer the ability to configure how verbose the
+execution of `make' will be. For these packages, running `./configure
+--enable-silent-rules' sets the default to minimal output, which can be
+overridden with `make V=1'; while running `./configure
+--disable-silent-rules' sets the default to verbose, which can be
+overridden with `make V=0'.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ HP-UX `make' updates targets which have the same time stamps as
+their prerequisites, which makes it generally unusable when shipped
+generated files such as `configure' are involved. Use GNU `make'
+instead.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
+directory contains several dysfunctional programs; working variants of
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
+in your `PATH', put it _after_ `/usr/bin'.
+
+ On Haiku, software installed for all users goes in `/boot/common',
+not `/usr/local'. It is recommended to use the following options:
+
+ ./configure --prefix=/boot/common
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS
+ KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+ Variables not defined in a site shell script can be set in the
+environment passed to `configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf limitation. Until the limitation is lifted, you can use
+this workaround:
+
+ CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--help'
+`-h'
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
+
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--prefix=DIR'
+ Use DIR as the installation prefix. *note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
diff --git a/contrib/tools/m4/NEWS b/contrib/tools/m4/NEWS
new file mode 100644
index 00000000000..39082b8b685
--- /dev/null
+++ b/contrib/tools/m4/NEWS
@@ -0,0 +1,722 @@
+GNU M4 NEWS - User visible changes.
+
+* Noteworthy changes in release 1.4.17 (2013-09-22) [stable]
+
+** Fix compilation with newer glibc headers.
+
+** Fix a failure with diverting large amounts of text on mingw (does
+ not affect platforms that can rename an open file).
+
+** A number of portability improvements inherited from gnulib.
+
+
+* Noteworthy changes in release 1.4.16 (2011-03-01) [stable]
+
+** Fix regressions in the `index' builtin. On glibc platforms, this
+ avoids false positives from a strstr bug in glibc 2.9 through 2.12;
+ on many other platforms, it fixes two separate regressions, a false
+ positive introduced in 1.4.11 and a false negative in 1.4.15.
+
+** A number of portability improvements inherited from gnulib.
+
+
+* Noteworthy changes in release 1.4.15 (2010-08-31) [stable]
+
+** Fix regression introduced in 1.4.9b where the `format' builtin could
+ crash on an invalid format string.
+
+** Fix compilation against newer glibc, and on AIX 7.1BETA.
+
+** A number of portability improvements inherited from gnulib.
+
+
+* Noteworthy changes in Version 1.4.14 (2010-02-24) [stable]
+ Released by Eric Blake, based on git version 1.4.13.*
+
+** Fix regression introduced in 1.4.12 where executing with stdout closed
+ could crash m4 on exit on some platforms.
+
+** Fix regressions introduced in 1.4.13 in the `esyscmd' builtin, where
+ closed file descriptors could interfere with child execution, and where
+ a child status of 127 made m4 print a spurious message to stderr.
+
+** Fix a security hole in 'make dist', present since at least M4 1.4, that
+ could affect anybody attempting to redistribute modified sources (see
+ Automake CVE-2009-4029).
+
+** A number of portability improvements inherited from gnulib.
+
+* Noteworthy changes in Version 1.4.13 (2009-04-01) [stable]
+ Released by Eric Blake, based on git version 1.4.12.*
+
+** The manual is now distributed under the terms of FDL 1.3.
+
+** The `divert' and `undivert' builtins have been made more efficient
+ when using temporary files for large diversions.
+
+** The `translit' builtin has been made more efficient when the second
+ argument is short.
+
+** The input engine has been optimized for faster processing.
+
+** The command line option `--debugfile', introduced in 1.4.7, now
+ treats its argument as optional, in order to allow setting the debug
+ output back to stderr when used without an argument; and order is now
+ significant with respect to command line files. You must therefore use
+ `m4 --debugfile=trace file', not `m4 file --debugfile trace'. This
+ change does not affect the deprecated `-o'/`--error-output' option.
+
+** The `syscmd' and `esyscmd' builtins can be configured to use an
+ alternate shell, via the new `configure' option `--with-syscmd-shell'.
+
+** A number of portability improvements inherited from gnulib.
+
+* Noteworthy changes in Version 1.4.12 (2008-10-10) [stable]
+ Released by Eric Blake, based on git version 1.4.11.*
+
+** Fix regression introduced in 1.4.4b where using `traceon' could delete
+ a macro. This was most noticeable with `traceon(`traceon')', but
+ would also happen in cases such as `foo(traceon(`foo'))'.
+
+** Fix regression introduced in 1.4.7 where `m4 -N9' died with an assertion
+ failure.
+
+** Fix regression introduced in 1.4.11 where `defn' died with an assertion
+ failure on a traced but undefined macro.
+
+** New `-g'/`--gnu' command-line option overrides `-G'/`--traditional'.
+ For now, the environment variable POSIXLY_CORRECT has no effect on M4
+ behavior; but a future release of M4 will behave as though --traditional
+ is implied if POSIXLY_CORRECT is set (this future change is necessary,
+ because in the current release, there is no way to disable GNU
+ extensions that conflict with POSIX without the use of a non-POSIX
+ command-line argument). Clients of M4 that want to use GNU extensions,
+ even when POSIXLY_CORRECT is set, should start using the -g command-line
+ argument, even though it is currently a no-op if -G did not appear
+ earlier in the command line, so that the client will not break in the
+ face of an upgraded m4 and a POSIXLY_CORRECT execution environment.
+
+** The `-L'/`--nesting-limit' command-line option now defaults to 0 for
+ unlimited on platforms that can detect and deal with stack overflow. On
+ systems that lack alternate stack support, such as Cygwin, and on
+ systems that do not obey the POSIX semantics for distinguishing stack
+ overflow from other exceptions, such as Linux, you can optionally
+ install the libsigsegv library (version 2.6 or newer recommended) to
+ enhance m4's ability to accurately report stack overflow:
+ http://www.gnu.org/software/libsigsegv/
+
+** A number of portability improvements inherited from gnulib.
+
+* Noteworthy changes in Version 1.4.11 (2008-04-02) [stable]
+ Released by Eric Blake, based on git version 1.4.10a
+
+** Security fixes for the -F option, for bugs present since -F was
+ introduced in 1.3: Avoid core dump with 'm4 -F file -t undefined', and
+ avoid arbitrary code execution with certain file names.
+
+** Fix regression introduced in 1.4.9b in the `divert' builtin when more
+ than 512 kibibytes are saved in diversions on platforms like NetBSD
+ or darwin where fopen(name,"a+") seeks to the end of the file.
+
+** The output of the `maketemp' and `mkstemp' builtins is now quoted if a
+ file was created. This is a minor security fix, because it was possible
+ (although rather unlikely) that an unquoted string could match an
+ existing macro name, such that use of the `mkstemp' output would trigger
+ inadvertent macro expansion and operate on the wrong file name.
+
+** Enhance the `defn' builtin to support concatenation of multiple text
+ arguments, as required by POSIX. However, at this time, it is not
+ possible to concatenate a builtin macro with anything else; a warning is
+ now issued if this is attempted, although a future version of M4 may
+ lift this restriction to match other implementations.
+
+** Enhance the `format' builtin to parse all C99 floating point numbers,
+ even on platforms where strtod(3) is buggy, although the replacement
+ function does have the known issue of rounding errors when parsing
+ some decimal floating point values. This fixes testsuite failures
+ introduced in 1.4.9b.
+
+** Enhance the `index' builtin to guarantee linear behavior, in spite of
+ the surprisingly large number of systems with a brain-dead quadratic
+ strstr(3).
+
+** A number of portability improvements inherited from gnulib.
+
+* Noteworthy changes in Version 1.4.10 (2007-07-09) [stable]
+ Released by Eric Blake, based on CVS version 1.4.9c
+
+** Upgrade from GPL version 2 to GPL version 3 or later.
+
+** A number of portability improvements inherited from gnulib.
+
+** Avoid undefined behavior introduced in 1.4.9b in the `format' builtin
+ when handling %c. However, this area of code has never been documented,
+ and currently does not match the POSIX behavior of printf(1), so it may
+ have further changes in the next version.
+
+* Noteworthy changes in Version 1.4.9b (2007-05-29) [beta]
+ Released by Eric Blake, based on CVS version 1.4.9a
+
+** Fix regression introduced in 1.4.9 in the `eval' builtin when performing
+ division.
+
+** Fix regression introduced in 1.4.8 in the `-F' option that made it
+ impossible to freeze more than 512 kibibytes of diverted text.
+
+** The synclines option `-s' no longer generates sync lines in the middle of
+ multiline comments or quoted strings.
+
+** Work around a number of corner-case POSIX compliance bugs in various
+ broken stdio libraries. In particular, the `syscmd' builtin behaves
+ more predictably when stdin is seekable.
+
+** The `format' builtin now understands formats such as %a, %A, and %'hhd,
+ and works around a number of platform printf bugs. Furthermore, the
+ sequence format(%*.*d,-1,-1,1) no longer outputs random data. However,
+ some non-compliant platforms such as mingw still have known bugs in
+ strtod that may cause testsuite failures.
+
+** The testsuite is improved to also run gnulib portability tests for the
+ features that M4 imports from gnulib.
+
+* Noteworthy changes in Version 1.4.9 (2007-03-23) [stable]
+ Released by Eric Blake, based on CVS version 1.4.8c
+
+** Minor documentation and portability cleanups.
+
+* Noteworthy changes in Version 1.4.8b (2007-02-24) [beta]
+ Released by Eric Blake, based on CVS version 1.4.8a
+
+** Fix a regression introduced in 1.4.8 that made m4 unable to process
+ files larger than 2GiB on some platforms.
+
+** Fix a regression introduced in 1.4.8 that made m4 dump core when
+ invoked as 'm4 -- file'.
+
+** The `eval' builtin now follows C precedence rules. Additionally, the
+ short-circuit operators correctly short-circuit division by zero. The
+ previously undocumented alias of '=' meaning '==' in eval now triggers a
+ deprecation warning, so that a future version of M4 can implement a form
+ of variable assignment as an extension.
+
+** The `include' builtin now affects exit status on failure, as required by
+ POSIX. Use `sinclude' if you need a successful exit status.
+
+** The `-E'/`--fatal-warnings' command-line option now has two levels. When
+ specified only once, warnings affect exit status, but execution
+ continues, so that you can see all warnings instead of fixing them one
+ at a time. To achieve 1.4.8 behavior, where the first warning
+ immediately exits, specify -E twice on the command line.
+
+** A new `--warn-macro-sequence' command-line option allows detection of
+ sequences in `define' and `pushdef' definitions that match an optional
+ regular expression. The default regular expression is
+ `\$\({[^}]*}\|[0-9][0-9]+\)', corresponding to the sequences that might
+ not behave correctly when upgrading to the eventual M4 2.0. By default,
+ M4 2.0 will follow the POSIX requirement that a macro definition
+ containing `$11' must expand to the first argument concatenated with 1,
+ rather than the eleventh argument; and will take advantage of the POSIX
+ wording that allows implementations to treat `${11}' as the eleventh
+ argument instead of literal text. Be aware that Autoconf 2.61 will not
+ work with this option enabled with the default regular expression; but
+ Autoconf 2.62 will be compatible with this option.
+
+** Improved portability to platforms such as BSD/OS and AIX.
+
+* Noteworthy changes in Version 1.4.8 (2006-11-20) [stable]
+ Released by Eric Blake, based on CVS version 1.4.7a
+
+** The `divert' macro and `-H'/`--hashsize' command line option no longer
+ cause a core dump when handed extra large values. Also, `divert' now
+ uses memory proportional to the number of diversions in use, rather than
+ to the maximum diversion number encountered, so that large diversion
+ numbers are less likely to exhaust system memory; and is no longer
+ limited by the maximum number of file descriptors.
+
+** The `--help' and `--version' command line options now consistently
+ override all earlier options. For example, `m4 --debugfile=trace
+ --help' now no longer accidentally creates an empty file `trace'.
+
+** The `-L'/`--nesting-limit' command line option can now be set to 0
+ to remove the default limit of 1024. However, it is still possible that
+ heavily nested input can cause abrupt program termination due to stack
+ overflow.
+
+** Problems encountered when writing to standard error, such as with the
+ `errprint' macro, now always cause a non-zero exit status.
+
+** Warnings and errors issued during macro expansion are now consistently
+ reported at the line where the macro name was detected, rather than
+ where the close parenthesis resides. Text wrapped by `m4wrap' now
+ remembers the location that was in effect when m4wrap was invoked,
+ rather than changing to line 0 and the empty string for a file. The
+ macros `__line__' and `__file__' now work correctly even as the last
+ token in an included file.
+
+** The `builtin' and `indir' macros now transparently handle builtin
+ tokens generated by `defn'.
+
+** When diversions created by the `divert' macro collect enough text that
+ M4 must use temporary files, the environment variable $TMPDIR is now
+ consulted, and a better effort is made to clean up those files in the
+ event of a fatal signal.
+
+** The `mkstemp' builtin is added with the same GNU semantics as `maketemp',
+ based on the recommendation of POSIX to deprecate the POSIX semantics of
+ `maketemp' as inherently insecure. In GNU mode (no -G supplied on the
+ command line), `maketemp' silently retains the secure GNU semantics, but
+ a future release of M4 will change this to emit a warning. In
+ traditional mode (m4 -G), `maketemp' now uses the POSIX-mandated
+ insecure semantics, and issues a warning that you should convert your
+ script to use `mkstemp' instead. Additionally, `mkstemp' and `maketemp'
+ are now well-defined even if the template argument does not end in six
+ `X' characters.
+
+** The manual has been improved, including a new section on a composite
+ macro `foreach'.
+
+** The `changecom' and `changequote' macros now treat an empty second
+ argument the same as if it were missing, rather than using the empty
+ string and making it impossible to end a comment or quote.
+
+** The `translit' macro now operates in linear instead of quadratic time,
+ and is now eight-bit clean.
+
+** The `-D', `-U', `-s', and `-t' command line options now take effect
+ after any files encountered earlier on the command line, rather than up
+ front, as is done in traditional implementations and required by POSIX.
+
+* Noteworthy changes in Version 1.4.7 (2006-09-25) [stable]
+ Released by Eric Blake, based on CVS version 1.4.6a
+
+** Fix regression from 1.4.5 in handling a file that ends in a macro
+ expansion without arguments instead of a newline.
+
+** The define and pushdef macros now warn when the first argument is not
+ a string, rather than silently doing nothing.
+
+** Standard input can now be read more than once, as in 'm4 - file -', and
+ is not closed until all wrapped text is handled. This makes a
+ difference when stdin is not a regular file, and also fixes bugs when
+ using the syscmd or esyscmd macros from wrapped text.
+
+** When standard input is a seekable file, the m4exit, syscmd, and esyscmd
+ macros now restore the current position to the next unread byte rather
+ than discarding an arbitrary amount of buffered data.
+
+** SysV command-line compatibility is no longer a goal of GNU M4; the
+ focus will be instead on POSIX compatibility. This release continues to
+ support previous usage, but adds warnings in areas which will allow a
+ future version of GNU M4 to use its own extensions without being tied to
+ the SysV command line interface.
+
+** The no-op compatibility command line options -B, -N, -S, -T, and
+ --diversions may be withdrawn or assigned new meanings in future
+ releases, so they now issue a warning if used.
+
+** A new command line option -i replaces the compatibility -e as the
+ short spelling of --interactive, for consistency with other GNU tools; a
+ warning is issued if the old spelling is used, and it may be assigned
+ new meaning in future releases.
+
+** A new command line option --debugfile replaces the options -o and
+ --error-output as the preferred spelling. The old options were
+ misleading in their names and inconsistent with other GNU tools; they
+ are still silently accepted, but no longer documented in --help, and may
+ be assigned new meanings in future releases.
+
+* Noteworthy changes in Version 1.4.6 (2006-08-25) [stable]
+ Released by Eric Blake, based on CVS version 1.4.5a
+
+** Fix buffer overruns in regexp and patsubst macros when handed a trailing
+ backslash in the replacement text, or when handling \n substitutions
+ beyond the number of \(\) groups.
+
+** Fix memory leak in regexp, patsubst, and changeword macros.
+
+** The format macro now understands %F, %g, and %G.
+
+** When loading frozen files, m4 now exits with status 63 if version
+ mismatch is detected.
+
+** Fix bugs that occurred when invoked with stdout or stderr closed,
+ and detect write failures to stdout or to the target of the debugfile
+ macro. In particular, the syscmd and esyscmd macros can no longer
+ interfere with the debug stream or diversions.
+
+** The m4exit macro now converts values outside the range 0-255 to 1.
+
+** It is now an error if a command-line input file ends in the middle of a
+ comment, matching the behavior of mid-string and mid-argument
+ collection.
+
+** The dnl macro now warns if end of file is encountered instead of a
+ newline.
+
+** The error message when end of file is encountered now uses the file and
+ line where the dangling construct started, rather than `NONE:0:'.
+
+** The debugmode and __file__ macros, and the -s/--synclines option, now
+ show what directory a file was found in when the -I/--include option or
+ M4PATH variable had an effect.
+
+** The changequote and changecom macros now work with 8-bit characters, and
+ quotes and comments that begin with `(' are properly recognized
+ following a word.
+
+** The new macro __program__ is added, which allows the input file to issue
+ an error message that resembles messages from m4. Warning and error
+ messages have been reformatted to comply with GNU Coding Standards.
+
+** The errprint, m4wrap, and shift macros are now recognized only with
+ arguments.
+
+** The index, substr, translit, regexp, and patsubst macros now produce
+ output when given only one argument, but still warn about a missing
+ second argument.
+
+** The patsubst macro now reliably finds zero-length matches at the end
+ of a string.
+
+* Noteworthy changes in Version 1.4.5 (2006-07-15) [stable]
+ Released by Eric Blake, based on CVS version 1.4.4c
+
+** Fix sysval on BeOS, OS/2, and other systems that store exit status
+ in the low-order byte. Additionally, on Unix platforms, if syscmd was
+ terminated by a signal, sysval now displays the signal number shifted
+ left by eight bits, to match traditional m4 implementations.
+
+** The maketemp macro is no longer subject to platform limitations (such as
+ 26 or 32 max files from a given template).
+
+** Frozen files now require that the first directive be V (version), to
+ better diagnose version mismatch. Additionally, if the F directive
+ (builtin function) names an unknown builtin that existed in the m4 that
+ froze the file but not in the current m4 (for example, changeword), the
+ warning is deferred until an attempt is made to actually use the
+ builtin. This allows downgrading from beta m4-1.4o to stable m4-1.4.5
+ without breaking autoconf.
+
+** The format and indir macros are now recognized only with arguments.
+
+** The eval macro no longer crashes on x86 architectures when dividing the
+ minimum integer by -1.
+
+** On systems with ecvt and fcvt, format no longer truncates trailing
+ zeroes on integers printed with %.0f. On systems without these
+ functions, format is no longer subject to a buffer overflow that
+ permitted arbitrary code execution.
+
+** On native Windows builds, the macro __windows__ is provided instead of
+ __unix__. Likewise, on OS/2 builds, the macro __os2__ is provided.
+ This allows input files to determine when syscmd might behave
+ differently.
+
+** Fix bug in 1.4.3 patch to use \n line-endings that did not work for
+ cygwin.
+
+** When given the empty string or 0, undivert is now documented as a no-op
+ rather than closing stdout, warning about a non-existent file, or trying
+ to read a directory as a file.
+
+** Many documentation improvements. Also, the manual is now distributed
+ under FDL 1.2, rather than a stricter verbatim-only license.
+
+** Raise the -L (--nesting-limit) command line option limit from 250 to
+ 1024.
+
+** The decr, incr, divert, m4exit, and substr macros treat an empty number
+ as 0, issue a warning, and expand as normal; rather than issuing an
+ error and expanding to the empty string.
+
+** The eval macro now treats an empty radix argument as 10, handles radix 1,
+ and treats the width argument as number of digits excluding the sign,
+ for compatibility with other m4 implementations.
+
+** The ifdef, divert, m4exit, substr, and translit macros now correctly
+ ignore extra arguments.
+
+** The popdef and undefine macros now correctly accept multiple arguments.
+
+** Although changeword is on its last leg, if enabled, it now reverts to the
+ default (faster) regexp when passed the empty string.
+
+** The regexp and substr macros now warn and ignore a trailing backslash in
+ the replacement, and warn on \n for n larger than the number of
+ sub-expressions in the regexp.
+
+* Noteworthy changes in Version 1.4.4b (2006-06-17) [beta]
+ Released by Eric Blake, based on CVS version 1.4.4a
+
+** Fix a recursive push_string crashing bug, which affected changequote of
+ three or more characters on some compilers.
+
+** Use automake to fix build portability issues.
+
+** Fix a recursive m4wrap crashing bug.
+
+** Fix a 1 in 2**32 hash crashing bug.
+
+** Tracing a macro by name is now persistent, even if the macro is
+ subsequently undefined or redefined. The traceon and traceoff macros no
+ longer warn about undefined symbols. This solves a crash when using
+ indir on an undefined macro traced with the -t option, as well as an
+ incorrect result of ifdef. Furthermore, tracing is no longer
+ transferred with builtins, solving the bug of "m4 -tm4_eval" failing to
+ give trace output on the input
+ "define(`m4_eval',defn(`eval'))m4_eval(1)".
+
+** Fix a crash when a macro is undefined while collecting its arguments, by
+ always using the definition that was in effect before argument
+ collection. This behavior matches the C pre-processor, and means that
+ the sequence "define(`f',`1')f(define(`f',`2'))f" is now documented to
+ result in "12", rather than the previously undocumented "22".
+
+** Update the regex engine to fix several bugs.
+
+** Fix a potential crash on machines where char is signed.
+
+* Noteworthy changes in Version 1.4.4 (Oct 2005) [stable]
+ Released by Gary V. Vaughan
+
+** ./configure --infodir=/usr/share/info now works correctly.
+
+** When any file named on the command line is missing exit with status 1.
+
+* Noteworthy changes in Version 1.4.3 (Mar 2005) [stable]
+ Released by Gary V. Vaughan
+
+** DESTDIR installs now work correctly.
+
+** Don't segfault with uncompilable regexps to changeword().
+
+** Always use \n line-endings for frozen files (fixes a Windows bug).
+
+** Portability fix for systems lacking mkstemp(3).
+
+** Approximately 20% speed up in the common case of usage with autoconf.
+
+** Supported on QNX 6.3.
+
+* Noteworthy changes in Version 1.4.2 (Aug 2004) [stable]
+ Released by Paul Eggert
+
+** No user visible changes; portability bug fixes only.
+
+* Noteworthy changes in Version 1.4.1 (Jun 2004) [stable]
+ Released by Paul Eggert
+
+** maketemp now creates an empty file with the given name, instead of merely
+ returning the name of a nonexistent file. This closes a security hole.
+
+* Noteworthy changes in Version 1.4 (Oct 1994) [stable]
+ Released by Franc,ois Pinard
+
+** (No user visible changes)
+
+
+Version 1.3 - September 1994, by Franc,ois Pinard
+
+* Diversions are created as needed. Option `-N' is still accepted, but
+otherwise ignored. Users should use only negative diversion numbers,
+instead of high positive numbers, for diverting to nowhere.
+
+* Diversions should also work faster. No temporary files will be needed
+at all if all diversions taken altogether do not use more than 512K.
+
+* Frozen state files may be produced with the `--freeze-state' (-F)
+option and later brought back through the `--reload-state' (-R) option.
+
+Version 1.2 - July 1994, by Franc,ois Pinard
+
+* In patsubst(STRING, REGEXP, REPLACEMENT), \& in REPLACEMENT has been
+changed to represent this part of STRING matched by the whole REGEXP,
+instead of the whole STRING as before. \0 does the same, but emits a
+diagnostic saying it will disappear in some subsequent release.
+
+* eval(EXPR) emits a diagnostic if EXPR has suffixed crumb. The same for
+other numeric conversions in incr(), decr(), divert(), etc.
+
+* `--fatal-warnings' (-E) stops execution at first warning.
+
+* `--nesting-limit=LEVEL' (-L LEVEL) sets a limit to macro nesting.
+It is initially fixed at 250.
+
+* `--word-regexp=REGEXP' (-W REGEXP) modifies macro name syntax, like
+does the new `changeword(REGEXP)' macro. This feature is experimental,
+tell me your opinions about it. You do need --enable-changeword at
+configure time to get these things. Do *not* depend on them yet.
+
+* Trace output format is scannable by GNU Emacs' next-error function.
+
+* Stack overflow is detected and diagnosed on some capable systems.
+
+* Various bugs have been corrected, m4 should be more portable. See the
+ChangeLog for details.
+
+Version 1.1 - November 1993, by Franc,ois Pinard
+
+Changes which might affect existing GNU m4 scripts:
+
+* Option `-V' has been removed, use `--version' instead. `--version'
+writes on standard output instead of standard error, and inhibits any
+script execution.
+
+* `--no-gnu-extensions' has been renamed `--traditional'.
+
+* In `eval', `^' used to indicate exponentiation, use `**' instead.
+
+* The automatic undiversion which takes place at end of all input is
+forced into the main output stream.
+
+Changes which are unlikely to affect existing scripts:
+
+* `--help' prints an usage summary on standard output. Script execution
+is then inhibited.
+
+* `--prefix-builtins' (-P) prefixes all builtin macros by `m4_'.
+
+* Most builtin macros for which arguments are mandatory, called without
+any arguments, are no more recognized as builtin macros: they are
+consequently copied verbatim to the output stream.
+
+* `define' and `pushdef' are usable with only one argument, they give
+this argument an empty definition.
+
+* `eval' new operators for binary representation handling: `^' for
+exclusive-or, `~' for the bitwise negation, `<<' and `>>' for shifts.
+
+* `eval' recognizes the notation 0bDIGITS for binary numbers and the
+notation 0rRADIX:DIGITS for numbers in any radix from 1 to 36.
+
+Version 1.0.3 - December 1992, by Franc,ois Pinard
+
+Changes for the user:
+
+* `dnl' outputs a diagnostic if immediately followed by `('. Usually,
+`dnl' is followed by newline or whitespace.
+
+* `ifelse' accepts without complaining the common idiom of having only
+one argument. This is useful for introducing long comments.
+
+* `eval' always expresses values as signed, whatever the radix.
+
+* M4OPTS environment variable is no longer obeyed.
+
+* `--no-warnings' option is renamed `--silent'.
+
+* Debug lines use a new format more compatible with GNU standards.
+
+* Various bugs have been corrected. See the ChangeLog for details.
+
+Changes for the installer:
+
+* GNU m4 now uses an Autoconf-generated configure script, and should be
+more easily portable in many ways. (Cray is not supported yet).
+
+* `make check' has been made more portable, expect no errors.
+
+Changes for the programmer:
+
+* Sources have been fully reindented to comply with GNU standards, and
+cleaned up in many ways.
+
+* Sources have been protoized. Non-ANSI compilers are automatically
+detected, then sources are unprotoized on the fly before compilation.
+
+* GNU m4 uses newer versions of obstack, regex, getopt, etc.
+
+Version 1.0 - October 1991, by Rene' Seindal
+
+* Uses GNU configure, taken from the gdb distribution.
+
+* Uses GNU getopt(), with long option names.
+
+* The -Q/+quiet option is added, which suppresses warnings about missing
+or superflous arguments to built-in macros.
+
+* Added default options via the M4OPTS environment variable.
+
+* Several minor bugs have been fixed.
+
+Version 0.99 - July 1991, by Rene' Seindal
+
+* The builtins `incr' and `decr' are now implemented without use of
+`eval'.
+
+* The builtin `indir' is added, to allow for indirect macro calls
+(allows use of "illegal" macro names).
+
+* The debugging and tracing facilities has been enhanced considerably.
+See the manual for details.
+
+* The -tMACRO option is added, marks MACRO for tracing as soon as it
+is defined.
+
+* Builtins are traced after renaming iff they were before.
+
+* Named files can now be undiverted.
+
+* The -Nnum option can be used to increase the number of divertions
+available.
+
+* Calling changecom without arguments now disables all comment handling.
+
+* A bug in `dnl' is fixed.
+
+* A bug in the multi-character quoting code is fixed.
+
+* Several typos in the manual has been corrected. More probably persist.
+
+Version 0.75 - November 1990, by Rene' Seindal
+
+* Implemented search path for include files (-I option and M4PATH
+environment variable).
+
+* Implemented builtin `format' for printf-like formatting.
+
+* Implemented builtin `regexp' for searching for regular expressions.
+
+* Implemented builtin `patsubst' for substitution with regular
+expressions.
+
+* Implemented builtin `esyscmd', which expands to a shell commands output.
+
+* Implemented `__file__' and `__line__' for use in error messages.
+
+* Implemented character ranges in `translit'.
+
+* Implemented control over debugging output.
+
+* Implemented multi-character quotes.
+
+* Implemented multi-character comment delimiters.
+
+* Changed predefined macro `gnu' to `__gnu__'.
+
+* Changed predefined macro `unix' to `__unix__', when the -G option is
+not used. With -G, `unix' is still defined.
+
+* Added program name to error messages.
+
+* Fixed two missing null bytes bugs.
+
+Version 0.50 - January 1990, by Rene' Seindal
+
+* Initial beta release.
+
+========================================================================
+
+Local Variables:
+mode: outline
+fill-column: 75
+End:
+
+Copyright (C) 1992-1994, 2004-2013 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/contrib/tools/m4/README b/contrib/tools/m4/README
new file mode 100644
index 00000000000..ed940588c0b
--- /dev/null
+++ b/contrib/tools/m4/README
@@ -0,0 +1,76 @@
+GNU `m4' is an implementation of the traditional Unix macro
+processor. It is mostly SVR4 compatible, although it has some
+extensions (for example, handling more than 9 positional parameters
+to macros). `m4' also has built-in functions for including files,
+running shell commands, doing arithmetic, etc. Autoconf needs GNU
+`m4' for generating `configure' scripts, but not for running them.
+
+GNU `m4' was originally written by Rene' Seindal, from Denmark.
+This release is considered stable.
+
+If GNU `m4' is meant to serve GNU `autoconf', beware that `m4'
+should be fully installed *prior to* configuring `autoconf' itself.
+Likewise, if you intend on hacking GNU `m4' from git, the bootstrap
+process requires that you first install a released copy of GNU `m4'.
+
+If you are just trying to build `m4' from a released tarball, you
+should not normally need to run `./bootstrap' or `autoreconf'; just go
+ahead and start with `./configure'. If you are trying to build `m4'
+from git, more information can be found in the version-control-only
+file HACKING.
+
+M4 has an optional dependency on the libsigsegv library:
+ http://www.gnu.org/software/libsigsegv/
+If the library has not been installed in the standard location, you
+can use `./configure --with-libsigsegv-prefix=/path/to/dir', to make
+the build of `m4' use /path/to/dir/include/sigsegv.h as appropriate.
+The use of this library is optional; the only difference in having it
+available is that it increases the number of platforms where `m4' can
+correctly distinguish stack overflow from an internal bug. It is
+recommended that you use version 2.9 or newer.
+
+In the subdirectory `examples' you will find various m4 files, ranging
+from trivial test files to rather advanced macros. If you intend to
+use m4 seriously, you might find useful material down there.
+
+See file `BACKLOG' for a summary of pending mail and articles.
+See file `COPYING' for copying conditions. Note that M4 is distributed
+under the GNU Public License version 3 or later. Some files in the
+distribution are copied from the gnulib project, and hence bear the
+designation version 2 or later because they are unmodified from gnulib;
+however, if you modify these files using M4 rather than gnulib as the
+source, you must update the license to be GPLv3 or later.
+See file `INSTALL' for compilation and installation instructions.
+See file `NEWS' for a list of major changes in the current release.
+See file `THANKS' for a list of contributors.
+
+By default, the `syscmd' and `esyscmd' macros try to use the first
+instance of `sh' found by `command -p getconf PATH' at configure time,
+with a default of `/bin/sh'. If that default is inappropriate, you
+can use `./configure --with-syscmd-shell=location' to specify the
+shell to use.
+
+By using `./configure --enable-changeword', you get an experimental
+feature which allows for changing the syntax of what is a "word" in
+`m4'. This feature will not be present in m4 2.0, but will be
+replaced by other new features which provide similar capability, so
+do not count on it.
+
+Send bug reports to `[email protected]'. A bug report is an adequate
+description of the problem: your input, what you expected, what you got,
+and why this is wrong. Diffs are welcome, but they only describe a
+solution, from which the problem might be uneasy to infer.
+
+For any copyright year range specified as YYYY-ZZZZ in this package
+note that the range specifies every single year in that closed interval.
+
+========================================================================
+
+Copyright (C) 2000, 2005-2013 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/contrib/tools/m4/THANKS b/contrib/tools/m4/THANKS
new file mode 100644
index 00000000000..71bfaf3f21d
--- /dev/null
+++ b/contrib/tools/m4/THANKS
@@ -0,0 +1,147 @@
+GNU M4 THANKS file
+
+GNU M4 was originally written by René Seindal. Many people
+further contributed to GNU M4 by reporting problems, suggesting
+various improvements or submitting actual code. Here is a list of
+these people. Help me keep it complete and exempt of errors.
+
+Akiko Matsushita [email protected]
+Akim Demaille [email protected]
+Alan Magnuson [email protected]
+Albert Chin [email protected]
+Alexander Lehmann [email protected]
+Amos Shapira [email protected]
+Andreas Büning [email protected]
+Andreas Gustafsson [email protected]
+Andreas Schultz [email protected]
+Andreas Schwab [email protected]
+Assar Westerlund [email protected]
+Ben A. Mesander [email protected]
+Bengt Mertensson [email protected]
+Bernhard Daeubler [email protected]
+Bjorn R. Bjornsson [email protected]
+Bob Badour [email protected]
+Bob Proulx [email protected]
+Brendan Kehoe [email protected]
+Bruno Haible [email protected]
+Carlo Teubner [email protected]
+Cesar Strauss [email protected]
+Chris McGuire [email protected]
+Chris Penev [email protected]
+Damian Menscher [email protected]
+Dan Jacobson [email protected]
+David J. MacKenzie [email protected]
+David Perlin [email protected]
+Elbert Pol [email protected]
+Elias Benali [email protected]
+Erez Zadok [email protected]
+Eric Allman [email protected]
+Eric Backus [email protected]
+Eric Blake [email protected]
+Fernando Carrijo [email protected]
+François Pinard [email protected]
+Frank Schwidom [email protected]
+Gary V. Vaughan [email protected]
+Geoff Russell [email protected]
+Giovanni Toffetti [email protected]
+Giuseppe Scrivano [email protected]
+Greg A. Woods [email protected]
+Hal Peterson [email protected]
+Hoang Uong [email protected]
+Ian Taylor [email protected]
+Ilya N. Golubev [email protected]
+Jason Merrill [email protected]
+Jean-Charles Longuet [email protected]
+Jens Rehsack [email protected]
+Jim Kingdom [email protected]
+Jim Meyering [email protected]
+Joel E. Denny [email protected]
+Joel Sherrill [email protected]
+John Brzustowski [email protected]
+John David Anglin [email protected]
+John Gatewood Ham [email protected]
+Josef T. Burger [email protected]
+Joseph E. Sacco [email protected]
+Karl Berry [email protected]
+Karl Nelson [email protected]
+Karl Vogel [email protected]
+Kaveh R. Ghazi [email protected]
+Konrad Schwarz [email protected]
+Kristine Lund [email protected]
+Krste Asanovic [email protected]
+Lawson Chan [email protected]
+Marion Hakanson [email protected]
+Mark Seiden [email protected]
+Martin Koeppe [email protected]
+Matt Kraai [email protected]
+Matthew Woehlke [email protected]
+Matthias Rabe [email protected]
+Michael Fetterman [email protected]
+Michael L. Welcome [email protected]
+Mike Dupont [email protected]
+Mike Frysinger [email protected]
+Mike Lijewski [email protected]
+Mike Stump [email protected]
+Mikhail Teterin [email protected]
+Nelson H. F. Beebe [email protected]
+Nick S. Kanakakorn [email protected]
+Nicolas Lichtmaier [email protected]
+Nicolas Pioch [email protected]
+Noah Friedman [email protected]
+Noah Misch [email protected]
+Paolo Bonzini [email protected]
+Paul Eggert [email protected]
+Pete Chown [email protected]
+Pierre Gaumond [email protected]
+Pierre Mathieu [email protected]
+Rainer Tammer [email protected]
+Ralf Wildenhues [email protected]
+René Seindal [email protected]
+Richard A Nelson [email protected]
+Richard Stallman [email protected]
+Robert Bernstein [email protected]
+Robert Bihlmeyer [email protected]
+Roland H. Pesch [email protected]
+Roland McGrath [email protected]
+Ronny Peine [email protected]
+Sami Liedes [email protected]
+Santiago Vila [email protected]
+Scott Bartram deneb!scottb
+Scott McCreary [email protected]
+Sergey Poznyakoff [email protected]
+Simon Leinen [email protected]
+Skip Montanaro [email protected]
+Stepan Kasal [email protected]
+Stephen Perkins [email protected]
+Steve Williamson [email protected]
+Steven Augart [email protected]
+Thomas Klausner [email protected]
+Thorsten Ohl [email protected]
+Todd Rinaldo [email protected]
+Tom G. Christensen [email protected]
+Tom McConnell [email protected]
+Tom Tromey [email protected]
+Ulrich Drepper [email protected]
+Vern Paxson [email protected]
+Vincent Lonngren [email protected]
+Vivek P. Singhal [email protected]
+Walter Wong [email protected]
+
+========================================================================
+
+Local Variables:
+coding: utf-8
+End:
+
+Copyright (C) 2000, 2006-2013 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/contrib/tools/m4/TODO b/contrib/tools/m4/TODO
new file mode 100644
index 00000000000..0b1d6f60329
--- /dev/null
+++ b/contrib/tools/m4/TODO
@@ -0,0 +1,47 @@
+TODO file for GNU m4
+
+Tell <[email protected]> if you feel like volunteering for any
+of these ideas, listed more or less in decreasing order of priority.
+
+* Features or problems
+ - Fix format() builtin to handle %c more like printf(1) in the shell
+ http://lists.gnu.org/archive/html/bug-m4/2007-05/msg00047.html
+ Also, gnulib needs help to overcome mingw bugs related to format().
+ - Update documentation from accumulated mail about it
+ - Study synclines at the very beginning of each diverted sequence
+ - Make eval work on bignums - the 32 bits limit is artificial
+ From Krste Asanovic <[email protected]>, 1993-03-20
+
+* Optimization and clean up
+ - Check for memory leaks and uninitialized reads
+ From Vern Paxson <[email protected]> on 1993-12-06
+ - Profile GNU m4 and speed it up
+ From David J. MacKenzie <[email protected]>, 1993-01-20
+
+ GNU m4 should be sped up by a factor of three for competing
+ with other versions (I think that the lexer is not agressive
+ enough and too often return single characters; obstacks might
+ be a little abused, too).
+ - Have NULs go really undisturbed through GNU m4
+ See `dumpdef' and debugging section, which abuses %s
+ From Thorsten Ohl <[email protected]>, 1992-12-21
+
+ path.c (add_include_directory): Why the '\0' terminator?
+
+ GNU m4 is lousy regarding NULs in streams (this would require
+ maintaining the string lengths, and avoiding strlen, strcpy,
+ etc.).
+
+Local Variables:
+mode: outline
+outline-regexp: " *[-+*.] \\| "
+End:
+
+Copyright (C) 2000, 2006-2007, 2009-2013 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document
+under the terms of the GNU Free Documentation License, Version 1.3 or
+any later version published by the Free Software Foundation; with no
+Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
+Texts. A copy of the license is included in the ``GNU Free
+Documentation License'' file as part of this distribution.
diff --git a/contrib/tools/m4/lib/.yandex_meta/licenses.list.txt b/contrib/tools/m4/lib/.yandex_meta/licenses.list.txt
index 8d30fca783c..d0b80967aec 100644
--- a/contrib/tools/m4/lib/.yandex_meta/licenses.list.txt
+++ b/contrib/tools/m4/lib/.yandex_meta/licenses.list.txt
@@ -1,30 +1,3 @@
-====================BSD-3-Clause====================
-// Redistribution and use in source and binary forms, with or without
-// modification, are permitted provided that the following conditions are met:
-//
-// 1. Redistributions of source code must retain the above copyright notice,
-// this list of conditions and the following disclaimer.
-//
-// 2. Redistributions in binary form must reproduce the above copyright
-// notice, this list of conditions and the following disclaimer in the
-// documentation and/or other materials provided with the distribution.
-//
-// 3. Neither the name of the product nor the names of its contributors may
-// be used to endorse or promote products derived from this software
-// without specific prior written permission.
-//
-// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
-// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
-// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-
====================COPYRIGHT====================
Copyright (C) 1998, 2001, 2003-2006, 2009-2013 Free Software Foundation,
Inc.
@@ -49,11 +22,6 @@
====================COPYRIGHT====================
- Copyright (C) 1988, 1990, 1999, 2003-2006, 2009-2013 Free Software
- Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 1988-1994, 1996-1999, 2003-2006, 2009-2013 Free Software
Foundation, Inc.
This file is part of the GNU C Library.
@@ -81,16 +49,6 @@
====================COPYRIGHT====================
- Copyright (C) 1990, 1998-1999, 2001-2002, 2004-2005, 2009-2013 Free Software
- Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 1990, 1998-1999, 2001-2007, 2009-2013 Free Software
- Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 1990, 1998-2001, 2003-2006, 2009-2013 Free Software
Foundation, Inc.
@@ -118,20 +76,10 @@
====================COPYRIGHT====================
- Copyright (C) 1991-1992, 1994-1999, 2003, 2005-2007, 2009-2013 Free Software
- Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 1991-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
- Copyright (C) 1992, 1995, 1997-1998, 2006, 2009-2013 Free Software
- Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2013 Free Software
Foundation, Inc.
@@ -163,11 +111,6 @@
====================COPYRIGHT====================
- Copyright (C) 1996-1998, 2001-2003, 2005-2007, 2009-2013 Free Software
- Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 1996-1999, 2008-2013 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -177,47 +120,16 @@
====================COPYRIGHT====================
- Copyright (C) 1996-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
-
-====================COPYRIGHT====================
- Copyright (C) 1997, 2000, 2002, 2004, 2006, 2009-2013 Free Software
- Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Jean-François Bignolles <[email protected]>, 1997.
-
-
-====================COPYRIGHT====================
- Copyright (C) 1997, 2003-2004, 2006-2007, 2009-2013 Free Software
- Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 1997-1998, 2006-2007, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 1997-2000, 2002-2004, 2006, 2009-2013 Free Software
Foundation, Inc.
====================COPYRIGHT====================
- Copyright (C) 1997-2006, 2008-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 1998, 2000, 2003-2004, 2006, 2008-2013 Free Software
Foundation, Inc.
====================COPYRIGHT====================
- Copyright (C) 1998-1999, 2001, 2003, 2009-2013 Free Software Foundation,
- Inc.
- Written by Jim Meyering <[email protected]>, 1998.
-
-
-====================COPYRIGHT====================
Copyright (C) 1998-1999, 2005-2006, 2009-2013 Free Software Foundation, Inc.
@@ -239,10 +151,6 @@
====================COPYRIGHT====================
- Copyright (C) 1998-2004, 2006-2007, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 1999, 2002, 2006, 2009-2013 Free Software Foundation, Inc.
@@ -291,18 +199,7 @@
====================COPYRIGHT====================
- Copyright (C) 1999-2002, 2005-2013 Free Software Foundation, Inc.
- Written by Bruno Haible <[email protected]>, 2008.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2000, 2002, 2004, 2006, 2009-2013 Free Software
- Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2000, 2002, 2004, 2009-2013 Free Software Foundation,
- Inc.
+ Copyright (C) 1999-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
@@ -316,15 +213,11 @@
====================COPYRIGHT====================
- Copyright (C) 2000, 2004, 2006-2007, 2009-2013 Free Software Foundation,
+ Copyright (C) 2000, 2004, 2006-2007, 2009-2021 Free Software Foundation,
Inc.
====================COPYRIGHT====================
- Copyright (C) 2000, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2000-2001, 2004-2006, 2009-2013 Free Software Foundation, Inc.
@@ -338,22 +231,10 @@
====================COPYRIGHT====================
- Copyright (C) 2000-2004, 2007, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2000-2006, 2008-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
- Copyright (C) 2000-2007, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2000-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2001, 2003, 2005, 2008-2013 Free Software Foundation, Inc.
@@ -381,31 +262,6 @@
====================COPYRIGHT====================
- Copyright (C) 2001-2002, 2004, 2006, 2009-2013 Free Software
- Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2001-2002, 2004-2006, 2009-2013 Free Software
- Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2001-2002, 2005, 2007, 2009-2013 Free Software Foundation,
- Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2001-2002, 2005-2007, 2009-2013 Free Software Foundation, Inc.
- Written by Bruno Haible <[email protected]>, 2002.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2001-2002, 2006-2013 Free Software Foundation, Inc.
- Written by Bruno Haible <[email protected]>, 2002.
-
-
-====================COPYRIGHT====================
Copyright (C) 2001-2002, 2007, 2009-2013 Free Software Foundation, Inc.
@@ -414,15 +270,12 @@
====================COPYRIGHT====================
- Copyright (C) 2001-2003, 2005-2006, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2001-2003, 2005-2007, 2009-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
Copyright (C) 2001-2003, 2005-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2001.
====================COPYRIGHT====================
@@ -431,10 +284,6 @@
====================COPYRIGHT====================
- Copyright (C) 2001-2003, 2006-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2001-2003, 2008-2013 Free Software Foundation, Inc.
Written by Bruno Haible <[email protected]>, 2001.
@@ -446,10 +295,7 @@
====================COPYRIGHT====================
Copyright (C) 2001-2004, 2006-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2001-2004, 2007-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2001.
====================COPYRIGHT====================
@@ -457,10 +303,6 @@
====================COPYRIGHT====================
- Copyright (C) 2001-2005, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2002, 2004, 2006, 2008-2013 Free Software Foundation, Inc.
@@ -469,22 +311,6 @@
====================COPYRIGHT====================
- Copyright (C) 2002, 2004, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2002, 2005-2006, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2002, 2006, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2002, 2007, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2002, 2009-2013 Free Software Foundation, Inc.
@@ -497,20 +323,6 @@
====================COPYRIGHT====================
- Copyright (C) 2002-2003, 2006, 2009-2013 Free Software Foundation,
- Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2002-2003, 2007-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2002-2004, 2006, 2009-2013 Free Software Foundation,
- Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2002-2004, 2006-2013 Free Software Foundation, Inc.
@@ -519,11 +331,9 @@
====================COPYRIGHT====================
- Copyright (C) 2002-2004, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2002-2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2002-2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Isamu Hasegawa <[email protected]>.
====================COPYRIGHT====================
@@ -537,10 +347,6 @@
====================COPYRIGHT====================
- Copyright (C) 2003, 2007-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2003, 2008-2013 Free Software Foundation, Inc.
@@ -568,18 +374,10 @@
====================COPYRIGHT====================
- Copyright (C) 2004, 2006-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2004, 2009-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
- Copyright (C) 2004-2007, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2005, 2007-2013 Free Software Foundation, Inc.
@@ -600,82 +398,53 @@
====================COPYRIGHT====================
- Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2006, 2011-2013 Free Software Foundation, Inc.
Written by Bruno Haible <[email protected]>, 2006.
====================COPYRIGHT====================
- Copyright (C) 2006-2007, 2010-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
Copyright (C) 2006-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
- Copyright (C) 2007, 2010-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright (C) 2007-2008, 2010-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
- Copyright (C) 2008, 2010-2013 Free Software Foundation, Inc.
- Written by Bruno Haible <[email protected]>, 2008.
+ Copyright (C) 2007-2008, 2010-2021 Free Software Foundation, Inc.
====================COPYRIGHT====================
- Copyright (C) 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2007.
====================COPYRIGHT====================
- Copyright (C) 2011-2013 Free Software Foundation, Inc.
- Written by Bruno Haible <[email protected]>, 2011.
+ Copyright (C) 2007-2021 Free Software Foundation, Inc.
====================COPYRIGHT====================
- Copyright 2000-2003, 2006, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2008-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
- Copyright 2002-2003, 2007-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
- Copyright 2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-
-====================COPYRIGHT====================
-# Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2009-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
-# Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
+ Copyright (C) 2011-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
-# Copyright (C) 2007-2013 Free Software Foundation, Inc.
+ Copyright (C) 2012-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
-# Copyright (C) 2008-2013 Free Software Foundation, Inc.
+ Copyright 2000-2003, 2006, 2009-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
-# Copyright (C) 2012-2013 Free Software Foundation, Inc.
+ Copyright 2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
@@ -690,33 +459,6 @@
====================COPYRIGHT====================
-/* Copyright (C) 1991, 1996-1998, 2002-2004, 2006-2007, 2009-2013 Free Software
- Foundation, Inc.
-
-
-====================COPYRIGHT====================
-/* Copyright (C) 1991, 1997, 2009-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
-
-====================COPYRIGHT====================
-/* Copyright (C) 1991-1994, 1996-1998, 2000, 2004, 2007-2013 Free Software
- Foundation, Inc.
- This file is part of the GNU C Library.
-
-
-====================COPYRIGHT====================
-/* Copyright (C) 1992, 1995-2002, 2005-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
-
-====================COPYRIGHT====================
-/* Copyright (C) 1998-1999, 2001, 2005-2007, 2009-2013 Free Software
- Foundation, Inc.
- This file is derived from the one in the GNU C Library.
-
-
-====================COPYRIGHT====================
/* Copyright (C) 1999, 2001-2002, 2006, 2009-2013 Free Software Foundation,
Inc.
This file is part of the GNU C Library.
@@ -729,13 +471,9 @@
====================COPYRIGHT====================
-/* Copyright (C) 2000, 2004, 2009-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
-
-====================COPYRIGHT====================
-/* Copyright (C) 2000, 2008-2013 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
+/* Ordered set data type implemented by a binary tree.
+ Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2006.
====================COPYRIGHT====================
@@ -745,18 +483,20 @@
====================COPYRIGHT====================
-/* Variable with FSF copyright information, for version-etc.
- Copyright (C) 1999-2006, 2009-2013 Free Software Foundation, Inc.
+/* Sequential list data type implemented by a hash table with another list.
+ Copyright (C) 2006, 2009-2013 Free Software Foundation, Inc.
+ Written by Bruno Haible <[email protected]>, 2006.
====================COPYRIGHT====================
-// Copyright (c) 2006-2013 Alexander Chemeris
+/* Variable with FSF copyright information, for version-etc.
+ Copyright (C) 1999-2006, 2009-2013 Free Software Foundation, Inc.
====================COPYRIGHT====================
Copyright d Free Software Foundation, Inc.
-====================File: gnulib/src/filenamecat-lgpl.c====================
+====================File: lib/filenamecat-lgpl.c====================
/* Concatenate two arbitrary file names.
Copyright (C) 1996-2007, 2009-2013 Free Software Foundation, Inc.
@@ -881,7 +621,7 @@ mfile_name_concat (char const *dir, char const *abase, char **base_in_result)
====================GPL-3.0-or-later====================
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
+ the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@ -890,7 +630,7 @@ mfile_name_concat (char const *dir, char const *abase, char **base_in_result)
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 <http://www.gnu.org/licenses/>.
====================GPL-3.0-or-later====================
@@ -905,7 +645,7 @@ mfile_name_concat (char const *dir, char const *abase, char **base_in_result)
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 <http://www.gnu.org/licenses/>. */
====================GPL-3.0-or-later====================
@@ -920,7 +660,7 @@ mfile_name_concat (char const *dir, char const *abase, char **base_in_result)
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/>. */
====================GPL-3.0-or-later====================
@@ -939,10 +679,10 @@ mfile_name_concat (char const *dir, char const *abase, char **base_in_result)
====================GPL-3.0-or-later====================
- 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 any
- later version.
+ 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
@@ -950,7 +690,7 @@ mfile_name_concat (char const *dir, char const *abase, char **base_in_result)
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 <http://www.gnu.org/licenses/>. */
====================GPL-3.0-or-later====================
@@ -964,8 +704,8 @@ mfile_name_concat (char const *dir, char const *abase, char **base_in_result)
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/>. */
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, see <http://www.gnu.org/licenses/>. */
====================GPL-3.0-or-later====================
@@ -980,7 +720,7 @@ mfile_name_concat (char const *dir, char const *abase, char **base_in_result)
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/>. */
====================GPL-3.0-or-later====================
@@ -1000,21 +740,6 @@ mfile_name_concat (char const *dir, char const *abase, char **base_in_result)
====================GPL-3.0-or-later====================
- 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/>. */
-
-
-====================GPL-3.0-or-later====================
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.\n\
This is free software: you are free to change and redistribute it.\n\
There is NO WARRANTY, to the extent permitted by law.\n\
diff --git a/contrib/tools/m4/lib/config-linux.h b/contrib/tools/m4/lib/config-linux.h
index 8fa4b4f0920..3cdf582e1a9 100644
--- a/contrib/tools/m4/lib/config-linux.h
+++ b/contrib/tools/m4/lib/config-linux.h
@@ -77,7 +77,7 @@
#if defined __OPTIMIZE__ && __OPTIMIZE__
# define _FORTIFY_SOURCE 2
#endif
-
+
/* Define to 1 if the system's ftello function has the Solaris bug. */
/* #undef FTELLO_BROKEN_AFTER_SWITCHING_FROM_READ_TO_WRITE */
@@ -475,19 +475,9 @@
*/
#define HAVE_DECL_ALARM 1
-#if defined(__linux__)
- #define HAVE_UNLOCKED_IO 1
-#else
- #define HAVE_UNLOCKED_IO 0
-#endif
-
/* Define to 1 if you have the declaration of `clearerr_unlocked', and to 0 if
you don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_CLEARERR_UNLOCKED 1
-#else
- #define HAVE_DECL_CLEARERR_UNLOCKED 0
-#endif
+#define HAVE_DECL_CLEARERR_UNLOCKED 1
/* Define to 1 if you have the declaration of `copysign', and to 0 if you
don't. */
@@ -503,35 +493,19 @@
/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_FEOF_UNLOCKED 1
-#else
- #define HAVE_DECL_FEOF_UNLOCKED 0
-#endif
+#define HAVE_DECL_FEOF_UNLOCKED 1
/* Define to 1 if you have the declaration of `ferror_unlocked', and to 0 if
you don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_FERROR_UNLOCKED 1
-#else
- #define HAVE_DECL_FERROR_UNLOCKED 0
-#endif
+#define HAVE_DECL_FERROR_UNLOCKED 1
/* Define to 1 if you have the declaration of `fflush_unlocked', and to 0 if
you don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_FFLUSH_UNLOCKED 1
-#else
- #define HAVE_DECL_FFLUSH_UNLOCKED 0
-#endif
+#define HAVE_DECL_FFLUSH_UNLOCKED 1
/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if
you don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_FGETS_UNLOCKED 1
-#else
- #define HAVE_DECL_FGETS_UNLOCKED 0
-#endif
+#define HAVE_DECL_FGETS_UNLOCKED 1
/* Define to 1 if you have the declaration of `fpurge', and to 0 if you don't.
*/
@@ -539,27 +513,15 @@
/* Define to 1 if you have the declaration of `fputc_unlocked', and to 0 if
you don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_FPUTC_UNLOCKED 1
-#else
- #define HAVE_DECL_FPUTC_UNLOCKED 0
-#endif
+#define HAVE_DECL_FPUTC_UNLOCKED 1
/* Define to 1 if you have the declaration of `fputs_unlocked', and to 0 if
you don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_FPUTS_UNLOCKED 1
-#else
- #define HAVE_DECL_FPUTS_UNLOCKED 0
-#endif
+#define HAVE_DECL_FPUTS_UNLOCKED 1
/* Define to 1 if you have the declaration of `fread_unlocked', and to 0 if
you don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_FREAD_UNLOCKED 1
-#else
- #define HAVE_DECL_FREAD_UNLOCKED 0
-#endif
+#define HAVE_DECL_FREAD_UNLOCKED 1
/* Define to 1 if you have the declaration of `fseeko', and to 0 if you don't.
*/
@@ -571,27 +533,15 @@
/* Define to 1 if you have the declaration of `fwrite_unlocked', and to 0 if
you don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_FWRITE_UNLOCKED 1
-#else
- #define HAVE_DECL_FWRITE_UNLOCKED 0
-#endif
+#define HAVE_DECL_FWRITE_UNLOCKED 1
/* Define to 1 if you have the declaration of `getchar_unlocked', and to 0 if
you don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_GETCHAR_UNLOCKED 1
-#else
- #define HAVE_DECL_GETCHAR_UNLOCKED 0
-#endif
+#define HAVE_DECL_GETCHAR_UNLOCKED 1
/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_GETC_UNLOCKED 1
-#else
- #define HAVE_DECL_GETC_UNLOCKED 0
-#endif
+#define HAVE_DECL_GETC_UNLOCKED 1
/* Define to 1 if you have the declaration of `getenv', and to 0 if you don't.
*/
@@ -609,7 +559,6 @@
don't. */
/* #undef HAVE_DECL_MBSINIT */
-#if defined(__linux__)
/* Define to 1 if you have the declaration of `program_invocation_name', and
to 0 if you don't. */
#define HAVE_DECL_PROGRAM_INVOCATION_NAME 1
@@ -617,31 +566,14 @@
/* Define to 1 if you have the declaration of `program_invocation_short_name',
and to 0 if you don't. */
#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 1
-#else
-/* Define to 1 if you have the declaration of `program_invocation_name', and
- to 0 if you don't. */
-#define HAVE_DECL_PROGRAM_INVOCATION_NAME 0
-
-/* Define to 1 if you have the declaration of `program_invocation_short_name',
- and to 0 if you don't. */
-#define HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME 0
-#endif
/* Define to 1 if you have the declaration of `putchar_unlocked', and to 0 if
you don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_PUTCHAR_UNLOCKED 1
-#else
- #define HAVE_DECL_PUTCHAR_UNLOCKED 0
-#endif
+#define HAVE_DECL_PUTCHAR_UNLOCKED 1
/* Define to 1 if you have the declaration of `putc_unlocked', and to 0 if you
don't. */
-#if HAVE_UNLOCKED_IO
- #define HAVE_DECL_PUTC_UNLOCKED 1
-#else
- #define HAVE_DECL_PUTC_UNLOCKED 0
-#endif
+#define HAVE_DECL_PUTC_UNLOCKED 1
/* Define to 1 if you have the declaration of `setenv', and to 0 if you don't.
*/
@@ -681,11 +613,7 @@
/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
don't. */
-#if defined(_musl_)
- #define HAVE_DECL_SYS_SIGLIST 0
-#else
- #define HAVE_DECL_SYS_SIGLIST 1
-#endif
+#define HAVE_DECL_SYS_SIGLIST 1
/* Define to 1 if you have the declaration of `towlower', and to 0 if you
don't. */
@@ -728,11 +656,7 @@
#define HAVE_FCNTL 1
/* Define to 1 if you have the <features.h> header file. */
-#if defined(__linux__)
- #define HAVE_FEATURES_H 1
-#else
- #define HAVE_FEATURES_H 0
-#endif
+#define HAVE_FEATURES_H 1
/* Define to 1 if you have the `fpurge' function. */
/* #undef HAVE_FPURGE */
@@ -777,16 +701,11 @@
/* Define to 1 if you have the `isblank' function. */
#define HAVE_ISBLANK 1
-#if defined(_musl_)
-#define HAVE_ISNAND_IN_LIBC 0
-#define HAVE_ISNANF_IN_LIBC 0
-#else
/* Define if the isnan(double) function is available in libc. */
#define HAVE_ISNAND_IN_LIBC 1
/* Define if the isnan(float) function is available in libc. */
#define HAVE_ISNANF_IN_LIBC 1
-#endif
/* Define if the isnan(long double) function is available in libc. */
/* #undef HAVE_ISNANL_IN_LIBC */
@@ -857,9 +776,7 @@
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mempcpy' function. */
-#if defined(__linux__)
#define HAVE_MEMPCPY 1
-#endif
/* Define to 1 if you have the `mkdtemp' function. */
#define HAVE_MKDTEMP 1
@@ -881,9 +798,7 @@
#define HAVE_NL_LANGINFO 1
/* Define to 1 if libc includes obstacks. */
-#if !defined(_musl_)
#define HAVE_OBSTACK 1
-#endif
/* Define to 1 if you have the `opendir' function. */
#define HAVE_OPENDIR 1
@@ -946,7 +861,7 @@
#define HAVE_SEARCH_H 1
/* Define to 1 if you have the `secure_getenv' function. */
-/* #undef HAVE_SECURE_GETENV */
+#define HAVE_SECURE_GETENV 1
/* Define to 1 if you have the `setegid' function. */
/* #undef HAVE_SETEGID */
@@ -1019,11 +934,7 @@
#define HAVE_STDINT_H_WITH_UINTMAX 1
/* Define to 1 if you have the <stdio_ext.h> header file. */
-#if defined(__FreeBSD__) || defined(__MACH__)
-#define HAVE_STDIO_EXT_H 0
-#else
#define HAVE_STDIO_EXT_H 1
-#endif
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
@@ -1167,9 +1078,6 @@
/* Define to 1 if you have the <xlocale.h> header file. */
#define HAVE_XLOCALE_H 1
-/* Define to 1 if the system has the type `clock_t'. */
-#define HAVE_CLOCK_T 1
-
/* Define to 1 if extending the stack slightly past the limit causes a
SIGSEGV, and an alternate stack can be established with sigaltstack, and
the signal handler is passed a context that specifies the run time stack.
@@ -1194,33 +1102,23 @@
/* #undef HAVE__SET_INVALID_PARAMETER_HANDLER */
/* Define to 1 if you have the `__fpurge' function. */
-#if HAVE_STDIO_EXT_H
- #define HAVE___FPURGE 1
-#else
- #define HAVE___FPURGE 0
-#endif
+#define HAVE___FPURGE 1
-#if defined(_musl_)
- /* Define to 1 if you have the `__freadahead' function. */
- #define HAVE___FREADAHEAD 1
-#endif
+/* Define to 1 if you have the `__freadahead' function. */
+/* #undef HAVE___FREADAHEAD */
/* Define to 1 if you have the `__freading' function. */
-#if HAVE_STDIO_EXT_H
- #define HAVE___FREADING 1
-#else
- #define HAVE___FREADING 0
-#endif
+#define HAVE___FREADING 1
/* Define to 1 if you have the `__secure_getenv' function. */
-//#define HAVE___SECURE_GETENV 1
+/* #undef HAVE___SECURE_GETENV */
/* Define as the bit index in the word where to find bit 0 of the exponent of
'long double'. */
-#define LDBL_EXPBIT0_BIT 0
+/* #undef LDBL_EXPBIT0_BIT */
/* Define as the word index where to find the exponent of 'long double'. */
-#define LDBL_EXPBIT0_WORD 2
+/* #undef LDBL_EXPBIT0_WORD */
/* Define as the bit index in the word where to find the sign of 'long
double'. */
@@ -1327,7 +1225,7 @@
/* #undef PACKAGE_PACKAGER_VERSION */
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU M4 3.0.0"
+#define PACKAGE_STRING "GNU M4 1.4.17"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "m4"
@@ -1336,7 +1234,7 @@
#define PACKAGE_URL "http://www.gnu.org/software/m4/"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "3.0.0"
+#define PACKAGE_VERSION "1.4.17"
/* the number of pending output bytes on stream 'fp' */
/* #undef PENDING_OUTPUT_N_BYTES */
@@ -1434,11 +1332,11 @@
#define STRERROR_R_CHAR_P 1
/* Shell used by syscmd and esyscmd, must accept -c argument. */
-#define SYSCMD_SHELL "/bin/sh"
+#define SYSCMD_SHELL "/var/empty/bash-4.3-p46/bin/bash"
/* Define to the prefix of C symbols at the assembler and linker level, either
an underscore or empty. */
-#define USER_LABEL_PREFIX
+#define USER_LABEL_PREFIX
/* Define if the POSIX multithreading library can be used. */
/* #undef USE_POSIX_THREADS */
@@ -1502,7 +1400,7 @@
/* #undef USE_WINDOWS_THREADS */
/* Version number of package */
-#define VERSION "3.0.0"
+#define VERSION "1.4.17"
/* Define to 1 if unsetenv returns void instead of int. */
/* #undef VOID_UNSETENV */
@@ -1585,7 +1483,7 @@
/* Define to rpl_ if the getopt replacement functions and variables should be
used. */
-#define __GETOPT_PREFIX rpl_
+/* #undef __GETOPT_PREFIX */
/* Please see the Gnulib manual for how to use these macros.
@@ -1804,3 +1702,6 @@
/* Define as a macro for copying va_list variables. */
/* #undef va_copy */
+#undef HAVE_SYS_SINGLE_THREADED_H
+#define __attribute_maybe_unused__
+#define __attribute_nonnull__(...)
diff --git a/contrib/tools/m4/lib/config-osx.h b/contrib/tools/m4/lib/config-osx.h
new file mode 100644
index 00000000000..56a4173a06f
--- /dev/null
+++ b/contrib/tools/m4/lib/config-osx.h
@@ -0,0 +1,32 @@
+#pragma once
+
+#include "config-linux.h"
+
+#undef HAVE_STDIO_EXT_H
+#undef HAVE_FEATURES_H
+#undef HAVE_UCONTEXT_H
+
+#undef HAVE_SECURE_GETENV
+#undef HAVE___FREADING
+
+#undef HAVE_DECL_PROGRAM_INVOCATION_NAME
+#undef HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
+#define HAVE_VAR___PROGNAME 1
+
+// fread_unlocked should be controlled by USE_UNLOCKED_IO, yet it is not
+#undef USE_UNLOCKED_IO
+#undef HAVE_DECL_FEOF_UNLOCKED
+#undef HAVE_DECL_FERROR_UNLOCKED
+#undef HAVE_DECL_FFLUSH_UNLOCKED
+#undef HAVE_DECL_FGETS_UNLOCKED
+#undef HAVE_DECL_FPUTC_UNLOCKED
+#undef HAVE_DECL_FPUTS_UNLOCKED
+#undef HAVE_DECL_FREAD_UNLOCKED
+#undef HAVE_DECL_FWRITE_UNLOCKED
+#undef HAVE_DECL_GETCHAR_UNLOCKED
+#undef HAVE_DECL_GETC_UNLOCKED
+#undef HAVE_DECL_PUTCHAR_UNLOCKED
+#undef HAVE_DECL_PUTC_UNLOCKED
+
+#define _GL_ARG_NONNULL(...)
+#define _GL_ATTRIBUTE_FORMAT_PRINTF(...)
diff --git a/contrib/tools/m4/lib/config-win.h b/contrib/tools/m4/lib/config-win.h
index ec0f1bc2421..ec49f309df6 100644
--- a/contrib/tools/m4/lib/config-win.h
+++ b/contrib/tools/m4/lib/config-win.h
@@ -860,9 +860,6 @@
/* Define to 1 if you have the <search.h> header file. */
#define HAVE_SEARCH_H 1
-/* Define to 1 if you have the `secure_getenv' function. */
-/* #undef HAVE_SECURE_GETENV */
-
/* Define to 1 if you have the `setegid' function. */
/* #undef HAVE_SETEGID */
@@ -1204,9 +1201,6 @@ char *strsignal (int signum);
large precisions without arbitrary bounds. */
#define NEED_PRINTF_UNBOUNDED_PRECISION 1
-/* Define to 1 if open() fails to recognize a trailing slash. */
-/* #undef OPEN_TRAILING_SLASH_BUG */
-
/* Name of package */
#define PACKAGE "m4"
@@ -1226,7 +1220,7 @@ char *strsignal (int signum);
/* #undef PACKAGE_PACKAGER_VERSION */
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU M4 3.0.0"
+#define PACKAGE_STRING "GNU M4 1.4.17"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "m4"
@@ -1235,7 +1229,7 @@ char *strsignal (int signum);
#define PACKAGE_URL "http://www.gnu.org/software/m4/"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "3.0.0"
+#define PACKAGE_VERSION "1.4.17"
/* the number of pending output bytes on stream 'fp' */
#if WIN_SDK10
@@ -1405,7 +1399,7 @@ char *strsignal (int signum);
/* #undef USE_WINDOWS_THREADS */
/* Version number of package */
-#define VERSION "3.0.0"
+#define VERSION "1.4.17"
/* Define to 1 if unsetenv returns void instead of int. */
/* #undef VOID_UNSETENV */
@@ -1708,5 +1702,12 @@ char *strsignal (int signum);
/* Define as a macro for copying va_list variables. */
#define va_copy gl_va_copy
+#undef HAVE_SECURE_GETENV
+#define secure_getenv getenv
+
+#define HAVE_DECL___ARGV 1
#define HAVE_ISNANL_IN_LIBC 1
#define HAVE_ISNAND_IN_LIBC 1
+
+#define _GL_ARG_NONNULL(...)
+#define _GL_ATTRIBUTE_FORMAT_PRINTF(...)
diff --git a/contrib/tools/m4/lib/config.h b/contrib/tools/m4/lib/config.h
index 5623f311fad..1614a4f2b65 100644
--- a/contrib/tools/m4/lib/config.h
+++ b/contrib/tools/m4/lib/config.h
@@ -1,6 +1,8 @@
#pragma once
-#if defined(_MSC_VER)
+#if defined(__APPLE__)
+# include "config-osx.h"
+#elif defined(_MSC_VER)
# include "config-win.h"
#else
# include "config-linux.h"
diff --git a/contrib/tools/m4/lib/configmake-linux.h b/contrib/tools/m4/lib/configmake-linux.h
index 75ea1d7d03a..14258f49211 100644
--- a/contrib/tools/m4/lib/configmake-linux.h
+++ b/contrib/tools/m4/lib/configmake-linux.h
@@ -1,3 +1,27 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
-
-#define LIBDIR "/usr/local/lib"
+#define PREFIX "/var/empty/gnum4-1.4.17"
+#define EXEC_PREFIX "/var/empty/gnum4-1.4.17"
+#define BINDIR "/var/empty/gnum4-1.4.17/bin"
+#define SBINDIR "/var/empty/gnum4-1.4.17/sbin"
+#define LIBEXECDIR "/var/empty/gnum4-1.4.17/libexec"
+#define DATAROOTDIR "/var/empty/gnum4-1.4.17/share"
+#define DATADIR "/var/empty/gnum4-1.4.17/share"
+#define SYSCONFDIR "/var/empty/gnum4-1.4.17/etc"
+#define SHAREDSTATEDIR "/var/empty/gnum4-1.4.17/com"
+#define LOCALSTATEDIR "/var/empty/gnum4-1.4.17/var"
+#define INCLUDEDIR "/var/empty/gnum4-1.4.17/include"
+#define OLDINCLUDEDIR "/usr/include"
+#define DOCDIR "/var/empty/gnum4-1.4.17/share/doc/m4"
+#define INFODIR "/var/empty/gnum4-1.4.17/share/info"
+#define HTMLDIR "/var/empty/gnum4-1.4.17/share/doc/m4"
+#define DVIDIR "/var/empty/gnum4-1.4.17/share/doc/m4"
+#define PDFDIR "/var/empty/gnum4-1.4.17/share/doc/m4"
+#define PSDIR "/var/empty/gnum4-1.4.17/share/doc/m4"
+#define LIBDIR "/var/empty/gnum4-1.4.17/lib"
+#define LISPDIR "/var/empty/gnum4-1.4.17/share/emacs/site-lisp"
+#define LOCALEDIR "/var/empty/gnum4-1.4.17/share/locale"
+#define MANDIR "/var/empty/gnum4-1.4.17/share/man"
+#define PKGDATADIR "/var/empty/gnum4-1.4.17/share/m4"
+#define PKGINCLUDEDIR "/var/empty/gnum4-1.4.17/include/m4"
+#define PKGLIBDIR "/var/empty/gnum4-1.4.17/lib/m4"
+#define PKGLIBEXECDIR "/var/empty/gnum4-1.4.17/libexec/m4"
diff --git a/contrib/tools/m4/lib/error.c b/contrib/tools/m4/lib/error.c
index ca9e61b41fa..2b182b4695d 100644
--- a/contrib/tools/m4/lib/error.c
+++ b/contrib/tools/m4/lib/error.c
@@ -159,10 +159,8 @@ flush_stdout (void)
/* POSIX states that fflush (stdout) after fclose is unspecified; it
is safe in glibc, but not on all other platforms. fflush (NULL)
is always defined, but too draconian. */
-#if !defined(_WIN32) && !defined(_WIN64)
if (0 <= stdout_fd && is_open (stdout_fd))
#endif
-#endif
fflush (stdout);
}
diff --git a/contrib/tools/m4/lib/execute.c b/contrib/tools/m4/lib/execute.c
index 1bb577100e1..0b6f995dc5b 100644
--- a/contrib/tools/m4/lib/execute.c
+++ b/contrib/tools/m4/lib/execute.c
@@ -28,7 +28,6 @@
#include <signal.h>
#include <unistd.h>
-#include "penviron.h"
#include "error.h"
#include "fatal-signal.h"
#include "wait-process.h"
@@ -49,6 +48,10 @@
#endif
+#if defined(__FreeBSD__) || defined(__MACH__)
+ extern char** environ;
+#endif
+
/* The results of open() in this file are not used with fchdir,
therefore save some unnecessary work in fchdir.c. */
#undef open
diff --git a/contrib/tools/m4/lib/fcntl.h b/contrib/tools/m4/lib/fcntl.h
index 39b4f4d5eb4..a7a7d03b20d 100644
--- a/contrib/tools/m4/lib/fcntl.h
+++ b/contrib/tools/m4/lib/fcntl.h
@@ -1,7 +1,7 @@
/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
/* Like <fcntl.h>, but with non-working flags defined to 0.
- Copyright (C) 2006-2021 Free Software Foundation, Inc.
+ Copyright (C) 2006-2013 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
@@ -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 <https://www.gnu.org/licenses/>. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* written by Paul Eggert */
@@ -35,17 +35,11 @@
extern "C" { ... } block, which leads to errors in C++ mode with the
overridden <sys/stat.h> from gnulib. These errors are known to be gone
with g++ version >= 4.3. */
-#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && (defined __ICC || !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))))
+#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
# include <sys/stat.h>
#endif
#include_next <fcntl.h>
-/* Native Windows platforms declare open(), creat() in <io.h>. */
-#if (IN_M4_GNULIB_TESTS || 1 || defined GNULIB_POSIXCHECK) \
- && (defined _WIN32 && ! defined __CYGWIN__)
-# include <io.h>
-#endif
-
#else
/* Normal invocation convention. */
@@ -60,18 +54,12 @@
extern "C" { ... } block, which leads to errors in C++ mode with the
overridden <sys/stat.h> from gnulib. These errors are known to be gone
with g++ version >= 4.3. */
-#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && (defined __ICC || !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))))
+#if !(defined __GLIBC__ || defined __UCLIBC__) || (defined __cplusplus && defined GNULIB_NAMESPACE && !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)))
# include <sys/stat.h>
#endif
/* The include_next requires a split double-inclusion guard. */
#include_next <fcntl.h>
-/* Native Windows platforms declare open(), creat() in <io.h>. */
-#if (IN_M4_GNULIB_TESTS || 1 || defined GNULIB_POSIXCHECK) \
- && (defined _WIN32 && ! defined __CYGWIN__)
-# include <io.h>
-#endif
-
#ifndef _GL_M4_FCNTL_H
#define _GL_M4_FCNTL_H
@@ -79,36 +67,17 @@
# include <unistd.h>
#endif
+/* Native Windows platforms declare open(), creat() in <io.h>. */
+#if (1 || defined GNULIB_POSIXCHECK) \
+ && ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__)
+# include <io.h>
+#endif
-/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
-/* C++ compatible function declaration macros.
- Copyright (C) 2010-2021 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/>. */
+/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
#ifndef _GL_CXXDEFS_H
#define _GL_CXXDEFS_H
-/* Begin/end the GNULIB_NAMESPACE namespace. */
-#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_BEGIN_NAMESPACE namespace GNULIB_NAMESPACE {
-# define _GL_END_NAMESPACE }
-#else
-# define _GL_BEGIN_NAMESPACE
-# define _GL_END_NAMESPACE
-#endif
-
/* The three most frequent use cases of these macros are:
* For providing a substitute for a function that is missing on some
@@ -203,25 +172,14 @@
that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
Example:
_GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
-
- Wrapping rpl_func in an object with an inline conversion operator
- avoids a reference to rpl_func unless GNULIB_NAMESPACE::func is
- actually used in the program. */
+ */
#define _GL_CXXALIAS_RPL(func,rettype,parameters) \
_GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
#if defined __cplusplus && defined GNULIB_NAMESPACE
# define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
namespace GNULIB_NAMESPACE \
{ \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return ::rpl_func; \
- } \
- } func = {}; \
+ rettype (*const func) parameters = ::rpl_func; \
} \
_GL_EXTERN_C int _gl_cxxalias_dummy
#else
@@ -229,16 +187,6 @@
_GL_EXTERN_C int _gl_cxxalias_dummy
#endif
-/* _GL_CXXALIAS_MDA (func, rettype, parameters);
- is to be used when func is a Microsoft deprecated alias, on native Windows.
- It declares a C++ alias called GNULIB_NAMESPACE::func
- that redirects to _func, if GNULIB_NAMESPACE is defined.
- Example:
- _GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...));
- */
-#define _GL_CXXALIAS_MDA(func,rettype,parameters) \
- _GL_CXXALIAS_RPL_1 (func, _##func, rettype, parameters)
-
/* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
except that the C function rpl_func may have a slightly different
@@ -248,15 +196,8 @@
# define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
namespace GNULIB_NAMESPACE \
{ \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return reinterpret_cast<type>(::rpl_func); \
- } \
- } func = {}; \
+ rettype (*const func) parameters = \
+ reinterpret_cast<rettype(*)parameters>(::rpl_func); \
} \
_GL_EXTERN_C int _gl_cxxalias_dummy
#else
@@ -264,38 +205,25 @@
_GL_EXTERN_C int _gl_cxxalias_dummy
#endif
-/* _GL_CXXALIAS_MDA_CAST (func, rettype, parameters);
- is like _GL_CXXALIAS_MDA (func, rettype, parameters);
- except that the C function func may have a slightly different declaration.
- A cast is used to silence the "invalid conversion" error that would
- otherwise occur. */
-#define _GL_CXXALIAS_MDA_CAST(func,rettype,parameters) \
- _GL_CXXALIAS_RPL_CAST_1 (func, _##func, rettype, parameters)
-
/* _GL_CXXALIAS_SYS (func, rettype, parameters);
declares a C++ alias called GNULIB_NAMESPACE::func
that redirects to the system provided function func, if GNULIB_NAMESPACE
is defined.
Example:
_GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
-
- Wrapping func in an object with an inline conversion operator
- avoids a reference to func unless GNULIB_NAMESPACE::func is
- actually used in the program. */
+ */
#if defined __cplusplus && defined GNULIB_NAMESPACE
-# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
- namespace GNULIB_NAMESPACE \
- { \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return ::func; \
- } \
- } func = {}; \
- } \
+ /* If we were to write
+ rettype (*const func) parameters = ::func;
+ like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls
+ better (remove an indirection through a 'static' pointer variable),
+ but then the _GL_CXXALIASWARN macro below would cause a warning not only
+ for uses of ::func but also for uses of GNULIB_NAMESPACE::func. */
+# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
+ namespace GNULIB_NAMESPACE \
+ { \
+ static rettype (*func) parameters = ::func; \
+ } \
_GL_EXTERN_C int _gl_cxxalias_dummy
#else
# define _GL_CXXALIAS_SYS(func,rettype,parameters) \
@@ -311,15 +239,8 @@
# define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
namespace GNULIB_NAMESPACE \
{ \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return reinterpret_cast<type>(::func); \
- } \
- } func = {}; \
+ static rettype (*func) parameters = \
+ reinterpret_cast<rettype(*)parameters>(::func); \
} \
_GL_EXTERN_C int _gl_cxxalias_dummy
#else
@@ -342,15 +263,9 @@
# define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
namespace GNULIB_NAMESPACE \
{ \
- static const struct _gl_ ## func ## _wrapper \
- { \
- typedef rettype (*type) parameters; \
- \
- inline operator type () const \
- { \
- return reinterpret_cast<type>((rettype2 (*) parameters2)(::func)); \
- } \
- } func = {}; \
+ static rettype (*func) parameters = \
+ reinterpret_cast<rettype(*)parameters>( \
+ (rettype2(*)parameters2)(::func)); \
} \
_GL_EXTERN_C int _gl_cxxalias_dummy
#else
@@ -367,9 +282,9 @@
_GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
# define _GL_CXXALIASWARN_1(func,namespace) \
_GL_CXXALIASWARN_2 (func, namespace)
-/* To work around GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
we enable the warning only when not optimizing. */
-# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
+# if !__OPTIMIZE__
# define _GL_CXXALIASWARN_2(func,namespace) \
_GL_WARN_ON_USE (func, \
"The symbol ::" #func " refers to the system function. " \
@@ -395,13 +310,16 @@
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 <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
+/* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
we enable the warning only when not optimizing. */
-# if !(defined __GNUC__ && !defined __clang__ && __OPTIMIZE__)
+# if !__OPTIMIZE__
# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
- _GL_WARN_ON_USE_CXX (func, rettype, rettype, parameters_and_attributes, \
+ _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
"The symbol ::" #func " refers to the system function. " \
"Use " #namespace "::" #func " instead.")
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
+ extern __typeof__ (func) func
# else
# define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
_GL_EXTERN_C int _gl_cxxalias_dummy
@@ -414,27 +332,11 @@
#endif /* _GL_CXXDEFS_H */
/* The definition of _GL_ARG_NONNULL is copied here. */
-/* A C macro for declaring that specific arguments must not be NULL.
- Copyright (C) 2009-2021 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/>. */
-
/* _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.
n = 1 stands for the first argument, n = 2 for the second argument etc. */
#ifndef _GL_ARG_NONNULL
-# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || defined __clang__
+# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
# else
# define _GL_ARG_NONNULL(params)
@@ -442,143 +344,40 @@
#endif
/* The definition of _GL_WARN_ON_USE is copied here. */
-/* A C macro for emitting warnings if a function is used.
- Copyright (C) 2010-2021 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/>. */
-
-/* _GL_WARN_ON_USE (function, "literal string") issues a declaration
- for FUNCTION which will then trigger a compiler warning containing
- the text of "literal string" anywhere that function is called, if
- supported by the compiler. If the compiler does not support this
- feature, the macro expands to an unused extern declaration.
-
- _GL_WARN_ON_USE_ATTRIBUTE ("literal string") expands to the
- attribute used in _GL_WARN_ON_USE. If the compiler does not support
- this feature, it expands to empty.
-
- These macros are useful for marking a function as a potential
- portability trap, with the intent that "literal string" include
- instructions on the replacement function that should be used
- instead.
- _GL_WARN_ON_USE is for functions with 'extern' linkage.
- _GL_WARN_ON_USE_ATTRIBUTE is for functions with 'static' or 'inline'
- linkage.
-
- However, one of the reasons that a function is a portability trap is
- if it has the wrong signature. Declaring FUNCTION with a different
- signature in C is a compilation error, so this macro must use the
- same type as any existing declaration so that programs that avoid
- the problematic FUNCTION do not fail to compile merely because they
- included a header that poisoned the function. But this implies that
- _GL_WARN_ON_USE is only safe to use if FUNCTION is known to already
- have a declaration. Use of this macro implies that there must not
- be any other macro hiding the declaration of FUNCTION; but
- undefining FUNCTION first is part of the poisoning process anyway
- (although for symbols that are provided only via a macro, the result
- is a compilation error rather than a warning containing
- "literal string"). Also note that in C++, it is only safe to use if
- FUNCTION has no overloads.
-
- For an example, it is possible to poison 'getline' by:
- - adding a call to gl_WARN_ON_USE_PREPARE([[#include <stdio.h>]],
- [getline]) in configure.ac, which potentially defines
- HAVE_RAW_DECL_GETLINE
- - adding this code to a header that wraps the system <stdio.h>:
- #undef getline
- #if HAVE_RAW_DECL_GETLINE
- _GL_WARN_ON_USE (getline, "getline is required by POSIX 2008, but"
- "not universally present; use the gnulib module getline");
- #endif
-
- It is not possible to directly poison global variables. But it is
- possible to write a wrapper accessor function, and poison that
- (less common usage, like &environ, will cause a compilation error
- rather than issue the nice warning, but the end result of informing
- the developer about their portability problem is still achieved):
- #if HAVE_RAW_DECL_ENVIRON
- static char ***
- rpl_environ (void) { return &environ; }
- _GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
- # undef environ
- # define environ (*rpl_environ ())
- #endif
- or better (avoiding contradictory use of 'static' and 'extern'):
- #if HAVE_RAW_DECL_ENVIRON
- static char ***
- _GL_WARN_ON_USE_ATTRIBUTE ("environ is not always properly declared")
- rpl_environ (void) { return &environ; }
- # undef environ
- # define environ (*rpl_environ ())
- #endif
- */
#ifndef _GL_WARN_ON_USE
# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
/* A compiler attribute is available in gcc versions 4.3.0 and later. */
# define _GL_WARN_ON_USE(function, message) \
extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
-# define _GL_WARN_ON_USE_ATTRIBUTE(message) \
- __attribute__ ((__warning__ (message)))
-# elif __clang_major__ >= 4
-/* Another compiler attribute is available in clang. */
-# define _GL_WARN_ON_USE(function, message) \
-extern __typeof__ (function) function \
- __attribute__ ((__diagnose_if__ (1, message, "warning")))
-# define _GL_WARN_ON_USE_ATTRIBUTE(message) \
- __attribute__ ((__diagnose_if__ (1, message, "warning")))
# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
/* Verify the existence of the function. */
# define _GL_WARN_ON_USE(function, message) \
extern __typeof__ (function) function
-# define _GL_WARN_ON_USE_ATTRIBUTE(message)
# else /* Unsupported. */
# define _GL_WARN_ON_USE(function, message) \
_GL_WARN_EXTERN_C int _gl_warn_on_use
-# define _GL_WARN_ON_USE_ATTRIBUTE(message)
# endif
#endif
-/* _GL_WARN_ON_USE_CXX (function, rettype_gcc, rettype_clang, parameters_and_attributes, "message")
- is like _GL_WARN_ON_USE (function, "message"), except that in C++ mode the
- function is declared with the given prototype, consisting of return type,
- parameters, and attributes.
+/* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
+ is like _GL_WARN_ON_USE (function, "string"), except that the function is
+ declared with the given prototype, consisting of return type, parameters,
+ and attributes.
This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
not work in this case. */
#ifndef _GL_WARN_ON_USE_CXX
-# if !defined __cplusplus
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
- _GL_WARN_ON_USE (function, msg)
-# else
-# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
-/* A compiler attribute is available in gcc versions 4.3.0 and later. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-extern rettype_gcc function parameters_and_attributes \
- __attribute__ ((__warning__ (msg)))
-# elif __clang_major__ >= 4
-/* Another compiler attribute is available in clang. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-extern rettype_clang function parameters_and_attributes \
- __attribute__ ((__diagnose_if__ (1, msg, "warning")))
-# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
+# if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
+# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+extern rettype function parameters_and_attributes \
+ __attribute__ ((__warning__ (msg)))
+# elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
/* Verify the existence of the function. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
-extern rettype_gcc function parameters_and_attributes
-# else /* Unsupported. */
-# define _GL_WARN_ON_USE_CXX(function,rettype_gcc,rettype_clang,parameters_and_attributes,msg) \
+# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
+extern rettype function parameters_and_attributes
+# else /* Unsupported. */
+# define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
_GL_WARN_EXTERN_C int _gl_warn_on_use
-# endif
# endif
#endif
@@ -595,47 +394,6 @@ _GL_WARN_EXTERN_C int _gl_warn_on_use
/* Declare overridden functions. */
-#if IN_M4_GNULIB_TESTS
-# if 0
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef creat
-# define creat rpl_creat
-# endif
-_GL_FUNCDECL_RPL (creat, int, (const char *filename, mode_t mode)
- _GL_ARG_NONNULL ((1)));
-_GL_CXXALIAS_RPL (creat, int, (const char *filename, mode_t mode));
-# elif defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef creat
-# define creat _creat
-# endif
-_GL_CXXALIAS_MDA (creat, int, (const char *filename, mode_t mode));
-# else
-_GL_CXXALIAS_SYS (creat, int, (const char *filename, mode_t mode));
-# endif
-_GL_CXXALIASWARN (creat);
-#elif defined GNULIB_POSIXCHECK
-# undef creat
-/* Assume creat is always declared. */
-_GL_WARN_ON_USE (creat, "creat is not always POSIX compliant - "
- "use gnulib module creat for portability");
-#elif 1
-/* On native Windows, map 'creat' to '_creat', so that -loldnames is not
- required. In C++ with GNULIB_NAMESPACE, avoid differences between
- platforms by defining GNULIB_NAMESPACE::creat always. */
-# if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef creat
-# define creat _creat
-# endif
-/* Need to cast, because in mingw the last argument is 'int mode'. */
-_GL_CXXALIAS_MDA_CAST (creat, int, (const char *filename, mode_t mode));
-# else
-_GL_CXXALIAS_SYS (creat, int, (const char *filename, mode_t mode));
-# endif
-_GL_CXXALIASWARN (creat);
-#endif
-
#if 1
# if 1
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
@@ -644,15 +402,9 @@ _GL_CXXALIASWARN (creat);
# endif
_GL_FUNCDECL_RPL (fcntl, int, (int fd, int action, ...));
_GL_CXXALIAS_RPL (fcntl, int, (int fd, int action, ...));
-# if !GNULIB_defined_rpl_fcntl
-# define GNULIB_defined_rpl_fcntl 1
-# endif
# else
# if !1
_GL_FUNCDECL_SYS (fcntl, int, (int fd, int action, ...));
-# if !GNULIB_defined_fcntl
-# define GNULIB_defined_fcntl 1
-# endif
# endif
_GL_CXXALIAS_SYS (fcntl, int, (int fd, int action, ...));
# endif
@@ -674,12 +426,6 @@ _GL_WARN_ON_USE (fcntl, "fcntl is not always POSIX compliant - "
_GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
_GL_ARG_NONNULL ((1)));
_GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
-# elif defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef open
-# define open _open
-# endif
-_GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...));
# else
_GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
# endif
@@ -693,25 +439,9 @@ _GL_CXXALIASWARN (open);
/* Assume open is always declared. */
_GL_WARN_ON_USE (open, "open is not always POSIX compliant - "
"use gnulib module open for portability");
-#elif 1
-/* On native Windows, map 'open' to '_open', so that -loldnames is not
- required. In C++ with GNULIB_NAMESPACE, avoid differences between
- platforms by defining GNULIB_NAMESPACE::open always. */
-# if defined _WIN32 && !defined __CYGWIN__
-# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
-# undef open
-# define open _open
-# endif
-_GL_CXXALIAS_MDA (open, int, (const char *filename, int flags, ...));
-# else
-_GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
-# endif
-# if !defined __hpux
-_GL_CXXALIASWARN (open);
-# endif
#endif
-#if 1
+#if 0
# if 0
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef openat
@@ -768,22 +498,6 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
/* Fix up the O_* macros. */
-/* AIX 7.1 with XL C 12.1 defines O_CLOEXEC, O_NOFOLLOW, and O_TTY_INIT
- to values outside 'int' range, so omit these misdefinitions.
- But avoid namespace pollution on non-AIX systems. */
-#ifdef _AIX
-# include <limits.h>
-# if defined O_CLOEXEC && ! (INT_MIN <= O_CLOEXEC && O_CLOEXEC <= INT_MAX)
-# undef O_CLOEXEC
-# endif
-# if defined O_NOFOLLOW && ! (INT_MIN <= O_NOFOLLOW && O_NOFOLLOW <= INT_MAX)
-# undef O_NOFOLLOW
-# endif
-# if defined O_TTY_INIT && ! (INT_MIN <= O_TTY_INIT && O_TTY_INIT <= INT_MAX)
-# undef O_TTY_INIT
-# endif
-#endif
-
#if !defined O_DIRECT && defined O_DIRECTIO
/* Tru64 spells it 'O_DIRECTIO'. */
# define O_DIRECT O_DIRECTIO
@@ -795,10 +509,7 @@ _GL_WARN_ON_USE (openat, "openat is not portable - "
#endif
#ifndef O_CLOEXEC
-# define O_CLOEXEC 0x40000000 /* Try to not collide with system O_* flags. */
-# define GNULIB_defined_O_CLOEXEC 1
-#else
-# define GNULIB_defined_O_CLOEXEC 0
+# define O_CLOEXEC 0
#endif
#ifndef O_DIRECT
diff --git a/contrib/tools/m4/lib/fflush.c b/contrib/tools/m4/lib/fflush.c
deleted file mode 100644
index c182ac1fa42..00000000000
--- a/contrib/tools/m4/lib/fflush.c
+++ /dev/null
@@ -1,225 +0,0 @@
-/* fflush.c -- allow flushing input streams
- Copyright (C) 2007-2013 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 <http://www.gnu.org/licenses/>. */
-
-/* Written by Eric Blake. */
-
-#include <config.h>
-
-/* Specification. */
-#include "stdio--.h"
-
-#include <errno.h>
-#include <unistd.h>
-
-#include "freading.h"
-
-#include "stdio-impl.h"
-
-#include "unused-parameter.h"
-
-#undef fflush
-
-
-#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-
-/* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
-static void
-clear_ungetc_buffer_preserving_position (FILE *fp)
-{
- if (fp->_flags & _IO_IN_BACKUP)
- /* _IO_free_backup_area is a bit complicated. Simply call fseek. */
- fseeko (fp, 0, SEEK_CUR);
-}
-
-#else
-
-/* Clear the stream's ungetc buffer. May modify the value of ftello (fp). */
-static void
-clear_ungetc_buffer (FILE *fp)
-{
-# if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
- if (HASUB (fp))
- {
- fp_->_p += fp_->_r;
- fp_->_r = 0;
- }
-# elif defined __EMX__ /* emx+gcc */
- if (fp->_ungetc_count > 0)
- {
- fp->_ungetc_count = 0;
- fp->_rcount = - fp->_rcount;
- }
-# elif defined _IOERR /* Minix, AIX, HP-UX, IRIX, OSF/1, Solaris, OpenServer, mingw, NonStop Kernel */
- /* Nothing to do. */
-# else /* other implementations */
- fseeko (fp, 0, SEEK_CUR);
-# endif
-}
-
-#endif
-
-#if ! (defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-
-# if (defined __sferror || defined __DragonFly__) && defined __SNPT /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
-
-static int
-disable_seek_optimization (FILE *fp)
-{
- int saved_flags = fp_->_flags & (__SOPT | __SNPT);
- fp_->_flags = (fp_->_flags & ~__SOPT) | __SNPT;
- return saved_flags;
-}
-
-static void
-restore_seek_optimization (FILE *fp, int saved_flags)
-{
- fp_->_flags = (fp_->_flags & ~(__SOPT | __SNPT)) | saved_flags;
-}
-
-# else
-
-static void
-update_fpos_cache (FILE *fp _GL_UNUSED_PARAMETER,
- off_t pos _GL_UNUSED_PARAMETER)
-{
-# if defined __sferror || defined __DragonFly__ /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
-# if defined __CYGWIN__
- /* fp_->_offset is typed as an integer. */
- fp_->_offset = pos;
-# else
- /* fp_->_offset is an fpos_t. */
- /* Use a union, since on NetBSD, the compilation flags determine
- whether fpos_t is typedef'd to off_t or a struct containing a
- single off_t member. */
- union
- {
- fpos_t f;
- off_t o;
- } u;
- u.o = pos;
- fp_->_offset = u.f;
-# endif
- fp_->_flags |= __SOFF;
-# endif
-}
-# endif
-#endif
-
-/* Flush all pending data on STREAM according to POSIX rules. Both
- output and seekable input streams are supported. */
-int
-rpl_fflush (FILE *stream)
-{
- /* When stream is NULL, POSIX and C99 only require flushing of "output
- streams and update streams in which the most recent operation was not
- input", and all implementations do this.
-
- When stream is "an output stream or an update stream in which the most
- recent operation was not input", POSIX and C99 requires that fflush
- writes out any buffered data, and all implementations do this.
-
- When stream is, however, an input stream or an update stream in
- which the most recent operation was input, C99 specifies nothing,
- and POSIX only specifies behavior if the stream is seekable.
- mingw, in particular, drops the input buffer, leaving the file
- descriptor positioned at the end of the input buffer. I.e. ftell
- (stream) is lost. We don't want to call the implementation's
- fflush in this case.
-
- We test ! freading (stream) here, rather than fwriting (stream), because
- what we need to know is whether the stream holds a "read buffer", and on
- mingw this is indicated by _IOREAD, regardless of _IOWRT. */
- if (stream == NULL || ! freading (stream))
- return fflush (stream);
-
-#if defined _IO_EOF_SEEN || defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-
- clear_ungetc_buffer_preserving_position (stream);
-
- return fflush (stream);
-
-#else
- {
- /* Notes about the file-position indicator:
- 1) The file position indicator is incremented by fgetc() and decremented
- by ungetc():
- <http://www.opengroup.org/susv3/functions/fgetc.html>
- "... the fgetc() function shall ... advance the associated file
- position indicator for the stream ..."
- <http://www.opengroup.org/susv3/functions/ungetc.html>
- "The file-position indicator is decremented by each successful
- call to ungetc()..."
- 2) <http://www.opengroup.org/susv3/functions/ungetc.html> says:
- "The value of the file-position indicator for the stream after
- reading or discarding all pushed-back bytes shall be the same
- as it was before the bytes were pushed back."
- Here we are discarding all pushed-back bytes. But more specifically,
- 3) <http://www.opengroup.org/austin/aardvark/latest/xshbug3.txt> says:
- "[After fflush(),] the file offset of the underlying open file
- description shall be set to the file position of the stream, and
- any characters pushed back onto the stream by ungetc() ... shall
- be discarded." */
-
- /* POSIX does not specify fflush behavior for non-seekable input
- streams. Some implementations purge unread data, some return
- EBADF, some do nothing. */
- off_t pos = ftello (stream);
- if (pos == -1)
- {
- errno = EBADF;
- return EOF;
- }
-
- /* Clear the ungetc buffer. */
- clear_ungetc_buffer (stream);
-
- /* To get here, we must be flushing a seekable input stream, so the
- semantics of fpurge are now appropriate to clear the buffer. To
- avoid losing data, the lseek is also necessary. */
- {
- int result = fpurge (stream);
- if (result != 0)
- return result;
- }
-
-# if (defined __sferror || defined __DragonFly__) && defined __SNPT /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin */
-
- {
- /* Disable seek optimization for the next fseeko call. This tells the
- following fseeko call to seek to the desired position directly, rather
- than to seek to a block-aligned boundary. */
- int saved_flags = disable_seek_optimization (stream);
- int result = fseeko (stream, pos, SEEK_SET);
-
- restore_seek_optimization (stream, saved_flags);
- return result;
- }
-
-# else
-
- pos = lseek (fileno (stream), pos, SEEK_SET);
- if (pos == -1)
- return EOF;
- /* After a successful lseek, update the file descriptor's position cache
- in the stream. */
- update_fpos_cache (stream, pos);
-
- return 0;
-
-# endif
- }
-#endif
-}
diff --git a/contrib/tools/m4/lib/fstat.c b/contrib/tools/m4/lib/fstat.c
deleted file mode 100644
index dc802f502b5..00000000000
--- a/contrib/tools/m4/lib/fstat.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* fstat() replacement.
- Copyright (C) 2011-2013 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 <http://www.gnu.org/licenses/>. */
-
-/* If the user's config.h happens to include <sys/stat.h>, let it include only
- the system's <sys/stat.h> here, so that orig_fstat doesn't recurse to
- rpl_fstat. */
-#define __need_system_sys_stat_h
-#include <config.h>
-
-/* Get the original definition of fstat. It might be defined as a macro. */
-#include <sys/types.h>
-#include <sys/stat.h>
-#if _GL_WINDOWS_64_BIT_ST_SIZE
-# undef stat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */
-# define stat _stati64
-# undef fstat /* avoid warning on mingw64 with _FILE_OFFSET_BITS=64 */
-# define fstat _fstati64
-#endif
-#undef __need_system_sys_stat_h
-
-static int
-orig_fstat (int fd, struct stat *buf)
-{
- return fstat (fd, buf);
-}
-
-/* Specification. */
-/* Write "sys/stat.h" here, not <sys/stat.h>, otherwise OSF/1 5.1 DTK cc
- eliminates this include because of the preliminary #include <sys/stat.h>
- above. */
-#include "sys/stat.h"
-
-#include <errno.h>
-#include <unistd.h>
-
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
-# include "msvc-inval.h"
-#endif
-
-#if HAVE_MSVC_INVALID_PARAMETER_HANDLER
-static int
-fstat_nothrow (int fd, struct stat *buf)
-{
- int result;
-
- TRY_MSVC_INVAL
- {
- result = orig_fstat (fd, buf);
- }
- CATCH_MSVC_INVAL
- {
- result = -1;
- errno = EBADF;
- }
- DONE_MSVC_INVAL;
-
- return result;
-}
-#else
-# define fstat_nothrow orig_fstat
-#endif
-
-int
-rpl_fstat (int fd, struct stat *buf)
-{
-#if REPLACE_FCHDIR && REPLACE_OPEN_DIRECTORY
- /* Handle the case when rpl_open() used a dummy file descriptor to work
- around an open() that can't normally visit directories. */
- const char *name = _gl_directory_name (fd);
- if (name != NULL)
- return stat (name, buf);
-#endif
-
- return fstat_nothrow (fd, buf);
-}
diff --git a/contrib/tools/m4/lib/getdtablesize.c b/contrib/tools/m4/lib/getdtablesize.c
index 212b3c0f968..9947405af61 100644
--- a/contrib/tools/m4/lib/getdtablesize.c
+++ b/contrib/tools/m4/lib/getdtablesize.c
@@ -73,16 +73,12 @@ getdtablesize (void)
FILE objects. The sanity check in _setmaxstdio reveals the maximum
number of file descriptors. This too allocates memory, but it is
freed when we call _setmaxstdio with the original value. */
-#if !defined(_WIN32) && !defined(_WIN64)
int orig_max_stdio = _getmaxstdio ();
unsigned int bound;
for (bound = 0x10000; _setmaxstdio (bound) < 0; bound = bound / 2)
;
_setmaxstdio (orig_max_stdio);
dtablesize = bound;
-#else
- dtablesize = _getmaxstdio();
-#endif
}
return dtablesize;
}
diff --git a/contrib/tools/m4/lib/getopt.c b/contrib/tools/m4/lib/getopt.c
index 4b3d2670676..ef0f4ceec7c 100644
--- a/contrib/tools/m4/lib/getopt.c
+++ b/contrib/tools/m4/lib/getopt.c
@@ -181,7 +181,7 @@ exchange (char **argv, struct _getopt_data *d)
{
/* Bottom segment is the short one. */
int len = middle - bottom;
- int i;
+ register int i;
/* Swap it with the top part of the top segment. */
for (i = 0; i < len; i++)
@@ -198,7 +198,7 @@ exchange (char **argv, struct _getopt_data *d)
{
/* Top segment is the short one. */
int len = top - middle;
- int i;
+ register int i;
/* Swap it with the bottom part of the bottom segment. */
for (i = 0; i < len; i++)
diff --git a/contrib/tools/m4/lib/getopt1.c b/contrib/tools/m4/lib/getopt1.c
index ca24eb811f9..55a6b4eae45 100644
--- a/contrib/tools/m4/lib/getopt1.c
+++ b/contrib/tools/m4/lib/getopt1.c
@@ -1,44 +1,56 @@
/* getopt_long and getopt_long_only entry points for GNU getopt.
- Copyright (C) 1987-2021 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.
+ Copyright (C) 1987-1994, 1996-1998, 2004, 2006, 2009-2013 Free Software
+ Foundation, Inc.
+ This file is part of the GNU C Library.
- The GNU C Library 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 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.
- The GNU C Library is distributed in the hope that it will be useful,
+ 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.
+ 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 the GNU C Library; if not, see
- <https://www.gnu.org/licenses/>. */
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#ifndef _LIBC
+#ifdef _LIBC
+# include <getopt.h>
+#else
# include <config.h>
+# include "getopt.h"
#endif
-
-#include "getopt.h"
#include "getopt_int.h"
+#include <stdio.h>
+
+/* This needs to come after some library #include
+ to get __GNU_LIBRARY__ defined. */
+#ifdef __GNU_LIBRARY__
+#include <stdlib.h>
+#endif
+
+#ifndef NULL
+#define NULL 0
+#endif
+
int
getopt_long (int argc, char *__getopt_argv_const *argv, const char *options,
- const struct option *long_options, int *opt_index)
+ const struct option *long_options, int *opt_index)
{
return _getopt_internal (argc, (char **) argv, options, long_options,
- opt_index, 0, 0);
+ opt_index, 0, 0);
}
int
_getopt_long_r (int argc, char **argv, const char *options,
- const struct option *long_options, int *opt_index,
- struct _getopt_data *d)
+ const struct option *long_options, int *opt_index,
+ struct _getopt_data *d)
{
return _getopt_internal_r (argc, argv, options, long_options, opt_index,
- 0, d, 0);
+ 0, d, 0);
}
/* Like getopt_long, but '-' as well as '--' can indicate a long option.
@@ -48,27 +60,26 @@ _getopt_long_r (int argc, char **argv, const char *options,
int
getopt_long_only (int argc, char *__getopt_argv_const *argv,
- const char *options,
- const struct option *long_options, int *opt_index)
+ const char *options,
+ const struct option *long_options, int *opt_index)
{
return _getopt_internal (argc, (char **) argv, options, long_options,
- opt_index, 1, 0);
+ opt_index, 1, 0);
}
int
_getopt_long_only_r (int argc, char **argv, const char *options,
- const struct option *long_options, int *opt_index,
- struct _getopt_data *d)
+ const struct option *long_options, int *opt_index,
+ struct _getopt_data *d)
{
return _getopt_internal_r (argc, argv, options, long_options, opt_index,
- 1, d, 0);
+ 1, d, 0);
}
#ifdef TEST
#include <stdio.h>
-#include <stdlib.h>
int
main (int argc, char **argv)
@@ -82,74 +93,74 @@ main (int argc, char **argv)
int option_index = 0;
static const struct option long_options[] =
{
- {"add", 1, 0, 0},
- {"append", 0, 0, 0},
- {"delete", 1, 0, 0},
- {"verbose", 0, 0, 0},
- {"create", 0, 0, 0},
- {"file", 1, 0, 0},
- {0, 0, 0, 0}
+ {"add", 1, 0, 0},
+ {"append", 0, 0, 0},
+ {"delete", 1, 0, 0},
+ {"verbose", 0, 0, 0},
+ {"create", 0, 0, 0},
+ {"file", 1, 0, 0},
+ {0, 0, 0, 0}
};
c = getopt_long (argc, argv, "abc:d:0123456789",
- long_options, &option_index);
+ long_options, &option_index);
if (c == -1)
- break;
+ break;
switch (c)
- {
- case 0:
- printf ("option %s", long_options[option_index].name);
- if (optarg)
- printf (" with arg %s", optarg);
- printf ("\n");
- break;
+ {
+ case 0:
+ printf ("option %s", long_options[option_index].name);
+ if (optarg)
+ printf (" with arg %s", optarg);
+ printf ("\n");
+ break;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ if (digit_optind != 0 && digit_optind != this_option_optind)
+ printf ("digits occur in two different argv-elements.\n");
+ digit_optind = this_option_optind;
+ printf ("option %c\n", c);
+ break;
- case 'a':
- printf ("option a\n");
- break;
+ case 'a':
+ printf ("option a\n");
+ break;
- case 'b':
- printf ("option b\n");
- break;
+ case 'b':
+ printf ("option b\n");
+ break;
- case 'c':
- printf ("option c with value '%s'\n", optarg);
- break;
+ case 'c':
+ printf ("option c with value '%s'\n", optarg);
+ break;
- case 'd':
- printf ("option d with value '%s'\n", optarg);
- break;
+ case 'd':
+ printf ("option d with value '%s'\n", optarg);
+ break;
- case '?':
- break;
+ case '?':
+ break;
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
+ default:
+ printf ("?? getopt returned character code 0%o ??\n", c);
+ }
}
if (optind < argc)
{
printf ("non-option ARGV-elements: ");
while (optind < argc)
- printf ("%s ", argv[optind++]);
+ printf ("%s ", argv[optind++]);
printf ("\n");
}
diff --git a/contrib/tools/m4/lib/isnanf-nolibm.h b/contrib/tools/m4/lib/isnanf-nolibm.h
index 804c65f06c0..dc43863a698 100644
--- a/contrib/tools/m4/lib/isnanf-nolibm.h
+++ b/contrib/tools/m4/lib/isnanf-nolibm.h
@@ -17,7 +17,7 @@
#if HAVE_ISNANF_IN_LIBC
/* Get declaration of isnan macro or (older) isnanf function. */
# include <math.h>
-# if __GNUC__ >= 4 && !__clang__
+# if __GNUC__ >= 4
/* GCC 4.0 and newer provides three built-ins for isnan. */
# undef isnanf
# define isnanf(x) __builtin_isnanf ((float)(x))
diff --git a/contrib/tools/m4/lib/isnanl-nolibm.h b/contrib/tools/m4/lib/isnanl-nolibm.h
index a011374da7e..18eb8037147 100644
--- a/contrib/tools/m4/lib/isnanl-nolibm.h
+++ b/contrib/tools/m4/lib/isnanl-nolibm.h
@@ -17,7 +17,7 @@
#if HAVE_ISNANL_IN_LIBC
/* Get declaration of isnan macro or (older) isnanl function. */
# include <math.h>
-# if __GNUC__ >= 4 && !__clang__
+# if __GNUC__ >= 4
/* GCC 4.0 and newer provides three built-ins for isnan. */
# undef isnanl
# define isnanl(x) __builtin_isnanl ((long double)(x))
diff --git a/contrib/tools/m4/lib/isnanl.c b/contrib/tools/m4/lib/isnanl.c
new file mode 100644
index 00000000000..9d9d84b9747
--- /dev/null
+++ b/contrib/tools/m4/lib/isnanl.c
@@ -0,0 +1,20 @@
+/* Test for NaN that does not need libm.
+ Copyright (C) 2007, 2009-2013 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 <http://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <[email protected]>, 2007. */
+
+#define USE_LONG_DOUBLE
+#include "isnan.c"
diff --git a/contrib/tools/m4/lib/palloca.h b/contrib/tools/m4/lib/palloca.h
deleted file mode 100644
index a7ed8a2f9c9..00000000000
--- a/contrib/tools/m4/lib/palloca.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#pragma once
-
-#if defined(__FreeBSD__)
- #include <stdlib.h>
-#else
- #include <alloca.h>
-#endif
diff --git a/contrib/tools/m4/lib/penviron.h b/contrib/tools/m4/lib/penviron.h
deleted file mode 100644
index fd831973780..00000000000
--- a/contrib/tools/m4/lib/penviron.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#pragma once
-
-#if defined(__FreeBSD__) || defined(__MACH__)
- extern char** environ;
-#endif
diff --git a/contrib/tools/m4/lib/platform/win64/sys/stat.h b/contrib/tools/m4/lib/platform/win64/sys/stat.h
index 14f1f4cc32f..3b5764884ce 100644
--- a/contrib/tools/m4/lib/platform/win64/sys/stat.h
+++ b/contrib/tools/m4/lib/platform/win64/sys/stat.h
@@ -654,7 +654,7 @@ _GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - "
#if 1
-# if 1
+# if 0
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
# undef fstat
# define fstat rpl_fstat
diff --git a/contrib/tools/m4/lib/regex_internal.h b/contrib/tools/m4/lib/regex_internal.h
index 6185d1f8323..87038435b60 100644
--- a/contrib/tools/m4/lib/regex_internal.h
+++ b/contrib/tools/m4/lib/regex_internal.h
@@ -482,7 +482,7 @@ static unsigned int re_string_context_at (const re_string_t *input, Idx idx,
#define re_string_set_index(pstr,idx) ((pstr)->cur_idx = (idx))
#if defined _LIBC || HAVE_ALLOCA
-# include "palloca.h"
+# include <alloca.h>
#endif
#ifndef _LIBC
diff --git a/contrib/tools/m4/lib/spawn-pipe.c b/contrib/tools/m4/lib/spawn-pipe.c
index 86b929a7f45..d96f514d632 100644
--- a/contrib/tools/m4/lib/spawn-pipe.c
+++ b/contrib/tools/m4/lib/spawn-pipe.c
@@ -27,7 +27,6 @@
#include <signal.h>
#include <unistd.h>
-#include "penviron.h"
#include "error.h"
#include "fatal-signal.h"
#include "unistd-safer.h"
@@ -49,6 +48,10 @@
#endif
+#if defined(__FreeBSD__) || defined(__MACH__)
+ extern char** environ;
+#endif
+
/* The results of open() in this file are not used with fchdir,
therefore save some unnecessary work in fchdir.c. */
#undef open
diff --git a/contrib/tools/m4/lib/stdio--.h b/contrib/tools/m4/lib/stdio--.h
index 5d9b19b50a4..fe6d83edc4b 100644
--- a/contrib/tools/m4/lib/stdio--.h
+++ b/contrib/tools/m4/lib/stdio--.h
@@ -18,15 +18,8 @@
/* Written by Paul Eggert. */
#include <stdio.h>
-#include <unistd.h>
#include "stdio-safer.h"
-#if defined(_WIN32)
-int fpurge(FILE *stream);
-int fseeko(FILE *stream, off_t offset, int whence);
-off_t ftello(FILE *stream);
-#endif
-
#if GNULIB_FOPEN_SAFER
# undef fopen
# define fopen fopen_safer
diff --git a/contrib/tools/m4/lib/stdlib--.h b/contrib/tools/m4/lib/stdlib--.h
index 28360a27071..ac02ece9b0f 100644
--- a/contrib/tools/m4/lib/stdlib--.h
+++ b/contrib/tools/m4/lib/stdlib--.h
@@ -20,12 +20,6 @@
#include <stdlib.h>
#include "stdlib-safer.h"
-#if defined(_WIN32)
-char *mkdtemp(char *template);
-int mkstemp(char*);
-char *secure_getenv(const char *name);
-#endif
-
#undef mkstemp
#define mkstemp mkstemp_safer
diff --git a/contrib/tools/m4/lib/strsignal.c b/contrib/tools/m4/lib/strsignal.c
index f26ece6ba65..59614abb30e 100644
--- a/contrib/tools/m4/lib/strsignal.c
+++ b/contrib/tools/m4/lib/strsignal.c
@@ -44,11 +44,7 @@
# define __libc_key_t gl_tls_key_t
# define __libc_getspecific(NAME) gl_tls_get ((NAME))
# define __libc_setspecific(NAME, POINTER) gl_tls_set ((NAME), (POINTER))
-#if defined(_MSC_VER)
-# define __snprintf _snprintf
-#else
# define __snprintf snprintf
-#endif
#endif /* _LIBC */
#ifdef _LIBC
diff --git a/contrib/tools/m4/lib/unistd--.h b/contrib/tools/m4/lib/unistd--.h
index fee7ecf03d9..ac2de1cf1a7 100644
--- a/contrib/tools/m4/lib/unistd--.h
+++ b/contrib/tools/m4/lib/unistd--.h
@@ -20,10 +20,6 @@
#include <unistd.h>
#include "unistd-safer.h"
-#if defined(_WIN32)
-# include <process.h>
-#endif
-
#undef dup
#define dup dup_safer
diff --git a/contrib/tools/m4/lib/vfprintf.c b/contrib/tools/m4/lib/vfprintf.c
deleted file mode 100644
index 635e36eb59d..00000000000
--- a/contrib/tools/m4/lib/vfprintf.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Formatted output to a stream.
- Copyright (C) 2004, 2006-2013 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 <http://www.gnu.org/licenses/>. */
-
-#if 1
-# include <config.h>
-#endif
-
-/* Specification. */
-#include <stdio.h>
-
-#include <errno.h>
-#include <limits.h>
-#include <stdarg.h>
-#include <stdlib.h>
-
-#include "fseterr.h"
-#include "vasnprintf.h"
-
-/* Print formatted output to the stream FP.
- Return string length of formatted string. On error, return a negative
- value. */
-int
-vfprintf (FILE *fp, const char *format, va_list args)
-{
- char buf[2000];
- char *output;
- size_t len;
- size_t lenbuf = sizeof (buf);
-
- output = vasnprintf (buf, &lenbuf, format, args);
- len = lenbuf;
-
- if (!output)
- {
- fseterr (fp);
- return -1;
- }
-
- if (fwrite (output, 1, len, fp) < len)
- {
- if (output != buf)
- {
- int saved_errno = errno;
- free (output);
- errno = saved_errno;
- }
- return -1;
- }
-
- if (output != buf)
- free (output);
-
- if (len > INT_MAX)
- {
- errno = EOVERFLOW;
- fseterr (fp);
- return -1;
- }
-
- return len;
-}
diff --git a/contrib/tools/m4/lib/ya.make b/contrib/tools/m4/lib/ya.make
index 08270b4b338..1c410bcd5a2 100644
--- a/contrib/tools/m4/lib/ya.make
+++ b/contrib/tools/m4/lib/ya.make
@@ -1,45 +1,27 @@
-LIBRARY()
+# Generated by devtools/yamaker.
-VERSION(1.4.17)
+LIBRARY()
LICENSE(
- BSD-3-Clause AND
GPL-3.0-or-later AND
LGPL-2.0-or-later
)
LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
-IF (NOT MUSL)
- NO_RUNTIME()
-ENDIF()
+VERSION(1.4.17)
-NO_COMPILER_WARNINGS()
+PEERDIR(
+ contrib/libs/libc_compat
+)
ADDINCL(
- GLOBAL contrib/tools/m4/lib
+ contrib/tools/m4/lib
)
-IF (OS_WINDOWS)
- ADDINCL(
- GLOBAL contrib/tools/m4/lib/platform/win64
- )
-ENDIF()
-
-IF (OS_DARWIN)
- CFLAGS(
- -D_XOPEN_SOURCE=600
- )
-ENDIF()
+NO_COMPILER_WARNINGS()
-IF (NOT OS_WINDOWS)
- CFLAGS(
- GLOBAL -Dregcomp=gnu_regcomp
- GLOBAL -Dregerror=gnu_regerror
- GLOBAL -Dregfree=gnu_regfree
- GLOBAL -Dregexec=gnu_regexec
- )
-ENDIF()
+NO_RUNTIME()
SRCS(
asnprintf.c
@@ -53,15 +35,12 @@ SRCS(
clean-temp.c
cloexec.c
close-stream.c
- close.c
closein.c
closeout.c
dirname-lgpl.c
dirname.c
dup-safer-flag.c
dup-safer.c
- dup2.c
- error.c
execute.c
exitfail.c
fatal-signal.c
@@ -70,34 +49,35 @@ SRCS(
fd-hook.c
fd-safer-flag.c
fd-safer.c
- fflush.c
filenamecat-lgpl.c
filenamecat.c
fopen-safer.c
- fstat.c
- getdtablesize.c
+ freadahead.c
+ fseeko.c
gl_avltree_oset.c
gl_linkedhash_list.c
gl_list.c
gl_oset.c
gl_xlist.c
gl_xoset.c
+ glthread/lock.c
+ glthread/threadlib.c
+ glthread/tls.c
+ isnanl.c
localcharset.c
malloca.c
+ math.c
memchr2.c
mkstemp-safer.c
- nl_langinfo.c
pipe-safer.c
pipe2-safer.c
+ pipe2.c
printf-args.c
printf-frexp.c
printf-frexpl.c
printf-parse.c
progname.c
quotearg.c
- raise.c
- regex.c
- secure_getenv.c
sig-handler.c
spawn-pipe.c
stripslash.c
@@ -105,6 +85,7 @@ SRCS(
tmpdir.c
unistd.c
vasnprintf.c
+ vasprintf.c
verror.c
version-etc-fsf.c
version-etc.c
@@ -120,48 +101,40 @@ SRCS(
xvasprintf.c
)
-IF (NOT MUSL)
+IF (OS_DARWIN)
SRCS(
- freadahead.c
+ error.c
+ fpending.c
+ obstack.c
+ regex.c
+ secure_getenv.c
)
-ENDIF()
-
-IF (NOT OS_LINUX)
- SRCS(
- pipe2.c
+ELSEIF (OS_WINDOWS)
+ ADDINCL(
+ GLOBAL contrib/tools/m4/lib/platform/win64
)
-ENDIF()
-
-IF (OS_WINDOWS)
SRCS(
- vasprintf.c
- strsignal.c
- mkdtemp.c
- fseeko.c
+ close.c
+ dup2.c
+ error.c
+ fpending.c
+ getdtablesize.c
getopt.c
getopt1.c
gettimeofday.c
localeconv.c
+ mkdtemp.c
msvc-inval.c
msvc-nothrow.c
+ nl_langinfo.c
+ obstack.c
+ raise.c
+ regex.c
sigaction.c
sigprocmask.c
+ strsignal.c
waitpid.c
)
ENDIF()
-IF (NOT OS_LINUX OR MUSL)
- SRCS(
- obstack.c
- )
-ENDIF()
-
-IF (OS_CYGWIN OR OS_LINUX)
- #not need it
-ELSE()
- SRCS(
- fpending.c
- )
-ENDIF()
-
END()
diff --git a/contrib/tools/m4/patches/config.patch b/contrib/tools/m4/patches/config.patch
new file mode 100644
index 00000000000..343cbda9177
--- /dev/null
+++ b/contrib/tools/m4/patches/config.patch
@@ -0,0 +1,8 @@
+--- contrib/tools/m4/lib/config-linux.h (index)
++++ contrib/tools/m4/lib/config-linux.h (working tree)
+@@ -2902,2 +2902,5 @@
+ /* Define as a macro for copying va_list variables. */
+ /* #undef va_copy */
++#undef HAVE_SYS_SINGLE_THREADED_H
++#define __attribute_maybe_unused__
++#define __attribute_nonnull__(...)
diff --git a/contrib/tools/m4/patches/darwin-extern-environ.patch b/contrib/tools/m4/patches/darwin-extern-environ.patch
new file mode 100644
index 00000000000..5114c8d0c83
--- /dev/null
+++ b/contrib/tools/m4/patches/darwin-extern-environ.patch
@@ -0,0 +1,26 @@
+--- a/lib/spawn-pipe.c (index)
++++ b/lib/spawn-pipe.c (working tree)
+@@ -48,6 +48,10 @@
+
+ #endif
+
++#if defined(__FreeBSD__) || defined(__MACH__)
++ extern char** environ;
++#endif
++
+ /* The results of open() in this file are not used with fchdir,
+ therefore save some unnecessary work in fchdir.c. */
+ #undef open
+--- a/lib/execute.c (index)
++++ b/lib/execute.c (working tree)
+@@ -48,6 +48,10 @@
+
+ #endif
+
++#if defined(__FreeBSD__) || defined(__MACH__)
++ extern char** environ;
++#endif
++
+ /* The results of open() in this file are not used with fchdir,
+ therefore save some unnecessary work in fchdir.c. */
+ #undef open
diff --git a/contrib/tools/m4/patches/darwin-segfaults.patch b/contrib/tools/m4/patches/darwin-segfaults.patch
new file mode 100644
index 00000000000..cd88b7e72ee
--- /dev/null
+++ b/contrib/tools/m4/patches/darwin-segfaults.patch
@@ -0,0 +1,11 @@
+--- a/lib/vasnprintf.c (ef06a7dccff68bd15f669606131c541d158d4b1a)
++++ b/lib/vasnprintf.c (1efd2cc9274f1f5a222e759093d27c8d38825028)
+@@ -4870,7 +4870,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
+ #endif
+ *fbp = dp->conversion;
+ #if USE_SNPRINTF
+-# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
++# if !defined(__APPLE__) && !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
+ fbp[1] = '%';
+ fbp[2] = 'n';
+ fbp[3] = '\0';
diff --git a/contrib/tools/m4/patches/mkstemp-windows.patch b/contrib/tools/m4/patches/mkstemp-windows.patch
new file mode 100644
index 00000000000..573676c1843
--- /dev/null
+++ b/contrib/tools/m4/patches/mkstemp-windows.patch
@@ -0,0 +1,14 @@
+--- contrib/tools/m4/lib/mkstemp-safer.c (73a968936fc7a168adec50944afcde54a6274f7b)
++++ contrib/tools/m4/lib/mkstemp-safer.c (index)
+@@ -21,9 +21,10 @@
+
+ #include "stdlib-safer.h"
+
+-#include <stdlib.h>
++#include "stdlib--.h"
+ #include "unistd-safer.h"
+
++
+ /* Like mkstemp, but do not return STDIN_FILENO, STDOUT_FILENO, or
+ STDERR_FILENO. */
+
diff --git a/contrib/tools/m4/src/Makefile.am b/contrib/tools/m4/src/Makefile.am
deleted file mode 100644
index 29e05c0defe..00000000000
--- a/contrib/tools/m4/src/Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
-## Makefile.am - template for generating Makefile via Automake
-##
-## Copyright (C) 2006-2013 Free Software Foundation, Inc.
-##
-## This file is part of GNU M4.
-##
-## GNU M4 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.
-##
-## GNU M4 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 file written by Eric Blake <[email protected]>
-
-AUTOMAKE_OPTIONS = nostdinc
-AM_CPPFLAGS = -I$(top_srcdir)/lib -I../lib
-AM_CFLAGS = $(WARN_CFLAGS) $(WERROR_CFLAGS)
-bin_PROGRAMS = m4
-noinst_HEADERS = m4.h
-m4_SOURCES = m4.c builtin.c debug.c eval.c format.c freeze.c input.c \
-macro.c output.c path.c symtab.c
-m4_LDADD = ../lib/libm4.a $(LIBM4_LIBDEPS) $(LIBCSTACK) $(LIBTHREAD)
diff --git a/contrib/tools/m4/src/m4.c b/contrib/tools/m4/src/m4.c
index 2c031544711..3e56e9d017b 100644
--- a/contrib/tools/m4/src/m4.c
+++ b/contrib/tools/m4/src/m4.c
@@ -364,9 +364,7 @@ process_file (const char *name)
int
main (int argc, char *const *argv)
{
-#if !defined(_WIN32) && !defined(_WIN64)
struct sigaction act;
-#endif
macro_definition *head; /* head of deferred argument list */
macro_definition *tail;
macro_definition *defn;
@@ -402,9 +400,7 @@ main (int argc, char *const *argv)
signal_message[SIGFPE] = xstrdup (strsignal (SIGFPE));
if (SIGBUS != SIGILL && SIGBUS != SIGSEGV)
signal_message[SIGBUS] = xstrdup (strsignal (SIGBUS));
-#if !defined(_WIN32) && !defined(_WIN64)
- // No such signals on Windows
- sigemptyset(&act.sa_mask);
+ sigemptyset (&act.sa_mask);
/* One-shot - if we fault while handling a fault, we want to revert
to default signal behavior. */
act.sa_flags = SA_NODEFER | SA_RESETHAND;
@@ -414,7 +410,6 @@ main (int argc, char *const *argv)
sigaction (SIGILL, &act, NULL);
sigaction (SIGFPE, &act, NULL);
sigaction (SIGBUS, &act, NULL);
-#endif
if (c_stack_action (fault_handler) == 0)
nesting_limit = 0;
diff --git a/contrib/tools/m4/src/path.c b/contrib/tools/m4/src/path.c
index 278200b7825..6fb1e5c96f4 100644
--- a/contrib/tools/m4/src/path.c
+++ b/contrib/tools/m4/src/path.c
@@ -23,6 +23,7 @@
and "sinclude". */
#include "m4.h"
+#include "sys/stat.h"
struct includes
{
diff --git a/contrib/tools/m4/ya.make b/contrib/tools/m4/ya.make
index 881de5781eb..a53617110c3 100644
--- a/contrib/tools/m4/ya.make
+++ b/contrib/tools/m4/ya.make
@@ -1,22 +1,31 @@
-PROGRAM()
+# Generated by devtools/yamaker from nixpkgs 21f6cb79a7082e36d3a6374ea5b25a1645875f78.
-LICENSE(GPL-3.0-or-later)
+PROGRAM(m4)
+
+LICENSE(
+ FSFAP AND
+ GFDL-1.3-or-later AND
+ GPL-3.0-only AND
+ GPL-3.0-or-later
+)
+
+LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
VERSION(1.4.17)
-ORIGINAL_SOURCE(https://github.com/tar-mirror/gnu-m4/archive/refs/tags/v1.4.17.tar.gz)
+ORIGINAL_SOURCE(mirror://gnu/m4/m4-1.4.17.tar.bz2)
-LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
+PEERDIR(
+ contrib/tools/m4/lib
+)
-NO_RUNTIME()
+ADDINCL(
+ contrib/tools/m4/lib
+)
NO_COMPILER_WARNINGS()
-IF (MUSL)
- CFLAGS(
- -DO_BINARY=0
- )
-ENDIF()
+NO_RUNTIME()
SRCS(
src/builtin.c
@@ -32,8 +41,8 @@ SRCS(
src/symtab.c
)
-PEERDIR(
- contrib/tools/m4/lib
-)
-
END()
+
+RECURSE(
+ lib
+)