# HG changeset patch # User Jim Meyering # Date 1274959984 -7200 # Node ID c4a0594739503e4875be03c7ddb5ee61bf729922 # Parent d810a6f1c43c8da102ecfdc583c3d1cd2b7612a8 maint.mk: also prohibit "#undef" of always-defined symbols * top/maint.mk (def_sym_regex): Handle #undef as well as #define. Allow more than one space before the symbol name. (sc_prohibit_always-defined_macros): Use grep's -E, now that the regexp uses alternation. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2010-05-27 Jim Meyering + + maint.mk: also prohibit "#undef" of always-defined symbols + * top/maint.mk (def_sym_regex): Handle #undef as well as #define. + Allow more than one space before the symbol name. + (sc_prohibit_always-defined_macros): Use grep's -E, now that + the regexp uses alternation. + 2010-05-26 Eric Blake maint.mk: avoid echo -e diff --git a/top/maint.mk b/top/maint.mk --- a/top/maint.mk +++ b/top/maint.mk @@ -689,7 +689,8 @@ perl -lne '$(gl_extract_significant_defines_)' $$f; \ done; \ ) | sort -u \ - | sed 's/^/^ *# *define /;s/$$/\\>/' + | grep -Ev '^ATTRIBUTE_NORETURN' \ + | sed 's/^/^ *# *(define|undef) */;s/$$/\\>/' endef # Don't define macros that we already get from gnulib header files. @@ -698,7 +699,7 @@ case $$(echo all: | grep -l -f - Makefile) in Makefile);; *) \ echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \ esac; \ - $(def_sym_regex) | grep -f - $$($(VC_LIST_EXCEPT)) \ + $(def_sym_regex) | grep -E -f - $$($(VC_LIST_EXCEPT)) \ && { echo '$(ME): define the above via some gnulib .h file' \ 1>&2; exit 1; } || :; \ fi