|
34bdde96
|
2023-01-04T02:00:14
|
|
maint: make update-copyright
|
|
5615016c
|
2022-09-28T09:06:40
|
|
dist: ignore "silly rename" files from nfs/afs/smb.
This change is per automake thread:
https://lists.gnu.org/archive/html/automake/2022-09/msg00002.html
* lib/am/distdir.am (distcleancheck_listfiles): filter "silly rename"
files (.nfs* .smb* .__afs*), unavoidably created by deleting files
that are still open in some process on network file systems.
|
|
d4801dff
|
2022-09-26T09:04:59
|
|
automake: load -l bytecomp for Emacs.
* lib/am/lisp.am (.el.elc): Require the bytecomp library so
byte-compile-dest-file-function can be used when available.
|
|
bee2ab12
|
2022-09-26T08:57:43
|
|
automake: silent make output for Emacs byte compilation.
* lib/am/lisp.am: Use $(AM_V_GEN) in .el.elc rule.
* NEWS: mention this.
* THANKS: add new contributor.
|
|
f9fdcdfd
|
2022-05-23T13:47:02
|
|
deps: create empty file instead of dummy file.
This change is per an automake thread, see both before and after:
https://lists.gnu.org/archive/html/automake/2022-05/msg00006.html
* lib/am/depend.am ($(am__depfiles_remade)): create empty files
for dependencies instead of files with a line '# dummy'. Turns out
this is noticeably faster.
* THANKS: update Jan's email address.
* NEWS: mention this.
|
|
38da1d90
|
2022-02-17T04:35:03
|
|
python: use xargs -n when uninstalling files
Fixes automake bug https://bugs.gnu.org/53340.
If the system has xargs, then utilize it to uninstall files to stay
within long command line limits. If the system doesn't have xargs,
fall back to running the remove command one at a time. Since every
reasonable system should have `xargs -n`, and POSIX requires it, the
fallback probably rarely gets used, so don't bother optimizing.
* lib/am/inst-vars.am: Use am__xargs_n to call rm -f on the files.
* lib/am/python.am: Drop am__base_list and for loop and let the
am__uninstall_files_from_dir break up the long command lines.
* m4/init.m4: Call _AM_PROG_XARGS_N.
* m4/xargsn.m4: New test for `xargs -n`.
|
|
3099097d
|
2022-02-17T03:50:55
|
|
rm: handle -f w/no arguments gracefully
Fixes automake bug https://bugs.gnu.org/10828.
Delete the configure check that would abort if `rm -f` does not work,
and delete the plans to make this a hard requirement in the future.
Instead, test to see if `rm -f` fails w/out arguments. If it does,
define am__rm_f such that it always passes at least the "" argument
when deleting files. If it doesn't fail, then we can omit the "".
Then go through lib/am/ and update places where we use the pattern
`test -z ... || rm -f ...` and replace with $(am__rm_f).
* NEWS: Mention support for `rm -f` w/out arguments.
* PLANS/rm-f-without-args.txt: Remove.
* lib/am/check.am: Use new $(am__rm_f) helper.
* lib/am/clean.am: Likewise.
* lib/am/header-vars.am: Likewise.
* lib/am/inst-vars.am: Likewise.
* lib/am/libs.am: Likewise.
* lib/am/ltlib.am: Likewise.
* lib/am/progs.am: Likewise.
* lib/am/texinfos.am: Likewise.
* m4/init.m4: Delete `rm -f` checks and call _AM_PROG_RM_F.
* m4/rmf.m4: Define new _AM_PROG_RM_F macro.
* t/rm-f-probe.sh: Update test.
|
|
6097de0a
|
2022-02-15T22:25:35
|
|
python: fix exit status handling with uninstall
The st variable is set at the top of this shell script, and then here
is a pipeline where it tries to update it in the subshell. But since
setting variables in a subshell doesn't propagate back up, it doesn't
actually work. Have the final subshell in the pipeline manage its own
exit status and exit with that so that the final status of the pipeline
is the right value.
* lib/am/python.am: Fix final subshell exit status passing.
|
|
5c9e117c
|
2022-02-08T00:39:40
|
|
elisp: run emacs with --no-site-file
Fixes automake bug https://bugs.gnu.org/21547.
If users have interactive site file logic, the lispdir probing can
hang, as can the compilation of elisp files. Use --no-site-file to
disable loading any of that possible user logic.
* NEWS: Note emacs --no-site-file change.
* doc/automake.texi: Run emacs with --no-site-file.
* lib/am/lisp.am: Likewise.
* m4/lispdir.m4: Likewise.
|
|
9daa34db
|
2022-01-24T03:08:13
|
|
texi: define new AM_TEXI2FLAGS variable
To provide a bit more flexibility when invoking TEXI2DVI & TEXI2PDF,
and provide a bit of symmetry with .info & .html generation, provide
a AM_TEXI2FLAGS setting that is passed to all TEXI2xxx invocations.
* doc/automake.texi: Mention new AM_TEXI2FLAGS setting.
* lib/am/texibuild.am: Pass $(AM_TEXI2FLAGS) to TEXI2DVI & TEXI2PDF.
* NEWS: Mention AM_TEXI2FLAGS.
* t/txinfo-many-output-formats.sh: Check for AM_TEXI2FLAGS.
|
|
c1b799a0
|
2022-01-24T02:53:13
|
|
texi: pass automatic -I to dvi & pdf generation
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.
|
|
975ea4d9
|
2022-01-19T05:14:47
|
|
progs, libs: support _RANLIB overrides
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.
|
|
6c8ff6a8
|
2022-01-12T14:15:12
|
|
maint: make update-copyright
|
|
a320a092
|
2021-11-27T17:43:00
|
|
dejagnu: add support for silent builds with site.exp.
* lib/am/dejagnu.am (site.exp): Use $(AM_V_GEN) and merge all
independent shell calls into one.
|
|
b7868119
|
2021-10-31T12:52:43
|
|
config headers: add support for silent builds
* lib/am/remake-hdr.am (%STAMP%): Use $(AM_V_at) and $(AM_V_GEN).
(%CONFIG_HIN%): Likewise.
|
|
522e0d40
|
2021-08-07T17:54:17
|
|
doc: typos from codespell.
* HACKING: typo from codespell.
* doc/local.mk: likewise.
* lib/am/header-vars.am: likewise.
* lib/am/lisp.am: likewise.
* t/cond24.sh: likewise.
* t/cond36.sh: likewise.
* t/dist-auxdir-many-subdirs.sh: likewise.
* t/link_override.sh: likewise.
* t/parallel-tests-console-output.sh: likewise.
* t/subobj11a.sh: likewise.
* t/subobj11b.sh: likewise.
|
|
a470a47f
|
2021-07-11T19:19:42
|
|
maint: make update-copyright
|
|
314c55f0
|
2021-07-11T18:34:22
|
|
no-dist-built-sources: fix-up
* 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.
|
|
13659a73
|
2021-07-09T09:03:30
|
|
dist: add new "dist-no-built-sources" automake option.
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.
|
|
d2ccbd7e
|
2020-12-05T18:11:55
|
|
tags: support setting CTAGS, ETAGS, CSCOPE vars via ./configure.
This change fixes https://bugs.gnu.org/45013.
* m4/init.m4: add default settings and AC_SUBST calls for the variables
`CTAGS', `ETAGS' and `CSCOPE'.
* lib/am/tags.am: remove default settings of the above variables.
* doc/automake.texi (Tags): mention and index.
* NEWS: mention.
|
|
37b70ac4
|
2020-11-13T17:50:09
|
|
dejagnu: quote `pwd` when writing "set objdir" line to site.exp.
This change fixes https://bugs.gnu.org/44600.
* lib/am/dejagnu.am (site.exp): quote set objdir line.
* NEWS: mention this.
|
|
dbc1c9e7
|
2020-10-06T18:16:14
|
|
automake: install-exec did not depend on $(BUILT_SOURCES).
This change fixes https://bugs.gnu.org/43683.
* lib/am/install.am (install-exec): %maybe_BUILT_SOURCES% dependency,
twice. Basic patch from madmurphy (tiny change), message#8.
(.MAKE) [maybe_BUILT_SOURCES]: depend on install-exec.
* NEWS: mention it.
* doc/automake.texi (Sources): mention this (also that make dist
depends on $(BUILT_SOURCES)).
* t/built-sources-install-exec.sh: new test.
* t/list-of-tests.mk (handwritten_TESTS): add it.
* t/built-sources-install.sh: typo.
* t/built-sources-check.sh: typo.
|
|
216d1834
|
2020-06-06T15:42:54
|
|
automake: support AM_TESTSUITE_SUMMARY_HEADER override.
This change handles https://bugs.gnu.org/11745.
* lib/am/check.am (AM_TESTSUITE_SUMMARY_HEADER): new variable.
Default value is " for $(PACKAGE_STRING)", including quotes,
to keep the default output the same.
($(TEST_SUITE_LOG)): use it, unquoted.
* doc/automake.texi (Scripts-based Testsuites): document it.
* NEWS: mention it.
* t/testsuite-summary-header.sh: new test.
* t/list-of-tests.mk (handwritten_tests): add it.
* t/ax/testsuite-summary-checks.sh: fix typo.
|
|
04567be6
|
2020-05-17T09:36:15
|
|
automake: new variable AM_DISTCHECK_DVI_TARGET to override "dvi".
This change fixes https://bugs.gnu.org/8289.
* lib/am/distdir.am (AM_DISTCHECK_DVI_TARGET): define as dvi.
(distcheck): use it, isntead of hardcoding dvi.
* lib/Automake/Variable.pm (%_silent_variable_override): add
AM_DISTCHECK_DVI_TARGET.
* t/distcheck-override-dvi.sh: new test.
* t/list-of-tests.mk (handwritten_TESTS): add it.
* doc/automake.texi (Checking the Distribution): document this.
(Third-Party Makefiles): explicitly mention that
EMPTY_AUTOMAKE_TARGETS is not a built-in or special name.
Various other index entries and wording tweaks.
* NEWS (Distribution): mention this.
|
|
6207236f
|
2020-01-29T18:12:29
|
|
python: properly uninstall __pycache__ in subdirectories
This change finishes fixing automake bug#32088:
https://debbugs.gnu.org/32088
* lib/am/python.am (uninstall-%DIR%PYTHON): Uninstall
byte-compiled files in a '__pycache__' subdirectory
from sub/__pycache__/, not __pycache__/sub/.
(am__pep3147_tweak): prefix __pycache__ here, for both .pyc and .pyo.
https://lists.gnu.org/archive/html/automake-patches/2018-05/msg00000.html
* t/instmany-python.sh (limit): increase to 4500, following
Andreas Huettel, https://debbugs.gnu.org/32088#11.
|
|
b87f2974
|
2020-01-04T17:06:40
|
|
automake: Support byte compilation in older Emacsen
* lib/am/lisp.am (am__emacs_byte_compile_setup) [FIRST]: define
new make variable, to use byte-compile-dest-file-function if
available, else byte-compile-dest-file.
(.el.elc): use it.
* t/lisp-loadpath.sh: skip test if emacs version is <= 23,
since their -L ordering is backwards.
* NEWS: update.
|
|
cf27a3df
|
2020-01-01T11:44:41
|
|
maint: make update-copyright
|
|
5c466eaf
|
2019-10-04T16:39:24
|
|
dist: add dist-zstd option
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.
|
|
5ae02cc8
|
2019-10-14T13:46:55
|
|
maint: make update-copyright
|
|
a348d830
|
2018-07-08T23:41:42
|
|
python: Don't use '\n' in sed substitution
This change fixes automake bug#31222.
On macOS, 'sed' interprets '\n' in the substitution text as the letter 'n'
instead of as a newline.
* lib/am/python.am [?FIRST?] (am__pep3147_tweak): Use a space instead of '\n'.
* NEWS: Update.
|
|
006c4dfe
|
2018-02-04T00:09:31
|
|
python: Avoid exceeding command-line length limit
With Python implementations following PEP-3174, a large number of files
are installed in the ‘__pycache__’ directory. As a consequence
“t/instmany-python.sh” test was failing due to the
‘uninstall-pythonPYTHON’ target deleting installed files in a single
‘rm’ command. Doing that in multiple steps avoids exceeding the
command-line length limit. This fixes bug#30335.
* lib/am/python.am (uninstall-%DIR%PYTHON): For byte-compiled files
installed in '__pycache__' directory, uninstall them by batch of 40.
[?FIRST?] (am__pep3147_tweak): Adapt.
|
|
bbaa4cdc
|
2018-01-04T16:19:30
|
|
maint: Update copyright years to 2018
This update has been made with 'make update-copyright'.
|
|
3f8a2dd5
|
2017-11-22T21:07:29
|
|
port elisp-compilation support to emacs-23.1 and newer
In May of 2017, emacs.master support for using the long-deprecated
byte-compile-dest-file function was removed, and that removal broke
automake's elisp-compiling rule for any .el file not in the current
directory. In emacs-23.1 (July 2009) byte-compile-dest-file-function
became the recommended way to adjust the byte-compiler's destination.
The removed functionality has been restored for Emacs-26, albeit with
dissuasive diagnostics warning about the imminent removal of this
functionality. It will be removed in Emacs-27.
* lib/am/lisp.am (.el.elc): Use byte-compile-dest-file-function, rather
than byte-compile-dest-file. Also, use "-f batch-byte-compile '$<'"
rather than open-coding it, as suggested by Glenn Morris.
* t/lisp-readonly-srcdir.sh: New file, to test for the above.
* t/list-of-tests.mk (handwritten_TESTS): Add it.
* NEWS (Bugs fixed): Mention this problem.
|
|
ac47c22e
|
2014-03-20T12:31:32
|
|
"make dist" did not depend on $(BUILT_SOURCES)
* lib/am/distdir.am (distdir-am): New intermediate target.
Interpose this target between $(distdir) and its dependency
on $(DISTFILES), so that we can ensure $(BUILT_SOURCES) are
all created before we begin creating $(DISTFILES).
* t/dist-vs-built-sources.sh: Test for this.
* t/list-of-tests.mk (handwritten_TESTS): Add it.
* NEWS (Bugs fixed): Mention it.
Assaf Gordon reported that "make dist" (after ./configure
from a pristine clone of GNU hello) would fail due to the
absence of configmake.h while compiling lib/localcharset.c.
https://lists.gnu.org/r/bug-hello/2014-03/msg00016.html
|
|
5e202df2
|
2017-09-23T12:19:43
|
|
maint: Make Emacs use 'makefile-automake-mode'
* 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.
|
|
c2757b97
|
2017-09-19T13:43:07
|
|
maint: Reset master
|
|
3562e384
|
2017-09-16T13:03:36
|
|
Prefer https: URLs
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.
|
|
199e7a44
|
2017-09-16T13:03:36
|
|
Prefer https: URLs
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.
|
|
f389ecb8
|
2017-08-31T19:23:42
|
|
Merge branch 'minor'
|
|
e94c0186
|
2017-08-31T14:42:13
|
|
build: Rename "Makefile.inc" Makefile fragments to "local.mk"
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.
|
|
8555e7b8
|
2017-07-16T00:11:07
|
|
check: Make 'check-TESTS' target depend on test dependencies
The 'check' and 'recheck' targets are already depending on the progams
and scripts required to run the test suite. The 'check-TESTS' target
while not in the public API might be used by uninformed users, so it
makes sense to add the same dependency to it. This fixes bug#27186.
* lib/am/check.am [!%?SERIAL_TESTS%] (check-TESTS): Add dependency to
'%CHECK_DEPS%'.
* THANKS: Update.
|
|
3126fa4c
|
2017-07-15T22:24:43
|
|
dejagnu: Allow AM_RUNTESTFLAGS to override default RUNTEST arguments
This fixes bug#25335.
* lib/am/dejagnu.am (check-DEJAGNU): Swap $(RUNTESTDEFAULTFLAGS) and
$(AM_RUNTESTFLAGS).
* THANKS: Update.
|
|
c946ae6f
|
2017-06-16T22:46:16
|
|
Merge branch 'micro' into minor
|
|
d8add592
|
2017-03-02T18:55:53
|
|
maint: Update copyright years to 2017.
This update has been made with 'make update-copyright'.
|
|
1370ce5f
|
2017-01-01T08:34:49
|
|
maint: update copyright dates for 2017
* all files: Run this command, using update-copyright from gnulib:
UPDATE_COPYRIGHT_FORCE=1 \
UPDATE_COPYRIGHT_USE_INTERVALS=2 \
UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 \
update-copyright $(git ls-files)
|
|
5fac9a39
|
2016-05-30T17:07:52
|
|
compile: remove .Tpo file upon failure
When generating a .deps/base.Po file, our emitted rule first writes
to a temporary .Tpo file, so the final creation can be atomic, via
mv's rename. However, when generation of the .Tpo fails, it stop the
process and does not remove that temporary file. And nothing else
ever deletes it, either. Hence, in the unusual case in which one
expects a compilation to fail during a successful build (gnulib's
test-verify.sh does precisely this), a .deps/test-verify.Tpo file
would be left behind, and that would in turn cause a "make distcheck"
failure because that file would exist in one build+distclean hierarchy
but not in the distribution tarball.
* lib/am/depend2.am: Ensure that the temporary file is removed
upon failure.
* t/distcheck-Tpo.sh: New file.
* t/list-of-tests.mk (handwritten_TESTS): Add it.
This addresses bug#23661.
|
|
455bad28
|
2016-03-31T16:45:26
|
|
Merge branch 'minor'
|
|
323dabef
|
2016-03-31T16:40:20
|
|
Merge branch 'micro' into minor
|
|
749468ac
|
2016-03-28T19:44:19
|
|
automake: port better to future gzip
* lib/am/distdir.am (dist-gzip, dist-shar, distcheck):
Port better to future versions of gzip, which are planned to
deprecate the GZIP environment variable (Bug#20132).
|
|
6357a630
|
2015-01-06T13:17:23
|
|
Merge branch 'minor'
* minor:
deps: fix corner-case "make distclean" bug
compile: don't place built object files in $(srcdir), ever ...
tests: fix some bugs in an XFAILing test
deps: 'subdir-object' option now works when foo_SOURCES contains $(var)
NEWS: fix a typo
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
08849db8
|
2015-01-03T01:33:45
|
|
deps: fix corner-case "make distclean" bug
Assume we have package satisfying the following conditions:
(1) automatic dependency tracking is enabled;
(2) the 'subdir-objects' Automake option is enabled;
(3) the package uses a recursive make setup.
Also assume that:
(a) a subdir Makefile declares a foo_SOURCES variable containing
a source file in the parent directory;
(b) that parent Makefile declare a compiled program itself.
Then BSD and Solaris make used to fail when running "make distclean",
because the 'distclean' target of the subdir Makefile removed the
whole '.deps' directory before the parent Makefile was done with the
included '.Po' makefile fragments in that directory. This issue was
revealed by failures in the 'subobj-vpath-pr13928.sh' test when those
make implementations were used.
We fix the issue by ensuring the 'distclean' target of any Makefile
only removed the '.Po' makefile fragments included by it, rather than
the whole '.deps' directory where such files resides.
This change should be the last step in fixing automake bug#13928
for good.
* bin/automake.in (handle_languages), lib/am/depend.am: Adjust
to implement the new 'distclean' logic.
* t/pr224.sh: Adjust to avoid a spurious failure.
* PLANS/subdir-objects.txt: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
6a675ef1
|
2014-12-24T10:57:17
|
|
deps: 'subdir-object' option now works when foo_SOURCES contains $(var)
Following a suggestions of Johan Kristensen, we have config.status use
'make' invocations rather than Makefile-parsing 'sed' hacks to bootstrap
the dependency-tracking '.Po' and '.Plo' makefile fragments. To handle
the inclusion of such files that are still missing when make is first
we basically generate a temporary Makefile without these includes, and
call 'make' on that Makefile.
This fixes the serious bug bug#13928, which was an hard blocker to make the
behavior mandated by the 'subdir-object' active by default (which we want
to do in Automake 2.0).
The issue has also been reported in bug#15919.
* NEWS, THANKS: Update.
* bin/automake.in (handle_languages): Add a trailing "marking" comment
("# am--include-marker") to the generated Makefile lines issuing 'include'
directives for the dependency-tracking '.Po' and '.Plo' makefile fragments.
Also rename the generated Makefile variable 'am__depfiles_maybe' to the
clearer 'am__maybe_remake_depfiles'.
Minor unrelated refactoring.
* lib/am/configure.am: Adjust to account for the 'am__depfiles_maybe' ->
'am__maybe_remake_depfiles' renaming.
* lib/am/depend.am: Add rules to generate a dummy version of all the
dependency-tracking '.Po' and '.Plo' makefile fragments.
* m4/depout.m4: Use make invocations rather than Makefile-parsing sed hacks
to bootstrap the dependency-tracking '.Po' and '.Plo' makefile fragments.
We still use some sed trickery in order to remove the inclusion of the
still non existing .Po and .Plo files from the Makefile we invoke make
upon; this is done stripping lines that contain the magic string
"# am--include-marker".
* m4/make.m4 (AM_MAKE_INCLUDE): Given that now automake generates Makefiles
containing include statements with trailing comment, adjust the checks done
here to make sure $MAKE support that; e.g., "include foo.mk # comment"
rather than just "include foo.mk".
Also refactor and adjust to leave better debugging info in config.log.
* t/postproc.sh: Rename ...
* t/depend-postproc.sh: ... to this, and adjust and enhance.
* t/list-of-tests.mk (handwritten_TESTS): Adjust.
(XFAIL_TESTS): Remove 't/subobj-indir-pr13928.sh', which is now succeeding.
* t/subobj-indir-pr13928.sh: Simplify slightly, now that we expect it to
pass.
* t/depcomp8a.sh: Adjust grepping check to account for the changes in
the generated Makefile, and tp be somewhat more robust in light of possible
future modifications.
* t/depcomp8b.sh: Likewise.
* t/subobj11b.sh: Likewise.
* t/subobj11c.sh: Likewise.
* t/extra-sources.sh: Likewise.
* t/lex-depend-grep.sh: Likewise.
* t/lex-depend-cxx.sh: Add a command to help debugging in case of test
failure.
Helped-by: Johan Kristensen <johankristensen@gmail.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
2f0293e1
|
2015-01-05T22:55:51
|
|
Merge branch 'minor'
* minor:
maint: update copyright years to 2015 (branch 'micro')
|
|
5de75f07
|
2015-01-05T22:48:33
|
|
maint: update copyright years to 2015 (branch 'micro')
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
c24233d4
|
2014-12-23T22:45:13
|
|
Merge branch 'minor'
* minor:
dist: fix bug#18286 "distcheck fails to detect missing files"
tests: expose automake bug#18286 "distcheck fails to detect missing files"
include: fix bug in handling of user-defined makefile fragments generation
tests: expose bug in handling of user-defined makefile fragments generation
|
|
bd838a68
|
2014-12-23T21:15:18
|
|
Merge branch 'micro' into minor
* micro:
dist: fix bug#18286 "distcheck fails to detect missing files"
tests: expose automake bug#18286 "distcheck fails to detect missing files"
include: fix bug in handling of user-defined makefile fragments generation
tests: expose bug in handling of user-defined makefile fragments generation
|
|
6979c8e6
|
2014-12-23T20:24:46
|
|
Merge branch 'distcheck-pr18286' into micro
* distcheck-pr18286:
dist: fix bug#18286 "distcheck fails to detect missing files"
tests: expose automake bug#18286 "distcheck fails to detect missing files"
|
|
01a7a4a7
|
2014-12-23T18:39:32
|
|
dist: fix bug#18286 "distcheck fails to detect missing files"
BTW, this issue had been already reported in the past:
http://lists.gnu.org/archive/html/automake/2006-09/msg00008.html
http://lists.gnu.org/archive/html/automake/2013-01/msg00049.html
"make distcheck" could sometimes fail to detect missing files in the
distribution tarball, especially in those cases where both the generated
files and their dependencies are explicitly in $(srcdir). An important
example of this are *generated* makefile fragments included at Automake
time in Makefile.am. A basic example:
# -*- Makefile.am -*-
$(srcdir)/fragment.am: $(srcdir)/data.txt $(srcdir)/preproc.sh
cd $(srcdir) && $(SHELL) preproc.sh <data.txt >fragment.am
include $(srcdir)/fragment.am
...
If the use forgot to add data.txt and/or preproc.sh in the distribution
tarball, "make distcheck" would have erroneously succeeded!
The reason is that, while $(srcdir)/data.txt does not exist, make also
looks in $(srcdir)/$(srcdir)/data.txt, and in the distcheck-issued
VPATH build where $(srcdir) is '..', that file exists, as it is
part of the original development directory.
* t/distdir.am (distcheck): Adjust to have the build directory be
'$(distdir)/_build/sub' rather than just '$(distdir)/_build'. Thanks
Nicola Fontana for the suggestion.
* t/distcheck-pr18286.sh: Enhance and tighten a little.
* t/list-of-tests.mk (XFAIL_TESTS): Remove 't/distcheck-pr18286.sh',
as it's now passing.
* t/subdir-am-cond.sh: Adjust to avoid a fully spurious failure due
to the new distcheck semantics.
* t/subdir-ac-subst.sh: Likewise.
* t/dejagnu-relative-srcdir.sh: Likewise.
* t/txinfo-builddir.sh: Likewise.
* NEWS: Update.
Helped-by: Nicola Fontana <ntd@entidi.it>
Helped-by: Peter Johansson <trojkan@gmail.com>
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
a38fe86d
|
2014-12-23T17:27:30
|
|
Merge branch 'am-deps' into micro
* am-deps:
include: fix bug in handling of user-defined makefile fragments generation
tests: expose bug in handling of user-defined makefile fragments generation
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
55270ac3
|
2014-12-23T13:10:21
|
|
include: fix bug in handling of user-defined makefile fragments generation
If a user defined one single Makefile fragment to be included (via Automake
includes) in his main Makefile.am, and gave a rule to generate that file
from other data, Automake used to spuriously complain about with something
like "overrides Automake target '$(srcdir)/foo.am". This change remove that
spurious error (via a simple hack rather than a systematic change, but oh
well).
* lib/am/configure.am (%MAKEFILE-IN-DEPS%) [?HAVE-MAKEFILE-IN-DEPS?]: Add
a trailing "$(am__empty)" to the list of targets, which is enough to trick
Automake into not complaining about "duplicated targets" in case the
'%MAKEFILE-IN-DEPS%' list expands to a single target that is also declared
in some user-defined rule.
* t/list-of-tests.mk (XFAIL_TESTS): Remove now-passing test
't/am-include-only-one-generated-fragment.sh'.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
033293c2
|
2014-12-22T19:10:55
|
|
Merge branch 'minor'
* minor:
cleanup: refactor code to initialize DIST_COMMON
dist: ordering of files in DIST_COMMON is deterministic now
tests: refactor some tests on DIST_COMMON
maint: make output of 'gen-testsuite-part' deterministic
When computing lispdir, don't load emacs site wide init file.
PATH: quote $(PATH_SEPARATOR) as well
Improve detection of GNU make, avoiding "Arg list too long" errors.
|
|
88ac92b2
|
2014-12-22T17:56:22
|
|
Merge branch 'micro' into minor
* micro:
cleanup: refactor code to initialize DIST_COMMON
dist: ordering of files in DIST_COMMON is deterministic now
tests: refactor some tests on DIST_COMMON
maint: make output of 'gen-testsuite-part' deterministic
When computing lispdir, don't load emacs site wide init file.
PATH: quote $(PATH_SEPARATOR) as well
Improve detection of GNU make, avoiding "Arg list too long" errors.
|
|
91238345
|
2014-12-22T13:39:30
|
|
cleanup: refactor code to initialize DIST_COMMON
There is not need to make that an Automake variable early,
only to later get and munge its contents, and use the new
content to redefine the variable.
* bin/automake.in (@dist_common): New global variable.
(push_dist_common, handle_dist): Use it.
(handle_dist): Define am__DIST_COMMON instead of DIST_COMMON
directly.
(initialize_per_input): Reset it to empty.
($configure_dist_common): Turn this scalar variable ...
(@configure_dist_common): ... into this array variable.
(handle_dist): Adjust.
(required_file_check_or_copy): Update and wrap some comments.
* lib/am/distdir.am (DIST_COMMON): Append $(am__DIST_COMMON).
* t/distcom2.sh: Tighten a little.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
e7c14d96
|
2014-12-19T15:10:09
|
|
Improve detection of GNU make, avoiding "Arg list too long" errors.
Such errors could take place when the main makefile included too many
sub-makefiles, making $(MAKEFILE_LIST) too long and causing the
recipes $(am__is_gnu_make) to exceed the shell's command-line length
limits. This is not a theoretical issue: it could happen for projects
having lots of C/C++ sources and using automatic dependency tracking,
which created an included .Po sub-makefile for each of such sources.
Fixes http://debbugs.gnu.org/18744
* lib/am/header-vars.am (am__is_gnu_make): Fix the logic to avoid
the use of $(MAKEFILE_LIST).
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
4410ae7f
|
2014-12-19T11:08:15
|
|
dist: adjust warning messages about shar and tarZ deprecation
They were swapped. Reported in http://debbugs.gnu.org/19108.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
4b4d6300
|
2014-12-17T18:21:04
|
|
Merge branch 'minor'
* minor:
Fix dumb logic error preventing $install_sh from being be overridden
Automake docs: fix typos and use of British English
Expose automake bug#19311
build: fix race in parallel builds
build: fix race in parallel builds
|
|
6465c530
|
2014-08-23T07:55:28
|
|
build: fix race in parallel builds
Reported by Friedrich Beckmann in: http://bugs.gnu.org/18301
* lib/am/texi-vers.am (?DIRSTAMP?): Put the process-ID into the
temporary file name. Use a similar temporary in the source dir.
|
|
74cdef78
|
2014-08-23T07:55:28
|
|
build: fix race in parallel builds
Reported by Friedrich Beckmann in: http://bugs.gnu.org/18301
* lib/am/texi-vers.am (?DIRSTAMP?): Put the process-ID into the
temporary file name. Use a similar temporary in the source dir.
|
|
a000546b
|
2014-04-21T15:12:29
|
|
Merge branch 'minor'
* minor:
maint: update copyright years
maint: sync files from upstream ("make fetch")
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
a78f63c5
|
2014-04-21T15:10:54
|
|
maint: update copyright years
We've been in 2014 already for few months now...
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
3a851d64
|
2014-04-21T10:22:29
|
|
Typofixes in warning messages and manual
Fixes automake bug#16827 and bug#16997.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
7573a457
|
2014-04-21T10:09:41
|
|
Merge branch 'minor'
* minor:
doc: fix encoding error with UTF-8 characters
NEWS: a typofix, and better word wrapping
parallel-tests: avoid possible implicit "make all" in test-suite.log rule
|
|
ad9804e1
|
2013-12-30T23:21:03
|
|
parallel-tests: avoid possible implicit "make all" in test-suite.log rule
This change fixes automake bug#16302.
* lib/am/check.am ($(TEST_SUITE_LOG)): Avoid running "make $redo_logs"
when $redo_logs expands to empty, since in that case we are actually
ending up invoking a full "make all". That shouldn't be required, and
can cause slowdowns for people implementing their extra "laziness
wrappers" around check-TESTS (automake bug#16302).
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
65fecfc5
|
2013-11-02T10:57:50
|
|
Merge branch 'minor'
* minor:
cosmetics: fix typo in a user-facing message in tests
automake: account for perl hash order randomization
tests: avoid use of intervals to capitalize letters
cosmetics: untabify the install-sh script
install-sh: assume that "set -f" and "set +f" work...
install-sh: assume ${var:-value} works as expected
install-sh: assume 'dirname' is available and working correctly
distcheck: don't allow overriding of --prefix and --srcdir by the user
tests: expose bug#14991 (relates to 'distcheck')
|
|
9b156829
|
2013-10-30T21:41:39
|
|
distcheck: don't allow overriding of --prefix and --srcdir by the user
Not through AM_DISTCHECK_FLAGS, nor through DISTCHECK_FLAGS. Apparently,
some packages got in the habit of relaying all the options passed to the
original ./configure invocation through to the configure invocations
in "make distcheck". This was causing problems, because it also passed
through the original --srcdir and --prefix options.
Fixes: expose bug#14991 (relates to 'distcheck')
* lib/am/distdir.am (distcheck): Pass the hard-coded --srcdir and
--prefix options *after* both the developer-defined options in
$(AM_DISTCHECK_FLAGS) and the user-defined options in $(DISTCHECK_FLAGS).
* t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test
'distcheck-no-destdist-or-srcdir-override.sh'.
* doc/automake.texi (Checking the Distribution): Update.
* NEWS: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
b7bdb2c3
|
2013-10-30T01:04:24
|
|
Merge branch 'minor'
* minor:
tests: fix spurious failure when zip is present but unzip is not
tests: fix spurious failure due to localization issues
NEWS: update with the changes since v1.14
docs: correct typos in the fix-timestamp.sh script
python: byte-compile nobase_*_PYTHON files only once
cosmetics: typofix in the 'missing' script
test: avoid false positives in 'cc-no-c-o' script
test harness: improve catching of usage errors in script 'test-driver'
tests: fix a spurious failure on NetBSD-current
am-ft: make the environment available earlier
NEWS: post-release tweaks (for 1.14.x series)
tests: avoid a spurious failure on MacOS X 10.6.8
tests: don't risk hanging on the 'cl' requirement
|
|
2c063f33
|
2013-09-17T09:57:53
|
|
python: byte-compile nobase_*_PYTHON files only once
* lib/am/python.am: Here. Byte-compiling was occurring inside of
a loop, causing an O(n^2) number of byte-compilations instead of
O(n).
Copyright-paperwork-exempt: yes
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
f61b6ef9
|
2013-06-13T01:48:54
|
|
Merge branch 'maint'
* maint:
THANKS: update e-mall address for Ralf Corsepius
lang, suffix rules: don't require C stuff needlessly
tests: expose automake bug#14560
maint: add a missing copyright notice
sync: update config.guess from upstream
tests: expose automake bug#13928
comments: fix some out-of-sync refs to test scripts
tests: expose automake bug#13940
|
|
9892eb78
|
2013-06-09T11:37:01
|
|
Merge branch 'micro' into maint
* micro:
maint: add a missing copyright notice
sync: update config.guess from upstream
tests: expose automake bug#13928
comments: fix some out-of-sync refs to test scripts
tests: expose automake bug#13940
|
|
f7492285
|
2013-06-08T17:56:34
|
|
comments: fix some out-of-sync refs to test scripts
Those script has been renamed since those comments where written.
* lib/Automake/Rule.pm: Adjust.
* lib/am/distdir.am: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
a0db09fe
|
2013-05-23T20:49:39
|
|
Merge branch 'maint'
* maint:
tests: avoid few lingering $MAKE redirections
tests: avoid '$MAKE' redirections, use 'run_make' instead
tests: avoid use of redirected 'run_make' invocations
lint: warn against redirected 'run_make' invocations
comments: next GNU make release 4.0, not 3.83
tests: fix a potential spurious failure due to global config.site
HACKING: it's OK to do testsuite refactoring in a micro version
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
86e45fe1
|
2013-05-23T20:12:17
|
|
Merge branch 'micro' into maint
* micro:
tests: avoid '$MAKE' redirections, use 'run_make' instead
tests: avoid use of redirected 'run_make' invocations
lint: warn against redirected 'run_make' invocations
comments: next GNU make release 4.0, not 3.83
tests: fix a potential spurious failure due to global config.site
HACKING: it's OK to do testsuite refactoring in a micro version
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
f2a1ef46
|
2013-05-22T23:42:09
|
|
comments: next GNU make release 4.0, not 3.83
See: <http://lists.gnu.org/archive/html/bug-make/2013-05/msg00093.html>
* lib/am/header-vars.am (am__make_running_with_option): Adjust
comments.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
42eaadf9
|
2013-05-18T20:28:20
|
|
Merge branch 'subdir-objects-work'
* subdir-objects-work:
depend: reduce code duplication, de-uglify make verbose output
depend: prefer $(...) over `...` in Cygwin-specific recipes
depend: reduce code duplication
depend: a preparatory refactoring
depend: refactor and remove code duplication
Automake::Language: drop unused fields 'compile_flag' and 'output_flag'
depend: assume '-c' compiler flag always means to produce object files
depend: assume we can always pass '-o' to the C compiler
cleanup: having subdir-objects mandatory allow us some simplifications
subdir-objects: enable unconditionally
|
|
5fe99e28
|
2013-05-18T19:27:28
|
|
Merge branch 'maint'
* maint:
lisp: fix a failure with Solaris /usr/xpg4/bin/sh
tests: sanitize 'unset' usages
tests: fix some botched/outdated comments
tests: use perl, not find+rm, to remove temporary directories
|
|
0cca184f
|
2013-05-18T15:23:20
|
|
Merge branch 'micro' into maint
* micro:
lisp: fix a failure with Solaris /usr/xpg4/bin/sh
tests: sanitize 'unset' usages
tests: fix some botched/outdated comments
tests: use perl, not find+rm, to remove temporary directories
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
0256f1d6
|
2013-05-18T13:35:16
|
|
lisp: fix a failure with Solaris /usr/xpg4/bin/sh
* lib/am/lisp.am (.el.elc): By initializing the 'am__dir' properly
here. For most shells, the lacking initialization, while technically
incorrect, didn't cause any issue in practice, because in those shells
"test -d" returns an exit status of 0. But with /usr/xpg4/bin/sh, the
shell complains like this: "test: argument expected", and returns a
non-zero exit status. This caused testsuite failures in several lisp
tests.
Also, while we are at it, use more proper quoting in the recipe, to
ensure a missing initialization to now be caught by more forgiving
shells as well.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
ca41efd3
|
2013-01-10T21:52:18
|
|
depend: reduce code duplication, de-uglify make verbose output
Verbose output from compilation recipes had been made more messy by
the previous "simplifying" commit v1.13.1d-220-g1fa0c24. With this
patch, not only we reduce some code duplication, but also improve
that output again, for the joy of users who dislike silent-rules :-)
* lib/am/depend2.am: Use the new '%XSOURCE%' transform, instead of
copying and pasting the idiom for VPATH rewrite emulation over and
over. Fix some indentation and line-wrapping issues while at it.
* bin/automake.in (handle_languages): Implement the new transform.
* t/silent-nested-vars.sh: Adjust to avoid spurious failures.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
436cb17e
|
2013-01-10T21:42:28
|
|
depend: prefer $(...) over `...` in Cygwin-specific recipes
On Cygwin, we can happily assume only POSIX-conforming shells exist.
This commit is useless by itself, but is useful as a preparatory
refactoring in view of a future change.
* lib/am/depend2.am: In recipes for producing '.obj' objects, use
the POSIX form $(...) for command substitution, rather than the
classic Bourne one `...`.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
13abbe06
|
2013-01-10T21:31:57
|
|
depend: reduce code duplication
Just a simplification; no semantic change is intended.
* lib/am/depend2.am (am__set_depbase): New. Use it in all the three
flavours of recipes (.o, .obj, .lo), instead of duplicating its code.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
27a6abf4
|
2013-01-10T20:47:57
|
|
depend: a preparatory refactoring
This is just a preparatory change in view of a future refactoring.
No semantic change is intended.
* lib/am/depend2.am: Adjust; for example, using '$@' in all recipes
to indicate the output file (rather than recipe-specific transforms
like '%OBJ%' and '%LTOBJ%'), and not assuming to know the exact
file extension of the output file (e.g., whether it's '.o' or '.lo').
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
1fa0c24d
|
2013-01-10T18:04:33
|
|
depend: refactor and remove code duplication
* lib/am/depend2.am: Here. The obsolescent comments removed from this
same file in commit 'v1.13.1-42-g8f06bfb' of 2012-01-09, "depend2.am: fix
comments on verbosity of compilation rules", gave the rationale for why
that code duplication was there in the first place (rationale that, like
those comments, has been obsolete by the silent-rules introduction).
* bin/automake.in: Given the refactoring in 'depend2.am', there is no
longer need to add extra trailing whitespace to the entries of the
'%sourceflags' hash (which are used for the '%SOURCEFLAG%' transform
when 'depend2.am' is processed.
* t/fort2.sh: Adjust to avoid spurious failures.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
20d337a7
|
2013-01-10T19:48:14
|
|
depend: assume '-c' compiler flag always means to produce object files
Rather than fully-fledged executables. This is the case for all the
compilers of all languages supported by Automake.
This is just a simplification; no semantic changes are intended.
* bin/automake.in (handle_languages): Drop transform '%-c%'.
* lib/am/depend2.am: Adjust to just assume the '%-c%' transform
expands to "-c".
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
7299c4d2
|
2013-01-10T19:38:58
|
|
depend: assume we can always pass '-o' to the C compiler
This is the case after the change in commit v1.13.1-56-g34001a9 of
2013-01-09 (compile: use 'compile' script when "-c -o" is used with
losing compilers).
This is just a simplification; no semantic changes are intended.
* bin/automake.in (handle_languages): Drop transform '%-o%', and
definitions of '$output_flag'.
* lib/am/depend2.am: Adjust to just assume the '?-o?' transform is
true, and the '%-o%' transform expands to "-o".
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
5b40c4e7
|
2013-01-08T14:04:00
|
|
cleanup: having subdir-objects mandatory allow us some simplifications
Few minor cleanups made possible by earlier changes, plus other minor
cleanups triggered in cascade. No semantic change is intended.
This is a follow-up on previous commit 'v1.13.1d-214-g3ad07d2', and
an adjusted backport of Automake-NG commit 'v1.12.1-315-gc97d41b'
of 2012-06-08 ([ng] cleanup: after enabling of subdir-objects
unconditionally).
* bin/automake.in (LANG_IGNORE, LANG_SUBDIR): Remove.
(handle_languages): Drop the '%DEPBASE%' transform when processing
the '$rule_file'.
(register_language ('name' => 'vala', ...)): Add '.vapi' to the entry
'extensions', and simplify the entry 'output_extensions' to point to
a dummy subroutine (since it wasn't really used anyway).
(handle_single_transform): No longer expect the 'lang_*_rewrite'
subroutines to return a 'LANG_*' constant, but only a transformed
extension, if required. To decide whether further processing of the
source file should be stopped, rely on a new set of 'lang_*_ignore'
subroutines, defaulting to a subroutine that returns false.
Accordingly, don't special case the handling of '.vapi' files anymore,
instead rely on ...
(lang_vala_ignore, lang_header_ignore): ... these new subroutines to
avoid extra processing of C/C++ headers and Vala '.vapi' headers.
(lang_java_rewrite): Remove.
Remove an outdated comment.
* lib/am/depend2.am: Partial rewrite to reduce code duplication and
drop use of the '%DEPBASE%' transform.
* t/compile_f_c_cxx.sh: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
020fb48d
|
2012-06-06T10:27:46
|
|
subdir-objects: enable unconditionally
See automake bug#13378.
The fact that Automake-generated Makefiles places compiled object files
in the current directory by default, also when the corresponding source
file is in a subdirectory, is basically an historical accident, due to
the fact that the 'subdir-objects' option had only been introduced in
April 1999, starting with commit 'user-dep-gen-branchpoint-56-g88b5959',
and never made the default, likely to avoid backwards-compatibility
issues.
Since we believe the behaviour enabled by the 'subdir-objects' is the
only natural and most useful one, we make it the only only one available,
simplifying the Automake implementation and APIs a little in the process.
This change is basically an adjusted backport of Automake-NG commit
'v1.12.1-313-g14fe163' of 2012-06-07, "[ng] subdir-objects: enable
unconditionally".
* NEWS: Update.
* doc/automake.texi (Program and Library Variables): The output
object files are no longer placed in the current directory by
default, but rather in the same directory of the source file.
(LIBOBJS): Now the $(LIBOBJS) and $(ALLOCA) variables can also
be used outside of the directory where their sources lie.
(List of Automake options): Report the 'subdir-objects' option
as a no-op, existing only for compatibility with older versions
of Automake.
Other related minor adjustments.
* bin/automake.in (LANG_PROCESS): Remove, it's no longer needed.
(handle_languages): Don't test whether option 'subdir-objects'
is set (just assume it is), and do not use the '%SUBDIROBJ%'
transform when processing '.am' fragments.
(lang_sub_obj): Delete, it would just return 'LANG_SUBDIR'
unconditionally now.
(lang_lex_rewrite): Adjust. Don't test whether the option
'subdir-objects' is set (just assume it is).
(lang_yacc_rewrite): Likewise.
(handle_single_transform): Likewise. Remove an obsolete
comment. Add a proper "FIXME" comments about a fragment
of code that might have become dead code now.
(handle_LIBOBJS_or_ALLOCA): Simplify assuming that the option
'subdir-objects' is always set. Accordingly, there's no need
to warn anymore if '$(LIBOBJS)' or '$(ALLOCA)' are used outside
the '$config_libobj_dir' directory (as specified by autoconf
macro 'AC_CONFIG_LIBOBJ_DIR').
* lib/am/depend2.am: Assume the '?SUBDIROBJ?' Automake time
conditional is always true, and remove its uses accordingly.
* t/compile_f_c_cxx.sh: Adjust.
* t/cscope.tap: Likewise.
* t/depcomp8a.sh: Likewise.
* t/depcomp8b.sh: Likewise.
* t/libtool3.sh: Likewise.
* t/ltlibsrc.sh: Likewise.
* t/pr401.sh: Likewise.
* t/pr401b.sh: Likewise.
* t/pr401c.sh: Likewise.
* t/subobj.sh: Likewise.
* t/lex-line.sh: Likewise.
* t/yacc-line.sh: Likewise.
* t/yacc5.sh: Likewise.
* t/vala-libs.sh: Likewise.
* t/fort4.sh: Likewise, and extend a bit.
* t/fort5.sh: Likewise.
* t/gcj.sh: Likewise.
* t/subpkg.sh: Likewise.
* t/subpkg-yacc.sh: Likewise.
* t/xsource.sh: Likewise.
* t/libobj20a.sh: Remove as obsolete.
* t/libobj20b.sh: Adjust heading comments.
* t/libobj20c.sh: Likewise.
* t/subobj4.sh: Remove as obsolete.
* t/sourcefile-in-subdir.sh: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
1ffdec45
|
2013-05-10T21:56:12
|
|
dist: remove support for shar and tarZ formats
See also discussion about automake wishlist bug#13324.
* lib/Automake/Options.pm: Give fatal errors (rather than warnings) if
the 'dist-shar' or 'dist-tarZ' options are used.
* lib/distdir.am: Remove the 'dist-tarZ' and 'dist-shar' targets, and
references to the '.tar.Z' and '.shar' archives.
* bin/automake.in (preprocess_file): Remove 'COMPRESS' and 'SHAR'
transforms.
(handle_dist): Remove lingering references to 'dist-tarZ' and 'dist-shar'
options.
* doc/automake.texi: Adjust, removing references to the removed targets
and distribution formats.
* t/dist-shar.sh: Adjust to expect fatal errors rather than warnings.
* t/dist-tarZ.sh: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
0cf58ea7
|
2013-05-10T21:18:40
|
|
Merge branch 'maint'
* maint:
news: document new 'subdir-objects' warning
PLANS: one minor fixlet (mostly cosmetic)
PLANS: we have already dropped support for split info files in master
NEWS: fix a reference to Automake 1.14 where Automake 2.0 was intended
PLANS: fix reference to non-existent 'next' branch
PLANS: fix botched version reference
maintcheck: fix two references to old location of aclocal and automake
dist: deprecated shar and tar+compress formats
|
|
780299d9
|
2013-05-10T19:22:06
|
|
dist: deprecated shar and tar+compress formats
See also discussion about automake wishlist bug#13324.
* lib/Automake/Options.pm: Give proper warnings in the 'obsolete'
category if the 'dist-shar' or 'dist-tarZ' options are used.
* lib/distdir.am: When the 'dist-tarZ' or 'dist-shar' targets are
invoked, make them give a non-fatal warning.
* doc/automake.texi: Report the new deprecations.
* t/dist-shar.sh: New test.
* t/dist-tarZ.sh: Likewise.
* t/lzma.sh: While at it, rename ...
* t/dist-lzma.sh: ... like this, and tweak it to keep more in
sync with the new tests.
* t/dist-formats.tap: Remove references to deprecated formats.
* t/list-of-tests.mk: Adjust.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
0dd95c8d
|
2013-05-10T13:33:52
|
|
Merge branch 'maint'
* maint:
automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/
am: prefer a shorter idiom where possible
cosmetics: fix few typos, grammaros and missing whitespace
fixup: remove an obsolete comment
docs: we still don't have the promised better Java interface
build: move automake and aclocal in 'bin' subdir
build: break up monolithic Makefile.am in subdir-specific fragments
+ Extra non-trivial edits:
* m4/Makefile.inc (dist_automake_ac_DATA): Drop lead-dot.m4 and
mkdirp.m4.
* lib/Automake/Makefile.inc (dist_perllib_DATA): Drop Configure_ac.pm.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|