summaryrefslogtreecommitdiff
path: root/bin
Commit message (Collapse)AuthorAgeFilesLines
* Revert "maint: require perl 5.010 or later"Jacob Bachmeyer2023-03-292-2/+2
| | | | | | This reverts commit 4e3744a15c4d8bdb46c11ead2fb56c5f591b714b. Copyright-paperwork-exempt: yes
* dirstamp: revert change of Jan 11 2023.Karl Berry2023-02-281-8/+4
| | | | | | | | | Fixes (hopefully) automake bug https://bugs.gnu.org/61867. * bin/automake.in: restore explicit per-directory pattern rules, since evidently @D is not supported on BSD-derived makes, whatever POSIX says. That is, revert this commit: https://git.savannah.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=55f8fcfd08cbf15d65d61dd2db934b6c3171cf06
* maint: require perl 5.010 or laterPaul Eggert2023-02-022-2/+2
| | | | This is needed for better treatment of high-res timestamps.
* dirstamp: switch to a pattern ruleMike Frysinger2023-01-121-4/+8
| | | | | | | | | | | | | | | | | | | | | | | We can leverage $(@D) to generate a single pattern rule for all dirstamp rules. This saves many lines in the output -- normally we create 2 rules (or 6 lines) per subdir, and projects that use subdirs tend to use them quite a bit. In the most extreme & unlikely case (1 subdir, no depdir support), the line count is the same. In every other case, it's always a win. Looking at a few real world projects, the line deltas: * GNU libgloss: +3 -66 * GNU newlib: +3 -714 * GNU sim: +3 -138 There shouldn't be any concerns about portability with $(@D) because: (0) This has been in POSIX (and beyond) for decades, (1) We only generate this rule iff we know the dirstamp is in a subdir (so we'd never have a case where $(@D) would expand to the cwd, and that is where a few implementations are known to be buggy), (2) We already rely on $(@D) in our depdir code, and have since 2014 (the Automake 1.16 release).
* dirstamp: use append too instead of truncateMike Frysinger2023-01-111-1/+1
| | | | | | | | | | | | | | | | | | We changed the depfiles logic to use >> (append) instead of > (truncate) due to it being slightly faster & nicer to the disk. Do the same with the dirstamp files as we only need the files to exist -- we don't care about their content, and we never put anything in them ourselves. If someone else were to, we clean them up normally with `make clean`. Simple test case on my Linux 6.1 w/ext4 on SSD: @: > foo.txt for (i = 0; i < 1000000; ++i) close(open("foo.txt", O_WRONLY|O_CREAT|O_TRUNC, 0666)); -> 769 msec @: >>foo.txt for (i = 0; i < 1000000; ++i) close(open("foo.txt", O_WRONLY|O_CREAT|O_APPEND, 0666)); -> 2 sec
* rm: convert more cases to am__rm_fMike Frysinger2023-01-091-6/+1
| | | | | | | | | | | | | | | | | | | | | | Fixes automake bug https://bugs.gnu.org/10828. Clean up a few more cases where we were doing `test ... || rm ...` to avoid calling `rm -f` without arguments by leveraging am__rm_f. These were harder to find in the source due to their constructed nature. The clean programs rules in particular were much more complicated than they needed to be. This logic boiled down to two things: delete the list of programs, and then delete the list without the exeext suffix, but only if the list of programs is non-empty. The check-TESTS rule was converted to am__rm_f, but a simplification was missed where the $list variable is inlined. * bin/automake.in: Delete test -z logic and always call am__rm_f. * contrib/check-html.am: Use $(am__rm_f) helper. * doc/automake.texi: Update examples to match current behavior. * lib/am/check.am: Inline $list variable. * lib/am/progs.am: Rewrite rule to use $(am__rm_f).
* maint: make update-copyrightMike Frysinger2023-01-043-3/+3
|
* aclocal: protect against Perl undefined warnings.Karl Berry2022-10-011-2/+4
| | | | | | * bin/aclocal.in (usage): check that envvars (ACLOCAL_AUTOMAKE_DIR, ACLOCAL_PATH) are defined before printing values. * HACKING: describe running scripts from checkout, et al.
* automake: fall back gracefully when texinfo inputs don't existMike Frysinger2022-03-051-1/+3
| | | | | | | | | | | | Fixes automake bug https://bugs.gnu.org/54063. The function scanning for @setfilename will fall back to a default value if the input doesn't have one defined. But we need to handle the case where the file doesn't even exist before falling back. * bin/automake.in: Scan /dev/null for @setfilename if input doesn't exist. * t/list-of-tests.mk: Add txinfo-no-setfilename-no-inputs.sh. * t/txinfo-no-setfilename-no-inputs.sh: New test.
* automake: allow required files to be in subdirsMike Frysinger2022-02-231-0/+7
| | | | | | | | | | | | | | | | | | Fixes automake bug https://bugs.gnu.org/20300. The internal method for caching path lookups expects the $filename to only be a filename. If it's actually a subdir/file itself, then the cache logic gets confused, and it never matches. This manifests as AC_REQUIRE_AUX_FILE([subdir/file]) claiming that the subdir/file path doesn't exist even when it does. Before we process any required files, since we already construct the full path locally, reset the dir & file inputs to the final values. * bin/automake.in: Split dir & file name back out from the constructed required file path. * t/auxdir-subsubdir.sh: New test. * t/list-of-tests.mk: Add t/auxdir-subsubdir.sh.
* texi: pass automatic -I to dvi & pdf generationMike Frysinger2022-01-281-0/+4
| | | | | | | | | | | | | | | | | | | | | | Fixes automake bug https://bugs.gnu.org/23599. When generating info/html pages, automake adds -I flags to source dirs that contain the texi files, but it doesn't do this for dvi or pdf formats. Instead, automake has been relying on texi2dvi to use makeinfo for expanding macros, and it hasn't done that by default in a long time. Since adding --expand to the texi2dvi call is undesirable (due to bad and unpredictable BEHAVIOR), pass those automatic -I flags directly to TEXI2DVI & TEXI2PDF so they work regardless of --expand behavior. We have to keep the MAKEINFO= setting around as texi2dvi might itself fall back to it if the version of tex is old or broken. * bin/automake.in: Add comment about $makeinfoflags usage. * doc/automake.texi: Mention automatic -I subdir flags. * lib/am/texibuild.am: Pass %MAKEINFOFLAGS% to TEXI2DVI & TEXI2PDF. * t/txinfo-subdir-pr343.sh: Check for -I subdir usage.
* progs, libs: support _RANLIB overridesMike Frysinger2022-01-241-1/+5
| | | | | | | | | | | | | Much like we have per-target support for _AR and _LINK, add an _RANLIB override too. This allows selection of specific ranlib tools in case a non-standard archiver tool was forced. * bin/automake.in: Check for _RANLIB per-target settings. * doc/automake.texi: Document _RANLIB override. * lib/am/library.am: Change $(RANLIB) to $(%XLIBRARY%_RANLIB). * t/list-of-tests.mk: Add ranlib_override.sh. * t/ranlib_override.sh: New test. * NEWS: Mention new feature.
* aclocal: add m4 search path info to --helpMike Frysinger2022-01-241-2/+20
| | | | | | | | | | Add a short summary to --help of the current paths that will be searched. Make sure to omit this from the man page when running help2man since pre-inst-env specifically clears some and others to the current build directory. * bin/aclocal.in: Include m4 search paths in usage. * doc/local.mk: Run help2man with AUTOMAKE_HELP2MAN=true.
* maint: make update-copyrightJim Meyering2022-01-123-3/+3
|
* automake: consistently depend on install-libLTLIBRARIES.Jan Engelhardt2021-09-101-6/+19
| | | | | | | | | | Report and patch: https://lists.gnu.org/archive/html/automake/2021-08/msg00016.html * bin/automake.in (generate_makefile): depend on install-libLTLIBRARIES for all PROGRAMS and LTLIBRARIES, such as install-pkglibLTLIBRARIES. * NEWS: mention this.
* automake: silent make output for custom link commands.Nick Gasson2021-07-151-2/+6
| | | | | | | | | | | | | | Patch posted: https://lists.gnu.org/archive/html/automake-patches/2021-07/msg00010.html * bin/automake.in (define_per_target_linker_variable): Use AM_V_${target}_LINK if defined as the verbose variable name for custom link commands. * doc/automake.texi (Program and Library Variables): Document the new variable. * t/link_override.sh: Add extra checks for silent make rules. * NEWS: Mention this. * THANKS: new contributor.
* maint: make update-copyrightJim Meyering2021-07-112-2/+2
|
* no-dist-built-sources: fix-upJim Meyering2021-07-111-3/+2
| | | | | | | | | | * bin/automake.in (preprocess_file): Process new option here, (handle_dist): ... not here. * lib/Automake/Options.pm (_is_valid_easy_option): Remove pure-dist. * lib/am/distdir.am: Don't factor out the duplicate-looking $(MAKE)... command. Otherwise, many dist-using tests would fail for me, e.g., t/aclocal-amflags.sh.
* dist: add new "dist-no-built-sources" automake option.Allison Karlitskaya2021-07-091-1/+3
| | | | | | | | | | | | | | | Fixes automake bug https://debbugs.gnu.org/49317. * bin/automake.in: implement new option "no-dist-built-sources" to omit the dependency of distdir on $(BUILT_SOURCES). (Allison's original patch used the option name dist-pure; trivially renamed.) * lib/am/distdir.am (distdir) [DIST_BUILT_SOURCES]: conditionalize the dependency. * lib/Automake/Options.pm (_is_valid_easy_option): list it. * doc/automake.texi (List of Automake options): document it. * NEWS: mention it. * t/dist-no-built-sources.sh: test it. * t/list-of-tests.mk (handwritten_TESTS): add it.
* dist: accept .md versions for README et al.Karl Berry2021-07-011-13/+48
| | | | | | | | | | | | | | | | | | | | This change was suggested by madmurphy; some ideas were taken from the patch he provided. https://lists.gnu.org/archive/html/automake-patches/2021-06/msg00005.html * bin/automake.in (@toplevelmd_ok): new global, listing the files for which we will accept .md versions. (@common_files): remove those files from there. (handle_dist): check for .md if non-.md is absent. (handle_minor_options): check for README-alpha.md. (check_gnu_standards): accept .md version if present. (check_gnits_standards): likewise. (usage): output list of .md-accepted files. * doc/automake.texi (Basics of Distribution): document. * t/toplevelmd.sh: new test. * t/list-of-tests.mk (handwritten_tests): add it. * NEWS: mention new feature.
* automake: sort hash keys needed for reproducible output.Dirk Mueller2021-02-271-6/+6
| | | | | | | | | This change fixes https://bugs.gnu.org/46744. * bin/automake.in: sort keys, in: handle_LIBOBJS, handle_clean, handle_factored_dependencies, scan_autoconf_traces, lang_vala_finish. * NEWS: mention this.
* doc: comment Vala -newer test.Karl Berry2020-12-051-0/+6
| | | | | | | | This change updates https://bugs.gnu.org/44772. * bin/automake.in (lang_vala_finish_target): comment that we're checking "C file not older than Vala file", and the log message misleadingly says "reversed".
* warnings: be less forceful about a missing subdir-objects option.Karl Berry2020-12-031-6/+11
| | | | | | | | | | | | This change somewhat ameliorates https://bugs.gnu.org/20699. * bin/automake.in (handle_single_transform): change forward-incompatibility message for subdir-objects to be less draconian and less certain that the change will ever be made. * t/subobj.sh: message text has changed. * doc/automake.texi (Program and Library Variables): mention the unfortunate fact that one directory can clean in a sibling, subdir-objects notwithstanding.
* vala: avoid wrong regeneration of C files.Reuben Thomas2020-11-271-1/+1
| | | | | | | | This change might fix https://bugs.gnu.org/44772. * bin/automake.in (lang_val_finish_target): reverse -newer test to handle files being created at the same time causing spurious rebuilds.
* vala: improve support, especially builddir vs. srcdir.Reuben Thomas2020-11-071-12/+32
| | | | | | | | | | | | | | | | | | | | | | | This change fixes https://bugs.gnu.org/13002. * NEWS: mention these changes. * bin/automake.in: generated C files go in builddir, not srcdir. Distribute the header files generated from VAPI files. * t/vala-libs-distcheck.sh: new test for `make distcheck' of a Vala library. * t/vala-libs-vpath.sh: new test for a VPATH build of a Vala library. * t/vala-libs.sh: add local VAPIs used as external --package to test. * t/vala-recursive-setup.sh: we need to make maintainer-clean at one point to remove stamp files to avoid confusing a VPATH build performed after a non-VPATH build. * t/vala-non-recursive-setup.sh: likewise. * t/vala-parallel.sh: some test paths need changing to take into account that generated C files now go in builddir. * t/vala-per-target-flags.sh: likewise. * t/vala-recursive-setup.sh: likewise. * t/vala-vpath.sh: likewise.
* Use WARNINGS=none to suppress warnings from autom4te runs.Zack Weinberg2020-09-212-12/+14
| | | | | | | | | | | | | | | | | | | | | aclocal uses autom4te in trace mode to scan configure.ac for macros whose definition is not yet available. It has a kludge to prevent this from producing spurious warnings, but a cleaner, fully backward compatible, way to get the same effect is to set WARNINGS=none in the environment and not pass down any -W options. (This is better than passing -Wnone on the command line because it automatically inherits to any subprocesses started by autom4te.) Perl’s ‘local’ feature can be used to make the enviironment variable setting temporary, reverting to the previous value when we exit the function. automake also runs autom4te (technically autoconf) in trace mode; warnings from this invocation will not be *spurious*, but in the common case where the person running automake is going to run autoconf next, they will be duplicated. Therefore, make the same change to automake. * bin/aclocal.in (trace_used_macros) * bin/automake.in (scan_autoconf_traces): Use “local $ENV{WARNINGS}='none'” to suppress warnings from autom4te.
* Consistently process -W(no-)error after all other warning options.Zack Weinberg2020-09-122-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | automake and aclocal were processing ‘-W(no-)error’ whenever it appeared on the command line, which means that ‘-Werror,something-strange’ would issue a hard error, but ‘-Wsomething-strange,error’ would only issue a warning. It is not desirable for warnings about unknown warning categories ever to be treated as a hard error; that leads to problems for driver scripts like autoreconf, which would like to pass whatever -W options it got on its own command line down to all the tools and not worry about which tools understand which warning categories. Also, this sort of order dependence is confusing for humans. Change parse_warnings to take just one option, the _complete_ list of warning categories seen on the command line, and to process -Werror / -Wno-error after processing all other warnings options. Thus, unknown warnings categories will always just be a plain warning. This does mean aclocal has to stop using parse_warnings as a Getopt::Long callback, but that’s not a big deal. Similarly, change parse_WARNINGS to record whether ‘error’ appeared in the environment variable, but not activate warnings-are-errors mode itself. parse_warnings picks up the record and honors it, unless it’s overridden by the command line. * lib/Automake/ChannelDefs.pm ($werror): New package global (not exported). (parse_WARNINGS): Do not call switch_warning for ‘error’ / ‘no-error’; just toggle the value of $werror. (parse_warnings): Do not call switch_warning immediately for ‘error’ / ‘no-error’; toggle $werror instead. Call switch_warning ‘error’ at the very end if $werror is true. Remove unused $OPTION argument. * bin/automake.in: parse_warnings now takes only one argument. * bin/aclocal.in: Call parse_warnings after parse_options instead of using it as a parse_options callback.
* Sync ChannelDefs.pm from autoconf.Zack Weinberg2020-09-112-12/+5
| | | | | | | | | | | | | | | | | | | | ChannelDefs.pm *ought* to be kept in sync between automake and autoconf, because it defines the set of valid -W options, and autoreconf assumes that it can pass arbitrary -W options to all of the tools it invokes. However, it isn’t covered by either project’s ‘make fetch’ and it hasn’t actually *been* in sync for more than 17 years. This patch manually brings over all of the changes made on the autoconf side. Most importantly, there is a new warnings channel ‘cross’, for warnings related to cross-compilation. Also, the ‘usage’ function now *returns* the text to be put into a usage message, instead of printing it itself. (This is necessary on autoconf’s side.) * lib/Automake/ChannelDefs.pm: Sync from autoconf. (cross): New warnings channel. (portability-recursive): Document. (usage): Now returns the text to be printed, instead of printing it. (parse_warnings): Second argument may now be a list.
* perl: use warnings instead of -w; consistent ordering of use, etc.Zack Weinberg2020-08-312-8/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Per thread at: https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00009.html * bin/aclocal.in: use warnings instead of #!...-w; consistent ordering of basic "use" directives, then BEGIN block, then standard modules in ASCII order, then Automake:: modules (not sort), finally use vars. Also sort @ISA lists and use qw(...) in ASCII order. * bin/automake.in: likewise. * lib/Automake/ChannelDefs.pm: likewise. * lib/Automake/Channels.pm: likewise. * lib/Automake/Condition.pm: likewise. * lib/Automake/Config.in: likewise. * lib/Automake/Configure_ac.pm: likewise. * lib/Automake/DisjConditions.pm: likewise. * lib/Automake/FileUtils.pm: likewise. * lib/Automake/General.pm: likewise. * lib/Automake/Getopt.pm: likewise. * lib/Automake/Item.pm: likewise. * lib/Automake/ItemDef.pm: likewise. * lib/Automake/Language.pm: likewise. * lib/Automake/Location.pm: likewise. * lib/Automake/Options.pm: likewise. * lib/Automake/Rule.pm: likewise. * lib/Automake/RuleDef.pm: likewise. * lib/Automake/VarDef.pm: likewise. * lib/Automake/Variable.pm: likewise. * lib/Automake/Version.pm: likewise. * lib/Automake/Wrap.pm: likewise. * lib/Automake/XFile.pm: remove unnecessary imports of Carp, DynaLoader, and File::Basename.
* automake: if TEST_EXTENSIONS is set to empty, don't look inside it.Karl Berry2020-08-281-1/+1
| | | | | | | | | This change fixes https://bugs.gnu.org/42635. * bin/automake.in (handle_tests): do not use $test_suffixes[0] if it does not exist. * t/test-extensions-empty.sh: new test. * t/list-of-tests.mk (handwritten_TESTS): add it.
* Install directories mode 755 instead of using umaskPaul Eggert2020-07-261-0/+3
| | | | | | | | | | | | Problem reported by Antoine Amarilli in: https://lists.gnu.org/archive/html/automake/2019-01/msg00000.html and followed up by Akim Demaille in: https://lists.gnu.org/archive/html/bug-bison/2020-07/msg00040.html * bin/automake.in: Add a comment about this. * lib/install-sh: Ignore umask; just create directories mode 755 unless overridden via -m (for non-intermediate directories only). Also, fix 'umask=$mkdir_umask' typo. * lib/mkinstalldirs: Likewise.
* cosmetics: typo in comment.Samy Mahmoudi2020-04-061-1/+1
| | | | | | | This change fixes https://bugs.gnu.org/32100. * bin/aclocal.in (install_file): remove duplicate "the" in "Using the real the destination file ...".
* vala: more precise argument matching.Colomban Wendling2020-04-051-2/+2
| | | | | | | | This change fixes https://bugs.gnu.org/18734. * bin/automake.in (lang_vala_finish_target): anchor option regexp so that, e.g., an argument "vapi" does not match the option --vapi. * NEWS: mention this (and preceding checklinkx change, sorry).
* maint: make update-copyrightJim Meyering2020-01-013-3/+3
|
* automake: Ensure space after $(LISP) in tags dependencies.Karl Berry2019-12-171-1/+1
| | | | | | | | This change fixes automake bug#38139. * bin/automake.in (handle_tags): Concatenate with space in " @config". * t/tags-lisp-space.sh: New test. * t/list-of-tests.mk (handwritten_TESTS): Add it.
* dist: add dist-zstd optionGiuseppe Scrivano2019-11-171-1/+2
| | | | | | | | | | | | | | | | Add support for using the zstd compression algorithm. Use a default compression setting of -19, and ".zst" as the suffix. * bin/automake.in (handle_dist): Add zstd to the list of known dist- suffixes. (preprocess_file): Map ZSTD to dist-zstd. * doc/automake.texi: Document the new option. * lib/Automake/Options.pm (_is_valid_easy_option): Add dist-zstd. * lib/am/distdir.am (dist-zstd): New rule. (?ZSTD?DIST_TARGETS): Add definition. (distcheck): Add a case for *.tar.zst*. * t/dist-formats.tap: Add tests. * NEWS: Mention the change.
* maint: make update-copyrightPaul Eggert2019-10-142-2/+2
|
* automake: do not require @setfilename in Texinfo filesGavin Smith2019-09-021-3/+5
| | | | | | | | | | | | Texinfo no longer requires a @setfilename directive in each .texi file, so automake now also relaxes its restriction. * bin/automake.in (scan_texinfo_file): Derive name of info file from name of input file if no @setfilename line occurs in the file. * t/txinfo-no-setfilename.sh: New test. * t/list-of-tests.mk: Add it. * NEWS: Mention it. Fixes automake bugs #36921 and #34201.
* bin: Rely only on the shebang lineMathieu Lirzin2018-03-112-13/+2
| | | | | | | | | | Previously ‘automake’ and ‘aclocal’ were handling the case of being interpreted as a Shell script by using a hack leveraging the fact that Shell and Perl has a compatible syntax intersection allowing those scripts to launch ‘perl’ from the shell. * bin/aclocal.in: Remove cryptic launching hack. * bin/automake.in: Likewise.
* automake: Don't rely on List::Util to provide 'none'Mathieu Lirzin2018-03-081-2/+1
| | | | | | | | | | | | | This change fixes automake bug#30631. This removes the use of List::Util which is not supported by Perl 5.6, by reimplementing the 'none' subroutine. * lib/Automake/General.pm (none): New subroutine. * bin/automake.in (handle_single_transform): Use it. * t/pm/General.pl: New test. * t/list-of-tests.mk (perl_TESTS): Add it. * NEWS: Update.
* automake: Add default libtool_tag to cppasmKhem Raj2018-01-051-0/+1
| | | | | | | * bin/automake.in (register_language): Define default libtool tag to be CC since CPPASCOMPILE is using CC to call assembler. Copyright-paperwork-exempt: yes
* maint: Update copyright years to 2018Mathieu Lirzin2018-01-043-3/+3
| | | | This update has been made with 'make update-copyright'.
* maint: Make Emacs use 'makefile-automake-mode'Mathieu Lirzin2017-09-231-0/+1
| | | | | | | | | | | * bin/local.mk: Specify mode name in the first line. * contrib/t/local.mk: Likewise. * doc/local.mk: Likewise. * lib/Automake/local.mk: Likewise. * lib/am/local.mk: Likewise. * lib/local.mk: Likewise. * m4/local.mk: Likewise. * t/local.mk: Likewise.
* maint: Configure Emacs automatically with ".dir-locals.el"Mathieu Lirzin2017-09-222-35/+0
| | | | | * .dir-locals.el: New Emacs directory configuration file. All perl files adapted.
* Fix a couple more http: URLsPaul Eggert2017-09-192-2/+2
|
* Prefer https: URLsPaul Eggert2017-09-193-8/+8
| | | | | | | | | | | | | | | | | | | | | In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here.
* automake: Depend on LIBOBJDIR for LIBOBJS and ALLOCAMichael Haubenwallner2017-09-151-11/+20
| | | | | | | | | | This change fixes automake bug#27781. * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for each LIBOBJS/ALLOCA source file found. * t/list-of-tests.mk (XFAIL_TESTS): Drop t/libobj-no-dependency-tracking.sh. * NEWS: Announce bug fix.
* Revert "automake: Handle LTLIBOBJS more specifically"Mathieu Lirzin2017-09-141-2/+3
| | | | This reverts commit 5521219348c55af354878583b99c5f9d66d6d38a.
* build: Rename "Makefile.inc" Makefile fragments to "local.mk"Mathieu Lirzin2017-08-311-0/+0
| | | | | | | | | | | | | | | | | | | | | | This is done to follow a convention used by a lot of GNU packages. * bin/Makefile.inc: Rename to ... * bin/local.mk: ... this. * doc/Makefile.inc: Rename to ... * doc/local.mk: ... this. * lib/Automake/Makefile.inc: Rename to ... * lib/Automake/local.mk: ... this. * lib/am/Makefile.inc: Rename to ... * lib/am/local.mk: ... this. * lib/Makefile.inc: Rename to ... * lib/local.mk: ... this. * m4/Makefile.inc: Rename to ... * m4/local.mk: ... this. * contrib/t/Makefile.inc: Rename to ... * contrib/t/local.mk: ... this. * t/Makefile.inc: Rename to ... * t/local.mk: ... this. Adapt. * Makefile.am: Adapt.
* build: Inline perl prototypes in sourcesMathieu Lirzin2017-08-314-44/+76
| | | | | | | | | | | | | | | | | | | Prototypes allows us to avoid using the '&foo' invocation form when invoking a subroutine before its definition. Previously those prototypes were generated to prevent them from falling out-of-sync with actual definitions. Now we provide a 'check-perl-protos' lint script to ensure that this is not the case. This has the same benefits as generating prototypes while simplifying the bootstrap/build process. * bin/gen-perl-protos: Remove. * bin/Makefile.inc: Adapt. * bootstrap: Likewise. * bin/aclocal.in: Inline prototypes. * bin/automake.in: Likewise. * maintainer/check-perl-protos: New lint script. * maintainer/syntax-checks.mk (sc_perl_protos): New target. (syntax_check_rules): Add it.