summaryrefslogtreecommitdiff
path: root/top
Commit message (Collapse)AuthorAgeFilesLines
* maint.mk: make the news-check rule more configurablePeter Simons2010-06-081-2/+8
| | | | | * top/maint.mk (news-check-lines-spec) New variable. (news-check): Use "sed -n 1,10p" in place of "head".
* git-version-gen: take a sed script to transform the git tagLudovic Courtès2010-05-281-2/+4
| | | | | | | * build-aux/git-version-gen (tag_sed_script): New variable. Use it to transform the output of "git describe" to the canonical form. * top/GNUmakefile (_curr-ver): Pass $(git-version-gen-tag-sed-script) as a second argument to `git-version-gen'.
* maint.mk: also prohibit "#undef" of always-defined symbolsJim Meyering2010-05-271-2/+3
| | | | | | | * top/maint.mk (def_sym_regex): Handle #undef as well as #define. Allow more than one space before the symbol name. (sc_prohibit_always-defined_macros): Use grep's -E, now that the regexp uses alternation.
* maint.mk: avoid echo -eEric Blake2010-05-261-3/+4
| | | | | | | | | | | | There are still other potentially non-portable uses of echo throughout this file, if $(ME) contains \ or starts with -, but this patch is a trivial step in the right direction. * top/maint.mk (gzip_rsyncable): Convert all uses of echo -* to printf. Reported by Matthias Bolte. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint.mk: tweak preceding changeJim Meyering2010-05-111-1/+1
| | | | | | * top/maint.mk (gl_extract_significant_defines_): Make exclusion regexps tighter by anchoring at EOL, and make the new group "shy" for slightly decreased overhead.
* maint.mk: gnulib doesn't guarantee NSIGEric Blake2010-05-111-2/+3
| | | | | | | | | | Gnulib conditionally defines NSIG to 32 for some platforms. But since NSIG is not mandated by standards, and there are platforms with 64 signals, we should not promise that NSIG is guaranteed. * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint.mk: avoid using a temporary file in the always-defined-macros checkJim Meyering2010-05-101-15/+8
| | | | | | | | * top/maint.mk (.re-defmac): Remove rule. (gl_trap_): Remove definition. (sc_prohibit_always-defined_macros): Rewrite not to create and depend on a temporary file. Instead, depend on GNU grep's ability to read a list of regular expressions from stdin when given "-f -".
* maint.mk: improve sc_cross_check_PATH_usage_in_testsJim Meyering2010-05-091-12/+14
| | | | | | | | | | | | | | | With my recent change in init.sh from the two-line form: -# : ${srcdir=.} -# . "$srcdir/init.sh"; path_prepend_ . +# . "${srcdir=.}/init.sh"; path_prepend_ . I noticed that using the one-line form would cause this test to fail with a false-positive, or to stop working altogether, depending on whether help-version changed or all the tests did. * top/maint.mk (_hv_regex): Remove this definition. (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files. (_hv_regex_strong): Use a stronger regex to check for conformance. (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above. Give a separate diagnostic for lack of conforming use.
* maint.mk: prohibit definition of symbols defined by gnulibJim Meyering2010-05-091-0/+44
| | | | | * top/maint.mk (sc_prohibit_always-defined_macros): Reject the definition of symbols defined by gnulib.
* maint.mk: allow to pass options to gendocs.shJim Meyering2010-05-031-1/+6
| | | | | * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh. (gendocs_options_): New overridable variable.
* maint.mk, announce-gen: allow project-specific announcement mail headersJim Meyering2010-05-031-0/+8
| | | | | | | * top/maint.mk (translation_project_): Define default. (announcement_Cc_, announcement_mail_headers_): Likewise. (announcement): Invoke announce-gen with new --mail-headers option. * build-aux/announce-gen: New option: --mail-headers=HEADERS.
* maint.mk: prohibit unwarranted use of <strings.h>Jim Meyering2010-05-031-0/+7
| | | | | | * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of strings.h in a file that does not also use strcasecmp, strncasecmp, ffs or ffsll.
* maint.mk: remove obsolete commentsJim Meyering2010-05-031-10/+0
| | | | * top/maint.mk: Remove stale, commented-out rules.
* top/maint.mk (indent): Run twice to produce idempotent results.Simon Josefsson2010-04-291-0/+2
|
* maint.mk: fix a bug introduced in last changeJim Meyering2010-04-271-1/+1
| | | | | | * top/maint.mk (gl_assured_headers_): Now that all names are on one line, use sed's "g" modifier. Note that while the \.in\.h LHS is not anchored to end of word, it should be adequate.
* maint.mk: avoid side-effect in latest syntax-checkJim Meyering2010-04-271-7/+8
| | | | | | * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not to run commands via $(shell...), and hence to incur cost only when the new rule is actually run.
* maint.mk: syntax-check: prohibit HAVE_<header>_H that are always trueJim Meyering2010-04-271-0/+22
| | | | | | | | Derive the list of guaranteed header names from gnulib/lib/*.in.h, and use that to create a regexp used to detect all #if HAVE_..._H uses. * top/maint.mk (sc_prohibit_always_true_header_tests): New rule. (gl_assured_headers_, az_, AZ_): Define. (gl_header_upper_case_or_, gl_have_header_regex_): Define.
* top/maint.mk (sc_prohibit_backup_files): Prohibit checked in backup files.Simon Josefsson2010-04-221-0/+6
|
* maint.mk: use gnu-style indentation in an embedded perl scriptJim Meyering2010-04-171-10/+12
| | | | | * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting. Rename variable: s/two/last_two_bytes/
* maint.mk: texinfo_suffix_re_: correct the default regexpJim Meyering2010-04-151-1/+1
| | | | * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
* top/maint.mk (sc_texinfo_acronym): Improve filename regexp.Simon Josefsson2010-04-151-2/+3
|
* maint.mk: generate more concise timing data for syntax-check rulesJim Meyering2010-04-121-1/+1
| | | | | * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and " done" from each line that reports a syntax-check test duration.
* maint.mk: don't include dist-check.mkJim Meyering2010-04-111-2/+0
| | | | * top/maint.mk: Remove bogus include directive.
* maint.mk: improve empty-line-at-EOF checkJim Meyering2010-04-111-10/+23
| | | | | | | * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based solution, rather than tail+Perl-based one. The latter would read a few kilobytes from the end of each file, and did not handle empty files properly.
* maint.mk: print the elapsed time for each syntax-check ruleJim Meyering2010-04-111-2/+17
| | | | | | * top/maint.mk (sc_m_rules_): Save start time in a file. (sc_z_rules_): New rules: remove temp file and print elapsed time. (local-check): Interpose the .z rules
* maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty fileJim Meyering2010-04-111-1/+1
| | | | | * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an empty file with one that ends in an empty line.
* maint.mk: new syntax-check rule: prohibit empty lines at end of fileJim Meyering2010-04-101-0/+23
| | | | * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
* maint.mk: correct a diagnosticJim Meyering2010-04-101-1/+1
| | | | | * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re in diagnostic; now use $prohibit.
* maint.mk: print better diagnostic when there is no $(_hv_file)Jim Meyering2010-04-091-8/+12
| | | | | * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and announce that when $(_hv_file) (aka help-version) does not exist.
* maint.mk: add a PATH crosschecking syntax-check ruleJim Meyering2010-04-071-0/+20
| | | | | | | * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule. Useful if you use a test like the one in help-version (coreutils, diffutils, grep, gzip) that ensures $(VERSION) matches what is printed by prog --version.
* maint.mk: don't silently disable project-specific syntax-check rulesJim Meyering2010-04-031-0/+9
| | | | | | * top/maint.mk (_prohibit_regexp): Define, to help people realize that they need to convert their project-specific syntax-check rules to use the new _sc_search_regexp.
* maint.mk: fix some falloutEric Blake2010-04-021-3/+3
| | | | | | | | | Also rearrange ChangeLog to match commit order. * NEWS: Document the incompatible change, and its effect on cfg.mk. * top/maint.mk (sc_prohibit_test_minus_ao): Update. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexpJose E. Marchesi2010-04-021-143/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adapt existing rules to use the new factorization, which provides a more declarative syntax for pattern searching syntax checks. * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp. (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp. (sc_cast_of_x_alloc_return_value): Likewise. (sc_cast_of_alloca_return_value): Likewise. (sc_space_tab): Likewise. (sc_prohibit_atoi_atof): Likewise. (sc_prohibit_magic_number_exit): Likewise. (sc_error_exit_success): Likewise. (sc_file_system): Likewise. (sc_prohibit_have_config_h): Likewise. (sc_require_config_h): Likewise. (sc_prohibit_HAVE_MBRTOWC): Likewise. (sc_obsolete_symbols): Likewise. (sc_changelog): Likewise. (sc_program_name): Likewise. (sc_the_the): Likewise. (sc_trailing_blank): Likewise. (sc_two_space_separator_in_usage): Likewise. (sc_useless_cpp_parens): Likewise. (sc_GPL_version): Likewise. (sc_GFDL_version): Likewise. (sc_texinfo_acronym): Likewise. (sc_prohibit_cvs_keyword): Likewise. (sc_prohibit_stat_st_blocks): Likewise. (sc_prohibit_S_IS_definition): Likewise. (sc_redundant_const): Likewise. (sc_makefile_TAB_only_indentation): Likewise. (sc_m4_quote_check): Likewise. (sc_makefile_path_separator_check): Likewise. (sc_copyright_check): Likewise. (sc_Wundef_boolean): Likewise. (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
* maint.mk: match 0 or more whitespace-before-function-call '('Jose E. Marchesi2010-04-011-4/+4
| | | | | | | | | * top/maint.mk (sc_error_exit_success): Relax regexp to match uses that have zero or two-and-more spaces between the function name and the open parenthesis. (sc_error_message_warn_fatal): Likewise. (sc_error_message_uppercase): Likewise. (sc_error_message_period): Likewise.
* maint.mk: check for [ as well as testEric Blake2010-03-311-2/+3
| | | | | | | | | | | | | A word on the regex: \<\[ never matches, so the match instead looks for a leading space in that case. Although configure.ac should generally use test instead of [ (because the latter has to be spelled [[ because of m4 processing), libvirt had a case of the latter that would have been detected with this rule. * top/maint.mk (sc_prohibit_test_minus_ao): Extend test. Based on a libvirt report by Matthias Bolte. Signed-off-by: Eric Blake <eblake@redhat.com>
* gnumakefile: don't squelch _version outputEric Blake2010-03-311-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Borrowing from a trick I discovered on the libvirt list. More details about how this trick works: GNU make parses all Makefiles, then checks whether they are up-to-date, all before making anything else; if any Makefile timestamps change, then it restarts with the original arguments and repeats the check for up-to-date Makefiles (assuming that this time the check will pass). Since all the rules are parsed before Makefile is updated, proceeding without reloading Makefiles would result in the use of the stale $(VERSION) string that was in effect when we first started, so we must update a timestamp to force the reload. However, if we made Makefile depend on _version, we would end up running _version twice. So instead, we make _version run a recursive make to update Makefile (the recursive make skips the rules for checking whether the version string needs an update, avoiding any extra runs of _version), then ensure that GNUmakefile has an updated timestamp to force the reload of the updated Makefile. * top/GNUmakefile (GNUmakefile): Create one-shot dependency rather than using $(shell) to run _version target. (_autoreconf): Run verbosely, by default. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint.mk: split a long lineJim Meyering2010-03-301-1/+2
| | | | * top/maint.mk: Split a line to fit in 80 columns.
* maint.mk: s/_header_without_use/_sc_header_without_use/Jose E. Marchesi2010-03-301-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | * top/maint.mk (_sc_header_without_use): Rename from _header_without_use. (sc_prohibit_assert_without_use): Use the new name. (sc_prohibit_close_stream_without_use): Likewise. (sc_prohibit_getopt_without_use): Likewise. (sc_prohibit_quotearg_without_use): Likewise. (sc_prohibit_quote_without_use): Likewise. (sc_prohibit_long_options_without_use): Likewise. (sc_prohibit_inttostr_without_use): Likewise. (sc_prohibit_ignore_value_without_use): Likewise. (sc_prohibit_error_without_use): Likewise. (sc_prohibit_xalloc_without_use): Likewise. (sc_prohibit_hash_without_use): Likewise. (sc_prohibit_hash_pjw_without_use): Likewise. (sc_prohibit_safe_read_without_use): Likewise. (sc_prohibit_argmatch_without_use): Likewise. (sc_prohibit_canonicalize_without_use): Likewise. (sc_prohibit_root_dev_ino_without_use): Likewise. (sc_prohibit_openat_without_use): Likewise. (sc_prohibit_c_ctype_without_use): Likewise. (sc_prohibit_signal_without_use): Likewise. (sc_prohibit_intprops_without_use): Likewise.
* maint.mk: prohibit use of test's -o and -a operatorsJim Meyering2010-03-281-0/+8
| | | | * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
* top/maint.mk (sc_texinfo_acronym): Don't infloop if there is no *.texi files.Simon Josefsson2010-03-261-3/+6
| | | | Reported by Eric Blake <eblake@redhat.com>.
* maint.mk (sc_Wundef_boolean): Skip test if no config.h.Pádraig Brady2010-03-241-2/+3
| | | | Signed-off-by: Simon Josefsson <simon@josefsson.org>
* top/maint.mk (sc_texinfo_acronym): Add rule.Simon Josefsson2010-03-241-0/+7
| | | | Based on suggestions from karl@freefriends.org (Karl Berry).
* maint.mk: prohibit inclusion of "intprops.h" without useJim Meyering2010-03-211-0/+13
| | | | * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
* maint.mk: mark syntax-check sc_*.m rules as .PHONYJim Meyering2010-02-151-1/+3
| | | | | * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that "make -t syntax-check" doesn't create a ton of sc_*.m files.
* maint.mk: prohibit inclusion of "hash-pjw.h" without_useJim Meyering2010-02-141-1/+6
| | | | | * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@". (sc_prohibit_hash_pjw_without_use): New rule.
* maint.mk: allow the default upload destination dir to be overriddenJim Meyering2010-02-141-1/+2
| | | | | | | * top/maint.mk (upload_dest_dir_): Define with a default that preserves the status quo. (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE). Reported by Peter Simons.
* maint.mk: prohibit inclusion of "hash.h" without_useJim Meyering2010-02-141-0/+11
| | | | * top/maint.mk (sc_prohibit_hash_without_use): New rule.
* maint.mk: prohibit inclusion of "ignore-value.h" without_useJim Meyering2010-02-101-0/+5
| | | | * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
* maint: add a syntax-check rule to check for vulnerable Makefile.inJim Meyering2010-01-281-0/+13
| | | | * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
* syntax-check: detect incorrect boolean macro values in config.hPádraig Brady2010-01-251-0/+8
| | | | | | | | | * modules/maintainer-makefile (configure.ac): Parameterize the location of config.h which will be available to makefiles as $(CONFIG_INCLUDE). The logic is from Eric Blake and the location indicated by Jim Meyering. Note the more natural CONFIG_HEADER name is prohibited by automake for backwards compatibility reasons. * top/maint.mk (sc_Wundef_boolean): New rule.