summaryrefslogtreecommitdiff
path: root/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'plans' into maintStefano Lattarini2013-01-041-1/+2
|\ | | | | | | | | | | | | | | | | | | * plans: plans: add the "PLANS" directory Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> Conflicts: Makefile.am
| * plans: add the "PLANS" directoryStefano Lattarini2013-01-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Individual files or sub-directories about future and on-going development plans in Automake will be added in follow-up commits. This new set of documents is meant to help ensure a more controlled and smooth development and evolution for Automake, in several ways. - Having the plans clearly spelled out should will avoid messy roadmaps with no clear way forward or with muddy or ill-defined aims or purposes; a trap this is too easy to fall into. - Keeping planned changes cooking and re-hashed for a while should ensure rough edges are smoothed up, transitions are planned in a proper way (hopefully avoiding debacles like the AM_MKDIR_PROG_P deprecation and the AM_CONFIG_HEADER too-abrupt removal), and "power users" have more chances of getting informed in due time, thus having all the time to prepare for the changes or raise objections against them. - Having the plans clearly stated and registered in a "centralized" location should make it more difficult to them to slip through the cracks, getting forgotten or (worse) only half-implemented. - Even for discussions and plans registered on the Bug Tracker as well, a corresponding entry in the PLANS directory can help in keeping main ideas summarized, and consensus and/or objections registered and easily compared. Motivation: <http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains> Not a flatting picture for us (and maybe a little too harsh), but basically true and even spot-on in some regards. * PLANS/README: New. * Makefile.am (EXTRA_DIST): Distribute the whole PLANS directory. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | tests: move runtest.in away from the top-lever directoryStefano Lattarini2013-01-031-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | Not only this leaves the top-lever directory less cluttered, but helps in keeping the testsuite-related files more "centralized". * runtest.in: Move ... * t/ax/runtest.in: ... here. While at it, add customary '@configure_input@' comment line. * Makefile.am (runtest, EXTRA_DIST): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | maint: move more maintainer files in the 'maint/' subdirStefano Lattarini2013-01-031-5/+5
|/ | | | | | | | | | | * maint.mk: Move ... * maint/maint.mk: ... here. * syntax-checks.mk: Move ... * maint/syntax-checks.mk: ... here. * Makefile.am: Adjust. * GNUmakefile: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* maint: add some of my maintainer-specific scriptsStefano Lattarini2013-01-021-0/+9
| | | | | | | | | | | | | | | | | | | | They are likely not general enough for widespread use, but they are useful nonetheless. In the best-case scenario, they will start to be used by other people, and thus accordingly improved and made more general and flexible. In the worst case scenario, well, I still get to keep them in a centralized, blessed place, simplifying the deployment and use of them; so still a win for me :-) * maint/am-ft: New script. * maint/am-xft: Likewise. * maint/rename-tests: Likewise. * Makefile.am (EXTRA_DIST): Add them. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* build: respect silent rules in generation of "amhello" example tarballStefano Lattarini2013-01-011-6/+16
| | | | | | * Makefile.am ($(srcdir)/doc/amhello-1.0.tar.gz): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* maint: update copyright year for 2013 (in branch maint)Stefano Lattarini2012-12-311-1/+1
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* obsolete: better error message if AM_CONFIG_HEADER is usedStefano Lattarini2012-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Automake 1.13, the long-deprecated macro AM_CONFIG_HEADER (deprecated since 2002) has been removed in favour of AC_CONFIG_HEADERS. However, the removal was done without a proper deprecation period, and that caused packages upgrading to Automake 1.13 to fail with very unclear error messages, e.g.: configure.ac:4: warning: macro 'AM_CONFIG_HEADER' not found in library from aclocal, and: configure.ac:4: error: possibly undefined macro: AM_CONFIG_HEADER If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. from autoconf. In an attempt to mitigate this issue, we re-add an AM_CONFIG_HEADER definition that simply raises a *clear* error message when the macro is used. Report by Paolo Bonzini: <http://lists.gnu.org/archive/html/automake/2012-12/msg00039.html> * t/am-config-header-no-more.sh: New test. * t/list-of-tests.mk: Add it. * m4/obsolete-err.m4: New file, contain the new AM_CONFIG_HEADER "error-raising" definition, as well as the definition of the similarly obsolete macros 'AM_C_PROTOTYPES' and 'fp_C_PROTOTYPES', moved in from ... * m4/protos.m4: ... this file, which has thus been removed. * Makefile.am (dist_automake_ac_DATA): Adjust. * t/ansi2knr-no-more.sh: Likewise. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* cosmetics: comments fixlets in our MakefileStefano Lattarini2012-12-191-16/+18
| | | | | | | * Makefile.am: Prefer '#' comments over '##' ones where it makes sense. Other minor style tweaks to comments about "updated later" variables. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* cosmetics: consistency changes in some make recipesStefano Lattarini2012-12-191-2/+2
| | | | | | | * Makefile.am (install-exec-hook, uninstall-hook): Don't use extra quoting in variable assignments. More consistent use of whitespace. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'maint'Stefano Lattarini2012-12-141-462/+6
|\ | | | | | | | | | | | | | | | | | | * maint: sync: update files from upstream with "make fetch" gitignore: align with recent changes fixup: add dummy rule for ChangeLog generation in Makefile.am maint: no longer use AM_MAKEFLAGS in maintainer rules maint: use more GNU make features in maintainer rules maint: move maintainer make rules in maint.mk
| * fixup: add dummy rule for ChangeLog generation in Makefile.amStefano Lattarini2012-12-141-0/+5
| | | | | | | | | | | | | | | | | | | | So that automake won't complain about the missing ChangeLog. The real rule for ChangeLog generation is now in maint.mk (as it is maintainer-specific). * Makefile.am (ChangeLog): Dummy. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * maint: move maintainer make rules in maint.mkStefano Lattarini2012-12-141-462/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is done for two reasons: 1. It will enable us to take advantage of more GNU make features in our maintainer-specific recipes, if we want to (and we probably will). 2. The Makefile.am won't have to be modified each time a maintainer rule needs to be changed or tweaked; this will prevent useless remaking of (in particular) the 't/testsuite-part.am' file. * maint.mk: New, several recipes, rules and variables for maintainer-specific tasks, extracted (with some tweaks) from ... * Makefile.am: ... this file. (EXTRA_DIST): Add 'maint.mk'. * GNUmakefile: Include 'maint.mk' after 'Makefile'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2012-12-141-31/+97
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: docs: fixlet about xz compression levels and command line options maint: more files excluded in 'update-copyright' maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format HACKING: update instructions to update the manuals at www.gnu.org maint: add an explicative comment in Makefile maint: factor out the name of the dir where web manuals are generated maint: rename rules to build/upload web manuals cosmetic: minor variable and rules reordering in Makefile.am docs: build the web manuals for CVS in the builddir, not in the srcdir release: automate uploading of web manuals in CVS docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc tests: avoid two spurious failures on FreeBSD tests: improve 'pkg-config' requirement
| * Merge branch 'improve-release-process' into maintStefano Lattarini2012-12-141-28/+71
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * improve-release-process: HACKING: update instructions to update the manuals at www.gnu.org maint: add an explicative comment in Makefile maint: factor out the name of the dir where web manuals are generated maint: rename rules to build/upload web manuals cosmetic: minor variable and rules reordering in Makefile.am docs: build the web manuals for CVS in the builddir, not in the srcdir release: automate uploading of web manuals in CVS docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc tests: avoid two spurious failures on FreeBSD
| | * maint: add an explicative comment in MakefileStefano Lattarini2012-12-131-0/+3
| | | | | | | | | | | | | | | | | | | | | * Makefile.am (web-manual-update): Here, about a slightly tricky feature of rsync(1) used in the recipe. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * maint: factor out the name of the dir where web manuals are generatedStefano Lattarini2012-12-131-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just a minor refactoring to reduce duplication; no semantic change is intended. * Makefile.am (web_manual_dir): New. (web-manual, web-manual-update, clean-web-manual): Use it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * maint: rename rules to build/upload web manualsStefano Lattarini2012-12-131-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new names are the same used by the similar-purpose rules provided by the 'top/maint.mk' makefile in gnulib (as of commit v0.0-7741-g4a8c422). No need to have gratuitous incompatibilities. * Makefile.am (web-manuals): Rename ... (web-manual): ... like this. (upload-web-manuals): Rename ... (web-manual-update): ... like this. (clean-web-manuals): Rename ... (clean-web-manual): ... like this. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * cosmetic: minor variable and rules reordering in Makefile.amStefano Lattarini2012-12-131-10/+10
| | | | | | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * docs: build the web manuals for CVS in the builddir, not in the srcdirStefano Lattarini2012-12-131-20/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can do so using the '-I' option of the gendocs.sh script. Inspired by the 'web-manual' rule in the 'top/maint.mk' file provided by gnulib (as of commit v0.0-7741-g4a8c422) as customized by Bison in its 'cfg.mk' file (as of commit v2.6.5-1007-gf5fceda). * Makefile.am (web-manuals): Modify and simplify to take advantage of gendocs.sh's '-I' option. (upload-we-manuals): Accordingly adjust sanity checks and the rsync invocation in the recipe. (clean_texinfo_clutter_cmd): Delete this variable, it's no longer required. (clean-texinfo-clutter): Delete this phony target, it's no longer required. (clean-local): Don't depend on it. * configure.ac: Invoke AC_PROG_LN_S, since we want to use $(LN_S) in the new 'web-manuals' recipe. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * release: automate uploading of web manuals in CVSStefano Lattarini2012-12-131-3/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is partly inspired to the 'gnu-web-doc-update' script from gnulib. Unfortunately, we can't use that script directly, because as of now it assumes a build system integrated with gnulib. * Makefile.am (upload-web-manuals): New .PHONY rule. (RSYNC, CVS, CVSU, CVS_USER, WEBCVS_ROOT): New variables, used by the new rule. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * | maint: more files excluded in 'update-copyright'Stefano Lattarini2012-12-131-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will avoid the following spurious warnings when "make update-copyright" is run: .autom4te.cfg: warning: copyright statement not found .git-log-fix: warning: copyright statement not found .gitattributes: warning: copyright statement not found .gitignore: warning: copyright statement not found AUTHORS: warning: copyright statement not found THANKS: warning: copyright statement not found contrib/README: warning: copyright statement not found contrib/multilib/README: warning: copyright statement not found doc/amhello/README: warning: copyright statement not found lib/install-sh: warning: copyright statement not found lib/mkinstalldirs: warning: copyright statement not found m4/acdir/README: warning: copyright statement not found t/README: warning: copyright statement not found * Makefile.am (files_without_copyright): New. (update-copyright): Use it when computing '$exclude_list'. Also, skip any README file. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * | maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) formatStefano Lattarini2012-12-131-2/+4
| |/ | | | | | | | | | | | | | | | | This is a fixup for commit v1.12.5-27-g71ce1b4 of 2012-12-09, "fetch: improve, and reduce code duplication". * Makefile.am (update-copyright): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2012-12-091-49/+138
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * maint: docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc maintcheck: prefer '$(am__cd)' over plain 'cd' fetch: improve, and reduce code duplication docs: add rule to generate manuals for www.gnu.org docs: copy the 'gendocs.sh' script from Texinfo CVS repository sync: update files from upstream with "make fetch" release: generate a stub for the release announcement release: distinguish major and minor releases tests: avoid two spurious failures on FreeBSD
| * maintcheck: prefer '$(am__cd)' over plain 'cd'Stefano Lattarini2012-12-091-3/+3
| | | | | | | | | | | | | | | | | | In a couple of rules in out own build system, as suggested by the maintainer check 'sc_cd_relative_dir'. * Makefile.am (web-manuals, clean_texinfo_clutter_cmd): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * fetch: improve, and reduce code duplicationStefano Lattarini2012-12-091-46/+38
| | | | | | | | | | | | | | | | | | | | * Makefile.am (WGET_SV_CVS, WGET_SV_GIT_CF, WGET_SV_GIT_AC, WGET_SV_GIT_GL): Delete. (SV_CVS, SV_GIT_CF, SV_GIT_AC, SV_GIT_GL): New. (fetch): Simplify and enhance. (update-copyright): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: add rule to generate manuals for www.gnu.orgStefano Lattarini2012-12-091-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Less clerical work to do by hand. * Makefile.am (web-manuals): New rule. (clean_texinfo_clutter): New macro. * clean-web-manuals, clean-texinfo-clutter: New cleaning rules. (clean-local): Depend on them. * .gitignore: Update. * HACKING: Adjust instructions for generation of manuals. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * docs: copy the 'gendocs.sh' script from Texinfo CVS repositoryStefano Lattarini2012-12-081-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | As well as the 'gendocs_template' file. And enhance the "make fetch" target to keep them synced. It's better than having to fetch these files by hand each time a release is to be made. * Makefile.am (FETCHFILES): List 'gendocs.sh' and 'gendocs_template'. (fetch): Fetch them, into 'lib/'. (EXRA_DIST): Distribute them. * HACKING: Adjust instructions for generation of manuals. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * release: generate a stub for the release announcementStefano Lattarini2012-12-081-5/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's much better than having to write it my hand each time; after all, most of it is either boilerplate or a cope of NEWS entries. * Makefile.am (determine_release_type): Also set the shell variable '$announcement_type' appropriately. (print-release-type): Print the value of this new variable as well. (announcement): New phony target, generate a files with the same name. The recipe uses the shell variable '$announcement_type'. (CLEANFILES): Clean it. (PACKAGE_MAILINGLIST): New make macro, used when generating the 'announcement' file. * HACKING: Explain how to take advantage of the new convenience target. * .gitignore: Ignore the 'announcement' file. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * release: distinguish major and minor releasesStefano Lattarini2012-12-081-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is mostly a preparatory change, in view of future improvements in our release process. * Makefile.am (determine_release_type): Also distinguish between major and minor releases, with the help of ... (stable_major_version_rx, stable_minor_version_rx): ... these new macros. (stable_version_rx): Remove, it's obsolete now. (version_rx): Rename ... (base_version_rx): ... like this, and adjust. (print-release-type): New target; helps in debugging the code that determines the release type. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | fixup: Automake installation works againStefano Lattarini2012-11-151-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | By renaming 'dist_automake_ac_DATA' to 'nobase_dist_automake_ac_DATA' in a recent patch, we have broken the Automake installation, since m4 files that were expected to be installed in '${prefix}/aclocal-${APIVERSION}' are now being installed in '${prefix}/aclocal-${APIVERSION}/m4' instead. Fix this mess. * Makefile.am (nobase_dist_automake_ac_DATA): Rename ... (dist_automake_ac_DATA): ... like this. And move 'm4/internal/ac-config-macro-dirs.m4' ... (dist_automake_internal_ac_DATA): ... here. (automake_internal_acdir): New, simply defined to '$(automake_acdir)/internal'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | aclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugsStefano Lattarini2012-11-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The autom4te program coming with autoconf 2.68 and earlier had a bug which caused the "-" command line argument (with which we tell it to read some input from from standard input) to aways be pushed at the *end* of the command line, regardless of where the user specified it (that bug was fixed by autoconf commit 'v2.68-120-gf4be358', "getopt: new Autom4te::Getopt module"). This broken semantics conflict with our usage in aclocal, where we need to pass some input to the invoked autom4te program early, and have so far been using the stdin to do so. Now we start using an external file instead. * m4/internal/ac-config-macro-dirs.m4: New file, contain a fallback definition of the AC_CONFIG_MACRO_DIRS macro for older autoconf releases. * aclocal.in (trace_used_macros): When invoking autom4te, use that file instead of "abusing" standard input. * Makefile.am (dist_automake_ac_DATA): Rename ... (nobase_dist_automake_ac_DATA): ... like this. Add 'm4/internal/ac-config-macro-dirs.m4' to it. * t/aclocal-acdir.sh: Adjust to avoid spurious failures. Helped-by: Eric Blake <eblake@redhat.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2012-10-311-1/+25
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: vala tests: source test-init.sh, not ./defs tests: fix a spurious typo-related failure tests: remove spurious leftover use of 'Exit' tests: can check our recipes avoid trailing backslashes vala: improve comments to AM_PROG_VALAC news: update w.r.t. recent vala changes vala: if no proper compiler found, set $(VALAC) to 'valac' vala: AM_PROG_VALAC should not produce an error for tool-old valac docs: document recent changes to AM_PROG_VALAC tests: enhance tests on AM_PROG_VALAC vala: style fixes in vala.m4 vala: add action arguments, for when no proper vala compiler is found Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: can check our recipes avoid trailing backslashesStefano Lattarini2012-10-311-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is related to commit v1.11-1704-g254227b of 2012-05-01, "parallel-tests: avoid trailing backslashes in make recipes", and automake bug#10436. Recipes with a trailing backslash character (possibly followed by blank characters only) can cause spurious syntax errors with at least older bash versions (e.g., bash 2.05b), and can be potentially be unportable to other weaker shells. So provide a target that runs the testsuite looking for this kind of breakage (without requiring a real bugged shell). * t/ax/shell-no-trail-bslash.in: New, a "shell" that chokes on '-c' commands having a trailing '\' (possibly followed by whitespace only). * Makefile (t/ax/shell-no-trail-bslash): Generate this script from it. (noinst_SCRIPTS, CLEANFILES): Add it. (EXTRA_DIST): Add 't/ax/shell-no-trail-bslash.in'. (check-no-trailing-backslash-in-recipes): New target, runs the testsuite with 'shell-no-trail-bslash' as the CONFIG_SHELL, to catch possible recipes having a trailing backslash character (possibly followed by * .gitignore: Update. * t/self-check-shell-no-trail-bslash.sh: New testsuite self-check. * t/parallel-tests-trailing-bslash.sh: Remove as obsolete. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2012-10-271-0/+1
|\ \ | |/ | | | | | | * maint: tests: prepare to move ./defs to t/ax/test-init.sh
| * tests: prepare to move ./defs to t/ax/test-init.shStefano Lattarini2012-10-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't do this in a sweeping passage, because that would cause endless headaches in the synchronization between the maint, master and ng/master branches. Instead, we setup our framework to allow test scripts to work by sourcing either './defs' or 'test-init.sh', so that we'll be able to make the transition gradual and painless. * t/ax/test-init.sh: New, copied from the previous ./defs file. * defs: Simply work by sourcing the new file. * Makefile.am (dist_noinst_DATA): List the new file. * t/README: Adjust to mandate the sourcing of 'test-init.sh' rather than of './defs'. * t/c-demo.sh: Source 'test-init.sh' instead of ./defs. This is done to verify our new setup actually works. * t/ac-output-old.tap: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | compat: reinstate AM_PROG_MKDIR_P, for gettextJim Meyering2012-10-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not remove AM_PROG_MKDIR_P just yet. gettext (latest from git) still AC_REQUIRE's AM_PROG_MKDIR_P via its intl.m4 and po.m4 files, which are pulled into *many* projects. When I try to build one of those projects (coreutils) using the latest from automake.git/master, I see this failure: $ aclocal -I m4 configure.ac:477: warning: AM_PROG_MKDIR_P is m4_require'd \ but not m4_defun'd m4/po.m4:23: AM_PO_SUBDIRS is expanded from... m4/gettext.m4:57: AM_GNU_GETTEXT is expanded from... configure.ac:477: the top level That is because AM_PROG_MKDIR_P was removed (via commit v1.12-20-g8a1c64f) in preparation for the next release of automake. * NEWS: Remove the paragraph that announced the removal of AM_PROG_MKDIR_P. * Makefile.am (dist_automake_ac_DATA): Add m4/mkdirp.m4. * m4/mkdirp.m4: Re-add file. * t/mkdirp-deprecation.sh: Likewise. * t/list-of-tests.mk: Add it. * automake.in: Restore removed code, and adjust comments, s/1.13/1.14/ to reflect new plan for removal. * doc/automake.texi (Obsolete Macros): Restore the section, but now with only one entry: the one for AM_PROG_MKDIR_P.
* | Merge branch 'elisp-work'Stefano Lattarini2012-08-051-1/+0
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * elisp-work: news: document all the recent elisp-related changes and improvements coverage: byte-compiling elisp files in different subdirectories elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation elisp: --batch implies -q, remove -q elisp: support elisp files in subdirectories properly elisp: simplify suffix rules using emacs '-L' option elisp: no need to "absolutize" $(srcdir) and $(builddir) ... elisp: prefer $(builddir) files over $(srcdir) ones elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite) coverage: elisp path contains $(srcdir) and $(builddir) coverage: emacs lisp files in subdirectories
| * | elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite)Jack Kelly2012-07-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Motivated by automake bug#11806. Traditionally, automake byte-compiled emacs-lisp '.el' files by invoking 'elisp-comp' on all of them in a bulk; this involved complex timestamping and file-locking logic. It was also brittle in any slightly-unusual setup, because 'elisp-comp' operated by copying all of the elisp files to be compiled into a temporary sub-directory and compiling them in there, the copying the resulting byte-compile files back in the build directory. This patch removes all of that juggling and chicanery in favour of defining a much simpler '.el.elc' suffix rule. Not only this is simpler, but it also interacts better with "make -jN" calls, which are becoming more and more common and useful on today's increasingly multicore systems. * Makefile.am (dist_script_DATA): Remove 'elisp-comp'. * automake.in (@common_files): Likewise. (handle_emacs_lisp): Do not require 'elisp-comp'. * doc/automake.texi: Remove references to 'elisp-comp'. * lib/am/lisp.am: Define elisp compilation via a suffix rule; this basically amounts to a complete re-write of the lisp byte-compilation rules. * lib/elisp-comp: Remove. * t/add-missing.tap: Remove elisp-comp test. * t/dist-auxdir-many-subdirs.sh: Remove reference to elisp-comp. * t/primary-prefix-invalid-couples.tap: Likewise. * t/primary-prefix-valid-couples.sh: Likewise. * t/lisp4.sh: Remove reference to elc-stamp. * t/lisp5.sh: Likewise. * t/lisp6.sh: Likewise. * t/lisp3.sh: Likewise. Also remove the recompilation check that involves a (message) call. * t/lisp7.sh: Remove check for "Warnings can be ignored". Remove reference to elc-stamp. * t/lisp8.sh: Likewise. * t/lispdry.sh: Remove references to elc-stamp. Acked-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | | Merge branch 'maint'Stefano Lattarini2012-07-301-0/+1
|\ \ \ | | |/ | |/| | | | | | | | | | * maint: build: fix build in VPATH setup gen-tests: simplify sourcing of helper shell files
| * | build: fix build in VPATH setupStefano Lattarini2012-07-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am (t/ax/test-defs.sh): Ensure the 't/ax' directory exists, before trying to create 'test-defs.sh' in there. This is required in VPATH builds. Reported-by: Akim Demaille <akim@lrde.epita.fr> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | | typofix: in a comment in Makefile.amStefano Lattarini2012-07-261-1/+1
| | | | | | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | | Merge branch 'maint'Stefano Lattarini2012-07-261-14/+44
|\ \ \ | |/ / | | / | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: (38 commits) maintcheck: fixup list of files in $(xdefs) tests: never source test-defs.sh directly, source test-lib.sh instead runtest: sanitize test environment tests: remove an obsolescent self test tests: "am_using_tap=yes" -> "am_test_protocol=tap" tests: protect test libs against multiple inclusion configure: testsuite shell can return early from "dot-sourced" files tests: move sanitization and "Bournification" in the generic test lib tests: source test defs in the generic test lib test defs: no need to re-add $srcdir/t/ax to $PATH tests: split test libs into "generic" and "automake-specific" test setup: move actual calling of testsuite setup in ./defs test setup: merge definitions of function for simple tests test init: refactor: new function 'am_test_setup' test init: refactor: move displaying of debugging info later test init: refactor: new function 'am_setup_testdir' test init: refactor: new function 'am_set_exit_traps' configure: testsuite shell set exit traps in shell functions test init: refactor: new function 'am_exit_trap' test init: refactor: new function 'process_requirements' ... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * runtest: sanitize test environmentStefano Lattarini2012-07-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * runtest.in: Here, similarly to what is done by AM_TESTS_ENVIRONMENT in Makefile.am, unset variables that should be under the complete control of the test framework, and that could create havoc if inherited from the environment. This remove the need to check against possible environment "pollution" ... * t/ax/test-defs.in: ... in here. * Makefile.am (AM_TESTS_ENVIRONMENT): Add a comment about the need of synchronization with 'runtest.in'. * t/self-check-env-sanitize.tap: Remove as obsolete. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: "am_using_tap=yes" -> "am_test_protocol=tap"Stefano Lattarini2012-07-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And similarly, "am_using_tap=no" -> "am_test_protocol=none". The new '$am_test_protocol' name is clearer, and will allow the easy addition of further test protocols in the future. This is not truly relevant for automake, but we are trying to make some parts of our testsuite framework as general as possible, in view of a future move to a more generic project like Gnulib. * Makefile.am, t/ax/am-test-lib.sh, t/ax/test-defs.in, t/ax/test-lib.sh, t/self-check-env-sanitize.tap, t/self-check-tap.sh: Adjust. * syntax-checks.mk (sc_tests_obsolete_variables): Add 'am_using_tap' to the list of obsolete variables to check against. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: protect test libs against multiple inclusionStefano Lattarini2012-07-261-0/+2
| | | | | | | | | | | | | | | | | | | | * t/ax/test-lib.sh, t/ax/am-test-lib.sh: Return early if already sourced. Use the witness variables '$test_lib_sourced' and '$am_test_lib_sourced', respectively, for this purpose. * runtest.in, Makefile.am (AM_TESTS_ENVIRONMENT): Unset 'test_lib_sourced' and 'am_test_lib_sourced', to avoid interferences from the environment. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: split test libs into "generic" and "automake-specific"Stefano Lattarini2012-07-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | This is the first step in the quest to merge the generically useful parts of our test suite framework in a more generic project, like Gnulib. Time will tell if we'll succeed, and whether the success will be worth the extra hassle. * t/ax/test-init.sh: Split out ... * t/ax/am-test-lib.sh, t/ax/test-lib.sh: ... into these two tests. * defs, Makefile.am: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * test setup: merge definitions of function for simple testsStefano Lattarini2012-07-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * t/ax/plain-functions.sh: Delete, moving the definitions of ... ($stderr_fileno_): ... this variable ... (warn_, fail_, skip_, skip_all_, fatal_, framework_failure_): ... and these functions ... * t/ax/test-init.sh: ... in here. This allow us to use those functions earlier in this file (instead of having to duplicate their behaviour with inlined code). The TAP-based tests are still able to override these functions later to their TAP-enhanced equivalents when 'tap-functions.sh' is sourced. * Makefile.am (dist_noinst_DATA): Remove 't/ax/plain-functions.sh'. * t/ax/tap-functions.sh: Adjust a comment. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * test defs: move in 't/ax/test-defs.sh'Stefano Lattarini2012-07-261-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can do so with minimal churn, now that the early setup of $PATH in both 'runtest' and AM_TESTS_ENVIRONMENT allow the '.' built-in to find to-be-sourced shell scripts in 't/ax' automatically, both in in-tree and VPATH builds. With this change, we take another step forward a more rational and "segregated" organization of our testsuite framework. * defs-static.in: Rename ... * t/ax/test-defs.in: ... like this, and adjust. * Makefile.am, syntax-checks.mk, t/README, gen-testsuite-part, t/tests-init.sh, t/ax/tap-setup.sh, t/tap-summary.sh, .gitignore, t/testsuite-summary-color.sh, t/testsuite-summary-count.sh, t/self-check-tap.sh, defs: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: update PATH early from AM_TESTS_ENVIRONMENT and runtestStefano Lattarini2012-07-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because the POSIX standards mandate that sourcing a file with ". FILE" will cause FILE (assuming it is a relative containing no slashes) to be looked for in PATH, such a move will allow us to simplify our sourcing of shell testing libraries like (currently) 't/ax/test-init.sh' and 'defs', and to modularize and re-organize them better in the feature, with minimal churn. * runtest.in, Makefile.am (AM_TEST_ENVIRONMENT): Prepend $(abs_srcdir)/t/ax and $(abs_builddir)/t/ax (in that order) to PATH; do so avoiding repetition in the common case of non-VPATH builds. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>