+2010-05-10 Jim Meyering <meyering@redhat.com>
+
+ 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 <bruno@clisp.org>
Update to GNU gettext 0.18.
# 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