summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2011-06-13 18:01:47 +0200
committerJim Meyering <meyering@redhat.com>2011-06-16 08:30:01 +0200
commit0a9fbea492750b699f5bf721a475ca4d0bfb1332 (patch)
treedd095b3d8fd5296a72e2022b383e7fb5e8037c40 /Makefile
parente374f8d70a557c69ae71c85a28d733912f395516 (diff)
downloadgnulib-0a9fbea492750b699f5bf721a475ca4d0bfb1332.tar.gz
syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
* Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile36
1 files changed, 36 insertions, 0 deletions
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$$' \