From fac40623358b11e770df3ef686870632ef4fc104 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Fri, 24 Jun 2011 20:52:00 +0200 Subject: [PATCH] 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. --- ChangeLog | 9 +++++++++ Makefile | 13 +++++++++++++ 2 files changed, 22 insertions(+) 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 -- 2.11.0