changeset 16296:daedf702e83c

maint: add framework to run syntax-check rules against gnulib sources * cfg.mk: New file, to disable all currently-failing tests. We'll enable them one by one, as they are made to pass. * Makefile (sc_maint): New rule.
author Jim Meyering <meyering@redhat.com>
date Tue, 17 Jan 2012 17:51:40 +0100
parents e3af23ad37a8
children 9e763e250026
files ChangeLog Makefile cfg.mk
diffstat 3 files changed, 70 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-01-17  Jim Meyering  <meyering@redhat.com>
+
+	maint: add framework to run syntax-check rules against gnulib sources
+	* cfg.mk: New file, to disable all currently-failing tests.
+	We'll enable them one by one, as they are made to pass.
+	* Makefile (sc_maint): New rule.
+
 2012-01-21  Bruno Haible  <bruno@clisp.org>
 
 	stdint: Add support for Android.
--- a/Makefile
+++ b/Makefile
@@ -49,6 +49,13 @@
 		 "  see <$$url>" 1>&2; exit 1; } || :			\
 	else :; fi
 
+# Run all maint.mk syntax-check tests on gnulib's sources.
+sc_maint:
+	rm -f maint.mk; ln -s top/maint.mk maint.mk
+	$(MAKE) -s srcdir=. gnulib_dir=. _build-aux=build-aux \
+            -f cfg.mk -f maint.mk syntax-check
+	rm -f maint.mk
+
 # Files in m4/ that (exceptionally) may use AC_LIBOBJ.
 # Do not include their ".m4" suffix.
 allow_AC_LIBOBJ =	\
new file mode 100644
--- /dev/null
+++ b/cfg.mk
@@ -0,0 +1,56 @@
+# This file is used via the maint.mk-using rule in Makefile.
+
+local-checks-to-skip =			\
+  sc_GFDL_version			\
+  sc_GPL_version			\
+  sc_avoid_if_before_free		\
+  sc_bindtextdomain			\
+  sc_cast_of_alloca_return_value	\
+  sc_cast_of_argument_to_free		\
+  sc_cast_of_x_alloc_return_value	\
+  sc_error_message_period		\
+  sc_error_message_uppercase		\
+  sc_immutable_NEWS			\
+  sc_m4_quote_check			\
+  sc_makefile_TAB_only_indentation	\
+  sc_makefile_at_at_check		\
+  sc_makefile_path_separator_check	\
+  sc_obsolete_symbols			\
+  sc_program_name			\
+  sc_prohibit_HAVE_MBRTOWC		\
+  sc_prohibit_S_IS_definition		\
+  sc_prohibit_always_true_header_tests	\
+  sc_prohibit_always-defined_macros	\
+  sc_prohibit_atoi_atof			\
+  sc_prohibit_c_ctype_without_use	\
+  sc_prohibit_cloexec_without_use	\
+  sc_prohibit_dirent_without_use	\
+  sc_prohibit_doubled_word		\
+  sc_prohibit_empty_lines_at_EOF	\
+  sc_prohibit_error_without_use		\
+  sc_prohibit_getopt_without_use	\
+  sc_prohibit_hash_pjw_without_use	\
+  sc_prohibit_have_config_h		\
+  sc_prohibit_intprops_without_use	\
+  sc_prohibit_inttostr_without_use	\
+  sc_prohibit_magic_number_exit		\
+  sc_prohibit_openat_without_use	\
+  sc_prohibit_path_max_allocation	\
+  sc_prohibit_reversed_compare_failure	\
+  sc_prohibit_safe_read_without_use	\
+  sc_prohibit_signal_without_use	\
+  sc_prohibit_stat_st_blocks		\
+  sc_prohibit_stddef_without_use	\
+  sc_prohibit_stdio--_without_use	\
+  sc_prohibit_strcmp			\
+  sc_prohibit_strings_without_use	\
+  sc_prohibit_undesirable_word_seq	\
+  sc_prohibit_xalloc_without_use	\
+  sc_require_config_h			\
+  sc_require_config_h_first		\
+  sc_space_tab				\
+  sc_texinfo_acronym			\
+  sc_trailing_blank			\
+  sc_two_space_separator_in_usage	\
+  sc_unmarked_diagnostics		\
+  sc_useless_cpp_parens