|
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>
|
|
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>
|
|
1b4c84b8
|
2015-01-02T14:47:36
|
|
compile: don't place built object files in $(srcdir), ever ...
... even when a source file is specified as '$(srdir)/foo.c' or
'$(top_srcdir)/bar.c'. And ditto for dependency-tracking makefile
fragments (those under '.deps' directories).
Such issues used to occur when the 'subdir-objects' option was given.
This change should fix the second and last part of automake bug#13928.
See also bug#16375 and bug#15293.
* NEWS: Update.
* bin/automake.in (handle_single_transform): Make sure object files
and dependency-tracking makefile fragments coming from source like
'$(srcdir)/foo.c' and '$(top_srcdir)/bar.c' are placed respectively
under $(builddir) and $(top_builddir).
* t/subobj-vpath-pr13928.sh: Enhance to expose even more aspects
of the bug we've just fixed.
* t/subobj-pr13928-more-langs.sh: New test, similar to the one above,
but with non-C languages as well.
* t/list-of-tests.mk (XFAIL_TESTS): Remove 'subobj-vpath-pr13928.sh',
it's now supposed to pass.
(handwritten_TESTS): Add 'subobj-pr13928-more-langs.sh'.
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>
|
|
a4c0c62d
|
2012-12-24T11:23:06
|
|
texinfo: remove hack about info files in CLEANFILES variables
Automake used to implement an undocumented hack causing '.info' files
that appeared to be cleaned (by e.g. being listed in the CLEANFILES
variable) to also be built in the builddir rather than in the srcdir;
this was for backward compatibility with packages such as Texinfo,
which did things like:
info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
DISTCLEANFILES = texinfo texinfo-* info*.info*
# Do not create info files for distribution.
dist-info:
in order not to distribute .info files.
Now that we have the 'info-in-builddir' option that explicitly causes
generated '.info' files to be placed in the builddir, this hack is no
longer necessary, and we can remove it (after having deprecated it in
the Automake 1.14 release already).
* bin/automake.in (handle_texinfo_helper): Remove the hack. Adjust
comments accordingly.
* NEWS: Update.
* t/txinfo23.sh: Delete as obsolete.
* t/txinfo25.sh: Likewise.
* t/txinfo24.sh: Likewise.
* t/txinfo28.sh: Delete as mostly obsolete, its only still relevant
parts moved ...
* t/mdate5.sh: ... into this test.
* t/txinfo-clean.sh: Remove references to deleted tests.
* t/list-of-tests.mk: Adjust.
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>
|
|
2c0ffb86
|
2014-12-22T11:20:14
|
|
dist: ordering of files in DIST_COMMON is deterministic now
It had likely stopped being deterministic due to the new perl behavior
of having non-deterministic order of numerating hash keys:
<http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod#Hash_randomization>
<http://onionstand.blogspot.ie/2012/12/are-you-relying-on-hash-keys-being.html>
See also similar commit v1.14-19-g52e6404, albeit in this case the issue
is likely coming from autom4te/autoconf, not from automake itself.
Fixes automake bug http://debbugs.gnu.org/17908
* bin/automake.in (handle_dist): Sort @dist_common.
(print_autodist_files): Swap invocations of 'sort' and 'uniq', for
consistency with the new code in 'handle_dist' and to get rid of a
minor hack.
* NEWS: Update.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
90425304
|
2014-04-22T21:48:53
|
|
Merge branch 'minor'
* minor:
init: ensure $ac_aux_dir is defined before being used
|
|
7bc59270
|
2014-04-21T17:12:41
|
|
init: ensure $ac_aux_dir is defined before being used
Since we use '$ac_aux_dir' to define '$am_aux_dir', we need
to ensure the former has been initialized before we try to
define the latter, otherwise the definition:
am_aux_dir=`cd $ac_aux_dir && pwd`
will set '$am_aux_dir' to '$HOME', likely causing weird and
unexpected behaviours.
This change fixes automake bug#15981.
* m4/auxdir.m4 (AM_AUX_DIR_EXPAND): AC_REQUIRE expansion
of 'AC_CONFIG_AUX_DIR_DEFAULT'. Fix redundant comment and
AC_PREREQ, add extra quoting around '$ac_aux_dir'.
* t/auxdir-pr15981.sh: New test.
* t/auxdir-cc-pr15981.sh: Likewise.
* t/list-of-tests.mk (handwritten_TESTS): Add them.
* THANKS, NEWS: Update.
* bin/automake.in: Fix a harmless typo in comments, that
I happened to notice while writing this patch.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
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>
|
|
bd31e343
|
2013-12-26T21:01:30
|
|
Merge branch 'minor'
* minor:
Allow user to extend .PRECIOUS target
cosmetics: remove a couple of extra trailing white spaces
tests: fix a spurious failure on Mac OS X
docs: make clear the JAVA primary is frozen
install-sh: a slightly better diagnostic, and tests enhancements
install-sh: be stricter in catching invalid usages
tests: more significant names for some tests
tests: some cosmetic fixes
tests: more significant names for a test
docs: drop a few obsolescent FIXME/TODO comments, and associated text
testsuite harness: report test exit status in log file
TAP driver: no need to invoke AC_PROG_AWK directly
TAP driver: remove perl implementation (move it into contrib/)
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
f0a7083a
|
2013-12-26T19:31:15
|
|
Allow user to extend .PRECIOUS target
References:
<http://lists.freedesktop.org/archives/systemd-devel/2013-July/012155.html>
<http://lists.gnu.org/archive/html/automake/2013-07/msg00011.html>
* bin/automake.in: Adjust to ensure we handle '.PRECIOUS' the same way
we do for '.PHONY' and '.MAKE'.
* lib/Automake/Rule.pm: Likewise.
* t/precious.sh: New test.
* t/list-of-tests.mk: Add it.
* t/phony.sh: Enhance a little while at it.
* NEWS: Update.
* THANKS: Likewise.
Reported-by: Holger Hans Peter Freyther <holger@freyther.de>
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
|
|
6febcd41
|
2013-06-12T21:22:58
|
|
Merge branch 'micro' into maint
* micro:
THANKS: update e-mall address for Ralf Corsepius
lang, suffix rules: don't require C stuff needlessly
tests: expose automake bug#14560
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
fefd1876
|
2013-06-03T22:25:24
|
|
fixup: botched merge for 'bin/automake.in'
* bin/automake.in (print_autodist_files): Here, we had unwittingly
botched up a 'format' invocation during the latest maint -> master
merge.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
d2d3b76a
|
2013-06-03T21:20:51
|
|
Merge branch 'maint'
* maint:
configure: remove an obsolete TODO comment
post-release: micro version bump (1.13.3a)
release: stable micro release 1.13.3
typofix: fix grammaro in comments in t/tags-pr12372.sh
NEWS: minor fixlets, re-wording, and better text wrapping
tests: slightly stricter checks in t/cxx-demo.sh
tests: fix spurious failure when 'etags' program is Exuberant Ctags
tests: fix spurious failure due to missing sleeps
maint: version bump after beta release 1.13b
release: beta release 1.13b (will become 1.14)
maint: support new Automake versioning scheme in tagging/uploading rules
announcement: can be generated from development snapshots as well
announcement: can be generated from development snapshots as well
announcement: be less strict in the paring of NEWS
maint: version bump after beta release 1.13.2b
release: beta release 1.13.2b (will become 1.13.3)
sync: update config.guess from upstream
automake: assume we can always pass '-o' to the C compiler
NEWS: document recent testsuite fixes (MinGW/MSYS related)
depcomp: avoid trailing backslash in depfile for depmode=msvc7
tests: prune some weed in a non-POSIX test
tests: avoid a spurious failure on MSYS
t/README: document "run_make", discourage "make -e"
cosmetics: tiny whitespace fixlets
tests: avoid a spurious failure with MSVC
tests: avoid a spurious failure on non-POSIX systems
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
9f325eea
|
2013-05-30T11:31:02
|
|
automake: assume we can always pass '-o' to the C compiler
It is assumed that we can pass -c -o to the C compiler, so remove
some special casing and always do that.
This change is similar in spirit to v1.13.1d-217-g7299c4d "depend: assume
we can always pass '-o' to the C compiler"
This change also happen to fix a testsuite failure
(t/silent-many-languages.sh) when mixing MSVC and GNU fortran, which
have different default object file extensions (.obj vs. .o). This
difference in object file extension is not handled well and caused
Automake to look for MSVC objects with .o extension. Always using -o
makes MSVC create .o object files and linking succeeds. Not that
anybody recommends mixing toolchains or anything.
* bin/automake.in (handle_languages): Remove conditional modification
of 'output_flag' entry for 'c'.
(register_language ('name' => 'c')): Add 'output_flag' entry set to '-o'.
Signed-off-by: Peter Rosin <peda@lysator.liu.se>
|
|
3492b7a8
|
2013-05-29T10:50:35
|
|
Merge branch 'maint'
* maint:
NEWS: fix typos and grammaros
NEWS: document fix for bug#14441
Automake::Rule: consistently prepend underscore to private variables
Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
Automake::Rule: adjust comments and POD according to previous changes
Automake::Rule: make private variables lexically scoped
suffix rules: better distinction between builtin and user-derived
Automake::Rule: expose suffix rules as a function, not a scalar
tests: expose automake bug#14441
|
|
c98d5235
|
2013-05-29T10:39:58
|
|
Merge branch 'micro' into maint
* micro:
NEWS: fix typos and grammaros
NEWS: document fix for bug#14441
Automake::Rule: consistently prepend underscore to private variables
Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
Automake::Rule: adjust comments and POD according to previous changes
Automake::Rule: make private variables lexically scoped
suffix rules: better distinction between builtin and user-derived
Automake::Rule: expose suffix rules as a function, not a scalar
tests: expose automake bug#14441
|
|
f7e61899
|
2013-05-20T11:40:36
|
|
automake: remove one extra trailing whitespace
* bin/automake.in (lang_vala_ignore): Here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
fb653b7d
|
2013-05-20T11:25:04
|
|
automake: cosmetic changes in indentation and line breaks
* bin/automake.in (handle_LIBOBJS_or_ALLOCA): Here.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
89fdcc96
|
2013-05-19T22:18:54
|
|
Merge branch 'maint'
* maint:
tests: fix a spurious failure on NetBSD 5.1
texi: build version.texi and stamp-vti in srcdir
tests: fix a botched heading comment
tests: fix another spurious with FreeBSD make
tests: fix a spurious failure with FreeBSD make
|
|
8f252e4c
|
2013-05-19T16:48:19
|
|
texi: build version.texi and stamp-vti in srcdir
Do so even when the 'info-in-builddir' option is present, or when
the corresponding '*.info' files are listed in $(CLEANFILES) or in
$(DISTCLEANFILES).
This fixes failures in the following tests, when they are run with
$MAKE pointing to FreeBSD make:
- txinfo-nodist-info.sh
- txinfo23.sh
- txinfo24.sh
- txinfo28.sh
- txinfo25.sh
BTW, notice that the test 'txinfo-builddir.sh' fails with FreeBSD make
as well, but that is due to a known FreeBSD make VPATH issue (the same
described in automake bug#7884). But that is not a regression, since
the 'info-in-builddir' option will be new in Automake 1.14. Moreover,
we already warn in the manual that the use of that option can indeed
cause problems with VPATH builds done by non-GNU make.
* bin/automake.in (handle_texinfo_helper): New local variable
'$soutdir'. Use it instead of '$outdir' where appropriate (in
particular, in the transform used on file 'texi-vers.am'.
* t/txinfo-builddir.sh: Adjust to avoid spurious failures.
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>
|
|
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>
|
|
9fabb5e4
|
2013-01-10T19:54:13
|
|
Automake::Language: drop unused fields 'compile_flag' and 'output_flag'
They are unused after the recent flurry of changes. This is just a
simplification; no semantic change is intended.
* lib/Automake/Language.pm (Class::Struct): Remove unused fields here.
* bin/automake.in: And here, in all the 'register_language()' invocations.
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>
|
|
83609bfe
|
2013-05-14T12:15:07
|
|
Merge branch 'maint'
* maint:
build: fixup for building in a VPATH setup
|
|
e142bcb0
|
2013-05-14T12:12:44
|
|
build: fixup for building in a VPATH setup
* bin/Makefile.inc (%D%/automake, %D%/aclocal): Make sure that the
directory where the targets scripts are going to be built exists,
before trying to create said scripts.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|
|
65643c8d
|
2013-05-11T01:06:58
|
|
Merge branch 'maint'
* maint:
options: try to report as much errors as possible
warns: don't tell AM_PROG_MKDIR_P is going to be removed
refactor: fix few "inverted boolean" usages
options: better name for an internal function
options: more consistency in use of return statuses to report errors
options: tiny simplification in dealing with erroneous opts
options: consistently use return statuses to report errors
options: re-enable some sanity checks
THANKS: update Eric Blake's e-mail address
NEWS: typofix
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
|