Replaced uses of `https://ftp.gnu.org/` (#5983)

Relates to
https://github.com/bazelbuild/bazel-central-registry/issues/5513 as it
seems `https://ftp.gnu.org/` is down again.
diff --git a/modules/gawk/5.3.2.bcr.2/MODULE.bazel b/modules/gawk/5.3.2.bcr.2/MODULE.bazel
new file mode 100644
index 0000000..91abb2f
--- /dev/null
+++ b/modules/gawk/5.3.2.bcr.2/MODULE.bazel
@@ -0,0 +1,14 @@
+"""https://www.gnu.org/software/gawk/"""
+
+module(
+    name = "gawk",
+    version = "5.3.2.bcr.2",
+    bazel_compatibility = [">=7.2.1"],
+    compatibility_level = 1,
+)
+
+bazel_dep(name = "bazel_skylib", version = "1.8.2")
+bazel_dep(name = "platforms", version = "1.0.0")
+bazel_dep(name = "rules_cc", version = "0.2.4")
+
+bazel_dep(name = "rules_shell", version = "0.5.1", dev_dependency = True)
diff --git a/modules/gawk/5.3.2.bcr.2/overlay/BUILD.bazel b/modules/gawk/5.3.2.bcr.2/overlay/BUILD.bazel
new file mode 100644
index 0000000..7e6d1af
--- /dev/null
+++ b/modules/gawk/5.3.2.bcr.2/overlay/BUILD.bazel
@@ -0,0 +1,160 @@
+load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
+load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library")
+
+GAWK_COPTS = ["-w"]
+
+filegroup(
+    name = "missing_d",
+    srcs = [
+        "missing_d/strcoll.c",
+        "missing_d/strftime.c",
+        "missing_d/strncasecmp.c",
+        "missing_d/timegm.c",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+cc_library(
+    name = "gettext",
+    hdrs = ["gettext.h"],
+    visibility = ["//visibility:public"],
+)
+
+cc_library(
+    name = "pc",
+    srcs = glob(["pc/*.c"]),
+    hdrs = glob(["pc/*.h"]) + ["pc/gawkmisc.pc"],
+    defines = [
+        "__MINGW32__",
+        "__USE_MINGW_ANSI_STDIO",
+        'LOCALEDIR="\\\"c:/gnu/share/locale\\\""',
+        'DEFLIBPATH="\\\"c:/gnu/lib/gawk\\\""',
+        'SHLIBEXT="\\\"dll\\\""',
+    ],
+    target_compatible_with = ["@platforms//os:windows"],
+)
+
+cc_library(
+    name = "posix",
+    hdrs = ["posix/gawkmisc.c"],
+    defines = [
+        """LOCALEDIR='"/usr/local/share/locale"'""",
+        'DEFLIBPATH="\\\"/usr/local/lib/gawk\\\""',
+        'SHLIBEXT="\\\"so\\\""',
+        """DEFPATH='".:/usr/local/share/awk"'""",
+    ],
+    target_compatible_with = select({
+        "@platforms//os:windows": ["@platforms//:incompatible"],
+        "//conditions:default": [],
+    }),
+)
+
+cc_library(
+    name = "support",
+    srcs = [
+        "support/dfa.c",
+        "support/getopt.c",
+        "support/getopt1.c",
+        "support/localeinfo.c",
+        "support/malloc/dynarray_at_failure.c",
+        "support/malloc/dynarray_emplace_enlarge.c",
+        "support/malloc/dynarray_finalize.c",
+        "support/malloc/dynarray_resize.c",
+        "support/malloc/dynarray_resize_clear.c",
+        "support/random.c",
+        "support/regex.c",
+    ] + select({
+        "@platforms//os:linux": [
+            "support/pma.c",
+        ],
+        "//conditions:default": [],
+    }),
+    hdrs = glob([
+        "support/*.h",
+        "support/malloc/*.h",
+    ]) + [
+        "support/malloc/dynarray-skeleton.c",
+        "support/regcomp.c",
+        "support/regex_internal.c",
+        "support/regexec.c",
+    ],
+    copts = GAWK_COPTS,
+    includes = [
+        "support",
+        "support/malloc",
+    ] + select({
+        "@platforms//os:windows": [
+            "pc",
+        ],
+        "//conditions:default": [
+            "config",
+            "posix",
+        ],
+    }),
+    deps = [
+        ":config",
+        ":custom",
+        ":gettext",
+    ],
+)
+
+cc_library(
+    name = "custom",
+    hdrs = ["custom.h"],
+    visibility = ["//visibility:public"],
+)
+
+copy_file(
+    name = "config_h",
+    src = select({
+        "@platforms//os:linux": "posix/config_linux.h",
+        "@platforms//os:macos": "posix/config_darwin.h",
+        "@platforms//os:windows": "pc/config.h",
+    }),
+    out = "config/config.h",
+)
+
+cc_library(
+    name = "config",
+    hdrs = [":config_h"],
+    defines = [
+        "GAWK",
+        "HAVE_CONFIG_H",
+    ],
+    deps = select({
+        "@platforms//os:windows": [":pc"],
+        "//conditions:default": [":posix"],
+    }),
+)
+
+cc_library(
+    name = "awk",
+    srcs = glob(["*.c"], exclude = ["main.c"]),
+    hdrs = glob(["*.h"]) + [":missing_d"],
+    copts = GAWK_COPTS,
+    includes = ["./support"],
+    linkopts = select({
+        "@platforms//os:linux": [
+            "-ldl",
+        ],
+        "@platforms//os:windows": [
+            "-lws2_32",
+            # TODO: why there is multiple definitions?
+            "-Wl,-allow-multiple-definition",
+        ],
+        "//conditions:default": [],
+    }),
+    visibility = ["//visibility:public"],
+    deps = [
+        ":config",
+        ":support",
+    ],
+)
+
+cc_binary(
+    name = "gawk",
+    srcs = ["main.c"],
+    copts = GAWK_COPTS,
+    visibility = ["//visibility:public"],
+    deps = [":awk"],
+)
diff --git a/modules/gawk/5.3.2.bcr.2/overlay/MODULE.bazel b/modules/gawk/5.3.2.bcr.2/overlay/MODULE.bazel
new file mode 120000
index 0000000..9b599e3
--- /dev/null
+++ b/modules/gawk/5.3.2.bcr.2/overlay/MODULE.bazel
@@ -0,0 +1 @@
+../MODULE.bazel
\ No newline at end of file
diff --git a/modules/gawk/5.3.2.bcr.2/overlay/posix/config_darwin.h b/modules/gawk/5.3.2.bcr.2/overlay/posix/config_darwin.h
new file mode 100644
index 0000000..9b036a6
--- /dev/null
+++ b/modules/gawk/5.3.2.bcr.2/overlay/posix/config_darwin.h
@@ -0,0 +1,609 @@
+/* config.h.  Generated from configh.in by configure.  */
+/* configh.in.  Generated from configure.ac by autoheader.  */
+
+/* dynamic loading is possible */
+#define DYNAMIC 1
+
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+/* #undef ENABLE_NLS */
+
+/* Define to the type of elements in the array set by `getgroups'. Usually
+   this is either `int' or `gid_t'. */
+#define GETGROUPS_T gid_t
+
+/* Define to 1 if the `getpgrp' function requires zero arguments. */
+#define GETPGRP_VOID 1
+
+/* Define to 1 if you have the `alarm' function. */
+#define HAVE_ALARM 1
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#define HAVE_ARPA_INET_H 1
+
+/* Define to 1 if you have the `atexit' function. */
+#define HAVE_ATEXIT 1
+
+/* Define to 1 if you have the `btowc' function. */
+#define HAVE_BTOWC 1
+
+/* Define to 1 if you have the Mac OS X function
+   CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */
+#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1
+
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+   the CoreFoundation framework. */
+#define HAVE_CFPREFERENCESCOPYAPPVALUE 1
+
+/* Define to 1 if you have the `clock_gettime' function. */
+#define HAVE_CLOCK_GETTIME 1
+
+/* Define to 1 if bool, true and false work as per C2023. */
+/* #undef HAVE_C_BOOL */
+
+/* Define to 1 if C supports variable-length arrays. */
+#define HAVE_C_VARARRAYS 1
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+   */
+/* #undef HAVE_DCGETTEXT */
+
+/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
+   */
+/* #undef HAVE_DECL_TZNAME */
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the `fmod' function. */
+#define HAVE_FMOD 1
+
+/* Define to 1 if you have the `fwrite_unlocked' function. */
+/* #undef HAVE_FWRITE_UNLOCKED */
+
+/* Define to 1 if you have the `gai_strerror' function. */
+#define HAVE_GAI_STRERROR 1
+
+/* have getaddrinfo */
+#define HAVE_GETADDRINFO 1
+
+/* Define to 1 if you have the `getdtablesize' function. */
+#define HAVE_GETDTABLESIZE 1
+
+/* Define to 1 if you have the `getgrent' function. */
+#define HAVE_GETGRENT 1
+
+/* Define to 1 if you have the `getgroups' function. */
+#define HAVE_GETGROUPS 1
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+/* #undef HAVE_GETTEXT */
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define to 1 if you have the `grantpt' function. */
+#define HAVE_GRANTPT 1
+
+/* Do we have history_list? */
+/* #undef HAVE_HISTORY_LIST */
+
+/* Define if you have the iconv() function and it works. */
+#define HAVE_ICONV 1
+
+/* Define to 1 if the system has the type `intmax_t'. */
+#define HAVE_INTMAX_T 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `isascii' function. */
+#define HAVE_ISASCII 1
+
+/* Define to 1 if you have the `isblank' function. */
+#define HAVE_ISBLANK 1
+
+/* Define to 1 if you have the `iswctype' function. */
+#define HAVE_ISWCTYPE 1
+
+/* Define to 1 if you have the `iswlower' function. */
+#define HAVE_ISWLOWER 1
+
+/* Define to 1 if you have the `iswupper' function. */
+#define HAVE_ISWUPPER 1
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#define HAVE_LANGINFO_CODESET 1
+
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#define HAVE_LC_MESSAGES 1
+
+/* Define to 1 if you have the <libintl.h> header file. */
+/* #undef HAVE_LIBINTL_H */
+
+/* Define to 1 if you have a fully functional readline library. */
+/* #define HAVE_LIBREADLINE 1 */
+
+/* Define to 1 if you have the <locale.h> header file. */
+#define HAVE_LOCALE_H 1
+
+/* Define to 1 if the system has the type 'long long int'. */
+#define HAVE_LONG_LONG_INT 1
+
+/* Define to 1 if you have the `lstat' function. */
+#define HAVE_LSTAT 1
+
+/* Define to 1 if you have the `mbrlen' function. */
+#define HAVE_MBRLEN 1
+
+/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
+#define HAVE_MBRTOWC 1
+
+/* Define to 1 if you have the <mcheck.h> header file. */
+/* #undef HAVE_MCHECK_H */
+
+/* Define to 1 if you have the `memcmp' function. */
+#define HAVE_MEMCMP 1
+
+/* Define to 1 if you have the `memcpy' function. */
+#define HAVE_MEMCPY 1
+
+/* Define to 1 if you have the `memmove' function. */
+#define HAVE_MEMMOVE 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `memset' function. */
+#define HAVE_MEMSET 1
+
+/* Define to 1 if you have the <minix/config.h> header file. */
+/* #undef HAVE_MINIX_CONFIG_H */
+
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+
+/* we have the mktime function */
+/* #undef HAVE_MKTIME */
+
+/* Define to 1 if you have fully functional mpfr and gmp libraries. */
+/* #undef HAVE_MPFR */
+
+/* Define to 1 if you have the `mtrace' function. */
+/* #undef HAVE_MTRACE */
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#define HAVE_NETDB_H 1
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#define HAVE_NETINET_IN_H 1
+
+/* Define to 1 if you have the `posix_openpt' function. */
+#define HAVE_POSIX_OPENPT 1
+
+/* Define to 1 if you have the `setenv' function. */
+#define HAVE_SETENV 1
+
+/* Define to 1 if you have the `setlocale' function. */
+#define HAVE_SETLOCALE 1
+
+/* Define to 1 if you have the `setsid' function. */
+#define HAVE_SETSID 1
+
+/* Define to 1 if you have the `sigprocmask' function. */
+#define HAVE_SIGPROCMASK 1
+
+/* Define to 1 if you have the `snprintf' function. */
+#define HAVE_SNPRINTF 1
+
+/* newer systems define this type here */
+#define HAVE_SOCKADDR_STORAGE 1
+
+/* we have sockets on this system */
+#define HAVE_SOCKETS 1
+
+/* Define to 1 if you have the <stdbool.h> header file. */
+#define HAVE_STDBOOL_H 1
+
+/* Define to 1 if you have the <stddef.h> header file. */
+#define HAVE_STDDEF_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#define HAVE_STDIO_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `strcasecmp' function. */
+#define HAVE_STRCASECMP 1
+
+/* Define to 1 if you have the `strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the `strcoll' function. */
+#define HAVE_STRCOLL 1
+
+/* Define to 1 if you have the `strerror' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if you have the `strftime' function. */
+#define HAVE_STRFTIME 1
+
+/* Define to 1 if cpp supports the ANSI # stringizing operator. */
+#define HAVE_STRINGIZE 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strncasecmp' function. */
+#define HAVE_STRNCASECMP 1
+
+/* Define to 1 if you have the <stropts.h> header file. */
+/* #undef HAVE_STROPTS_H */
+
+/* Define to 1 if you have the `strsignal' function. */
+#define HAVE_STRSIGNAL 1
+
+/* Define to 1 if you have the `strtod' function. */
+#define HAVE_STRTOD 1
+
+/* Define to 1 if you have the `strtoul' function. */
+#define HAVE_STRTOUL 1
+
+/* Define to 1 if `gr_passwd' is a member of `struct group'. */
+#define HAVE_STRUCT_GROUP_GR_PASSWD 1
+
+/* Define to 1 if `pw_passwd' is a member of `struct passwd'. */
+#define HAVE_STRUCT_PASSWD_PW_PASSWD 1
+
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
+
+/* Define to 1 if `tm_zone' is a member of `struct tm'. */
+#define HAVE_STRUCT_TM_TM_ZONE 1
+
+/* Define to 1 if you have the `system' function. */
+#define HAVE_SYSTEM 1
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#define HAVE_SYS_SELECT_H 1
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#define HAVE_SYS_SOCKET_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to 1 if you have the <termios.h> header file. */
+#define HAVE_TERMIOS_H 1
+
+/* Define to 1 if you have the `timegm' function. */
+#define HAVE_TIMEGM 1
+
+/* Define to 1 if you have the `tmpfile' function. */
+#define HAVE_TMPFILE 1
+
+/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
+   `HAVE_STRUCT_TM_TM_ZONE' instead. */
+#define HAVE_TM_ZONE 1
+
+/* Define to 1 if you have the `towlower' function. */
+#define HAVE_TOWLOWER 1
+
+/* Define to 1 if you have the `towupper' function. */
+#define HAVE_TOWUPPER 1
+
+/* Define to 1 if you don't have `tm_zone' but do have the external array
+   `tzname'. */
+/* #undef HAVE_TZNAME */
+
+/* Define to 1 if you have the `tzset' function. */
+#define HAVE_TZSET 1
+
+/* Define to 1 if the system has the type `uintmax_t'. */
+#define HAVE_UINTMAX_T 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if the system has the type `unsigned long long int'. */
+#define HAVE_UNSIGNED_LONG_LONG_INT 1
+
+/* Define to 1 if you have the `usleep' function. */
+#define HAVE_USLEEP 1
+
+/* Define to 1 if you have the `waitpid' function. */
+#define HAVE_WAITPID 1
+
+/* Define to 1 if you have the <wchar.h> header file. */
+#define HAVE_WCHAR_H 1
+
+/* Define to 1 if you have the `wcrtomb' function. */
+#define HAVE_WCRTOMB 1
+
+/* Define to 1 if you have the `wcscoll' function. */
+#define HAVE_WCSCOLL 1
+
+/* Define to 1 if you have the `wctype' function. */
+#define HAVE_WCTYPE 1
+
+/* Define to 1 if you have the <wctype.h> header file. */
+#define HAVE_WCTYPE_H 1
+
+/* systems should define this type here */
+#define HAVE_WCTYPE_T 1
+
+/* systems should define this type here */
+#define HAVE_WINT_T 1
+
+/* Define to 1 if you have the `__etoa_l' function. */
+/* #undef HAVE___ETOA_L */
+
+/* disable lint checks */
+/* #undef NO_LINT */
+
+/* Name of package */
+#define PACKAGE "gawk"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "bug-gawk@gnu.org"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "GNU Awk"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "GNU Awk 5.3.2"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "gawk"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "https://www.gnu.org/software/gawk/"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "5.3.2"
+
+/* Define to 1 if *printf supports %a format */
+#define PRINTF_HAS_A_FORMAT 1
+
+/* Define to 1 if *printf supports %F format */
+#define PRINTF_HAS_F_FORMAT 1
+
+/* The size of `unsigned int', as computed by sizeof. */
+#define SIZEOF_UNSIGNED_INT 4
+
+/* The size of `unsigned long', as computed by sizeof. */
+#define SIZEOF_UNSIGNED_LONG 8
+
+/* The size of `void *', as computed by sizeof. */
+#define SIZEOF_VOID_P 8
+
+/* Define to 1 if all of the C90 standard headers exist (not just the ones
+   required in a freestanding environment). This macro is provided for
+   backward compatibility; new code need not use it. */
+#define STDC_HEADERS 1
+
+/* enable built-in intdiv0 function */
+/* #undef SUPPLY_INTDIV */
+
+/* some systems define this type here */
+#define TIME_T_IN_SYS_TYPES_H 1
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+/* #undef TM_IN_SYS_TIME */
+
+/* Define to 1 if the character set is EBCDIC */
+/* #undef USE_EBCDIC */
+
+/* Define to 1 if we can use the pma allocator */
+/* #undef USE_PERSISTENT_MALLOC */
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+/* Enable general extensions on macOS.  */
+#ifndef _DARWIN_C_SOURCE
+# define _DARWIN_C_SOURCE 1
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+/* Enable X/Open compliant socket functions that do not require linking
+   with -lxnet on HP-UX 11.11.  */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# define _HPUX_ALT_XOPEN_SOCKET_API 1
+#endif
+/* Identify the host operating system as Minix.
+   This macro does not affect the system headers' behavior.
+   A future release of Autoconf may stop defining this macro.  */
+#ifndef _MINIX
+/* # undef _MINIX */
+#endif
+/* Enable general extensions on NetBSD.
+   Enable NetBSD compatibility extensions on Minix.  */
+#ifndef _NETBSD_SOURCE
+# define _NETBSD_SOURCE 1
+#endif
+/* Enable OpenBSD compatibility extensions on NetBSD.
+   Oddly enough, this does nothing on OpenBSD.  */
+#ifndef _OPENBSD_SOURCE
+# define _OPENBSD_SOURCE 1
+#endif
+/* Define to 1 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_SOURCE
+/* # undef _POSIX_SOURCE */
+#endif
+/* Define to 2 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_1_SOURCE
+/* # undef _POSIX_1_SOURCE */
+#endif
+/* Enable POSIX-compatible threading on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# define __STDC_WANT_IEC_60559_DFP_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
+#ifndef __STDC_WANT_LIB_EXT2__
+# define __STDC_WANT_LIB_EXT2__ 1
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009.  */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# define __STDC_WANT_MATH_SPEC_FUNCS__ 1
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+/* Enable X/Open extensions.  Define to 500 only if necessary
+   to make mbstate_t available.  */
+#ifndef _XOPEN_SOURCE
+/* # undef _XOPEN_SOURCE */
+#endif
+
+
+/* Version number of package */
+#define VERSION "5.3.2"
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
+
+/* The _Noreturn keyword of C11.  */
+#ifndef _Noreturn
+# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+      || 0x5110 <= __SUNPRO_C)
+#  define _Noreturn __attribute__ ((__noreturn__))
+# elif defined _MSC_VER && 1200 <= _MSC_VER
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn
+# endif
+#endif
+
+
+/* Define to 1 if type `char' is unsigned and your compiler does not
+   predefine this macro.  */
+#ifndef __CHAR_UNSIGNED__
+/* # undef __CHAR_UNSIGNED__ */
+#endif
+
+/* Define to 1 if C does not support variable-length arrays, and if the
+   compiler does not already define this. */
+/* #undef __STDC_NO_VLA__ */
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef gid_t */
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define to the widest signed integer type if <stdint.h> and <inttypes.h> do
+   not define. */
+/* #undef intmax_t */
+
+/* Define as a signed integer type capable of holding a process identifier. */
+/* #undef pid_t */
+
+/* Define to the equivalent of the C99 'restrict' keyword, or to
+   nothing if this is not supported.  Do not define if restrict is
+   supported only directly.  */
+#define restrict __restrict__
+/* Work around a bug in older versions of Sun C++, which did not
+   #define __restrict__ or support _Restrict or __restrict__
+   even though the corresponding Sun C compiler ended up with
+   "#define restrict _Restrict" or "#define restrict __restrict__"
+   in the previous line.  This workaround can be removed once
+   we assume Oracle Developer Studio 12.5 (2016) or later.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__
+# define _Restrict
+# define __restrict__
+#endif
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+/* type to use in place of socklen_t if not defined */
+/* #undef socklen_t */
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef ssize_t */
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef uid_t */
+
+/* Define to the widest unsigned integer type if <stdint.h> and <inttypes.h>
+   do not define. */
+/* #undef uintmax_t */
+
+#ifndef HAVE_C_BOOL
+# if !defined __cplusplus && !defined __bool_true_false_are_defined
+#  if HAVE_STDBOOL_H
+#   include <stdbool.h>
+#  else
+#   if defined __SUNPRO_C
+#    error "<stdbool.h> is not usable with this configuration. To make it usable, add -D_STDC_C99= to $CC."
+#   else
+#    error "<stdbool.h> does not exist on this platform. Use gnulib module 'stdbool-c99' instead of gnulib module 'stdbool'."
+#   endif
+#  endif
+# endif
+# if !true
+#  define true (!false)
+# endif
+#endif
+
+#include "custom.h"
diff --git a/modules/gawk/5.3.2.bcr.2/overlay/posix/config_linux.h b/modules/gawk/5.3.2.bcr.2/overlay/posix/config_linux.h
new file mode 100644
index 0000000..657e353
--- /dev/null
+++ b/modules/gawk/5.3.2.bcr.2/overlay/posix/config_linux.h
@@ -0,0 +1,609 @@
+/* config.h.  Generated from configh.in by configure.  */
+/* configh.in.  Generated from configure.ac by autoheader.  */
+
+/* dynamic loading is possible */
+#define DYNAMIC 1
+
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+#define ENABLE_NLS 1
+
+/* Define to the type of elements in the array set by `getgroups'. Usually
+   this is either `int' or `gid_t'. */
+#define GETGROUPS_T gid_t
+
+/* Define to 1 if the `getpgrp' function requires zero arguments. */
+#define GETPGRP_VOID 1
+
+/* Define to 1 if you have the `alarm' function. */
+#define HAVE_ALARM 1
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#define HAVE_ARPA_INET_H 1
+
+/* Define to 1 if you have the `atexit' function. */
+#define HAVE_ATEXIT 1
+
+/* Define to 1 if you have the `btowc' function. */
+#define HAVE_BTOWC 1
+
+/* Define to 1 if you have the Mac OS X function
+   CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */
+/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */
+
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+   the CoreFoundation framework. */
+/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */
+
+/* Define to 1 if you have the `clock_gettime' function. */
+#define HAVE_CLOCK_GETTIME 1
+
+/* Define to 1 if bool, true and false work as per C2023. */
+/* #undef HAVE_C_BOOL */
+
+/* Define to 1 if C supports variable-length arrays. */
+#define HAVE_C_VARARRAYS 1
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+   */
+#define HAVE_DCGETTEXT 1
+
+/* Define to 1 if you have the declaration of `tzname', and to 0 if you don't.
+   */
+/* #undef HAVE_DECL_TZNAME */
+
+/* Define to 1 if you have the <fcntl.h> header file. */
+#define HAVE_FCNTL_H 1
+
+/* Define to 1 if you have the `fmod' function. */
+#define HAVE_FMOD 1
+
+/* Define to 1 if you have the `fwrite_unlocked' function. */
+#define HAVE_FWRITE_UNLOCKED 1
+
+/* Define to 1 if you have the `gai_strerror' function. */
+#define HAVE_GAI_STRERROR 1
+
+/* have getaddrinfo */
+#define HAVE_GETADDRINFO 1
+
+/* Define to 1 if you have the `getdtablesize' function. */
+#define HAVE_GETDTABLESIZE 1
+
+/* Define to 1 if you have the `getgrent' function. */
+#define HAVE_GETGRENT 1
+
+/* Define to 1 if you have the `getgroups' function. */
+#define HAVE_GETGROUPS 1
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#define HAVE_GETTEXT 1
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define to 1 if you have the `grantpt' function. */
+#define HAVE_GRANTPT 1
+
+/* Do we have history_list? */
+/* #undef HAVE_HISTORY_LIST */
+
+/* Define if you have the iconv() function and it works. */
+/* #undef HAVE_ICONV */
+
+/* Define to 1 if the system has the type `intmax_t'. */
+#define HAVE_INTMAX_T 1
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `isascii' function. */
+#define HAVE_ISASCII 1
+
+/* Define to 1 if you have the `isblank' function. */
+#define HAVE_ISBLANK 1
+
+/* Define to 1 if you have the `iswctype' function. */
+#define HAVE_ISWCTYPE 1
+
+/* Define to 1 if you have the `iswlower' function. */
+#define HAVE_ISWLOWER 1
+
+/* Define to 1 if you have the `iswupper' function. */
+#define HAVE_ISWUPPER 1
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#define HAVE_LANGINFO_CODESET 1
+
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#define HAVE_LC_MESSAGES 1
+
+/* Define to 1 if you have the <libintl.h> header file. */
+#define HAVE_LIBINTL_H 1
+
+/* Define to 1 if you have a fully functional readline library. */
+/* #undef HAVE_LIBREADLINE */
+
+/* Define to 1 if you have the <locale.h> header file. */
+#define HAVE_LOCALE_H 1
+
+/* Define to 1 if the system has the type 'long long int'. */
+#define HAVE_LONG_LONG_INT 1
+
+/* Define to 1 if you have the `lstat' function. */
+#define HAVE_LSTAT 1
+
+/* Define to 1 if you have the `mbrlen' function. */
+#define HAVE_MBRLEN 1
+
+/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
+#define HAVE_MBRTOWC 1
+
+/* Define to 1 if you have the <mcheck.h> header file. */
+/* #undef HAVE_MCHECK_H */
+
+/* Define to 1 if you have the `memcmp' function. */
+#define HAVE_MEMCMP 1
+
+/* Define to 1 if you have the `memcpy' function. */
+#define HAVE_MEMCPY 1
+
+/* Define to 1 if you have the `memmove' function. */
+#define HAVE_MEMMOVE 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `memset' function. */
+#define HAVE_MEMSET 1
+
+/* Define to 1 if you have the <minix/config.h> header file. */
+/* #undef HAVE_MINIX_CONFIG_H */
+
+/* Define to 1 if you have the `mkstemp' function. */
+#define HAVE_MKSTEMP 1
+
+/* we have the mktime function */
+#define HAVE_MKTIME 1
+
+/* Define to 1 if you have fully functional mpfr and gmp libraries. */
+/* #undef HAVE_MPFR */
+
+/* Define to 1 if you have the `mtrace' function. */
+/* #undef HAVE_MTRACE */
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#define HAVE_NETDB_H 1
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#define HAVE_NETINET_IN_H 1
+
+/* Define to 1 if you have the `posix_openpt' function. */
+#define HAVE_POSIX_OPENPT 1
+
+/* Define to 1 if you have the `setenv' function. */
+#define HAVE_SETENV 1
+
+/* Define to 1 if you have the `setlocale' function. */
+#define HAVE_SETLOCALE 1
+
+/* Define to 1 if you have the `setsid' function. */
+#define HAVE_SETSID 1
+
+/* Define to 1 if you have the `sigprocmask' function. */
+#define HAVE_SIGPROCMASK 1
+
+/* Define to 1 if you have the `snprintf' function. */
+#define HAVE_SNPRINTF 1
+
+/* newer systems define this type here */
+#define HAVE_SOCKADDR_STORAGE 1
+
+/* we have sockets on this system */
+#define HAVE_SOCKETS 1
+
+/* Define to 1 if you have the <stdbool.h> header file. */
+#define HAVE_STDBOOL_H 1
+
+/* Define to 1 if you have the <stddef.h> header file. */
+#define HAVE_STDDEF_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#define HAVE_STDIO_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the `strcasecmp' function. */
+#define HAVE_STRCASECMP 1
+
+/* Define to 1 if you have the `strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the `strcoll' function. */
+#define HAVE_STRCOLL 1
+
+/* Define to 1 if you have the `strerror' function. */
+#define HAVE_STRERROR 1
+
+/* Define to 1 if you have the `strftime' function. */
+#define HAVE_STRFTIME 1
+
+/* Define to 1 if cpp supports the ANSI # stringizing operator. */
+#define HAVE_STRINGIZE 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strncasecmp' function. */
+#define HAVE_STRNCASECMP 1
+
+/* Define to 1 if you have the <stropts.h> header file. */
+/* #define HAVE_STROPTS_H 0 */
+
+/* Define to 1 if you have the `strsignal' function. */
+#define HAVE_STRSIGNAL 1
+
+/* Define to 1 if you have the `strtod' function. */
+#define HAVE_STRTOD 1
+
+/* Define to 1 if you have the `strtoul' function. */
+#define HAVE_STRTOUL 1
+
+/* Define to 1 if `gr_passwd' is a member of `struct group'. */
+#define HAVE_STRUCT_GROUP_GR_PASSWD 1
+
+/* Define to 1 if `pw_passwd' is a member of `struct passwd'. */
+#define HAVE_STRUCT_PASSWD_PW_PASSWD 1
+
+/* Define to 1 if `st_blksize' is a member of `struct stat'. */
+#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
+
+/* Define to 1 if `tm_zone' is a member of `struct tm'. */
+#define HAVE_STRUCT_TM_TM_ZONE 1
+
+/* Define to 1 if you have the `system' function. */
+#define HAVE_SYSTEM 1
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#define HAVE_SYS_SELECT_H 1
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#define HAVE_SYS_SOCKET_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to 1 if you have the <termios.h> header file. */
+#define HAVE_TERMIOS_H 1
+
+/* Define to 1 if you have the `timegm' function. */
+#define HAVE_TIMEGM 1
+
+/* Define to 1 if you have the `tmpfile' function. */
+#define HAVE_TMPFILE 1
+
+/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
+   `HAVE_STRUCT_TM_TM_ZONE' instead. */
+#define HAVE_TM_ZONE 1
+
+/* Define to 1 if you have the `towlower' function. */
+#define HAVE_TOWLOWER 1
+
+/* Define to 1 if you have the `towupper' function. */
+#define HAVE_TOWUPPER 1
+
+/* Define to 1 if you don't have `tm_zone' but do have the external array
+   `tzname'. */
+/* #undef HAVE_TZNAME */
+
+/* Define to 1 if you have the `tzset' function. */
+#define HAVE_TZSET 1
+
+/* Define to 1 if the system has the type `uintmax_t'. */
+#define HAVE_UINTMAX_T 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if the system has the type `unsigned long long int'. */
+#define HAVE_UNSIGNED_LONG_LONG_INT 1
+
+/* Define to 1 if you have the `usleep' function. */
+#define HAVE_USLEEP 1
+
+/* Define to 1 if you have the `waitpid' function. */
+#define HAVE_WAITPID 1
+
+/* Define to 1 if you have the <wchar.h> header file. */
+#define HAVE_WCHAR_H 1
+
+/* Define to 1 if you have the `wcrtomb' function. */
+#define HAVE_WCRTOMB 1
+
+/* Define to 1 if you have the `wcscoll' function. */
+#define HAVE_WCSCOLL 1
+
+/* Define to 1 if you have the `wctype' function. */
+#define HAVE_WCTYPE 1
+
+/* Define to 1 if you have the <wctype.h> header file. */
+#define HAVE_WCTYPE_H 1
+
+/* systems should define this type here */
+#define HAVE_WCTYPE_T 1
+
+/* systems should define this type here */
+#define HAVE_WINT_T 1
+
+/* Define to 1 if you have the `__etoa_l' function. */
+/* #undef HAVE___ETOA_L */
+
+/* disable lint checks */
+/* #undef NO_LINT */
+
+/* Name of package */
+#define PACKAGE "gawk"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "bug-gawk@gnu.org"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "GNU Awk"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "GNU Awk 5.3.2"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "gawk"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "https://www.gnu.org/software/gawk/"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "5.3.2"
+
+/* Define to 1 if *printf supports %a format */
+#define PRINTF_HAS_A_FORMAT 1
+
+/* Define to 1 if *printf supports %F format */
+#define PRINTF_HAS_F_FORMAT 1
+
+/* The size of `unsigned int', as computed by sizeof. */
+#define SIZEOF_UNSIGNED_INT 4
+
+/* The size of `unsigned long', as computed by sizeof. */
+#define SIZEOF_UNSIGNED_LONG 8
+
+/* The size of `void *', as computed by sizeof. */
+#define SIZEOF_VOID_P 8
+
+/* Define to 1 if all of the C90 standard headers exist (not just the ones
+   required in a freestanding environment). This macro is provided for
+   backward compatibility; new code need not use it. */
+#define STDC_HEADERS 1
+
+/* enable built-in intdiv0 function */
+/* #undef SUPPLY_INTDIV */
+
+/* some systems define this type here */
+#define TIME_T_IN_SYS_TYPES_H 1
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+/* #undef TM_IN_SYS_TIME */
+
+/* Define to 1 if the character set is EBCDIC */
+/* #undef USE_EBCDIC */
+
+/* Define to 1 if we can use the pma allocator */
+#define USE_PERSISTENT_MALLOC 1
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+/* Enable general extensions on macOS.  */
+#ifndef _DARWIN_C_SOURCE
+# define _DARWIN_C_SOURCE 1
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+/* Enable X/Open compliant socket functions that do not require linking
+   with -lxnet on HP-UX 11.11.  */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# define _HPUX_ALT_XOPEN_SOCKET_API 1
+#endif
+/* Identify the host operating system as Minix.
+   This macro does not affect the system headers' behavior.
+   A future release of Autoconf may stop defining this macro.  */
+#ifndef _MINIX
+/* # undef _MINIX */
+#endif
+/* Enable general extensions on NetBSD.
+   Enable NetBSD compatibility extensions on Minix.  */
+#ifndef _NETBSD_SOURCE
+# define _NETBSD_SOURCE 1
+#endif
+/* Enable OpenBSD compatibility extensions on NetBSD.
+   Oddly enough, this does nothing on OpenBSD.  */
+#ifndef _OPENBSD_SOURCE
+# define _OPENBSD_SOURCE 1
+#endif
+/* Define to 1 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_SOURCE
+/* # undef _POSIX_SOURCE */
+#endif
+/* Define to 2 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_1_SOURCE
+/* # undef _POSIX_1_SOURCE */
+#endif
+/* Enable POSIX-compatible threading on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# define __STDC_WANT_IEC_60559_DFP_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
+#ifndef __STDC_WANT_LIB_EXT2__
+# define __STDC_WANT_LIB_EXT2__ 1
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009.  */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# define __STDC_WANT_MATH_SPEC_FUNCS__ 1
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+/* Enable X/Open extensions.  Define to 500 only if necessary
+   to make mbstate_t available.  */
+#ifndef _XOPEN_SOURCE
+/* # undef _XOPEN_SOURCE */
+#endif
+
+
+/* Version number of package */
+#define VERSION "5.3.2"
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
+
+/* The _Noreturn keyword of C11.  */
+#ifndef _Noreturn
+# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
+      || 0x5110 <= __SUNPRO_C)
+#  define _Noreturn __attribute__ ((__noreturn__))
+# elif defined _MSC_VER && 1200 <= _MSC_VER
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn
+# endif
+#endif
+
+
+/* Define to 1 if type `char' is unsigned and your compiler does not
+   predefine this macro.  */
+#ifndef __CHAR_UNSIGNED__
+# define __CHAR_UNSIGNED__ 1
+#endif
+
+/* Define to 1 if C does not support variable-length arrays, and if the
+   compiler does not already define this. */
+/* #undef __STDC_NO_VLA__ */
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef gid_t */
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Define to the widest signed integer type if <stdint.h> and <inttypes.h> do
+   not define. */
+/* #undef intmax_t */
+
+/* Define as a signed integer type capable of holding a process identifier. */
+/* #undef pid_t */
+
+/* Define to the equivalent of the C99 'restrict' keyword, or to
+   nothing if this is not supported.  Do not define if restrict is
+   supported only directly.  */
+#define restrict __restrict__
+/* Work around a bug in older versions of Sun C++, which did not
+   #define __restrict__ or support _Restrict or __restrict__
+   even though the corresponding Sun C compiler ended up with
+   "#define restrict _Restrict" or "#define restrict __restrict__"
+   in the previous line.  This workaround can be removed once
+   we assume Oracle Developer Studio 12.5 (2016) or later.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__
+# define _Restrict
+# define __restrict__
+#endif
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+/* type to use in place of socklen_t if not defined */
+/* #undef socklen_t */
+
+/* Define to `int' if <sys/types.h> does not define. */
+/* #undef ssize_t */
+
+/* Define to `int' if <sys/types.h> doesn't define. */
+/* #undef uid_t */
+
+/* Define to the widest unsigned integer type if <stdint.h> and <inttypes.h>
+   do not define. */
+/* #undef uintmax_t */
+
+#ifndef HAVE_C_BOOL
+# if !defined __cplusplus && !defined __bool_true_false_are_defined
+#  if HAVE_STDBOOL_H
+#   include <stdbool.h>
+#  else
+#   if defined __SUNPRO_C
+#    error "<stdbool.h> is not usable with this configuration. To make it usable, add -D_STDC_C99= to $CC."
+#   else
+#    error "<stdbool.h> does not exist on this platform. Use gnulib module 'stdbool-c99' instead of gnulib module 'stdbool'."
+#   endif
+#  endif
+# endif
+# if !true
+#  define true (!false)
+# endif
+#endif
+
+#include "custom.h"
diff --git a/modules/gawk/5.3.2.bcr.2/overlay/test/BUILD.bazel b/modules/gawk/5.3.2.bcr.2/overlay/test/BUILD.bazel
new file mode 100644
index 0000000..28a1eab
--- /dev/null
+++ b/modules/gawk/5.3.2.bcr.2/overlay/test/BUILD.bazel
@@ -0,0 +1,100 @@
+load("@bazel_skylib//rules:diff_test.bzl", "diff_test")
+load("@bazel_skylib//rules:write_file.bzl", "write_file")
+load("@rules_shell//shell:sh_test.bzl", "sh_test")
+
+write_file(
+    name = "wrapper",
+    out = "wrapper.sh",
+    content = [
+        "#!/bin/sh",
+        "REALEXEC=$(realpath $1)",
+        "export GAWK=$(realpath $2)",
+        "export AWK=$(realpath $2)",
+        "cd test",
+        "$REALEXEC",
+    ],
+    is_executable = True,
+)
+
+SHELL_WRAPPED_TESTS = [
+    test.replace(".sh", "")
+    for test in glob(["*.sh"])
+]
+
+[
+    sh_test(
+        name = test,
+        srcs = ["wrapper.sh"],
+        args = [
+            "$(rootpath {}.sh)".format(test),
+            "$(rootpath //:gawk)",
+        ],
+        data = glob(
+            include = [test + ".awk"],
+            allow_empty = True,
+        ) + [
+            ":{}.sh".format(test),
+            "//:gawk",
+        ],
+    )
+    for test in SHELL_WRAPPED_TESTS
+    if test not in [
+        # TODO: These tests are not configured correctly.
+        "jarebug",
+    ]
+]
+
+ALL_AWKS = [awk.replace(".awk", "") for awk in glob(["*.awk"])]
+
+AWKS = ALL_AWKS[:10]
+
+IN = [inn.replace(".in", "") for inn in glob(["*.in"])]
+
+OK = [ok.replace(".ok", "") for ok in glob(["*.ok"])]
+
+AWK_TESTS = [
+    awk
+    for awk in AWKS
+    # exclude shell wrapped tests
+    if awk not in SHELL_WRAPPED_TESTS
+]
+
+[
+    genrule(
+        name = awk + "_gen",
+        srcs = glob(
+            include = [
+                awk + ".ok",
+                awk + ".in",
+            ],
+            allow_empty = True,
+        ) + [
+            awk + ".awk",
+            "//:gawk",
+        ],
+        outs = [awk + "_gen.out"],
+        cmd = """
+$(execpath  //:gawk) -f $(execpath {AWK}.awk) < {IN} > $@ || echo "EXIT CODE: $$?" >> $@
+        """.format(
+            AWK = awk,
+            IN = "/dev/null" if awk not in IN else "$(execpath {}.in)".format(awk),
+        ),
+    )
+    for awk in AWK_TESTS
+]
+
+[
+    diff_test(
+        name = awk + "_diff_test",
+        file1 = awk + "_gen.out",
+        file2 = awk + ".ok",
+    )
+    for awk in AWK_TESTS
+    if awk in OK and awk not in [
+        # TODO: These tests are not configured correctly.
+        "aadelete2",
+        "apiterm",
+        "ar2fn_elnew",
+        "ar2fn_elnew_sc",
+    ]
+]
diff --git a/modules/gawk/5.3.2.bcr.2/presubmit.yml b/modules/gawk/5.3.2.bcr.2/presubmit.yml
new file mode 100644
index 0000000..3f914d4
--- /dev/null
+++ b/modules/gawk/5.3.2.bcr.2/presubmit.yml
@@ -0,0 +1,14 @@
+bcr_test_module:
+  module_path: ""
+  matrix:
+    platform: ["macos_arm64", "ubuntu2004"]
+    bazel: ["7.x", "8.x"]
+  tasks:
+    verify_targets:
+      name: "Run test module"
+      platform: ${{ platform }}
+      bazel: ${{ bazel }}
+      build_targets:
+      - "//..."
+      test_targets:
+      - "//..."
diff --git a/modules/gawk/5.3.2.bcr.2/source.json b/modules/gawk/5.3.2.bcr.2/source.json
new file mode 100644
index 0000000..36ae0ce
--- /dev/null
+++ b/modules/gawk/5.3.2.bcr.2/source.json
@@ -0,0 +1,16 @@
+{
+    "url": "https://mirrors.kernel.org/gnu/gawk/gawk-5.3.2.tar.xz",
+    "mirror_urls": [
+        "https://ftp.gnu.org/gnu/gawk/gawk-5.3.2.tar.xz",
+        "https://ftpmirror.gnu.org/gnu/gawk/gawk-5.3.2.tar.xz"
+    ],
+    "strip_prefix": "gawk-5.3.2",
+    "integrity": "sha256-+MNIZQnecFGSE4sA7ywAu73Q6Eww1cB9I/xzqdxMycw=",
+    "overlay": {
+        "BUILD.bazel": "sha256-vvLwrfFeZ8sF4pvJp+8T2TX5MA27ac0H1C7z+5pMMi0=",
+        "MODULE.bazel": "sha256-rjGGgPMdGWDx0QLbO34Ez6b7OK6bpUMZtrmxBLSefGU=",
+        "posix/config_darwin.h": "sha256-gPVRlvtdXPw4Ikwd5S89wPPw5AaiB2HTHa1KOtj40mU=",
+        "posix/config_linux.h": "sha256-iEaeXYBUCvprsIEEi5ipwqt0JV8d73+rLgoBYTegC6Q=",
+        "test/BUILD.bazel": "sha256-NktOb/GQZ8AimXwLEfGFMJB3TtgAFhobM5f9aWsHwLQ="
+    }
+}
diff --git a/modules/gawk/metadata.json b/modules/gawk/metadata.json
index 925d979..969605e 100644
--- a/modules/gawk/metadata.json
+++ b/modules/gawk/metadata.json
@@ -15,11 +15,14 @@
         }
     ],
     "repository": [
-        "https://ftp.gnu.org/gnu/gawk/"
+        "https://ftp.gnu.org/gnu/gawk/",
+        "https://ftpmirror.gnu.org/gnu/gawk/",
+        "https://mirrors.kernel.org/gnu/gawk/"
     ],
     "versions": [
         "5.3.2",
-        "5.3.2.bcr.1"
+        "5.3.2.bcr.1",
+        "5.3.2.bcr.2"
     ],
     "yanked_versions": {}
 }
diff --git a/modules/ncurses/6.4.20221231.bcr.9/MODULE.bazel b/modules/ncurses/6.4.20221231.bcr.9/MODULE.bazel
new file mode 100644
index 0000000..93c9560
--- /dev/null
+++ b/modules/ncurses/6.4.20221231.bcr.9/MODULE.bazel
@@ -0,0 +1,18 @@
+module(
+    name = "ncurses",
+    version = "6.4.20221231.bcr.9",
+    compatibility_level = 0,
+    bazel_compatibility = [">=7.2.1"],
+)
+
+bazel_dep(name = "bazel_skylib", version = "1.8.2")
+bazel_dep(name = "gawk", version = "5.3.2.bcr.2")
+bazel_dep(name = "platforms", version = "1.0.0")
+bazel_dep(name = "rules_cc", version = "0.2.4")
+bazel_dep(name = "sed", version = "4.9.bcr.3")
+
+local_terminfo = use_extension("//bazel:terminfo.bzl", "local_terminfo")
+local_terminfo.data(
+    name = "local_terminfo",
+)
+use_repo(local_terminfo, "local_terminfo")
diff --git a/modules/ncurses/6.4.20221231.bcr.9/overlay/BUILD.bazel b/modules/ncurses/6.4.20221231.bcr.9/overlay/BUILD.bazel
new file mode 100644
index 0000000..4d1374e
--- /dev/null
+++ b/modules/ncurses/6.4.20221231.bcr.9/overlay/BUILD.bazel
@@ -0,0 +1,796 @@
+# Copyright 2020 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# The ncurses C library and unit test.
+
+load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
+load("@bazel_skylib//rules:write_file.bzl", "write_file")
+load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
+load("//bazel:automake_substitution.bzl", "automake_substitution")
+load("//bazel:pseudo_configure.bzl", "pseudo_configure")
+
+package(default_visibility = ["//visibility:public"])
+
+licenses(["notice"])
+
+exports_files([
+    "LICENSE",
+    "include/Caps",
+])
+
+NCURSES_COPTS = [
+    "-w",
+    "-DTRACE",
+    "-DHAVE_CONFIG_H",
+    "-D_GNU_SOURCE",
+    "-DNDEBUG",
+]
+
+CAPLIST = [
+    "include/Caps",
+    "include/Caps-ncurses",
+]
+
+CAPLIST_LOCATIONS = " ".join(["$(execpath :" + cap + ")" for cap in CAPLIST])
+
+AUTOMAKE_SUBSTITUTIONS_COMMON = {
+    "BROKEN_LINKER": "0",
+    "EXP_WIN32_DRIVER": "0",
+    "GENERATED_EXT_FUNCS": "generated",
+    "HAVE_BTOWC": "1",
+    "HAVE_MBLEN": "1",
+    "HAVE_MBRLEN": "1",
+    "HAVE_MBRTOWC": "1",
+    "HAVE_MBSRTOWCS": "1",
+    "HAVE_MBSTOWCS": "1",
+    "HAVE_MBTOWC": "1",
+    "HAVE_PUTWC": "1",
+    "HAVE_STDINT_H": "1",
+    "HAVE_STDNORETURN_H": "1",
+    "HAVE_TCGETATTR": "1",
+    "HAVE_TERMIOS_H": "1",
+    "HAVE_TERMIO_H": "1",
+    "HAVE_VSSCANF": "1",
+    "HAVE_WCHAR_H": "1",
+    "HAVE_WCSRTOMBS": "1",
+    "HAVE_WCSTOMBS": "1",
+    "HAVE_WCTOB": "1",
+    "HAVE_WCTOMB": "1",
+    "HAVE_WCTYPE_H": "1",
+    "HAVE_WMEMCHR": "1",
+    "NCURSES_CCHARW_MAX": "5",
+    "NCURSES_CH_T": "cchar_t",
+    "NCURSES_CONST": "const",
+    "NCURSES_EXT_COLORS": "0",
+    "NCURSES_EXT_FUNCS": "1",
+    "NCURSES_INLINE": "inline",
+    "NCURSES_INTEROP_FUNCS": "1",
+    "NCURSES_LIBUTF8": "0",
+    "NCURSES_MAJOR": "6",
+    "NCURSES_MBSTATE_T": "1",
+    "NCURSES_MINOR": "4",
+    "NCURSES_MOUSE_VERSION": "2",
+    "NCURSES_OK_WCHAR_T": "",
+    "NCURSES_OPAQUE": "0",
+    "NCURSES_OPAQUE_FORM": "0",
+    "NCURSES_OPAQUE_MENU": "0",
+    "NCURSES_OPAQUE_PANEL": "0",
+    "NCURSES_OSPEED": "short",
+    "NCURSES_PATCH": "20221231",
+    "NCURSES_SBOOL": "char",
+    "NCURSES_SIZE_T": "short",
+    "NCURSES_SP_FUNCS": "1",
+    "NCURSES_TPARM_ARG": "intptr_t",
+    "NCURSES_TPARM_VARARGS": "1",
+    "NCURSES_USE_DATABASE": "1",
+    "NCURSES_USE_TERMCAP": "0",
+    "NCURSES_WATTR_MACROS": "1",
+    "NCURSES_WCHAR_T": "0",
+    "NCURSES_WCWIDTH_GRAPHICS": "1",
+    "NCURSES_WIDECHAR": "1",
+    "NCURSES_WINT_T": "0",
+    "NCURSES_WRAP_PREFIX": "_nc_",
+    "NCURSES_XNAMES": "1",
+    "NEED_WCHAR_H": "1",
+    "USE_CXX_BOOL": "defined(__cplusplus)",
+    "USE_WIDEC_SUPPORT": "1",
+    "cf_cv_1UL": "1U",
+    "cf_cv_enable_lp64": "1",
+    "cf_cv_enable_reentrant": "0",
+    "cf_cv_header_stdbool_h": "1",
+    "cf_cv_type_of_bool": "unsigned char",
+    "cf_cv_typeof_chtype": "cchar_t",
+    "cf_cv_typeof_mmask_t": "unsigned",
+}
+
+AUTOMAKE_SUBSTITUTIONS = select({
+    "@platforms//cpu:armv7": AUTOMAKE_SUBSTITUTIONS_COMMON | {
+        "HAVE_STDNORETURN_H": "0",
+        "HAVE_WCHAR_H": "0",
+        "NCURSES_CH_T": "chtype",
+        "NCURSES_WATTR_MACROS": "0",
+        "NCURSES_WIDECHAR": "0",
+        "NEED_WCHAR_H": "0",
+        "USE_WIDEC_SUPPORT": "0",
+        "cf_cv_typeof_chtype": "uint32_t",
+        "cf_cv_typeof_mmask_t": "uint32_t",
+    },
+    "//conditions:default": AUTOMAKE_SUBSTITUTIONS_COMMON,
+})
+
+cc_library(
+    name = "ncurses_headers",
+    hdrs = glob(["include/*"]) + [
+        # Generated files are not found by glob.
+        "include/hashsize.h",
+        "include/ncurses_cfg.h",
+        "include/ncurses_def.h",
+        "include/parametrized.h",
+        "include/curses.h",
+        "include/term.h",
+        "include/ncurses_dll.h",
+        "include/unctrl.h",
+        "include/termcap.h",
+    ],
+    includes = [
+        "include",
+        "ncurses",
+    ],
+)
+
+NCURSES_TEXTUAL_HDRS = [
+    "ncurses/tinfo/doalloc.c",
+    "ncurses/names.c",
+]
+
+cc_library(
+    name = "ncurses_textual_headers",
+    hdrs = NCURSES_TEXTUAL_HDRS,
+    includes = [
+        "ncurses",
+    ],
+)
+
+NCURSES_SRCS = glob(
+    [
+        "ncurses/base/*.c",
+        "ncurses/*.c",
+        "ncurses/*.h",
+        "ncurses/tinfo/*.c",
+        "ncurses/trace/*.c",
+        "ncurses/tty/*.c",
+    ],
+    exclude = [
+        "ncurses/base/lib_driver.c",
+        "ncurses/base/sigaction.c",
+        "ncurses/tinfo/make_keys.c",
+        "ncurses/tinfo/tinfo_driver.c",
+        "ncurses/tinfo/make_hash.c",
+        "ncurses/report_offsets.c",
+        "ncurses/report_hashing.c",
+    ],
+) + [
+    # Generated files are not found by glob.
+    "ncurses/codes.c",
+    "ncurses/comp_captab.c",
+    "ncurses/comp_userdefs.c",
+    "ncurses/fallback.c",
+    "ncurses/init_keytry.h",
+    "ncurses/lib_gen.c",
+    "ncurses/lib_keyname.c",
+    "ncurses/names.c",
+    "ncurses/unctrl.c",
+]
+
+cc_library(
+    name = "ncurses",
+    srcs = select({
+        "@platforms//cpu:armv7": NCURSES_SRCS,
+        "//conditions:default": NCURSES_SRCS + glob([
+            "ncurses/widechar/*.c",
+        ]),
+    }),
+    copts = NCURSES_COPTS,
+    textual_hdrs = NCURSES_TEXTUAL_HDRS,
+    deps = [":ncurses_headers"],
+)
+
+# Common headers between form and menu.
+cc_library(
+    name = "mf_common",
+    hdrs = [
+        "menu/eti.h",
+        "menu/mf_common.h",
+    ],
+    includes = ["menu"],
+)
+
+cc_library(
+    name = "form",
+    srcs = glob(["form/*.c"]) + [
+        "form/form.priv.h",
+        "ncurses/curses.priv.h",
+    ],
+    hdrs = ["form/form.h"],
+    copts = NCURSES_COPTS,
+    deps = [
+        ":mf_common",
+        ":ncurses",
+    ],
+)
+
+cc_library(
+    name = "menu",
+    srcs = glob(["menu/*.c"]) + [
+        "menu/menu.priv.h",
+        "ncurses/curses.priv.h",
+    ],
+    hdrs = ["menu/menu.h"],
+    copts = NCURSES_COPTS,
+    deps = [
+        ":mf_common",
+        ":ncurses",
+    ],
+)
+
+cc_library(
+    name = "panel",
+    srcs = glob(["panel/*.c"]) + [
+        "ncurses/curses.priv.h",
+        "panel/panel.priv.h",
+    ],
+    hdrs = [
+        "panel/panel.h",
+    ],
+    copts = NCURSES_COPTS,
+    deps = [":ncurses"],
+)
+
+write_file(
+    name = "progs/transform_h",
+    out = "progs/transform.h",
+    content = """\
+#ifndef __TRANSFORM_H
+#define __TRANSFORM_H 1
+#include <progs.priv.h>
+extern bool same_program(const char *, const char *);
+
+#define PROG_CAPTOINFO \"captoinfo\"
+#define PROG_INFOTOCAP \"infotocap\"
+#define PROG_CLEAR     \"clear\"
+#define PROG_RESET     \"reset\"
+#define PROG_INIT      \"init\"
+#endif /* __TRANSFORM_H */
+""".splitlines(),
+    newline = "unix",
+)
+
+genrule(
+    name = "progs_termsort_h",
+    srcs = [
+        "include/Caps",
+    ],
+    outs = ["progs/termsort.h"],
+    cmd = "$(execpath :progs/MKtermsort.sh) $(execpath @gawk) $(execpath include/Caps) > $@",
+    tools = [
+        "progs/MKtermsort.sh",
+        "@gawk",
+    ],
+)
+
+cc_library(
+    name = "progs",
+    srcs = [
+        "ncurses/base/keybound.c",
+        "ncurses/base/tries.c",
+        "ncurses/base/version.c",
+        "ncurses/codes.c",
+        "ncurses/comp_captab.c",
+        "ncurses/comp_userdefs.c",
+        "ncurses/lib_gen.c",
+        "ncurses/lib_keyname.c",
+        "ncurses/names.c",
+        "ncurses/trace/lib_trace.c",
+        "ncurses/trace/lib_tracechr.c",
+        "ncurses/trace/trace_buf.c",
+        "ncurses/trace/visbuf.c",
+        "ncurses/tty/hashmap.c",
+        "ncurses/unctrl.c",
+    ] + glob(
+        include = [
+            "progs/*.c",
+            "ncurses/tinfo/*.c",
+        ],
+        exclude = [
+            "progs/clear.c",
+            "progs/tabs.c",
+            "progs/tic.c",
+            "progs/toe.c",
+            "progs/tput.c",
+            "progs/tset.c",
+            "ncurses/tinfo/make_keys.c",
+            "ncurses/tinfo/tinfo_driver.c",
+            "ncurses/tinfo/make_hash.c",
+        ],
+    ),
+    hdrs = [
+        "ncurses/curses.priv.h",
+        "ncurses/init_keytry.h",
+        "ncurses/new_pair.h",
+        "ncurses/term.priv.h",
+        "progs/termsort.h",
+        "progs/transform.h",
+    ] + glob(["progs/*.h"]),
+    copts = NCURSES_COPTS,
+    includes = [
+        "include",
+        "progs",
+    ],
+    deps = [":ncurses_headers"],
+)
+
+cc_binary(
+    name = "tic",
+    srcs = [
+        "progs/tic.c",
+    ],
+    visibility = ["//visibility:public"],
+    deps = [":progs"],
+)
+
+cc_binary(
+    name = "infocmp",
+    srcs = [
+        "progs/infocmp.c",
+    ],
+    visibility = ["//visibility:public"],
+    deps = [":progs"],
+)
+
+bool_flag(
+    name = "use_terminfo_data_target",
+    build_setting_default = True,
+    visibility = ["//visibility:public"],
+)
+
+config_setting(
+    name = "use_terminfo_data_target_setting",
+    flag_values = {":use_terminfo_data_target": "true"},
+    visibility = ["//visibility:public"],
+)
+
+label_flag(
+    name = "terminfo_data",
+    build_setting_default = "@local_terminfo",
+    visibility = ["//visibility:public"],
+)
+
+genrule(
+    name = "fallback_c",
+    srcs = ["misc/terminfo.src"] + select({
+        ":use_terminfo_data_target_setting": ["terminfo_data"],
+        "//conditions:default": [],
+    }),
+    outs = ["ncurses/fallback.c"],
+    cmd = select({
+        ":use_terminfo_data_target_setting": "$(execpath :ncurses/tinfo/MKfallback.sh) $(execpath :terminfo_data) $(execpath :misc/terminfo.src) $(execpath :tic) $(execpath :infocmp) > $@",
+        "//conditions:default": "$(execpath :ncurses/tinfo/MKfallback.sh) /usr/share/terminfo $(execpath :misc/terminfo.src) $(execpath :tic) $(execpath :infocmp) > $@",
+    }),
+    tools = [
+        "ncurses/tinfo/MKfallback.sh",
+        ":infocmp",
+        ":tic",
+    ],
+)
+
+cc_binary(
+    name = "make_hash",
+    srcs = [
+        "ncurses/build.priv.h",
+        "ncurses/curses.priv.h",
+        "ncurses/tinfo/make_hash.c",
+    ],
+    copts = NCURSES_COPTS,
+    deps = [
+        ":ncurses_headers",
+        ":ncurses_textual_headers",
+    ],
+)
+
+genrule(
+    name = "comp_captab_c",
+    srcs = [
+        "ncurses/tinfo/MKcaptab.awk",
+        "include/Caps",
+    ],
+    outs = ["ncurses/comp_captab.c"],
+    cmd = "cp -f $(execpath :make_hash) . && $(execpath :ncurses/tinfo/MKcaptab.sh) $(execpath @gawk) 1 $(execpath :ncurses/tinfo/MKcaptab.awk) $(execpath :include/Caps) > $@",
+    tools = [
+        "ncurses/tinfo/MKcaptab.sh",
+        ":make_hash",
+        "@gawk",
+    ],
+)
+
+genrule(
+    name = "comp_userdefs_c",
+    srcs = ["include/hashsize.h"] + CAPLIST,
+    outs = ["ncurses/comp_userdefs.c"],
+    cmd = "cp -f $(execpath :make_hash) . && $(execpath ncurses/tinfo/MKuserdefs.sh) $(execpath @gawk) 1 " + CAPLIST_LOCATIONS + " > $@",
+    tools = [
+        "ncurses/tinfo/MKuserdefs.sh",
+        ":make_hash",
+        "@gawk",
+    ],
+)
+
+genrule(
+    name = "codes_c",
+    srcs = [
+        "ncurses/tinfo/MKcodes.awk",
+        "include/Caps",
+    ],
+    outs = ["ncurses/codes.c"],
+    cmd = "$(execpath @gawk) -f $(execpath ncurses/tinfo/MKcodes.awk) bigstrings=1 $(execpath :include/Caps) > $@",
+    tools = ["@gawk"],
+)
+
+genrule(
+    name = "names_c",
+    srcs = [
+        "ncurses/tinfo/MKnames.awk",
+        "include/Caps",
+    ],
+    outs = ["ncurses/names.c"],
+    cmd = "$(execpath @gawk) -f $(execpath :ncurses/tinfo/MKnames.awk) bigstrings=1 $(execpath :include/Caps) > $@",
+    tools = ["@gawk"],
+)
+
+genrule(
+    name = "unctrl_c",
+    srcs = [
+        "ncurses/base/MKunctrl.awk",
+    ],
+    outs = ["ncurses/unctrl.c"],
+    cmd = "$(execpath @gawk) -f $(execpath :ncurses/base/MKunctrl.awk) bigstrings=1 > $@",
+    tools = ["@gawk"],
+)
+
+cc_binary(
+    name = "make_keys",
+    srcs = [
+        "ncurses/build.priv.h",
+        "ncurses/curses.priv.h",
+        "ncurses/tinfo/make_keys.c",
+    ],
+    copts = NCURSES_COPTS,
+    deps = [
+        ":ncurses_headers",
+        ":ncurses_textual_headers",
+    ],
+)
+
+genrule(
+    name = "keys_list",
+    srcs = ["include/Caps"],
+    outs = ["keys.list"],
+    cmd = "$(execpath :ncurses/tinfo/MKkeys_list.sh) $(execpath :include/Caps) | LC_ALL=C sort > $@",
+    tools = ["ncurses/tinfo/MKkeys_list.sh"],
+)
+
+genrule(
+    name = "lib_keyname_c",
+    srcs = [
+        "ncurses/base/MKkeyname.awk",
+        "keys.list",
+    ],
+    outs = ["ncurses/lib_keyname.c"],
+    cmd = "$(execpath @gawk) -f $(execpath :ncurses/base/MKkeyname.awk) bigstrings=1 $(execpath :keys.list) > $@",
+    tools = ["@gawk"],
+)
+
+automake_substitution(
+    name = "curses_head",
+    src = "include/curses.h.in",
+    out = "include/curses.head",
+    substitutions = AUTOMAKE_SUBSTITUTIONS,
+)
+
+automake_substitution(
+    name = "curses_dll",
+    src = "include/ncurses_dll.h.in",
+    out = "include/ncurses_dll.h",
+    substitutions = AUTOMAKE_SUBSTITUTIONS,
+)
+
+automake_substitution(
+    name = "unctrl_h",
+    src = "include/unctrl.h.in",
+    out = "include/unctrl.h",
+    substitutions = AUTOMAKE_SUBSTITUTIONS,
+)
+
+automake_substitution(
+    name = "termcap_h",
+    src = "include/termcap.h.in",
+    out = "include/termcap.h",
+    substitutions = AUTOMAKE_SUBSTITUTIONS,
+)
+
+genrule(
+    name = "curses_h",
+    srcs = [
+        "include/curses.head",
+        "include/curses.tail",
+        "include/curses.wide",
+    ] + CAPLIST,
+    outs = ["include/curses.h"],
+    cmd = select({
+        "@platforms//cpu:armv7": "cat $(execpath :include/curses.head) > $@ && AWK=$(execpath @gawk) $(execpath :include/MKkey_defs.sh) " + CAPLIST_LOCATIONS + " >> $@ && cat $(execpath :include/curses.tail) >> $@",
+        "//conditions:default": "cat $(execpath :include/curses.head) > $@ && AWK=$(execpath @gawk) $(execpath :include/MKkey_defs.sh) " + CAPLIST_LOCATIONS + " >> $@ && cat $(execpath :include/curses.wide) $(execpath :include/curses.tail) >> $@",
+    }),
+    tools = [
+        "include/MKkey_defs.sh",
+        "@gawk",
+    ],
+)
+
+genrule(
+    name = "lib_gen_c",
+    srcs = [
+        "include/curses.h",
+        "include/ncurses_cfg.h",
+        "include/ncurses_def.h",
+    ],
+    outs = ["ncurses/lib_gen.c"],
+    cmd = "$(execpath :ncurses/base/MKlib_gen.sh) \"$(CC) -E -isystem $$(dirname $(execpath :include/ncurses_cfg.h))\" $(execpath @gawk) generated < $(execpath :include/curses.h) > $@",
+    toolchains = ["@rules_cc//cc:current_cc_toolchain"],
+    tools = [
+        "ncurses/base/MKlib_gen.sh",
+        "@gawk",
+    ],
+)
+
+genrule(
+    name = "hashsize_h",
+    srcs = ["include/Caps"],
+    outs = ["include/hashsize.h"],
+    cmd = "$(execpath :include/MKhashsize.sh) $(execpath :include/Caps) > $@",
+    tools = ["include/MKhashsize.sh"],
+)
+
+genrule(
+    name = "init_keytry_h",
+    srcs = ["keys.list"],
+    outs = ["ncurses/init_keytry.h"],
+    cmd = "$(execpath :make_keys) $(execpath :keys.list) > $@",
+    tools = [":make_keys"],
+)
+
+automake_substitution(
+    name = "mkterm_h_awk",
+    src = "include/MKterm.h.awk.in",
+    out = "include/MKterm.h.awk",
+    substitutions = AUTOMAKE_SUBSTITUTIONS,
+)
+
+genrule(
+    name = "term_h",
+    srcs = [
+        "include/MKterm.h.awk",
+        "include/Caps",
+    ],
+    outs = ["include/term.h"],
+    cmd = "$(execpath @gawk) -f $(execpath :include/MKterm.h.awk) $(execpath :include/Caps) > $@",
+    tools = ["@gawk"],
+)
+
+genrule(
+    name = "parametrized_h",
+    srcs = ["include/Caps"],
+    outs = ["include/parametrized.h"],
+    cmd = "(cd $$(dirname $(execpath :include/MKparametrized.sh)) && ./MKparametrized.sh) > $@",
+    tools = ["include/MKparametrized.sh"],
+)
+
+genrule(
+    name = "ncurses_def_h",
+    srcs = ["include/ncurses_defs"],
+    outs = ["include/ncurses_def.h"],
+    cmd = "(cd $$(dirname $(execpath :include/MKncurses_def.sh)) && ./MKncurses_def.sh) > $@",
+    tools = ["include/MKncurses_def.sh"],
+)
+
+DEFS_COMMON = [
+    "HAVE_LONG_FILE_NAMES",
+    "MIXEDCASE_FILENAMES",
+    "HAVE_BIG_CORE",
+    "PURE_TERMINFO",
+    "USE_HOME_TERMINFO",
+    "USE_ROOT_ENVIRON",
+    "HAVE_UNISTD_H",
+    "HAVE_REMOVE",
+    "HAVE_UNLINK",
+    "HAVE_LINK",
+    "HAVE_SYMLINK",
+    "USE_LINKS",
+    "HAVE_LANGINFO_CODESET",
+    "HAVE_FSEEKO",
+    "STDC_HEADERS",
+    "HAVE_SYS_TYPES_H",
+    "HAVE_SYS_STAT_H",
+    "HAVE_STDLIB_H",
+    "HAVE_STRING_H",
+    "HAVE_MEMORY_H",
+    "HAVE_STRINGS_H",
+    "HAVE_INTTYPES_H",
+    "HAVE_STDINT_H",
+    "HAVE_UNISTD_H",
+    "SIZEOF_SIGNED_CHAR",
+    "NCURSES_EXT_FUNCS",
+    "HAVE_ASSUME_DEFAULT_COLORS",
+    "HAVE_CURSES_VERSION",
+    "HAVE_HAS_KEY",
+    "HAVE_RESIZETERM",
+    "HAVE_RESIZE_TERM",
+    "HAVE_TERM_ENTRY_H",
+    "HAVE_USE_DEFAULT_COLORS",
+    "HAVE_USE_EXTENDED_NAMES",
+    "HAVE_USE_SCREEN",
+    "HAVE_USE_WINDOW",
+    "HAVE_WRESIZE",
+    "NCURSES_SP_FUNCS",
+    "HAVE_TPUTS_SP",
+    "NCURSES_EXT_PUTWIN",
+    "NCURSES_NO_PADDING",
+    "USE_SIGWINCH",
+    "USE_ASSUMED_COLOR",
+    "USE_HASHMAP",
+    "GCC_SCANF",
+    "GCC_PRINTF",
+    "HAVE_NC_ALLOC_H",
+    "HAVE_GETTIMEOFDAY",
+    "STDC_HEADERS",
+    "HAVE_DIRENT_H",
+    "TIME_WITH_SYS_TIME",
+    "HAVE_REGEX_H_FUNCS",
+    "HAVE_FCNTL_H",
+    "HAVE_GETOPT_H",
+    "HAVE_LIMITS_H",
+    "HAVE_LOCALE_H",
+    "HAVE_MATH_H",
+    "HAVE_POLL_H",
+    "HAVE_SYS_IOCTL_H",
+    "HAVE_SYS_PARAM_H",
+    "HAVE_SYS_POLL_H",
+    "HAVE_SYS_SELECT_H",
+    "HAVE_SYS_TIME_H",
+    "HAVE_SYS_TIMES_H",
+    "HAVE_TTYENT_H",
+    "HAVE_UNISTD_H",
+    "HAVE_WCTYPE_H",
+    "HAVE_UNISTD_H",
+    "HAVE_GETOPT_H",
+    "HAVE_GETOPT_HEADER",
+    "DECL_ENVIRON",
+    "HAVE_ENVIRON",
+    "HAVE_PUTENV",
+    "HAVE_SETENV",
+    "HAVE_STRDUP",
+    "HAVE_SYS_TIME_SELECT",
+    "HAVE_GETCWD",
+    "HAVE_GETEGID",
+    "HAVE_GETEUID",
+    "HAVE_GETOPT",
+    "HAVE_GETTTYNAM",
+    "HAVE_LOCALECONV",
+    "HAVE_POLL",
+    "HAVE_PUTENV",
+    "HAVE_REMOVE",
+    "HAVE_SELECT",
+    "HAVE_SETBUF",
+    "HAVE_SETBUFFER",
+    "HAVE_SETENV",
+    "HAVE_SETVBUF",
+    "HAVE_SIGACTION",
+    "HAVE_STRDUP",
+    "HAVE_STRSTR",
+    "HAVE_SYSCONF",
+    "HAVE_TCGETPGRP",
+    "HAVE_TIMES",
+    "HAVE_TSEARCH",
+    "HAVE_VSNPRINTF",
+    "HAVE_ISASCII",
+    "HAVE_NANOSLEEP",
+    "HAVE_TERMIO_H",
+    "HAVE_TERMIOS_H",
+    "HAVE_UNISTD_H",
+    "HAVE_SYS_IOCTL_H",
+    "HAVE_TCGETATTR",
+    "HAVE_VSSCANF",
+    "HAVE_UNISTD_H",
+    "HAVE_MKSTEMP",
+    "HAVE_SIZECHANGE",
+    "HAVE_WORKING_POLL",
+    "HAVE_VA_COPY",
+    "HAVE_UNISTD_H",
+    "HAVE_FORK",
+    "HAVE_VFORK",
+    "HAVE_WORKING_VFORK",
+    "HAVE_WORKING_FORK",
+    "USE_FOPEN_BIN_R",
+    "USE_XTERM_PTY",
+    "HAVE_TYPEINFO",
+    "HAVE_IOSTREAM",
+    "IOSTREAM_NAMESPACE",
+    "CPP_HAS_STATIC_CAST",
+    "HAVE_SLK_COLOR",
+    "HAVE_PANEL_H",
+    "HAVE_LIBPANEL",
+    "HAVE_MENU_H",
+    "HAVE_LIBMENU",
+    "HAVE_FORM_H",
+    "HAVE_LIBFORM",
+    "NCURSES_OSPEED_COMPAT",
+    "HAVE_CURSES_DATA_BOOLNAMES",
+    "HAVE_PUTWC",
+    "HAVE_BTOWC",
+    "HAVE_WCTOB",
+    "HAVE_WMEMCHR",
+    "HAVE_MBTOWC",
+    "HAVE_WCTOMB",
+    "HAVE_MBLEN",
+    "HAVE_MBRLEN",
+    "HAVE_MBRTOWC",
+    "HAVE_WCSRTOMBS",
+    "HAVE_MBSRTOWCS",
+    "HAVE_WCSTOMBS",
+    "HAVE_MBSTOWCS",
+]
+
+pseudo_configure(
+    name = "ncurses_cfg_h",
+    src = "include/ncurses_cfg.hin",
+    out = "include/ncurses_cfg.h",
+    defs = select({
+        "@platforms//cpu:armv7": DEFS_COMMON,
+        "//conditions:default": DEFS_COMMON + [
+            "HAVE_WCHAR_H",
+            "NEED_WCHAR_H",
+            "USE_WIDEC_SUPPORT",
+            "NCURSES_WIDECHAR",
+            "HAVE_WCTYPE_H",
+        ],
+    }),
+    mappings = {
+        "GCC_NORETURN": "__attribute__((noreturn))",
+        "GCC_PRINTFLIKE(fmt,var)": "__attribute__((format(printf,fmt,var)))",
+        "GCC_SCANFLIKE(fmt,var)": "__attribute__((format(scanf,fmt,var)))",
+        "GCC_UNUSED": "__attribute__((unused))",
+        "NCURSES_PATCHDATE": "20200212",
+        "NCURSES_PATHSEP": "0x3a",
+        "NCURSES_VERSION": '"6.4"',
+        "NCURSES_VERSION_STRING": '"6.4.20221231"',
+        "NCURSES_WRAP_PREFIX": '"_nc_"',
+        "NC_CONFIG_H": "",
+        "PACKAGE": '"ncurses"',
+        "RGB_PATH": r'"\/usr\/share\/X11\/rgb.txt"',
+        "SIG_ATOMIC_T": "volatile sig_atomic_t",
+        "SYSTEM_NAME": '"linux-gnu"',
+        "TERMINFO": r'"\/usr\/share\/terminfo"',
+        "TERMINFO_DIRS": r'"\/usr\/share\/terminfo"',
+        "USE_OPENPTY_HEADER": "<pty.h>",
+    },
+)
diff --git a/modules/ncurses/6.4.20221231.bcr.9/overlay/MODULE.bazel b/modules/ncurses/6.4.20221231.bcr.9/overlay/MODULE.bazel
new file mode 120000
index 0000000..9b599e3
--- /dev/null
+++ b/modules/ncurses/6.4.20221231.bcr.9/overlay/MODULE.bazel
@@ -0,0 +1 @@
+../MODULE.bazel
\ No newline at end of file
diff --git a/modules/ncurses/6.4.20221231.bcr.9/overlay/bazel/BUILD.bazel b/modules/ncurses/6.4.20221231.bcr.9/overlay/bazel/BUILD.bazel
new file mode 100644
index 0000000..ecb36c3
--- /dev/null
+++ b/modules/ncurses/6.4.20221231.bcr.9/overlay/bazel/BUILD.bazel
@@ -0,0 +1 @@
+package(default_visibility = ["//visibility:private"])
diff --git a/modules/ncurses/6.4.20221231.bcr.9/overlay/bazel/automake_substitution.bzl b/modules/ncurses/6.4.20221231.bcr.9/overlay/bazel/automake_substitution.bzl
new file mode 100644
index 0000000..7cf416f
--- /dev/null
+++ b/modules/ncurses/6.4.20221231.bcr.9/overlay/bazel/automake_substitution.bzl
@@ -0,0 +1,92 @@
+# Copyright 2020 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Provides helper that replaces @VARIABLE_NAME@ occurrences with values, as
+specified by a provided map."""
+
+_UNIX_TEMPLATE = """\
+#!/usr/bin/env bash
+# Generated by `@ncurses//bazel:automake_substitutions.bzl`
+set -euo pipefail
+cat {} \\
+{}
+> {}
+"""
+
+def _automake_substitution_impl(ctx):
+    sed = ctx.executable._sed
+    substitutions = ctx.attr.substitutions
+    substitution_pipe = "\n".join([
+        "| %s 's/@%s@/%s/g' \\" % (sed.path, variable_name, value)
+        for variable_name, value in substitutions.items()
+    ])
+
+    if not substitution_pipe:
+        substitution_pipe = "\\"
+
+    output = ctx.outputs.out
+
+    executable = ctx.actions.declare_file("{}.sh".format(ctx.label.name))
+    ctx.actions.write(
+        output = executable,
+        content = _UNIX_TEMPLATE.format(
+            ctx.file.src.path,
+            substitution_pipe,
+            output.path,
+        ),
+        is_executable = True,
+    )
+
+    ctx.actions.run(
+        mnemonic = "NCursesAutomakeSubstitution",
+        inputs = [ctx.file.src],
+        outputs = [output],
+        executable = executable,
+        tools = [sed],
+        use_default_shell_env = True,
+    )
+
+    return [DefaultInfo(
+        files = depset([output]),
+    )]
+
+automake_substitution = rule(
+    doc = """\
+Replaces @VARIABLE_NAME@ occurrences with values.
+
+Note: The current implementation does not allow slashes in variable
+values.
+""",
+    implementation = _automake_substitution_impl,
+    attrs = {
+        "out": attr.output(
+            doc = "The output file.",
+            mandatory = True,
+        ),
+        "src": attr.label(
+            doc = "The source file to modify",
+            allow_single_file = True,
+            mandatory = True,
+        ),
+        "substitutions": attr.string_dict(
+            doc = "Substitutions to apply.",
+            default = {},
+        ),
+        "_sed": attr.label(
+            cfg = "exec",
+            executable = True,
+            default = Label("@sed"),
+        ),
+    },
+)
diff --git a/modules/ncurses/6.4.20221231.bcr.9/overlay/bazel/pseudo_configure.bzl b/modules/ncurses/6.4.20221231.bcr.9/overlay/bazel/pseudo_configure.bzl
new file mode 100644
index 0000000..82f39c8
--- /dev/null
+++ b/modules/ncurses/6.4.20221231.bcr.9/overlay/bazel/pseudo_configure.bzl
@@ -0,0 +1,106 @@
+# Copyright 2020 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""Fake configuration step for hacky substitutions in ".in" files."""
+
+_UNIX_TEMPLATE = """\
+#!/usr/bin/env bash
+# Generated by `@ncurses//bazel:pseudo_configure.bzl`
+set -euo pipefail
+{}
+"""
+
+def _pseudo_configure_impl(ctx):
+    additional = ctx.attr.additional
+    mappings = ctx.attr.mappings
+    defs = ctx.attr.defs
+    out = ctx.outputs.out
+    src = ctx.file.src if ctx.attr.src else None
+    sed = ctx.executable._sed
+
+    cmd = []
+
+    if src == None:
+        cmd.append("echo '#pragma once' >> %s" % (out.path))
+
+    for k, v in additional.items():
+        cmd.append("echo '#define %s %s' >> %s" % (k, v, out.path))
+
+    if src != None:
+        cmd.append("cat %s \\" % (src.path))
+    else:
+        cmd.append("echo '' \\")
+    all_defs = ""
+    for def_ in defs:
+        cmd.append(r"| " + sed.path + r" 's/#\s*undef \b\(" + def_ + r"\)\b/#define \1 1/'" + "\\")
+        all_defs += ("#define " + def_ + " 1\\n")
+    for key, value in mappings.items():
+        cmd.append(r"| " + sed.path + r" 's/#\s*undef \b" + key + r"\b/#define " + str(key) + " " + str(value) + "/' \\")
+        cmd.append(r"| " + sed.path + r" 's/#\s*define \b\(" + key + r"\)\b 0/#define \1 " + str(value) + "/' \\")
+        all_defs += "#define " + key + " " + value + "\\n"
+    cmd.append(r"| " + sed.path + r" 's/\@DEFS\@/" + all_defs + "/' \\")
+    cmd.append(" >> " + out.path)
+
+    executable = ctx.actions.declare_file("{}.sh".format(ctx.label.name))
+    ctx.actions.write(
+        output = executable,
+        content = _UNIX_TEMPLATE.format(
+            "\n".join(cmd),
+        ),
+        is_executable = True,
+    )
+
+    ctx.actions.run(
+        mnemonic = "NCursesPseudoConfigure",
+        inputs = [src] if src != None else [],
+        outputs = [out],
+        executable = executable,
+        tools = [sed],
+    )
+
+    return [DefaultInfo(
+        files = depset([out]),
+    )]
+
+pseudo_configure = rule(
+    doc = "Perform a fake 'configure' step on a file.",
+    implementation = _pseudo_configure_impl,
+    attrs = {
+        "additional": attr.string_dict(
+            doc = "Optional mapping of definitions to prepend to the file.",
+            default = {},
+        ),
+        "defs": attr.string_list(
+            doc = "List of definitions to #define as `1`.",
+            default = [],
+        ),
+        "mappings": attr.string_dict(
+            doc = "Mapping of definitions with non-trivial values.",
+            default = {},
+        ),
+        "out": attr.output(
+            doc = "Path to place the output file contents.",
+            mandatory = True,
+        ),
+        "src": attr.label(
+            doc = "`.in` file to transform.",
+            allow_single_file = True,
+        ),
+        "_sed": attr.label(
+            cfg = "exec",
+            executable = True,
+            default = Label("@sed"),
+        ),
+    },
+)
diff --git a/modules/ncurses/6.4.20221231.bcr.9/overlay/bazel/terminfo.bzl b/modules/ncurses/6.4.20221231.bcr.9/overlay/bazel/terminfo.bzl
new file mode 100644
index 0000000..c6da6e5
--- /dev/null
+++ b/modules/ncurses/6.4.20221231.bcr.9/overlay/bazel/terminfo.bzl
@@ -0,0 +1,162 @@
+"""Rules for accessing terminfo data"""
+
+_DIR_TEMPLATE = """\
+#!/usr/bin/env bash
+set -euo pipefail
+mkdir -p {output}
+{cmds}
+"""
+
+def _terminfo_directory_impl(ctx):
+    directory = ctx.actions.declare_directory(ctx.label.name)
+
+    cmds = []
+    if ctx.attr.fail_message:
+        cmds.extend([
+            ">&2 echo '{}'".format(ctx.attr.fail_message),
+            "exit 1",
+        ])
+
+    for file in ctx.files.srcs:
+        _, _, rel_dest = file.path.partition("/")
+        dest = "{}/{}".format(directory.path, rel_dest)
+        parent, _, _ = dest.rpartition("/")
+        cmds.append("mkdir -p {} && cp {} {}".format(
+            parent,
+            file.path,
+            dest,
+        ))
+
+    executable = ctx.actions.declare_file("{}.sh".format(ctx.label.name))
+    ctx.actions.write(
+        output = executable,
+        content = _DIR_TEMPLATE.format(
+            output = directory.path,
+            cmds = "\n".join(cmds),
+        ),
+        is_executable = True,
+    )
+
+    ctx.actions.run(
+        mnemonic = "NCursesTerminfo",
+        executable = executable,
+        outputs = [directory],
+        inputs = ctx.files.srcs,
+    )
+
+    return [DefaultInfo(
+        files = depset([directory]),
+    )]
+
+terminfo_directory = rule(
+    doc = "A rule for bundling terminfo data.",
+    implementation = _terminfo_directory_impl,
+    attrs = {
+        "fail_message": attr.string(
+            doc = "An optional fail message for when `local_terminfo_repository` failed to find data.",
+        ),
+        "srcs": attr.label_list(
+            doc = "Data to bundle.",
+            allow_files = True,
+            mandatory = True,
+        ),
+    },
+)
+
+_DEFAULT_TERMINFO_PATH = "/usr/share/terminfo"
+
+_TEMPLATE = """\
+load(":terminfo.bzl", "terminfo_directory")
+
+terminfo_directory(
+    name = "{name}",
+    srcs = glob(["terminfo/**"], allow_empty = True),
+    fail_message = {fail_message},
+    visibility = ["//visibility:public"],
+)
+"""
+
+def _local_terminfo_repository_impl(rctx):
+    rctx.file("WORKSPACE.bazel", """workspace(name = "{}")""".format(
+        rctx.name,
+    ))
+
+    fail_message = None
+    terminfo_path = rctx.path(rctx.attr.path)
+    if terminfo_path.exists:
+        rctx.symlink(
+            terminfo_path,
+            rctx.path("terminfo"),
+        )
+    else:
+        fail_message = "No host directory: {}".format(terminfo_path)
+
+    terminfo_bzl = rctx.path(rctx.attr._terminfo_bzl)
+    rctx.symlink(
+        rctx.path(rctx.attr._terminfo_bzl),
+        rctx.path(terminfo_bzl.basename),
+    )
+
+    rctx.file("BUILD.bazel", _TEMPLATE.format(
+        name = rctx.attr.original_name,
+        fail_message = repr(fail_message),
+    ))
+
+local_terminfo_repository = repository_rule(
+    doc = "A repository for collecting local terminfo data.",
+    implementation = _local_terminfo_repository_impl,
+    attrs = {
+        # TODO: This can be removed in Bazel 8 and it's use moved to `repository_ctx.original_name`.
+        "original_name": attr.string(
+            doc = "The original name of the repository.",
+        ),
+        "path": attr.string(
+            doc = "The path to local terminfo data.",
+            default = "/usr/share/terminfo",
+        ),
+        "_terminfo_bzl": attr.label(
+            allow_files = True,
+            default = Label("//bazel:terminfo.bzl"),
+        ),
+    },
+    local = True,
+)
+
+_data_tag = tag_class(
+    attrs = {
+        "name": attr.string(
+            doc = "The name of the module to create.",
+            mandatory = True,
+        ),
+        "path": attr.string(
+            doc = "The path to local terminfo data.",
+            default = _DEFAULT_TERMINFO_PATH,
+        ),
+    },
+)
+
+def _local_terminfo_impl(module_ctx):
+    root_module_direct_deps = []
+    for mod in module_ctx.modules:
+        for attrs in mod.tags.data:
+            local_terminfo_repository(
+                name = attrs.name,
+                original_name = attrs.name,
+                path = attrs.path,
+            )
+            if mod.is_root:
+                root_module_direct_deps.append(attrs.name)
+
+    return module_ctx.extension_metadata(
+        reproducible = True,
+        root_module_direct_deps = root_module_direct_deps,
+        root_module_direct_dev_deps = [],
+    )
+
+local_terminfo = module_extension(
+    doc = "A module for locating terminfo data.",
+    implementation = _local_terminfo_impl,
+    tag_classes = {
+        "data": _data_tag,
+    },
+)
diff --git a/modules/ncurses/6.4.20221231.bcr.9/patches/change_mode.patch b/modules/ncurses/6.4.20221231.bcr.9/patches/change_mode.patch
new file mode 100644
index 0000000..9291ccd
--- /dev/null
+++ b/modules/ncurses/6.4.20221231.bcr.9/patches/change_mode.patch
@@ -0,0 +1,9 @@
+diff --git ncurses/tinfo/MKcaptab.sh ncurses/tinfo/MKcaptab.sh
+old mode 100644
+new mode 100755
+diff --git ncurses/tinfo/MKfallback.sh ncurses/tinfo/MKfallback.sh
+old mode 100644
+new mode 100755
+diff --git ncurses/tinfo/MKuserdefs.sh ncurses/tinfo/MKuserdefs.sh
+old mode 100644
+new mode 100755
diff --git a/modules/ncurses/6.4.20221231.bcr.9/patches/fail_on_error.patch b/modules/ncurses/6.4.20221231.bcr.9/patches/fail_on_error.patch
new file mode 100644
index 0000000..cc07e4f
--- /dev/null
+++ b/modules/ncurses/6.4.20221231.bcr.9/patches/fail_on_error.patch
@@ -0,0 +1,50 @@
+diff --git ncurses/tinfo/MKcaptab.sh ncurses/tinfo/MKcaptab.sh
+--- ncurses/tinfo/MKcaptab.sh
++++ ncurses/tinfo/MKcaptab.sh
+@@ -29,6 +29,8 @@
+ ##############################################################################
+ # $Id: MKcaptab.sh,v 1.19 2020/02/02 23:34:34 tom Exp $
+ 
++set -e
++
+ if test $# != 0
+ then
+ 	AWK="$1"; shift 1
+diff --git ncurses/tinfo/MKfallback.sh ncurses/tinfo/MKfallback.sh
+--- ncurses/tinfo/MKfallback.sh
++++ ncurses/tinfo/MKfallback.sh
+@@ -37,6 +37,8 @@
+ # specified list of types generated in.
+ #
+ 
++set -e
++
+ terminfo_dir=$1
+ shift
+ 
+diff --git ncurses/tinfo/MKkeys_list.sh ncurses/tinfo/MKkeys_list.sh
+--- ncurses/tinfo/MKkeys_list.sh
++++ ncurses/tinfo/MKkeys_list.sh
+@@ -35,6 +35,9 @@
+ #
+ # Extract function-key names from the Caps file
+ #
++
++set -e
++
+ : ${AWK-awk}
+ if test $# != 0
+ then
+diff --git ncurses/tinfo/MKuserdefs.sh ncurses/tinfo/MKuserdefs.sh
+--- ncurses/tinfo/MKuserdefs.sh
++++ ncurses/tinfo/MKuserdefs.sh
+@@ -27,6 +27,9 @@
+ # authorization.                                                             #
+ ##############################################################################
+ # $Id: MKuserdefs.sh,v 1.10 2020/02/02 23:34:34 tom Exp $
++
++set -e
++
+ AWK=${1-awk}; shift 1
+ OPT1=${1-0}; shift 1
+ 
diff --git a/modules/ncurses/6.4.20221231.bcr.9/presubmit.yml b/modules/ncurses/6.4.20221231.bcr.9/presubmit.yml
new file mode 100644
index 0000000..24599c2
--- /dev/null
+++ b/modules/ncurses/6.4.20221231.bcr.9/presubmit.yml
@@ -0,0 +1,18 @@
+matrix:
+  platform:
+    - debian10
+    - debian11
+    - ubuntu2004
+    - ubuntu2004_arm64
+    - ubuntu2204
+    - ubuntu2404
+    - macos
+    - macos_arm64
+  bazel: [7.x, 8.x, rolling]
+tasks:
+  verify_targets:
+    name: Verify build targets
+    platform: ${{ platform }}
+    bazel: ${{ bazel }}
+    build_targets:
+      - "@ncurses"
diff --git a/modules/ncurses/6.4.20221231.bcr.9/source.json b/modules/ncurses/6.4.20221231.bcr.9/source.json
new file mode 100644
index 0000000..37aa95f
--- /dev/null
+++ b/modules/ncurses/6.4.20221231.bcr.9/source.json
@@ -0,0 +1,18 @@
+{
+    "url": "https://github.com/mirror/ncurses/archive/refs/tags/v6.4.tar.gz",
+    "integrity": "sha256-OYk4RhOVGObC0ArB01TUiJ8POUrNRIhdcLFOrvTiPo4=",
+    "strip_prefix": "ncurses-6.4",
+    "patch_strip": 0,
+    "patches": {
+        "change_mode.patch": "sha256-gXT4QnWB+cVCTg0YUJvNVOJPajQ4YTr4YN6qVgrwqvA=",
+        "fail_on_error.patch": "sha256-1S/L6K/pb+ruXwT2b8tzncHTwNvt+VNHaMcDqT7xTKY="
+    },
+    "overlay": {
+        "BUILD.bazel": "sha256-GAGYKhnvigBhnN46jdoZ+9aaxK+X4Tv5tgkIX3mjtFM=",
+        "MODULE.bazel": "sha256-lbLz3PsdLsrupnKToQtlSgggZBR1mnYegvpZvf4p0Nw=",
+        "bazel/BUILD.bazel": "sha256-Zuz0VFa0seaXM4/wmRX865OGXbFWBw47EsurCzPRqss=",
+        "bazel/automake_substitution.bzl": "sha256-8Uks5lumq84gKEXGgVyru3VrgvowtMJRNkztmW9cu3g=",
+        "bazel/pseudo_configure.bzl": "sha256-QvDWxxYYYXE0cNeoqRCogXljG0+LLCE/K7XtnIMVFDI=",
+        "bazel/terminfo.bzl": "sha256-WUIO32FBZ2Pi8+2MJn9XSwL3jtRcjDvOKhN7MUr6feg="
+    }
+}
diff --git a/modules/ncurses/metadata.json b/modules/ncurses/metadata.json
index 2593fdd..4d46b14 100644
--- a/modules/ncurses/metadata.json
+++ b/modules/ncurses/metadata.json
@@ -20,7 +20,8 @@
         "6.4.20221231.bcr.5",
         "6.4.20221231.bcr.6",
         "6.4.20221231.bcr.7",
-        "6.4.20221231.bcr.8"
+        "6.4.20221231.bcr.8",
+        "6.4.20221231.bcr.9"
     ],
     "yanked_versions": {}
 }
diff --git a/modules/readline/8.2.bcr.3/MODULE.bazel b/modules/readline/8.2.bcr.3/MODULE.bazel
new file mode 100644
index 0000000..2d80e15
--- /dev/null
+++ b/modules/readline/8.2.bcr.3/MODULE.bazel
@@ -0,0 +1,12 @@
+"""https://www.gnu.org/software/readline/"""
+
+module(
+    name = "readline",
+    version = "8.2.bcr.3",
+    bazel_compatibility = [">=7.2.1"],
+)
+
+bazel_dep(name = "bazel_skylib", version = "1.8.2")
+bazel_dep(name = "ncurses", version = "6.4.20221231.bcr.9")
+bazel_dep(name = "platforms", version = "1.0.0")
+bazel_dep(name = "rules_cc", version = "0.2.4")
diff --git a/modules/readline/8.2.bcr.3/overlay/BUILD.bazel b/modules/readline/8.2.bcr.3/overlay/BUILD.bazel
new file mode 100644
index 0000000..9fdde08
--- /dev/null
+++ b/modules/readline/8.2.bcr.3/overlay/BUILD.bazel
@@ -0,0 +1,193 @@
+load("@bazel_skylib//rules:expand_template.bzl", "expand_template")
+load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
+
+licenses(["restricted"])  # GPL v3
+
+cc_library(
+    name = "readline",
+    srcs = glob(
+        ["*.c"],
+        exclude = ["*_keymap.c"],
+    ) + [
+        "readline/config.h",
+    ],
+    hdrs = glob(["*.h"]) + [
+        "emacs_keymap.c",
+        "vi_keymap.c",
+    ],
+    copts = [
+        "-w",
+        "-DHAVE_CONFIG_H",
+        "-DRL_LIBRARY_VERSION='\"8.2\"'",
+    ],
+    defines = [
+        "READLINE_HAVE_CONFIG_H",
+    ],
+    includes = [
+        "readline",
+    ],
+    visibility = ["//visibility:public"],
+    deps = [
+        ":prefixed_readline_header",
+        "@ncurses",
+    ],
+)
+
+cc_library(
+    name = "prefixed_readline_header",
+    hdrs = glob(["*.h"]) + [
+        "emacs_keymap.c",
+        "readline/config.h",
+        "vi_keymap.c",
+    ],
+    include_prefix = "readline",
+)
+
+expand_template(
+    name = "config_h",
+    out = "readline/config.h",
+    substitutions = {
+        "#undef CTYPE_NON_ASCII": "/* #undef CTYPE_NON_ASCII */",
+        "#undef FIONREAD_IN_SYS_IOCTL": "#define FIONREAD_IN_SYS_IOCTL 1",
+        "#undef HAVE_BSD_SIGNALS": "/* #undef HAVE_BSD_SIGNALS */",
+        "#undef HAVE_CHOWN": "#define HAVE_CHOWN 1",
+        "#undef HAVE_DIRENT_H": "#define HAVE_DIRENT_H 1",
+        "#undef HAVE_FCNTL_H": "#define HAVE_FCNTL_H 1",
+        "#undef HAVE_FNMATCH": "#define HAVE_FNMATCH 1",
+        "#undef HAVE_GETPWENT": "#define HAVE_GETPWENT 1",
+        "#undef HAVE_GETPWNAM": "#define HAVE_GETPWNAM 1",
+        "#undef HAVE_GETPWUID": "#define HAVE_GETPWUID 1",
+        "#undef HAVE_GETPW_DECLS": "#define HAVE_GETPW_DECLS 1",
+        "#undef HAVE_GETTIMEOFDAY": "#define HAVE_GETTIMEOFDAY 1",
+        "#undef HAVE_ISASCII": "#define HAVE_ISASCII 1",
+        "#undef HAVE_ISWCTYPE": "#define HAVE_ISWCTYPE 1",
+        "#undef HAVE_ISWLOWER": "#define HAVE_ISWLOWER 1",
+        "#undef HAVE_ISWUPPER": "#define HAVE_ISWUPPER 1",
+        "#undef HAVE_ISXDIGIT": "#define HAVE_ISXDIGIT 1",
+        "#undef HAVE_KILL": "#define HAVE_KILL 1",
+        "#undef HAVE_LANGINFO_CODESET": "#define HAVE_LANGINFO_CODESET 1",
+        "#undef HAVE_LANGINFO_H": "#define HAVE_LANGINFO_H 1",
+        "#undef HAVE_LIBAUDIT_H": "/* #undef HAVE_LIBAUDIT_H */",
+        "#undef HAVE_LIMITS_H": "#define HAVE_LIMITS_H 1",
+        "#undef HAVE_LOCALE_H": "#define HAVE_LOCALE_H 1",
+        "#undef HAVE_LSTAT": "#define HAVE_LSTAT 1",
+        "#undef HAVE_MBRLEN": "#define HAVE_MBRLEN 1",
+        "#undef HAVE_MBRTOWC": "#define HAVE_MBRTOWC 1",
+        "#undef HAVE_MBSRTOWCS": "#define HAVE_MBSRTOWCS 1",
+        "#undef HAVE_MBSTATE_T": "#define HAVE_MBSTATE_T 1",
+        "#undef HAVE_MEMMOVE": "#define HAVE_MEMMOVE 1",
+        "#undef HAVE_MEMORY_H": "#define HAVE_MEMORY_H 1",
+        "#undef HAVE_NDIR_H": "/* #undef HAVE_NDIR_H */",
+        "#undef HAVE_POSIX_SIGNALS": "#define HAVE_POSIX_SIGNALS 1",
+        "#undef HAVE_POSIX_SIGSETJMP": "#define HAVE_POSIX_SIGSETJMP 1",
+        "#undef HAVE_PSELECT": "#define HAVE_PSELECT 1",
+        "#undef HAVE_PUTENV": "#define HAVE_PUTENV 1",
+        "#undef HAVE_PWD_H": "#define HAVE_PWD_H 1",
+        "#undef HAVE_READLINK": "#define HAVE_READLINK 1",
+        "#undef HAVE_SELECT": "#define HAVE_SELECT 1",
+        "#undef HAVE_SETENV": "#define HAVE_SETENV 1",
+        "#undef HAVE_SETITIMER": "#define HAVE_SETITIMER 1",
+        "#undef HAVE_SETLOCALE": "#define HAVE_SETLOCALE 1",
+        "#undef HAVE_STDARG_H": "#define HAVE_STDARG_H 1",
+        "#undef HAVE_STDBOOL_H": "#define HAVE_STDBOOL_H 1",
+        "#undef HAVE_STDLIB_H": "#define HAVE_STDLIB_H 1",
+        "#undef HAVE_STRCASECMP": "#define HAVE_STRCASECMP 1",
+        "#undef HAVE_STRCOLL": "#define HAVE_STRCOLL 1",
+        "#undef HAVE_STRINGS_H": "#define HAVE_STRINGS_H 1",
+        "#undef HAVE_STRING_H": "#define HAVE_STRING_H 1",
+        "#undef HAVE_STRPBRK": "#define HAVE_STRPBRK 1",
+        "#undef HAVE_STRUCT_DIRENT_D_FILENO": "#define HAVE_STRUCT_DIRENT_D_FILENO 1",
+        "#undef HAVE_STRUCT_DIRENT_D_INO": "#define HAVE_STRUCT_DIRENT_D_INO 1",
+        "#undef HAVE_STRUCT_DIRENT_D_NAMLEN": "/* #undef HAVE_STRUCT_DIRENT_D_NAMLEN */",
+        "#undef HAVE_SYSCONF": "#define HAVE_SYSCONF 1",
+        "#undef HAVE_SYS_DIR_H": "/* #undef HAVE_SYS_DIR_H */",
+        "#undef HAVE_SYS_FILE_H": "#define HAVE_SYS_FILE_H 1",
+        "#undef HAVE_SYS_IOCTL_H": "#define HAVE_SYS_IOCTL_H 1",
+        "#undef HAVE_SYS_NDIR_H": "/* #undef HAVE_SYS_NDIR_H */",
+        "#undef HAVE_SYS_PTEM_H": "/* #undef HAVE_SYS_PTEM_H */",
+        "#undef HAVE_SYS_PTE_H": "/* #undef HAVE_SYS_PTE_H */",
+        "#undef HAVE_SYS_SELECT_H": "#define HAVE_SYS_SELECT_H 1",
+        "#undef HAVE_SYS_STREAM_H": "/* #undef HAVE_SYS_STREAM_H */",
+        "#undef HAVE_SYS_TIME_H": "#define HAVE_SYS_TIME_H 1",
+        "#undef HAVE_TCGETATTR": "#define HAVE_TCGETATTR 1",
+        "#undef HAVE_TERMIOS_H": "#define HAVE_TERMIOS_H 1",
+        "#undef HAVE_TIMEVAL": "#define HAVE_TIMEVAL 1",
+        "#undef HAVE_TOWLOWER": "#define HAVE_TOWLOWER 1",
+        "#undef HAVE_TOWUPPER": "#define HAVE_TOWUPPER 1",
+        "#undef HAVE_UNISTD_H": "#define HAVE_UNISTD_H 1",
+        "#undef HAVE_USG_SIGHOLD": "/* #undef HAVE_USG_SIGHOLD */",
+        "#undef HAVE_VARARGS_H": "/* #undef HAVE_VARARGS_H */",
+        "#undef HAVE_VSNPRINTF": "#define HAVE_VSNPRINTF 1",
+        "#undef HAVE_WCHAR_H": "#define HAVE_WCHAR_H 1",
+        "#undef HAVE_WCHAR_T": "#define HAVE_WCHAR_T 1",
+        "#undef HAVE_WCRTOMB": "#define HAVE_WCRTOMB 1",
+        "#undef HAVE_WCSCOLL": "#define HAVE_WCSCOLL 1",
+        "#undef HAVE_WCTYPE_H": "#define HAVE_WCTYPE_H 1",
+        "#undef HAVE_WCTYPE_T": "#define HAVE_WCTYPE_T 1",
+        "#undef HAVE_WCWIDTH": "#define HAVE_WCWIDTH 1",
+        "#undef HAVE_WINT_T": "#define HAVE_WINT_T 1",
+        "#undef MUST_REINSTALL_SIGHANDLERS": "/* #undef MUST_REINSTALL_SIGHANDLERS */",
+        "#undef NO_MULTIBYTE_SUPPORT": "/* #undef NO_MULTIBYTE_SUPPORT */",
+        "#undef PROTOTYPES": "#define PROTOTYPES 1",
+        "#undef RETSIGTYPE": "#define RETSIGTYPE void",
+        "#undef SPEED_T_IN_SYS_TYPES": "/* #undef SPEED_T_IN_SYS_TYPES */",
+        "#undef STAT_MACROS_BROKEN": "/* #undef STAT_MACROS_BROKEN */",
+        "#undef STDC_HEADERS": "#define STDC_HEADERS 1",
+        "#undef STRCOLL_BROKEN": "/* #undef STRCOLL_BROKEN */",
+        "#undef STRUCT_WINSIZE_IN_SYS_IOCTL": "#define STRUCT_WINSIZE_IN_SYS_IOCTL 1",
+        "#undef STRUCT_WINSIZE_IN_TERMIOS": "/* #undef STRUCT_WINSIZE_IN_TERMIOS */",
+        "#undef VOID_SIGHANDLER": "#define VOID_SIGHANDLER 1",
+        "#undef _ALL_SOURCE": "#define _ALL_SOURCE 1",
+        "#undef _FILE_OFFSET_BITS": "/* #undef _FILE_OFFSET_BITS */",
+        "#undef _GNU_SOURCE": "#define _GNU_SOURCE 1",
+        "#undef _MINIX": "/* #undef _MINIX */",
+        "#undef _POSIX_1_SOURCE": "/* #undef _POSIX_1_SOURCE */",
+        "#undef _POSIX_PTHREAD_SEMANTICS": "#define _POSIX_PTHREAD_SEMANTICS 1",
+        "#undef _POSIX_SOURCE": "/* #undef _POSIX_SOURCE */",
+        "#undef _TANDEM_SOURCE": "#define _TANDEM_SOURCE 1",
+        "#undef __EXTENSIONS__": "#define __EXTENSIONS__ 1",
+        "#undef __PROTOTYPES": "#define __PROTOTYPES 1",
+        "#undef const": "/* #undef const */",
+        "#undef inline": "/* #undef inline */",
+        "#undef sig_atomic_t": "/* #undef sig_atomic_t */",
+        "#undef size_t": "/* #undef size_t */",
+        "#undef ssize_t": "/* #undef ssize_t */",
+        "#undef volatile": "/* #undef volatile */",
+    } | {
+        # These are separated to avoid replacement issues from sorted dicts.
+        "#undef HAVE_FCNTL": "#define HAVE_FCNTL 1",
+        "#undef HAVE_WCTYPE": "#define HAVE_WCTYPE 1",
+    } | select({
+        "@platforms//os:macos": {
+            "#undef GWINSZ_IN_SYS_IOCTL": "/* #undef GWINSZ_IN_SYS_IOCTL */",
+            "#undef HAVE_DECL_AUDIT_USER_TTY": "#define HAVE_DECL_AUDIT_USER_TTY 0",
+            "#undef HAVE_TERMCAP_H": "#define HAVE_TERMCAP_H 1",
+            "#undef HAVE_TERMIO_H": "/* #undef HAVE_TERMIO_H */",
+            "#undef TIOCSTAT_IN_SYS_IOCTL": "#define TIOCSTAT_IN_SYS_IOCTL 1",
+            "#undef WCWIDTH_BROKEN": "/* #undef WCWIDTH_BROKEN */",
+            "#undef __CHAR_UNSIGNED__": "/* #undef __CHAR_UNSIGNED__ */",
+        },
+        "//conditions:default": {
+            "#undef CTYPE_NON_ASCII": "#define CTYPE_NON_ASCII 1",
+            "#undef GWINSZ_IN_SYS_IOCTL": "#define GWINSZ_IN_SYS_IOCTL 1",
+            "#undef HAVE_DECL_AUDIT_USER_TTY": "#define HAVE_DECL_AUDIT_USER_TTY 1",
+            "#undef HAVE_TERMCAP_H": "/* #undef HAVE_TERMCAP_H */",
+            "#undef HAVE_TERMIO_H": "#define HAVE_TERMIO_H 1",
+            "#undef TIOCSTAT_IN_SYS_IOCTL": "/* #undef TIOCSTAT_IN_SYS_IOCTL */",
+            "#undef WCWIDTH_BROKEN": "#define WCWIDTH_BROKEN 1",
+            "#undef __CHAR_UNSIGNED__": "#define __CHAR_UNSIGNED__ 1",
+        },
+    }),
+    template = "config.h.in",
+)
+
+# Compile an example binary to show we're able to link.
+cc_binary(
+    name = "examples/rltest",
+    srcs = ["examples/rltest.c"],
+    copts = [
+        "-DHAVE_CONFIG_H",
+    ],
+    deps = [":readline"],
+)
diff --git a/modules/readline/8.2.bcr.3/overlay/MODULE.bazel b/modules/readline/8.2.bcr.3/overlay/MODULE.bazel
new file mode 120000
index 0000000..9b599e3
--- /dev/null
+++ b/modules/readline/8.2.bcr.3/overlay/MODULE.bazel
@@ -0,0 +1 @@
+../MODULE.bazel
\ No newline at end of file
diff --git a/modules/readline/8.2.bcr.3/presubmit.yml b/modules/readline/8.2.bcr.3/presubmit.yml
new file mode 100644
index 0000000..7f2a811
--- /dev/null
+++ b/modules/readline/8.2.bcr.3/presubmit.yml
@@ -0,0 +1,20 @@
+bcr_test_module:
+  module_path: ""
+  matrix:
+    platform:
+      - debian10
+      - debian11
+      - ubuntu2004
+      - ubuntu2004_arm64
+      - ubuntu2204
+      - ubuntu2404
+      - macos
+      - macos_arm64
+    bazel: ["7.x", "8.x"]
+  tasks:
+    verify_targets:
+      name: "Run test module"
+      platform: ${{ platform }}
+      bazel: ${{ bazel }}
+      build_targets:
+      - "//..."
diff --git a/modules/readline/8.2.bcr.3/source.json b/modules/readline/8.2.bcr.3/source.json
new file mode 100644
index 0000000..62b9114
--- /dev/null
+++ b/modules/readline/8.2.bcr.3/source.json
@@ -0,0 +1,13 @@
+{
+    "url": "https://mirrors.kernel.org/gnu/readline/readline-8.2.tar.gz",
+    "mirror_urls": [
+        "https://ftp.gnu.org/gnu/readline/readline-8.2.tar.gz",
+        "https://ftpmirror.gnu.org/gnu/readline/readline-8.2.tar.gz"
+    ],
+    "strip_prefix": "readline-8.2",
+    "integrity": "sha256-P+txcfFqhO6CyhijbXub4QmlLAT0kqBTMx19EJUAfDU=",
+    "overlay": {
+        "BUILD.bazel": "sha256-ZfUjNyiFi741Z0FfY8bVdO9Uc30olagx1yIdXJglI8k=",
+        "MODULE.bazel": "sha256-gAue+rp+nZ/dIE9FlgEAKttOrDOxPEdgyeFhab8jB6g="
+    }
+}
diff --git a/modules/readline/metadata.json b/modules/readline/metadata.json
index a984fe0..fa3e3b0 100644
--- a/modules/readline/metadata.json
+++ b/modules/readline/metadata.json
@@ -9,12 +9,15 @@
         }
     ],
     "repository": [
-        "https://ftp.gnu.org/"
+        "https://ftp.gnu.org/gnu/readline/",
+        "https://ftpmirror.gnu.org/gnu/readline/",
+        "https://mirrors.kernel.org/gnu/readline/"
     ],
     "versions": [
         "8.2",
         "8.2.bcr.1",
-        "8.2.bcr.2"
+        "8.2.bcr.2",
+        "8.2.bcr.3"
     ],
     "yanked_versions": {}
 }
diff --git a/modules/sed/4.9.bcr.3/MODULE.bazel b/modules/sed/4.9.bcr.3/MODULE.bazel
new file mode 100644
index 0000000..a598fba
--- /dev/null
+++ b/modules/sed/4.9.bcr.3/MODULE.bazel
@@ -0,0 +1,11 @@
+"""https://www.gnu.org/software/sed/"""
+
+module(
+    name = "sed",
+    version = "4.9.bcr.3",
+    bazel_compatibility = [">=7.2.1"],
+)
+
+bazel_dep(name = "platforms", version = "1.0.0")
+bazel_dep(name = "rules_cc", version = "0.2.4")
+bazel_dep(name = "bazel_skylib", version = "1.8.2")
diff --git a/modules/sed/4.9.bcr.3/overlay/BUILD.bazel b/modules/sed/4.9.bcr.3/overlay/BUILD.bazel
new file mode 100644
index 0000000..ebfa308
--- /dev/null
+++ b/modules/sed/4.9.bcr.3/overlay/BUILD.bazel
@@ -0,0 +1,393 @@
+load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
+load("@bazel_skylib//rules:diff_test.bzl", "diff_test")
+load("@bazel_skylib//rules:expand_template.bzl", "expand_template")
+load("@bazel_skylib//rules:native_binary.bzl", "native_binary")
+load("@bazel_skylib//rules:run_binary.bzl", "run_binary")
+load("@bazel_skylib//rules:write_file.bzl", "write_file")
+load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
+load("@rules_cc//cc:cc_library.bzl", "cc_library")
+load(":config_linux.bzl", LINUX_CONFIGURATION = "CONFIGURATION")
+load(":config_macos.bzl", MACOS_CONFIGURATION = "CONFIGURATION")
+
+VERSION = "4.9"
+
+COPTS = [
+    "-w",
+]
+
+copy_file(
+    name = "config_h",
+    src = select({
+        "@platforms//os:macos": "config_macos.h",
+        "//conditions:default": "config_linux.h",
+    }),
+    out = "config.h",
+)
+
+CONFIGURATION = select({
+    "@platforms//os:macos": MACOS_CONFIGURATION,
+    "//conditions:default": LINUX_CONFIGURATION,
+})
+
+HDR_TEMPLATES = {
+    "lib/alloca.h": "lib/alloca.in.h",
+    "lib/assert.h": "lib/assert.in.h",
+    "lib/ctype.h": "lib/ctype.in.h",
+    "lib/fcntl.h": "lib/fcntl.in.h",
+    "lib/inttypes.h": "lib/inttypes.in.h",
+    "lib/langinfo.h": "lib/langinfo.in.h",
+    "lib/limits.h": "lib/limits.in.h",
+    "lib/locale.h": "lib/locale.in.h",
+    "lib/malloc/dynarray-skeleton.gl.h": "lib/malloc/dynarray-skeleton.c",
+    "lib/malloc/dynarray.gl.h": "lib/malloc/dynarray.h",
+    "lib/malloc/scratch_buffer.gl.h": "lib/malloc/scratch_buffer.h",
+    "lib/selinux/context.h": "lib/se-context.in.h",
+    "lib/selinux/label.h": "lib/se-label.in.h",
+    "lib/selinux/selinux.h": "lib/se-selinux.in.h",
+    "lib/stdckdint.h": "lib/stdckdint.in.h",
+    "lib/stdint.h": "lib/stdint.in.h",
+    "lib/stdio.h": "lib/stdio.in.h",
+    "lib/stdlib.h": "lib/stdlib.in.h",
+    "lib/string.h": "lib/string.in.h",
+    "lib/sys/random.h": "lib/sys_random.in.h",
+    "lib/sys/stat.h": "lib/sys_stat.in.h",
+    "lib/sys/types.h": "lib/sys_types.in.h",
+    "lib/time.h": "lib/time.in.h",
+    "lib/unistd.h": "lib/unistd.in.h",
+    "lib/wchar.h": "lib/wchar.in.h",
+    "lib/wctype.h": "lib/wctype.in.h",
+}
+
+[
+    expand_template(
+        name = hdr[:-len(".h")] + "_h_pre_inline",
+        out = hdr + ".pre_inline",
+        substitutions = CONFIGURATION,
+        template = template,
+    )
+    for hdr, template in HDR_TEMPLATES.items()
+]
+
+copy_file(
+    name = "inline_sh_copy",
+    src = "inline.sh",
+    out = "inline_exe.sh",
+    is_executable = True,
+)
+
+copy_file(
+    name = "inline_bat_copy",
+    src = "inline.bat",
+    out = "inline_exe.bat",
+    is_executable = True,
+)
+
+native_binary(
+    name = "inline_sh",
+    src = "inline_exe.sh",
+    out = "inline_bin.sh",
+)
+
+native_binary(
+    name = "inline_bat",
+    src = "inline_exe.bat",
+    out = "inline_bin.bat",
+)
+
+expand_template(
+    name = "lib/verify_h",
+    out = "lib/static_assert.h",
+    substitutions = {
+        "_GL_VERIFY": "_GL_STATIC_ASSERT",
+        "_gl_verify": "_gl_static_assert",
+    },
+    template = "lib/verify.h",
+)
+
+[
+    run_binary(
+        name = hdr[:-len(".h")] + "_h_inline",
+        srcs = [
+            hdr + ".pre_inline",
+            "lib/_Noreturn.h",
+            "lib/arg-nonnull.h",
+            "lib/c++defs.h",
+            "lib/static_assert.h",
+            "lib/warn-on-use.h",
+        ],
+        outs = [hdr],
+        args = [
+            "$(execpath {})".format(hdr + ".pre_inline"),
+            "$(execpath {})".format(hdr),
+            "$(execpath lib/arg-nonnull.h)",
+            "definition of _GL_ARG_NONNULL",
+            "$(execpath lib/warn-on-use.h)",
+            "definition of _GL_WARN_ON_USE",
+            "$(execpath lib/_Noreturn.h)",
+            "definition of _Noreturn",
+            "$(execpath lib/c++defs.h)",
+            "definitions of _GL_FUNCDECL_RPL",
+            "$(execpath lib/static_assert.h)",
+            "definition of static_assert",
+        ],
+        tool = select({
+            "@platforms//os:windows": ":inline_bat",
+            "//conditions:default": ":inline_sh",
+        }),
+    )
+    for hdr in HDR_TEMPLATES.keys()
+]
+
+GENERATED_HDRS = [
+    "config.h",
+] + HDR_TEMPLATES.keys()
+
+SRCS = [
+    "lib/copy-acl.c",
+    "lib/set-acl.c",
+    "lib/acl-errno-valid.c",
+    "lib/acl-internal.c",
+    "lib/get-permissions.c",
+    "lib/set-permissions.c",
+    "lib/basename-lgpl.c",
+    "lib/binary-io.h",
+    "lib/binary-io.c",
+    "lib/btowc.c",
+    "lib/c-ctype.c",
+    "lib/c-strcasecmp.c",
+    "lib/c-strncasecmp.c",
+    "lib/canonicalize-lgpl.c",
+    "lib/cloexec.c",
+    "lib/close.c",
+    "lib/close-stream.c",
+    "lib/closeout.c",
+    "lib/dfa.c",
+    "lib/localeinfo.c",
+    "lib/dirname-lgpl.c",
+    "lib/stripslash.c",
+    "lib/dup2.c",
+    "lib/error.c",
+    "lib/exitfail.c",
+    "lib/fcntl.c",
+    "lib/fd-hook.c",
+    "lib/fpending.c",
+    "lib/free.c",
+    "lib/fstat.c",
+    "lib/getdelim.c",
+    "lib/getdtablesize.c",
+    "lib/getprogname.c",
+    "lib/getrandom.c",
+    "lib/malloc/dynarray_at_failure.c",
+    "lib/malloc/dynarray_emplace_enlarge.c",
+    "lib/malloc/dynarray_finalize.c",
+    "lib/malloc/dynarray_resize.c",
+    "lib/malloc/dynarray_resize_clear.c",
+    "lib/malloc/scratch_buffer_grow.c",
+    "lib/malloc/scratch_buffer_grow_preserve.c",
+    "lib/malloc/scratch_buffer_set_array_size.c",
+    "lib/hard-locale.c",
+    "lib/ialloc.c",
+    "lib/localcharset.c",
+    "lib/glthread/lock.c",
+    "lib/lstat.c",
+    "lib/malloca.c",
+    "lib/mbrlen.c",
+    "lib/mbrtowc.c",
+    "lib/mbsinit.c",
+    "lib/mbtowc.c",
+    "lib/memchr.c",
+    "lib/mempcpy.c",
+    "lib/memrchr.c",
+    "lib/mkdir.c",
+    "lib/mkostemp.c",
+    "lib/nl_langinfo.c",
+    "lib/nl_langinfo-lock.c",
+    "lib/obstack.c",
+    "lib/open.c",
+    "lib/progname.c",
+    "lib/qcopy-acl.c",
+    "lib/qset-acl.c",
+    "lib/quotearg.c",
+    "lib/rawmemchr.c",
+    "lib/readlink.c",
+    "lib/reallocarray.c",
+    "lib/regex.c",
+    "lib/rename.c",
+    "lib/rmdir.c",
+    "lib/se-context.in.h",
+    "lib/se-context.c",
+    "lib/se-label.c",
+    "lib/se-selinux.c",
+    "lib/setlocale_null.c",
+    "lib/setlocale-lock.c",
+    "lib/stat.c",
+    "lib/stat-time.c",
+    "lib/stdio-read.c",
+    "lib/stdio-write.c",
+    "lib/strerror.c",
+    "lib/strerror-override.c",
+    "lib/strverscmp.c",
+    "lib/tempname.c",
+    "lib/glthread/threadlib.c",
+    "lib/unistd.c",
+    "lib/version-etc.h",
+    "lib/version-etc.c",
+    "lib/version-etc-fsf.c",
+    "lib/wcrtomb.c",
+    "lib/wctob.c",
+    "lib/wctomb.c",
+    "lib/wctype-h.c",
+    "lib/xmalloc.c",
+    "lib/xalloc-die.c",
+] + select({
+    "@platforms//os:macos": [
+        "lib/acl_entries.c",
+        "lib/fwriting.c",
+        "lib/getfilecon.c",
+    ],
+    "@platforms//os:windows": [
+        "lib/windows-mutex.c",
+        "lib/windows-once.c",
+        "lib/windows-recmutex.c",
+        "lib/windows-rwlock.c",
+        "lib/msvc-inval.c",
+        "lib/msvc-nothrow.c",
+    ],
+    "//conditions:default": [],
+})
+
+WINDOWS_HDRS = [
+    "lib/msvc-inval.h",
+    "lib/msvc-nothrow.h",
+    "lib/windows-mutex.h",
+    "lib/windows-once.h",
+    "lib/windows-recmutex.h",
+    "lib/windows-rwlock.h",
+]
+
+HDRS = glob(
+    include = [
+        "*.h",
+        "lib/**/*.h",
+    ],
+    exclude = GENERATED_HDRS + WINDOWS_HDRS,
+) + select({
+    "@platforms//os:windows": GENERATED_HDRS + WINDOWS_HDRS,
+    "//conditions:default": GENERATED_HDRS,
+})
+
+cc_library(
+    name = "lib/sed",
+    srcs = SRCS,
+    hdrs = HDRS,
+    copts = COPTS + [
+        "-DHAVE_CONFIG_H",
+    ],
+    includes = [
+        ".",
+        "lib",
+    ],
+    textual_hdrs = [
+        "lib/regex_internal.c",
+        "lib/regcomp.c",
+        "lib/regexec.c",
+        "lib/malloc/dynarray-skeleton.c",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+alias(
+    name = "libsed",
+    actual = ":lib/sed",
+    visibility = ["//visibility:public"],
+)
+
+write_file(
+    name = "sed/version_h",
+    out = "sed/version.h",
+    content = [
+        "extern char const *Version;",
+        "",
+    ],
+    newline = "unix",
+)
+
+write_file(
+    name = "sed/version_c",
+    out = "sed/version.c",
+    content = [
+        "#include \"config.h\"",
+        "char const *Version = \"{}\";".format(VERSION),
+        "",
+    ],
+    newline = "unix",
+)
+
+cc_binary(
+    name = "sed/sed",
+    srcs = [
+        "sed/compile.c",
+        "sed/debug.c",
+        "sed/execute.c",
+        "sed/mbcs.c",
+        "sed/regexp.c",
+        "sed/sed.c",
+        "sed/sed.h",
+        "sed/utils.c",
+        "sed/utils.h",
+        "sed/version.c",
+        "sed/version.h",
+    ],
+    copts = COPTS + [
+        "-DLOCALEDIR=\\\"/usr/share/locale\\\"",
+    ],
+    includes = ["sed"],
+    deps = [":libsed"],
+)
+
+alias(
+    name = "sed",
+    actual = ":sed/sed",
+    visibility = ["//visibility:public"],
+)
+
+# Tests
+
+write_file(
+    name = "sed_test_base",
+    out = "sed_test_base.txt",
+    content = [
+        "Hello World",
+        "This is a test.",
+        "Hello again.",
+        "",
+    ],
+    newline = "unix",
+)
+
+genrule(
+    name = "sed_test_output",
+    srcs = ["sed_test_base.txt"],
+    outs = ["sed_test_output.txt"],
+    cmd = "$(execpath :sed) 's/Hello/Hallo/g' $(execpath :sed_test_base.txt) > $@",
+    cmd_bat = "$(execpath :sed) \"s/Hello/Hallo/g\" $(execpath :sed_test_base.txt) > $@",
+    tools = [":sed"],
+)
+
+write_file(
+    name = "sed_test_output_golden",
+    out = "sed_test_output_golden.txt",
+    content = [
+        "Hallo World",
+        "This is a test.",
+        "Hallo again.",
+        "",
+    ],
+    newline = "unix",
+)
+
+diff_test(
+    name = "sed_diff_test",
+    file1 = "sed_test_output.txt",
+    file2 = "sed_test_output_golden.txt",
+)
diff --git a/modules/sed/4.9.bcr.3/overlay/MODULE.bazel b/modules/sed/4.9.bcr.3/overlay/MODULE.bazel
new file mode 120000
index 0000000..9b599e3
--- /dev/null
+++ b/modules/sed/4.9.bcr.3/overlay/MODULE.bazel
@@ -0,0 +1 @@
+../MODULE.bazel
\ No newline at end of file
diff --git a/modules/sed/4.9.bcr.3/overlay/config_linux.bzl b/modules/sed/4.9.bcr.3/overlay/config_linux.bzl
new file mode 100644
index 0000000..38c557c
--- /dev/null
+++ b/modules/sed/4.9.bcr.3/overlay/config_linux.bzl
@@ -0,0 +1,465 @@
+"""Platform specific configuration values"""
+
+CONFIGURATION = {
+    "@GNULIBHEADERS_OVERRIDE_WINT_T@": "0",
+    "@GNULIB_ACCESS@": "0",
+    "@GNULIB_ALIGNED_ALLOC@": "0",
+    "@GNULIB_ATOLL@": "0",
+    "@GNULIB_BTOWC@": "1",
+    "@GNULIB_CALLOC_GNU@": "1",
+    "@GNULIB_CALLOC_POSIX@": "1",
+    "@GNULIB_CANONICALIZE_FILE_NAME@": "1",
+    "@GNULIB_CHDIR@": "1",
+    "@GNULIB_CHMOD@": "0",
+    "@GNULIB_CHOWN@": "0",
+    "@GNULIB_CLOSE@": "1",
+    "@GNULIB_COPY_FILE_RANGE@": "0",
+    "@GNULIB_CREAT@": "0",
+    "@GNULIB_CTIME@": "0",
+    "@GNULIB_DPRINTF@": "0",
+    "@GNULIB_DUP2@": "1",
+    "@GNULIB_DUP3@": "0",
+    "@GNULIB_DUP@": "0",
+    "@GNULIB_DUPLOCALE@": "0",
+    "@GNULIB_ENVIRON@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_EUIDACCESS@": "0",
+    "@GNULIB_EXECL@": "0",
+    "@GNULIB_EXECLE@": "0",
+    "@GNULIB_EXECLP@": "0",
+    "@GNULIB_EXECV@": "0",
+    "@GNULIB_EXECVE@": "0",
+    "@GNULIB_EXECVP@": "0",
+    "@GNULIB_EXECVPE@": "0",
+    "@GNULIB_EXPLICIT_BZERO@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FACCESSAT@": "0",
+    "@GNULIB_FCHDIR@": "0",
+    "@GNULIB_FCHMODAT@": "0",
+    "@GNULIB_FCHOWNAT@": "0",
+    "@GNULIB_FCLOSE@": "0",
+    "@GNULIB_FCNTL@": "1",
+    "@GNULIB_FDATASYNC@": "0",
+    "@GNULIB_FDOPEN@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FFLUSH@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FFSL@": "0",
+    "@GNULIB_FFSLL@": "0",
+    "@GNULIB_FGETC@": "1",
+    "@GNULIB_FGETS@": "1",
+    "@GNULIB_FOPEN@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FPRINTF@": "1",
+    "@GNULIB_FPRINTF_POSIX@": "0",
+    "@GNULIB_FPURGE@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FPUTC@": "1",
+    "@GNULIB_FPUTS@": "1",
+    "@GNULIB_FREAD@": "1",
+    "@GNULIB_FREE_POSIX@": "1",
+    "@GNULIB_FREOPEN@": "0",
+    "@GNULIB_FSCANF@": "1",
+    "@GNULIB_FSEEK@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FSEEKO@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FSTAT@": "1",
+    "@GNULIB_FSTATAT@": "0",
+    "@GNULIB_FSYNC@": "0",
+    "@GNULIB_FTELL@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FTELLO@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FTRUNCATE@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FUTIMENS@": "0",
+    "@GNULIB_FWRITE@": "1",
+    "@GNULIB_GETC@": "1",
+    "@GNULIB_GETCHAR@": "1",
+    "@GNULIB_GETCWD@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_GETDELIM@": "1",
+    "@GNULIB_GETDOMAINNAME@": "0",
+    "@GNULIB_GETDTABLESIZE@": "1",
+    "@GNULIB_GETENTROPY@": "0",
+    "@GNULIB_GETGROUPS@": "0",
+    "@GNULIB_GETHOSTNAME@": "0",
+    "@GNULIB_GETLINE@": "0",
+    "@GNULIB_GETLOADAVG@": "0",
+    "@GNULIB_GETLOGIN@": "0",
+    "@GNULIB_GETLOGIN_R@": "0",
+    "@GNULIB_GETOPT_POSIX@": "0",
+    "@GNULIB_GETPAGESIZE@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_GETPASS@": "0",
+    "@GNULIB_GETRANDOM@": "1",
+    "@GNULIB_GETSUBOPT@": "0",
+    "@GNULIB_GETUMASK@": "0",
+    "@GNULIB_GETUSERSHELL@": "0",
+    "@GNULIB_GRANTPT@": "0",
+    "@GNULIB_GROUP_MEMBER@": "0",
+    "@GNULIB_ISATTY@": "0",
+    "@GNULIB_ISBLANK@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_ISWBLANK@": "0",
+    "@GNULIB_ISWCTYPE@": "0",
+    "@GNULIB_ISWDIGIT@": "0",
+    "@GNULIB_ISWXDIGIT@": "0",
+    "@GNULIB_LCHMOD@": "0",
+    "@GNULIB_LCHOWN@": "0",
+    "@GNULIB_LINK@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_LINKAT@": "0",
+    "@GNULIB_LOCALECONV@": "1",
+    "@GNULIB_LOCALENAME@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_LOCALTIME@": "0",
+    "@GNULIB_LSEEK@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_LSTAT@": "1",
+    "@GNULIB_MALLOC_GNU@": "1",
+    "@GNULIB_MALLOC_POSIX@": "1",
+    "@GNULIB_MBRLEN@": "1",
+    "@GNULIB_MBRTOWC@": "1",
+    "@GNULIB_MBSCASECMP@": "0",
+    "@GNULIB_MBSCASESTR@": "0",
+    "@GNULIB_MBSCHR@": "0",
+    "@GNULIB_MBSCSPN@": "0",
+    "@GNULIB_MBSINIT@": "1",
+    "@GNULIB_MBSLEN@": "0",
+    "@GNULIB_MBSNCASECMP@": "0",
+    "@GNULIB_MBSNLEN@": "0",
+    "@GNULIB_MBSNRTOWCS@": "0",
+    "@GNULIB_MBSPBRK@": "0",
+    "@GNULIB_MBSPCASECMP@": "0",
+    "@GNULIB_MBSRCHR@": "0",
+    "@GNULIB_MBSRTOWCS@": "0",
+    "@GNULIB_MBSSEP@": "0",
+    "@GNULIB_MBSSPN@": "0",
+    "@GNULIB_MBSSTR@": "0",
+    "@GNULIB_MBSTOK_R@": "0",
+    "@GNULIB_MBTOWC@": "1",
+    "@GNULIB_MDA_ACCESS@": "1",
+    "@GNULIB_MDA_CHDIR@": "1",
+    "@GNULIB_MDA_CHMOD@": "1",
+    "@GNULIB_MDA_CLOSE@": "1",
+    "@GNULIB_MDA_CREAT@": "1",
+    "@GNULIB_MDA_DUP@": "1",
+    "@GNULIB_MDA_ECVT@": "1",
+    "@GNULIB_MDA_EXECL@": "1",
+    "@GNULIB_MDA_EXECLE@": "1",
+    "@GNULIB_MDA_EXECLP@": "1",
+    "@GNULIB_MDA_EXECV@": "1",
+    "@GNULIB_MDA_EXECVE@": "1",
+    "@GNULIB_MDA_EXECVP@": "1",
+    "@GNULIB_MDA_EXECVPE@": "1",
+    "@GNULIB_MDA_FCLOSEALL@": "1",
+    "@GNULIB_MDA_FCVT@": "1",
+    "@GNULIB_MDA_FDOPEN@": "1",
+    "@GNULIB_MDA_FILENO@": "1",
+    "@GNULIB_MDA_GCVT@": "1",
+    "@GNULIB_MDA_GETCWD@": "1",
+    "@GNULIB_MDA_GETPID@": "1",
+    "@GNULIB_MDA_GETW@": "1",
+    "@GNULIB_MDA_ISATTY@": "1",
+    "@GNULIB_MDA_LSEEK@": "1",
+    "@GNULIB_MDA_MEMCCPY@": "1",
+    "@GNULIB_MDA_MKDIR@": "1",
+    "@GNULIB_MDA_MKTEMP@": "1",
+    "@GNULIB_MDA_PUTENV@": "1",
+    "@GNULIB_MDA_PUTW@": "1",
+    "@GNULIB_MDA_READ@": "1",
+    "@GNULIB_MDA_RMDIR@": "1",
+    "@GNULIB_MDA_STRDUP@": "1",
+    "@GNULIB_MDA_SWAB@": "1",
+    "@GNULIB_MDA_TEMPNAM@": "1",
+    "@GNULIB_MDA_TZSET@": "1",
+    "@GNULIB_MDA_UMASK@": "1",
+    "@GNULIB_MDA_UNLINK@": "1",
+    "@GNULIB_MDA_WCSDUP@": "1",
+    "@GNULIB_MDA_WRITE@": "1",
+    "@GNULIB_MEMCHR@": "1",
+    "@GNULIB_MEMMEM@": "0",
+    "@GNULIB_MEMPCPY@": "1",
+    "@GNULIB_MEMRCHR@": "1",
+    "@GNULIB_MKDIR@": "1",
+    "@GNULIB_MKDIRAT@": "0",
+    "@GNULIB_MKDTEMP@": "0",
+    "@GNULIB_MKFIFO@": "0",
+    "@GNULIB_MKFIFOAT@": "0",
+    "@GNULIB_MKNOD@": "0",
+    "@GNULIB_MKNODAT@": "0",
+    "@GNULIB_MKOSTEMP@": "1",
+    "@GNULIB_MKOSTEMPS@": "0",
+    "@GNULIB_MKSTEMP@": "0",
+    "@GNULIB_MKSTEMPS@": "0",
+    "@GNULIB_MKTIME@": "0",
+    "@GNULIB_NANOSLEEP@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_NL_LANGINFO@": "1",
+    "@GNULIB_NONBLOCKING@": "0",
+    "@GNULIB_OBSTACK_PRINTF@": "0",
+    "@GNULIB_OBSTACK_PRINTF_POSIX@": "0",
+    "@GNULIB_OPEN@": "1",
+    "@GNULIB_OPENAT@": "0",
+    "@GNULIB_OVERRIDES_STRUCT_STAT@": "0",
+    "@GNULIB_PCLOSE@": "0",
+    "@GNULIB_PERROR@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_PIPE2@": "0",
+    "@GNULIB_PIPE@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_POPEN@": "0",
+    "@GNULIB_POSIX_MEMALIGN@": "0",
+    "@GNULIB_POSIX_OPENPT@": "0",
+    "@GNULIB_PREAD@": "0",
+    "@GNULIB_PRINTF@": "1",
+    "@GNULIB_PRINTF_POSIX@": "0",
+    "@GNULIB_PTSNAME@": "0",
+    "@GNULIB_PTSNAME_R@": "0",
+    "@GNULIB_PUTC@": "1",
+    "@GNULIB_PUTCHAR@": "1",
+    "@GNULIB_PUTENV@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_PUTS@": "1",
+    "@GNULIB_PWRITE@": "0",
+    "@GNULIB_QSORT_R@": "0",
+    "@GNULIB_RANDOM@": "0",
+    "@GNULIB_RANDOM_R@": "0",
+    "@GNULIB_RAWMEMCHR@": "1",
+    "@GNULIB_READ@": "0",
+    "@GNULIB_READLINK@": "1",
+    "@GNULIB_READLINKAT@": "0",
+    "@GNULIB_REALLOCARRAY@": "1",
+    "@GNULIB_REALLOC_GNU@": "1",
+    "@GNULIB_REALLOC_POSIX@": "1",
+    "@GNULIB_REALPATH@": "1",
+    "@GNULIB_REMOVE@": "0",
+    "@GNULIB_RENAME@": "1",
+    "@GNULIB_RENAMEAT@": "0",
+    "@GNULIB_RMDIR@": "1",
+    "@GNULIB_RPMATCH@": "0",
+    "@GNULIB_SCANF@": "1",
+    "@GNULIB_SECURE_GETENV@": "0",
+    "@GNULIB_SETENV@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_SETHOSTNAME@": "0",
+    "@GNULIB_SETLOCALE@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_SETLOCALE_NULL@": "1",
+    "@GNULIB_SIGABBREV_NP@": "0",
+    "@GNULIB_SIGDESCR_NP@": "0",
+    "@GNULIB_SLEEP@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_SNPRINTF@": "0",
+    "@GNULIB_SPRINTF_POSIX@": "0",
+    "@GNULIB_STAT@": "1",
+    "@GNULIB_STDIO_H_NONBLOCKING@": "0",
+    "@GNULIB_STDIO_H_SIGPIPE@": "0",
+    "@GNULIB_STPCPY@": "0",
+    "@GNULIB_STPNCPY@": "0",
+    "@GNULIB_STRCASESTR@": "0",
+    "@GNULIB_STRCHRNUL@": "0",
+    "@GNULIB_STRDUP@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_STRERROR@": "1",
+    "@GNULIB_STRERRORNAME_NP@": "0",
+    "@GNULIB_STRERROR_R@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_STRFTIME@": "0",
+    "@GNULIB_STRNCAT@": "0",
+    "@GNULIB_STRNDUP@": "0",
+    "@GNULIB_STRNLEN@": "0",
+    "@GNULIB_STRPBRK@": "0",
+    "@GNULIB_STRPTIME@": "0",
+    "@GNULIB_STRSEP@": "0",
+    "@GNULIB_STRSIGNAL@": "0",
+    "@GNULIB_STRSTR@": "0",
+    "@GNULIB_STRTOD@": "0",
+    "@GNULIB_STRTOK_R@": "0",
+    "@GNULIB_STRTOL@": "0",
+    "@GNULIB_STRTOLD@": "0",
+    "@GNULIB_STRTOLL@": "0",
+    "@GNULIB_STRTOUL@": "0",
+    "@GNULIB_STRTOULL@": "0",
+    "@GNULIB_STRVERSCMP@": "1",
+    "@GNULIB_SYMLINK@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_SYMLINKAT@": "0",
+    "@GNULIB_SYSTEM_POSIX@": "0",
+    "@GNULIB_TIMEGM@": "0",
+    "@GNULIB_TIMESPEC_GET@": "0",
+    "@GNULIB_TIMESPEC_GETRES@": "0",
+    "@GNULIB_TIME_R@": "0",
+    "@GNULIB_TIME_RZ@": "0",
+    "@GNULIB_TMPFILE@": "0",
+    "@GNULIB_TOWCTRANS@": "0",
+    "@GNULIB_TRUNCATE@": "0",
+    "@GNULIB_TTYNAME_R@": "0",
+    "@GNULIB_TZSET@": "0",
+    "@GNULIB_UNISTD_H_GETOPT@": "0",
+    "@GNULIB_UNLINK@": "0",
+    "@GNULIB_UNLINKAT@": "0",
+    "@GNULIB_UNLOCKPT@": "0",
+    "@GNULIB_UNSETENV@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_USLEEP@": "0",
+    "@GNULIB_UTIMENSAT@": "0",
+    "@GNULIB_VASPRINTF@": "0",
+    "@GNULIB_VDPRINTF@": "0",
+    "@GNULIB_VFPRINTF@": "1",
+    "@GNULIB_VFPRINTF_POSIX@": "0",
+    "@GNULIB_VFSCANF@": "0",
+    "@GNULIB_VPRINTF@": "1",
+    "@GNULIB_VPRINTF_POSIX@": "0",
+    "@GNULIB_VSCANF@": "0",
+    "@GNULIB_VSNPRINTF@": "0",
+    "@GNULIB_VSPRINTF_POSIX@": "0",
+    "@GNULIB_WCPCPY@": "0",
+    "@GNULIB_WCPNCPY@": "0",
+    "@GNULIB_WCRTOMB@": "1",
+    "@GNULIB_WCSCASECMP@": "0",
+    "@GNULIB_WCSCAT@": "0",
+    "@GNULIB_WCSCHR@": "0",
+    "@GNULIB_WCSCMP@": "0",
+    "@GNULIB_WCSCOLL@": "0",
+    "@GNULIB_WCSCPY@": "0",
+    "@GNULIB_WCSCSPN@": "0",
+    "@GNULIB_WCSDUP@": "0",
+    "@GNULIB_WCSFTIME@": "0",
+    "@GNULIB_WCSLEN@": "0",
+    "@GNULIB_WCSNCASECMP@": "0",
+    "@GNULIB_WCSNCAT@": "0",
+    "@GNULIB_WCSNCMP@": "0",
+    "@GNULIB_WCSNCPY@": "0",
+    "@GNULIB_WCSNLEN@": "0",
+    "@GNULIB_WCSNRTOMBS@": "0",
+    "@GNULIB_WCSPBRK@": "0",
+    "@GNULIB_WCSRCHR@": "0",
+    "@GNULIB_WCSRTOMBS@": "0",
+    "@GNULIB_WCSSPN@": "0",
+    "@GNULIB_WCSSTR@": "0",
+    "@GNULIB_WCSTOK@": "0",
+    "@GNULIB_WCSWIDTH@": "0",
+    "@GNULIB_WCSXFRM@": "0",
+    "@GNULIB_WCTOB@": "1",
+    "@GNULIB_WCTOMB@": "1",
+    "@GNULIB_WCTRANS@": "0",
+    "@GNULIB_WCTYPE@": "0",
+    "@GNULIB_WCWIDTH@": "0",
+    "@GNULIB_WMEMCHR@": "0",
+    "@GNULIB_WMEMCMP@": "0",
+    "@GNULIB_WMEMCPY@": "0",
+    "@GNULIB_WMEMMOVE@": "0",
+    "@GNULIB_WMEMPCPY@": "0",
+    "@GNULIB_WMEMSET@": "0",
+    "@GNULIB_WRITE@": "0",
+    "@GNULIB__EXIT@": "0",
+    "@GUARD_PREFIX@": "GL",
+    "@HAVE_ALLOCA_H@": "1",
+    "@HAVE_BTOWC@": "1",
+    "@HAVE_C99_STDINT_H@": "1",
+    "@HAVE_CANONICALIZE_FILE_NAME@": "1",
+    "@HAVE_DECL_ECVT@": "1",
+    "@HAVE_DECL_EXECVPE@": "1",
+    "@HAVE_DECL_FCLOSEALL@": "1",
+    "@HAVE_DECL_FCVT@": "1",
+    "@HAVE_DECL_GCVT@": "1",
+    "@HAVE_DECL_GETDELIM@": "1",
+    "@HAVE_DECL_MEMRCHR@": "1",
+    "@HAVE_DECL_UNSETENV@": "1",
+    "@HAVE_DECL_WCSDUP@": "1",
+    "@HAVE_DECL_WCTOB@": "1",
+    "@HAVE_DUPLOCALE@": "1",
+    "@HAVE_EXECVPE@": "1",
+    "@HAVE_FCNTL@": "1",
+    "@HAVE_FEATURES_H@": "1",
+    "@HAVE_FREELOCALE@": "1",
+    "@HAVE_GETDTABLESIZE@": "1",
+    "@HAVE_GETRANDOM@": "1",
+    "@HAVE_ISWBLANK@": "1",
+    "@HAVE_ISWCNTRL@": "1",
+    "@HAVE_LANGINFO_ALTMON@": "1",
+    "@HAVE_LANGINFO_CODESET@": "1",
+    "@HAVE_LANGINFO_ERA@": "1",
+    "@HAVE_LANGINFO_H@": "1",
+    "@HAVE_LANGINFO_T_FMT_AMPM@": "1",
+    "@HAVE_LANGINFO_YESEXPR@": "1",
+    "@HAVE_LSTAT@": "1",
+    "@HAVE_MBRLEN@": "1",
+    "@HAVE_MBRTOWC@": "1",
+    "@HAVE_MBSINIT@": "1",
+    "@HAVE_MBTOWC@": "1",
+    "@HAVE_MEMPCPY@": "1",
+    "@HAVE_MKOSTEMP@": "1",
+    "@HAVE_NEWLOCALE@": "1",
+    "@HAVE_NL_LANGINFO@": "1",
+    "@HAVE_RAWMEMCHR@": "1",
+    "@HAVE_READLINK@": "1",
+    "@HAVE_REALLOCARRAY@": "1",
+    "@HAVE_REALPATH@": "1",
+    "@HAVE_STDINT_H@": "1",
+    "@HAVE_STRVERSCMP@": "1",
+    "@HAVE_SYS_LOADAVG_H@": "0",
+    "@HAVE_SYS_RANDOM_H@": "1",
+    "@HAVE_TIMEZONE_T@": "0",
+    "@HAVE_UNISTD_H@": "1",
+    "@HAVE_WCHAR_H@": "1",
+    "@HAVE_WCRTOMB@": "1",
+    "@HAVE_WCTRANS_T@": "1",
+    "@HAVE_WCTYPE_H@": "1",
+    "@HAVE_WCTYPE_T@": "1",
+    "@HAVE_WINT_T@": "1",
+    "@HAVE_XLOCALE_H@": "0",
+    "@INCLUDE_NEXT@": "include_next",
+    "@LOCALENAME_ENHANCE_LOCALE_FUNCS@": "0",
+    "@NEXT_ASSERT_H@": "<assert.h>",
+    "@NEXT_CTYPE_H@": "<ctype.h>",
+    "@NEXT_FCNTL_H@": "<fcntl.h>",
+    "@NEXT_LANGINFO_H@": "<langinfo.h>",
+    "@NEXT_LIMITS_H@": "<limits.h>",
+    "@NEXT_LOCALE_H@": "<locale.h>",
+    "@NEXT_STDINT_H@": "<stdint.h>",
+    "@NEXT_STDIO_H@": "<stdio.h>",
+    "@NEXT_STDLIB_H@": "<stdlib.h>",
+    "@NEXT_STRING_H@": "<string.h>",
+    "@NEXT_SYS_RANDOM_H@": "<sys/random.h>",
+    "@NEXT_SYS_STAT_H@": "<sys/stat.h>",
+    "@NEXT_SYS_TYPES_H@": "<sys/types.h>",
+    "@NEXT_TIME_H@": "<time.h>",
+    "@NEXT_UNISTD_H@": "<unistd.h>",
+    "@NEXT_WCHAR_H@": "<wchar.h>",
+    "@NEXT_WCTYPE_H@": "<wctype.h>",
+    "@PRAGMA_COLUMNS@": "",
+    "@PRAGMA_SYSTEM_HEADER@": "#pragma GCC system_header",
+    "@REPLACE_BTOWC@": "0",
+    "@REPLACE_CALLOC_FOR_CALLOC_GNU@": "0",
+    "@REPLACE_CALLOC_FOR_CALLOC_POSIX@": "0",
+    "@REPLACE_CANONICALIZE_FILE_NAME@": "0",
+    "@REPLACE_CLOSE@": "0",
+    "@REPLACE_DUP2@": "0",
+    "@REPLACE_FCNTL@": "1",
+    "@REPLACE_FPRINTF@": "0",
+    "@REPLACE_FREE@": "1",
+    "@REPLACE_FSTAT@": "0",
+    "@REPLACE_GETDELIM@": "0",
+    "@REPLACE_GETDTABLESIZE@": "0",
+    "@REPLACE_GETRANDOM@": "0",
+    "@REPLACE_GMTIME@": "0",
+    "@REPLACE_ISWBLANK@": "0",
+    "@REPLACE_ISWCNTRL@": "0",
+    "@REPLACE_LOCALECONV@": "0",
+    "@REPLACE_LOCALTIME@": "0",
+    "@REPLACE_LSTAT@": "0",
+    "@REPLACE_MALLOC_FOR_MALLOC_GNU@": "0",
+    "@REPLACE_MALLOC_FOR_MALLOC_POSIX@": "0",
+    "@REPLACE_MBRLEN@": "1",
+    "@REPLACE_MBRTOWC@": "1",
+    "@REPLACE_MBSINIT@": "0",
+    "@REPLACE_MBSTATE_T@": "0",
+    "@REPLACE_MBTOWC@": "0",
+    "@REPLACE_MEMCHR@": "0",
+    "@REPLACE_MKDIR@": "0",
+    "@REPLACE_NL_LANGINFO@": "0",
+    "@REPLACE_OPEN@": "0",
+    "@REPLACE_PRINTF@": "0",
+    "@REPLACE_READLINK@": "0",
+    "@REPLACE_REALLOCARRAY@": "0",
+    "@REPLACE_REALLOC_FOR_REALLOC_GNU@": "0",
+    "@REPLACE_REALLOC_FOR_REALLOC_POSIX@": "0",
+    "@REPLACE_REALPATH@": "0",
+    "@REPLACE_RENAME@": "0",
+    "@REPLACE_RMDIR@": "0",
+    "@REPLACE_STAT@": "0",
+    "@REPLACE_STDIO_READ_FUNCS@": "0",
+    "@REPLACE_STDIO_WRITE_FUNCS@": "0",
+    "@REPLACE_STRERROR@": "0",
+    "@REPLACE_STRUCT_LCONV@": "0",
+    "@REPLACE_TOWLOWER@": "0",
+    "@REPLACE_VFPRINTF@": "0",
+    "@REPLACE_VPRINTF@": "0",
+    "@REPLACE_WCRTOMB@": "0",
+    "@REPLACE_WCTOB@": "0",
+    "@REPLACE_WCTOMB@": "0",
+    "@TIME_H_DEFINES_STRUCT_TIMESPEC@": "1",
+    "@TIME_H_DEFINES_TIME_UTC@": "1",
+    "@UNISTD_H_HAVE_SYS_RANDOM_H@": "1",
+    "@UNISTD_H_HAVE_WINSOCK2_H@": "0",
+    "@UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@": "0",
+    "@WINDOWS_64_BIT_OFF_T@": "0",
+    "@WINDOWS_64_BIT_ST_SIZE@": "0",
+    "@WINDOWS_STAT_INODES@": "0",
+}
diff --git a/modules/sed/4.9.bcr.3/overlay/config_linux.h b/modules/sed/4.9.bcr.3/overlay/config_linux.h
new file mode 100644
index 0000000..5a3f17d
--- /dev/null
+++ b/modules/sed/4.9.bcr.3/overlay/config_linux.h
@@ -0,0 +1,2576 @@
+/* config.h.  Generated from config_h.in by configure.  */
+/* config_h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* Define to the number of bits in type 'ptrdiff_t'. */
+/* #undef BITSIZEOF_PTRDIFF_T */
+
+/* Define to the number of bits in type 'sig_atomic_t'. */
+/* #undef BITSIZEOF_SIG_ATOMIC_T */
+
+/* Define to the number of bits in type 'size_t'. */
+/* #undef BITSIZEOF_SIZE_T */
+
+/* Define to the number of bits in type 'wchar_t'. */
+/* #undef BITSIZEOF_WCHAR_T */
+
+/* Define to the number of bits in type 'wint_t'. */
+/* #undef BITSIZEOF_WINT_T */
+
+/* Define to 1 if using 'alloca.c'. */
+/* #undef C_ALLOCA */
+
+/* the name of the file descriptor member of DIR */
+/* #undef DIR_FD_MEMBER_NAME */
+
+#ifdef DIR_FD_MEMBER_NAME
+# define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
+#else
+# define DIR_TO_FD(Dir_p) -1
+#endif
+
+
+/* Define to 1 if // is a file system root distinct from /. */
+/* #undef DOUBLE_SLASH_IS_DISTINCT_ROOT */
+
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+#define ENABLE_NLS 1
+
+/* Define this to 1 if F_DUPFD behavior does not match POSIX */
+/* #undef FCNTL_DUPFD_BUGGY */
+
+/* Define to nothing if C supports flexible array members, and to 1 if it does
+   not. That way, with a declaration like 'struct s { int n; short
+   d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
+   compilers. Use 'FLEXSIZEOF (struct s, d, N * sizeof (short))' to calculate
+   the size in bytes of such a struct containing an N-element array. */
+#define FLEXIBLE_ARRAY_MEMBER /**/
+
+/* Define to 1 if fopen() fails to recognize a trailing slash. */
+/* #undef FOPEN_TRAILING_SLASH_BUG */
+
+/* Enable compile-time and run-time bounds-checking, and some warnings,
+      without upsetting glibc 2.15+. */
+   #if !defined _FORTIFY_SOURCE && 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 */
+
+/* Define to 1 if the system's ftello function has the macOS bug. */
+/* #undef FTELLO_BROKEN_AFTER_UNGETC */
+
+/* Define to 1 if fflush is known to work on stdin as per POSIX.1-2008, 0 if
+   fflush is known to not work, -1 if unknown. */
+#define FUNC_FFLUSH_STDIN 0
+
+/* Define to 1 if mkdir mistakenly creates a directory given with a trailing
+   dot component. */
+/* #undef FUNC_MKDIR_DOT_BUG */
+
+/* Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string. */
+#define FUNC_NL_LANGINFO_YESEXPR_WORKS 1
+
+/* Define to 1 if realpath() can malloc memory, always gives an absolute path,
+   and handles a trailing slash correctly. */
+/* #undef FUNC_REALPATH_NEARLY_WORKS */
+
+/* Define to 1 if realpath() can malloc memory, always gives an absolute path,
+   and handles leading slashes and a trailing slash correctly. */
+#define FUNC_REALPATH_WORKS 1
+
+/* Define to 1 if ungetc is broken when used on arbitrary bytes. */
+/* #undef FUNC_UNGETC_BROKEN */
+
+/* Define this to 'void' or 'struct timezone' to match the system's
+   declaration of the second argument to gettimeofday. */
+#define GETTIMEOFDAY_TIMEZONE struct timezone
+
+/* Define to 1 if getxattr works with XATTR_NAME_POSIX_ACL_ACCESS and
+   XATTR_NAME_POSIX_ACL_DEFAULT. */
+#define GETXATTR_WITH_POSIX_ACLS 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module canonicalize-lgpl shall be considered present. */
+#define GNULIB_CANONICALIZE_LGPL 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module close-stream shall be considered present. */
+#define GNULIB_CLOSE_STREAM 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module fflush shall be considered present. */
+#define GNULIB_FFLUSH IN_SED_GNULIB_TESTS
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module fopen-gnu shall be considered present. */
+#define GNULIB_FOPEN_GNU IN_SED_GNULIB_TESTS
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module fscanf shall be considered present. */
+#define GNULIB_FSCANF 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module isblank shall be considered present. */
+#define GNULIB_ISBLANK IN_SED_GNULIB_TESTS
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module lock shall be considered present. */
+#define GNULIB_LOCK 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module mkostemp shall be considered present. */
+#define GNULIB_MKOSTEMP 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module msvc-nothrow shall be considered present. */
+#define GNULIB_MSVC_NOTHROW 1
+
+/* Define to 1 to disable use of VLAs */
+#define GNULIB_NO_VLA 1
+
+/* enable some gnulib portability checks */
+/* #undef GNULIB_PORTCHECK */
+
+/* Define to 1 if printf and friends should be labeled with attribute
+   "__gnu_printf__" instead of "__printf__" */
+/* #undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU */
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module reallocarray shall be considered present. */
+#define GNULIB_REALLOCARRAY 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module scanf shall be considered present. */
+#define GNULIB_SCANF 1
+
+/* Define to 1 if you want the FILE stream functions getc, putc, etc. to use
+   unlocked I/O if available, throughout the package. Unlocked I/O can improve
+   performance, sometimes dramatically. But unlocked I/O is safe only in
+   single-threaded programs, as well as in multithreaded programs for which
+   you can guarantee that every FILE stream, including stdin, stdout, stderr,
+   is used only in a single thread. */
+#define GNULIB_STDIO_SINGLE_THREAD 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module strerror shall be considered present. */
+#define GNULIB_STRERROR 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module strerror_r-posix shall be considered present. */
+#define GNULIB_STRERROR_R_POSIX IN_SED_GNULIB_TESTS
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module tempname shall be considered present. */
+#define GNULIB_TEMPNAME 1
+
+/* Define to 1 when the gnulib module accept should be tested. */
+#define GNULIB_TEST_ACCEPT 1
+
+/* Define to 1 when the gnulib module bind should be tested. */
+#define GNULIB_TEST_BIND 1
+
+/* Define to 1 when the gnulib module btowc should be tested. */
+#define GNULIB_TEST_BTOWC 1
+
+/* Define to 1 when the gnulib module calloc-gnu should be tested. */
+#define GNULIB_TEST_CALLOC_GNU 1
+
+/* Define to 1 when the gnulib module calloc-posix should be tested. */
+#define GNULIB_TEST_CALLOC_POSIX 1
+
+/* Define to 1 when the gnulib module canonicalize_file_name should be tested.
+   */
+#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1
+
+/* Define to 1 when the gnulib module chdir should be tested. */
+#define GNULIB_TEST_CHDIR 1
+
+/* Define to 1 when the gnulib module cloexec should be tested. */
+#define GNULIB_TEST_CLOEXEC 1
+
+/* Define to 1 when the gnulib module close should be tested. */
+#define GNULIB_TEST_CLOSE 1
+
+/* Define to 1 when the gnulib module closedir should be tested. */
+#define GNULIB_TEST_CLOSEDIR 1
+
+/* Define to 1 when the gnulib module connect should be tested. */
+#define GNULIB_TEST_CONNECT 1
+
+/* Define to 1 when the gnulib module dirfd should be tested. */
+#define GNULIB_TEST_DIRFD 1
+
+/* Define to 1 when the gnulib module dup2 should be tested. */
+#define GNULIB_TEST_DUP2 1
+
+/* Define to 1 when the gnulib module environ should be tested. */
+#define GNULIB_TEST_ENVIRON 1
+
+/* Define to 1 when the gnulib module explicit_bzero should be tested. */
+#define GNULIB_TEST_EXPLICIT_BZERO 1
+
+/* Define to 1 when the gnulib module fcntl should be tested. */
+#define GNULIB_TEST_FCNTL 1
+
+/* Define to 1 when the gnulib module fdopen should be tested. */
+#define GNULIB_TEST_FDOPEN 1
+
+/* Define to 1 when the gnulib module fflush should be tested. */
+#define GNULIB_TEST_FFLUSH 1
+
+/* Define to 1 when the gnulib module fgetc should be tested. */
+#define GNULIB_TEST_FGETC 1
+
+/* Define to 1 when the gnulib module fgets should be tested. */
+#define GNULIB_TEST_FGETS 1
+
+/* Define to 1 when the gnulib module fopen should be tested. */
+#define GNULIB_TEST_FOPEN 1
+
+/* Define to 1 when the gnulib module fopen-gnu should be tested. */
+#define GNULIB_TEST_FOPEN_GNU 1
+
+/* Define to 1 when the gnulib module fprintf should be tested. */
+#define GNULIB_TEST_FPRINTF 1
+
+/* Define to 1 when the gnulib module fpurge should be tested. */
+#define GNULIB_TEST_FPURGE 1
+
+/* Define to 1 when the gnulib module fputc should be tested. */
+#define GNULIB_TEST_FPUTC 1
+
+/* Define to 1 when the gnulib module fputs should be tested. */
+#define GNULIB_TEST_FPUTS 1
+
+/* Define to 1 when the gnulib module fread should be tested. */
+#define GNULIB_TEST_FREAD 1
+
+/* Define to 1 when the gnulib module free-posix should be tested. */
+#define GNULIB_TEST_FREE_POSIX 1
+
+/* Define to 1 when the gnulib module fscanf should be tested. */
+#define GNULIB_TEST_FSCANF 1
+
+/* Define to 1 when the gnulib module fseek should be tested. */
+#define GNULIB_TEST_FSEEK 1
+
+/* Define to 1 when the gnulib module fseeko should be tested. */
+#define GNULIB_TEST_FSEEKO 1
+
+/* Define to 1 when the gnulib module fstat should be tested. */
+#define GNULIB_TEST_FSTAT 1
+
+/* Define to 1 when the gnulib module ftell should be tested. */
+#define GNULIB_TEST_FTELL 1
+
+/* Define to 1 when the gnulib module ftello should be tested. */
+#define GNULIB_TEST_FTELLO 1
+
+/* Define to 1 when the gnulib module ftruncate should be tested. */
+#define GNULIB_TEST_FTRUNCATE 1
+
+/* Define to 1 when the gnulib module fwrite should be tested. */
+#define GNULIB_TEST_FWRITE 1
+
+/* Define to 1 when the gnulib module getc should be tested. */
+#define GNULIB_TEST_GETC 1
+
+/* Define to 1 when the gnulib module getchar should be tested. */
+#define GNULIB_TEST_GETCHAR 1
+
+/* Define to 1 when the gnulib module getcwd should be tested. */
+#define GNULIB_TEST_GETCWD 1
+
+/* Define to 1 when the gnulib module getdelim should be tested. */
+#define GNULIB_TEST_GETDELIM 1
+
+/* Define to 1 when the gnulib module getdtablesize should be tested. */
+#define GNULIB_TEST_GETDTABLESIZE 1
+
+/* Define to 1 when the gnulib module getpagesize should be tested. */
+#define GNULIB_TEST_GETPAGESIZE 1
+
+/* Define to 1 when the gnulib module getrandom should be tested. */
+#define GNULIB_TEST_GETRANDOM 1
+
+/* Define to 1 when the gnulib module gettimeofday should be tested. */
+#define GNULIB_TEST_GETTIMEOFDAY 1
+
+/* Define to 1 when the gnulib module ioctl should be tested. */
+#define GNULIB_TEST_IOCTL 1
+
+/* Define to 1 when the gnulib module link should be tested. */
+#define GNULIB_TEST_LINK 1
+
+/* Define to 1 when the gnulib module listen should be tested. */
+#define GNULIB_TEST_LISTEN 1
+
+/* Define to 1 when the gnulib module localeconv should be tested. */
+#define GNULIB_TEST_LOCALECONV 1
+
+/* Define to 1 when the gnulib module localename should be tested. */
+#define GNULIB_TEST_LOCALENAME 1
+
+/* Define to 1 when the gnulib module lseek should be tested. */
+#define GNULIB_TEST_LSEEK 1
+
+/* Define to 1 when the gnulib module lstat should be tested. */
+#define GNULIB_TEST_LSTAT 1
+
+/* Define to 1 when the gnulib module malloc-gnu should be tested. */
+#define GNULIB_TEST_MALLOC_GNU 1
+
+/* Define to 1 when the gnulib module malloc-posix should be tested. */
+#define GNULIB_TEST_MALLOC_POSIX 1
+
+/* Define to 1 when the gnulib module mbrlen should be tested. */
+#define GNULIB_TEST_MBRLEN 1
+
+/* Define to 1 when the gnulib module mbrtowc should be tested. */
+#define GNULIB_TEST_MBRTOWC 1
+
+/* Define to 1 when the gnulib module mbsinit should be tested. */
+#define GNULIB_TEST_MBSINIT 1
+
+/* Define to 1 when the gnulib module mbtowc should be tested. */
+#define GNULIB_TEST_MBTOWC 1
+
+/* Define to 1 when the gnulib module memchr should be tested. */
+#define GNULIB_TEST_MEMCHR 1
+
+/* Define to 1 when the gnulib module mempcpy should be tested. */
+#define GNULIB_TEST_MEMPCPY 1
+
+/* Define to 1 when the gnulib module memrchr should be tested. */
+#define GNULIB_TEST_MEMRCHR 1
+
+/* Define to 1 when the gnulib module mkdir should be tested. */
+#define GNULIB_TEST_MKDIR 1
+
+/* Define to 1 when the gnulib module mkostemp should be tested. */
+#define GNULIB_TEST_MKOSTEMP 1
+
+/* Define to 1 when the gnulib module nanosleep should be tested. */
+#define GNULIB_TEST_NANOSLEEP 1
+
+/* Define to 1 when the gnulib module nl_langinfo should be tested. */
+#define GNULIB_TEST_NL_LANGINFO 1
+
+/* Define to 1 when the gnulib module open should be tested. */
+#define GNULIB_TEST_OPEN 1
+
+/* Define to 1 when the gnulib module opendir should be tested. */
+#define GNULIB_TEST_OPENDIR 1
+
+/* Define to 1 when the gnulib module perror should be tested. */
+#define GNULIB_TEST_PERROR 1
+
+/* Define to 1 when the gnulib module pipe should be tested. */
+#define GNULIB_TEST_PIPE 1
+
+/* Define to 1 when the gnulib module printf should be tested. */
+#define GNULIB_TEST_PRINTF 1
+
+/* Define to 1 when the gnulib module pselect should be tested. */
+#define GNULIB_TEST_PSELECT 1
+
+/* Define to 1 when the gnulib module pthread_sigmask should be tested. */
+#define GNULIB_TEST_PTHREAD_SIGMASK 1
+
+/* Define to 1 when the gnulib module pthread-thread should be tested. */
+#define GNULIB_TEST_PTHREAD_THREAD 1
+
+/* Define to 1 when the gnulib module putc should be tested. */
+#define GNULIB_TEST_PUTC 1
+
+/* Define to 1 when the gnulib module putchar should be tested. */
+#define GNULIB_TEST_PUTCHAR 1
+
+/* Define to 1 when the gnulib module putenv should be tested. */
+#define GNULIB_TEST_PUTENV 1
+
+/* Define to 1 when the gnulib module puts should be tested. */
+#define GNULIB_TEST_PUTS 1
+
+/* Define to 1 when the gnulib module raise should be tested. */
+#define GNULIB_TEST_RAISE 1
+
+/* Define to 1 when the gnulib module rawmemchr should be tested. */
+#define GNULIB_TEST_RAWMEMCHR 1
+
+/* Define to 1 when the gnulib module readdir should be tested. */
+#define GNULIB_TEST_READDIR 1
+
+/* Define to 1 when the gnulib module readlink should be tested. */
+#define GNULIB_TEST_READLINK 1
+
+/* Define to 1 when the gnulib module reallocarray should be tested. */
+#define GNULIB_TEST_REALLOCARRAY 1
+
+/* Define to 1 when the gnulib module realloc-gnu should be tested. */
+#define GNULIB_TEST_REALLOC_GNU 1
+
+/* Define to 1 when the gnulib module realloc-posix should be tested. */
+#define GNULIB_TEST_REALLOC_POSIX 1
+
+/* Define to 1 when the gnulib module realpath should be tested. */
+#define GNULIB_TEST_REALPATH 1
+
+/* Define to 1 when the gnulib module rename should be tested. */
+#define GNULIB_TEST_RENAME 1
+
+/* Define to 1 when the gnulib module rmdir should be tested. */
+#define GNULIB_TEST_RMDIR 1
+
+/* Define to 1 when the gnulib module scanf should be tested. */
+#define GNULIB_TEST_SCANF 1
+
+/* Define to 1 when the gnulib module select should be tested. */
+#define GNULIB_TEST_SELECT 1
+
+/* Define to 1 when the gnulib module setenv should be tested. */
+#define GNULIB_TEST_SETENV 1
+
+/* Define to 1 when the gnulib module setlocale should be tested. */
+#define GNULIB_TEST_SETLOCALE 1
+
+/* Define to 1 when the gnulib module setlocale_null should be tested. */
+#define GNULIB_TEST_SETLOCALE_NULL 1
+
+/* Define to 1 when the gnulib module setsockopt should be tested. */
+#define GNULIB_TEST_SETSOCKOPT 1
+
+/* Define to 1 when the gnulib module sigprocmask should be tested. */
+#define GNULIB_TEST_SIGPROCMASK 1
+
+/* Define to 1 when the gnulib module sleep should be tested. */
+#define GNULIB_TEST_SLEEP 1
+
+/* Define to 1 when the gnulib module socket should be tested. */
+#define GNULIB_TEST_SOCKET 1
+
+/* Define to 1 when the gnulib module stat should be tested. */
+#define GNULIB_TEST_STAT 1
+
+/* Define to 1 when the gnulib module strdup should be tested. */
+#define GNULIB_TEST_STRDUP 1
+
+/* Define to 1 when the gnulib module strerror should be tested. */
+#define GNULIB_TEST_STRERROR 1
+
+/* Define to 1 when the gnulib module strerror_r should be tested. */
+#define GNULIB_TEST_STRERROR_R 1
+
+/* Define to 1 when the gnulib module strverscmp should be tested. */
+#define GNULIB_TEST_STRVERSCMP 1
+
+/* Define to 1 when the gnulib module symlink should be tested. */
+#define GNULIB_TEST_SYMLINK 1
+
+/* Define to 1 when the gnulib module unsetenv should be tested. */
+#define GNULIB_TEST_UNSETENV 1
+
+/* Define to 1 when the gnulib module vfprintf should be tested. */
+#define GNULIB_TEST_VFPRINTF 1
+
+/* Define to 1 when the gnulib module vprintf should be tested. */
+#define GNULIB_TEST_VPRINTF 1
+
+/* Define to 1 when the gnulib module wcrtomb should be tested. */
+#define GNULIB_TEST_WCRTOMB 1
+
+/* Define to 1 when the gnulib module wctob should be tested. */
+#define GNULIB_TEST_WCTOB 1
+
+/* Define to 1 when the gnulib module wctomb should be tested. */
+#define GNULIB_TEST_WCTOMB 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module xalloc shall be considered present. */
+#define GNULIB_XALLOC 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module xalloc-die shall be considered present. */
+#define GNULIB_XALLOC_DIE 1
+
+/* Define to 1 if you have the 'aclsort' function. */
+/* #undef HAVE_ACLSORT */
+
+/* Define to 1 if you have the <aclv.h> header file. */
+/* #undef HAVE_ACLV_H */
+
+/* Define to 1 if you have the 'aclx_get' function. */
+/* #undef HAVE_ACLX_GET */
+
+/* Define to 1 if you have the 'acl_copy_ext_native' function. */
+/* #undef HAVE_ACL_COPY_EXT_NATIVE */
+
+/* Define to 1 if you have the 'acl_create_entry_np' function. */
+/* #undef HAVE_ACL_CREATE_ENTRY_NP */
+
+/* Define to 1 if you have the 'acl_delete_def_file' function. */
+/* #undef HAVE_ACL_DELETE_DEF_FILE */
+
+/* Define to 1 if you have the 'acl_delete_fd_np' function. */
+/* #undef HAVE_ACL_DELETE_FD_NP */
+
+/* Define to 1 if you have the 'acl_delete_file_np' function. */
+/* #undef HAVE_ACL_DELETE_FILE_NP */
+
+/* Define to 1 if you have the 'acl_entries' function. */
+/* #undef HAVE_ACL_ENTRIES */
+
+/* Define to 1 if you have the 'acl_extended_file' function. */
+/* #undef HAVE_ACL_EXTENDED_FILE */
+
+/* Define to 1 if the constant ACL_FIRST_ENTRY exists. */
+/* #undef HAVE_ACL_FIRST_ENTRY */
+
+/* Define to 1 if you have the 'acl_free' function. */
+/* #undef HAVE_ACL_FREE */
+
+/* Define to 1 if you have the 'acl_free_text' function. */
+/* #undef HAVE_ACL_FREE_TEXT */
+
+/* Define to 1 if you have the 'acl_from_mode' function. */
+/* #undef HAVE_ACL_FROM_MODE */
+
+/* Define to 1 if you have the 'acl_from_text' function. */
+/* #undef HAVE_ACL_FROM_TEXT */
+
+/* Define to 1 if you have the 'acl_get_fd' function. */
+/* #undef HAVE_ACL_GET_FD */
+
+/* Define to 1 if you have the 'acl_get_file' function. */
+/* #undef HAVE_ACL_GET_FILE */
+
+/* Define to 1 if you have the <acl/libacl.h> header file. */
+/* #undef HAVE_ACL_LIBACL_H */
+
+/* Define to 1 if you have the 'acl_set_fd' function. */
+/* #undef HAVE_ACL_SET_FD */
+
+/* Define to 1 if you have the 'acl_set_file' function. */
+/* #undef HAVE_ACL_SET_FILE */
+
+/* Define to 1 if you have the 'acl_to_short_text' function. */
+/* #undef HAVE_ACL_TO_SHORT_TEXT */
+
+/* Define to 1 if you have the 'acl_trivial' function. */
+/* #undef HAVE_ACL_TRIVIAL */
+
+/* Define to 1 if the ACL type ACL_TYPE_EXTENDED exists. */
+/* #undef HAVE_ACL_TYPE_EXTENDED */
+
+/* Define to 1 if you have 'alloca' after including <alloca.h>, a header that
+   may be supplied by this distribution. */
+#define HAVE_ALLOCA 1
+
+/* Define to 1 if <alloca.h> works. */
+#define HAVE_ALLOCA_H 1
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#define HAVE_ARPA_INET_H 1
+
+/* Define to 1 if you have the <bcrypt.h> header file. */
+/* #undef HAVE_BCRYPT_H */
+
+/* Define to 1 if you have the <bp-sym.h> header file. */
+/* #undef HAVE_BP_SYM_H */
+
+/* Define to 1 if you have the 'btowc' function. */
+#define HAVE_BTOWC 1
+
+/* Define to 1 if nanosleep mishandles large arguments. */
+#define HAVE_BUG_BIG_NANOSLEEP 1
+
+/* Define to 1 if you have the 'canonicalize_file_name' function. */
+#define HAVE_CANONICALIZE_FILE_NAME 1
+
+/* Define to 1 if you have the 'catgets' function. */
+#define HAVE_CATGETS 1
+
+/* Define to 1 if you have the Mac OS X function
+   CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */
+/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */
+
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+   the CoreFoundation framework. */
+/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */
+
+/* Define to 1 if you have the 'clock_getres' function. */
+#define HAVE_CLOCK_GETRES 1
+
+/* Define to 1 if you have the 'clock_gettime' function. */
+#define HAVE_CLOCK_GETTIME 1
+
+/* Define to 1 if you have the 'clock_settime' function. */
+#define HAVE_CLOCK_SETTIME 1
+
+/* Define to 1 if you have the 'closedir' function. */
+#define HAVE_CLOSEDIR 1
+
+/* Define to 1 if you have the <crtdefs.h> header file. */
+/* #undef HAVE_CRTDEFS_H */
+
+/* Define to 1 if the alignas and alignof keywords work. */
+/* #undef HAVE_C_ALIGNASOF */
+
+/* Define to 1 if bool, true and false work as per C2023. */
+/* #undef HAVE_C_BOOL */
+
+/* Define to 1 if the static_assert keyword works. */
+/* #undef HAVE_C_STATIC_ASSERT */
+
+/* Define to 1 if C supports variable-length arrays. */
+#define HAVE_C_VARARRAYS 1
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+   */
+#define HAVE_DCGETTEXT 1
+
+/* Define to 1 if you have the declaration of 'alarm', and to 0 if you don't.
+   */
+#define HAVE_DECL_ALARM 1
+
+/* Define to 1 if you have the declaration of 'clearerr_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_CLEARERR_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'dirfd', and to 0 if you don't.
+   */
+#define HAVE_DECL_DIRFD 1
+
+/* Define to 1 if you have the declaration of 'ecvt', and to 0 if you don't.
+   */
+#define HAVE_DECL_ECVT 1
+
+/* Define to 1 if you have the declaration of 'execvpe', and to 0 if you
+   don't. */
+#define HAVE_DECL_EXECVPE 1
+
+/* Define to 1 if you have the declaration of 'fcloseall', and to 0 if you
+   don't. */
+#define HAVE_DECL_FCLOSEALL 1
+
+/* Define to 1 if you have the declaration of 'fcvt', and to 0 if you don't.
+   */
+#define HAVE_DECL_FCVT 1
+
+/* Define to 1 if you have the declaration of 'feof_unlocked', and to 0 if you
+   don't. */
+#define HAVE_DECL_FEOF_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'ferror_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FERROR_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'fflush_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FFLUSH_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'fgets_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FGETS_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'fpurge', and to 0 if you don't.
+   */
+#define HAVE_DECL_FPURGE 0
+
+/* Define to 1 if you have the declaration of 'fputc_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FPUTC_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'fputs_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FPUTS_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'fread_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FREAD_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'fseeko', and to 0 if you don't.
+   */
+#define HAVE_DECL_FSEEKO 1
+
+/* Define to 1 if you have the declaration of 'ftello', and to 0 if you don't.
+   */
+#define HAVE_DECL_FTELLO 1
+
+/* Define to 1 if you have the declaration of 'fwrite_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FWRITE_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'gcvt', and to 0 if you don't.
+   */
+#define HAVE_DECL_GCVT 1
+
+/* Define to 1 if you have the declaration of 'getchar_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_GETCHAR_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'getc_unlocked', and to 0 if you
+   don't. */
+#define HAVE_DECL_GETC_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'getdelim', and to 0 if you
+   don't. */
+#define HAVE_DECL_GETDELIM 1
+
+/* Define to 1 if you have the declaration of 'getdtablesize', and to 0 if you
+   don't. */
+#define HAVE_DECL_GETDTABLESIZE 1
+
+/* Define to 1 if you have the declaration of 'inet_pton', and to 0 if you
+   don't. */
+#define HAVE_DECL_INET_PTON 1
+
+/* Define to 1 if you have the declaration of 'isblank', and to 0 if you
+   don't. */
+#define HAVE_DECL_ISBLANK 1
+
+/* Define to 1 if you have the declaration of 'mbrlen', and to 0 if you don't.
+   */
+/* #undef HAVE_DECL_MBRLEN */
+
+/* Define to 1 if you have the declaration of 'mbrtowc', and to 0 if you
+   don't. */
+/* #undef HAVE_DECL_MBRTOWC */
+
+/* Define to 1 if you have the declaration of 'mbsinit', and to 0 if you
+   don't. */
+/* #undef HAVE_DECL_MBSINIT */
+
+/* Define to 1 if you have the declaration of 'memrchr', and to 0 if you
+   don't. */
+#define HAVE_DECL_MEMRCHR 1
+
+/* 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
+
+/* 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
+
+/* Define to 1 if you have the declaration of 'putchar_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_PUTCHAR_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'putc_unlocked', and to 0 if you
+   don't. */
+#define HAVE_DECL_PUTC_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'setenv', and to 0 if you don't.
+   */
+#define HAVE_DECL_SETENV 1
+
+/* Define to 1 if you have the declaration of 'sleep', and to 0 if you don't.
+   */
+#define HAVE_DECL_SLEEP 1
+
+/* Define to 1 if you have the declaration of 'strdup', and to 0 if you don't.
+   */
+#define HAVE_DECL_STRDUP 1
+
+/* Define to 1 if you have the declaration of 'strerror_r', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRERROR_R 1
+
+/* Define to 1 if you have the declaration of 'towlower', and to 0 if you
+   don't. */
+/* #undef HAVE_DECL_TOWLOWER */
+
+/* Define to 1 if you have the declaration of 'unsetenv', and to 0 if you
+   don't. */
+#define HAVE_DECL_UNSETENV 1
+
+/* Define to 1 if you have the declaration of 'wcrtomb', and to 0 if you
+   don't. */
+/* #undef HAVE_DECL_WCRTOMB */
+
+/* Define to 1 if you have the declaration of 'wcsdup', and to 0 if you don't.
+   */
+#define HAVE_DECL_WCSDUP 1
+
+/* Define to 1 if you have the declaration of 'wctob', and to 0 if you don't.
+   */
+#define HAVE_DECL_WCTOB 1
+
+/* Define to 1 if you have the declaration of '_fseeki64', and to 0 if you
+   don't. */
+/* #undef HAVE_DECL__FSEEKI64 */
+
+/* Define to 1 if you have the declaration of '_putenv', and to 0 if you
+   don't. */
+/* #undef HAVE_DECL__PUTENV */
+
+/* Define to 1 if you have the declaration of '__argv', and to 0 if you don't.
+   */
+#define HAVE_DECL___ARGV 0
+
+/* Define to 1 if you have the declaration of '__fpending', and to 0 if you
+   don't. */
+#define HAVE_DECL___FPENDING 1
+
+/* Define to 1 if you have the <dirent.h> header file. */
+#define HAVE_DIRENT_H 1
+
+/* Define to 1 if you have the 'dirfd' function. */
+#define HAVE_DIRFD 1
+
+/* Define to 1 if you have the 'duplocale' function. */
+#define HAVE_DUPLOCALE 1
+
+/* Define if you have the declaration of environ. */
+#define HAVE_ENVIRON_DECL 1
+
+/* Define to 1 if you have the <errno.h> header file. */
+#define HAVE_ERRNO_H 1
+
+/* Define to 1 if you have the 'explicit_bzero' function. */
+#define HAVE_EXPLICIT_BZERO 1
+
+/* Define to 1 if you have the 'explicit_memset' function. */
+/* #undef HAVE_EXPLICIT_MEMSET */
+
+/* Define to 1 if you have the 'faccessat' function. */
+#define HAVE_FACCESSAT 1
+
+/* Define to 1 if you have the 'facl' function. */
+/* #undef HAVE_FACL */
+
+/* Define if the locale_t type contains insufficient information, as on
+   OpenBSD. */
+/* #undef HAVE_FAKE_LOCALES */
+
+/* Define to 1 if you have the 'fchmod' function. */
+#define HAVE_FCHMOD 1
+
+/* Define to 1 if you have the 'fchown' function. */
+#define HAVE_FCHOWN 1
+
+/* Define to 1 if you have the 'fcntl' function. */
+#define HAVE_FCNTL 1
+
+/* Define to 1 if you have the <features.h> header file. */
+#define HAVE_FEATURES_H 1
+
+/* Define to 1 if you have the 'flockfile' function. */
+/* #undef HAVE_FLOCKFILE */
+
+/* Defined if "rt" can be used as a mode to fopen. */
+#define HAVE_FOPEN_RT 1
+
+/* Define to 1 if you have the 'fpurge' function. */
+/* #undef HAVE_FPURGE */
+
+/* Define to 1 if you have the 'freelocale' function. */
+#define HAVE_FREELOCALE 1
+
+/* Define if the 'free' function is guaranteed to preserve errno. */
+/* #undef HAVE_FREE_POSIX */
+
+/* Define to 1 if you have the 'ftruncate' function. */
+#define HAVE_FTRUNCATE 1
+
+/* Define to 1 if you have the 'funlockfile' function. */
+/* #undef HAVE_FUNLOCKFILE */
+
+/* Define to 1 if you have the 'getacl' function. */
+/* #undef HAVE_GETACL */
+
+/* Define to 1 if you have the 'getcwd' function. */
+#define HAVE_GETCWD 1
+
+/* Define to 1 if you have the 'getdelim' function. */
+#define HAVE_GETDELIM 1
+
+/* Define to 1 if you have the 'getdtablesize' function. */
+#define HAVE_GETDTABLESIZE 1
+
+/* Define to 1 if you have the 'getexecname' function. */
+/* #undef HAVE_GETEXECNAME */
+
+/* Define to 1 if you have the 'getlocalename_l' function. */
+/* #undef HAVE_GETLOCALENAME_L */
+
+/* Define to 1 if you have the 'getprogname' function. */
+/* #undef HAVE_GETPROGNAME */
+
+/* Define to 1 if you have the 'getrandom' function. */
+#define HAVE_GETRANDOM 1
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#define HAVE_GETTEXT 1
+
+/* Define to 1 if you have the 'gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define if the uselocale exists, may be safely called, and returns
+   sufficient information. */
+#define HAVE_GOOD_USELOCALE 1
+
+/* Define if you have the iconv() function and it works. */
+/* #undef HAVE_ICONV */
+
+/* Define to 1 if you have the 'inet_pton' function. */
+/* #undef HAVE_INET_PTON */
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the 'ioctl' function. */
+#define HAVE_IOCTL 1
+
+/* Define to 1 if <sys/socket.h> defines AF_INET. */
+#define HAVE_IPV4 1
+
+/* Define to 1 if <sys/socket.h> defines AF_INET6. */
+#define HAVE_IPV6 1
+
+/* Define to 1 if you have the 'isascii' function. */
+#define HAVE_ISASCII 1
+
+/* Define to 1 if you have the 'isatty' function. */
+#define HAVE_ISATTY 1
+
+/* Define to 1 if you have the 'isblank' function. */
+#define HAVE_ISBLANK 1
+
+/* Define to 1 if you have the 'iswcntrl' function. */
+#define HAVE_ISWCNTRL 1
+
+/* Define to 1 if you have the 'iswctype' function. */
+#define HAVE_ISWCTYPE 1
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#define HAVE_LANGINFO_CODESET 1
+
+/* Define to 1 if you have the <langinfo.h> header file. */
+#define HAVE_LANGINFO_H 1
+
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#define HAVE_LC_MESSAGES 1
+
+/* Define to 1 if you have the <libintl.h> header file. */
+#define HAVE_LIBINTL_H 1
+
+/* Define to 1 if the bcrypt library is guaranteed to be present. */
+/* #undef HAVE_LIB_BCRYPT */
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define to 1 if you have the 'link' function. */
+#define HAVE_LINK 1
+
+/* Define to 1 if you have the <locale.h> header file. */
+#define HAVE_LOCALE_H 1
+
+/* Define to 1 if the system has the type 'long long int'. */
+#define HAVE_LONG_LONG_INT 1
+
+/* Define to 1 if you have the 'lstat' function. */
+#define HAVE_LSTAT 1
+
+/* Define to 1 if you have the <malloc.h> header file. */
+#define HAVE_MALLOC_H 1
+
+/* Define if malloc, realloc, and calloc set errno on allocation failure. */
+#define HAVE_MALLOC_POSIX 1
+
+/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including
+   config.h and <sys/mman.h>. */
+#define HAVE_MAP_ANONYMOUS 1
+
+/* Define to 1 if you have the 'mbrlen' function. */
+#define HAVE_MBRLEN 1
+
+/* Define to 1 if you have the 'mbrtowc' function. */
+#define HAVE_MBRTOWC 1
+
+/* Define to 1 if you have the 'mbsinit' function. */
+#define HAVE_MBSINIT 1
+
+/* Define to 1 if <wchar.h> declares mbstate_t. */
+#define HAVE_MBSTATE_T 1
+
+/* Define to 1 if you have the 'mbtowc' function. */
+#define HAVE_MBTOWC 1
+
+/* Define to 1 if you have the <mcheck.h> header file. */
+#define HAVE_MCHECK_H 1
+
+/* Define to 1 if you have the 'memcpy' function. */
+#define HAVE_MEMCPY 1
+
+/* Define to 1 if you have the 'mempcpy' function. */
+#define HAVE_MEMPCPY 1
+
+/* Define to 1 if you have the 'memrchr' function. */
+#define HAVE_MEMRCHR 1
+
+/* Define to 1 if you have the 'memset_s' function. */
+/* #undef HAVE_MEMSET_S */
+
+/* Define to 1 if you have the <minix/config.h> header file. */
+/* #undef HAVE_MINIX_CONFIG_H */
+
+/* Define to 1 if <limits.h> defines the MIN and MAX macros. */
+/* #undef HAVE_MINMAX_IN_LIMITS_H */
+
+/* Define to 1 if <sys/param.h> defines the MIN and MAX macros. */
+#define HAVE_MINMAX_IN_SYS_PARAM_H 1
+
+/* Define to 1 if you have the 'mkostemp' function. */
+#define HAVE_MKOSTEMP 1
+
+/* Define to 1 if you have the 'mprotect' function. */
+#define HAVE_MPROTECT 1
+
+/* Define to 1 if you have the 'mquery' function. */
+/* #undef HAVE_MQUERY */
+
+/* Define to 1 on MSVC platforms that have the "invalid parameter handler"
+   concept. */
+/* #undef HAVE_MSVC_INVALID_PARAMETER_HANDLER */
+
+/* Define if the locale_t type does not contain the name of each locale
+   category. */
+/* #undef HAVE_NAMELESS_LOCALES */
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#define HAVE_NETDB_H 1
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#define HAVE_NETINET_IN_H 1
+
+/* Define to 1 if you have the 'newlocale' function. */
+#define HAVE_NEWLOCALE 1
+
+/* Define to 1 if you have the 'nl_langinfo' function. */
+#define HAVE_NL_LANGINFO 1
+
+/* Define to 1 if the system has obstacks that work with any size object. */
+/* #undef HAVE_OBSTACK */
+
+/* Define to 1 if you have the 'opendir' function. */
+#define HAVE_OPENDIR 1
+
+/* Define to 1 if you have the <OS.h> header file. */
+/* #undef HAVE_OS_H */
+
+/* Define to 1 if you have the 'pathconf' function. */
+#define HAVE_PATHCONF 1
+
+/* Define to 1 if you have the 'pipe' function. */
+#define HAVE_PIPE 1
+
+/* Define to 1 if you have the 'popen' function. */
+#define HAVE_POPEN 1
+
+/* Define to 1 if you have the 'pselect' function. */
+#define HAVE_PSELECT 1
+
+/* Define to 1 if you have the 'pstat_getprocvm' function. */
+/* #undef HAVE_PSTAT_GETPROCVM */
+
+/* Define if you have the <pthread.h> header and the POSIX threads API. */
+#define HAVE_PTHREAD_API 1
+
+/* Define to 1 if you have the 'pthread_atfork' function. */
+/* #undef HAVE_PTHREAD_ATFORK */
+
+/* Define to 1 if you have the <pthread.h> header file. */
+#define HAVE_PTHREAD_H 1
+
+/* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */
+/* #undef HAVE_PTHREAD_MUTEX_RECURSIVE */
+
+/* Define if the POSIX multithreading library has read/write locks. */
+/* #undef HAVE_PTHREAD_RWLOCK */
+
+/* Define if the 'pthread_rwlock_rdlock' function prefers a writer to a
+   reader. */
+/* #undef HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER */
+
+/* Define to 1 if the pthread_sigmask function can be used (despite bugs). */
+/* #undef HAVE_PTHREAD_SIGMASK */
+
+/* Define to 1 if the system has the type 'pthread_spinlock_t'. */
+#define HAVE_PTHREAD_SPINLOCK_T 1
+
+/* Define to 1 if the system has the type 'pthread_t'. */
+#define HAVE_PTHREAD_T 1
+
+/* Define to 1 if you have the 'raise' function. */
+#define HAVE_RAISE 1
+
+/* Define to 1 if you have the 'rawmemchr' function. */
+#define HAVE_RAWMEMCHR 1
+
+/* Define to 1 if you have the 'readdir' function. */
+#define HAVE_READDIR 1
+
+/* Define to 1 if you have the 'readlink' function. */
+#define HAVE_READLINK 1
+
+/* Define to 1 if you have the 'reallocarray' function. */
+#define HAVE_REALLOCARRAY 1
+
+/* Define to 1 if you have the 'realpath' function. */
+#define HAVE_REALPATH 1
+
+/* Define to 1 if the system has the type 'sa_family_t'. */
+#define HAVE_SA_FAMILY_T 1
+
+/* Define to 1 if you have the <sched.h> header file. */
+#define HAVE_SCHED_H 1
+
+/* Define to 1 if you have the <sdkddkver.h> header file. */
+/* #undef HAVE_SDKDDKVER_H */
+
+/* Define to 1 if you have the <search.h> header file. */
+#define HAVE_SEARCH_H 1
+
+/* Define to 1 if you have the <selinux/context.h> header file. */
+/* #undef HAVE_SELINUX_CONTEXT_H */
+
+/* Define to 1 if you have the <selinux/label.h> header file. */
+/* #undef HAVE_SELINUX_LABEL_H */
+
+/* Define to 1 if you have the <selinux/selinux.h> header file. */
+#define HAVE_SELINUX_SELINUX_H 0
+
+/* Define to 1 if you have the 'setdtablesize' function. */
+/* #undef HAVE_SETDTABLESIZE */
+
+/* Define to 1 if you have the 'setenv' function. */
+#define HAVE_SETENV 1
+
+/* Define to 1 if you have the 'setlocale' function. */
+#define HAVE_SETLOCALE 1
+
+/* Define to 1 if you have the 'shutdown' function. */
+#define HAVE_SHUTDOWN 1
+
+/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
+/* #undef HAVE_SIGNED_SIG_ATOMIC_T */
+
+/* Define to 1 if 'wchar_t' is a signed integer type. */
+/* #undef HAVE_SIGNED_WCHAR_T */
+
+/* Define to 1 if 'wint_t' is a signed integer type. */
+/* #undef HAVE_SIGNED_WINT_T */
+
+/* Define to 1 if the system has the type 'sigset_t'. */
+#define HAVE_SIGSET_T 1
+
+/* Define to 1 if you have the 'sleep' function. */
+#define HAVE_SLEEP 1
+
+/* Define to 1 if you have the 'snprintf' function. */
+#define HAVE_SNPRINTF 1
+
+/* Define if the locale_t type is as on Solaris 11.4. */
+/* #undef HAVE_SOLARIS114_LOCALES */
+
+/* Define to 1 if you have the 'statacl' function. */
+/* #undef HAVE_STATACL */
+
+/* Define to 1 if you have the <stdalign.h> header file. */
+#define HAVE_STDALIGN_H 1
+
+/* Define to 1 if you have the <stdbool.h> header file. */
+#define HAVE_STDBOOL_H 1
+
+/* Define to 1 if you have the <stdckdint.h> header file. */
+/* #undef HAVE_STDCKDINT_H */
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdio_ext.h> header file. */
+#define HAVE_STDIO_EXT_H 1
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#define HAVE_STDIO_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the 'strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the 'strerror_r' function. */
+#define HAVE_STRERROR_R 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the 'strtoul' function. */
+#define HAVE_STRTOUL 1
+
+/* Define to 1 if 'decimal_point' is a member of 'struct lconv'. */
+/* #undef HAVE_STRUCT_LCONV_DECIMAL_POINT */
+
+/* Define to 1 if the system has the type 'struct sockaddr_storage'. */
+#define HAVE_STRUCT_SOCKADDR_STORAGE 1
+
+/* Define to 1 if 'ss_family' is a member of 'struct sockaddr_storage'. */
+#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
+
+/* Define to 1 if 'st_atimensec' is a member of 'struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_ATIMENSEC */
+
+/* Define to 1 if 'st_atimespec.tv_nsec' is a member of 'struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC */
+
+/* Define to 1 if 'st_atim.st__tim.tv_nsec' is a member of 'struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC */
+
+/* Define to 1 if 'st_atim.tv_nsec' is a member of 'struct stat'. */
+#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1
+
+/* Define to 1 if 'st_birthtimensec' is a member of 'struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC */
+
+/* Define to 1 if 'st_birthtimespec.tv_nsec' is a member of 'struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC */
+
+/* Define to 1 if 'st_birthtim.tv_nsec' is a member of 'struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC */
+
+/* Define to 1 if you have the 'strverscmp' function. */
+#define HAVE_STRVERSCMP 1
+
+/* Define to 1 if you have the 'symlink' function. */
+#define HAVE_SYMLINK 1
+
+/* Define to 1 if you have the <sys/acl.h> header file. */
+/* #undef HAVE_SYS_ACL_H */
+
+/* Define to 1 if you have the <sys/bitypes.h> header file. */
+/* #undef HAVE_SYS_BITYPES_H */
+
+/* Define to 1 if you have the <sys/cdefs.h> header file. */
+#define HAVE_SYS_CDEFS_H 1
+
+/* Define to 1 if you have the <sys/inttypes.h> header file. */
+/* #undef HAVE_SYS_INTTYPES_H */
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#define HAVE_SYS_MMAN_H 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/random.h> header file. */
+#define HAVE_SYS_RANDOM_H 1
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#define HAVE_SYS_SELECT_H 1
+
+/* Define to 1 if you have the <sys/single_threaded.h> header file. */
+/* #undef HAVE_SYS_SINGLE_THREADED_H */
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#define HAVE_SYS_SOCKET_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <sys/uio.h> header file. */
+#define HAVE_SYS_UIO_H 1
+
+/* Define to 1 if you have the <sys/wait.h> header file. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to 1 if you have the 'thrd_create' function. */
+/* #undef HAVE_THRD_CREATE */
+
+/* Define to 1 if you have the <threads.h> header file. */
+#define HAVE_THREADS_H 1
+
+/* Define to 1 if you have the 'towlower' function. */
+#define HAVE_TOWLOWER 1
+
+/* Define to 1 if you have the 'tsearch' function. */
+#define HAVE_TSEARCH 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the 'unsetenv' function. */
+#define HAVE_UNSETENV 1
+
+/* Define to 1 if the system has the type 'unsigned long long int'. */
+#define HAVE_UNSIGNED_LONG_LONG_INT 1
+
+/* Define to 1 if you have the 'uselocale' function. */
+#define HAVE_USELOCALE 1
+
+/* Define if you have a global __progname variable */
+/* #undef HAVE_VAR___PROGNAME */
+
+/* Define to 1 or 0, depending whether the compiler supports simple visibility
+   declarations. */
+/* #undef HAVE_VISIBILITY */
+
+/* Define to 1 if you have the <wchar.h> header file. */
+#define HAVE_WCHAR_H 1
+
+/* Define if you have the 'wchar_t' type. */
+#define HAVE_WCHAR_T 1
+
+/* Define to 1 if you have the 'wcrtomb' function. */
+#define HAVE_WCRTOMB 1
+
+/* Define to 1 if you have the 'wctob' function. */
+#define HAVE_WCTOB 1
+
+/* Define to 1 if you have the <wctype.h> header file. */
+#define HAVE_WCTYPE_H 1
+
+/* Define to 1 if the compiler and linker support weak declarations of
+   symbols. */
+/* #undef HAVE_WEAK_SYMBOLS */
+
+/* Define to 1 if you have the <winsock2.h> header file. */
+/* #undef HAVE_WINSOCK2_H */
+
+/* Define if you have the 'wint_t' type. */
+#define HAVE_WINT_T 1
+
+/* Define to 1 if O_NOATIME works. */
+#define HAVE_WORKING_O_NOATIME 1
+
+/* Define to 1 if O_NOFOLLOW works. */
+#define HAVE_WORKING_O_NOFOLLOW 1
+
+/* Define if the uselocale function exists and may safely be called. */
+#define HAVE_WORKING_USELOCALE 1
+
+/* Define to 1 if you have the <ws2tcpip.h> header file. */
+/* #undef HAVE_WS2TCPIP_H */
+
+/* Define to 1 if you have the <xlocale.h> header file. */
+/* #undef HAVE_XLOCALE_H */
+
+/* Define to 1 if you have the '_chsize' function. */
+/* #undef HAVE__CHSIZE */
+
+/* Define to 1 if you have the '_fseeki64' function. */
+/* #undef HAVE__FSEEKI64 */
+
+/* Define to 1 if you have the '_ftelli64' function. */
+/* #undef HAVE__FTELLI64 */
+
+/* Define to 1 if you have the '_set_invalid_parameter_handler' function. */
+/* #undef HAVE__SET_INVALID_PARAMETER_HANDLER */
+
+/* Define to 1 if the compiler supports __builtin_expect,
+   and to 2 if <builtins.h> does.  */
+#define HAVE___BUILTIN_EXPECT 1
+#ifndef HAVE___BUILTIN_EXPECT
+# define __builtin_expect(e, c) (e)
+#elif HAVE___BUILTIN_EXPECT == 2
+# include <builtins.h>
+#endif
+
+
+/* Define to 1 if you have the '__fpurge' function. */
+#define HAVE___FPURGE 1
+
+/* Define to 1 if you have the '__freading' function. */
+#define HAVE___FREADING 1
+
+/* Define to 1 if you have the '__fwriting' function. */
+#define HAVE___FWRITING 1
+
+/* Define to 1 if ctype.h defines __header_inline. */
+/* #undef HAVE___HEADER_INLINE */
+
+/* Please see the Gnulib manual for how to use these macros.
+
+   Suppress extern inline with HP-UX cc, as it appears to be broken; see
+   <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
+
+   Suppress extern inline with Sun C in standards-conformance mode, as it
+   mishandles inline functions that call each other.  E.g., for 'inline void f
+   (void) { } inline void g (void) { f (); }', c99 incorrectly complains
+   'reference to static identifier "f" in extern inline function'.
+   This bug was observed with Oracle Developer Studio 12.6
+   (Sun C 5.15 SunOS_sparc 2017/05/30).
+
+   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+   on configurations that mistakenly use 'static inline' to implement
+   functions or macros in standard C headers like <ctype.h>.  For example,
+   if isdigit is mistakenly implemented via a static inline function,
+   a program containing an extern inline function that calls isdigit
+   may not work since the C standard prohibits extern inline functions
+   from calling static functions (ISO C 99 section 6.7.4.(3).
+   This bug is known to occur on:
+
+     OS X 10.8 and earlier; see:
+     https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
+
+     DragonFly; see
+     http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log
+
+     FreeBSD; see:
+     https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
+
+   OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
+   for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
+   Assume DragonFly and FreeBSD will be similar.
+
+   GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+   inline semantics, unless -fgnu89-inline is used.  It defines a macro
+   __GNUC_STDC_INLINE__ to indicate this situation or a macro
+   __GNUC_GNU_INLINE__ to indicate the opposite situation.
+   GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
+   semantics but warns, unless -fgnu89-inline is used:
+     warning: C99 inline functions are not supported; using GNU89
+     warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
+   It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
+ */
+#if (((defined __APPLE__ && defined __MACH__) \
+      || defined __DragonFly__ || defined __FreeBSD__) \
+     && (defined HAVE___HEADER_INLINE \
+         ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
+            && ! defined __clang__) \
+         : ((! defined _DONT_USE_CTYPE_INLINE_ \
+             && (defined __GNUC__ || defined __cplusplus)) \
+            || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
+                && defined __GNUC__ && ! defined __cplusplus))))
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
+#endif
+#if ((__GNUC__ \
+      ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+      : (199901L <= __STDC_VERSION__ \
+         && !defined __HP_cc \
+         && !defined __PGI \
+         && !(defined __SUNPRO_C && __STDC__))) \
+     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
+# define _GL_INLINE inline
+# define _GL_EXTERN_INLINE extern inline
+# define _GL_EXTERN_INLINE_IN_USE
+#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
+       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
+# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
+   /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
+#  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
+# else
+#  define _GL_INLINE extern inline
+# endif
+# define _GL_EXTERN_INLINE extern
+# define _GL_EXTERN_INLINE_IN_USE
+#else
+# define _GL_INLINE _GL_UNUSED static
+# define _GL_EXTERN_INLINE _GL_UNUSED static
+#endif
+
+/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
+   suppress bogus "no previous prototype for 'FOO'"
+   and "no previous declaration for 'FOO'" diagnostics,
+   when FOO is an inline function in the header; see
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
+#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
+# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
+#  define _GL_INLINE_HEADER_CONST_PRAGMA
+# else
+#  define _GL_INLINE_HEADER_CONST_PRAGMA \
+     _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
+# endif
+# define _GL_INLINE_HEADER_BEGIN \
+    _Pragma ("GCC diagnostic push") \
+    _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
+    _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
+    _GL_INLINE_HEADER_CONST_PRAGMA
+# define _GL_INLINE_HEADER_END \
+    _Pragma ("GCC diagnostic pop")
+#else
+# define _GL_INLINE_HEADER_BEGIN
+# define _GL_INLINE_HEADER_END
+#endif
+
+/* Define to 1 if the compiler supports the keyword '__inline'. */
+#define HAVE___INLINE 1
+
+/* Define to 1 if you have the '__xpg_strerror_r' function. */
+#define HAVE___XPG_STRERROR_R 1
+
+/* Define if localename.c overrides newlocale(), duplocale(), freelocale(). */
+/* #undef LOCALENAME_ENHANCE_LOCALE_FUNCS */
+
+/* Define to 1 if lseek does not detect pipes. */
+/* #undef LSEEK_PIPE_BROKEN */
+
+/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing
+   slash. */
+#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1
+
+/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
+#define MALLOC_0_IS_NONNULL 1
+
+/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */
+/* #undef MAP_ANONYMOUS */
+
+/* Define if the mbrtowc function does not return (size_t) -2 for empty input.
+   */
+/* #undef MBRTOWC_EMPTY_INPUT_BUG */
+
+/* Define if the mbrtowc function may signal encoding errors in the C locale.
+   */
+#define MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ 1
+
+/* Define if the mbrtowc function has the NULL pwc argument bug. */
+/* #undef MBRTOWC_NULL_ARG1_BUG */
+
+/* Define if the mbrtowc function has the NULL string argument bug. */
+/* #undef MBRTOWC_NULL_ARG2_BUG */
+
+/* Define if the mbrtowc function does not return 0 for a NUL character. */
+/* #undef MBRTOWC_NUL_RETVAL_BUG */
+
+/* Define if the mbrtowc function returns a wrong return value. */
+/* #undef MBRTOWC_RETVAL_BUG */
+
+/* Define if the mbrtowc function stores a wide character when reporting
+   incomplete input. */
+/* #undef MBRTOWC_STORES_INCOMPLETE_BUG */
+
+/* Use GNU style printf and scanf.  */
+#ifndef __USE_MINGW_ANSI_STDIO
+# define __USE_MINGW_ANSI_STDIO 1
+#endif
+
+
+/* Define to 1 on musl libc. */
+/* #undef MUSL_LIBC */
+
+/* Define to 1 if assertions should be disabled. */
+/* #undef NDEBUG */
+
+/* Define to 1 to enable general improvements of setlocale. */
+#define NEED_SETLOCALE_IMPROVED 0
+
+/* Define to 1 to enable a multithread-safety fix of setlocale. */
+#define NEED_SETLOCALE_MTSAFE 0
+
+/* Define to 1 if nl_langinfo is multithread-safe. */
+#define NL_LANGINFO_MTSAFE 1
+
+/* Define to 1 if open() fails to recognize a trailing slash. */
+/* #undef OPEN_TRAILING_SLASH_BUG */
+
+/* Name of package */
+#define PACKAGE "sed"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "bug-sed@gnu.org"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "GNU sed"
+
+/* String identifying the packager of this software */
+/* #undef PACKAGE_PACKAGER */
+
+/* Packager info for bug reports (URL/e-mail/...) */
+/* #undef PACKAGE_PACKAGER_BUG_REPORTS */
+
+/* Packager-specific version information */
+/* #undef PACKAGE_PACKAGER_VERSION */
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "GNU sed 4.9"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "sed"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "https://www.gnu.org/software/sed/"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "4.9"
+
+/* Define to the type that is the result of default argument promotions of
+   type mode_t. */
+#define PROMOTED_MODE_T mode_t
+
+/* Define if pthread_create is an inline function. */
+/* #undef PTHREAD_CREATE_IS_INLINE */
+
+/* Define if the pthread_in_use() detection is hard. */
+/* #undef PTHREAD_IN_USE_DETECTION_HARD */
+
+/* Define to 1 if pthread_sigmask(), when it fails, returns -1 and sets errno.
+   */
+/* #undef PTHREAD_SIGMASK_FAILS_WITH_ERRNO */
+
+/* Define to 1 if pthread_sigmask may return 0 and have no effect. */
+/* #undef PTHREAD_SIGMASK_INEFFECTIVE */
+
+/* Define to 1 if pthread_sigmask() unblocks signals incorrectly. */
+/* #undef PTHREAD_SIGMASK_UNBLOCK_BUG */
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'ptrdiff_t'. */
+/* #undef PTRDIFF_T_SUFFIX */
+
+/* Define to 1 if readlink fails to recognize a trailing slash. */
+/* #undef READLINK_TRAILING_SLASH_BUG */
+
+/* Define to 1 if readlink sets errno instead of truncating a too-long link.
+   */
+/* #undef READLINK_TRUNCATE_BUG */
+
+/* Define if rename does not work when the destination file exists, as on
+   Cygwin 1.5 or Windows. */
+/* #undef RENAME_DEST_EXISTS_BUG */
+
+/* Define if rename fails to leave hard links alone, as on NetBSD 1.6 or
+   Cygwin 1.5. */
+/* #undef RENAME_HARD_LINK_BUG */
+
+/* Define if rename does not correctly handle slashes on the destination
+   argument, such as on Solaris 11 or NetBSD 1.6. */
+/* #undef RENAME_TRAILING_SLASH_DEST_BUG */
+
+/* Define if rename does not correctly handle slashes on the source argument,
+   such as on Solaris 9 or cygwin 1.5. */
+/* #undef RENAME_TRAILING_SLASH_SOURCE_BUG */
+
+/* Define to 1 if gnulib's dirfd() replacement is used. */
+/* #undef REPLACE_DIRFD */
+
+/* Define to 1 if stat needs help when passed a file name with a trailing
+   slash */
+/* #undef REPLACE_FUNC_STAT_FILE */
+
+/* Define if nl_langinfo exists but is overridden by gnulib. */
+/* #undef REPLACE_NL_LANGINFO */
+
+/* Define to 1 if strerror(0) does not return a message implying success. */
+/* #undef REPLACE_STRERROR_0 */
+
+/* Define to 1 if setlocale (LC_ALL, NULL) is multithread-safe. */
+#define SETLOCALE_NULL_ALL_MTSAFE 1
+
+/* Define to 1 if setlocale (category, NULL) is multithread-safe. */
+#define SETLOCALE_NULL_ONE_MTSAFE 1
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'sig_atomic_t'. */
+/* #undef SIG_ATOMIC_T_SUFFIX */
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'size_t'. */
+/* #undef SIZE_T_SUFFIX */
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+/* #undef STACK_DIRECTION */
+
+/* Define to 1 if the 'S_IS*' macros in <sys/stat.h> do not work properly. */
+/* #undef STAT_MACROS_BROKEN */
+
+/* Define to 1 if all of the C90 standard headers exist (not just the ones
+   required in a freestanding environment). This macro is provided for
+   backward compatibility; new code need not use it. */
+#define STDC_HEADERS 1
+
+/* Define to 1 if strerror_r returns char *. */
+#define STRERROR_R_CHAR_P 1
+
+/* Define to 1 if the type of the st_atim member of a struct stat is struct
+   timespec. */
+#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1
+
+/* Define to nonzero if you want access control list support. */
+#define USE_ACL 0
+
+/* Define if the combination of the ISO C and POSIX multithreading APIs can be
+   used. */
+/* #undef USE_ISOC_AND_POSIX_THREADS */
+
+/* Define if the ISO C multithreading library can be used. */
+/* #undef USE_ISOC_THREADS */
+
+/* Define if the POSIX multithreading library can be used. */
+/* #undef USE_POSIX_THREADS */
+
+/* Define if references to the POSIX multithreading library are satisfied by
+   libc. */
+/* #undef USE_POSIX_THREADS_FROM_LIBC */
+
+/* Define if references to the POSIX multithreading library should be made
+   weak. */
+/* #undef USE_POSIX_THREADS_WEAK */
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+/* Enable general extensions on macOS.  */
+#ifndef _DARWIN_C_SOURCE
+# define _DARWIN_C_SOURCE 1
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+/* Enable X/Open compliant socket functions that do not require linking
+   with -lxnet on HP-UX 11.11.  */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# define _HPUX_ALT_XOPEN_SOCKET_API 1
+#endif
+/* Identify the host operating system as Minix.
+   This macro does not affect the system headers' behavior.
+   A future release of Autoconf may stop defining this macro.  */
+#ifndef _MINIX
+/* # undef _MINIX */
+#endif
+/* Enable general extensions on NetBSD.
+   Enable NetBSD compatibility extensions on Minix.  */
+#ifndef _NETBSD_SOURCE
+# define _NETBSD_SOURCE 1
+#endif
+/* Enable OpenBSD compatibility extensions on NetBSD.
+   Oddly enough, this does nothing on OpenBSD.  */
+#ifndef _OPENBSD_SOURCE
+# define _OPENBSD_SOURCE 1
+#endif
+/* Define to 1 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_SOURCE
+/* # undef _POSIX_SOURCE */
+#endif
+/* Define to 2 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_1_SOURCE
+/* # undef _POSIX_1_SOURCE */
+#endif
+/* Enable POSIX-compatible threading on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# define __STDC_WANT_IEC_60559_DFP_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
+#ifndef __STDC_WANT_LIB_EXT2__
+# define __STDC_WANT_LIB_EXT2__ 1
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009.  */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# define __STDC_WANT_MATH_SPEC_FUNCS__ 1
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+/* Enable X/Open extensions.  Define to 500 only if necessary
+   to make mbstate_t available.  */
+#ifndef _XOPEN_SOURCE
+/* # undef _XOPEN_SOURCE */
+#endif
+
+
+/* An alias of GNULIB_STDIO_SINGLE_THREAD. */
+#define USE_UNLOCKED_IO GNULIB_STDIO_SINGLE_THREAD
+
+/* Define if the native Windows multithreading API can be used. */
+/* #undef USE_WINDOWS_THREADS */
+
+/* Version number of package */
+#define VERSION "4.9"
+
+/* Define to 1 if unsetenv returns void instead of int. */
+/* #undef VOID_UNSETENV */
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'wchar_t'. */
+/* #undef WCHAR_T_SUFFIX */
+
+/* Define if the wcrtomb function does not work in the C locale. */
+/* #undef WCRTOMB_C_LOCALE_BUG */
+
+/* Define if the wcrtomb function has an incorrect return value. */
+/* #undef WCRTOMB_RETVAL_BUG */
+
+/* Define if WSAStartup is needed. */
+/* #undef WINDOWS_SOCKETS */
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'wint_t'. */
+/* #undef WINT_T_SUFFIX */
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+/* #  undef WORDS_BIGENDIAN */
+# endif
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* True if the compiler says it groks GNU C version MAJOR.MINOR.  */
+#if defined __GNUC__ && defined __GNUC_MINOR__
+# define _GL_GNUC_PREREQ(major, minor) \
+    ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__))
+#else
+# define _GL_GNUC_PREREQ(major, minor) 0
+#endif
+
+
+/* Define to enable the declarations of ISO C 11 types and functions. */
+/* #undef _ISOC11_SOURCE */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
+
+/* Define to 1 on Solaris. */
+/* #undef _LCONV_C99 */
+
+/* The _Noreturn keyword of C11.  */
+#ifndef _Noreturn
+# if (defined __cplusplus \
+      && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
+          || (defined _MSC_VER && 1900 <= _MSC_VER)) \
+      && 0)
+    /* [[noreturn]] is not practically usable, because with it the syntax
+         extern _Noreturn void func (...);
+       would not be valid; such a declaration would only be valid with 'extern'
+       and '_Noreturn' swapped, or without the 'extern' keyword.  However, some
+       AIX system header files and several gnulib header files use precisely
+       this syntax with 'extern'.  */
+#  define _Noreturn [[noreturn]]
+# elif ((!defined __cplusplus || defined __clang__) \
+        && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
+            || (!defined __STRICT_ANSI__ \
+                && (_GL_GNUC_PREREQ (4, 7) \
+                    || (defined __apple_build_version__ \
+                        ? 6000000 <= __apple_build_version__ \
+                        : 3 < __clang_major__ + (5 <= __clang_minor__))))))
+   /* _Noreturn works as-is.  */
+# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C
+#  define _Noreturn __attribute__ ((__noreturn__))
+# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn
+# endif
+#endif
+
+
+/* Define to 1 in order to get the POSIX compatible declarations of socket
+   functions. */
+/* #undef _POSIX_PII_SOCKET */
+
+/* Define if you want <regex.h> to include <limits.h>, so that it consistently
+   overrides <limits.h>'s RE_DUP_MAX. */
+#define _REGEX_INCLUDE_LIMITS_H 1
+
+/* Define if you want regoff_t to be at least as wide POSIX requires. */
+#define _REGEX_LARGE_OFFSETS 1
+
+/* Number of bits in a timestamp, on hosts where this is settable. */
+/* #undef _TIME_BITS */
+
+/* For standard stat data types on VMS. */
+#define _USE_STD_STAT 1
+
+#if !defined __MINGW_USE_VC2005_COMPAT && defined __MINGW32__
+# define __MINGW_USE_VC2005_COMPAT 1 /* For 64-bit time_t.  */
+#endif
+
+/* Define to 1 if the system <stdint.h> predates C++11. */
+/* #undef __STDC_CONSTANT_MACROS */
+
+/* Define to 1 if the system <stdint.h> predates C++11. */
+/* #undef __STDC_LIMIT_MACROS */
+
+/* Define to 1 if C does not support variable-length arrays, and if the
+   compiler does not already define this. */
+/* #undef __STDC_NO_VLA__ */
+
+/* The _GL_ASYNC_SAFE marker should be attached to functions that are
+   signal handlers (for signals other than SIGABRT, SIGPIPE) or can be
+   invoked from such signal handlers.  Such functions have some restrictions:
+     * All functions that it calls should be marked _GL_ASYNC_SAFE as well,
+       or should be listed as async-signal-safe in POSIX
+       <https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04>
+       section 2.4.3.  Note that malloc(), sprintf(), and fwrite(), in
+       particular, are NOT async-signal-safe.
+     * All memory locations (variables and struct fields) that these functions
+       access must be marked 'volatile'.  This holds for both read and write
+       accesses.  Otherwise the compiler might optimize away stores to and
+       reads from such locations that occur in the program, depending on its
+       data flow analysis.  For example, when the program contains a loop
+       that is intended to inspect a variable set from within a signal handler
+           while (!signal_occurred)
+             ;
+       the compiler is allowed to transform this into an endless loop if the
+       variable 'signal_occurred' is not declared 'volatile'.
+   Additionally, recall that:
+     * A signal handler should not modify errno (except if it is a handler
+       for a fatal signal and ends by raising the same signal again, thus
+       provoking the termination of the process).  If it invokes a function
+       that may clobber errno, it needs to save and restore the value of
+       errno.  */
+#define _GL_ASYNC_SAFE
+
+
+/* Attributes.  */
+#if (defined __has_attribute \
+     && (!defined __clang_minor__ \
+         || (defined __apple_build_version__ \
+             ? 6000000 <= __apple_build_version__ \
+             : 3 < __clang_major__ + (5 <= __clang_minor__))))
+# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
+#else
+# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
+# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
+# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
+# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_diagnose_if 0
+# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
+# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
+# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
+# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
+# ifdef _ICC
+#  define _GL_ATTR_may_alias 0
+# else
+#  define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
+# endif
+# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
+# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
+# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
+# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
+# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
+#endif
+
+#ifdef __has_c_attribute
+# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \
+      && _GL_GNUC_PREREQ (4, 6))
+#  pragma GCC diagnostic ignored "-Wpedantic"
+# endif
+# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__)
+#else
+# define _GL_HAS_C_ATTRIBUTE(attr) 0
+#endif
+
+
+/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function
+   is the size of the returned memory block.
+   _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied
+   by the Nth argument of the function is the size of the returned memory block.
+ */
+/* Applies to: function, pointer to function, function types.  */
+#if _GL_HAS_ATTRIBUTE (alloc_size)
+# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
+#else
+# define _GL_ATTRIBUTE_ALLOC_SIZE(args)
+#endif
+
+/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the
+   function and report an error if it cannot do so.  */
+/* Applies to: function.  */
+#if _GL_HAS_ATTRIBUTE (always_inline)
+# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__))
+#else
+# define _GL_ATTRIBUTE_ALWAYS_INLINE
+#endif
+
+/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show
+    in stack traces when debugging.  The compiler should omit the function from
+    stack traces.  */
+/* Applies to: function.  */
+#if _GL_HAS_ATTRIBUTE (artificial)
+# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__))
+#else
+# define _GL_ATTRIBUTE_ARTIFICIAL
+#endif
+
+/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed.  */
+/* Applies to: functions.  */
+/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at
+   <https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>.
+   Also, Oracle Studio 12.6 requires 'cold' not '__cold__'.  */
+#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__
+# ifndef __SUNPRO_C
+#  define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__))
+# else
+#  define _GL_ATTRIBUTE_COLD __attribute__ ((cold))
+# endif
+#else
+# define _GL_ATTRIBUTE_COLD
+#endif
+
+/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate
+   calls to the function with the same arguments.
+   This attribute is safe for a function that neither depends on nor affects
+   observable state, and always returns exactly once - e.g., does not loop
+   forever, and does not call longjmp.
+   (This attribute is stricter than _GL_ATTRIBUTE_PURE.)  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (const)
+# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
+#else
+# define _GL_ATTRIBUTE_CONST
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
+   that can be freed by passing them as the Ith argument to the
+   function F.
+   _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+   can be freed via 'free'; it can be used only after declaring 'free'.  */
+/* Applies to: functions.  Cannot be used on inline functions.  */
+#if _GL_GNUC_PREREQ (11, 0)
+# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+#else
+# define _GL_ATTRIBUTE_DEALLOC(f, i)
+#endif
+/* If gnulib's <string.h> or <wchar.h> has already defined this macro, continue
+   to use this earlier definition, since <stdlib.h> may not have been included
+   yet.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
+# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1)
+#endif
+
+/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated.
+   The compiler may warn if the entity is used.  */
+/* Applies to:
+     - function, variable,
+     - struct, union, struct/union member,
+     - enumeration, enumeration item,
+     - typedef,
+   in C++ also: namespace, class, template specialization.  */
+#if _GL_HAS_C_ATTRIBUTE (deprecated)
+# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
+#elif _GL_HAS_ATTRIBUTE (deprecated)
+# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
+#else
+# define _GL_ATTRIBUTE_DEPRECATED
+#endif
+
+/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and
+   the function call is not optimized away.
+   _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and
+   the function call is not optimized away.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (error)
+# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg)))
+# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg)))
+#elif _GL_HAS_ATTRIBUTE (diagnose_if)
+# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error")))
+# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning")))
+#else
+# define _GL_ATTRIBUTE_ERROR(msg)
+# define _GL_ATTRIBUTE_WARNING(msg)
+#endif
+
+/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain
+   visible to debuggers etc., even with '-fwhole-program'.  */
+/* Applies to: functions, variables.  */
+#if _GL_HAS_ATTRIBUTE (externally_visible)
+# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible))
+#else
+# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+#endif
+
+/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if
+   the control flow falls through to the immediately following 'case' or
+   'default' label.  The compiler should not warn in this case.  */
+/* Applies to: Empty statement (;), inside a 'switch' statement.  */
+/* Always expands to something.  */
+#if _GL_HAS_C_ATTRIBUTE (fallthrough)
+# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]]
+#elif _GL_HAS_ATTRIBUTE (fallthrough)
+# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__))
+#else
+# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0)
+#endif
+
+/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK))
+   declares that the STRING-INDEXth function argument is a format string of
+   style ARCHETYPE, which is one of:
+     printf, gnu_printf
+     scanf, gnu_scanf,
+     strftime, gnu_strftime,
+     strfmon,
+   or the same thing prefixed and suffixed with '__'.
+   If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK
+   are suitable for the format string.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (format)
+# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+#else
+# define _GL_ATTRIBUTE_FORMAT(spec)
+#endif
+
+/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other
+   compilation unit, it executes code from that unit only by return or by
+   exception handling.  This declaration lets the compiler optimize that unit
+   more aggressively.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (leaf)
+# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__))
+#else
+# define _GL_ATTRIBUTE_LEAF
+#endif
+
+/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
+   allocated memory.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (malloc)
+# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+#else
+# define _GL_ATTRIBUTE_MALLOC
+#endif
+
+/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the
+   same storage as pointers to other types.  Thus this declaration disables
+   strict aliasing optimization.  */
+/* Applies to: types.  */
+/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK.  */
+#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C
+# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__))
+#else
+# define _GL_ATTRIBUTE_MAY_ALIAS
+#endif
+
+/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if
+   the entity is not used.  The compiler should not warn if the entity is not
+   used.  */
+/* Applies to:
+     - function, variable,
+     - struct, union, struct/union member,
+     - enumeration, enumeration item,
+     - typedef,
+   in C++ also: class.  */
+/* In C++ and C2x, this is spelled [[__maybe_unused__]].
+   GCC's syntax is __attribute__ ((__unused__)).
+   clang supports both syntaxes.  */
+#if _GL_HAS_C_ATTRIBUTE (maybe_unused)
+# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+#else
+# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED
+#endif
+/* Alternative spelling of this macro, for convenience and for
+   compatibility with glibc/include/libc-symbols.h.  */
+#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED
+/* Earlier spellings of this macro.  */
+#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED
+
+/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not
+   discard the return value.  The compiler may warn if the caller does not use
+   the return value, unless the caller uses something like ignore_value.  */
+/* Applies to: function, enumeration, class.  */
+#if _GL_HAS_C_ATTRIBUTE (nodiscard)
+# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+#elif _GL_HAS_ATTRIBUTE (warn_unused_result)
+# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__))
+#else
+# define _GL_ATTRIBUTE_NODISCARD
+#endif
+
+/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the
+   function.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (noinline)
+# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__))
+#else
+# define _GL_ATTRIBUTE_NOINLINE
+#endif
+
+/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,...
+   must not be NULL.
+   _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be
+   null.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (nonnull)
+# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args))
+#else
+# define _GL_ATTRIBUTE_NONNULL(args)
+#endif
+
+/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is
+   not meant to be NUL-terminated.  */
+/* Applies to: struct/union members and variables that are arrays of element
+   type '[[un]signed] char'.  */
+#if _GL_HAS_ATTRIBUTE (nonstring)
+# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__))
+#else
+# define _GL_ATTRIBUTE_NONSTRING
+#endif
+
+/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead.  */
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus
+# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#else
+# define _GL_ATTRIBUTE_NOTHROW
+#endif
+
+/* _GL_ATTRIBUTE_PACKED declares:
+   For struct members: The member has the smallest possible alignment.
+   For struct, union, class: All members have the smallest possible alignment,
+   minimizing the memory required.  */
+/* Applies to: struct members, struct, union,
+   in C++ also: class.  */
+#if _GL_HAS_ATTRIBUTE (packed)
+# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__))
+#else
+# define _GL_ATTRIBUTE_PACKED
+#endif
+
+/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate
+   calls to the function with the same arguments if observable state is not
+   changed between calls.
+   This attribute is safe for a function that does not affect
+   observable state, and always returns exactly once.
+   (This attribute is looser than _GL_ATTRIBUTE_CONST.)  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (pure)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE
+#endif
+
+/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is
+   a non-NULL pointer.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (returns_nonnull)
+# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__))
+#else
+# define _GL_ATTRIBUTE_RETURNS_NONNULL
+#endif
+
+/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a
+   trailing NULL argument.
+   _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99).
+   _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (sentinel)
+# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos))
+#else
+# define _GL_ATTRIBUTE_SENTINEL(pos)
+#endif
+
+/* A helper macro.  Don't use it directly.  */
+#if _GL_HAS_ATTRIBUTE (unused)
+# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+#else
+# define _GL_ATTRIBUTE_UNUSED
+#endif
+
+
+/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the
+   immediately preceding label is not used.  The compiler should not warn
+   if the label is not used.  */
+/* Applies to: label (both in C and C++).  */
+/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;'
+   syntax.  But clang does.  */
+#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__
+# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED
+#else
+# define _GL_UNUSED_LABEL
+#endif
+
+
+/* Define to empty if 'const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Always use our fgetfilecon wrapper. */
+/* #undef fgetfilecon */
+
+/* Always use our getfilecon wrapper. */
+/* #undef getfilecon */
+
+/* Define to 'int' if <sys/types.h> doesn't define. */
+/* #undef gid_t */
+
+/* A replacement for va_copy, if needed.  */
+#define gl_va_copy(a,b) ((a) = (b))
+
+/* Define to '__inline__' or '__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
+   the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
+   earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
+   __APPLE__ && __MACH__ test for Mac OS X.
+   __APPLE_CC__ tests for the Apple compiler and its version.
+   __STDC_VERSION__ tests for the C99 mode.  */
+#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
+# define __GNUC_STDC_INLINE__ 1
+#endif
+
+/* Always use our lgetfilecon wrapper. */
+/* #undef lgetfilecon */
+
+/* Define to 1 if the compiler is checking for lint. */
+/* #undef lint */
+
+/* Define to a type if <wchar.h> does not define. */
+/* #undef mbstate_t */
+
+/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where
+   n1 and n2 are expressions without side effects, that evaluate to real
+   numbers (excluding NaN).
+   It returns
+     1  if n1 > n2
+     0  if n1 == n2
+     -1 if n1 < n2
+   The naïve code   (n1 > n2 ? 1 : n1 < n2 ? -1 : 0)  produces a conditional
+   jump with nearly all GCC versions up to GCC 10.
+   This variant     (n1 < n2 ? -1 : n1 > n2)  produces a conditional with many
+   GCC versions up to GCC 9.
+   The better code  (n1 > n2) - (n1 < n2)  from Hacker's Delight § 2-9
+   avoids conditional jumps in all GCC versions >= 3.4.  */
+#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2)))
+
+
+/* Define to 'int' if <sys/types.h> does not define. */
+/* #undef mode_t */
+
+/* Define to the type of st_nlink in struct stat, or a supertype. */
+/* #undef nlink_t */
+
+/* Define as a signed integer type capable of holding a process identifier. */
+/* #undef pid_t */
+
+/* Define to rpl_re_comp if the replacement should be used. */
+#define re_comp rpl_re_comp
+
+/* Define to rpl_re_compile_fastmap if the replacement should be used. */
+#define re_compile_fastmap rpl_re_compile_fastmap
+
+/* Define to rpl_re_compile_pattern if the replacement should be used. */
+#define re_compile_pattern rpl_re_compile_pattern
+
+/* Define to rpl_re_exec if the replacement should be used. */
+#define re_exec rpl_re_exec
+
+/* Define to rpl_re_match if the replacement should be used. */
+#define re_match rpl_re_match
+
+/* Define to rpl_re_match_2 if the replacement should be used. */
+#define re_match_2 rpl_re_match_2
+
+/* Define to rpl_re_search if the replacement should be used. */
+#define re_search rpl_re_search
+
+/* Define to rpl_re_search_2 if the replacement should be used. */
+#define re_search_2 rpl_re_search_2
+
+/* Define to rpl_re_set_registers if the replacement should be used. */
+#define re_set_registers rpl_re_set_registers
+
+/* Define to rpl_re_set_syntax if the replacement should be used. */
+#define re_set_syntax rpl_re_set_syntax
+
+/* Define to rpl_re_syntax_options if the replacement should be used. */
+#define re_syntax_options rpl_re_syntax_options
+
+/* Define to rpl_regcomp if the replacement should be used. */
+#define regcomp rpl_regcomp
+
+/* Define to rpl_regerror if the replacement should be used. */
+#define regerror rpl_regerror
+
+/* Define to rpl_regexec if the replacement should be used. */
+#define regexec rpl_regexec
+
+/* Define to rpl_regfree if the replacement should be used. */
+#define regfree rpl_regfree
+
+/* Define to the equivalent of the C99 'restrict' keyword, or to
+   nothing if this is not supported.  Do not define if restrict is
+   supported only directly.  */
+#define restrict __restrict__
+/* Work around a bug in older versions of Sun C++, which did not
+   #define __restrict__ or support _Restrict or __restrict__
+   even though the corresponding Sun C compiler ended up with
+   "#define restrict _Restrict" or "#define restrict __restrict__"
+   in the previous line.  This workaround can be removed once
+   we assume Oracle Developer Studio 12.5 (2016) or later.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__
+# define _Restrict
+# define __restrict__
+#endif
+
+/* Define to 'unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+/* type to use in place of socklen_t if not defined */
+/* #undef socklen_t */
+
+/* Define as a signed type of the same size as size_t. */
+/* #undef ssize_t */
+
+/* Define to 'int' if <sys/types.h> doesn't define. */
+/* #undef uid_t */
+
+/* Define as a macro for copying va_list variables. */
+/* #undef va_copy */
+
+#if !defined HAVE_C_ALIGNASOF && __cplusplus < 201103 && !defined alignof
+# if HAVE_STDALIGN_H
+#  include <stdalign.h>
+# else
+   /* Substitute.  Keep consistent with gnulib/lib/stdalign.in.h.  */
+#  ifndef _GL_STDALIGN_H
+#   define _GL_STDALIGN_H
+/* #   undef _Alignas */
+/* #   undef _Alignof */
+#   if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
+        || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \
+            && !defined __clang__) \
+        || (defined __clang__ && __clang_major__ < 8))
+#    ifdef __cplusplus
+#     if (201103 <= __cplusplus || defined _MSC_VER)
+#      define _Alignof(type) alignof (type)
+#     else
+       template <class __t> struct __alignof_helper { char __a; __t __b; };
+#      define _Alignof(type) offsetof (__alignof_helper<type>, __b)
+#      define _GL_STDALIGN_NEEDS_STDDEF 1
+#     endif
+#    else
+#     define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
+#     define _GL_STDALIGN_NEEDS_STDDEF 1
+#    endif
+#   endif
+#   if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))
+#    define alignof _Alignof
+#   endif
+#   define __alignof_is_defined 1
+#   if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+#    if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)
+#     define _Alignas(a) alignas (a)
+#    elif (!defined __attribute__ \
+           && ((defined __APPLE__ && defined __MACH__ \
+                ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+                : __GNUC__ && !defined __ibmxl__) \
+               || (4 <= __clang_major__) \
+               || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
+               || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__))
+#     define _Alignas(a) __attribute__ ((__aligned__ (a)))
+#    elif 1300 <= _MSC_VER
+#     define _Alignas(a) __declspec (align (a))
+#    endif
+#   endif
+#   if ((defined _Alignas \
+         && !(defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) \
+        || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
+#    define alignas _Alignas
+#   endif
+#   if (defined alignas \
+        || (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)))
+#    define __alignas_is_defined 1
+#   endif
+#   if _GL_STDALIGN_NEEDS_STDDEF
+#    include <stddef.h>
+#   endif
+#  endif /* _GL_STDALIGN_H */
+# endif
+#endif
+
+#ifndef HAVE_C_BOOL
+# if !defined __cplusplus && !defined __bool_true_false_are_defined
+#  if HAVE_STDBOOL_H
+#   include <stdbool.h>
+#  else
+#   if defined __SUNPRO_C
+#    error "<stdbool.h> is not usable with this configuration. To make it usable, add -D_STDC_C99= to $CC."
+#   else
+#    error "<stdbool.h> does not exist on this platform. Use gnulib module 'stdbool-c99' instead of gnulib module 'stdbool'."
+#   endif
+#  endif
+# endif
+# if !true
+#  define true (!false)
+# endif
+#endif
+
+#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \
+     && (!defined __cplusplus \
+         || (__cpp_static_assert < 201411 \
+             && __GNUG__ < 6 && __clang_major__ < 6)))
+ #include <assert.h>
+ #undef/**/assert
+ /* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments.
+    We need it also to be invocable with a single argument.  */
+ #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
+/*   #undef static_assert */
+  #define static_assert _Static_assert
+ #endif
+#endif
diff --git a/modules/sed/4.9.bcr.3/overlay/config_macos.bzl b/modules/sed/4.9.bcr.3/overlay/config_macos.bzl
new file mode 100644
index 0000000..99d9dc2
--- /dev/null
+++ b/modules/sed/4.9.bcr.3/overlay/config_macos.bzl
@@ -0,0 +1,465 @@
+"""Platform specific configuration values"""
+
+CONFIGURATION = {
+    "@GNULIBHEADERS_OVERRIDE_WINT_T@": "0",
+    "@GNULIB_ACCESS@": "0",
+    "@GNULIB_ALIGNED_ALLOC@": "0",
+    "@GNULIB_ATOLL@": "0",
+    "@GNULIB_BTOWC@": "1",
+    "@GNULIB_CALLOC_GNU@": "1",
+    "@GNULIB_CALLOC_POSIX@": "1",
+    "@GNULIB_CANONICALIZE_FILE_NAME@": "1",
+    "@GNULIB_CHDIR@": "1",
+    "@GNULIB_CHMOD@": "0",
+    "@GNULIB_CHOWN@": "0",
+    "@GNULIB_CLOSE@": "1",
+    "@GNULIB_COPY_FILE_RANGE@": "0",
+    "@GNULIB_CREAT@": "0",
+    "@GNULIB_CTIME@": "0",
+    "@GNULIB_DPRINTF@": "0",
+    "@GNULIB_DUP2@": "1",
+    "@GNULIB_DUP3@": "0",
+    "@GNULIB_DUP@": "0",
+    "@GNULIB_DUPLOCALE@": "0",
+    "@GNULIB_ENVIRON@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_EUIDACCESS@": "0",
+    "@GNULIB_EXECL@": "0",
+    "@GNULIB_EXECLE@": "0",
+    "@GNULIB_EXECLP@": "0",
+    "@GNULIB_EXECV@": "0",
+    "@GNULIB_EXECVE@": "0",
+    "@GNULIB_EXECVP@": "0",
+    "@GNULIB_EXECVPE@": "0",
+    "@GNULIB_EXPLICIT_BZERO@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FACCESSAT@": "0",
+    "@GNULIB_FCHDIR@": "0",
+    "@GNULIB_FCHMODAT@": "0",
+    "@GNULIB_FCHOWNAT@": "0",
+    "@GNULIB_FCLOSE@": "0",
+    "@GNULIB_FCNTL@": "1",
+    "@GNULIB_FDATASYNC@": "0",
+    "@GNULIB_FDOPEN@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FFLUSH@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FFSL@": "0",
+    "@GNULIB_FFSLL@": "0",
+    "@GNULIB_FGETC@": "1",
+    "@GNULIB_FGETS@": "1",
+    "@GNULIB_FOPEN@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FPRINTF@": "1",
+    "@GNULIB_FPRINTF_POSIX@": "0",
+    "@GNULIB_FPURGE@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FPUTC@": "1",
+    "@GNULIB_FPUTS@": "1",
+    "@GNULIB_FREAD@": "1",
+    "@GNULIB_FREE_POSIX@": "1",
+    "@GNULIB_FREOPEN@": "0",
+    "@GNULIB_FSCANF@": "1",
+    "@GNULIB_FSEEK@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FSEEKO@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FSTAT@": "1",
+    "@GNULIB_FSTATAT@": "0",
+    "@GNULIB_FSYNC@": "0",
+    "@GNULIB_FTELL@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FTELLO@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FTRUNCATE@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_FUTIMENS@": "0",
+    "@GNULIB_FWRITE@": "1",
+    "@GNULIB_GETC@": "1",
+    "@GNULIB_GETCHAR@": "1",
+    "@GNULIB_GETCWD@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_GETDELIM@": "1",
+    "@GNULIB_GETDOMAINNAME@": "0",
+    "@GNULIB_GETDTABLESIZE@": "1",
+    "@GNULIB_GETENTROPY@": "0",
+    "@GNULIB_GETGROUPS@": "0",
+    "@GNULIB_GETHOSTNAME@": "0",
+    "@GNULIB_GETLINE@": "0",
+    "@GNULIB_GETLOADAVG@": "0",
+    "@GNULIB_GETLOGIN@": "0",
+    "@GNULIB_GETLOGIN_R@": "0",
+    "@GNULIB_GETOPT_POSIX@": "0",
+    "@GNULIB_GETPAGESIZE@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_GETPASS@": "0",
+    "@GNULIB_GETRANDOM@": "1",
+    "@GNULIB_GETSUBOPT@": "0",
+    "@GNULIB_GETUMASK@": "0",
+    "@GNULIB_GETUSERSHELL@": "0",
+    "@GNULIB_GRANTPT@": "0",
+    "@GNULIB_GROUP_MEMBER@": "0",
+    "@GNULIB_ISATTY@": "0",
+    "@GNULIB_ISBLANK@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_ISWBLANK@": "0",
+    "@GNULIB_ISWCTYPE@": "0",
+    "@GNULIB_ISWDIGIT@": "0",
+    "@GNULIB_ISWXDIGIT@": "0",
+    "@GNULIB_LCHMOD@": "0",
+    "@GNULIB_LCHOWN@": "0",
+    "@GNULIB_LINK@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_LINKAT@": "0",
+    "@GNULIB_LOCALECONV@": "1",
+    "@GNULIB_LOCALENAME@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_LOCALTIME@": "0",
+    "@GNULIB_LSEEK@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_LSTAT@": "1",
+    "@GNULIB_MALLOC_GNU@": "1",
+    "@GNULIB_MALLOC_POSIX@": "1",
+    "@GNULIB_MBRLEN@": "1",
+    "@GNULIB_MBRTOWC@": "1",
+    "@GNULIB_MBSCASECMP@": "0",
+    "@GNULIB_MBSCASESTR@": "0",
+    "@GNULIB_MBSCHR@": "0",
+    "@GNULIB_MBSCSPN@": "0",
+    "@GNULIB_MBSINIT@": "1",
+    "@GNULIB_MBSLEN@": "0",
+    "@GNULIB_MBSNCASECMP@": "0",
+    "@GNULIB_MBSNLEN@": "0",
+    "@GNULIB_MBSNRTOWCS@": "0",
+    "@GNULIB_MBSPBRK@": "0",
+    "@GNULIB_MBSPCASECMP@": "0",
+    "@GNULIB_MBSRCHR@": "0",
+    "@GNULIB_MBSRTOWCS@": "0",
+    "@GNULIB_MBSSEP@": "0",
+    "@GNULIB_MBSSPN@": "0",
+    "@GNULIB_MBSSTR@": "0",
+    "@GNULIB_MBSTOK_R@": "0",
+    "@GNULIB_MBTOWC@": "1",
+    "@GNULIB_MDA_ACCESS@": "1",
+    "@GNULIB_MDA_CHDIR@": "1",
+    "@GNULIB_MDA_CHMOD@": "1",
+    "@GNULIB_MDA_CLOSE@": "1",
+    "@GNULIB_MDA_CREAT@": "1",
+    "@GNULIB_MDA_DUP@": "1",
+    "@GNULIB_MDA_ECVT@": "1",
+    "@GNULIB_MDA_EXECL@": "1",
+    "@GNULIB_MDA_EXECLE@": "1",
+    "@GNULIB_MDA_EXECLP@": "1",
+    "@GNULIB_MDA_EXECV@": "1",
+    "@GNULIB_MDA_EXECVE@": "1",
+    "@GNULIB_MDA_EXECVP@": "1",
+    "@GNULIB_MDA_EXECVPE@": "1",
+    "@GNULIB_MDA_FCLOSEALL@": "1",
+    "@GNULIB_MDA_FCVT@": "1",
+    "@GNULIB_MDA_FDOPEN@": "1",
+    "@GNULIB_MDA_FILENO@": "1",
+    "@GNULIB_MDA_GCVT@": "1",
+    "@GNULIB_MDA_GETCWD@": "1",
+    "@GNULIB_MDA_GETPID@": "1",
+    "@GNULIB_MDA_GETW@": "1",
+    "@GNULIB_MDA_ISATTY@": "1",
+    "@GNULIB_MDA_LSEEK@": "1",
+    "@GNULIB_MDA_MEMCCPY@": "1",
+    "@GNULIB_MDA_MKDIR@": "1",
+    "@GNULIB_MDA_MKTEMP@": "1",
+    "@GNULIB_MDA_PUTENV@": "1",
+    "@GNULIB_MDA_PUTW@": "1",
+    "@GNULIB_MDA_READ@": "1",
+    "@GNULIB_MDA_RMDIR@": "1",
+    "@GNULIB_MDA_STRDUP@": "1",
+    "@GNULIB_MDA_SWAB@": "1",
+    "@GNULIB_MDA_TEMPNAM@": "1",
+    "@GNULIB_MDA_TZSET@": "1",
+    "@GNULIB_MDA_UMASK@": "1",
+    "@GNULIB_MDA_UNLINK@": "1",
+    "@GNULIB_MDA_WCSDUP@": "1",
+    "@GNULIB_MDA_WRITE@": "1",
+    "@GNULIB_MEMCHR@": "1",
+    "@GNULIB_MEMMEM@": "0",
+    "@GNULIB_MEMPCPY@": "1",
+    "@GNULIB_MEMRCHR@": "1",
+    "@GNULIB_MKDIR@": "1",
+    "@GNULIB_MKDIRAT@": "0",
+    "@GNULIB_MKDTEMP@": "0",
+    "@GNULIB_MKFIFO@": "0",
+    "@GNULIB_MKFIFOAT@": "0",
+    "@GNULIB_MKNOD@": "0",
+    "@GNULIB_MKNODAT@": "0",
+    "@GNULIB_MKOSTEMP@": "1",
+    "@GNULIB_MKOSTEMPS@": "0",
+    "@GNULIB_MKSTEMP@": "0",
+    "@GNULIB_MKSTEMPS@": "0",
+    "@GNULIB_MKTIME@": "0",
+    "@GNULIB_NANOSLEEP@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_NL_LANGINFO@": "1",
+    "@GNULIB_NONBLOCKING@": "0",
+    "@GNULIB_OBSTACK_PRINTF@": "0",
+    "@GNULIB_OBSTACK_PRINTF_POSIX@": "0",
+    "@GNULIB_OPEN@": "1",
+    "@GNULIB_OPENAT@": "0",
+    "@GNULIB_OVERRIDES_STRUCT_STAT@": "0",
+    "@GNULIB_PCLOSE@": "0",
+    "@GNULIB_PERROR@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_PIPE2@": "0",
+    "@GNULIB_PIPE@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_POPEN@": "0",
+    "@GNULIB_POSIX_MEMALIGN@": "0",
+    "@GNULIB_POSIX_OPENPT@": "0",
+    "@GNULIB_PREAD@": "0",
+    "@GNULIB_PRINTF@": "1",
+    "@GNULIB_PRINTF_POSIX@": "0",
+    "@GNULIB_PTSNAME@": "0",
+    "@GNULIB_PTSNAME_R@": "0",
+    "@GNULIB_PUTC@": "1",
+    "@GNULIB_PUTCHAR@": "1",
+    "@GNULIB_PUTENV@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_PUTS@": "1",
+    "@GNULIB_PWRITE@": "0",
+    "@GNULIB_QSORT_R@": "0",
+    "@GNULIB_RANDOM@": "0",
+    "@GNULIB_RANDOM_R@": "0",
+    "@GNULIB_RAWMEMCHR@": "1",
+    "@GNULIB_READ@": "0",
+    "@GNULIB_READLINK@": "1",
+    "@GNULIB_READLINKAT@": "0",
+    "@GNULIB_REALLOCARRAY@": "1",
+    "@GNULIB_REALLOC_GNU@": "1",
+    "@GNULIB_REALLOC_POSIX@": "1",
+    "@GNULIB_REALPATH@": "1",
+    "@GNULIB_REMOVE@": "0",
+    "@GNULIB_RENAME@": "1",
+    "@GNULIB_RENAMEAT@": "0",
+    "@GNULIB_RMDIR@": "1",
+    "@GNULIB_RPMATCH@": "0",
+    "@GNULIB_SCANF@": "1",
+    "@GNULIB_SECURE_GETENV@": "0",
+    "@GNULIB_SETENV@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_SETHOSTNAME@": "0",
+    "@GNULIB_SETLOCALE@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_SETLOCALE_NULL@": "1",
+    "@GNULIB_SIGABBREV_NP@": "0",
+    "@GNULIB_SIGDESCR_NP@": "0",
+    "@GNULIB_SLEEP@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_SNPRINTF@": "0",
+    "@GNULIB_SPRINTF_POSIX@": "0",
+    "@GNULIB_STAT@": "1",
+    "@GNULIB_STDIO_H_NONBLOCKING@": "0",
+    "@GNULIB_STDIO_H_SIGPIPE@": "0",
+    "@GNULIB_STPCPY@": "0",
+    "@GNULIB_STPNCPY@": "0",
+    "@GNULIB_STRCASESTR@": "0",
+    "@GNULIB_STRCHRNUL@": "0",
+    "@GNULIB_STRDUP@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_STRERROR@": "1",
+    "@GNULIB_STRERRORNAME_NP@": "0",
+    "@GNULIB_STRERROR_R@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_STRFTIME@": "0",
+    "@GNULIB_STRNCAT@": "0",
+    "@GNULIB_STRNDUP@": "0",
+    "@GNULIB_STRNLEN@": "0",
+    "@GNULIB_STRPBRK@": "0",
+    "@GNULIB_STRPTIME@": "0",
+    "@GNULIB_STRSEP@": "0",
+    "@GNULIB_STRSIGNAL@": "0",
+    "@GNULIB_STRSTR@": "0",
+    "@GNULIB_STRTOD@": "0",
+    "@GNULIB_STRTOK_R@": "0",
+    "@GNULIB_STRTOL@": "0",
+    "@GNULIB_STRTOLD@": "0",
+    "@GNULIB_STRTOLL@": "0",
+    "@GNULIB_STRTOUL@": "0",
+    "@GNULIB_STRTOULL@": "0",
+    "@GNULIB_STRVERSCMP@": "1",
+    "@GNULIB_SYMLINK@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_SYMLINKAT@": "0",
+    "@GNULIB_SYSTEM_POSIX@": "0",
+    "@GNULIB_TIMEGM@": "0",
+    "@GNULIB_TIMESPEC_GET@": "0",
+    "@GNULIB_TIMESPEC_GETRES@": "0",
+    "@GNULIB_TIME_R@": "0",
+    "@GNULIB_TIME_RZ@": "0",
+    "@GNULIB_TMPFILE@": "0",
+    "@GNULIB_TOWCTRANS@": "0",
+    "@GNULIB_TRUNCATE@": "0",
+    "@GNULIB_TTYNAME_R@": "0",
+    "@GNULIB_TZSET@": "0",
+    "@GNULIB_UNISTD_H_GETOPT@": "0",
+    "@GNULIB_UNLINK@": "0",
+    "@GNULIB_UNLINKAT@": "0",
+    "@GNULIB_UNLOCKPT@": "0",
+    "@GNULIB_UNSETENV@": "IN_SED_GNULIB_TESTS",
+    "@GNULIB_USLEEP@": "0",
+    "@GNULIB_UTIMENSAT@": "0",
+    "@GNULIB_VASPRINTF@": "0",
+    "@GNULIB_VDPRINTF@": "0",
+    "@GNULIB_VFPRINTF@": "1",
+    "@GNULIB_VFPRINTF_POSIX@": "0",
+    "@GNULIB_VFSCANF@": "0",
+    "@GNULIB_VPRINTF@": "1",
+    "@GNULIB_VPRINTF_POSIX@": "0",
+    "@GNULIB_VSCANF@": "0",
+    "@GNULIB_VSNPRINTF@": "0",
+    "@GNULIB_VSPRINTF_POSIX@": "0",
+    "@GNULIB_WCPCPY@": "0",
+    "@GNULIB_WCPNCPY@": "0",
+    "@GNULIB_WCRTOMB@": "1",
+    "@GNULIB_WCSCASECMP@": "0",
+    "@GNULIB_WCSCAT@": "0",
+    "@GNULIB_WCSCHR@": "0",
+    "@GNULIB_WCSCMP@": "0",
+    "@GNULIB_WCSCOLL@": "0",
+    "@GNULIB_WCSCPY@": "0",
+    "@GNULIB_WCSCSPN@": "0",
+    "@GNULIB_WCSDUP@": "0",
+    "@GNULIB_WCSFTIME@": "0",
+    "@GNULIB_WCSLEN@": "0",
+    "@GNULIB_WCSNCASECMP@": "0",
+    "@GNULIB_WCSNCAT@": "0",
+    "@GNULIB_WCSNCMP@": "0",
+    "@GNULIB_WCSNCPY@": "0",
+    "@GNULIB_WCSNLEN@": "0",
+    "@GNULIB_WCSNRTOMBS@": "0",
+    "@GNULIB_WCSPBRK@": "0",
+    "@GNULIB_WCSRCHR@": "0",
+    "@GNULIB_WCSRTOMBS@": "0",
+    "@GNULIB_WCSSPN@": "0",
+    "@GNULIB_WCSSTR@": "0",
+    "@GNULIB_WCSTOK@": "0",
+    "@GNULIB_WCSWIDTH@": "0",
+    "@GNULIB_WCSXFRM@": "0",
+    "@GNULIB_WCTOB@": "1",
+    "@GNULIB_WCTOMB@": "1",
+    "@GNULIB_WCTRANS@": "0",
+    "@GNULIB_WCTYPE@": "0",
+    "@GNULIB_WCWIDTH@": "0",
+    "@GNULIB_WMEMCHR@": "0",
+    "@GNULIB_WMEMCMP@": "0",
+    "@GNULIB_WMEMCPY@": "0",
+    "@GNULIB_WMEMMOVE@": "0",
+    "@GNULIB_WMEMPCPY@": "0",
+    "@GNULIB_WMEMSET@": "0",
+    "@GNULIB_WRITE@": "0",
+    "@GNULIB__EXIT@": "0",
+    "@GUARD_PREFIX@": "GL",
+    "@HAVE_ALLOCA_H@": "1",
+    "@HAVE_BTOWC@": "1",
+    "@HAVE_C99_STDINT_H@": "1",
+    "@HAVE_CANONICALIZE_FILE_NAME@": "0",
+    "@HAVE_DECL_ECVT@": "1",
+    "@HAVE_DECL_EXECVPE@": "0",
+    "@HAVE_DECL_FCLOSEALL@": "0",
+    "@HAVE_DECL_FCVT@": "1",
+    "@HAVE_DECL_GCVT@": "1",
+    "@HAVE_DECL_GETDELIM@": "1",
+    "@HAVE_DECL_MEMRCHR@": "0",
+    "@HAVE_DECL_UNSETENV@": "1",
+    "@HAVE_DECL_WCSDUP@": "1",
+    "@HAVE_DECL_WCTOB@": "1",
+    "@HAVE_DUPLOCALE@": "1",
+    "@HAVE_EXECVPE@": "1",
+    "@HAVE_FCNTL@": "1",
+    "@HAVE_FEATURES_H@": "0",
+    "@HAVE_FREELOCALE@": "1",
+    "@HAVE_GETDTABLESIZE@": "1",
+    "@HAVE_GETRANDOM@": "0",
+    "@HAVE_ISWBLANK@": "1",
+    "@HAVE_ISWCNTRL@": "1",
+    "@HAVE_LANGINFO_ALTMON@": "0",
+    "@HAVE_LANGINFO_CODESET@": "1",
+    "@HAVE_LANGINFO_ERA@": "1",
+    "@HAVE_LANGINFO_H@": "1",
+    "@HAVE_LANGINFO_T_FMT_AMPM@": "1",
+    "@HAVE_LANGINFO_YESEXPR@": "1",
+    "@HAVE_LSTAT@": "1",
+    "@HAVE_MBRLEN@": "1",
+    "@HAVE_MBRTOWC@": "1",
+    "@HAVE_MBSINIT@": "1",
+    "@HAVE_MBTOWC@": "1",
+    "@HAVE_MEMPCPY@": "0",
+    "@HAVE_MKOSTEMP@": "1",
+    "@HAVE_NEWLOCALE@": "1",
+    "@HAVE_NL_LANGINFO@": "1",
+    "@HAVE_RAWMEMCHR@": "0",
+    "@HAVE_READLINK@": "1",
+    "@HAVE_REALLOCARRAY@": "0",
+    "@HAVE_REALPATH@": "1",
+    "@HAVE_STDINT_H@": "1",
+    "@HAVE_STRVERSCMP@": "0",
+    "@HAVE_SYS_LOADAVG_H@": "0",
+    "@HAVE_SYS_RANDOM_H@": "1",
+    "@HAVE_TIMEZONE_T@": "0",
+    "@HAVE_UNISTD_H@": "1",
+    "@HAVE_WCHAR_H@": "1",
+    "@HAVE_WCRTOMB@": "1",
+    "@HAVE_WCTRANS_T@": "1",
+    "@HAVE_WCTYPE_H@": "1",
+    "@HAVE_WCTYPE_T@": "1",
+    "@HAVE_WINT_T@": "1",
+    "@HAVE_XLOCALE_H@": "1",
+    "@INCLUDE_NEXT@": "include_next",
+    "@LOCALENAME_ENHANCE_LOCALE_FUNCS@": "0",
+    "@NEXT_ASSERT_H@": "<assert.h>",
+    "@NEXT_CTYPE_H@": "<ctype.h>",
+    "@NEXT_FCNTL_H@": "<fcntl.h>",
+    "@NEXT_LANGINFO_H@": "<langinfo.h>",
+    "@NEXT_LIMITS_H@": "<limits.h>",
+    "@NEXT_LOCALE_H@": "<locale.h>",
+    "@NEXT_STDINT_H@": "<stdint.h>",
+    "@NEXT_STDIO_H@": "<stdio.h>",
+    "@NEXT_STDLIB_H@": "<stdlib.h>",
+    "@NEXT_STRING_H@": "<string.h>",
+    "@NEXT_SYS_RANDOM_H@": "<sys/random.h>",
+    "@NEXT_SYS_STAT_H@": "<sys/stat.h>",
+    "@NEXT_SYS_TYPES_H@": "<sys/types.h>",
+    "@NEXT_TIME_H@": "<time.h>",
+    "@NEXT_UNISTD_H@": "<unistd.h>",
+    "@NEXT_WCHAR_H@": "<wchar.h>",
+    "@NEXT_WCTYPE_H@": "<wctype.h>",
+    "@PRAGMA_COLUMNS@": "",
+    "@PRAGMA_SYSTEM_HEADER@": "#pragma GCC system_header",
+    "@REPLACE_BTOWC@": "0",
+    "@REPLACE_CALLOC_FOR_CALLOC_GNU@": "0",
+    "@REPLACE_CALLOC_FOR_CALLOC_POSIX@": "0",
+    "@REPLACE_CANONICALIZE_FILE_NAME@": "0",
+    "@REPLACE_CLOSE@": "0",
+    "@REPLACE_DUP2@": "0",
+    "@REPLACE_FCNTL@": "0",
+    "@REPLACE_FPRINTF@": "0",
+    "@REPLACE_FREE@": "1",
+    "@REPLACE_FSTAT@": "0",
+    "@REPLACE_GETDELIM@": "1",
+    "@REPLACE_GETDTABLESIZE@": "0",
+    "@REPLACE_GETRANDOM@": "0",
+    "@REPLACE_GMTIME@": "0",
+    "@REPLACE_ISWBLANK@": "0",
+    "@REPLACE_ISWCNTRL@": "0",
+    "@REPLACE_LOCALECONV@": "0",
+    "@REPLACE_LOCALTIME@": "0",
+    "@REPLACE_LSTAT@": "1",
+    "@REPLACE_MALLOC_FOR_MALLOC_GNU@": "0",
+    "@REPLACE_MALLOC_FOR_MALLOC_POSIX@": "0",
+    "@REPLACE_MBRLEN@": "0",
+    "@REPLACE_MBRTOWC@": "0",
+    "@REPLACE_MBSINIT@": "0",
+    "@REPLACE_MBSTATE_T@": "0",
+    "@REPLACE_MBTOWC@": "0",
+    "@REPLACE_MEMCHR@": "0",
+    "@REPLACE_MKDIR@": "0",
+    "@REPLACE_NL_LANGINFO@": "1",
+    "@REPLACE_OPEN@": "1",
+    "@REPLACE_PRINTF@": "0",
+    "@REPLACE_READLINK@": "1",
+    "@REPLACE_REALLOCARRAY@": "0",
+    "@REPLACE_REALLOC_FOR_REALLOC_GNU@": "0",
+    "@REPLACE_REALLOC_FOR_REALLOC_POSIX@": "0",
+    "@REPLACE_REALPATH@": "1",
+    "@REPLACE_RENAME@": "1",
+    "@REPLACE_RMDIR@": "0",
+    "@REPLACE_STAT@": "1",
+    "@REPLACE_STDIO_READ_FUNCS@": "0",
+    "@REPLACE_STDIO_WRITE_FUNCS@": "0",
+    "@REPLACE_STRERROR@": "1",
+    "@REPLACE_STRUCT_LCONV@": "0",
+    "@REPLACE_TOWLOWER@": "0",
+    "@REPLACE_VFPRINTF@": "0",
+    "@REPLACE_VPRINTF@": "0",
+    "@REPLACE_WCRTOMB@": "0",
+    "@REPLACE_WCTOB@": "0",
+    "@REPLACE_WCTOMB@": "0",
+    "@TIME_H_DEFINES_STRUCT_TIMESPEC@": "1",
+    "@TIME_H_DEFINES_TIME_UTC@": "1",
+    "@UNISTD_H_HAVE_SYS_RANDOM_H@": "1",
+    "@UNISTD_H_HAVE_WINSOCK2_H@": "0",
+    "@UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@": "0",
+    "@WINDOWS_64_BIT_OFF_T@": "0",
+    "@WINDOWS_64_BIT_ST_SIZE@": "0",
+    "@WINDOWS_STAT_INODES@": "0",
+}
diff --git a/modules/sed/4.9.bcr.3/overlay/config_macos.h b/modules/sed/4.9.bcr.3/overlay/config_macos.h
new file mode 100644
index 0000000..be4ddf7
--- /dev/null
+++ b/modules/sed/4.9.bcr.3/overlay/config_macos.h
@@ -0,0 +1,2576 @@
+/* config.h.  Generated from config_h.in by configure.  */
+/* config_h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* Define to the number of bits in type 'ptrdiff_t'. */
+/* #undef BITSIZEOF_PTRDIFF_T */
+
+/* Define to the number of bits in type 'sig_atomic_t'. */
+/* #undef BITSIZEOF_SIG_ATOMIC_T */
+
+/* Define to the number of bits in type 'size_t'. */
+/* #undef BITSIZEOF_SIZE_T */
+
+/* Define to the number of bits in type 'wchar_t'. */
+/* #undef BITSIZEOF_WCHAR_T */
+
+/* Define to the number of bits in type 'wint_t'. */
+/* #undef BITSIZEOF_WINT_T */
+
+/* Define to 1 if using 'alloca.c'. */
+/* #undef C_ALLOCA */
+
+/* the name of the file descriptor member of DIR */
+/* #undef DIR_FD_MEMBER_NAME */
+
+#ifdef DIR_FD_MEMBER_NAME
+# define DIR_TO_FD(Dir_p) ((Dir_p)->DIR_FD_MEMBER_NAME)
+#else
+# define DIR_TO_FD(Dir_p) -1
+#endif
+
+
+/* Define to 1 if // is a file system root distinct from /. */
+/* #undef DOUBLE_SLASH_IS_DISTINCT_ROOT */
+
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+/* #undef ENABLE_NLS */
+
+/* Define this to 1 if F_DUPFD behavior does not match POSIX */
+/* #undef FCNTL_DUPFD_BUGGY */
+
+/* Define to nothing if C supports flexible array members, and to 1 if it does
+   not. That way, with a declaration like 'struct s { int n; short
+   d[FLEXIBLE_ARRAY_MEMBER]; };', the struct hack can be used with pre-C99
+   compilers. Use 'FLEXSIZEOF (struct s, d, N * sizeof (short))' to calculate
+   the size in bytes of such a struct containing an N-element array. */
+#define FLEXIBLE_ARRAY_MEMBER /**/
+
+/* Define to 1 if fopen() fails to recognize a trailing slash. */
+/* #undef FOPEN_TRAILING_SLASH_BUG */
+
+/* Enable compile-time and run-time bounds-checking, and some warnings,
+      without upsetting glibc 2.15+. */
+   #if !defined _FORTIFY_SOURCE && 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 */
+
+/* Define to 1 if the system's ftello function has the macOS bug. */
+/* #undef FTELLO_BROKEN_AFTER_UNGETC */
+
+/* Define to 1 if fflush is known to work on stdin as per POSIX.1-2008, 0 if
+   fflush is known to not work, -1 if unknown. */
+#define FUNC_FFLUSH_STDIN 0
+
+/* Define to 1 if mkdir mistakenly creates a directory given with a trailing
+   dot component. */
+/* #undef FUNC_MKDIR_DOT_BUG */
+
+/* Define to 1 if nl_langinfo (YESEXPR) returns a non-empty string. */
+#define FUNC_NL_LANGINFO_YESEXPR_WORKS 1
+
+/* Define to 1 if realpath() can malloc memory, always gives an absolute path,
+   and handles a trailing slash correctly. */
+/* #undef FUNC_REALPATH_NEARLY_WORKS */
+
+/* Define to 1 if realpath() can malloc memory, always gives an absolute path,
+   and handles leading slashes and a trailing slash correctly. */
+/* #undef FUNC_REALPATH_WORKS */
+
+/* Define to 1 if ungetc is broken when used on arbitrary bytes. */
+/* #undef FUNC_UNGETC_BROKEN */
+
+/* Define this to 'void' or 'struct timezone' to match the system's
+   declaration of the second argument to gettimeofday. */
+#define GETTIMEOFDAY_TIMEZONE void
+
+/* Define to 1 if getxattr works with XATTR_NAME_POSIX_ACL_ACCESS and
+   XATTR_NAME_POSIX_ACL_DEFAULT. */
+/* #undef GETXATTR_WITH_POSIX_ACLS */
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module canonicalize-lgpl shall be considered present. */
+#define GNULIB_CANONICALIZE_LGPL 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module close-stream shall be considered present. */
+#define GNULIB_CLOSE_STREAM 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module fflush shall be considered present. */
+#define GNULIB_FFLUSH IN_SED_GNULIB_TESTS
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module fopen-gnu shall be considered present. */
+#define GNULIB_FOPEN_GNU IN_SED_GNULIB_TESTS
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module fscanf shall be considered present. */
+#define GNULIB_FSCANF 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module isblank shall be considered present. */
+#define GNULIB_ISBLANK IN_SED_GNULIB_TESTS
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module lock shall be considered present. */
+#define GNULIB_LOCK 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module mkostemp shall be considered present. */
+#define GNULIB_MKOSTEMP 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module msvc-nothrow shall be considered present. */
+#define GNULIB_MSVC_NOTHROW 1
+
+/* Define to 1 to disable use of VLAs */
+#define GNULIB_NO_VLA 1
+
+/* enable some gnulib portability checks */
+/* #undef GNULIB_PORTCHECK */
+
+/* Define to 1 if printf and friends should be labeled with attribute
+   "__gnu_printf__" instead of "__printf__" */
+/* #undef GNULIB_PRINTF_ATTRIBUTE_FLAVOR_GNU */
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module reallocarray shall be considered present. */
+#define GNULIB_REALLOCARRAY 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module scanf shall be considered present. */
+#define GNULIB_SCANF 1
+
+/* Define to 1 if you want the FILE stream functions getc, putc, etc. to use
+   unlocked I/O if available, throughout the package. Unlocked I/O can improve
+   performance, sometimes dramatically. But unlocked I/O is safe only in
+   single-threaded programs, as well as in multithreaded programs for which
+   you can guarantee that every FILE stream, including stdin, stdout, stderr,
+   is used only in a single thread. */
+#define GNULIB_STDIO_SINGLE_THREAD 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module strerror shall be considered present. */
+#define GNULIB_STRERROR 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module strerror_r-posix shall be considered present. */
+#define GNULIB_STRERROR_R_POSIX IN_SED_GNULIB_TESTS
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module tempname shall be considered present. */
+#define GNULIB_TEMPNAME 1
+
+/* Define to 1 when the gnulib module accept should be tested. */
+#define GNULIB_TEST_ACCEPT 1
+
+/* Define to 1 when the gnulib module bind should be tested. */
+#define GNULIB_TEST_BIND 1
+
+/* Define to 1 when the gnulib module btowc should be tested. */
+#define GNULIB_TEST_BTOWC 1
+
+/* Define to 1 when the gnulib module calloc-gnu should be tested. */
+#define GNULIB_TEST_CALLOC_GNU 1
+
+/* Define to 1 when the gnulib module calloc-posix should be tested. */
+#define GNULIB_TEST_CALLOC_POSIX 1
+
+/* Define to 1 when the gnulib module canonicalize_file_name should be tested.
+   */
+#define GNULIB_TEST_CANONICALIZE_FILE_NAME 1
+
+/* Define to 1 when the gnulib module chdir should be tested. */
+#define GNULIB_TEST_CHDIR 1
+
+/* Define to 1 when the gnulib module cloexec should be tested. */
+#define GNULIB_TEST_CLOEXEC 1
+
+/* Define to 1 when the gnulib module close should be tested. */
+#define GNULIB_TEST_CLOSE 1
+
+/* Define to 1 when the gnulib module closedir should be tested. */
+#define GNULIB_TEST_CLOSEDIR 1
+
+/* Define to 1 when the gnulib module connect should be tested. */
+#define GNULIB_TEST_CONNECT 1
+
+/* Define to 1 when the gnulib module dirfd should be tested. */
+#define GNULIB_TEST_DIRFD 1
+
+/* Define to 1 when the gnulib module dup2 should be tested. */
+#define GNULIB_TEST_DUP2 1
+
+/* Define to 1 when the gnulib module environ should be tested. */
+#define GNULIB_TEST_ENVIRON 1
+
+/* Define to 1 when the gnulib module explicit_bzero should be tested. */
+#define GNULIB_TEST_EXPLICIT_BZERO 1
+
+/* Define to 1 when the gnulib module fcntl should be tested. */
+#define GNULIB_TEST_FCNTL 1
+
+/* Define to 1 when the gnulib module fdopen should be tested. */
+#define GNULIB_TEST_FDOPEN 1
+
+/* Define to 1 when the gnulib module fflush should be tested. */
+#define GNULIB_TEST_FFLUSH 1
+
+/* Define to 1 when the gnulib module fgetc should be tested. */
+#define GNULIB_TEST_FGETC 1
+
+/* Define to 1 when the gnulib module fgets should be tested. */
+#define GNULIB_TEST_FGETS 1
+
+/* Define to 1 when the gnulib module fopen should be tested. */
+#define GNULIB_TEST_FOPEN 1
+
+/* Define to 1 when the gnulib module fopen-gnu should be tested. */
+#define GNULIB_TEST_FOPEN_GNU 1
+
+/* Define to 1 when the gnulib module fprintf should be tested. */
+#define GNULIB_TEST_FPRINTF 1
+
+/* Define to 1 when the gnulib module fpurge should be tested. */
+#define GNULIB_TEST_FPURGE 1
+
+/* Define to 1 when the gnulib module fputc should be tested. */
+#define GNULIB_TEST_FPUTC 1
+
+/* Define to 1 when the gnulib module fputs should be tested. */
+#define GNULIB_TEST_FPUTS 1
+
+/* Define to 1 when the gnulib module fread should be tested. */
+#define GNULIB_TEST_FREAD 1
+
+/* Define to 1 when the gnulib module free-posix should be tested. */
+#define GNULIB_TEST_FREE_POSIX 1
+
+/* Define to 1 when the gnulib module fscanf should be tested. */
+#define GNULIB_TEST_FSCANF 1
+
+/* Define to 1 when the gnulib module fseek should be tested. */
+#define GNULIB_TEST_FSEEK 1
+
+/* Define to 1 when the gnulib module fseeko should be tested. */
+#define GNULIB_TEST_FSEEKO 1
+
+/* Define to 1 when the gnulib module fstat should be tested. */
+#define GNULIB_TEST_FSTAT 1
+
+/* Define to 1 when the gnulib module ftell should be tested. */
+#define GNULIB_TEST_FTELL 1
+
+/* Define to 1 when the gnulib module ftello should be tested. */
+#define GNULIB_TEST_FTELLO 1
+
+/* Define to 1 when the gnulib module ftruncate should be tested. */
+#define GNULIB_TEST_FTRUNCATE 1
+
+/* Define to 1 when the gnulib module fwrite should be tested. */
+#define GNULIB_TEST_FWRITE 1
+
+/* Define to 1 when the gnulib module getc should be tested. */
+#define GNULIB_TEST_GETC 1
+
+/* Define to 1 when the gnulib module getchar should be tested. */
+#define GNULIB_TEST_GETCHAR 1
+
+/* Define to 1 when the gnulib module getcwd should be tested. */
+#define GNULIB_TEST_GETCWD 1
+
+/* Define to 1 when the gnulib module getdelim should be tested. */
+#define GNULIB_TEST_GETDELIM 1
+
+/* Define to 1 when the gnulib module getdtablesize should be tested. */
+#define GNULIB_TEST_GETDTABLESIZE 1
+
+/* Define to 1 when the gnulib module getpagesize should be tested. */
+#define GNULIB_TEST_GETPAGESIZE 1
+
+/* Define to 1 when the gnulib module getrandom should be tested. */
+#define GNULIB_TEST_GETRANDOM 1
+
+/* Define to 1 when the gnulib module gettimeofday should be tested. */
+#define GNULIB_TEST_GETTIMEOFDAY 1
+
+/* Define to 1 when the gnulib module ioctl should be tested. */
+#define GNULIB_TEST_IOCTL 1
+
+/* Define to 1 when the gnulib module link should be tested. */
+#define GNULIB_TEST_LINK 1
+
+/* Define to 1 when the gnulib module listen should be tested. */
+#define GNULIB_TEST_LISTEN 1
+
+/* Define to 1 when the gnulib module localeconv should be tested. */
+#define GNULIB_TEST_LOCALECONV 1
+
+/* Define to 1 when the gnulib module localename should be tested. */
+#define GNULIB_TEST_LOCALENAME 1
+
+/* Define to 1 when the gnulib module lseek should be tested. */
+#define GNULIB_TEST_LSEEK 1
+
+/* Define to 1 when the gnulib module lstat should be tested. */
+#define GNULIB_TEST_LSTAT 1
+
+/* Define to 1 when the gnulib module malloc-gnu should be tested. */
+#define GNULIB_TEST_MALLOC_GNU 1
+
+/* Define to 1 when the gnulib module malloc-posix should be tested. */
+#define GNULIB_TEST_MALLOC_POSIX 1
+
+/* Define to 1 when the gnulib module mbrlen should be tested. */
+#define GNULIB_TEST_MBRLEN 1
+
+/* Define to 1 when the gnulib module mbrtowc should be tested. */
+#define GNULIB_TEST_MBRTOWC 1
+
+/* Define to 1 when the gnulib module mbsinit should be tested. */
+#define GNULIB_TEST_MBSINIT 1
+
+/* Define to 1 when the gnulib module mbtowc should be tested. */
+#define GNULIB_TEST_MBTOWC 1
+
+/* Define to 1 when the gnulib module memchr should be tested. */
+#define GNULIB_TEST_MEMCHR 1
+
+/* Define to 1 when the gnulib module mempcpy should be tested. */
+#define GNULIB_TEST_MEMPCPY 1
+
+/* Define to 1 when the gnulib module memrchr should be tested. */
+#define GNULIB_TEST_MEMRCHR 1
+
+/* Define to 1 when the gnulib module mkdir should be tested. */
+#define GNULIB_TEST_MKDIR 1
+
+/* Define to 1 when the gnulib module mkostemp should be tested. */
+#define GNULIB_TEST_MKOSTEMP 1
+
+/* Define to 1 when the gnulib module nanosleep should be tested. */
+#define GNULIB_TEST_NANOSLEEP 1
+
+/* Define to 1 when the gnulib module nl_langinfo should be tested. */
+#define GNULIB_TEST_NL_LANGINFO 1
+
+/* Define to 1 when the gnulib module open should be tested. */
+#define GNULIB_TEST_OPEN 1
+
+/* Define to 1 when the gnulib module opendir should be tested. */
+#define GNULIB_TEST_OPENDIR 1
+
+/* Define to 1 when the gnulib module perror should be tested. */
+#define GNULIB_TEST_PERROR 1
+
+/* Define to 1 when the gnulib module pipe should be tested. */
+#define GNULIB_TEST_PIPE 1
+
+/* Define to 1 when the gnulib module printf should be tested. */
+#define GNULIB_TEST_PRINTF 1
+
+/* Define to 1 when the gnulib module pselect should be tested. */
+#define GNULIB_TEST_PSELECT 1
+
+/* Define to 1 when the gnulib module pthread_sigmask should be tested. */
+#define GNULIB_TEST_PTHREAD_SIGMASK 1
+
+/* Define to 1 when the gnulib module pthread-thread should be tested. */
+#define GNULIB_TEST_PTHREAD_THREAD 1
+
+/* Define to 1 when the gnulib module putc should be tested. */
+#define GNULIB_TEST_PUTC 1
+
+/* Define to 1 when the gnulib module putchar should be tested. */
+#define GNULIB_TEST_PUTCHAR 1
+
+/* Define to 1 when the gnulib module putenv should be tested. */
+#define GNULIB_TEST_PUTENV 1
+
+/* Define to 1 when the gnulib module puts should be tested. */
+#define GNULIB_TEST_PUTS 1
+
+/* Define to 1 when the gnulib module raise should be tested. */
+#define GNULIB_TEST_RAISE 1
+
+/* Define to 1 when the gnulib module rawmemchr should be tested. */
+#define GNULIB_TEST_RAWMEMCHR 1
+
+/* Define to 1 when the gnulib module readdir should be tested. */
+#define GNULIB_TEST_READDIR 1
+
+/* Define to 1 when the gnulib module readlink should be tested. */
+#define GNULIB_TEST_READLINK 1
+
+/* Define to 1 when the gnulib module reallocarray should be tested. */
+#define GNULIB_TEST_REALLOCARRAY 1
+
+/* Define to 1 when the gnulib module realloc-gnu should be tested. */
+#define GNULIB_TEST_REALLOC_GNU 1
+
+/* Define to 1 when the gnulib module realloc-posix should be tested. */
+#define GNULIB_TEST_REALLOC_POSIX 1
+
+/* Define to 1 when the gnulib module realpath should be tested. */
+#define GNULIB_TEST_REALPATH 1
+
+/* Define to 1 when the gnulib module rename should be tested. */
+#define GNULIB_TEST_RENAME 1
+
+/* Define to 1 when the gnulib module rmdir should be tested. */
+#define GNULIB_TEST_RMDIR 1
+
+/* Define to 1 when the gnulib module scanf should be tested. */
+#define GNULIB_TEST_SCANF 1
+
+/* Define to 1 when the gnulib module select should be tested. */
+#define GNULIB_TEST_SELECT 1
+
+/* Define to 1 when the gnulib module setenv should be tested. */
+#define GNULIB_TEST_SETENV 1
+
+/* Define to 1 when the gnulib module setlocale should be tested. */
+#define GNULIB_TEST_SETLOCALE 1
+
+/* Define to 1 when the gnulib module setlocale_null should be tested. */
+#define GNULIB_TEST_SETLOCALE_NULL 1
+
+/* Define to 1 when the gnulib module setsockopt should be tested. */
+#define GNULIB_TEST_SETSOCKOPT 1
+
+/* Define to 1 when the gnulib module sigprocmask should be tested. */
+#define GNULIB_TEST_SIGPROCMASK 1
+
+/* Define to 1 when the gnulib module sleep should be tested. */
+#define GNULIB_TEST_SLEEP 1
+
+/* Define to 1 when the gnulib module socket should be tested. */
+#define GNULIB_TEST_SOCKET 1
+
+/* Define to 1 when the gnulib module stat should be tested. */
+#define GNULIB_TEST_STAT 1
+
+/* Define to 1 when the gnulib module strdup should be tested. */
+#define GNULIB_TEST_STRDUP 1
+
+/* Define to 1 when the gnulib module strerror should be tested. */
+#define GNULIB_TEST_STRERROR 1
+
+/* Define to 1 when the gnulib module strerror_r should be tested. */
+#define GNULIB_TEST_STRERROR_R 1
+
+/* Define to 1 when the gnulib module strverscmp should be tested. */
+#define GNULIB_TEST_STRVERSCMP 1
+
+/* Define to 1 when the gnulib module symlink should be tested. */
+#define GNULIB_TEST_SYMLINK 1
+
+/* Define to 1 when the gnulib module unsetenv should be tested. */
+#define GNULIB_TEST_UNSETENV 1
+
+/* Define to 1 when the gnulib module vfprintf should be tested. */
+#define GNULIB_TEST_VFPRINTF 1
+
+/* Define to 1 when the gnulib module vprintf should be tested. */
+#define GNULIB_TEST_VPRINTF 1
+
+/* Define to 1 when the gnulib module wcrtomb should be tested. */
+#define GNULIB_TEST_WCRTOMB 1
+
+/* Define to 1 when the gnulib module wctob should be tested. */
+#define GNULIB_TEST_WCTOB 1
+
+/* Define to 1 when the gnulib module wctomb should be tested. */
+#define GNULIB_TEST_WCTOMB 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module xalloc shall be considered present. */
+#define GNULIB_XALLOC 1
+
+/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
+   whether the gnulib module xalloc-die shall be considered present. */
+#define GNULIB_XALLOC_DIE 1
+
+/* Define to 1 if you have the 'aclsort' function. */
+/* #undef HAVE_ACLSORT */
+
+/* Define to 1 if you have the <aclv.h> header file. */
+/* #undef HAVE_ACLV_H */
+
+/* Define to 1 if you have the 'aclx_get' function. */
+/* #undef HAVE_ACLX_GET */
+
+/* Define to 1 if you have the 'acl_copy_ext_native' function. */
+#define HAVE_ACL_COPY_EXT_NATIVE 1
+
+/* Define to 1 if you have the 'acl_create_entry_np' function. */
+#define HAVE_ACL_CREATE_ENTRY_NP 1
+
+/* Define to 1 if you have the 'acl_delete_def_file' function. */
+#define HAVE_ACL_DELETE_DEF_FILE 1
+
+/* Define to 1 if you have the 'acl_delete_fd_np' function. */
+#define HAVE_ACL_DELETE_FD_NP 1
+
+/* Define to 1 if you have the 'acl_delete_file_np' function. */
+#define HAVE_ACL_DELETE_FILE_NP 1
+
+/* Define to 1 if you have the 'acl_entries' function. */
+/* #undef HAVE_ACL_ENTRIES */
+
+/* Define to 1 if you have the 'acl_extended_file' function. */
+/* #undef HAVE_ACL_EXTENDED_FILE */
+
+/* Define to 1 if the constant ACL_FIRST_ENTRY exists. */
+#define HAVE_ACL_FIRST_ENTRY 1
+
+/* Define to 1 if you have the 'acl_free' function. */
+#define HAVE_ACL_FREE 1
+
+/* Define to 1 if you have the 'acl_free_text' function. */
+/* #undef HAVE_ACL_FREE_TEXT */
+
+/* Define to 1 if you have the 'acl_from_mode' function. */
+/* #undef HAVE_ACL_FROM_MODE */
+
+/* Define to 1 if you have the 'acl_from_text' function. */
+#define HAVE_ACL_FROM_TEXT 1
+
+/* Define to 1 if you have the 'acl_get_fd' function. */
+#define HAVE_ACL_GET_FD 1
+
+/* Define to 1 if you have the 'acl_get_file' function. */
+#define HAVE_ACL_GET_FILE 1
+
+/* Define to 1 if you have the <acl/libacl.h> header file. */
+/* #undef HAVE_ACL_LIBACL_H */
+
+/* Define to 1 if you have the 'acl_set_fd' function. */
+#define HAVE_ACL_SET_FD 1
+
+/* Define to 1 if you have the 'acl_set_file' function. */
+#define HAVE_ACL_SET_FILE 1
+
+/* Define to 1 if you have the 'acl_to_short_text' function. */
+/* #undef HAVE_ACL_TO_SHORT_TEXT */
+
+/* Define to 1 if you have the 'acl_trivial' function. */
+/* #undef HAVE_ACL_TRIVIAL */
+
+/* Define to 1 if the ACL type ACL_TYPE_EXTENDED exists. */
+#define HAVE_ACL_TYPE_EXTENDED 1
+
+/* Define to 1 if you have 'alloca' after including <alloca.h>, a header that
+   may be supplied by this distribution. */
+#define HAVE_ALLOCA 1
+
+/* Define to 1 if <alloca.h> works. */
+#define HAVE_ALLOCA_H 1
+
+/* Define to 1 if you have the <arpa/inet.h> header file. */
+#define HAVE_ARPA_INET_H 1
+
+/* Define to 1 if you have the <bcrypt.h> header file. */
+/* #undef HAVE_BCRYPT_H */
+
+/* Define to 1 if you have the <bp-sym.h> header file. */
+/* #undef HAVE_BP_SYM_H */
+
+/* Define to 1 if you have the 'btowc' function. */
+#define HAVE_BTOWC 1
+
+/* Define to 1 if nanosleep mishandles large arguments. */
+#define HAVE_BUG_BIG_NANOSLEEP 1
+
+/* Define to 1 if you have the 'canonicalize_file_name' function. */
+/* #undef HAVE_CANONICALIZE_FILE_NAME */
+
+/* Define to 1 if you have the 'catgets' function. */
+#define HAVE_CATGETS 1
+
+/* Define to 1 if you have the Mac OS X function
+   CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */
+#define HAVE_CFLOCALECOPYPREFERREDLANGUAGES 1
+
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+   the CoreFoundation framework. */
+#define HAVE_CFPREFERENCESCOPYAPPVALUE 1
+
+/* Define to 1 if you have the 'clock_getres' function. */
+#define HAVE_CLOCK_GETRES 1
+
+/* Define to 1 if you have the 'clock_gettime' function. */
+#define HAVE_CLOCK_GETTIME 1
+
+/* Define to 1 if you have the 'clock_settime' function. */
+#define HAVE_CLOCK_SETTIME 1
+
+/* Define to 1 if you have the 'closedir' function. */
+#define HAVE_CLOSEDIR 1
+
+/* Define to 1 if you have the <crtdefs.h> header file. */
+/* #undef HAVE_CRTDEFS_H */
+
+/* Define to 1 if the alignas and alignof keywords work. */
+/* #undef HAVE_C_ALIGNASOF */
+
+/* Define to 1 if bool, true and false work as per C2023. */
+/* #undef HAVE_C_BOOL */
+
+/* Define to 1 if the static_assert keyword works. */
+/* #undef HAVE_C_STATIC_ASSERT */
+
+/* Define to 1 if C supports variable-length arrays. */
+#define HAVE_C_VARARRAYS 1
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+   */
+/* #undef HAVE_DCGETTEXT */
+
+/* Define to 1 if you have the declaration of 'alarm', and to 0 if you don't.
+   */
+#define HAVE_DECL_ALARM 1
+
+/* Define to 1 if you have the declaration of 'clearerr_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_CLEARERR_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'dirfd', and to 0 if you don't.
+   */
+#define HAVE_DECL_DIRFD 1
+
+/* Define to 1 if you have the declaration of 'ecvt', and to 0 if you don't.
+   */
+#define HAVE_DECL_ECVT 1
+
+/* Define to 1 if you have the declaration of 'execvpe', and to 0 if you
+   don't. */
+#define HAVE_DECL_EXECVPE 0
+
+/* Define to 1 if you have the declaration of 'fcloseall', and to 0 if you
+   don't. */
+#define HAVE_DECL_FCLOSEALL 0
+
+/* Define to 1 if you have the declaration of 'fcvt', and to 0 if you don't.
+   */
+#define HAVE_DECL_FCVT 1
+
+/* Define to 1 if you have the declaration of 'feof_unlocked', and to 0 if you
+   don't. */
+#define HAVE_DECL_FEOF_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'ferror_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FERROR_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'fflush_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FFLUSH_UNLOCKED 0
+
+/* Define to 1 if you have the declaration of 'fgets_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FGETS_UNLOCKED 0
+
+/* Define to 1 if you have the declaration of 'fpurge', and to 0 if you don't.
+   */
+#define HAVE_DECL_FPURGE 1
+
+/* Define to 1 if you have the declaration of 'fputc_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FPUTC_UNLOCKED 0
+
+/* Define to 1 if you have the declaration of 'fputs_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FPUTS_UNLOCKED 0
+
+/* Define to 1 if you have the declaration of 'fread_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FREAD_UNLOCKED 0
+
+/* Define to 1 if you have the declaration of 'fseeko', and to 0 if you don't.
+   */
+#define HAVE_DECL_FSEEKO 1
+
+/* Define to 1 if you have the declaration of 'ftello', and to 0 if you don't.
+   */
+#define HAVE_DECL_FTELLO 1
+
+/* Define to 1 if you have the declaration of 'fwrite_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_FWRITE_UNLOCKED 0
+
+/* Define to 1 if you have the declaration of 'gcvt', and to 0 if you don't.
+   */
+#define HAVE_DECL_GCVT 1
+
+/* Define to 1 if you have the declaration of 'getchar_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_GETCHAR_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'getc_unlocked', and to 0 if you
+   don't. */
+#define HAVE_DECL_GETC_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'getdelim', and to 0 if you
+   don't. */
+#define HAVE_DECL_GETDELIM 1
+
+/* Define to 1 if you have the declaration of 'getdtablesize', and to 0 if you
+   don't. */
+#define HAVE_DECL_GETDTABLESIZE 1
+
+/* Define to 1 if you have the declaration of 'inet_pton', and to 0 if you
+   don't. */
+#define HAVE_DECL_INET_PTON 1
+
+/* Define to 1 if you have the declaration of 'isblank', and to 0 if you
+   don't. */
+#define HAVE_DECL_ISBLANK 1
+
+/* Define to 1 if you have the declaration of 'mbrlen', and to 0 if you don't.
+   */
+/* #undef HAVE_DECL_MBRLEN */
+
+/* Define to 1 if you have the declaration of 'mbrtowc', and to 0 if you
+   don't. */
+/* #undef HAVE_DECL_MBRTOWC */
+
+/* Define to 1 if you have the declaration of 'mbsinit', and to 0 if you
+   don't. */
+/* #undef HAVE_DECL_MBSINIT */
+
+/* Define to 1 if you have the declaration of 'memrchr', and to 0 if you
+   don't. */
+#define HAVE_DECL_MEMRCHR 0
+
+/* 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
+
+/* Define to 1 if you have the declaration of 'putchar_unlocked', and to 0 if
+   you don't. */
+#define HAVE_DECL_PUTCHAR_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'putc_unlocked', and to 0 if you
+   don't. */
+#define HAVE_DECL_PUTC_UNLOCKED 1
+
+/* Define to 1 if you have the declaration of 'setenv', and to 0 if you don't.
+   */
+#define HAVE_DECL_SETENV 1
+
+/* Define to 1 if you have the declaration of 'sleep', and to 0 if you don't.
+   */
+#define HAVE_DECL_SLEEP 1
+
+/* Define to 1 if you have the declaration of 'strdup', and to 0 if you don't.
+   */
+#define HAVE_DECL_STRDUP 1
+
+/* Define to 1 if you have the declaration of 'strerror_r', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRERROR_R 1
+
+/* Define to 1 if you have the declaration of 'towlower', and to 0 if you
+   don't. */
+/* #undef HAVE_DECL_TOWLOWER */
+
+/* Define to 1 if you have the declaration of 'unsetenv', and to 0 if you
+   don't. */
+#define HAVE_DECL_UNSETENV 1
+
+/* Define to 1 if you have the declaration of 'wcrtomb', and to 0 if you
+   don't. */
+/* #undef HAVE_DECL_WCRTOMB */
+
+/* Define to 1 if you have the declaration of 'wcsdup', and to 0 if you don't.
+   */
+#define HAVE_DECL_WCSDUP 1
+
+/* Define to 1 if you have the declaration of 'wctob', and to 0 if you don't.
+   */
+#define HAVE_DECL_WCTOB 1
+
+/* Define to 1 if you have the declaration of '_fseeki64', and to 0 if you
+   don't. */
+/* #undef HAVE_DECL__FSEEKI64 */
+
+/* Define to 1 if you have the declaration of '_putenv', and to 0 if you
+   don't. */
+#define HAVE_DECL__PUTENV 0
+
+/* Define to 1 if you have the declaration of '__argv', and to 0 if you don't.
+   */
+#define HAVE_DECL___ARGV 0
+
+/* Define to 1 if you have the declaration of '__fpending', and to 0 if you
+   don't. */
+/* #undef HAVE_DECL___FPENDING */
+
+/* Define to 1 if you have the <dirent.h> header file. */
+#define HAVE_DIRENT_H 1
+
+/* Define to 1 if you have the 'dirfd' function. */
+#define HAVE_DIRFD 1
+
+/* Define to 1 if you have the 'duplocale' function. */
+#define HAVE_DUPLOCALE 1
+
+/* Define if you have the declaration of environ. */
+/* #undef HAVE_ENVIRON_DECL */
+
+/* Define to 1 if you have the <errno.h> header file. */
+#define HAVE_ERRNO_H 1
+
+/* Define to 1 if you have the 'explicit_bzero' function. */
+/* #undef HAVE_EXPLICIT_BZERO */
+
+/* Define to 1 if you have the 'explicit_memset' function. */
+/* #undef HAVE_EXPLICIT_MEMSET */
+
+/* Define to 1 if you have the 'faccessat' function. */
+#define HAVE_FACCESSAT 1
+
+/* Define to 1 if you have the 'facl' function. */
+/* #undef HAVE_FACL */
+
+/* Define if the locale_t type contains insufficient information, as on
+   OpenBSD. */
+/* #undef HAVE_FAKE_LOCALES */
+
+/* Define to 1 if you have the 'fchmod' function. */
+#define HAVE_FCHMOD 1
+
+/* Define to 1 if you have the 'fchown' function. */
+#define HAVE_FCHOWN 1
+
+/* Define to 1 if you have the 'fcntl' function. */
+#define HAVE_FCNTL 1
+
+/* Define to 1 if you have the <features.h> header file. */
+/* #undef HAVE_FEATURES_H */
+
+/* Define to 1 if you have the 'flockfile' function. */
+#define HAVE_FLOCKFILE 1
+
+/* Defined if "rt" can be used as a mode to fopen. */
+#define HAVE_FOPEN_RT 1
+
+/* Define to 1 if you have the 'fpurge' function. */
+#define HAVE_FPURGE 1
+
+/* Define to 1 if you have the 'freelocale' function. */
+#define HAVE_FREELOCALE 1
+
+/* Define if the 'free' function is guaranteed to preserve errno. */
+/* #undef HAVE_FREE_POSIX */
+
+/* Define to 1 if you have the 'ftruncate' function. */
+#define HAVE_FTRUNCATE 1
+
+/* Define to 1 if you have the 'funlockfile' function. */
+#define HAVE_FUNLOCKFILE 1
+
+/* Define to 1 if you have the 'getacl' function. */
+/* #undef HAVE_GETACL */
+
+/* Define to 1 if you have the 'getcwd' function. */
+#define HAVE_GETCWD 1
+
+/* Define to 1 if you have the 'getdelim' function. */
+#define HAVE_GETDELIM 1
+
+/* Define to 1 if you have the 'getdtablesize' function. */
+#define HAVE_GETDTABLESIZE 1
+
+/* Define to 1 if you have the 'getexecname' function. */
+/* #undef HAVE_GETEXECNAME */
+
+/* Define to 1 if you have the 'getlocalename_l' function. */
+/* #undef HAVE_GETLOCALENAME_L */
+
+/* Define to 1 if you have the 'getprogname' function. */
+#define HAVE_GETPROGNAME 1
+
+/* Define to 1 if you have the 'getrandom' function. */
+/* #undef HAVE_GETRANDOM */
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+/* #undef HAVE_GETTEXT */
+
+/* Define to 1 if you have the 'gettimeofday' function. */
+#define HAVE_GETTIMEOFDAY 1
+
+/* Define if the uselocale exists, may be safely called, and returns
+   sufficient information. */
+#define HAVE_GOOD_USELOCALE 1
+
+/* Define if you have the iconv() function and it works. */
+#define HAVE_ICONV 1
+
+/* Define to 1 if you have the 'inet_pton' function. */
+/* #undef HAVE_INET_PTON */
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the 'ioctl' function. */
+#define HAVE_IOCTL 1
+
+/* Define to 1 if <sys/socket.h> defines AF_INET. */
+#define HAVE_IPV4 1
+
+/* Define to 1 if <sys/socket.h> defines AF_INET6. */
+#define HAVE_IPV6 1
+
+/* Define to 1 if you have the 'isascii' function. */
+#define HAVE_ISASCII 1
+
+/* Define to 1 if you have the 'isatty' function. */
+#define HAVE_ISATTY 1
+
+/* Define to 1 if you have the 'isblank' function. */
+#define HAVE_ISBLANK 1
+
+/* Define to 1 if you have the 'iswcntrl' function. */
+#define HAVE_ISWCNTRL 1
+
+/* Define to 1 if you have the 'iswctype' function. */
+#define HAVE_ISWCTYPE 1
+
+/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
+#define HAVE_LANGINFO_CODESET 1
+
+/* Define to 1 if you have the <langinfo.h> header file. */
+#define HAVE_LANGINFO_H 1
+
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#define HAVE_LC_MESSAGES 1
+
+/* Define to 1 if you have the <libintl.h> header file. */
+/* #undef HAVE_LIBINTL_H */
+
+/* Define to 1 if the bcrypt library is guaranteed to be present. */
+/* #undef HAVE_LIB_BCRYPT */
+
+/* Define to 1 if you have the <limits.h> header file. */
+#define HAVE_LIMITS_H 1
+
+/* Define to 1 if you have the 'link' function. */
+#define HAVE_LINK 1
+
+/* Define to 1 if you have the <locale.h> header file. */
+#define HAVE_LOCALE_H 1
+
+/* Define to 1 if the system has the type 'long long int'. */
+#define HAVE_LONG_LONG_INT 1
+
+/* Define to 1 if you have the 'lstat' function. */
+#define HAVE_LSTAT 1
+
+/* Define to 1 if you have the <malloc.h> header file. */
+/* #undef HAVE_MALLOC_H */
+
+/* Define if malloc, realloc, and calloc set errno on allocation failure. */
+#define HAVE_MALLOC_POSIX 1
+
+/* Define to 1 if mmap()'s MAP_ANONYMOUS flag is available after including
+   config.h and <sys/mman.h>. */
+#define HAVE_MAP_ANONYMOUS 1
+
+/* Define to 1 if you have the 'mbrlen' function. */
+#define HAVE_MBRLEN 1
+
+/* Define to 1 if you have the 'mbrtowc' function. */
+#define HAVE_MBRTOWC 1
+
+/* Define to 1 if you have the 'mbsinit' function. */
+#define HAVE_MBSINIT 1
+
+/* Define to 1 if <wchar.h> declares mbstate_t. */
+#define HAVE_MBSTATE_T 1
+
+/* Define to 1 if you have the 'mbtowc' function. */
+#define HAVE_MBTOWC 1
+
+/* Define to 1 if you have the <mcheck.h> header file. */
+/* #undef HAVE_MCHECK_H */
+
+/* Define to 1 if you have the 'memcpy' function. */
+#define HAVE_MEMCPY 1
+
+/* Define to 1 if you have the 'mempcpy' function. */
+/* #undef HAVE_MEMPCPY */
+
+/* Define to 1 if you have the 'memrchr' function. */
+/* #undef HAVE_MEMRCHR */
+
+/* Define to 1 if you have the 'memset_s' function. */
+#define HAVE_MEMSET_S 1
+
+/* Define to 1 if you have the <minix/config.h> header file. */
+/* #undef HAVE_MINIX_CONFIG_H */
+
+/* Define to 1 if <limits.h> defines the MIN and MAX macros. */
+/* #undef HAVE_MINMAX_IN_LIMITS_H */
+
+/* Define to 1 if <sys/param.h> defines the MIN and MAX macros. */
+#define HAVE_MINMAX_IN_SYS_PARAM_H 1
+
+/* Define to 1 if you have the 'mkostemp' function. */
+#define HAVE_MKOSTEMP 1
+
+/* Define to 1 if you have the 'mprotect' function. */
+#define HAVE_MPROTECT 1
+
+/* Define to 1 if you have the 'mquery' function. */
+/* #undef HAVE_MQUERY */
+
+/* Define to 1 on MSVC platforms that have the "invalid parameter handler"
+   concept. */
+/* #undef HAVE_MSVC_INVALID_PARAMETER_HANDLER */
+
+/* Define if the locale_t type does not contain the name of each locale
+   category. */
+/* #undef HAVE_NAMELESS_LOCALES */
+
+/* Define to 1 if you have the <netdb.h> header file. */
+#define HAVE_NETDB_H 1
+
+/* Define to 1 if you have the <netinet/in.h> header file. */
+#define HAVE_NETINET_IN_H 1
+
+/* Define to 1 if you have the 'newlocale' function. */
+#define HAVE_NEWLOCALE 1
+
+/* Define to 1 if you have the 'nl_langinfo' function. */
+#define HAVE_NL_LANGINFO 1
+
+/* Define to 1 if the system has obstacks that work with any size object. */
+/* #undef HAVE_OBSTACK */
+
+/* Define to 1 if you have the 'opendir' function. */
+#define HAVE_OPENDIR 1
+
+/* Define to 1 if you have the <OS.h> header file. */
+/* #undef HAVE_OS_H */
+
+/* Define to 1 if you have the 'pathconf' function. */
+#define HAVE_PATHCONF 1
+
+/* Define to 1 if you have the 'pipe' function. */
+#define HAVE_PIPE 1
+
+/* Define to 1 if you have the 'popen' function. */
+#define HAVE_POPEN 1
+
+/* Define to 1 if you have the 'pselect' function. */
+#define HAVE_PSELECT 1
+
+/* Define to 1 if you have the 'pstat_getprocvm' function. */
+/* #undef HAVE_PSTAT_GETPROCVM */
+
+/* Define if you have the <pthread.h> header and the POSIX threads API. */
+#define HAVE_PTHREAD_API 1
+
+/* Define to 1 if you have the 'pthread_atfork' function. */
+/* #undef HAVE_PTHREAD_ATFORK */
+
+/* Define to 1 if you have the <pthread.h> header file. */
+#define HAVE_PTHREAD_H 1
+
+/* Define if the <pthread.h> defines PTHREAD_MUTEX_RECURSIVE. */
+/* #undef HAVE_PTHREAD_MUTEX_RECURSIVE */
+
+/* Define if the POSIX multithreading library has read/write locks. */
+/* #undef HAVE_PTHREAD_RWLOCK */
+
+/* Define if the 'pthread_rwlock_rdlock' function prefers a writer to a
+   reader. */
+/* #undef HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER */
+
+/* Define to 1 if the pthread_sigmask function can be used (despite bugs). */
+#define HAVE_PTHREAD_SIGMASK 1
+
+/* Define to 1 if the system has the type 'pthread_spinlock_t'. */
+/* #undef HAVE_PTHREAD_SPINLOCK_T */
+
+/* Define to 1 if the system has the type 'pthread_t'. */
+#define HAVE_PTHREAD_T 1
+
+/* Define to 1 if you have the 'raise' function. */
+#define HAVE_RAISE 1
+
+/* Define to 1 if you have the 'rawmemchr' function. */
+/* #undef HAVE_RAWMEMCHR */
+
+/* Define to 1 if you have the 'readdir' function. */
+#define HAVE_READDIR 1
+
+/* Define to 1 if you have the 'readlink' function. */
+#define HAVE_READLINK 1
+
+/* Define to 1 if you have the 'reallocarray' function. */
+/* #undef HAVE_REALLOCARRAY */
+
+/* Define to 1 if you have the 'realpath' function. */
+#define HAVE_REALPATH 1
+
+/* Define to 1 if the system has the type 'sa_family_t'. */
+#define HAVE_SA_FAMILY_T 1
+
+/* Define to 1 if you have the <sched.h> header file. */
+#define HAVE_SCHED_H 1
+
+/* Define to 1 if you have the <sdkddkver.h> header file. */
+/* #undef HAVE_SDKDDKVER_H */
+
+/* Define to 1 if you have the <search.h> header file. */
+#define HAVE_SEARCH_H 1
+
+/* Define to 1 if you have the <selinux/context.h> header file. */
+/* #undef HAVE_SELINUX_CONTEXT_H */
+
+/* Define to 1 if you have the <selinux/label.h> header file. */
+/* #undef HAVE_SELINUX_LABEL_H */
+
+/* Define to 1 if you have the <selinux/selinux.h> header file. */
+#define HAVE_SELINUX_SELINUX_H 0
+
+/* Define to 1 if you have the 'setdtablesize' function. */
+/* #undef HAVE_SETDTABLESIZE */
+
+/* Define to 1 if you have the 'setenv' function. */
+#define HAVE_SETENV 1
+
+/* Define to 1 if you have the 'setlocale' function. */
+#define HAVE_SETLOCALE 1
+
+/* Define to 1 if you have the 'shutdown' function. */
+#define HAVE_SHUTDOWN 1
+
+/* Define to 1 if 'sig_atomic_t' is a signed integer type. */
+/* #undef HAVE_SIGNED_SIG_ATOMIC_T */
+
+/* Define to 1 if 'wchar_t' is a signed integer type. */
+/* #undef HAVE_SIGNED_WCHAR_T */
+
+/* Define to 1 if 'wint_t' is a signed integer type. */
+/* #undef HAVE_SIGNED_WINT_T */
+
+/* Define to 1 if the system has the type 'sigset_t'. */
+#define HAVE_SIGSET_T 1
+
+/* Define to 1 if you have the 'sleep' function. */
+#define HAVE_SLEEP 1
+
+/* Define to 1 if you have the 'snprintf' function. */
+#define HAVE_SNPRINTF 1
+
+/* Define if the locale_t type is as on Solaris 11.4. */
+/* #undef HAVE_SOLARIS114_LOCALES */
+
+/* Define to 1 if you have the 'statacl' function. */
+/* #undef HAVE_STATACL */
+
+/* Define to 1 if you have the <stdalign.h> header file. */
+#define HAVE_STDALIGN_H 1
+
+/* Define to 1 if you have the <stdbool.h> header file. */
+#define HAVE_STDBOOL_H 1
+
+/* Define to 1 if you have the <stdckdint.h> header file. */
+/* #undef HAVE_STDCKDINT_H */
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdio_ext.h> header file. */
+/* #undef HAVE_STDIO_EXT_H */
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#define HAVE_STDIO_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the 'strchr' function. */
+#define HAVE_STRCHR 1
+
+/* Define to 1 if you have the 'strerror_r' function. */
+#define HAVE_STRERROR_R 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the 'strtoul' function. */
+#define HAVE_STRTOUL 1
+
+/* Define to 1 if 'decimal_point' is a member of 'struct lconv'. */
+/* #undef HAVE_STRUCT_LCONV_DECIMAL_POINT */
+
+/* Define to 1 if the system has the type 'struct sockaddr_storage'. */
+#define HAVE_STRUCT_SOCKADDR_STORAGE 1
+
+/* Define to 1 if 'ss_family' is a member of 'struct sockaddr_storage'. */
+#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
+
+/* Define to 1 if 'st_atimensec' is a member of 'struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_ATIMENSEC */
+
+/* Define to 1 if 'st_atimespec.tv_nsec' is a member of 'struct stat'. */
+#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1
+
+/* Define to 1 if 'st_atim.st__tim.tv_nsec' is a member of 'struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC */
+
+/* Define to 1 if 'st_atim.tv_nsec' is a member of 'struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC */
+
+/* Define to 1 if 'st_birthtimensec' is a member of 'struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIMENSEC */
+
+/* Define to 1 if 'st_birthtimespec.tv_nsec' is a member of 'struct stat'. */
+#define HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 1
+
+/* Define to 1 if 'st_birthtim.tv_nsec' is a member of 'struct stat'. */
+/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIM_TV_NSEC */
+
+/* Define to 1 if you have the 'strverscmp' function. */
+/* #undef HAVE_STRVERSCMP */
+
+/* Define to 1 if you have the 'symlink' function. */
+#define HAVE_SYMLINK 1
+
+/* Define to 1 if you have the <sys/acl.h> header file. */
+#define HAVE_SYS_ACL_H 1
+
+/* Define to 1 if you have the <sys/bitypes.h> header file. */
+/* #undef HAVE_SYS_BITYPES_H */
+
+/* Define to 1 if you have the <sys/cdefs.h> header file. */
+#define HAVE_SYS_CDEFS_H 1
+
+/* Define to 1 if you have the <sys/inttypes.h> header file. */
+/* #undef HAVE_SYS_INTTYPES_H */
+
+/* Define to 1 if you have the <sys/ioctl.h> header file. */
+#define HAVE_SYS_IOCTL_H 1
+
+/* Define to 1 if you have the <sys/mman.h> header file. */
+#define HAVE_SYS_MMAN_H 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/random.h> header file. */
+#define HAVE_SYS_RANDOM_H 1
+
+/* Define to 1 if you have the <sys/select.h> header file. */
+#define HAVE_SYS_SELECT_H 1
+
+/* Define to 1 if you have the <sys/single_threaded.h> header file. */
+/* #undef HAVE_SYS_SINGLE_THREADED_H */
+
+/* Define to 1 if you have the <sys/socket.h> header file. */
+#define HAVE_SYS_SOCKET_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#define HAVE_SYS_TIME_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <sys/uio.h> header file. */
+#define HAVE_SYS_UIO_H 1
+
+/* Define to 1 if you have the <sys/wait.h> header file. */
+#define HAVE_SYS_WAIT_H 1
+
+/* Define to 1 if you have the 'thrd_create' function. */
+/* #undef HAVE_THRD_CREATE */
+
+/* Define to 1 if you have the <threads.h> header file. */
+/* #undef HAVE_THREADS_H */
+
+/* Define to 1 if you have the 'towlower' function. */
+#define HAVE_TOWLOWER 1
+
+/* Define to 1 if you have the 'tsearch' function. */
+#define HAVE_TSEARCH 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to 1 if you have the 'unsetenv' function. */
+#define HAVE_UNSETENV 1
+
+/* Define to 1 if the system has the type 'unsigned long long int'. */
+#define HAVE_UNSIGNED_LONG_LONG_INT 1
+
+/* Define to 1 if you have the 'uselocale' function. */
+#define HAVE_USELOCALE 1
+
+/* Define if you have a global __progname variable */
+#define HAVE_VAR___PROGNAME 1
+
+/* Define to 1 or 0, depending whether the compiler supports simple visibility
+   declarations. */
+#define HAVE_VISIBILITY 1
+
+/* Define to 1 if you have the <wchar.h> header file. */
+#define HAVE_WCHAR_H 1
+
+/* Define if you have the 'wchar_t' type. */
+#define HAVE_WCHAR_T 1
+
+/* Define to 1 if you have the 'wcrtomb' function. */
+#define HAVE_WCRTOMB 1
+
+/* Define to 1 if you have the 'wctob' function. */
+#define HAVE_WCTOB 1
+
+/* Define to 1 if you have the <wctype.h> header file. */
+#define HAVE_WCTYPE_H 1
+
+/* Define to 1 if the compiler and linker support weak declarations of
+   symbols. */
+/* #undef HAVE_WEAK_SYMBOLS */
+
+/* Define to 1 if you have the <winsock2.h> header file. */
+/* #undef HAVE_WINSOCK2_H */
+
+/* Define if you have the 'wint_t' type. */
+#define HAVE_WINT_T 1
+
+/* Define to 1 if O_NOATIME works. */
+#define HAVE_WORKING_O_NOATIME 1
+
+/* Define to 1 if O_NOFOLLOW works. */
+#define HAVE_WORKING_O_NOFOLLOW 1
+
+/* Define if the uselocale function exists and may safely be called. */
+#define HAVE_WORKING_USELOCALE 1
+
+/* Define to 1 if you have the <ws2tcpip.h> header file. */
+/* #undef HAVE_WS2TCPIP_H */
+
+/* Define to 1 if you have the <xlocale.h> header file. */
+#define HAVE_XLOCALE_H 1
+
+/* Define to 1 if you have the '_chsize' function. */
+/* #undef HAVE__CHSIZE */
+
+/* Define to 1 if you have the '_fseeki64' function. */
+/* #undef HAVE__FSEEKI64 */
+
+/* Define to 1 if you have the '_ftelli64' function. */
+/* #undef HAVE__FTELLI64 */
+
+/* Define to 1 if you have the '_set_invalid_parameter_handler' function. */
+/* #undef HAVE__SET_INVALID_PARAMETER_HANDLER */
+
+/* Define to 1 if the compiler supports __builtin_expect,
+   and to 2 if <builtins.h> does.  */
+#define HAVE___BUILTIN_EXPECT 1
+#ifndef HAVE___BUILTIN_EXPECT
+# define __builtin_expect(e, c) (e)
+#elif HAVE___BUILTIN_EXPECT == 2
+# include <builtins.h>
+#endif
+    
+
+/* Define to 1 if you have the '__fpurge' function. */
+/* #undef HAVE___FPURGE */
+
+/* Define to 1 if you have the '__freading' function. */
+/* #undef HAVE___FREADING */
+
+/* Define to 1 if you have the '__fwriting' function. */
+/* #undef HAVE___FWRITING */
+
+/* Define to 1 if ctype.h defines __header_inline. */
+#define HAVE___HEADER_INLINE 1
+
+/* Please see the Gnulib manual for how to use these macros.
+
+   Suppress extern inline with HP-UX cc, as it appears to be broken; see
+   <https://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
+
+   Suppress extern inline with Sun C in standards-conformance mode, as it
+   mishandles inline functions that call each other.  E.g., for 'inline void f
+   (void) { } inline void g (void) { f (); }', c99 incorrectly complains
+   'reference to static identifier "f" in extern inline function'.
+   This bug was observed with Oracle Developer Studio 12.6
+   (Sun C 5.15 SunOS_sparc 2017/05/30).
+
+   Suppress extern inline (with or without __attribute__ ((__gnu_inline__)))
+   on configurations that mistakenly use 'static inline' to implement
+   functions or macros in standard C headers like <ctype.h>.  For example,
+   if isdigit is mistakenly implemented via a static inline function,
+   a program containing an extern inline function that calls isdigit
+   may not work since the C standard prohibits extern inline functions
+   from calling static functions (ISO C 99 section 6.7.4.(3).
+   This bug is known to occur on:
+
+     OS X 10.8 and earlier; see:
+     https://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html
+
+     DragonFly; see
+     http://muscles.dragonflybsd.org/bulk/clang-master-potential/20141111_102002/logs/ah-tty-0.3.12.log
+
+     FreeBSD; see:
+     https://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
+
+   OS X 10.9 has a macro __header_inline indicating the bug is fixed for C and
+   for clang but remains for g++; see <https://trac.macports.org/ticket/41033>.
+   Assume DragonFly and FreeBSD will be similar.
+
+   GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+   inline semantics, unless -fgnu89-inline is used.  It defines a macro
+   __GNUC_STDC_INLINE__ to indicate this situation or a macro
+   __GNUC_GNU_INLINE__ to indicate the opposite situation.
+   GCC 4.2 with -std=c99 or -std=gnu99 implements the GNU C inline
+   semantics but warns, unless -fgnu89-inline is used:
+     warning: C99 inline functions are not supported; using GNU89
+     warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
+   It defines a macro __GNUC_GNU_INLINE__ to indicate this situation.
+ */
+#if (((defined __APPLE__ && defined __MACH__) \
+      || defined __DragonFly__ || defined __FreeBSD__) \
+     && (defined HAVE___HEADER_INLINE \
+         ? (defined __cplusplus && defined __GNUC_STDC_INLINE__ \
+            && ! defined __clang__) \
+         : ((! defined _DONT_USE_CTYPE_INLINE_ \
+             && (defined __GNUC__ || defined __cplusplus)) \
+            || (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
+                && defined __GNUC__ && ! defined __cplusplus))))
+# define _GL_EXTERN_INLINE_STDHEADER_BUG
+#endif
+#if ((__GNUC__ \
+      ? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
+      : (199901L <= __STDC_VERSION__ \
+         && !defined __HP_cc \
+         && !defined __PGI \
+         && !(defined __SUNPRO_C && __STDC__))) \
+     && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
+# define _GL_INLINE inline
+# define _GL_EXTERN_INLINE extern inline
+# define _GL_EXTERN_INLINE_IN_USE
+#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
+       && !defined _GL_EXTERN_INLINE_STDHEADER_BUG)
+# if defined __GNUC_GNU_INLINE__ && __GNUC_GNU_INLINE__
+   /* __gnu_inline__ suppresses a GCC 4.2 diagnostic.  */
+#  define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
+# else
+#  define _GL_INLINE extern inline
+# endif
+# define _GL_EXTERN_INLINE extern
+# define _GL_EXTERN_INLINE_IN_USE
+#else
+# define _GL_INLINE _GL_UNUSED static
+# define _GL_EXTERN_INLINE _GL_UNUSED static
+#endif
+
+/* In GCC 4.6 (inclusive) to 5.1 (exclusive),
+   suppress bogus "no previous prototype for 'FOO'"
+   and "no previous declaration for 'FOO'" diagnostics,
+   when FOO is an inline function in the header; see
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54113> and
+   <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63877>.  */
+#if __GNUC__ == 4 && 6 <= __GNUC_MINOR__
+# if defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__
+#  define _GL_INLINE_HEADER_CONST_PRAGMA
+# else
+#  define _GL_INLINE_HEADER_CONST_PRAGMA \
+     _Pragma ("GCC diagnostic ignored \"-Wsuggest-attribute=const\"")
+# endif
+# define _GL_INLINE_HEADER_BEGIN \
+    _Pragma ("GCC diagnostic push") \
+    _Pragma ("GCC diagnostic ignored \"-Wmissing-prototypes\"") \
+    _Pragma ("GCC diagnostic ignored \"-Wmissing-declarations\"") \
+    _GL_INLINE_HEADER_CONST_PRAGMA
+# define _GL_INLINE_HEADER_END \
+    _Pragma ("GCC diagnostic pop")
+#else
+# define _GL_INLINE_HEADER_BEGIN
+# define _GL_INLINE_HEADER_END
+#endif
+
+/* Define to 1 if the compiler supports the keyword '__inline'. */
+#define HAVE___INLINE 1
+
+/* Define to 1 if you have the '__xpg_strerror_r' function. */
+/* #undef HAVE___XPG_STRERROR_R */
+
+/* Define if localename.c overrides newlocale(), duplocale(), freelocale(). */
+/* #undef LOCALENAME_ENHANCE_LOCALE_FUNCS */
+
+/* Define to 1 if lseek does not detect pipes. */
+/* #undef LSEEK_PIPE_BROKEN */
+
+/* Define to 1 if 'lstat' dereferences a symlink specified with a trailing
+   slash. */
+/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */
+
+/* If malloc(0) is != NULL, define this to 1. Otherwise define this to 0. */
+#define MALLOC_0_IS_NONNULL 1
+
+/* Define to a substitute value for mmap()'s MAP_ANONYMOUS flag. */
+/* #undef MAP_ANONYMOUS */
+
+/* Define if the mbrtowc function does not return (size_t) -2 for empty input.
+   */
+/* #undef MBRTOWC_EMPTY_INPUT_BUG */
+
+/* Define if the mbrtowc function may signal encoding errors in the C locale.
+   */
+/* #undef MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ */
+
+/* Define if the mbrtowc function has the NULL pwc argument bug. */
+/* #undef MBRTOWC_NULL_ARG1_BUG */
+
+/* Define if the mbrtowc function has the NULL string argument bug. */
+/* #undef MBRTOWC_NULL_ARG2_BUG */
+
+/* Define if the mbrtowc function does not return 0 for a NUL character. */
+/* #undef MBRTOWC_NUL_RETVAL_BUG */
+
+/* Define if the mbrtowc function returns a wrong return value. */
+/* #undef MBRTOWC_RETVAL_BUG */
+
+/* Define if the mbrtowc function stores a wide character when reporting
+   incomplete input. */
+/* #undef MBRTOWC_STORES_INCOMPLETE_BUG */
+
+/* Use GNU style printf and scanf.  */
+#ifndef __USE_MINGW_ANSI_STDIO
+# define __USE_MINGW_ANSI_STDIO 1
+#endif
+
+
+/* Define to 1 on musl libc. */
+/* #undef MUSL_LIBC */
+
+/* Define to 1 if assertions should be disabled. */
+/* #undef NDEBUG */
+
+/* Define to 1 to enable general improvements of setlocale. */
+#define NEED_SETLOCALE_IMPROVED 0
+
+/* Define to 1 to enable a multithread-safety fix of setlocale. */
+#define NEED_SETLOCALE_MTSAFE 1
+
+/* Define to 1 if nl_langinfo is multithread-safe. */
+#define NL_LANGINFO_MTSAFE 1
+
+/* Define to 1 if open() fails to recognize a trailing slash. */
+#define OPEN_TRAILING_SLASH_BUG 1
+
+/* Name of package */
+#define PACKAGE "sed"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "bug-sed@gnu.org"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "GNU sed"
+
+/* String identifying the packager of this software */
+/* #undef PACKAGE_PACKAGER */
+
+/* Packager info for bug reports (URL/e-mail/...) */
+/* #undef PACKAGE_PACKAGER_BUG_REPORTS */
+
+/* Packager-specific version information */
+/* #undef PACKAGE_PACKAGER_VERSION */
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "GNU sed 4.9"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "sed"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "https://www.gnu.org/software/sed/"
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "4.9"
+
+/* Define to the type that is the result of default argument promotions of
+   type mode_t. */
+#define PROMOTED_MODE_T int
+
+/* Define if pthread_create is an inline function. */
+/* #undef PTHREAD_CREATE_IS_INLINE */
+
+/* Define if the pthread_in_use() detection is hard. */
+/* #undef PTHREAD_IN_USE_DETECTION_HARD */
+
+/* Define to 1 if pthread_sigmask(), when it fails, returns -1 and sets errno.
+   */
+/* #undef PTHREAD_SIGMASK_FAILS_WITH_ERRNO */
+
+/* Define to 1 if pthread_sigmask may return 0 and have no effect. */
+/* #undef PTHREAD_SIGMASK_INEFFECTIVE */
+
+/* Define to 1 if pthread_sigmask() unblocks signals incorrectly. */
+/* #undef PTHREAD_SIGMASK_UNBLOCK_BUG */
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'ptrdiff_t'. */
+/* #undef PTRDIFF_T_SUFFIX */
+
+/* Define to 1 if readlink fails to recognize a trailing slash. */
+#define READLINK_TRAILING_SLASH_BUG 1
+
+/* Define to 1 if readlink sets errno instead of truncating a too-long link.
+   */
+/* #undef READLINK_TRUNCATE_BUG */
+
+/* Define if rename does not work when the destination file exists, as on
+   Cygwin 1.5 or Windows. */
+/* #undef RENAME_DEST_EXISTS_BUG */
+
+/* Define if rename fails to leave hard links alone, as on NetBSD 1.6 or
+   Cygwin 1.5. */
+/* #undef RENAME_HARD_LINK_BUG */
+
+/* Define if rename does not correctly handle slashes on the destination
+   argument, such as on Solaris 11 or NetBSD 1.6. */
+#define RENAME_TRAILING_SLASH_DEST_BUG 1
+
+/* Define if rename does not correctly handle slashes on the source argument,
+   such as on Solaris 9 or cygwin 1.5. */
+#define RENAME_TRAILING_SLASH_SOURCE_BUG 1
+
+/* Define to 1 if gnulib's dirfd() replacement is used. */
+/* #undef REPLACE_DIRFD */
+
+/* Define to 1 if stat needs help when passed a file name with a trailing
+   slash */
+#define REPLACE_FUNC_STAT_FILE 1
+
+/* Define if nl_langinfo exists but is overridden by gnulib. */
+#define REPLACE_NL_LANGINFO 1
+
+/* Define to 1 if strerror(0) does not return a message implying success. */
+#define REPLACE_STRERROR_0 1
+
+/* Define to 1 if setlocale (LC_ALL, NULL) is multithread-safe. */
+#define SETLOCALE_NULL_ALL_MTSAFE 0
+
+/* Define to 1 if setlocale (category, NULL) is multithread-safe. */
+#define SETLOCALE_NULL_ONE_MTSAFE 1
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'sig_atomic_t'. */
+/* #undef SIG_ATOMIC_T_SUFFIX */
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'size_t'. */
+/* #undef SIZE_T_SUFFIX */
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+	STACK_DIRECTION > 0 => grows toward higher addresses
+	STACK_DIRECTION < 0 => grows toward lower addresses
+	STACK_DIRECTION = 0 => direction of growth unknown */
+/* #undef STACK_DIRECTION */
+
+/* Define to 1 if the 'S_IS*' macros in <sys/stat.h> do not work properly. */
+/* #undef STAT_MACROS_BROKEN */
+
+/* Define to 1 if all of the C90 standard headers exist (not just the ones
+   required in a freestanding environment). This macro is provided for
+   backward compatibility; new code need not use it. */
+#define STDC_HEADERS 1
+
+/* Define to 1 if strerror_r returns char *. */
+/* #undef STRERROR_R_CHAR_P */
+
+/* Define to 1 if the type of the st_atim member of a struct stat is struct
+   timespec. */
+/* #undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC */
+
+/* Define to nonzero if you want access control list support. */
+#define USE_ACL 1
+
+/* Define if the combination of the ISO C and POSIX multithreading APIs can be
+   used. */
+/* #undef USE_ISOC_AND_POSIX_THREADS */
+
+/* Define if the ISO C multithreading library can be used. */
+/* #undef USE_ISOC_THREADS */
+
+/* Define if the POSIX multithreading library can be used. */
+/* #undef USE_POSIX_THREADS */
+
+/* Define if references to the POSIX multithreading library are satisfied by
+   libc. */
+/* #undef USE_POSIX_THREADS_FROM_LIBC */
+
+/* Define if references to the POSIX multithreading library should be made
+   weak. */
+/* #undef USE_POSIX_THREADS_WEAK */
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+/* Enable general extensions on macOS.  */
+#ifndef _DARWIN_C_SOURCE
+# define _DARWIN_C_SOURCE 1
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+/* Enable X/Open compliant socket functions that do not require linking
+   with -lxnet on HP-UX 11.11.  */
+#ifndef _HPUX_ALT_XOPEN_SOCKET_API
+# define _HPUX_ALT_XOPEN_SOCKET_API 1
+#endif
+/* Identify the host operating system as Minix.
+   This macro does not affect the system headers' behavior.
+   A future release of Autoconf may stop defining this macro.  */
+#ifndef _MINIX
+/* # undef _MINIX */
+#endif
+/* Enable general extensions on NetBSD.
+   Enable NetBSD compatibility extensions on Minix.  */
+#ifndef _NETBSD_SOURCE
+# define _NETBSD_SOURCE 1
+#endif
+/* Enable OpenBSD compatibility extensions on NetBSD.
+   Oddly enough, this does nothing on OpenBSD.  */
+#ifndef _OPENBSD_SOURCE
+# define _OPENBSD_SOURCE 1
+#endif
+/* Define to 1 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_SOURCE
+/* # undef _POSIX_SOURCE */
+#endif
+/* Define to 2 if needed for POSIX-compatible behavior.  */
+#ifndef _POSIX_1_SOURCE
+/* # undef _POSIX_1_SOURCE */
+#endif
+/* Enable POSIX-compatible threading on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-5:2014.  */
+#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
+# define __STDC_WANT_IEC_60559_ATTRIBS_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-1:2014.  */
+#ifndef __STDC_WANT_IEC_60559_BFP_EXT__
+# define __STDC_WANT_IEC_60559_BFP_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-2:2015.  */
+#ifndef __STDC_WANT_IEC_60559_DFP_EXT__
+# define __STDC_WANT_IEC_60559_DFP_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-4:2015.  */
+#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__
+# define __STDC_WANT_IEC_60559_FUNCS_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TS 18661-3:2015.  */
+#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__
+# define __STDC_WANT_IEC_60559_TYPES_EXT__ 1
+#endif
+/* Enable extensions specified by ISO/IEC TR 24731-2:2010.  */
+#ifndef __STDC_WANT_LIB_EXT2__
+# define __STDC_WANT_LIB_EXT2__ 1
+#endif
+/* Enable extensions specified by ISO/IEC 24747:2009.  */
+#ifndef __STDC_WANT_MATH_SPEC_FUNCS__
+# define __STDC_WANT_MATH_SPEC_FUNCS__ 1
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+/* Enable X/Open extensions.  Define to 500 only if necessary
+   to make mbstate_t available.  */
+#ifndef _XOPEN_SOURCE
+/* # undef _XOPEN_SOURCE */
+#endif
+
+
+/* An alias of GNULIB_STDIO_SINGLE_THREAD. */
+#define USE_UNLOCKED_IO GNULIB_STDIO_SINGLE_THREAD
+
+/* Define if the native Windows multithreading API can be used. */
+/* #undef USE_WINDOWS_THREADS */
+
+/* Version number of package */
+#define VERSION "4.9"
+
+/* Define to 1 if unsetenv returns void instead of int. */
+/* #undef VOID_UNSETENV */
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'wchar_t'. */
+/* #undef WCHAR_T_SUFFIX */
+
+/* Define if the wcrtomb function does not work in the C locale. */
+/* #undef WCRTOMB_C_LOCALE_BUG */
+
+/* Define if the wcrtomb function has an incorrect return value. */
+/* #undef WCRTOMB_RETVAL_BUG */
+
+/* Define if WSAStartup is needed. */
+/* #undef WINDOWS_SOCKETS */
+
+/* Define to l, ll, u, ul, ull, etc., as suitable for constants of type
+   'wint_t'. */
+/* #undef WINT_T_SUFFIX */
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+/* #  undef WORDS_BIGENDIAN */
+# endif
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* True if the compiler says it groks GNU C version MAJOR.MINOR.  */
+#if defined __GNUC__ && defined __GNUC_MINOR__
+# define _GL_GNUC_PREREQ(major, minor) \
+    ((major) < __GNUC__ + ((minor) <= __GNUC_MINOR__))
+#else
+# define _GL_GNUC_PREREQ(major, minor) 0
+#endif
+
+
+/* Define to enable the declarations of ISO C 11 types and functions. */
+/* #undef _ISOC11_SOURCE */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
+
+/* Define to 1 on Solaris. */
+/* #undef _LCONV_C99 */
+
+/* The _Noreturn keyword of C11.  */
+#ifndef _Noreturn
+# if (defined __cplusplus \
+      && ((201103 <= __cplusplus && !(__GNUC__ == 4 && __GNUC_MINOR__ == 7)) \
+          || (defined _MSC_VER && 1900 <= _MSC_VER)) \
+      && 0)
+    /* [[noreturn]] is not practically usable, because with it the syntax
+         extern _Noreturn void func (...);
+       would not be valid; such a declaration would only be valid with 'extern'
+       and '_Noreturn' swapped, or without the 'extern' keyword.  However, some
+       AIX system header files and several gnulib header files use precisely
+       this syntax with 'extern'.  */
+#  define _Noreturn [[noreturn]]
+# elif ((!defined __cplusplus || defined __clang__) \
+        && (201112 <= (defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) \
+            || (!defined __STRICT_ANSI__ \
+                && (_GL_GNUC_PREREQ (4, 7) \
+                    || (defined __apple_build_version__ \
+                        ? 6000000 <= __apple_build_version__ \
+                        : 3 < __clang_major__ + (5 <= __clang_minor__))))))
+   /* _Noreturn works as-is.  */
+# elif _GL_GNUC_PREREQ (2, 8) || defined __clang__ || 0x5110 <= __SUNPRO_C
+#  define _Noreturn __attribute__ ((__noreturn__))
+# elif 1200 <= (defined _MSC_VER ? _MSC_VER : 0)
+#  define _Noreturn __declspec (noreturn)
+# else
+#  define _Noreturn
+# endif
+#endif
+
+
+/* Define to 1 in order to get the POSIX compatible declarations of socket
+   functions. */
+/* #undef _POSIX_PII_SOCKET */
+
+/* Define if you want <regex.h> to include <limits.h>, so that it consistently
+   overrides <limits.h>'s RE_DUP_MAX. */
+#define _REGEX_INCLUDE_LIMITS_H 1
+
+/* Define if you want regoff_t to be at least as wide POSIX requires. */
+#define _REGEX_LARGE_OFFSETS 1
+
+/* Number of bits in a timestamp, on hosts where this is settable. */
+/* #undef _TIME_BITS */
+
+/* For standard stat data types on VMS. */
+#define _USE_STD_STAT 1
+
+#if !defined __MINGW_USE_VC2005_COMPAT && defined __MINGW32__
+# define __MINGW_USE_VC2005_COMPAT 1 /* For 64-bit time_t.  */
+#endif
+
+/* Define to 1 if the system <stdint.h> predates C++11. */
+/* #undef __STDC_CONSTANT_MACROS */
+
+/* Define to 1 if the system <stdint.h> predates C++11. */
+/* #undef __STDC_LIMIT_MACROS */
+
+/* Define to 1 if C does not support variable-length arrays, and if the
+   compiler does not already define this. */
+/* #undef __STDC_NO_VLA__ */
+
+/* The _GL_ASYNC_SAFE marker should be attached to functions that are
+   signal handlers (for signals other than SIGABRT, SIGPIPE) or can be
+   invoked from such signal handlers.  Such functions have some restrictions:
+     * All functions that it calls should be marked _GL_ASYNC_SAFE as well,
+       or should be listed as async-signal-safe in POSIX
+       <https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_04>
+       section 2.4.3.  Note that malloc(), sprintf(), and fwrite(), in
+       particular, are NOT async-signal-safe.
+     * All memory locations (variables and struct fields) that these functions
+       access must be marked 'volatile'.  This holds for both read and write
+       accesses.  Otherwise the compiler might optimize away stores to and
+       reads from such locations that occur in the program, depending on its
+       data flow analysis.  For example, when the program contains a loop
+       that is intended to inspect a variable set from within a signal handler
+           while (!signal_occurred)
+             ;
+       the compiler is allowed to transform this into an endless loop if the
+       variable 'signal_occurred' is not declared 'volatile'.
+   Additionally, recall that:
+     * A signal handler should not modify errno (except if it is a handler
+       for a fatal signal and ends by raising the same signal again, thus
+       provoking the termination of the process).  If it invokes a function
+       that may clobber errno, it needs to save and restore the value of
+       errno.  */
+#define _GL_ASYNC_SAFE
+
+
+/* Attributes.  */
+#if (defined __has_attribute \
+     && (!defined __clang_minor__ \
+         || (defined __apple_build_version__ \
+             ? 6000000 <= __apple_build_version__ \
+             : 3 < __clang_major__ + (5 <= __clang_minor__))))
+# define _GL_HAS_ATTRIBUTE(attr) __has_attribute (__##attr##__)
+#else
+# define _GL_HAS_ATTRIBUTE(attr) _GL_ATTR_##attr
+# define _GL_ATTR_alloc_size _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_always_inline _GL_GNUC_PREREQ (3, 2)
+# define _GL_ATTR_artificial _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_cold _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_const _GL_GNUC_PREREQ (2, 95)
+# define _GL_ATTR_deprecated _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_diagnose_if 0
+# define _GL_ATTR_error _GL_GNUC_PREREQ (4, 3)
+# define _GL_ATTR_externally_visible _GL_GNUC_PREREQ (4, 1)
+# define _GL_ATTR_fallthrough _GL_GNUC_PREREQ (7, 0)
+# define _GL_ATTR_format _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_leaf _GL_GNUC_PREREQ (4, 6)
+# define _GL_ATTR_malloc _GL_GNUC_PREREQ (3, 0)
+# ifdef _ICC
+#  define _GL_ATTR_may_alias 0
+# else
+#  define _GL_ATTR_may_alias _GL_GNUC_PREREQ (3, 3)
+# endif
+# define _GL_ATTR_noinline _GL_GNUC_PREREQ (3, 1)
+# define _GL_ATTR_nonnull _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_nonstring _GL_GNUC_PREREQ (8, 0)
+# define _GL_ATTR_nothrow _GL_GNUC_PREREQ (3, 3)
+# define _GL_ATTR_packed _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_pure _GL_GNUC_PREREQ (2, 96)
+# define _GL_ATTR_returns_nonnull _GL_GNUC_PREREQ (4, 9)
+# define _GL_ATTR_sentinel _GL_GNUC_PREREQ (4, 0)
+# define _GL_ATTR_unused _GL_GNUC_PREREQ (2, 7)
+# define _GL_ATTR_warn_unused_result _GL_GNUC_PREREQ (3, 4)
+#endif
+
+#ifdef __has_c_attribute
+# if ((defined __STDC_VERSION__ ? __STDC_VERSION__ : 0) <= 201710 \
+      && _GL_GNUC_PREREQ (4, 6))
+#  pragma GCC diagnostic ignored "-Wpedantic"
+# endif
+# define _GL_HAS_C_ATTRIBUTE(attr) __has_c_attribute (__##attr##__)
+#else
+# define _GL_HAS_C_ATTRIBUTE(attr) 0
+#endif
+
+
+/* _GL_ATTRIBUTE_ALLOC_SIZE ((N)) declares that the Nth argument of the function
+   is the size of the returned memory block.
+   _GL_ATTRIBUTE_ALLOC_SIZE ((M, N)) declares that the Mth argument multiplied
+   by the Nth argument of the function is the size of the returned memory block.
+ */
+/* Applies to: function, pointer to function, function types.  */
+#if _GL_HAS_ATTRIBUTE (alloc_size)
+# define _GL_ATTRIBUTE_ALLOC_SIZE(args) __attribute__ ((__alloc_size__ args))
+#else
+# define _GL_ATTRIBUTE_ALLOC_SIZE(args)
+#endif
+
+/* _GL_ATTRIBUTE_ALWAYS_INLINE tells that the compiler should always inline the
+   function and report an error if it cannot do so.  */
+/* Applies to: function.  */
+#if _GL_HAS_ATTRIBUTE (always_inline)
+# define _GL_ATTRIBUTE_ALWAYS_INLINE __attribute__ ((__always_inline__))
+#else
+# define _GL_ATTRIBUTE_ALWAYS_INLINE
+#endif
+
+/* _GL_ATTRIBUTE_ARTIFICIAL declares that the function is not important to show
+    in stack traces when debugging.  The compiler should omit the function from
+    stack traces.  */
+/* Applies to: function.  */
+#if _GL_HAS_ATTRIBUTE (artificial)
+# define _GL_ATTRIBUTE_ARTIFICIAL __attribute__ ((__artificial__))
+#else
+# define _GL_ATTRIBUTE_ARTIFICIAL
+#endif
+
+/* _GL_ATTRIBUTE_COLD declares that the function is rarely executed.  */
+/* Applies to: functions.  */
+/* Avoid __attribute__ ((cold)) on MinGW; see thread starting at
+   <https://lists.gnu.org/r/emacs-devel/2019-04/msg01152.html>.
+   Also, Oracle Studio 12.6 requires 'cold' not '__cold__'.  */
+#if _GL_HAS_ATTRIBUTE (cold) && !defined __MINGW32__
+# ifndef __SUNPRO_C
+#  define _GL_ATTRIBUTE_COLD __attribute__ ((__cold__))
+# else
+#  define _GL_ATTRIBUTE_COLD __attribute__ ((cold))
+# endif
+#else
+# define _GL_ATTRIBUTE_COLD
+#endif
+
+/* _GL_ATTRIBUTE_CONST declares that it is OK for a compiler to omit duplicate
+   calls to the function with the same arguments.
+   This attribute is safe for a function that neither depends on nor affects
+   observable state, and always returns exactly once - e.g., does not loop
+   forever, and does not call longjmp.
+   (This attribute is stricter than _GL_ATTRIBUTE_PURE.)  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (const)
+# define _GL_ATTRIBUTE_CONST __attribute__ ((__const__))
+#else
+# define _GL_ATTRIBUTE_CONST
+#endif
+
+/* _GL_ATTRIBUTE_DEALLOC (F, I) declares that the function returns pointers
+   that can be freed by passing them as the Ith argument to the
+   function F.
+   _GL_ATTRIBUTE_DEALLOC_FREE declares that the function returns pointers that
+   can be freed via 'free'; it can be used only after declaring 'free'.  */
+/* Applies to: functions.  Cannot be used on inline functions.  */
+#if _GL_GNUC_PREREQ (11, 0)
+# define _GL_ATTRIBUTE_DEALLOC(f, i) __attribute__ ((__malloc__ (f, i)))
+#else
+# define _GL_ATTRIBUTE_DEALLOC(f, i)
+#endif
+/* If gnulib's <string.h> or <wchar.h> has already defined this macro, continue
+   to use this earlier definition, since <stdlib.h> may not have been included
+   yet.  */
+#ifndef _GL_ATTRIBUTE_DEALLOC_FREE
+# define _GL_ATTRIBUTE_DEALLOC_FREE _GL_ATTRIBUTE_DEALLOC (free, 1)
+#endif
+
+/* _GL_ATTRIBUTE_DEPRECATED: Declares that an entity is deprecated.
+   The compiler may warn if the entity is used.  */
+/* Applies to:
+     - function, variable,
+     - struct, union, struct/union member,
+     - enumeration, enumeration item,
+     - typedef,
+   in C++ also: namespace, class, template specialization.  */
+#if _GL_HAS_C_ATTRIBUTE (deprecated)
+# define _GL_ATTRIBUTE_DEPRECATED [[__deprecated__]]
+#elif _GL_HAS_ATTRIBUTE (deprecated)
+# define _GL_ATTRIBUTE_DEPRECATED __attribute__ ((__deprecated__))
+#else
+# define _GL_ATTRIBUTE_DEPRECATED
+#endif
+
+/* _GL_ATTRIBUTE_ERROR(msg) requests an error if a function is called and
+   the function call is not optimized away.
+   _GL_ATTRIBUTE_WARNING(msg) requests a warning if a function is called and
+   the function call is not optimized away.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (error)
+# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__error__ (msg)))
+# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__warning__ (msg)))
+#elif _GL_HAS_ATTRIBUTE (diagnose_if)
+# define _GL_ATTRIBUTE_ERROR(msg) __attribute__ ((__diagnose_if__ (1, msg, "error")))
+# define _GL_ATTRIBUTE_WARNING(msg) __attribute__ ((__diagnose_if__ (1, msg, "warning")))
+#else
+# define _GL_ATTRIBUTE_ERROR(msg)
+# define _GL_ATTRIBUTE_WARNING(msg)
+#endif
+
+/* _GL_ATTRIBUTE_EXTERNALLY_VISIBLE declares that the entity should remain
+   visible to debuggers etc., even with '-fwhole-program'.  */
+/* Applies to: functions, variables.  */
+#if _GL_HAS_ATTRIBUTE (externally_visible)
+# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible))
+#else
+# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
+#endif
+
+/* _GL_ATTRIBUTE_FALLTHROUGH declares that it is not a programming mistake if
+   the control flow falls through to the immediately following 'case' or
+   'default' label.  The compiler should not warn in this case.  */
+/* Applies to: Empty statement (;), inside a 'switch' statement.  */
+/* Always expands to something.  */
+#if _GL_HAS_C_ATTRIBUTE (fallthrough)
+# define _GL_ATTRIBUTE_FALLTHROUGH [[__fallthrough__]]
+#elif _GL_HAS_ATTRIBUTE (fallthrough)
+# define _GL_ATTRIBUTE_FALLTHROUGH __attribute__ ((__fallthrough__))
+#else
+# define _GL_ATTRIBUTE_FALLTHROUGH ((void) 0)
+#endif
+
+/* _GL_ATTRIBUTE_FORMAT ((ARCHETYPE, STRING-INDEX, FIRST-TO-CHECK))
+   declares that the STRING-INDEXth function argument is a format string of
+   style ARCHETYPE, which is one of:
+     printf, gnu_printf
+     scanf, gnu_scanf,
+     strftime, gnu_strftime,
+     strfmon,
+   or the same thing prefixed and suffixed with '__'.
+   If FIRST-TO-CHECK is not 0, arguments starting at FIRST-TO_CHECK
+   are suitable for the format string.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (format)
+# define _GL_ATTRIBUTE_FORMAT(spec) __attribute__ ((__format__ spec))
+#else
+# define _GL_ATTRIBUTE_FORMAT(spec)
+#endif
+
+/* _GL_ATTRIBUTE_LEAF declares that if the function is called from some other
+   compilation unit, it executes code from that unit only by return or by
+   exception handling.  This declaration lets the compiler optimize that unit
+   more aggressively.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (leaf)
+# define _GL_ATTRIBUTE_LEAF __attribute__ ((__leaf__))
+#else
+# define _GL_ATTRIBUTE_LEAF
+#endif
+
+/* _GL_ATTRIBUTE_MALLOC declares that the function returns a pointer to freshly
+   allocated memory.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (malloc)
+# define _GL_ATTRIBUTE_MALLOC __attribute__ ((__malloc__))
+#else
+# define _GL_ATTRIBUTE_MALLOC
+#endif
+
+/* _GL_ATTRIBUTE_MAY_ALIAS declares that pointers to the type may point to the
+   same storage as pointers to other types.  Thus this declaration disables
+   strict aliasing optimization.  */
+/* Applies to: types.  */
+/* Oracle Studio 12.6 mishandles may_alias despite __has_attribute OK.  */
+#if _GL_HAS_ATTRIBUTE (may_alias) && !defined __SUNPRO_C
+# define _GL_ATTRIBUTE_MAY_ALIAS __attribute__ ((__may_alias__))
+#else
+# define _GL_ATTRIBUTE_MAY_ALIAS
+#endif
+
+/* _GL_ATTRIBUTE_MAYBE_UNUSED declares that it is not a programming mistake if
+   the entity is not used.  The compiler should not warn if the entity is not
+   used.  */
+/* Applies to:
+     - function, variable,
+     - struct, union, struct/union member,
+     - enumeration, enumeration item,
+     - typedef,
+   in C++ also: class.  */
+/* In C++ and C2x, this is spelled [[__maybe_unused__]].
+   GCC's syntax is __attribute__ ((__unused__)).
+   clang supports both syntaxes.  */
+#if _GL_HAS_C_ATTRIBUTE (maybe_unused)
+# define _GL_ATTRIBUTE_MAYBE_UNUSED [[__maybe_unused__]]
+#else
+# define _GL_ATTRIBUTE_MAYBE_UNUSED _GL_ATTRIBUTE_UNUSED
+#endif
+/* Alternative spelling of this macro, for convenience and for
+   compatibility with glibc/include/libc-symbols.h.  */
+#define _GL_UNUSED _GL_ATTRIBUTE_MAYBE_UNUSED
+/* Earlier spellings of this macro.  */
+#define _UNUSED_PARAMETER_ _GL_ATTRIBUTE_MAYBE_UNUSED
+
+/* _GL_ATTRIBUTE_NODISCARD declares that the caller of the function should not
+   discard the return value.  The compiler may warn if the caller does not use
+   the return value, unless the caller uses something like ignore_value.  */
+/* Applies to: function, enumeration, class.  */
+#if _GL_HAS_C_ATTRIBUTE (nodiscard)
+# define _GL_ATTRIBUTE_NODISCARD [[__nodiscard__]]
+#elif _GL_HAS_ATTRIBUTE (warn_unused_result)
+# define _GL_ATTRIBUTE_NODISCARD __attribute__ ((__warn_unused_result__))
+#else
+# define _GL_ATTRIBUTE_NODISCARD
+#endif
+
+/* _GL_ATTRIBUTE_NOINLINE tells that the compiler should not inline the
+   function.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (noinline)
+# define _GL_ATTRIBUTE_NOINLINE __attribute__ ((__noinline__))
+#else
+# define _GL_ATTRIBUTE_NOINLINE
+#endif
+
+/* _GL_ATTRIBUTE_NONNULL ((N1, N2,...)) declares that the arguments N1, N2,...
+   must not be NULL.
+   _GL_ATTRIBUTE_NONNULL () declares that all pointer arguments must not be
+   null.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (nonnull)
+# define _GL_ATTRIBUTE_NONNULL(args) __attribute__ ((__nonnull__ args))
+#else
+# define _GL_ATTRIBUTE_NONNULL(args)
+#endif
+
+/* _GL_ATTRIBUTE_NONSTRING declares that the contents of a character array is
+   not meant to be NUL-terminated.  */
+/* Applies to: struct/union members and variables that are arrays of element
+   type '[[un]signed] char'.  */
+#if _GL_HAS_ATTRIBUTE (nonstring)
+# define _GL_ATTRIBUTE_NONSTRING __attribute__ ((__nonstring__))
+#else
+# define _GL_ATTRIBUTE_NONSTRING
+#endif
+
+/* There is no _GL_ATTRIBUTE_NORETURN; use _Noreturn instead.  */
+
+/* _GL_ATTRIBUTE_NOTHROW declares that the function does not throw exceptions.
+ */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (nothrow) && !defined __cplusplus
+# define _GL_ATTRIBUTE_NOTHROW __attribute__ ((__nothrow__))
+#else
+# define _GL_ATTRIBUTE_NOTHROW
+#endif
+
+/* _GL_ATTRIBUTE_PACKED declares:
+   For struct members: The member has the smallest possible alignment.
+   For struct, union, class: All members have the smallest possible alignment,
+   minimizing the memory required.  */
+/* Applies to: struct members, struct, union,
+   in C++ also: class.  */
+#if _GL_HAS_ATTRIBUTE (packed)
+# define _GL_ATTRIBUTE_PACKED __attribute__ ((__packed__))
+#else
+# define _GL_ATTRIBUTE_PACKED
+#endif
+
+/* _GL_ATTRIBUTE_PURE declares that It is OK for a compiler to omit duplicate
+   calls to the function with the same arguments if observable state is not
+   changed between calls.
+   This attribute is safe for a function that does not affect
+   observable state, and always returns exactly once.
+   (This attribute is looser than _GL_ATTRIBUTE_CONST.)  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (pure)
+# define _GL_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+# define _GL_ATTRIBUTE_PURE
+#endif
+
+/* _GL_ATTRIBUTE_RETURNS_NONNULL declares that the function's return value is
+   a non-NULL pointer.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (returns_nonnull)
+# define _GL_ATTRIBUTE_RETURNS_NONNULL __attribute__ ((__returns_nonnull__))
+#else
+# define _GL_ATTRIBUTE_RETURNS_NONNULL
+#endif
+
+/* _GL_ATTRIBUTE_SENTINEL(pos) declares that the variadic function expects a
+   trailing NULL argument.
+   _GL_ATTRIBUTE_SENTINEL () - The last argument is NULL (requires C99).
+   _GL_ATTRIBUTE_SENTINEL ((N)) - The (N+1)st argument from the end is NULL.  */
+/* Applies to: functions.  */
+#if _GL_HAS_ATTRIBUTE (sentinel)
+# define _GL_ATTRIBUTE_SENTINEL(pos) __attribute__ ((__sentinel__ pos))
+#else
+# define _GL_ATTRIBUTE_SENTINEL(pos)
+#endif
+
+/* A helper macro.  Don't use it directly.  */
+#if _GL_HAS_ATTRIBUTE (unused)
+# define _GL_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
+#else
+# define _GL_ATTRIBUTE_UNUSED
+#endif
+
+
+/* _GL_UNUSED_LABEL; declares that it is not a programming mistake if the
+   immediately preceding label is not used.  The compiler should not warn
+   if the label is not used.  */
+/* Applies to: label (both in C and C++).  */
+/* Note that g++ < 4.5 does not support the '__attribute__ ((__unused__)) ;'
+   syntax.  But clang does.  */
+#if !(defined __cplusplus && !_GL_GNUC_PREREQ (4, 5)) || defined __clang__
+# define _GL_UNUSED_LABEL _GL_ATTRIBUTE_UNUSED
+#else
+# define _GL_UNUSED_LABEL
+#endif
+
+
+/* Define to empty if 'const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Always use our fgetfilecon wrapper. */
+/* #undef fgetfilecon */
+
+/* Always use our getfilecon wrapper. */
+/* #undef getfilecon */
+
+/* Define to 'int' if <sys/types.h> doesn't define. */
+/* #undef gid_t */
+
+/* A replacement for va_copy, if needed.  */
+#define gl_va_copy(a,b) ((a) = (b))
+
+/* Define to '__inline__' or '__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+/* #undef inline */
+#endif
+
+/* Work around a bug in Apple GCC 4.0.1 build 5465: In C99 mode, it supports
+   the ISO C 99 semantics of 'extern inline' (unlike the GNU C semantics of
+   earlier versions), but does not display it by setting __GNUC_STDC_INLINE__.
+   __APPLE__ && __MACH__ test for Mac OS X.
+   __APPLE_CC__ tests for the Apple compiler and its version.
+   __STDC_VERSION__ tests for the C99 mode.  */
+#if defined __APPLE__ && defined __MACH__ && __APPLE_CC__ >= 5465 && !defined __cplusplus && __STDC_VERSION__ >= 199901L && !defined __GNUC_STDC_INLINE__
+# define __GNUC_STDC_INLINE__ 1
+#endif
+
+/* Always use our lgetfilecon wrapper. */
+/* #undef lgetfilecon */
+
+/* Define to 1 if the compiler is checking for lint. */
+/* #undef lint */
+
+/* Define to a type if <wchar.h> does not define. */
+/* #undef mbstate_t */
+
+/* _GL_CMP (n1, n2) performs a three-valued comparison on n1 vs. n2, where
+   n1 and n2 are expressions without side effects, that evaluate to real
+   numbers (excluding NaN).
+   It returns
+     1  if n1 > n2
+     0  if n1 == n2
+     -1 if n1 < n2
+   The naïve code   (n1 > n2 ? 1 : n1 < n2 ? -1 : 0)  produces a conditional
+   jump with nearly all GCC versions up to GCC 10.
+   This variant     (n1 < n2 ? -1 : n1 > n2)  produces a conditional with many
+   GCC versions up to GCC 9.
+   The better code  (n1 > n2) - (n1 < n2)  from Hacker's Delight § 2-9
+   avoids conditional jumps in all GCC versions >= 3.4.  */
+#define _GL_CMP(n1, n2) (((n1) > (n2)) - ((n1) < (n2)))
+
+
+/* Define to 'int' if <sys/types.h> does not define. */
+/* #undef mode_t */
+
+/* Define to the type of st_nlink in struct stat, or a supertype. */
+/* #undef nlink_t */
+
+/* Define as a signed integer type capable of holding a process identifier. */
+/* #undef pid_t */
+
+/* Define to rpl_re_comp if the replacement should be used. */
+#define re_comp rpl_re_comp
+
+/* Define to rpl_re_compile_fastmap if the replacement should be used. */
+#define re_compile_fastmap rpl_re_compile_fastmap
+
+/* Define to rpl_re_compile_pattern if the replacement should be used. */
+#define re_compile_pattern rpl_re_compile_pattern
+
+/* Define to rpl_re_exec if the replacement should be used. */
+#define re_exec rpl_re_exec
+
+/* Define to rpl_re_match if the replacement should be used. */
+#define re_match rpl_re_match
+
+/* Define to rpl_re_match_2 if the replacement should be used. */
+#define re_match_2 rpl_re_match_2
+
+/* Define to rpl_re_search if the replacement should be used. */
+#define re_search rpl_re_search
+
+/* Define to rpl_re_search_2 if the replacement should be used. */
+#define re_search_2 rpl_re_search_2
+
+/* Define to rpl_re_set_registers if the replacement should be used. */
+#define re_set_registers rpl_re_set_registers
+
+/* Define to rpl_re_set_syntax if the replacement should be used. */
+#define re_set_syntax rpl_re_set_syntax
+
+/* Define to rpl_re_syntax_options if the replacement should be used. */
+#define re_syntax_options rpl_re_syntax_options
+
+/* Define to rpl_regcomp if the replacement should be used. */
+#define regcomp rpl_regcomp
+
+/* Define to rpl_regerror if the replacement should be used. */
+#define regerror rpl_regerror
+
+/* Define to rpl_regexec if the replacement should be used. */
+#define regexec rpl_regexec
+
+/* Define to rpl_regfree if the replacement should be used. */
+#define regfree rpl_regfree
+
+/* Define to the equivalent of the C99 'restrict' keyword, or to
+   nothing if this is not supported.  Do not define if restrict is
+   supported only directly.  */
+#define restrict __restrict__
+/* Work around a bug in older versions of Sun C++, which did not
+   #define __restrict__ or support _Restrict or __restrict__
+   even though the corresponding Sun C compiler ended up with
+   "#define restrict _Restrict" or "#define restrict __restrict__"
+   in the previous line.  This workaround can be removed once
+   we assume Oracle Developer Studio 12.5 (2016) or later.  */
+#if defined __SUNPRO_CC && !defined __RESTRICT && !defined __restrict__
+# define _Restrict
+# define __restrict__
+#endif
+
+/* Define to 'unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
+
+/* type to use in place of socklen_t if not defined */
+/* #undef socklen_t */
+
+/* Define as a signed type of the same size as size_t. */
+/* #undef ssize_t */
+
+/* Define to 'int' if <sys/types.h> doesn't define. */
+/* #undef uid_t */
+
+/* Define as a macro for copying va_list variables. */
+/* #undef va_copy */
+
+#if !defined HAVE_C_ALIGNASOF && __cplusplus < 201103 && !defined alignof
+# if HAVE_STDALIGN_H
+#  include <stdalign.h>
+# else
+   /* Substitute.  Keep consistent with gnulib/lib/stdalign.in.h.  */
+#  ifndef _GL_STDALIGN_H
+#   define _GL_STDALIGN_H
+/* #   undef _Alignas */
+/* #   undef _Alignof */
+#   if (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112 \
+        || (defined __GNUC__ && __GNUC__ < 4 + (__GNUC_MINOR__ < 9) \
+            && !defined __clang__) \
+        || (defined __clang__ && __clang_major__ < 8))
+#    ifdef __cplusplus
+#     if (201103 <= __cplusplus || defined _MSC_VER)
+#      define _Alignof(type) alignof (type)
+#     else
+       template <class __t> struct __alignof_helper { char __a; __t __b; };
+#      define _Alignof(type) offsetof (__alignof_helper<type>, __b)
+#      define _GL_STDALIGN_NEEDS_STDDEF 1
+#     endif
+#    else
+#     define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
+#     define _GL_STDALIGN_NEEDS_STDDEF 1
+#    endif
+#   endif
+#   if ! (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))
+#    define alignof _Alignof
+#   endif
+#   define __alignof_is_defined 1
+#   if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112
+#    if defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)
+#     define _Alignas(a) alignas (a)
+#    elif (!defined __attribute__ \
+           && ((defined __APPLE__ && defined __MACH__ \
+                ? 4 < __GNUC__ + (1 <= __GNUC_MINOR__) \
+                : __GNUC__ && !defined __ibmxl__) \
+               || (4 <= __clang_major__) \
+               || (__ia64 && (61200 <= __HP_cc || 61200 <= __HP_aCC)) \
+               || __ICC || 0x590 <= __SUNPRO_C || 0x0600 <= __xlC__))
+#     define _Alignas(a) __attribute__ ((__aligned__ (a)))
+#    elif 1300 <= _MSC_VER
+#     define _Alignas(a) __declspec (align (a))
+#    endif
+#   endif
+#   if ((defined _Alignas \
+         && !(defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER))) \
+        || (defined __STDC_VERSION__ && 201112 <= __STDC_VERSION__))
+#    define alignas _Alignas
+#   endif
+#   if (defined alignas \
+        || (defined __cplusplus && (201103 <= __cplusplus || defined _MSC_VER)))
+#    define __alignas_is_defined 1
+#   endif
+#   if _GL_STDALIGN_NEEDS_STDDEF
+#    include <stddef.h>
+#   endif
+#  endif /* _GL_STDALIGN_H */
+# endif
+#endif
+
+#ifndef HAVE_C_BOOL
+# if !defined __cplusplus && !defined __bool_true_false_are_defined
+#  if HAVE_STDBOOL_H
+#   include <stdbool.h>
+#  else
+#   if defined __SUNPRO_C
+#    error "<stdbool.h> is not usable with this configuration. To make it usable, add -D_STDC_C99= to $CC."
+#   else
+#    error "<stdbool.h> does not exist on this platform. Use gnulib module 'stdbool-c99' instead of gnulib module 'stdbool'."
+#   endif
+#  endif
+# endif
+# if !true
+#  define true (!false)
+# endif
+#endif
+
+#if (!defined HAVE_C_STATIC_ASSERT && !defined assert \
+     && (!defined __cplusplus \
+         || (__cpp_static_assert < 201411 \
+             && __GNUG__ < 6 && __clang_major__ < 6)))
+ #include <assert.h>
+ #undef/**/assert
+ /* Solaris 11.4 <assert.h> defines static_assert as a macro with 2 arguments.
+    We need it also to be invocable with a single argument.  */
+ #if defined __sun && (__STDC_VERSION__ - 0 >= 201112L) && !defined __cplusplus
+/*   #undef static_assert */
+  #define static_assert _Static_assert
+ #endif
+#endif
diff --git a/modules/sed/4.9.bcr.3/overlay/inline.bat b/modules/sed/4.9.bcr.3/overlay/inline.bat
new file mode 100755
index 0000000..77c116e
--- /dev/null
+++ b/modules/sed/4.9.bcr.3/overlay/inline.bat
@@ -0,0 +1,51 @@
+@echo off
+@REM For details see `inline.sh`
+
+setlocal enabledelayedexpansion
+
+set "INPUT_FILE=%~1"
+set "OUTPUT_FILE=%~2"
+shift
+shift
+
+:: Load insert contents and match strings
+set "COUNT=0"
+:load_pairs
+if "%~1"=="" goto done_loading
+
+set "INSERT_FILE_%COUNT%=%~1"
+shift
+set "MATCH_STRING_%COUNT%=%~1"
+shift
+
+set "INSERT_CONTENT_%COUNT%="
+for /f "usebackq delims=" %%A in ("!INSERT_FILE_%COUNT%!") do (
+    set "INSERT_CONTENT_%COUNT%=!INSERT_CONTENT_%COUNT%!%%A
+"
+)
+
+set /a COUNT+=1
+goto load_pairs
+:done_loading
+
+:: Process input file
+> "%OUTPUT_FILE%" (
+    for /f "usebackq delims=" %%L in ("%INPUT_FILE%") do (
+        set "LINE=%%L"
+        echo(%%L
+
+        set /a I=0
+        :match_loop
+        if "!I!"=="%COUNT%" goto match_done
+
+        if not "!LINE:!MATCH_STRING_!I!!=!"=="!LINE!" (
+            echo(!INSERT_CONTENT_!I!!
+        )
+
+        set /a I+=1
+        goto match_loop
+        :match_done
+    )
+)
+
+endlocal
diff --git a/modules/sed/4.9.bcr.3/overlay/inline.sh b/modules/sed/4.9.bcr.3/overlay/inline.sh
new file mode 100755
index 0000000..1900fde
--- /dev/null
+++ b/modules/sed/4.9.bcr.3/overlay/inline.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+#
+# This script copies an input file to an output file, line by line.
+#
+# After writing each line, it checks if the line contains any of a list of match strings.
+# For each match string found in the line, it inserts the content of the corresponding insert file.
+#
+# Arguments:
+#   1. Input file path
+#   2. Output file path
+#   3+. Alternating list of insert file paths and match strings:
+#        (Insert file 1) (Match string 1) (Insert file 2) (Match string 2) ...
+#
+# Example usage:
+#   ./insert_script.sh input.txt output.txt insert1.txt "MATCH1" insert2.txt "MATCH2"
+#
+# Notes:
+# - Each insert file is paired with a match string by their order in the arguments.
+# - Multiple insertions can occur after the same line if multiple match strings match.
+# - Inserted content is loaded into memory at startup for faster processing.
+
+INPUT_FILE="$1"
+OUTPUT_FILE="$2"
+shift 2  # Shift away input and output filenames
+
+# Remaining arguments are alternating INSERT_FILE and MATCH_STRING
+INSERT_FILES=()
+MATCH_STRINGS=()
+
+while [[ $# -gt 0 ]]; do
+    INSERT_FILES+=("$1")
+    MATCH_STRINGS+=("$2")
+    shift 2
+done
+
+# Preload all insert files
+INSERT_CONTENTS=()
+for insert_file in "${INSERT_FILES[@]}"; do
+    INSERT_CONTENTS+=("$(<"$insert_file")")
+done
+
+while IFS= read -r line || [ -n "$line" ]; do
+    echo "$line" >> "$OUTPUT_FILE"
+    for i in "${!MATCH_STRINGS[@]}"; do
+        if [[ "$line" == *"${MATCH_STRINGS[$i]}"* ]]; then
+            printf '%s\n' "${INSERT_CONTENTS[$i]}" >> "$OUTPUT_FILE"
+        fi
+    done
+done < "$INPUT_FILE"
diff --git a/modules/sed/4.9.bcr.3/presubmit.yml b/modules/sed/4.9.bcr.3/presubmit.yml
new file mode 100644
index 0000000..2b1096f
--- /dev/null
+++ b/modules/sed/4.9.bcr.3/presubmit.yml
@@ -0,0 +1,20 @@
+matrix:
+  platform:
+  - debian10
+  - debian11
+  - ubuntu2004
+  - ubuntu2004_arm64
+  - ubuntu2204
+  - ubuntu2404
+  - macos
+  - macos_arm64
+  bazel: [7.x, 8.x]
+tasks:
+  verify_targets:
+    name: Verify build targets
+    platform: ${{ platform }}
+    bazel: ${{ bazel }}
+    build_targets:
+    - '@sed//...'
+    test_targets:
+    - '@sed//...'
diff --git a/modules/sed/4.9.bcr.3/source.json b/modules/sed/4.9.bcr.3/source.json
new file mode 100644
index 0000000..e075dfc
--- /dev/null
+++ b/modules/sed/4.9.bcr.3/source.json
@@ -0,0 +1,19 @@
+{
+    "url": "https://mirrors.kernel.org/gnu/sed/sed-4.9.tar.xz",
+    "mirror_urls": [
+        "https://ftp.gnu.org/gnu/sed/sed-4.9.tar.xz",
+        "https://ftpmirror.gnu.org/gnu/sed/sed-4.9.tar.xz"
+    ],
+    "strip_prefix": "sed-4.9",
+    "integrity": "sha256-biJrcy4c1zlGStaGK9Ghq6QteYKSLaelNRljHSSXUYE=",
+    "overlay": {
+        "BUILD.bazel": "sha256-Ur4YaAYRgIHuwPRbuCUnSC00Fbg4xl7lrod3qBtLdrM=",
+        "MODULE.bazel": "sha256-OspFiVuFtu9lNmzBKkUhe6aHD4kx0tYuCcmcdy2XNqs=",
+        "config_linux.bzl": "sha256-7dEpcfAOugzIGajtBxsS/ngUD7n1kyiJM73jvMyTPLs=",
+        "config_linux.h": "sha256-OAvTcUHL6NowD7QzScKoYFe4yc/9TGxpTefN+y5ZgCo=",
+        "config_macos.bzl": "sha256-SivQ5Acbv7BTCdBCUQW76nd+B+rQhuTIiduAVHDt4ss=",
+        "config_macos.h": "sha256-hwIoySbB3TFUhTID8+hVfmNWkSOCqkjOD8+o/B/gu6o=",
+        "inline.bat": "sha256-dji4x6qxHQahbkHxceyCT65YgmGSZXDulYpAyvx/Q8E=",
+        "inline.sh": "sha256-SHLzZs0hr4OrjmhoGdeT3PEibH0X23Xz/BB4yxGfCvs="
+    }
+}
diff --git a/modules/sed/metadata.json b/modules/sed/metadata.json
index 02f4885..e38ca8e 100644
--- a/modules/sed/metadata.json
+++ b/modules/sed/metadata.json
@@ -9,12 +9,15 @@
         }
     ],
     "repository": [
-        "https://ftp.gnu.org/gnu/sed/"
+        "https://ftp.gnu.org/gnu/sed/",
+        "https://ftpmirror.gnu.org/gnu/sed/",
+        "https://mirrors.kernel.org/gnu/sed/"
     ],
     "versions": [
         "4.9",
         "4.9.bcr.1",
-        "4.9.bcr.2"
+        "4.9.bcr.2",
+        "4.9.bcr.3"
     ],
     "yanked_versions": {}
 }