emacs/msdos/sedlibmk.inp

548 lines
21 KiB
Plaintext

# -sedlibmk.inp-----------------------------------------------------------
# Configuration script for lib/Makefile under DJGPP v2.x
# ----------------------------------------------------------------------
#
# Copyright (C) 2011-2024 Free Software Foundation, Inc.
#
# This file is part of GNU Emacs.
#
# This file is free software; as a special exception, the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# ----------------------------------------------------------------------
#
# Checklist to add a new gnulib module:
#
# . If a module appears in gnulib.mk.in that is not required for the
# MSDOS build, disable its building by setting the corresponding
# OMIT_GNULIB_MODULE_foo variable to true.
#
# . If the module defines functions that need to replace DJGPP
# functions, edit the appropriate REPLACE_foo variables to 1:
#
# /^REPLACE_CALLOC *=/s/@REPLACE_CALLOC@/1/
#
# Note that this file already has a command to edit all the
# REPLACE_foo variables to zero, so if some gnulib replacement
# function is ever needed, the corresponding editing command such
# as above should be placed before that catchall rule (search for
# "REPLACE_" below).
#
# . If the module generates a header from a .in.h file, edit the
# corresponding variable to either an empty value or to the name of
# the header. Examples:
#
# /^STDINT_H *=/s/@[^@\n]*@/stdint.h/ -- stdint.h is needed
# /^STDDEF_H *=/s/@[^@\n]*@// -- stddef.h is not needed
#
# . Some of the headers are generated conditionally, and the
# corresponding recipes are guarded by
# ifneq (,$(GL_GENERATE_xxxx_H))
# Depending on whether DJGPP uses the corresponding header, these
# should be edited either to 1 (thus exposing the recipe) or
# to nothing, which makes Make bypass the recipe away. Example:
#
# s/^@GL_GENERATE_STDBOOL_H@/1/
# s/^@GL_GENERATE_STDINT_H@//
#
# . Also edit the NEXT_foo_H and NEXT_AS_FIRST_DIRECTIVE_foo_H
# variables as appropriately: to an empty value if the gnulib
# header is not used, and to the corresponding DJGPP header name
# otherwise. Examples:
#
# /^NEXT_STDDEF_H *=/s/@[^@\n]*@//
# /^NEXT_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/
# /^NEXT_AS_FIRST_DIRECTIVE_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/
# /^NEXT_AS_FIRST_DIRECTIVE_STDDEF_H *=/s/@[^@\n]*@//
#
# . Note that some gnulib headers cannot be left unused: those for
# which there's no corresponding foo_H variable in
# lib/Makefile.in (example: stdio.h). For these the "not
# needed" path is not applicable.
#
# . If the header is needed, edit all the variables it uses as
# appropriate. In general, if DJGPP has the corresponding feature,
# the value of the corresponding HAVE_foo should be set to what
# DJGPP has, and the corresponding GNULIB_foo variable should be
# edited to zero. If the feature is not available, the HAVE_foo
# variable should be edited to zero and the corresponding
# GNULIB_foo variable should be edited to 1 if the gnulib
# replacement can work for DJGPP (a rare phenomenon), zero
# otherwise. Note that by default all HAVE_foo and GNULIB_foo
# variables that don't have a specific editing rule will be edited
# to zero.
#
# . Some gnulib header files have more complex recipes in
# msdos/autogen/Makefile.in than others. The tell-tale sign of
# such a recipe is that the input redirection from the .in.h file
# is not present at the end of the command, like this:
#
# -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
# } > $@-t && \
# mv $@-t $@
#
# as opposed to this:
#
# -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
# < $(srcdir)/sys_stat.in.h; \
# } > $@-t && \
# mv $@-t $@
#
# For those recipes that do _not_ have redirection at the end of
# the command, add a block of Sed commands like this:
#
# /^stdio\.h:/,/^ [ ]*mv /{
# s/'\; \\ *$/' >> $@-t/
# }
#
# There's also a 3rd variety of script, which ends like this:
#
# -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)'; \
# < $(srcdir)/string.in.h; \
# } > $@-t && \
# mv $@-t $@
#
# For these, you will need Sed commands like those used for
# string.h, see below.
#
# . If the recipe for generating a header file uses 'cat', replace it with
#
# sed -e ''
#
# (if needed; there's already an edit command that should take care of
# this).
#
# The following Awk script is useful for editing portions of
# msdos/autogen/Makefile.in into Sed commands that define the
# corresponding variables to zero (which is what is required in the
# absolute majority of cases):
#
# { printf "/^%s *=/s/%s/0/\n",$1,$3}
#
# ----------------------------------------------------------------------
# Replace @..@ constants.
/^\# @configure_input@/s!@configure_input@!lib/Makefile. Generated from Makefile.in by config.bat!
/^@SET_MAKE@$/s/@SET_MAKE@//
/^VPATH *=/s/@[^@\n]*@/./
s/@PACKAGE@/emacs/
/^@BUILDING_FOR_WINDOWSNT_TRUE@/s/@[^@\n]*@/#/
/^@BUILDING_FOR_WINDOWSNT_FALSE@/s/@[^@\n]*@//
/^ALLOCA *=/s/@[^@\n]*@//
/^ALSA_CFLAGS *=/s/@[^@\n]*@//
/^ALSA_LIBS *=/s/@[^@\n]*@//
/^AR *=/s/@[^@\n]*@/ar/
/^ARFLAGS *=/s/@[^@\n]*@/cru/
/^AWK *=/s/@[^@\n]*@/gawk/
/^AUTO_DEPEND *=/s/@AUTO_DEPEND@/yes/
/^CANNOT_DUMP *=/s/@[^@\n]*@/no/
/^CC *=/s/@[^@\n]*@/gcc -std=gnu99/
/^CPP *=/s/@[^@\n]*@/gcc -e/
/^CPPFLAGS *=/s/@[^@\n]*@//
/^CCDEPMODE *=/s/@[^@\n]*@/depmode=gcc3/
/^CFLAGS *=/s/@[^@\n]*@/-g -O2 -I$\(srcdir\)\/..\/msdos/
/^CYGPATH_W *=/s/@[^@\n]*@//
/^CYGWIN_OBJ *=/s/@[^@\n]*@//
/^C_SWITCH_MACHINE *=/s/@C_SWITCH_MACHINE@//
/^C_SWITCH_SYSTEM *=/s/@C_SWITCH_SYSTEM@//
/^GNUSTEP_CFLAGS *=/s/@GNUSTEP_CFLAGS@//
/^C_SWITCH_X_SITE *=/s/@C_SWITCH_X_SITE@//
/^PROFILING_CFLAGS *=/s/@PROFILING_CFLAGS@//
/^GNULIB_WARN_CFLAGS *=/s/@GNULIB_WARN_CFLAGS@//
/^HYBRID_MALLOC *=/s/@HYBRID_MALLOC@//
/^WARN_CFLAGS *=/s/@WARN_CFLAGS@//
/^WERROR_CFLAGS *=/s/@WERROR_CFLAGS@//
/^ANDROID_BUILD_CFLAGS *=/s/@ANDROID_BUILD_CFLAGS@//
/^DEFS *=/s/@[^@\n]*@//
/^DEPDIR *=/s/@[^@\n]*@/deps/
/^ECHO_N *=/s/@[^@\n]*@/-n/
/^EXEEXT *=/s/@[^@\n]*@/.exe/
/^EXECINFO_H *=/s/@[^@\n]*@/execinfo.h/
/^GETOPT_H *=/s/@[^@\n]*@/getopt.h/
#
# Gnulib stuff
/^BITSIZEOF_PTRDIFF_T *=/s/@BITSIZEOF_PTRDIFF_T@/32/
/^BITSIZEOF_SIG_ATOMIC_T *=/s/@BITSIZEOF_SIG_ATOMIC_T@/32/
/^BITSIZEOF_SIZE_T *=/s/@BITSIZEOF_SIZE_T@/32/
/^BITSIZEOF_WCHAR_T *=/s/@BITSIZEOF_WCHAR_T@/16/
/^BITSIZEOF_WINT_T *=/s/@BITSIZEOF_WINT_T@/32/
/^APPLE_UNIVERSAL_BUILD *=/s/@APPLE_UNIVERSAL_BUILD@/0/
# Most GL_GNULIB_* are replaced with zero even though DJGPP does not
# have these features. That's because the gnulib replacements cannot
# possibly work for DJGPP, so we prefer to fail the link than have a
# subtly botched executable. Those replacements that _are_ needed
# should be before the last catch-all rule.
/^GL_GNULIB_ATOLL *=/s/@GL_GNULIB_ATOLL@/1/
/^GL_GNULIB_DUP3 *=/s/@GL_GNULIB_DUP3@/1/
/^GL_GNULIB_ENVIRON *=/s/@GL_GNULIB_ENVIRON@/1/
/^GL_GNULIB_FDATASYNC *=/s/@GL_GNULIB_FDATASYNC@/1/
/^GL_GNULIB_GETLOADAVG *=/s/@GL_GNULIB_GETLOADAVG@/1/
/^GL_GNULIB_GETRANDOM *=/s/@GL_GNULIB_GETRANDOM@/1/
/^GL_GNULIB_UNISTD_H_GETOPT *=/s/@GL_GNULIB_UNISTD_H_GETOPT@/1/
/^GL_GNULIB_LCHMOD *=/s/@GL_GNULIB_LCHMOD@/1/
/^GL_GNULIB_MEMMEM *=/s/@GL_GNULIB_MEMMEM@/1/
/^GL_GNULIB_MEMRCHR *=/s/@GL_GNULIB_MEMRCHR@/1/
/^GL_GNULIB_MEMPCPY *=/s/@GL_GNULIB_MEMPCPY@/1/
/^GL_GNULIB_MKOSTEMP *=/s/@GL_GNULIB_MKOSTEMP@/1/
/^GL_GNULIB_MKTIME *=/s/@GL_GNULIB_MKTIME@/1/
/^GL_GNULIB_SIGDESCR_NP *=/s/@GL_GNULIB_SIGDESCR_NP@/1/
/^GL_GNULIB_TIME_R *=/s/@GL_GNULIB_TIME_R@/1/
/^GL_GNULIB_TIMEGM *=/s/@GL_GNULIB_TIMEGM@/1/
/^GL_GNULIB_TIME_RZ *=/s/@GL_GNULIB_TIME_RZ@/1/
/^GL_GNULIB_UNSETENV *=/s/@GL_GNULIB_UNSETENV@/1/
# Apparently without this `rawmemchr' isn't declared, so
# we get warnings building canonicalize-lgpl.o
/^GL_GNULIB_RAWMEMCHR *=/s/@GL_GNULIB_RAWMEMCHR@/1/
/^GL_GNULIB_[^ =]* *= *@/s/@[^@\n]*@/0/
# These variables control whether ISO C23 features are generated,
# e.g. those in stdbit.h.
/^GL_STDC_[^ =]* *= *@/s/@[^@\n]*@/1/
/^GL_GSETTINGS_CFLAGS *=/s/@[^@\n]*@//
/^GL_GSETTINGS_LIBS *=/s/@[^@\n]*@//
# Miscellaneous variables.
/^DIR_HAS_FD_MEMBER *=/s/@DIR_HAS_FD_MEMBER@/0/
/^LOCALE_FR_UTF8 *=/s/@LOCALE_FR_UTF8@/none/
#
# Edit the HAVE_foo variables
/^HAVE_ATOLL *=/s/@HAVE_ATOLL@/0/
/^HAVE_CHOWN *=/s/@HAVE_CHOWN@/1/
/^HAVE_CLOSEDIR *=/s/@HAVE_CLOSEDIR@/1/
/^HAVE_DECL_GETPAGESIZE *=/s/@HAVE_DECL_GETPAGESIZE@/1/
/^HAVE_DECL_SETENV *=/s/@HAVE_DECL_SETENV@/1/
/^HAVE_DECL_STRDUP *=/s/@HAVE_DECL_STRDUP@/1/
# The following two rely on msdos/inttypes.h redirections
/^HAVE_DECL_STRTOIMAX *=/s/@HAVE_DECL_STRTOIMAX@/1/
/^HAVE_DECL_STRTOUMAX *=/s/@HAVE_DECL_STRTOUMAX@/1/
/^HAVE_DIRENT_H *=/s/@HAVE_DIRENT_H@/1/
/^HAVE_DUP2 *=/s/@HAVE_DUP2@/1/
/^HAVE_FSYNC *=/s/@HAVE_FSYNC@/1/
/^HAVE_FTRUNCATE *=/s/@HAVE_FTRUNCATE@/1/
/^HAVE_GETHOSTNAME *=/s/@HAVE_GETHOSTNAME@/1/
/^HAVE_GETLOGIN *=/s/@HAVE_GETLOGIN@/1/
/^HAVE_GETPAGESIZE *=/s/@HAVE_GETPAGESIZE@/1/
/^HAVE_INTTYPES_H *=/s/@HAVE_INTTYPES_H@/1/
/^HAVE_LCHMOD *=/s/@HAVE_LCHMOD@/0/
/^HAVE_LINK *=/s/@HAVE_LINK@/1/
/^HAVE_LONG_LONG_INT *=/s/@HAVE_LONG_LONG_INT@/1/
/^HAVE_LSTAT *=/s/@HAVE_LSTAT@/HAVE_LSTAT/
/^HAVE_MAKEINFO *=/s/@HAVE_MAKEINFO@/yes/
/^HAVE_MAX_ALIGN_T *=/s/@HAVE_MAX_ALIGN_T@/0/
/^HAVE_MEMCHR *=/s/@HAVE_MEMCHR@/1/
/^HAVE_MKFIFO *=/s/@HAVE_MKFIFO@/1/
/^HAVE_MKNOD *=/s/@HAVE_MKNOD@/1/
/^HAVE_MKSTEMP *=/s/@HAVE_MKSTEMP@/1/
/^HAVE_OPENDIR *=/s/@HAVE_OPENDIR@/1/
/^HAVE_PCLOSE *=/s/@HAVE_PCLOSE@/1/
/^HAVE_POPEN *=/s/@HAVE_POPEN@/1/
/^HAVE_POSIX_SIGNALBLOCKING *=/s/@HAVE_POSIX_SIGNALBLOCKING@/1/
/^HAVE_RANDOM_H *=/s/@HAVE_RANDOM_H@/1/
/^HAVE_RAISE *=/s/@HAVE_RAISE@/1/
/^HAVE_RANDOM *=/s/@HAVE_RANDOM@/1/
/^HAVE_READDIR *=/s/@HAVE_READDIR@/1/
/^HAVE_REWINDDIR *=/s/@HAVE_REWINDDIR@/1/
/^HAVE_SETENV *=/s/@HAVE_SETENV@/1/
/^HAVE_SIGACTION *=/s/@HAVE_SIGACTION@/1/
/^HAVE_SIGNED_SIG_ATOMIC_T *=/s/@HAVE_SIGNED_SIG_ATOMIC_T@/1/
/^HAVE_SIGNED_WINT_T *=/s/@HAVE_SIGNED_WINT_T@/1/
/^HAVE_SIGSET_T *=/s/@HAVE_SIGSET_T@/1/
/^HAVE_SLEEP *=/s/@HAVE_SLEEP@/1/
/^HAVE_STDINT_H *=/s/@HAVE_STDINT_H@/HAVE_STDINT_H/
/^HAVE_STRPBRK *=/s/@HAVE_STRPBRK@/1/
/^HAVE_STRSEP *=/s/@HAVE_STRSEP@/1/
/^HAVE_STRTOD *=/s/@HAVE_STRTOD@/1/
/^HAVE_STRTOF *=/s/@HAVE_STRTOF@/1/
/^HAVE_STRTOLL *=/s/@HAVE_STRTOLL@/1/
/^HAVE_STRTOULL *=/s/@HAVE_STRTOULL@/1/
/^HAVE_STRUCT_TIMEVAL *=/s/@HAVE_STRUCT_TIMEVAL@/1/
/^HAVE_SYMLINK *=/s/@HAVE_SYMLINK@/1/
/^HAVE_SYS_PARAM_H *=/s/@HAVE_SYS_PARAM_H@/1/
/^HAVE_SYS_TIME_H *=/s/@HAVE_SYS_TIME_H@/1/
/^HAVE_SYS_TYPES_H *=/s/@HAVE_SYS_TYPES_H@/1/
/^HAVE_TIMEGM *=/s/@HAVE_TIMEGM@/0/
/^HAVE_TYPE_VOLATILE_SIG_ATOMIC_T *=/s/@HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@/1/
/^HAVE_UNISTD_H *=/s/@HAVE_UNISTD_H@/1/
/^HAVE_UNSIGNED_LONG_LONG_INT *=/s/@HAVE_UNSIGNED_LONG_LONG_INT@/1/
/^HAVE_USLEEP *=/s/@HAVE_USLEEP@/1/
/^HAVE_WCHAR_H *=/s/@HAVE_WCHAR_H@/1/
/^HAVE_WCHAR_T *=/s/@HAVE_WCHAR_T@/1/
/^HAVE_LIBGMP *=/s/@HAVE_LIBGMP@/0/
/^HAVE__BOOL *=/s/@HAVE__BOOL@/1/
/^HAVE__EXIT *=/s/@HAVE__EXIT@/1/
/^HAVE_[^ =]* *= *@/s/@[^@\n]*@/0/
/^INCLUDE_NEXT *=/s/@INCLUDE_NEXT@/include_next/
/^INCLUDE_NEXT_AS_FIRST_DIRECTIVE *=/s/@[^@\n]*@/include_next/
/^LDFLAGS *=/s/@[^@\n]*@//
/^LD_FIRSTFLAG *=/s/@[^@\n]*@//
/^LIB_PTHREAD *=/s/@[^@\n]*@//
/^LIBS *=/s/@[^@\n]*@//
/^MAKEINFO *=/s/@MAKEINFO@/makeinfo/
# MKDIR_P lines are edited further below
# MKDIR_P is only used to create lib/malloc, and the folder is
# already present in the distribution, so this should work fine.
# (No longer true as of Emacs 29, but the directories we need
# are created in config.bat!)
/^MKDIR_P *=/s/@MKDIR_P@/echo/
/^NEXT_AS_FIRST_DIRECTIVE_DIRENT_H *=/s/@[^@\n]*@/<dirent.h>/
/^NEXT_AS_FIRST_DIRECTIVE_ERRNO_H *=/s/@[^@\n]*@//
/^NEXT_AS_FIRST_DIRECTIVE_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/
/^NEXT_AS_FIRST_DIRECTIVE_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/
/^NEXT_AS_FIRST_DIRECTIVE_LIMITS_H *=/s/@[^@\n]*@/<limits.h>/
/^NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/
/^NEXT_AS_FIRST_DIRECTIVE_STDDEF_H *=/s/@[^@\n]*@/<stddef.h>/
/^NEXT_AS_FIRST_DIRECTIVE_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/
/^NEXT_AS_FIRST_DIRECTIVE_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/
/^NEXT_AS_FIRST_DIRECTIVE_STDLIB_H *=/s/@[^@\n]*@/<stdlib.h>/
/^NEXT_AS_FIRST_DIRECTIVE_STRING_H *=/s/@[^@\n]*@/<string.h>/
/^NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H *=/s/@[^@\n]*@//
/^NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H *=/s!@[^@\n]*@!<sys/stat.h>!
/^NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H *=/s/@[^@\n]*@//
/^NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H *=/s!@[^@\n]*@!<sys/types.h>!
/^NEXT_AS_FIRST_DIRECTIVE_TIME_H *=/s/@[^@\n]*@/<time.h>/
/^NEXT_ASSERT_H *=/s/@[^@\n]*@/<assert.h>/
/^NEXT_DIRENT_H *=/s/@[^@\n]*@/<dirent.h>/
/^NEXT_DIRENT_H *=/s/@[^@\n]*@/<dirent.h>/
/^NEXT_ERRNO_H *=/s/@[^@\n]*@//
/^NEXT_FCNTL_H *=/s/@[^@\n]*@/<fcntl.h>/
/^NEXT_FLOAT_H *=/s/@[^@\n]*@//
/^NEXT_GETOPT_H *=/s/@[^@\n]*@/<getopt.h>/
/^NEXT_LIMITS_H *=/s/@[^@\n]*@/<limits.h>/
/^NEXT_MATH_H *=/s/@[^@\n]*@//
/^NEXT_SIGNAL_H *=/s/@[^@\n]*@/<signal.h>/
/^NEXT_STDDEF_H *=/s/@[^@\n]*@/<stddef.h>/
/^NEXT_STDIO_H *=/s/@[^@\n]*@/<stdio.h>/
/^NEXT_STDINT_H *=/s/@[^@\n]*@/<stdint.h>/
/^NEXT_STDLIB_H *=/s/@[^@\n]*@/<stdlib.h>/
/^NEXT_STRING_H *=/s/@[^@\n]*@/<string.h>/
/^NEXT_SYS_SELECT_H *=/s/@[^@\n]*@//
/^NEXT_SYS_STAT_H *=/s!@[^@\n]*@!<sys/stat.h>!
/^NEXT_SYS_RANDOM_H *=/s/@[^@\n]*@//
/^NEXT_SYS_TIME_H *=/s/@[^@\n]*@//
/^NEXT_SYS_TYPES_H *=/s!@[^@\n]*@!<sys/types.h>!
/^NEXT_TIME_H *=/s/@[^@\n]*@/<time.h>/
/^NEXT_INTTYPES_H *=/s/@[^@\n]*@//
/^NEXT_UNISTD_H *=/s/@[^@\n]*@/<unistd.h>/
/^NULLPTR_T_NEEDS_STDDEF *=/s/@[^@\n]*@/1/
/^OBJEXT *=/s/@[^@\n]*@/o/
/^PRAGMA_COLUMNS *=/s/@[^@\n]*@//
/^PRAGMA_SYSTEM_HEADER *=/s/@[^@\n]*@/\\\#pragma GCC system_header/
/^PTHREAD_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/
/^PTRDIFF_T_SUFFIX *=/s/@[^@\n]*@//
/^RANLIB *=/s/@[^@\n]*@/ranlib/
/^REPLACE_MKTIME *=/s/@[^@\n]*@/1/
# We don't want any other gnulib replacement functions
/^REPLACE_[^ =]* *= *@/s/@[^@\n]*@/0/
/^GETRANDOM_LIB[^ =]* *= *@/s/@[^@\n]*@//
/^SIG_ATOMIC_T_SUFFIX *=/s/@SIG_ATOMIC_T_SUFFIX@//
/^SIZE_T_SUFFIX *=/s/@SIZE_T_SUFFIX@/u/
/^ASSERT_H *=/s/@[^@\n]*@/assert.h/
/^ALLOCA_H *=/s/@[^@\n]*@/alloca.h/
/^BYTESWAP_H *=/s/@[^@\n]*@/byteswap.h/
/^DIRENT_H *=/s/@[^@\n]*@//
/^ERRNO_H *=/s/@[^@\n]*@//
/^EXECINFO_H *=/s/@[^@\n]*@/execinfo.h/
/^FLOAT_H *=/s/@[^@\n]*@//
/^GETOPT_CDEFS_H *=/s/@[^@\n]*@/getopt-cdefs.h/
/^GMP_H *=/s/@[^@\n]*@/gmp.h/
/^LIMITS_H *=/s/@[^@\n]*@/limits.h/
/^IEEE754_H *=/s/@[^@\n]*@/ieee754.h/
/^STDALIGN_H *=/s/@[^@\n]*@/stdalign.h/
/^STDBIT_H *=/s/@[^@\n]*@/stdbit.h/
/^STDCKDINT_H *=/s/@[^@\n]*@/stdckdint.h/
/^STDDEF_H *=/s/@[^@\n]*@/stddef.h/
/^STDDEF_NOT_IDEMPOTENT *=/s/@[^@\n]*@/1/
/^STDINT_H *=/s/@[^@\n]*@/stdint.h/
/^SYS_TIME_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/
/^TIME_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/
/^TIME_H_DEFINES_TIME_UTC *=/s/@[^@\n]*@/0/
/^UNISTD_H_HAVE_SYS_RANDOM_H *=/s/@[^@\n]*@/0/
/^UNISTD_H_HAVE_WINSOCK2_H *=/s/@[^@\n]*@/0/
/^UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS *=/s/@[^@\n]*@/0/
/^UNISTD_H_DEFINES_STRUCT_TIMESPEC *=/s/@[^@\n]*@/0/
/^UNDEFINE_STRTOK_R *=/s/@UNDEFINE_STRTOK_R@/0/
/^WCHAR_T_SUFFIX *=/s/@WCHAR_T_SUFFIX@/h/
/^WINT_T_SUFFIX *=/s/@WINT_T_SUFFIX@//
/^GNULIBHEADERS_OVERRIDE_WINT_T *=/s/@[^@\n]*@/0/
/^WINDOWS_64_BIT_OFF_T *=/s/@WINDOWS_64_BIT_OFF_T@/0/
/^WINDOWS_64_BIT_ST_SIZE *=/s/@WINDOWS_64_BIT_ST_SIZE@/0/
/^WINDOWS_STAT_INODES *=/s/@WINDOWS_STAT_INODES@/0/
/^WINDOWS_STAT_TIMESPEC *=/s/@WINDOWS_STAT_TIMESPEC@/0/
# Tailor lists of files to what we need
/am__append_[1-9][0-9]* *=.*gettext\.h/s/@[^@\n]*@/\#/
/am__append_2 *=.*verify\.h/s/@[^@\n]*@//
/^@gl_GNULIB_ENABLED_tempname_TRUE@/s/@[^@\n]*@//
/^gl_LIBOBJS *=/s/@[^@\n]*@/getopt.o getopt1.o getrandom.o memrchr.o mempcpy.o regex.o memmem.o sig2str.o sigdescr_np.o time_r.o time_rz.o timegm.o mktime.o mini-gmp-gnulib.o getloadavg.o pthread_sigmask.o mkostemp.o fpending.o execinfo.o tempname.o/
/^am__append_[1-9][0-9]* *=/,/^[^ ]/{
s/ *inttypes\.h//
s| *sys/select\.h||
s| *sys/time\.h||
}
/^am_libgnu_a_OBJECTS *=/,/^[^ ]/{
s/allocator\.\$(OBJEXT) //
s/careadlinkat\.\$(OBJEXT) //
s/pipe2\.\$(OBJEXT) //
s/acl-errno-valid\.\$(OBJEXT) //
s/acl-internal\.\$(OBJEXT) //
s/get-permissions\.\$(OBJEXT) //
s/set-permissions\.\$(OBJEXT) //
s/qcopy-acl\.\$(OBJEXT) //
s/openat-die\.\$(OBJEXT) //
s/save-cwd\.\$(OBJEXT) //
}
/^srcdir *=/s/@[^@\n]*@/./
/^top_srcdir *=/s/@[^@\n]*@/../
/^top_builddir *=/s/@[^@\n]*@/../
s/@PRAGMA_SYSTEM_HEADER@/\#pragma GCC system_header/
s/@PRAGMA_COLUMNS@//
/^SYSTEM_TYPE *=/s/@SYSTEM_TYPE@/msdos/
/^ifneq (\$(SYSTEM_TYPE),windows-nt)/,/^endif/d
/^DEPDIR *=/a\
AUTO_DEPEND = yes
#
# Delete the recipes we don't want to get in our way.
/^\.\.\/config.status:/,/^Makefile:/c\
Makefile: $(srcdir)/Makefile.in
#
# Remove the dependencies on $(top_builddir)/config.status
s/ \.\.\/config.status//
s/ \$(top_builddir)\/config.status//
#
# Fix the include-dependency lines
s/^@AMDEP_TRUE@//
s/^@AMDEP_FALSE@/\#/
s/@am__include@/include/
s/@am__quote@//g
s/^@am__fastdepCC_TRUE@//
s/^@am__fastdepCC_FALSE@/\#/
#
# Fix the *-clean rules, to not use a Unixy `test' command. Empty
# lists are replaced with a dummy file, to avoid an error message from
# "rm -f" with no arguments.
/^CLEANFILES *= *$/c\
CLEANFILES = xyzzy
/^CONFIG_CLEAN_FILES *= *$/c\
CONFIG_CLEAN_FILES = xyzzy
/^CONFIG_CLEAN_VPATH_FILES *= *$/c\
CONFIG_CLEAN_VPATH_FILES = xyzzy
s/^ -*test -z.*|| rm/ -rm/
s/@echo /@djecho /
#
# Determine which headers to generate
# DJGPP assert.h lacks static_assert, so assert.h will have to be
# generated
s/= @GL_GENERATE_ASSERT_H_CONDITION@/= 1/
s/= @GL_GENERATE_ALLOCA_H_CONDITION@/= 1/
s/= @GL_GENERATE_BYTESWAP_H_CONDITION@/= 1/
s/= @GL_GENERATE_EXECINFO_H_CONDITION@/= 1/
s/= @GL_GENERATE_IEEE754_H_CONDITION@/= 1/
s/= @GL_GENERATE_STDALIGN_H_CONDITION@/= 1/
s/= @GL_GENERATE_STDDEF_H_CONDITION@/= 1/
s/= @GL_GENERATE_STDINT_H_CONDITION@/= 1/
s/= @GL_GENERATE_LIMITS_H_CONDITION@/= 1/
s/= @GL_GENERATE_ERRNO_H_CONDITION@/= /
s/= @GL_GENERATE_GETOPT_CDEFS_H_CONDITION@/= 1/
s/= @GL_GENERATE_GETOPT_H_CONDITION@/= 1/
s/= @GL_GENERATE_GMP_H_CONDITION@/= 1/
s/= @GL_GENERATE_GMP_GMP_H_CONDITION@/= /
s/= @GL_GENERATE_MINI_GMP_H_CONDITION@/= 1/
s/= @GL_GENERATE_STDCKDINT_H_CONDITION@/= 1/
s/= @GL_GENERATE_STDBIT_H_CONDITION@/= 1/
s/= @GL_COND_OBJ_STDIO_READ_CONDITION@/= /
s/= @GL_COND_OBJ_STDIO_WRITE_CONDITION@/= /
s/= @GL_COND_OBJ_STPNCPY_CONDITION@/= /
s/= @GL_COND_OBJ_.*@/= 1/
s/\$\(MKDIR_P\) malloc//
#
# Determine which modules to build and which to omit
/^noinst_LIBRARIES /a\
OMIT_GNULIB_MODULE_acl-permissions = true\
OMIT_GNULIB_MODULE_allocator = true\
OMIT_GNULIB_MODULE_at-internal = true\
OMIT_GNULIB_MODULE_careadlinkat = true\
OMIT_GNULIB_MODULE_cloexec = true\
OMIT_GNULIB_MODULE_dirent = true\
OMIT_GNULIB_MODULE_dirfd = true\
OMIT_GNULIB_MODULE_dup2 = true\
OMIT_GNULIB_MODULE_errno = true\
OMIT_GNULIB_MODULE_euidaccess = true\
OMIT_GNULIB_MODULE_faccessat = true\
OMIT_GNULIB_MODULE_fcntl = true\
OMIT_GNULIB_MODULE_fdopendir = true\
OMIT_GNULIB_MODULE_fstatat = true\
OMIT_GNULIB_MODULE_fsync = true\
OMIT_GNULIB_MODULE_getline = true\
OMIT_GNULIB_MODULE_getdelim = true\
OMIT_GNULIB_MODULE_getdtablesize = true\
OMIT_GNULIB_MODULE_getgroups = true\
OMIT_GNULIB_MODULE_gettimeofday = true\
OMIT_GNULIB_MODULE_group-member = true\
OMIT_GNULIB_MODULE_inttypes-incomplete = true\
OMIT_GNULIB_MODULE_localtime-buffer = true\
OMIT_GNULIB_MODULE_lstat = true\
OMIT_GNULIB_MODULE_math = true\
OMIT_GNULIB_MODULE_nanosleep = true\
OMIT_GNULIB_MODULE_open = true\
OMIT_GNULIB_MODULE_pipe2 = true\
OMIT_GNULIB_MODULE_pselect = true\
OMIT_GNULIB_MODULE_putenv = true\
OMIT_GNULIB_MODULE_qcopy-acl = true\
OMIT_GNULIB_MODULE_readlink = true\
OMIT_GNULIB_MODULE_readlinkat = true\
OMIT_GNULIB_MODULE_stpcpy = true\
OMIT_GNULIB_MODULE_strtoimax = true\
OMIT_GNULIB_MODULE_strtoll = true\
OMIT_GNULIB_MODULE_symlink = true\
OMIT_GNULIB_MODULE_sys_select = true\
OMIT_GNULIB_MODULE_sys_time = true\
OMIT_GNULIB_MODULE_boot-time = true\
OMIT_GNULIB_MODULE_crypto\/md5 = true
/^arg-nonnull\.h:/,/^[ ][ ]*mv /c\
arg-nonnull.h: $(top_srcdir)/build-aux/snippet/arg-nonnull.h\
sed -n -e '/GL_ARG_NONNULL/,$$p' < $(top_srcdir)/build-aux/snippet/arg-nonnull.h > $@
/^cxxdefs\.h:/,/^[ ][ ]*mv /c\
cxxdefs.h: $(top_srcdir)/build-aux/snippet/cxxdefs.h\
sed -n -e '/_GL_CXXDEFS/,$$p' < $(top_srcdir)/build-aux/snippet/cxxdefs.h > $@
/^warn-on-use\.h:/,/^[ ][ ]*mv /c\
warn-on-use.h: $(top_srcdir)/build-aux/snippet/warn-on-use.h\
sed -n -e '/^.ifndef/,$$p' < $(top_srcdir)/build-aux/snippet/warn-on-use.h > $@
s/^ [ ]*{ echo \(.*\); \\/ djecho \1 > $@-t/
s/^ [ ]*{ echo \(.*\) && \\/ djecho \1 > $@-t/
s/^ [ ]*cat \(.*\); \\/ sed -e '' \1 >> $@-t/
s/^ sed -e/ sed -e/
s/ \&\& \\ *$//
s/\.in-h\; *\\$/.in-h >> $@-t/
/^ [ ]*} /d
/^stdio\.h:/,/^ [ ]*mv /{
s/'\; \\ *$/' >> $@-t/
}
/^stdlib\.h:/,/^ [ ]*mv /{
s/'\; \\ *$/' >> $@-t/
}
/^unistd\.h:/,/^ [ ]*mv /{
s/'\; \\ *$/' >> $@-t/
}
/^string\.h:/,/^ [ ]*mv /{
s/'\; \\ *$/' >> $@-t/
/< \$(srcdir)\/string\.in-h >>/d
}
/^assert\.h/,/^ \$(AM_V_AT)mv \$@-t \$@/{
s/\$(gl_V_at){/\$(gl_V_at)/
s/< \$(srcdir)\/assert\.in-h/& > $@-t/
s/ sed/ \$(gl_V_at) \$(SED_HEADER_STDOUT)\\\
/
s/\} > \$@-t/>> $@-t/
s/< \$(srcdir)\/verify\.h; \\/\$(srcdir)\/verify\.h >> \$@-t/
}
s!\$(MKDIR_P)[ ][ ]*sys!command.com /c "if not exist sys\\stat.h md sys"!
/^ @for dir in/,/^[^ ]/c\
-rm -rf $(MOSTLYCLEANDIRS)
/^ *-test . /d
#
# Fix the Automake verbosity stuff
/^ *\$(AM_V_at)/s/\$(AM_V_at)//
/^ *\$(AM_V_AR)/s/\$(AM_V_AR)//
/^ *\$(AM_V_CC)/s/\$(AM_V_CC)//