From 0a9fbea492750b699f5bf721a475ca4d0bfb1332 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 13 Jun 2011 18:01:47 +0200 Subject: syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule. --- Makefile | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'Makefile') diff --git a/Makefile b/Makefile index c9bfc1615b..ca9a516e8e 100644 --- a/Makefile +++ b/Makefile @@ -37,6 +37,42 @@ sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT: " see <$$url>" 1>&2; exit 1; } || : \ else :; fi +# Files in m4/ that (exceptionally) may use AC_LIBOBJ. +# Do not include their ".m4" suffix. +allow_AC_LIBOBJ = \ + close \ + dprintf \ + dup2 \ + faccessat \ + fchdir \ + fclose \ + fcntl \ + fprintf-posix \ + open \ + printf-posix \ + snprintf \ + sprintf-posix \ + stdio_h \ + vasnprintf \ + vasprintf \ + vdprintf \ + vfprintf-posix \ + vprintf-posix \ + vsnprintf \ + vsprintf-posix + +allow_AC_LIBOBJ_or := $(shell echo $(allow_AC_LIBOBJ) | tr -s ' ' '|') + +sc_prohibit_AC_LIBOBJ_in_m4: + url=http://article.gmane.org/gmane.comp.lib.gnulib.bugs/26995; \ + if test -d .git; then \ + git ls-files m4 \ + | grep -Ev '^m4/($(allow_AC_LIBOBJ_or))\.m4$$' \ + | xargs grep '^ *AC_LIBOBJ(' \ + && { printf '%s\n' 'Do not use AC_LIBOBJ in m4/*.m4;' \ + "see <$$url>"; exit 1; } || :; \ + else :; fi + sc_pragma_columns: if test -d .git; then \ git ls-files|grep '\.in\.h$$' \ -- cgit v1.2.1