diff options
| author | thegeorg <[email protected]> | 2024-10-19 22:10:02 +0300 |
|---|---|---|
| committer | thegeorg <[email protected]> | 2024-10-19 22:19:51 +0300 |
| commit | 6378cb156ead0e2eedc675b8e2e37769bf86bb46 (patch) | |
| tree | 3990facbf8ccd09098b8f098c356e4dc8c869e60 | |
| parent | d920c750e476fa2dc80c45f990d9456b1afeadd1 (diff) | |
Put contrib/tools/m4 under yamaker
commit_hash:0fad455f3d7eb62f50aece2733dbdc32b2484c62
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] +Jay Krell [email protected] +Jean-Charles Longuet [email protected] +Jens Rehsack [email protected] +Jim Avera [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 R. [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 Quinn [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 +) |
