From: Jim Meyering Date: Mon, 13 Jun 2011 16:01:47 +0000 (+0200) Subject: syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy X-Git-Tag: v0.1~2263 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=0a9fbea492750b699f5bf721a475ca4d0bfb1332;p=gnulib.git syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule. --- diff --git a/ChangeLog b/ChangeLog index 9fc8e4bcb..6c4999b57 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-06-13 Jim Meyering + + syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy + * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule. + 2011-05-23 Bruno Haible yesno: Move AC_LIBOBJ invocations to module description. diff --git a/Makefile b/Makefile index c9bfc1615..ca9a516e8 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$$' \