Collin Funk wrote: > I attached a patch that seems to work alright. I'm not the greatest with GNU > Make so it isn't very pretty. Feel free to modify it as much as you would > like. > > Here is some sample output from Coreutils. One or two are real so I'll submit > a patch there. > > [collin@debian coreutils]$ make sc_verify_absolute_include_headers > verify_absolute_include_headers > maint.mk: Use #include <sys/stat.h> instead of #include "sys/stat.h" in > src/od.c > maint.mk: Use #include <error.h> instead of #include "error.h" in src/od.c > maint.mk: Use #include <getopt.h> instead of #include "getopt.h" in > src/shuf.c > maint.mk: Use #include <getopt.h> instead of #include "getopt.h" in > src/stat.c > maint.mk: Use #include <error.h> instead of #include "error.h" in > src/system.h
Very nice! I committed your patch, just at a different location in maint.mk (near the handling of <config.h>). Also, I added references to the Gnulib documentation: 2024-02-18 Bruno Haible <br...@clisp.org> maint.mk: Add more comments. * top/maint.mk: Reference the Gnulib documentation where suitable. diff --git a/top/maint.mk b/top/maint.mk index 9725976dae..5746b911dd 100644 --- a/top/maint.mk +++ b/top/maint.mk @@ -503,6 +503,7 @@ sc_prohibit_have_config_h: # Nearly all .c files must include <config.h>. However, we also permit this # via inclusion of a package-specific header, if cfg.mk specified one. # config_h_header must be suitable for grep -E. +# Rationale: The Gnulib documentation, node 'Include <config.h>'. config_h_header ?= <config\.h> sc_require_config_h: @require='^# *include $(config_h_header)' \ @@ -526,6 +527,7 @@ perl_config_h_first_ = \ # You must include <config.h> before including any other header file. # This can possibly be via a package-specific header, if given by cfg.mk. +# Rationale: The Gnulib documentation, node 'Include <config.h>'. sc_require_config_h_first: @if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then \ files=$$($(VC_LIST_EXCEPT) | $(GREP) '\.c$$') && \ @@ -607,7 +609,8 @@ gl_absolute_include_headers_ ?= \ wctype.h # Suggest using '#include <header.h>' instead of '#include "header.h"' for -# headers that substitute system headers. +# headers that override system headers. +# Rationale: The Gnulib documentation, node 'Style of #include statements'. sc_verify_absolute_include_headers: @if $(VC_LIST_EXCEPT) | $(GREP) '\.c$$' > /dev/null; then \ source_files=$$($(VC_LIST_EXCEPT) | $(GREP) '\.\(c\|h\)$$'); \