annotate cfg.mk @ 16988:ef9bd8b01585

maint.mk: new syntax check for HAVE_DECL checks Based on Karel's report, we might as well enforce a syntax check to help avoid future problems. https://lists.gnu.org/archive/html/coreutils/2012-06/msg00037.html Exempt a few files that still get picked up in the wild rather than as a full gnulib module with m4 files. * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule. * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests): Exempt some false positives. Based on a report by Karel Zak. Signed-off-by: Eric Blake <eblake@redhat.com>
author Eric Blake <eblake@redhat.com>
date Fri, 13 Jul 2012 14:02:05 -0600
parents c31ccd2abb3e
children cc9be652c57c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16296
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
1 # This file is used via the maint.mk-using rule in Makefile.
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
2
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
3 local-checks-to-skip = \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
4 sc_GFDL_version \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
5 sc_GPL_version \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
6 sc_bindtextdomain \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
7 sc_cast_of_alloca_return_value \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
8 sc_cast_of_argument_to_free \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
9 sc_cast_of_x_alloc_return_value \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
10 sc_error_message_period \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
11 sc_error_message_uppercase \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
12 sc_immutable_NEWS \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
13 sc_m4_quote_check \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
14 sc_makefile_TAB_only_indentation \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
15 sc_makefile_at_at_check \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
16 sc_makefile_path_separator_check \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
17 sc_obsolete_symbols \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
18 sc_program_name \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
19 sc_prohibit_HAVE_MBRTOWC \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
20 sc_prohibit_S_IS_definition \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
21 sc_prohibit_always_true_header_tests \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
22 sc_prohibit_always-defined_macros \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
23 sc_prohibit_atoi_atof \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
24 sc_prohibit_c_ctype_without_use \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
25 sc_prohibit_dirent_without_use \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
26 sc_prohibit_error_without_use \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
27 sc_prohibit_getopt_without_use \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
28 sc_prohibit_have_config_h \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
29 sc_prohibit_inttostr_without_use \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
30 sc_prohibit_magic_number_exit \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
31 sc_prohibit_path_max_allocation \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
32 sc_prohibit_reversed_compare_failure \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
33 sc_prohibit_safe_read_without_use \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
34 sc_prohibit_signal_without_use \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
35 sc_prohibit_stat_st_blocks \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
36 sc_prohibit_stddef_without_use \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
37 sc_prohibit_stdio--_without_use \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
38 sc_prohibit_strcmp \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
39 sc_prohibit_strings_without_use \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
40 sc_prohibit_undesirable_word_seq \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
41 sc_prohibit_xalloc_without_use \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
42 sc_require_config_h \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
43 sc_require_config_h_first \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
44 sc_space_tab \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
45 sc_texinfo_acronym \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
46 sc_two_space_separator_in_usage \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
47 sc_unmarked_diagnostics \
daedf702e83c maint: add framework to run syntax-check rules against gnulib sources
Jim Meyering <meyering@redhat.com>
parents:
diff changeset
48 sc_useless_cpp_parens
16297
9e763e250026 maint: remove empty lines at EOF, but excluding modules/*
Jim Meyering <meyering@redhat.com>
parents: 16296
diff changeset
49
9e763e250026 maint: remove empty lines at EOF, but excluding modules/*
Jim Meyering <meyering@redhat.com>
parents: 16296
diff changeset
50 empty-at-EOF = /fr/LC_MESSAGES/test-quotearg\.mo$$|^doc/INSTALL(\.(ISO|UTF-8))?
9e763e250026 maint: remove empty lines at EOF, but excluding modules/*
Jim Meyering <meyering@redhat.com>
parents: 16296
diff changeset
51 exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = \
9e763e250026 maint: remove empty lines at EOF, but excluding modules/*
Jim Meyering <meyering@redhat.com>
parents: 16296
diff changeset
52 ^modules/|^lib/javaversion\.class$$|$(empty-at-EOF)
16298
934e44e9f2a5 maint: enable double-word-prohibiting rule
Jim Meyering <meyering@redhat.com>
parents: 16297
diff changeset
53 exclude_file_name_regexp--sc_prohibit_doubled_word = \
934e44e9f2a5 maint: enable double-word-prohibiting rule
Jim Meyering <meyering@redhat.com>
parents: 16297
diff changeset
54 ^(tests/test-init\.sh|lib/base(32|64)\.c)$$
16302
43fb268b5b29 maint: enable sc_prohibit_openat_without_use
Jim Meyering <meyering@redhat.com>
parents: 16301
diff changeset
55 exclude_file_name_regexp--sc_prohibit_openat_without_use = ^lib/selinux-at\.c$$
16303
b21b4b8a7b66 maint: enable sc_trailing_blank
Jim Meyering <meyering@redhat.com>
parents: 16302
diff changeset
56 exclude_file_name_regexp--sc_trailing_blank = \
16784
5ad2d5fd1f23 maint: avoid spurious "make sc_maint" failure
Jim Meyering <meyering@redhat.com>
parents: 16303
diff changeset
57 ^(.*\.class|build-aux/texinfo\.tex|doc/Copyright/assign\.future\.manual)$$
16928
5ae6e7d59a53 maint: disable the strncpy prohibition
Jim Meyering <meyering@redhat.com>
parents: 16784
diff changeset
58
5ae6e7d59a53 maint: disable the strncpy prohibition
Jim Meyering <meyering@redhat.com>
parents: 16784
diff changeset
59 # Disable strncpy prohibition completely, for now.
5ae6e7d59a53 maint: disable the strncpy prohibition
Jim Meyering <meyering@redhat.com>
parents: 16784
diff changeset
60 exclude_file_name_regexp--sc_prohibit_strncpy = .*
16984
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
61
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
62 if_before_free_offenders_ = \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
63 clean-temp.c \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
64 csharpcomp.c \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
65 free.c \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
66 fstrcmp.c \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
67 gl_carray_list.c \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
68 glob.c \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
69 glthread/lock.c \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
70 propername.c \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
71 relocatable.c \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
72 vasnprintf.c
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
73
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
74 if_before_free_basename_re_ = \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
75 $(shell printf '%s\n' '$(if_before_free_offenders_)' \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
76 |sed 's|\.c\>||g'|tr -s '[\n[:space:]]' '|')
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
77
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
78 exclude_file_name_regexp--sc_avoid_if_before_free = \
c31ccd2abb3e maint: enable the sc_avoid_if_before_free syntax-check rule
Jim Meyering <meyering@redhat.com>
parents: 16928
diff changeset
79 ^lib/($(if_before_free_basename_re_))\.c$$
16988
ef9bd8b01585 maint.mk: new syntax check for HAVE_DECL checks
Eric Blake <eblake@redhat.com>
parents: 16984
diff changeset
80
ef9bd8b01585 maint.mk: new syntax check for HAVE_DECL checks
Eric Blake <eblake@redhat.com>
parents: 16984
diff changeset
81 exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests = \
ef9bd8b01585 maint.mk: new syntax check for HAVE_DECL checks
Eric Blake <eblake@redhat.com>
parents: 16984
diff changeset
82 ^lib/((error|getopt|strtoimax)\.c|(argp-namefrob|fpending|getpass)\.h)$$