From: Jim Meyering Date: Mon, 10 May 2010 07:29:09 +0000 (+0200) Subject: maint.mk: avoid using a temporary file in the always-defined-macros check X-Git-Tag: v0.1~4154 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=204e7feaf617b2e14fdf1226dfaf858e984c1737;p=gnulib.git maint.mk: avoid using a temporary file in the always-defined-macros check * top/maint.mk (.re-defmac): Remove rule. (gl_trap_): Remove definition. (sc_prohibit_always-defined_macros): Rewrite not to create and depend on a temporary file. Instead, depend on GNU grep's ability to read a list of regular expressions from stdin when given "-f -". --- diff --git a/ChangeLog b/ChangeLog index f2efae51c..5510f6852 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2010-05-10 Jim Meyering + + maint.mk: avoid using a temporary file in the always-defined-macros check + * top/maint.mk (.re-defmac): Remove rule. + (gl_trap_): Remove definition. + (sc_prohibit_always-defined_macros): Rewrite not to create and + depend on a temporary file. Instead, depend on GNU grep's ability + to read a list of regular expressions from stdin when given "-f -". + 2010-05-09 Bruno Haible Update to GNU gettext 0.18. diff --git a/top/maint.mk b/top/maint.mk index 2e11ac138..867e4be5e 100644 --- a/top/maint.mk +++ b/top/maint.mk @@ -679,31 +679,24 @@ gl_extract_significant_defines_ = \ # Create a list of regular expressions matching the names # of macros that are guaranteed to be defined by parts of gnulib. -.re-defmac: - @gen_h=$(gl_generated_headers_); \ +define def_sym_regex + gen_h=$(gl_generated_headers_); \ (cd $(gnulib_dir)/lib; \ for f in *.in.h $(gl_other_headers_); do \ perl -lne '$(gl_extract_significant_defines_)' $$f; \ done; \ ) | sort -u \ | grep -Ev '^ATTRIBUTE_NORETURN' \ - | sed 's/^/^ *# *define /;s/$$/\\>/' \ - > $@-t - @mv $@-t $@ - -define gl_trap_ - Exit () { set +e; (exit $$1); exit $$1; }; \ - for sig in 1 2 3 13 15; do \ - eval "trap 'Exit $$(expr $$sig + 128)' $$sig"; \ - done + | sed 's/^/^ *# *define /;s/$$/\\>/' endef # Don't define macros that we already get from gnulib header files. -sc_prohibit_always-defined_macros: .re-defmac +sc_prohibit_always-defined_macros: @if test -d $(gnulib_dir); then \ - trap 'rc=$$?; rm -f .re-defmac; exit $$rc' 0; \ - $(gl_trap_); \ - grep -f .re-defmac $$($(VC_LIST_EXCEPT)) \ + 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)) \ && { echo '$(ME): define the above via some gnulib .h file' \ 1>&2; exit 1; } || :; \ fi