+# Checklist to add a new gnulib module:
+#
+# . If the module includes source files that need to be compiled, add
+# the corresponding .o file names to the list that gets assigned to
+# the gl_LIBOBJS variable.
+#
+# . If the module defines functions that need to replace DJGPP
+# functions, edit the appropriate REPLACE_foo variables to 1;
+# otherwise edit them to zero:
+#
+# /^REPLACE_CALLOC *=/s/@REPLACE_CALLOC@/0/
+#
+# . If the module is a header or adds headers, 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 @GL_GENERATE_xxxx_H_TRUE@
+# and @GL_GENERATE_xxxx_H_FALSE@. Depending on whether DJGPP uses
+# the corresponding header, these should be edited either to
+# nothing (thus exposing the recipe) or to #, which comments the
+# recipe away. Example:
+#
+# s/^@GL_GENERATE_STDBOOL_H_TRUE@/\#/
+# s/^@GL_GENERATE_STDBOOL_H_FALSE@//
+#
+# . Also edit the NEXT_foo and NEXT_AS_FIRST_DIRECTIVE_foo_H variable
+# 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
+# autogen/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.
+#
+# . Some gnulib header files have more complex recipes in
+# 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/
+# }
+#
+# The following Awk script is useful for editing portions of
+# 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}
+#
+# ----------------------------------------------------------------------