# -sedlibmk.inp----------------------------------------------------------- # Configuration script for lib/Makefile under DJGPP v2.x # ---------------------------------------------------------------------- # # Copyright (C) 2011-2022 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]*@// # /^NEXT_AS_FIRST_DIRECTIVE_GETOPT_H *=/s/@[^@\n]*@// # /^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@// /^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_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/ /^GL_GNULIB_[^ =]* *= *@/s/@[^@\n]*@/0/ /^GL_GSETTINGS_CFLAGS *=/s/@[^@\n]*@// /^GL_GSETTINGS_LIBS *=/s/@[^@\n]*@// # # 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@/HAVE_INTTYPES_H/ /^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_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]*@// /^LIB_PTHREAD_SIGMASK *=/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]*@// /^NEXT_AS_FIRST_DIRECTIVE_ERRNO_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_FCNTL_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_GETOPT_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_LIMITS_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_STDDEF_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_STDINT_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_STDIO_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_STDLIB_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_STRING_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_SYS_SELECT_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_SYS_STAT_H *=/s!@[^@\n]*@!! /^NEXT_AS_FIRST_DIRECTIVE_SYS_TIME_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_SYS_TYPES_H *=/s!@[^@\n]*@!! /^NEXT_AS_FIRST_DIRECTIVE_TIME_H *=/s/@[^@\n]*@// /^NEXT_AS_FIRST_DIRECTIVE_UNISTD_H *=/s/@[^@\n]*@// /^NEXT_DIRENT_H *=/s/@[^@\n]*@// /^NEXT_ERRNO_H *=/s/@[^@\n]*@// /^NEXT_FCNTL_H *=/s/@[^@\n]*@// /^NEXT_GETOPT_H *=/s/@[^@\n]*@// /^NEXT_LIMITS_H *=/s/@[^@\n]*@// /^NEXT_SIGNAL_H *=/s/@[^@\n]*@// /^NEXT_STDDEF_H *=/s/@[^@\n]*@// /^NEXT_STDIO_H *=/s/@[^@\n]*@// /^NEXT_STDINT_H *=/s/@[^@\n]*@// /^NEXT_STDLIB_H *=/s/@[^@\n]*@// /^NEXT_STRING_H *=/s/@[^@\n]*@// /^NEXT_SYS_SELECT_H *=/s/@[^@\n]*@// /^NEXT_SYS_STAT_H *=/s!@[^@\n]*@!! /^NEXT_SYS_TIME_H *=/s/@[^@\n]*@// /^NEXT_SYS_TYPES_H *=/s!@[^@\n]*@!! /^NEXT_TIME_H *=/s/@[^@\n]*@// /^NEXT_UNISTD_H *=/s/@[^@\n]*@// /^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/ /^LIB_GETRANDOM[^ =]* *= *@/s/@[^@\n]*@// /^SIG_ATOMIC_T_SUFFIX *=/s/@SIG_ATOMIC_T_SUFFIX@// /^SIZE_T_SUFFIX *=/s/@SIZE_T_SUFFIX@/u/ /^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/ /^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/ /^STDDEF_H *=/s/@[^@\n]*@/stddef.h/ /^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 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_LIMITS_H_CONDITION@/= / s/= @GL_GENERATE_GMP_H_CONDITION@/= 1/ s/= @GL_GENERATE_GMP_GMP_H_CONDITION@/= / s/= @GL_GENERATE_MINI_GMP_H_CONDITION@/= 1/ s/= @GL_COND_OBJ_STDIO_READ_CONDITION@/= / s/= @GL_COND_OBJ_STDIO_WRITE_CONDITION@/= / 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_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_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_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_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 } 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)//