From: Jim Meyering Date: Fri, 24 Jun 2011 18:52:00 +0000 (+0200) Subject: syntax-check: keep one maint.mk rule in sync with its header X-Git-Tag: v0.1~2206 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=fac40623358b11e770df3ef686870632ef4fc104;p=gnulib.git syntax-check: keep one maint.mk rule in sync with its header * Makefile (sc_check_sym_list): Add a rule to prevent a repeat of the bug Eric has just fixed, with today's commit 25e4c2ec. I prefer to avoid temporary files here, so use <(...), but that is not supported by /bin/sh, so... (SHELL): Define to /bin/bash. --- diff --git a/ChangeLog b/ChangeLog index 2ce487c2e..ef4f9fbcc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2011-06-24 Jim Meyering + + syntax-check: keep one maint.mk rule in sync with its header + * Makefile (sc_check_sym_list): Add a rule to prevent a repeat + of the bug Eric has just fixed, with today's commit 25e4c2ec. + I prefer to avoid temporary files here, so use <(...), but that + is not supported by /bin/sh, so... + (SHELL): Define to /bin/bash. + 2011-06-24 Eric Blake maint.mk: update sc_prohibit_intprops_without_use diff --git a/Makefile b/Makefile index 5dda3b559..0da864c6a 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,9 @@ # This Makefile requires the use of GNU make. Some targets require # that you have tools like git, makeinfo and cppi installed. +# Required for the use of <(...) below. +SHELL=/bin/bash + # Produce some files that are not stored in the repository. all: @@ -95,6 +98,16 @@ sc_cpp_indent_check: | grep -v '/getloadavg\.c$$' \ | xargs cppi -c +# Ensure that the list of symbols checked for by the +# sc_prohibit_intprops_without_use rule match those in the actual file. +# Extract the symbols from the .h file and compare with the list of +# symbols extracted from the rule in maint.mk. +sc_check_sym_list: + i=lib/intprops.h; \ + diff -u <(perl -lne '/^# *define ([A-Z]\w+)\(/ and print $$1' $$i|fmt) \ + <(sed -n /^_intprops_name/,/^_intprops_syms_re/p top/maint.mk \ + |sed '/^_/d;s/^ //;s/ *\\$$//') + # Regenerate some files that are stored in the repository. regen: MODULES.html