|
110f6376
|
2025-05-21T09:49:46
|
|
automake: algol68: rename A68C and A68CFLAGS back to A68 and A68FLAGS.
From https://bugs.gnu.org/78518, discussion at 78481
(both automake-patches).
* bin/automake.in: Rename A68C and A68CFLAGS to A68 and A68FLAGS.
* doc/automake.texi: Likewise.
* configure.ac: Rename GNU_A68C and GNU_A68FLAGS to GNU_A68 and
GNU_A68FLAGS.
* lib/Automake/Variable.pm: Likewise.
* t/a68-demo.sh: Likewise.
|
|
94802547
|
2025-04-28T15:42:52
|
|
automake: algol68: also rename [AM_]A68FLAGS to [AM_]A68CFLAGS.
From https://bugs.gnu.org/78033 (automake-patches).
* bin/automake.in (a68): change link and compile values.
* lib/Automake/Variable.pm: likewise rename.
* configure.ac: likewise rename.
* doc/automake.texi: likewise rename.
|
|
282b016e
|
2025-04-24T15:07:41
|
|
automake: algol68: rename A68 to A68C and AM_PROG_A68 to AM_PROG_A68C.
From https://bugs.gnu.org/78033 (automake-patches).
While upstreaming the Algol 68 autoconf support it was pointed
out that the shell variable A68 should be renamed to A68C and
that the macro AC_PROG_A68 should be renamed to AC_PROG_A68C.
This is to be more consistent to the support for other languages
like Go. This patch updates the Automake side.
The Algol 68 code snippets are also updated to use modern
stropping, which is the stropping regime now used by default by ga68.
* bin/automake.in (a68): change config_vars, libtool_tags et al.
* lib/Automake/Variable.pm: likewise rename.
* doc/automake.texi: likewise rename.
* t/a68-demo.sh: likewise modify.
|
|
fc9c308e
|
2025-02-24T15:35:09
|
|
automake: warn about install.sh being found, rather than error.
Report from https://bugs.gnu.org/19964.
* bin/automake.in (scan_autoconf_files): give a msg 'obsolete'
rather than err_am. Mention where install.sh was found.
(En passant, fix some doubled words.)
* NEWS: mention this.
|
|
ba3a673d
|
2025-02-24T10:30:42
|
|
dist: correct sense of no-dist-built-sources option.
Primarily from https://bugs.gnu.org/69908.
* bin/automake.in (preprocess_file) <DIST_BUILT_SOURCES>:
make the option name be "no-dist-built-sources",
per Options.pm and automake.texi; then set it with a single !.
* lib/am/distdir.am (distdir) [DIST_BUILT_SOURCES]: insert the
dependency on $(BUILT_SOURCES) when DIST_BUILT_SOURCES is true,
not false; i.e., sense was reversed.
* t/dist-no-built-sources.sh: edit the test configure.ac
in the no-dist-built-sources case. Rename the testopt value to
match the Automake option.
* NEWS: mention this.
|
|
735a386e
|
2025-02-21T09:38:52
|
|
dist: add bzip3 support.
From https://bugs.gnu.org/73795 (automake-patches).
* bin/automake.in (handle_dist): add bzip3 support.
https://github.com/kspalaiologos/bzip3
* lib/Automake/Options.pm (_is_valid_easy_option): likewise.
* lib/am/distdir.am (dist-bzip3): likewise.
* t/dist-formats.tap: likewise.
* t/dist-bzip3.sh: new test.
* t/list-of-tests.mk (handwritten_TESTS): add it.
* NEWS: mention this.
* THANKS: add Kamila.
|
|
bbb06167
|
2025-02-02T10:11:24
|
|
Add support for the Algol 68 programming language.
* bin/automake.in: Call register_language for Algol 68.
(resolve_linker): handle A68LINK.
(%_am_macro_for_cond): Add entry for am__fastdepGA68.
* configure.ac: Look for ga68 and set GNU_GA68 and GNU_A68FLAGS
if found.
* lib/Automake/Variable.pm (%_ac_macro_for_var): Add entries for GA68
and GA68FLAGS.
* t/a68-demo.sh: New test.
* doc/automake.texi (Algol 68 Support): New section.
* NEWS: Add entry for Algol 68.
|
|
fc1c3f65
|
2025-01-31T09:20:47
|
|
automake: just use warnings, with no => FATAL.
Per Perl recommendation:
https://perldoc.perl.org/warnings#Fatal-Warnings
Suggested by Collin Funk:
https://lists.gnu.org/archive/html/automake/2025-01/msg00003.html
And in the Perl discussion:
https://github.com/Perl/perl5/issues/22954#issuecomment-2622966302
* bin/aclocal.in: just use warnings, not making them fatal.
* bin/automake.in:
* contrib/tap-driver.pl:
* gen-testsuite-part:
* lib/Automake/ChannelDefs.pm:
* lib/Automake/Channels.pm:
* lib/Automake/Condition.pm:
* lib/Automake/Config.in:
* lib/Automake/Configure_ac.pm:
* lib/Automake/DisjConditions.pm:
* lib/Automake/FileUtils.pm:
* lib/Automake/General.pm:
* lib/Automake/Getopt.pm:
* lib/Automake/Item.pm:
* lib/Automake/ItemDef.pm:
* lib/Automake/Language.pm:
* lib/Automake/Location.pm:
* lib/Automake/Options.pm:
* lib/Automake/Rule.pm:
* lib/Automake/RuleDef.pm:
* lib/Automake/VarDef.pm:
* lib/Automake/Variable.pm:
* lib/Automake/Version.pm:
* lib/Automake/Wrap.pm:
* lib/Automake/XFile.pm:
* t/ax/deltree.pl:
* t/ax/extract-testsuite-summary.pl:
* t/check-fd-redirect.sh:
* t/tap-signal.tap:
* t/tests-environment-fd-redirect.sh:
* t/testsuite-summary-count-many.sh:
|
|
b5403ee7
|
2025-01-30T15:34:52
|
|
automake: avoid precedence error when using Perl 5.41+.
Reported by Igor Todorovski <itodorov@ca.ibm.com> in
<https://lists.gnu.org/archive/html/automake/2025-01/msg00000.html>.
* bin/automake.in (transform): Parentheses the '!' operators so
Perl 5.41.8 doesn't warn about "possible precedence problem".
|
|
61075eab
|
2025-01-01T14:31:02
|
|
maint: make update-copyright
|
|
a2def8cd
|
2024-10-20T14:34:39
|
|
automake: require ABOUT-NLS only at gnits strictness.
From https://lists.gnu.org/archive/html/automake/2024-10/msg00006.html.
* bin/automake.in (handle_gettext): In require_file for ABOUT-NLS,
change strictness level from GNU to GNITS.
* NEWS: Add notice.
|
|
eb20585d
|
2024-06-18T10:32:09
|
|
aclocal: add --aclocal-path option to override ACLOCAL_PATH envvar.
From https://lists.gnu.org/archive/html/automake-patches/2022-01/msg00029.html
(plus wording tweaks from Karl; and thanks to Bogdan for research).
* bin/aclocal.in (usage): relabel output of m4 search path
components to be somewhat more correct (Karl), although it's still
a mess.
(parse_arguments): add new option --aclocal-path=s.
(parse_ACLOCAL_PATH): use $aclocal_path instead of hardwiring envvar.
* doc/automake.texi (aclocal Options): document it.
(dirlist): new anchor so we can reference it.
(Modifying the Macro Search Path: @file{ACLOCAL_PATH}): mention
the option.
(Possible future incompatibility): tone down; it might never happen.
* t/aclocal-path-precedence.sh: test the option.
* NEWS: mention the new option.
|
|
e09ee974
|
2024-06-16T08:41:06
|
|
aclocal: path separator is ; on OS/2 and Windows.
Adapted from and fixes https://bugs.gnu.org/71534.
* bin/aclocal.in (parse_ACLOCAL_PATH): use $^O to recognize OS/2
and Windows for the environment path element separator.
* NEWS: mention this.
|
|
f3752617
|
2024-06-15T18:18:35
|
|
automake: sort keys for reproducibility.
Fixes https://bugs.gnu.org/25629.
* bin/aclocal.in: sort keys for reproducibility.
* bin/automake.in: likewise.
* contrib/tap-driver.pl: likewise.
* lib/Automake/Channels.pm: likewise.
* lib/Automake/Condition.pm: likewise.
* lib/Automake/DisjConditions.pm: likewise.
* lib/Automake/Getopt.pm: likewise.
* lib/Automake/Rule.pm: likewise.
* THANKS: Add Yves.
* NEWS: mention this.
|
|
4981e599
|
2024-06-07T10:23:59
|
|
doc: modernize version control doc
Be more generic about version control instead of saying “CVS”.
In the specific examples, use Git instead of CVS.
|
|
1d35638b
|
2024-06-07T08:41:45
|
|
maint: spelling and whitespace fixes
Most of these spelling fixes are just to comments and documentation.
However, some affect tests as follows:
* t/cond36.sh (tparse.h): Fix misspelling of dependency.
* t/disthook.sh: Fix misspelling of file.
* t/help3.sh: Fix misspelling of long option.
* t/instdir-ltlib.sh: Fix misspellings of macro names.
This causes the test to fail, so someone with libtool
expertise needs to look into this.
* t/tap-no-spurious-numbers.sh (highno): Fix misspelling of shell var.
|
|
fba8c57d
|
2024-04-27T09:34:15
|
|
doc: Vala-related typo in automake.in
From https://bugs.gnu.org/70557.
* bin/automake.in (lang_vala_finish_target): typo.
|
|
2fa17ccc
|
2024-01-23T08:53:18
|
|
automake: recommend autoreconf -f with version mismatches.
From https://bugs.gnu.org/68674.
* bin/automake.in (scan_autoconf_traces): change error
to suggest running autoreconf -f. The version mismatch is
most likely to happen due to the cache files, which
aclocal && automake (the previous recommendation) does not delete.
(scan_autoconf_files): likewise.
* doc/automake.texi (Auto-generating aclocal.m4): mention autoreconf.
Other minor wording changes.
|
|
b80b5c47
|
2024-01-01T11:29:06
|
|
maint: make update-copyright
|
|
6a2d079b
|
2023-12-24T15:02:30
|
|
doc: typos from codespell.
Report and patch: https://bugs.gnu.org/68003.
* bin/automake.in: typo from codespell.
* configure.ac: likewise.
* t/dist-auxdir-many-subdirs.sh: likewise.
* t/instmany-mans.sh: likewise.
* t/instmany-python.sh: likewise.
* t/instmany.sh: likewise.
* t/nostdinc.sh: likewise.
* t/parallel-tests-fork-bomb.sh: likewise.
* t/rm-f-probe.sh: likewise.
* t/tap-basic.sh: likewise.
* t/test-driver-custom-multitest.sh: likewise.
* t/txinfo-vtexi3.sh: likewise.
|
|
9ab5c03e
|
2023-12-24T08:45:50
|
|
warn: avoid "only used once" warning for subsecond_mtime.
* bin/automake.in (version): uselessly use
$Automake::FileUtils::subsecond_mtime a second time to
avoid Perl warning.
|
|
95c0aa18
|
2023-12-21T15:46:43
|
|
automake: avoid unnecessary use of \K.
This fixes (part of) https://bugs.gnu.org/67891
and follows up on https://bugs.gnu.org/55025.
* bin/automake.in (generate_makefile) <posix>: avoid use of
\K when removing comment and blank lines before a .POSIX target,
since Solaris 10 has perl 5.8.4, and \K was added in 5.10.
|
|
38f2f397
|
2023-12-10T09:57:53
|
|
automake: pass OBJC and OBJCXX tags to libtool.
This helps https://bugs.gnu.org/67539.
* bin/automake.in <register_language>: pass libtool_flag
of OBJC and OBJCXX for the respective languages.
|
|
cfdb83d4
|
2023-12-10T09:50:51
|
|
automake: again revise file mtime resolution support.
This patch is from https://bugs.gnu.org/67670.
In order for the Automake testsuite to be able to use sub-second
delays to control whether certain files are considered newer
than others, five(!) separate pieces of software all need to
cooperate: automake itself, autoconf's internal `autom4te'
utility, the Perl interpreter and its libraries, the sleep(1)
shell utility, and finally the filesystem hosting the build
directory. The existing tests for this are a combination of
inadequate and incorrect. This patch, in conjunction with a
patch just committed to Autoconf trunk,
https://git.savannah.gnu.org/cgit/autoconf.git/commit/?id=39d96e6fff7ceae63b823872602caf4d255a38c8
should make everything much more robust, as follows:
- _AM_FILESYSTEM_TIMESTAMP_RESOLUTION is completely rewritten.
It no longer looks for autom4te at all, because this macro is
invoked unconditionally from AM_INIT, so *every* project that
uses Automake would get this test that's only relevant to
Automake's own testsuite. Also, it tries sleeping for as little
as one millisecond (smaller delays consistently get rounded up
to 1ms on my computer and I expect that's universal), it should
accurately detect FAT's two-second resolution now, and it should
not be tripped up anymore by running at precisely the moment
that will make a 0.1s sleep cross a 1s boundary (this may sound
unlikely but it used to cause a couple of test failures *every
time* I ran the automake testsuite on a network filesystem that
only supported 1s resolution).
- In support of the above, the test for working ls -t moved from
AM_SANITY_CHECK to _AM_FILESYSTEM_TIMESTAMP_RESOLUTION. This
allowed me to simplify the test for $srcdir/configure being
older than a freshly created file.
- If automake is capable of reading high-resolution file
modification timestamps from the operating system, it prints
`Features: subsecond-mtime' as the second line of --version
output. (We can't just assume this works for sufficiently new
automake, because it depends on whether the Perl interpreter
provides this capability, and that's not a simple question of
which version of Perl you have, either.)
- The Autoconf patch mentioned above adds the same annotation to the
output of autom4te --version.
- Finally, t/ax/test-defs.in looks for the
`Features: subsecond-mtime' string from both automake and
autom4te and resets the sleep time to one second if it's not
there. There might be a better place to put this, somewhere
it'll execute every time the *overall testsuite* is invoked
rather than once for each test, but I couldn't find one.
Tested on x86-64-linux with development automake and development
autoconf.
Previous discussion:
- https://lists.gnu.org/archive/html/automake/2023-03/msg00000.html
- https://lists.gnu.org/archive/html/automake/2023-04/msg00002.html
- https://lists.gnu.org/archive/html/automake/2023-12/msg00005.html
- https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64756
* m4/sanity.m4 (_AM_FILESYSTEM_TIMESTAMP_RESOLUTION): Rewrite for
greater reliability. Don't probe autom4te at all here.
Check for working ls -t here.
(AM_SANITY_CHECK): Do not cache the result.
Do not check for working `ls -t' here.
Disentangle control flow in the loop probing the relative ages of
build and source directory.
* lib/Automake/FileUtils.pm: Sync from autoconf.
* bin/automake.in (version): Include `Features: subsecond-mtime'
in the output if $Automake::FileUtils::subsecond_mtime is true.
* configure.ac: Rename the substitution variable MODIFICATION_DELAY
to MTIME_RESOLUTION.
* t/ax/test-defs.in: Require both $AUTOMAKE and $AUTOM4TE to report
support for high-resolution timestamps before setting $sleep to
delay for less than one second.
* NEWS: Update info.
|
|
8cdbdda5
|
2023-11-21T08:30:00
|
|
automake: make the ARFLAGS default 'cr' instead of 'cru'.
In some GNU/Linux distributions people started to compile 'ar'
binary with --enable-deterministic-archives (binutils project).
That, however, in combination with our previous long time working
default AR_FLAGS=cru causes warnings on such installations:
ar: `u' modifier ignored since `D' is the default (see `U')
The 'u' option (at least with GNU binutils) did small optimization
during repeated builds because it instructed 'ar' to not
open/close unchanged *.o files and to rather read their contents
from old archive file. However, its removal should not cause a
big performance hit for usual workflows.
Distributions started using --enable-deterministic-archives
knowing that it would disable the 'u', just to rather have a bit
more deterministic builds.
Also, to justify this change a bit more, keeping 'u' in ARFLAGS
could only result in many per-project changes to override
Automake's ARFLAGS default, just to silence such warnings.
Fixes bug#20082. Reported by Eric Blake.
* bin/automake.in (handle_libraries): Use 'ARFLAGS=cr' by default.
* doc/automake.texi (Building a library): Mention the changed
ARFLAGS default.
(@c LocalWords): Replace 'cru' with 'cr'.
* m4/ar-lib.m4 (AM_PROG_AR): Cut out 'cru' string into separate
ARFLAGS variable with new default 'cr'.
* NEWS: Document.
|
|
1c618bce
|
2023-10-06T08:18:33
|
|
automake: new option posix to emit .POSIX target first.
This patch is from https://bugs.gnu.org/55025.
* lib/Automake/Options.pm (_is_valid_easy_option): declare new
option "posix".
* bin/automake.in (generate_makefile): if the "posix" option is
present, add a .POSIX special target as the first non-comment
line in the Makefile.in files.
* NEWS: mention this.
* doc/automake.texi: likewise.
|
|
5c85a9d3
|
2023-07-13T15:32:34
|
|
texi: assume .texi.in generates .texi.
This change refines the fix for https://bugs.gnu.org/54063.
* bin/automake.in (scan_texinfo_file): if .texi doesn't exist,
but .texi.in exists, read the latter for the Texinfo source.
Use the @setfilename argument, if present, to generate rules.
* t/txinfo-no-texi-but-texi-in.sh: new test.
* t/list-of-tests.mk (handwritten_tests): add it.
* doc/automake.texi (Texinfo): document this.
* NEWS: mention this. (Doc changes written by Karl.)
|
|
0e127700
|
2023-02-07T22:39:29
|
|
Revert "maint: require perl 5.010 or later"
This reverts commit 4e3744a15c4d8bdb46c11ead2fb56c5f591b714b.
Copyright-paperwork-exempt: yes
|
|
4f5a624d
|
2023-02-28T15:14:07
|
|
dirstamp: revert change of Jan 11 2023.
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
|
|
4e3744a1
|
2023-02-02T14:13:24
|
|
maint: require perl 5.010 or later
This is needed for better treatment of high-res timestamps.
|
|
55f8fcfd
|
2023-01-11T22:07:22
|
|
dirstamp: switch to a pattern rule
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).
|
|
054b02ce
|
2023-01-11T21:40:04
|
|
dirstamp: use append too instead of truncate
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
|
|
f15852df
|
2023-01-03T21:46:38
|
|
rm: convert more cases to am__rm_f
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).
|
|
34bdde96
|
2023-01-04T02:00:14
|
|
maint: make update-copyright
|
|
7191c6b4
|
2022-10-01T09:02:15
|
|
aclocal: protect against Perl undefined warnings.
* 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.
|
|
ff230b29
|
2022-02-24T22:25:45
|
|
automake: fall back gracefully when texinfo inputs don't exist
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.
|
|
c62e7230
|
2022-02-20T23:30:39
|
|
automake: allow required files to be in subdirs
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.
|
|
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.
|
|
4c2c73bf
|
2022-01-20T02:03:23
|
|
aclocal: add m4 search path info to --help
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.
|
|
6c8ff6a8
|
2022-01-12T14:15:12
|
|
maint: make update-copyright
|
|
4ffbab93
|
2021-09-10T15:45:29
|
|
automake: consistently depend on install-libLTLIBRARIES.
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.
|
|
57688bd5
|
2021-07-15T18:37:09
|
|
automake: silent make output for custom link commands.
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.
|
|
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.
|
|
16569085
|
2021-07-01T18:21:51
|
|
dist: accept .md versions for README et al.
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.
|
|
4a122012
|
2021-02-27T09:14:47
|
|
automake: sort hash keys needed for reproducible output.
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.
|
|
46420770
|
2020-12-05T18:19:18
|
|
doc: comment Vala -newer test.
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".
|
|
e83520ff
|
2020-12-03T11:00:53
|
|
warnings: be less forceful about a missing subdir-objects option.
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.
|
|
7581ec20
|
2020-11-27T18:02:08
|
|
vala: avoid wrong regeneration of C files.
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.
|
|
782ac400
|
2020-11-07T18:44:56
|
|
vala: improve support, especially builddir vs. srcdir.
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.
|
|
bd09c76a
|
2020-09-18T13:40:20
|
|
Use WARNINGS=none to suppress warnings from autom4te runs.
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.
|
|
9ae8a896
|
2020-09-11T16:17:41
|
|
Consistently process -W(no-)error after all other warning options.
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.
|
|
ab9ef6cf
|
2020-09-11T14:23:10
|
|
Sync ChannelDefs.pm from autoconf.
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.
|
|
5cafaafd
|
2020-08-31T18:31:04
|
|
perl: use warnings instead of -w; consistent ordering of use, etc.
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.
|
|
3bbcf683
|
2020-08-28T16:26:54
|
|
automake: if TEST_EXTENSIONS is set to empty, don't look inside it.
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.
|
|
cd8ef343
|
2020-07-26T15:01:34
|
|
Install directories mode 755 instead of using umask
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.
|
|
ae911ae2
|
2020-04-06T18:25:24
|
|
cosmetics: typo in comment.
This change fixes https://bugs.gnu.org/32100.
* bin/aclocal.in (install_file): remove duplicate "the" in
"Using the real the destination file ...".
|
|
a523b69a
|
2020-04-05T17:35:51
|
|
vala: more precise argument matching.
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).
|
|
cf27a3df
|
2020-01-01T11:44:41
|
|
maint: make update-copyright
|
|
c1e1dd66
|
2019-12-16T19:45:22
|
|
automake: Ensure space after $(LISP) in tags dependencies.
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.
|
|
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
|
|
309a6c47
|
2019-08-25T21:07:58
|
|
automake: do not require @setfilename in Texinfo files
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.
|
|
51823f14
|
2018-02-20T23:18:09
|
|
bin: Rely only on the shebang line
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.
|
|
74902aa2
|
2018-03-03T23:50:10
|
|
automake: Don't rely on List::Util to provide 'none'
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.
|
|
dc67b18d
|
2018-01-04T23:59:00
|
|
automake: Add default libtool_tag to cppasm
* bin/automake.in (register_language): Define default libtool tag to be
CC since CPPASCOMPILE is using CC to call assembler.
Copyright-paperwork-exempt: yes
|
|
bbaa4cdc
|
2018-01-04T16:19:30
|
|
maint: Update copyright years to 2018
This update has been made with 'make update-copyright'.
|
|
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.
|
|
6cb3b835
|
2017-09-22T23:06:15
|
|
maint: Configure Emacs automatically with ".dir-locals.el"
* .dir-locals.el: New Emacs directory configuration file. All perl
files adapted.
|
|
c2757b97
|
2017-09-19T13:43:07
|
|
maint: Reset master
|
|
561f4736
|
2017-09-19T13:29:18
|
|
Merge branch 'minor'
|
|
8c81e7b8
|
2017-09-16T18:08:05
|
|
Fix a couple more http: URLs
|
|
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.
|
|
09c7f53e
|
2017-09-16T18:08:05
|
|
Fix a couple more http: URLs
|
|
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.
|
|
333b98f2
|
2017-08-16T18:16:12
|
|
automake: Depend on LIBOBJDIR for LIBOBJS and ALLOCA
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.
|
|
274590d8
|
2017-09-14T21:01:19
|
|
Revert "automake: Handle LTLIBOBJS more specifically"
This reverts commit 5521219348c55af354878583b99c5f9d66d6d38a.
|
|
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.
|
|
574b20e5
|
2017-07-08T20:18:45
|
|
build: Inline perl prototypes in sources
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.
|
|
99cf7ca5
|
2017-08-30T23:45:49
|
|
build: Generate versioned scripts at make time
* configure.ac: Don't generate 'bin/aclocal-${APIVERSION}' and
'bin/automake-${APIVERSION}'.
* bin/wrap-aclocal.in: Delete.
* bin/wrap-automake.in: Likewise.
* bin/Makefile.inc (%D%/automake-$(APIVERSION))
(%D%/aclocal-$(APIVERSION)): New targets.
(CLEANFILES): Add them.
|
|
ab2d33e6
|
2017-08-29T21:15:14
|
|
aclocal: Support ACLOCAL_AUTOMAKE_DIR environment variable
* bin/aclocal.in: Reset '@automake_includes' and '@system_includes' in
for build environment. Allow setting '@automake_includes' with
ACLOCAL_AUTOMAKE_DIR environment variable.
(parse_arguments): Ignore 'dirlist' when '@system_includes' is empty.
* doc/automake.texi (aclocal Options): Document ACLOCAL_AUTOMAKE_DIR.
* bin/wrap-aclocal.in: Remove extra command line options.
* pre-inst-env.in: Set ACLOCAL_AUTOMAKE_DIR and ACLOCAL_PATH
environment variables.
* t/ax/test-defs.in: Adapt.
* t/ansi2knr-no-more.sh (warn_rx): Likewise.
|
|
dd0b8142
|
2017-08-29T14:16:24
|
|
config: Support AUTOMAKE_LIBDIR environment variable
* lib/Automake/Config.in: Let AUTOMAKE_LIBDIR environment variable
override the default location for '$libdir'.
* doc/automake.texi (automake Invocation): Document AUTOMAKE_LIBDIR.
* pre-inst-env.in (AUTOMAKE_LIBDIR): Set AUTOMAKE_LIBDIR.
* bin/wrap-automake.in: Don't use "--libdir" option.
|
|
37d403fd
|
2017-08-29T13:23:24
|
|
build: Use PERL5LIB from 'pre-inst-env' script
* bin/aclocal.in: Detect build environment with AUTOMAKE_UNINSTALLED.
Let 'PERL5LIB' from 'pre-inst-env' define the perl module directories.
* bin/automake.in: Likewise.
* bin/wrap-aclocal.in: Don't set 'Automake::perl_libdirs' anymore.
* bin/wrap-automake.in: Likewise.
* t/Makefile.inc (LOG_COMPILER, PL_LOG_COMPILER): Use 'pre-inst-env'.
(AM_PL_LOG_FLAGS): Don't set perl module path.
|
|
bb64793a
|
2017-08-29T11:27:52
|
|
build: Move wrapped scripts in "bin" directory
Those scripts are used both in the build process and for the tests, so
it seems clearer to not hide them in "t/wrap" directory.
* t/wrap/aclocal.in: Rename to ...
* bin/wrap-aclocal.in: ... this.
* t/wrap/automake.in: Rename to ...
* bin/wrap-automake.in: ... this.
* configure.ac: Generate "bin/aclocal-${APIVERSION}" and
"bin/automake-${APIVERSION}" at configure time.
* t/Makefile.inc (nodist_noinst_SCRIPTS): Move wrapped scripts ...
* bin/Makefile.inc (nodist_noinst_SCRIPTS): ... here.
* Makefile.am (extend_PATH): Use "bin" directory.
* t/ax/test-defs.in (am_bindir): Likewise.
* t/get-sysconf.sh: Likewise.
* .gitignore: Update.
|
|
55212193
|
2017-08-27T15:27:00
|
|
automake: Handle LTLIBOBJS more specifically
* bin/automake.in (handle_LIBOBJS_or_ALLOCA): Remove complex regexp
substitution when handling LTLIBOBJS.
|
|
fd244f28
|
2015-06-29T09:50:02
|
|
aclocal: Avoid problematic string interpolation
This fixes bug#20903. Thanks to Eric Bavier for reporting this issue.
* bin/aclocal.in (automake_includes): Avoid problematic string
interpolation.
* NEWS: Update.
* THANKS: Thank Eric Bavier.
Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
|
|
f4e91bfc
|
2017-03-13T12:41:59
|
|
automake: Shorter object file names under subdir-objects
Combining the 'subdir-objects' option with target-specific flags had
the consequence of producing long object file names. This was done to
preventively ensure the uniqueness of object file names. We are now
using shorter names by default, and handle long names when an actual
conflict is detected. This will hopefully reduce the necessity of
using the 'prog_SHORTNAME' facility.
Example:
previously:
AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS += path/to/foo
path_to_foo_CFLAGS = $(AM_CFLAGS) -g
resulted in objects:
sub/path_to_foo-foo.o
now object file name is:
sub/foo-foo.o
* bin/automake.in (proglist, liblist, ltliblist)
(dup_shortnames): New globals.
(initialize_per_input): Initialize them.
(handle_targets): New subroutine.
(handle_single_transform): Truncate object file names when possible.
* t/subobj-objname-clash.sh: New test.
* t/list-of-tests.mk (handwritten_TESTS): Add it.
* NEWS: Update.
Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
|
|
cc7231cc
|
2017-06-16T23:07:00
|
|
Merge branch 'minor'
|
|
c946ae6f
|
2017-06-16T22:46:16
|
|
Merge branch 'micro' into minor
|
|
197426b3
|
2017-05-16T15:59:12
|
|
automake: Update 'read_am_file' docstring.
* bin/automake.in (read_am_file): Update docstring which was referring
to a non existent '%contents' variable.
|
|
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)
|
|
b3da45ad
|
2016-09-08T18:58:43
|
|
automake: do not emit rule with two dependents
On a system using our replacement alloca, make would emit
this warning:
target '.deps/alloca.Po' given more than once in the same rule
That arose because automake would emit a rule depending on both
./.deps/alloca.Po and .deps/alloca.Po. Normally, duplicate
dependents are avoided by virtue of their names being keys in
the %dep_files hash, but in this case, that particular file
was specified in two different ways.
* bin/automake.in (handle_ALLOCA): When the $dir prefix is empty,
make it './', to ensure that when we add ./.deps/alloca.Po
it is deduped.
See: http://bugs/gnu/org/22702
|
|
455bad28
|
2016-03-31T16:45:26
|
|
Merge branch 'minor'
|
|
323dabef
|
2016-03-31T16:40:20
|
|
Merge branch 'micro' into minor
|
|
13f00eb4
|
2016-03-31T16:35:29
|
|
automake: port to Perl 5.22 and later
Without this change, Perl 5.22 complains "Unescaped left brace in
regex is deprecated" and this is planned to become a hard error in
Perl 5.26. See:
http://search.cpan.org/dist/perl-5.22.0/pod/perldelta.pod#A_literal_%22{%22_should_now_be_escaped_in_a_pattern
* bin/automake.in (substitute_ac_subst_variables): Escape left brace.
|
|
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>
|