lib/Automake/Variable.pm


Log

Author Commit Date CI Message
Zack Weinberg 74673d1c 2020-09-11T18:03:19 Consistently use ‘our’ instead of ‘use vars’. At file scope of a file containing at most one ‘package’ declaration, ‘use vars’ is exactly equivalent to ‘our’, and the latter is preferred starting with Perl 5.6.0, which happens to be the oldest version we support. (This change has nothing to do with the previous two, but I want to make the same change in Autoconf and that means doing it here for all the files synced from Automake.) (I don’t know why, but this change exposed a latent bug in FileUtils.pm where the last pod block in the file didn’t have a ‘=cut’ delimiter, so the code after it was considered documentation, causing ‘require FileUtils’ to fail.) * lib/Automake/ChannelDefs.pm * lib/Automake/Channels.pm * lib/Automake/Condition.pm * lib/Automake/Configure_ac.pm * lib/Automake/DisjConditions.pm * lib/Automake/FileUtils.pm * lib/Automake/General.pm * lib/Automake/Getopt.pm * lib/Automake/Options.pm * lib/Automake/Rule.pm * lib/Automake/RuleDef.pm * lib/Automake/VarDef.pm * lib/Automake/Variable.pm * lib/Automake/Wrap.pm * lib/Automake/XFile.pm: Replace all uses of ‘use vars’ with ‘our’. * lib/Automake/FileUtils.pm: Add missing ‘=cut’ to a pod block near the end of the file.
Zack Weinberg 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.
Karl Berry 04567be6 2020-05-17T09:36:15 automake: new variable AM_DISTCHECK_DVI_TARGET to override "dvi". This change fixes https://bugs.gnu.org/8289. * lib/am/distdir.am (AM_DISTCHECK_DVI_TARGET): define as dvi. (distcheck): use it, isntead of hardcoding dvi. * lib/Automake/Variable.pm (%_silent_variable_override): add AM_DISTCHECK_DVI_TARGET. * t/distcheck-override-dvi.sh: new test. * t/list-of-tests.mk (handwritten_TESTS): add it. * doc/automake.texi (Checking the Distribution): document this. (Third-Party Makefiles): explicitly mention that EMPTY_AUTOMAKE_TARGETS is not a built-in or special name. Various other index entries and wording tweaks. * NEWS (Distribution): mention this.
Jim Meyering cf27a3df 2020-01-01T11:44:41 maint: make update-copyright
Paul Eggert 5ae02cc8 2019-10-14T13:46:55 maint: make update-copyright
Mathieu Lirzin bbaa4cdc 2018-01-04T16:19:30 maint: Update copyright years to 2018 This update has been made with 'make update-copyright'.
Mathieu Lirzin 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.
Mathieu Lirzin c2757b97 2017-09-19T13:43:07 maint: Reset master
Paul Eggert 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.
Paul Eggert 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.
Mathieu Lirzin d8add592 2017-03-02T18:55:53 maint: Update copyright years to 2017. This update has been made with 'make update-copyright'.
Jim Meyering 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)
Stefano Lattarini 2f0293e1 2015-01-05T22:55:51 Merge branch 'minor' * minor: maint: update copyright years to 2015 (branch 'micro')
Stefano Lattarini 5de75f07 2015-01-05T22:48:33 maint: update copyright years to 2015 (branch 'micro') Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 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>
Stefano Lattarini 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>
Stefano Lattarini 65fecfc5 2013-11-02T10:57:50 Merge branch 'minor' * minor: cosmetics: fix typo in a user-facing message in tests automake: account for perl hash order randomization tests: avoid use of intervals to capitalize letters cosmetics: untabify the install-sh script install-sh: assume that "set -f" and "set +f" work... install-sh: assume ${var:-value} works as expected install-sh: assume 'dirname' is available and working correctly distcheck: don't allow overriding of --prefix and --srcdir by the user tests: expose bug#14991 (relates to 'distcheck')
Stefano Lattarini 52e64045 2013-07-21T17:58:05 automake: account for perl hash order randomization Try to explicitly order the keys of some perl hashes when looping on them to do sanity/correctness checks and possibly display warning messages; this should ensure a more reproducible output. Not really a big deal, but I prefer to keep the order of such output reproducible if possible. Issue revealed by spurious testsuite failures with perl 5.18, as reported in automake bug#14891. See also: <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> * lib/Automake/Variable.pm (variables): Explicitly order the values of the returned Automake::Variable instances. (variables_dump): Simplify, using the knowledge that 'variables()' now sorts its output. * t/preproc-errmsg.sh: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini b98aab9f 2012-12-31T18:24:03 Merge branch 'maint' * maint: maint: update copyright year for 2013 (in branch maint) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7df8b28c 2012-12-31T18:18:37 maint: update copyright year for 2013 (in branch maint) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7626e632 2012-05-25T17:51:01 cleanup: get rid of 'Automake::Configure_ac' module Now that we unconditionally assume the Autoconf input is named "configure.ac", it's easier and clearer to inline the checks on the existence of such a file directly in the automake and aclocal scripts. This change is basically a backport of the 'v1.12-327-gee6d72a' commit from Automake-NG. * lib/Automake/Variable.pm (Automake::Configure_ac): Drop this import. ($configure_ac): Define to "configure.ac", unconditionally. * automake.in: Likewise. Also, in main code, check the existence of 'configure.ac' directly, instead of calling the now-removed 'require_configure_ac' function. * aclocal.in: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Breitenlohner df306b52 2012-04-26T15:01:23 objc++: initial support for Objective C++ Original thread (dating back to almost three years ago): <http://lists.gnu.org/archive/html/automake-patches/2009-07/msg00016.html> * automake.in: Register new language 'objcxx'. (lang_objcxx_rewrite): New subroutine. (resolve_linker): Add OBJCXXLINK. (%_am_macro_for_cond): Add am__fastdepOBJCXX and AC_PROG_OBJCXX. (%_ac_macro_for_var): Add OBJCXX and OBJCXXFLAGS. * m4/depend.m4 (_AM_DEPENDENCIES): Add OBJCXX. * m4/init.m4 (AM_INIT_AUTOMAKE): Add AC_PROG_OBJCXX hook. Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Stefano Lattarini 7df05a0b 2012-03-04T15:44:46 maint: require perl 5.6 throughout That version of perl is quite old already, so it should be OK to require it. More importantly, it is the older perl versions the developers can currently use for testing, thus it's safer and more honest to just require it throughout. And anyway, we were already requiring it in Automake::Getopt, which implied that both automake and aclocal wouldn't have worked in practice with an older perl version. See also the discussion related to automake bug#10925. * lib/Automake/ChannelDefs.pm: Adjusted to require perl 5.6. * lib/Automake/Channels.pm: Likewise. * lib/Automake/Condition.pm: Likewise. * lib/Automake/Configure_ac.pm: Likewise. * lib/Automake/DisjConditions.pm: Likewise. * lib/Automake/FileUtils.pm: Likewise. * lib/Automake/General.pm: Likewise. * lib/Automake/Item.pm: Likewise. * lib/Automake/ItemDef.pm: Likewise. * lib/Automake/Location.pm: Likewise. * lib/Automake/Options.pm: Likewise. * lib/Automake/Rule.pm: Likewise. * lib/Automake/RuleDef.pm: Likewise. * lib/Automake/Struct.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: Likewise.
Stefano Lattarini 3e887a13 2012-02-23T20:25:26 pm: do not quote `like this', as per GCS recommendation This patch converts the internal perl modules used by automake and aclocal to the use of new quoting format 'like this' or "like this" rather than `like this'. * lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm, lib/Automake/Condition.pm, lib/Automake/Configure_ac.pm, lib/Automake/DisjConditions.pm, lib/Automake/FileUtils.pm, lib/Automake/General.pm, lib/Automake/Item.pm, lib/Automake/Rule.pm, lib/Automake/Getopt.pm, lib/Automake/Options.pm, lib/Automake/Struct.pm, lib/Automake/VarDef.pm, lib/Automake/Variable.pm, lib/Automake/Version.pm, lib/Automake/XFile.pm: Update and adjust quoting format throughout, in comments and diagnostic. Some minor related rewordings and reformatting since we are at it.
Stefano Lattarini 641a5a4b 2012-02-16T10:46:23 maint: run "make update-copyright"
Stefano Lattarini e5ae760b 2012-01-21T20:52:43 Merge branch 'maint' * maint: fixup: distribute 'contrib/multilib/multi.m4' multilib: deprecate, will be moved to contrib fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS cosmetics: fix a botched comment in a maintainer check
Stefano Lattarini 84fbf466 2012-01-20T20:52:02 fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS This change fixes automake bug#10555. Note that the bug was a minor one, since it didn't affect the compilation rules generated by automake, but only only the "hints" printed by automake in some error messages (e.g., "The usual way to define `FFLAGS' is to add AC_PROG_F77 to configure.ac"). * lib/Automake/Variable.pm (%_ac_macro_for_var): The code generated by AC_PROG_F77 uses FFLAGS, not F77FLAGS, as the variable where to look for switches for the Fortran 77 compiler: adjust accordingly.
Stefano Lattarini c8d4c3f4 2011-08-28T16:09:50 ansi: remove obsolete code/files for de-ANSI-fication support * lib/ansi2knr.1, lib/ansi2knr.c: Deleted. * lib/Makefile.am (dist_pkgvdata_DATA): Do not list them anymore. * lib/am/ansi2knr.am: Delete. * lib/am/Makefile.am (dist_am_DATA): Do not list it anymore. * lib/Automake/Variable.pm (%_am_macro_for_var): Remove entries for `ANSI2KNR' and `U'. * m4/depout.m4 (_AM_OUTPUT_DEPENDENCY_COMMANDS): Don't care anymore about possible definition of the `$U' variable. * automake.in (@common_files): Drop `ansi2knr.1' and `ansi2knr.c'. (struct): Remove scalar field `ansi'. All callers adjusted. (&lang_c_finish, %de_ansi_files): Remove, they're not required anymore. All callers adjusted. ($get_object_extension_was_run): Fix typo in comment. (&get_object_extension): Drop code dealing with de-ansification; this function basically a no-op now, but is required to properly initialize `$get_object_extension_was_run' variable. (&handle_languages, &handle_compile, &lang_c_rewrite): Drop code dealing with de-ansification.
Stefano Lattarini a7d37f15 2011-03-01T10:25:26 Merge branch 'maint'
Stefano Lattarini d51e7b79 2011-02-24T10:21:19 libtool: suggest LT_INIT if LTLIBRARIES primary is used When the LTLIBRARIES primary was used, but $(LIBTOOL) wasn't defined, automake suggested to add a call to AC_PROG_LIBTOOL in configure.ac. But that macro is deprecated since Libtool version 1.9b (2004-08-29), in favor of the newer LT_INIT. So suggest the use of this latter macro instead. * lib/Automake/Variable.pm (%_am_macro_for_var): Pair 'LIBTOOL' with 'LT_INIT', not with 'AC_PROG_LIBTOOL'. * libtool4.test: Adjust and extend. Also, add a call to macro AC_PROG_CC in configure.in, to help ensuring that automake does not fail for the wrong reasons. * ltinit.test: New test, ensure that automake's libtool support works with LT_INIT-based interface. Thanks to Jack Kelly for the suggestion.
Eric Blake 35597a75 2010-09-17T14:17:07 Merge branch 'maint'
Eric Blake 978dfcf5 2010-09-17T06:31:33 Avoid triple-space after period. * automake.in (handle_single_transform): Avoid 3 spaces at sentence end. * ChangeLog.03: Likewise. * lib/Automake/ChannelDefs.pm: Likewise. * lib/Automake/Channels.pm (_print_message): Likewise. * lib/Automake/Rule.pm (rule): Likewise. * lib/Automake/Variable.pm (var): Likewise. * lib/am/distdir.am: Likewise. * tests/insthook.test: Likewise. Signed-off-by: Eric Blake <eblake@redhat.com>
Ralf Wildenhues 83d7976f 2010-04-25T18:26:14 Warning and error message formatting cleanups. * aclocal.in (parse_arguments, main): Remove trailing period or newline in error or warning messages, avoid capitalization of the first word of a message. * automake.in (check_user_variables, handle_languages) (handle_ltlibraries, scan_aclocal_m4, scan_autoconf_config_files) (scan_autoconf_files, cond_stack_if, require_file_internal) (usage, generate_makefile, parse_arguments): Likewise. * lib/Automake/ChannelDefs.pm (set_strictness): Likewise. * lib/Automake/Configure_ac.pm (find_configure_ac): Likewise. * lib/Automake/Options.pm (set_strictness): Likewise. * lib/Automake/Rule.pm (define): Likewise. * lib/Automake/Variable.pm (define, variables_dump): Likewise. * tests/ltinstloc.test, tests/suffix11.test: Adjust expected error message. * lib/Automake/Channels.pm (setup_channel): Reword error message to be the same as in msg. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues a700fa33 2010-04-25T18:44:53 Fix placing of ellipses in English text and synopses. * Makefile.am: Be sure to add a space before `...' in natural language text. * automake.in (scan_autoconf_traces): Likewise. * lib/Automake/Rule.pm (define): Likewise. * lib/Automake/Variable.pm (define): Likewise. * lib/am/dejagnu.am: Likewise. * lib/am/progs.am: Likewise. * lib/gnupload (dprint, upload): Likewise. * tests/confdeps.test: Likewise. * tests/location.test: Adjust expected output. * automake.in (usage): In synopsis, use singular for OPTION, * remove space before ellipsis. * aclocal.in (usage): Likewise. Also, fix indentation. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues fcad1df7 2010-04-20T07:47:11 Merge branch 'maint'
Ralf Wildenhues 53ac1719 2010-04-20T07:43:59 Fix -Werror handling for presence of configure.in and configure.ac. * lib/Automake/Variable.pm (Automake::Variable): Do not initialize $configure_ac at the global level, before command-line arguments have been parsed. (require_variables): Initialize it here. * tests/configure.test: New test. * tests/Makefile.am: Update. Report by Stefano Lattarini.
Ralf Wildenhues 483b962e 2010-04-11T20:49:38 Fix capitalization of error messages, reword one message. * lib/Automake/Variable.pm (define): Do not capitalize the first word in the error message. * automake.in (require_file_internal): Likewise. Also, reword and line-wrap for better readability. * tests/distcom7.test, tests/pluseq5.test, tests/pluseq9.test: Adjust tests. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 59e07285 2010-03-06T09:35:46 Merge branch 'maint'
Ralf Wildenhues 18546c2c 2010-03-06T09:14:06 Formatting cleanups in macro comments. * automake.in, lib/Automake/Channels.pm, lib/Automake/FileUtils.pm, lib/Automake/Options.pm, lib/Automake/Variable.pm, lib/Automake/XFile.pm, m4/options.m4, m4/substnot.m4: Fix macro comment format. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 10091b94 2009-10-18T12:05:43 Simplify Variable::_check_ambiguous_condition. * lib/Automake/Variable.pm (_check_ambiguous_condition): No need to check for $def since ambiguous_p returns an empty $message if there is no other condition which is ambiguous to $cond. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues c2594bb5 2009-10-11T13:33:43 Allow variable override of, rather than by, silent variables. When overriding variables, check the VAR_SILENT status of the old condition, not the new one: we allow non-silent overrides of silent variables (these do not hit ordering bugs in the automake output), but there is no use case for doing so the other way round. Fixes conditional overrides of variables annotated AM_SUBST_NOTMAKE in configure.ac. * lib/Automake/Variable.pm (_check_ambiguous_condition): Check for VAR_SILENT in $ambig_cond not $cond. * tests/cond44.test, tests/cond45.test: New tests, analogous to cond23.test and cond24.test. * tests/Makefile.am: Update. Spotted originally in binutils/bfd. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues fcf2f560 2009-05-17T15:32:40 Revert Automake license to GPLv2+. Automake will move to GPLv3+ once the Exception statement has been rewritten to use the new GPLv3 exception language. This change does not impact the COPYING file that may be installed by `automake --add-missing'. * COPYING: Revert to GPLv2. All uses changed. * NEWS: Update. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues eb3d397f 2009-03-07T15:57:22 New channel `portability-recursive'. Add new channel for portability warnings about recursive make variable expansions `$(var1$(var2))'. Enable it alongside `-Wportability'. * lib/Automake/ChannelDefs.pm (Automake::ChannelDefs): Register channel `portability-recursive'. * lib/Automake/Variable.pm (_VARIABLE_CHARACTERS) (_VARIABLE_RECURSIVE_PATTERN): New variables. (check_variable_expansions): Diagnose recursive variable expansions through the new channel. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues b6af2140 2008-10-18T11:09:14 Fix comment typos. * automake.in (require_file_internal): Fix typos in comments. * m4/amversion.in: Likewise. * lib/Automake/Variable.pm: Likewise. * lib/Automake/XFile.pm: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues 2205fc65 2008-10-05T21:15:25 Fix some comment typos. * automake.in: Fix some comment typos. * lib/Automake/Condition.pm: Likewise. * lib/Automake/DisjConditions.pm: Likewise. * lib/Automake/Variable.pm: Likewise. * lib/Automake/tests/DisjConditions.pl: Likewise. Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Ralf Wildenhues e3acdefa 2007-12-08T11:20:24 Reword the copyright notices to match what's suggested in GPLv3.
Ralf Wildenhues b9ff055d 2007-07-07T11:23:29 * COPYING, lib/COPYING: Update to GPLv3. All uses changed. * NEWS: Update.
Ralf Wildenhues dd3de3aa 2006-10-20T17:17:57 * doc/automake.texi (Dist, Dependency Tracking Evolution): Fix some typos. * lib/Automake/Condition.pm: Likewise. * lib/Automake/DisjConditions.pm: Likewise. * lib/Automake/ItemDef.pm: Likewise. * lib/Automake/Options.pm: Likewise. * lib/Automake/Rule.pm: Likewise. * lib/Automake/VarDef.pm: Likewise. * lib/Automake/Variable.pm: Likewise. * lib/Automake/Wrap.pm: Likewise. * lib/Automake/XFile.pm: Likewise. * m4/substnot.m4: Likewise.
Ralf Wildenhues 5c1a1342 2006-10-14T09:33:34 * automake.in: Fix some typos in comments. * lib/Automake/Variable.pm: Likewise.
Alexandre Duret-Lutz 49d9a341 2006-08-14T20:38:43 * automake.in: Register "Unified Parallel C" as language. (lang_upc_rewrite): New function. (resolve_linker): Consider UPCLINK. * lib/Automake/Variable.pm (%_ac_macro_for_var): Suggest AM_PROG_UPC for UPC and UPCFLAGS. * m4/upc.m4: New file. * m4/depend.m4 (_AM_DEPENDENCIES): Add UPC case. * m4/Makefile.am (dist_m4data_DATA): Add upc.m4. * doc/automake.texi (Unified Parallel C Support): New node. (Public macros): Mention AM_PROG_UPC. (Program and Library Variables, Flag Variables Ordering): Mention UPCFLAGS. * tests/upc.test, tests/upc2.test, tests/upc3.test: New file. * tests/Makefile.am (TESTS): Add them. * tests/ext.test: Also test upc files.
Ralf Wildenhues 84d10a1c 2006-04-17T12:14:07 * lib/Autom4te/FileUtils.pm (find_file): Fix a typo in the description; eliminate the duplicate error message. * doc/automake.texi (@direntry): `Invoking Automake' is the name of the usage node for `automake' * lib/Automake/Variable.pm (%_gen_varname): Fix typos in the comment.
Alexandre Duret-Lutz 9d0eaef6 2006-04-09T13:56:33 * lib/Automake/Variable.pm (_hash_varname, _hash_values): New functions. (_gen_varname): Use _hash_values, and return a flag indicating whether the variable name was generated or reused. (transform_variable_recursively): Do not redefine variables that are reused, and try to reuse the variable being transformed. * tests/check2.test: Make sure TESTS hasn't been redefined. * tests/check5.test, tests/exeext4.test: Make sure variables have been reused. * tests/subst2.test: Make sure bin_PROGRAMS gets rewritten.
Ralf Wildenhues b9df3285 2006-03-20T20:31:29 * m4/init.m4 (AM_INIT_AUTOMAKE): Add `_AM_DEPENDENCIES(OBJC)' to `AC_PROG_OBJC' if provided, to fix Objective C depmode handling. * lib/Automake/Variable.pm (%_ac_macro_for_var): Add entries for OBJC and OBJCFLAGS. * tests/ext.test: Adjust. * tests/objc.test, tests/objc2.test: New tests. * tests/Makefile.am: Adjust. * doc/automake.texi (Objective C Support): New node. (Support for Other Languages): Adjust. * NEWS: Update.
Alexandre Duret-Lutz 8f5ad628 2005-10-17T20:59:29 * doc/automake.texi (Program and Library Variables): Typo. * lib/Automake/Variable.pm (transform_variable_recursively): Typo in a comment.
Alexandre Duret-Lutz 255cc304 2005-08-07T09:56:09 * lib/Automake/Variable.pm (variable_value): Do not read the TRUE value of a conditionally defined variable. Report from Juergen Leising.
Alexandre Duret-Lutz a895bba8 2005-07-27T11:09:45 * lib/Automake/Variable.pm (require_variables): Mention aclocal's search path when suggesting to add a macro in configure.ac. People are confused when Automake suggests adding a macro (such as AC_PROG_LIBTOOL) that is already in configure.ac. * automake.in (require_file_internal): Suggest `automake --add-missing' for missing files that can be installed. * tests/library3.test: Adjust.
Alexandre Duret-Lutz 0fff0a79 2005-06-23T22:19:56 * lib/Automake/Variable.pm (define, _new): Remember the helper variable created for the last conditional += on each variable, and only append further += in the same condition to this last helper variable, not to older helper variables. This way the order of the items appended to the variable is preserved. * tests/cond21.test: Adjust. * tests/cond38.test: New file. * tests/Makefile.am (TESTS): Add cond38.test. Report from Ed Hartnett.
Alexandre Duret-Lutz 1183efd3 2005-05-14T20:28:56 * COPYING, ChangeLog, ChangeLog.00, ChangeLog.01, ChangeLog.02, ChangeLog.03, ChangeLog.96, ChangeLog.98, HACKING, Makefile.am, NEWS, README, TODO, aclocal.in, automake.in, bootstrap, configure, configure.ac, doc/Makefile.am, doc/fdl.texi, lib/COPYING, lib/Makefile.am, lib/acinstall, lib/compile, lib/config-ml.in, lib/config.guess, lib/config.sub, lib/depcomp, lib/elisp-comp, lib/gnupload, lib/mdate-sh, lib/missing, lib/py-compile, lib/symlink-tree, lib/texinfo.tex, lib/ylwrap, 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/Item.pm, lib/Automake/ItemDef.pm, lib/Automake/Location.pm, lib/Automake/Makefile.am, lib/Automake/Options.pm, lib/Automake/Rule.pm, lib/Automake/RuleDef.pm, lib/Automake/Struct.pm, lib/Automake/VarDef.pm, lib/Automake/Variable.pm, lib/Automake/Version.pm, lib/Automake/Wrap.pm, lib/Automake/XFile.pm, lib/Automake/tests/Condition.pl, lib/Automake/tests/DisjConditions.pl, lib/Automake/tests/Makefile.am, lib/Automake/tests/Version.pl, lib/Automake/tests/Wrap.pl, lib/am/Makefile.am, lib/am/ansi2knr.am, lib/am/check.am, lib/am/clean-hdr.am, lib/am/clean.am, lib/am/compile.am, lib/am/configure.am, lib/am/data.am, lib/am/dejagnu.am, lib/am/depend.am, lib/am/depend2.am, lib/am/distdir.am, lib/am/footer.am, lib/am/header-vars.am, lib/am/header.am, lib/am/inst-vars.am, lib/am/install.am, lib/am/java.am, lib/am/lang-compile.am, lib/am/lex.am, lib/am/library.am, lib/am/libs.am, lib/am/libtool.am, lib/am/lisp.am, lib/am/ltlib.am, lib/am/ltlibrary.am, lib/am/mans-vars.am, lib/am/mans.am, lib/am/multilib.am, lib/am/program.am, lib/am/progs.am, lib/am/python.am, lib/am/remake-hdr.am, lib/am/scripts.am, lib/am/subdirs.am, lib/am/tags.am, lib/am/texi-vers.am, lib/am/texibuild.am, lib/am/texinfos.am, lib/am/yacc.am, m4/Makefile.am, tests/aclibobj.test, tests/acloca10.test, tests/acloca11.test, tests/acloca12.test, tests/acloca13.test, tests/acloca14.test, tests/acloca15.test, tests/acloca16.test, tests/acloca17.test, tests/acloca18.test, tests/acloca19.test, tests/aclocal.test, tests/aclocal3.test, tests/aclocal4.test, tests/aclocal5.test, tests/aclocal6.test, tests/aclocal7.test, tests/aclocal8.test, tests/aclocal9.test, tests/acoutbs.test, tests/acoutbs2.test, tests/acoutnoq.test, tests/acoutpt.test, tests/acoutpt2.test, tests/acoutqnl.test, tests/acsilent.test, tests/acsubst.test, tests/acsubst2.test, tests/all.test, tests/alloca.test, tests/alloca2.test, tests/alpha.test, tests/alpha2.test, tests/amassign.test, tests/ammissing.test, tests/ansi.test, tests/ansi10.test, tests/ansi2.test, tests/ansi3.test, tests/ansi3b.test, tests/ansi4.test, tests/ansi5.test, tests/ansi6.test, tests/ansi7.test, tests/ansi8.test, tests/ansi9.test, tests/ar.test, tests/ar2.test, tests/asm.test, tests/autohdr.test, tests/autohdr2.test, tests/autohdr3.test, tests/autohdr4.test, tests/automake.test, tests/auxdir.test, tests/auxdir2.test, tests/auxdir3.test, tests/auxdir4.test, tests/backsl.test, tests/backsl2.test, tests/backsl3.test, tests/backsl4.test, tests/badline.test, tests/badopt.test, tests/badprog.test, tests/block.test, tests/bsource.test, tests/canon.test, tests/canon2.test, tests/canon3.test, tests/canon4.test, tests/canon5.test, tests/ccnoco.test, tests/check.test, tests/check2.test, tests/check3.test, tests/check4.test, tests/checkall.test, tests/clean.test, tests/clean2.test, tests/colneq.test, tests/colneq2.test, tests/colon.test, tests/colon2.test, tests/colon3.test, tests/colon4.test, tests/colon5.test, tests/colon6.test, tests/colon7.test, tests/comment.test, tests/comment2.test, tests/comment3.test, tests/comment4.test, tests/comment5.test, tests/comment6.test, tests/comment7.test, tests/comment8.test, tests/comment9.test, tests/compile.test, tests/compile_f90_c_cxx.test, tests/compile_f_c_cxx.test, tests/cond.test, tests/cond10.test, tests/cond11.test, tests/cond13.test, tests/cond14.test, tests/cond15.test, tests/cond16.test, tests/cond17.test, tests/cond18.test, tests/cond19.test, tests/cond2.test, tests/cond20.test, tests/cond21.test, tests/cond22.test, tests/cond23.test, tests/cond24.test, tests/cond25.test, tests/cond26.test, tests/cond27.test, tests/cond28.test, tests/cond29.test, tests/cond3.test, tests/cond30.test, tests/cond31.test, tests/cond32.test, tests/cond33.test, tests/cond34.test, tests/cond35.test, tests/cond36.test, tests/cond37.test, tests/cond4.test, tests/cond5.test, tests/cond6.test, tests/cond7.test, tests/cond8.test, tests/cond9.test, tests/condd.test, tests/condhook.test, tests/condinc.test, tests/condinc2.test, tests/condlib.test, tests/condman.test, tests/condman2.test, tests/conf2.test, tests/confdeps.test, tests/conff.test, tests/conff2.test, tests/confh.test, tests/confh4.test, tests/confh5.test, tests/config.test, tests/confincl.test, tests/conflnk.test, tests/conflnk2.test, tests/conflnk3.test, tests/confsub.test, tests/confvar.test, tests/confvar2.test, tests/copy.test, tests/ctarget1.test, tests/cxx.test, tests/cxx2.test, tests/cxxansi.test, tests/cxxcpp.test, tests/cxxlibobj.test, tests/cxxlink.test, tests/cxxnoc.test, tests/cxxo.test, tests/cygwin32.test, tests/dash.test, tests/defs.in, tests/defun.test, tests/defun2.test, tests/dejagnu.test, tests/dejagnu2.test, tests/dejagnu3.test, tests/dejagnu4.test, tests/dejagnu5.test, tests/dejagnu6.test, tests/dejagnu7.test, tests/depacl2.test, tests/depcomp.test, tests/depcomp2.test, tests/depcomp3.test, tests/depcomp4.test, tests/depcomp5.test, tests/depdist.test, tests/depend.test, tests/depend2.test, tests/depend3.test, tests/depend4.test, tests/destdir.test, tests/dirforbid.test, tests/dirlist.test, tests/discover.test, tests/distcom2.test, tests/distcom3.test, tests/distcom4.test, tests/distcom5.test, tests/distcom6.test, tests/distcom7.test, tests/distdir.test, tests/distname.test, tests/dollar.test, tests/double.test, tests/dup2.test, tests/else.test, tests/empty.test, tests/empty2.test, tests/empty3.test, tests/empty4.test, tests/exdir.test, tests/exdir2.test, tests/exeext.test, tests/exeext2.test, tests/exeext3.test, tests/exeext4.test, tests/exsource.test, tests/ext.test, tests/ext2.test, tests/extra.test, tests/extra2.test, tests/extra3.test, tests/extra4.test, tests/extra5.test, tests/extra6.test, tests/extra7.test, tests/f90only.test, tests/flibs.test, tests/fn99.test, tests/fnoc.test, tests/fo.test, tests/fonly.test, tests/fortdep.test, tests/fpinst2.test, tests/fpinstall.test, tests/gcj.test, tests/gcj2.test, tests/gcj3.test, tests/gcj4.test, tests/gcj5.test, tests/getopt.test, tests/gettext.test, tests/gettext2.test, tests/gnits.test, tests/gnits2.test, tests/gnits3.test, tests/gnumake.test, tests/gnuwarn.test, tests/gnuwarn2.test, tests/header.test, tests/help.test, tests/hfs.test, tests/hosts.test, tests/implicit.test, tests/include.test, tests/include2.test, tests/info.test, tests/insh2.test, tests/install2.test, tests/installdir.test, tests/instdat.test, tests/instdat2.test, tests/instexec.test, tests/insthook.test, tests/instman.test, tests/instman2.test, tests/instsh.test, tests/instsh2.test, tests/instspc.test, tests/interp.test, tests/interp2.test, tests/java.test, tests/java2.test, tests/java3.test, tests/javaprim.test, tests/javasubst.test, tests/ldadd.test, tests/ldflags.test, tests/lex.test, tests/lex2.test, tests/lex3.test, tests/lex4.test, tests/lex5.test, tests/libobj10.test, tests/libobj11.test, tests/libobj12.test, tests/libobj13.test, tests/libobj14.test, tests/libobj2.test, tests/libobj3.test, tests/libobj4.test, tests/libobj5.test, tests/libobj7.test, tests/libobj8.test, tests/library.test, tests/library2.test, tests/library3.test, tests/libtool.test, tests/libtool2.test, tests/libtool3.test, tests/libtool4.test, tests/libtool5.test, tests/libtool6.test, tests/libtool7.test, tests/libtool8.test, tests/libtool9.test, tests/license.test, tests/link_c_cxx.test, tests/link_dist.test, tests/link_f90_only.test, tests/link_f_only.test, tests/link_fc.test, tests/link_fccxx.test, tests/link_fcxx.test, tests/lisp2.test, tests/lisp3.test, tests/lisp4.test, tests/lisp5.test, tests/lisp6.test, tests/lisp7.test, tests/lisp8.test, tests/listval.test, tests/location.test, tests/longlin2.test, tests/longline.test, tests/ltcond.test, tests/ltcond2.test, tests/ltconv.test, tests/ltdeps.test, tests/ltlibobjs.test, tests/ltlibsrc.test, tests/maintclean.test, tests/make.test, tests/makej.test, tests/makevars.test, tests/man.test, tests/man2.test, tests/mclean.test, tests/mdate.test, tests/mdate2.test, tests/mdate3.test, tests/mdate4.test, tests/missing.test, tests/missing2.test, tests/missing3.test, tests/mkinst2.test, tests/mkinstall.test, tests/mmodely.test, tests/multlib.test, tests/nobase.test, tests/nodef.test, tests/nodef2.test, tests/nodep.test, tests/nodepcomp.test, tests/nodist.test, tests/nodist2.test, tests/nodist3.test, tests/nogzip.test, tests/nogzip2.test, tests/noinst.test, tests/noinstdir.test, tests/nolink.test, tests/nostdinc.test, tests/number.test, tests/obsolete.test, tests/order.test, tests/outdir.test, tests/output.test, tests/output10.test, tests/output11.test, tests/output12.test, tests/output2.test, tests/output3.test, tests/output4.test, tests/output5.test, tests/output6.test, tests/output7.test, tests/output8.test, tests/output9.test, tests/overrid.test, tests/parse.test, tests/percent.test, tests/percent2.test, tests/phony.test, tests/pluseq.test, tests/pluseq10.test, tests/pluseq2.test, tests/pluseq3.test, tests/pluseq4.test, tests/pluseq5.test, tests/pluseq6.test, tests/pluseq7.test, tests/pluseq8.test, tests/pluseq9.test, tests/postproc.test, tests/ppf77.test, tests/pr2.test, tests/pr204.test, tests/pr211.test, tests/pr220.test, tests/pr224.test, tests/pr229.test, tests/pr243.test, tests/pr266.test, tests/pr279-2.test, tests/pr279.test, tests/pr287.test, tests/pr300-lib.test, tests/pr300-ltlib.test, tests/pr300-prog.test, tests/pr307.test, tests/pr401.test, tests/pr401b.test, tests/pr401c.test, tests/pr72.test, tests/pr87.test, tests/pr9.test, tests/prefix.test, tests/primary.test, tests/primary2.test, tests/primary3.test, tests/proginst.test, tests/python.test, tests/python10.test, tests/python11.test, tests/python12.test, tests/python2.test, tests/python3.test, tests/python4.test, tests/python5.test, tests/python6.test, tests/python7.test, tests/python8.test, tests/python9.test, tests/recurs.test, tests/recurs2.test, tests/regex.test, tests/remake.test, tests/remake2.test, tests/remake3.test, tests/remake4.test, tests/remake5.test, tests/req.test, tests/reqd.test, tests/reqd2.test, tests/rulepat.test, tests/scripts.test, tests/seenc.test, tests/sinclude.test, tests/space.test, tests/specflg.test, tests/specflg2.test, tests/specflg3.test, tests/specflg6.test, tests/specflg7.test, tests/specflg8.test, tests/specflg9.test, tests/spell.test, tests/spell2.test, tests/spell3.test, tests/spelling.test, tests/spy.test, tests/srcsub.test, tests/srcsub2.test, tests/stamph2.test, tests/stdlib.test, tests/stdlib2.test, tests/strip.test, tests/subcond.test, tests/subcond2.test, tests/subcond3.test, tests/subdir.test, tests/subdir2.test, tests/subdir3.test, tests/subdir4.test, tests/subdir5.test, tests/subdir6.test, tests/subdir7.test, tests/subdir8.test, tests/subdir9.test, tests/subdirbuiltsources.test, tests/subobj.test, tests/subobj2.test, tests/subobj3.test, tests/subobj4.test, tests/subobj5.test, tests/subobj6.test, tests/subobj7.test, tests/subobj8.test, tests/subobj9.test, tests/subobjname.test, tests/subpkg.test, tests/subpkg2.test, tests/subst.test, tests/subst2.test, tests/substre2.test, tests/substref.test, tests/substtarg.test, tests/suffix.test, tests/suffix10.test, tests/suffix11.test, tests/suffix2.test, tests/suffix3.test, tests/suffix4.test, tests/suffix5.test, tests/suffix6.test, tests/suffix7.test, tests/suffix8.test, tests/suffix9.test, tests/symlink.test, tests/symlink2.test, tests/symlink3.test, tests/syntax.test, tests/tags.test, tests/tagsub.test, tests/tar.test, tests/tar2.test, tests/tar3.test, tests/target-cflags.test, tests/targetclash.test, tests/transform.test, tests/txinfo.test, tests/txinfo10.test, tests/txinfo13.test, tests/txinfo16.test, tests/txinfo17.test, tests/txinfo18.test, tests/txinfo19.test, tests/txinfo2.test, tests/txinfo20.test, tests/txinfo21.test, tests/txinfo22.test, tests/txinfo23.test, tests/txinfo24.test, tests/txinfo25.test, tests/txinfo26.test, tests/txinfo27.test, tests/txinfo28.test, tests/txinfo29.test, tests/txinfo3.test, tests/txinfo4.test, tests/txinfo5.test, tests/txinfo6.test, tests/txinfo7.test, tests/txinfo8.test, tests/txinfo9.test, tests/unused.test, tests/vars.test, tests/vars3.test, tests/vartar.test, tests/version.test, tests/version2.test, tests/version3.test, tests/version4.test, tests/version6.test, tests/version7.test, tests/version8.test, tests/vpath.test, tests/vtexi.test, tests/vtexi2.test, tests/warnopts.test, tests/werror.test, tests/werror2.test, tests/whoami.test, tests/xsource.test, tests/yacc.test, tests/yacc2.test, tests/yacc3.test, tests/yacc4.test, tests/yacc5.test, tests/yacc6.test, tests/yacc7.test, tests/yacc8.test, tests/yaccpp.test, tests/yaccvpath.test: Update FSF postal mail address.
Alexandre Duret-Lutz 9c3d8bd4 2004-08-08T17:11:24 * lib/Automake/Variable.pm (%_primary_dict): New hash. (_new, variable_delete): Update %_primary_dict. (variables): Accept an optional $suffix argument. * automake.in (check_typos, am_primary_prefixes): Use that optional argument to restrict the loops over the variables we are interested in.
Alexandre Duret-Lutz bcb160f8 2004-07-11T22:13:20 * lib/Automake/Variable.pm (define): Fix precondition check.
Alexandre Duret-Lutz bf7ab094 2004-05-22T07:19:37 Check directory names for unportable names. Shaking the code to check this also led to the removal of the no-"/"-in-SUBDIRS restriction, and a fix to _do_recursive_traversal. * automake.in (check_directory): New function extracted from handle_subdirs, and augmented to check for reserved W32/DOS name. (check_directories_in_var): New function. (handle_subdirs): Call check_directories_in_var. Doing so also suppress the restriction that SUBDIRS should not contain slashes. (scan_autoconf_traces) <AC_CONFIG_AUX_DIR>: Call check_directory to ensure the argument exists and is safe. * doc/automake.texi (Top level): Do not say that src/subdir cannot be put in SUBDIRS. (Dist): Mention that distdir and top_distdir can be absolute. * lib/Automake/Variable.pm (_do_recursive_traversal) Support undefined $fun_collect, and fix two bugs introduced with skip_ac_subst on 2004-03-07. * lib/am/distdir.am (distdir): Use absolute distdir and top_distdir when recursing, because we can no longer prepend only `..' in case of SUBDIRS with `/'. * tests/auxdir4.test, tests/subdir9.test: New files. * tests/Makefile.am (TESTS): Add auxdir4.test. * tests/cond2.test, tests/subdir7.test: Augment to check location in diagnostics.
Alexandre Duret-Lutz 9590e75c 2004-04-02T07:14:27 Better support for Fortran 9x. * automake.in: Add "fc" and "ppfc" languages for Fortran 9x. * doc/automake.texi (Fortran 9x Support): New section. * lib/Automake/Variable.pm (%_ac_macro_for_var): Add AC_PROG_FC. * tests/compile_f90_c_cxx.test: New file. * tests/ext.test: Add AC_PROG_FC. * tests/f90only.test: New file. * tests/link_f90_only.test: New file. * tests/Makefile.am (TESTS): Add new tests.
Alexandre Duret-Lutz 1726496d 2004-03-19T20:34:28 Overriding JAVAROOT is legitimate, do not warn about it. * lib/Automake/Variable.pm (%_silent_variable_override): Add JAVAROOT. * tests/java2.test: Run automake without -Wno-override. Report from Simon Josefsson.
Alexandre Duret-Lutz b95837bf 2004-03-07T09:24:21 * lib/Automake/Variable.pm (traverse_recursively, _do_recursive_traversal): Honor the skip_ac_subst option. * automake.in (handle_dist): Use skip_ac_subst.
Alexandre Duret-Lutz 2ac4685e 2004-02-29T19:10:21 * automake.in (lang_yacc_target_hook): Use Automake::Rule::define so that rules for the same headers are not output twice. * lib/Automake/Variable.pm (value_as_list_recursive): Do not call `return' inside `map'. * tests/cond30.test: Make sure `a.c' and `b.c' both appear in the Makefile.in. * tests/cond35.test, tests/cond36.test: New files. * tests/Makefile.am (TESTS): Add cond35.test and cond36.test. Report from Roman Fietze.
Alexandre Duret-Lutz ce2c881e 2004-02-01T18:06:51 * lib/Automake/Variable.pm (transform_variable_recursively): Define rewritten variables in all conditions not *covered* by user definitions, not simply in conditions without a previous definition. * tests/cond34.test: New file. * tests/Makefile.am (TESTS): Add cond34.test. Report from Elena A. Vengerova
Alexandre Duret-Lutz fcbb51ad 2004-01-03T12:42:41 * lib/Automake/Variable.pm (define): Rework the way we check Automake variable definition. Ensure consistent :=/+=/= definitions only for variables that have been and are defined by Automake, and make it an internal error. Ignore Automake attempts to touch a user variable, even with += assignments. * tests/txinfo29.test: New file. * tests/Makefile.am (TESTS): Add txinfo29.test. Reported by Bruce Korb.
Alexandre Duret-Lutz a5fc5b6d 2003-12-08T18:00:02 * lib/Automake/Variable.pm (hook): Use $$ as prototype, not $&. Perl 5.6.0 will not accept a reference sub reference for the latter. * automake.in (var_SUFFIXES_trigger): Adjust registration via Automake::Variabke::hook. (handle_texinfo_helper): Make sure `inner_expand => 1' appears on one line, so that Perl 5.6.0 does not complain about inner_expand being a bare identifier.
Alexandre Duret-Lutz 0a1c8dcb 2003-11-29T23:47:02 * lib/Automake/Variable.pm (loc_and_value_as_list_recursive, _value_as_list_recursive_worker): Merge into ... (value_as_list_recursive): ... this function. Pass options as a hash argument, and use the `location' option to trigger the behavior of loc_and_value_as_list_recursive. (traverse_recursively, transform_variable_recursively): Take options as a %options argument. (_do_recursive_traversal): Perform expansion of inner variables (as in `$(FILE).ext') on request. * automake.in (handle_options, check_libobjs_sources) (handle_source_transform, handle_LIBOBJS, handle_ltlibraries) (handle_ltlibraries, handle_man_pages, handle_dist) (handle_gettext, am_install_var): Adjust usage of value_as_list_recursive. (handle_texinfo_helper): Pass inner_expand to value_as_list_recursive. * tests/txinfo28.test: New file. * tests/Makefile.am (TESTS): Add txinfo28.test. Report from Ralf Corsepius.
Alexandre Duret-Lutz 0099f67b 2003-11-29T21:47:27 * lib/Automake/Variable.pm (_do_recursive_traversal): Do not update @_substfroms and @_substfroms for undefined variables. * tests/substre2.test: New file. * tests/Makefile.am (TESTS): Add substre2.test.
Alexandre Duret-Lutz 9177ef89 2003-11-29T18:02:40 * lib/Automake/VarDef.pm (value): Rename as ... (raw_value): ... this. (value): New method, strip # and \n. (dump): Use raw_value. * lib/Automake/Variable.pm (output): Use raw_value. (value_as_list): Simplify, now that backslash and comments are already removed. * tests/txinfo22.test: Make sure Automake isn't confused by comments in variables.
Alexandre Duret-Lutz 2028e01e 2003-11-24T22:13:42 * lib/Automake/Variable.pm (output): Add $(am__empty) to variable definitions that end with a line full of @substitutions@ that would confuse HP-UX Make if it were blank. (transform_variable_recursively): Make sure not to erase empty variables. * tests/Makefile.am (TESTS): Add subst2.test. * tests/subst2.test: New file. Report from Harlan Stenn.
Alexandre Duret-Lutz 526a21cd 2003-11-11T00:07:17 * doc/automake.texi (Texinfo): Define MAKEINFO, MAKEINFOHTML, MAKEINFOFLAGS, AM_MAKEINFOFLAGS, AM_MAKEINFOHTMLFLAGS, TEXI2DVI, TEXI2PDF, DVIPS, and TEXINFO_TEX in a table. (Uniform): Do not speak of missing HTML support, this is confusing. * lib/Automake/Variable.pm (_silent_variable_override): Add AM_MAKEINFOHTMLFLAGS. * lib/am/texibuild.am (%SOURCE_SUFFIX%.html): Use MAKEINFOHTML and AM_MAKEINFOHTMLFLAGS instead of MAKEINFO and AM_MAKEINFOFLAGS. * lib/am/texinfos.am (MAKEINFOHTML, AM_MAKEINFOHTMLFLAGS): Define. * tests/txinfo21.test: Add a test with AM_MAKEINFOHTMLFLAGS.
Alexandre Duret-Lutz 9e88c16c 2003-09-07T09:55:36 * aclocal.in (configure_ac): Do not call require_configure_ac before parsing the options. * automake.in (configure_ac): Likewise. * lib/Automake/Variable.pm (configure_ac): Do not require configure.ac, find it. * lib/Automake/Configure_ac.pm (require_configure_ac): find_configure_ac never return an undefined value, so test the file's existence instead. * tests/Makefile.am (TESTS): Add help.test. * tests/help.test: New file.
Paul Eggert 636c8076 2003-09-06T05:36:57 Spelling and minor grammar fixes.
Akim Demaille 1e118082 2003-08-21T08:49:25 * lib/Automake/Configure_ac.pm (&find_configure_ac) (&require_configure_ac): Accept an optional directory argument. ($configure_ac): Remove. * aclocal.in, automake.in ($configure_ac): New. * lib/Automake/Variable.pm: Don't use $configure_ac, just configure.ac.
Raja R Harinath c5548fdc 2003-08-12T22:33:44 typos in comments
Alexandre Duret-Lutz 9a792314 2003-08-12T17:52:09 * lib/Automake/Item.pm, lib/Automake/ItemDef.pm: New files. * lib/Automake/Rule.pm, lib/Automake/RuleDef.pm: New files. * lib/Automake/Makefile.am (dist_perllib_DATA): Add them. * lib/Automake/VarDef.pm: Make this a subclass of Automake::ItemDef. (new): Adjust to call Automake::ItemDef::new. (comment, location, owner): Delete. Now inherited from ItemDef. * lib/Automake/Variable.pm: Make this a subclass of Automake::Item. (_new): Adjust to call Automake::Item::new. (name, def, rdef, _set, conditions, not_always_defined_in_cond): Delete. How inherited from Item, where `_set' is called `set'. * automake.in (SUFFIX_RULE_PATTERN): Delete. Now in Automake::Rule. (suffix_rules_default): Delete. Now Automake::Rule::_suffix_rules_default (suffixes): Delete. Now Automake::Rule::suffixes. (TARGET_AUTOMAKE, TARGET_USER): Delete. Now Automake::RuleDef::RULE_AUTOMAKE and Automake::RuleDef::RULE_USER. (%targets, %target_source, %target_name, %target_owner): Delete, replaced by the Rule and RuleDef classes. (dependencies, depend, actions): Delete. Now in Automake::Rule. (suffix_rules, register_suffix_rule): Likewise. (KNOWN_EXTENSIONS_PATTERN, accept_extensions): Likewise. (known_extensions_list): Delete. Now Automake::Rule::_known_extensions_list. (target_conditions): Delete. Now inherited by Automake::Rule from Automake::Item::conditions. (rule_define): Delete. Now Automake::Rule::define. Adjust all callers. (target_defined): Delete. Now Automake::Rule::rule. Adjust all callers. (initialize_per_input): Adjust to call Automake::Rule::reset. (err_target, err_cond_target, msg_cond_target, msg_target, reject_target): Delete. Now defined in Automake::Rule as err_rule, err_cond_rule, msg_cond_rule, msg_rule and reject_target. Adjust all callers. (handle_languages): Call suffix_rules_count. * tests/location.test: Adjust expected diagnostics. We now display $(EXEEXT) accurately.
Alexandre Duret-Lutz 90793a74 2003-08-09T22:34:30 Revert the fix for PR automake/291: * lib/Automake/Variable.pm (define): Do not warn about variables starting with `_' which are an issue on NEWS-OS 4.2R. According to Paul Eggert, NEWS-OS 4.2R is ten years old, the latest version was released on 1996 and is not in wide use. On the other hand, variables starting with `_' are mandatory in several situations, so diagnosing them is more annoying than useful. * tests/canon5.test: Do not use -Wno-portability. * tests/vars2.test: Delete. * tests/Makefile.am (TESTS): Remove vars2.test. Suggested by Jim Meyering.
Alexandre Duret-Lutz a1be9812 2003-08-07T21:20:12 * lib/Automake/Variable.pm (condition_ambiguous_p): Move ... * lib/Automake/DisjConditions.pm (ambiguous_p): ... here. * automake.in (rule_define): Adjust usage. * lib/Automake/Variable.pm (_check_ambiguous_condition): Likewise.
Raja R Harinath bbde2866 2003-08-03T21:17:32 * lib/Automake/Variable.pm (@EXPORT): Remove traverse_variable_recursively and require_variables_for_variable. (require_variables_for_variable, traverse_variable_recursively) (_traverse_variable_recursively_worker): Convert to Automake::Variable methods, remove support for being invoked with variable names, and rename to ... (requires_variables, traverse_recursively) (_do_recursive_traversal): ... these. (_value_as_list_recursive_worker, transform_variable_recursively): Update to reflect changes. * automake.in (handle_LIBOBJS, handle_ALLOCA) (handle_libraries, handle_ltlibraries, am_primary_prefixes): Likewise. (define_objects_from_sources): Fix typo in comment.
Raja R Harinath 797e4c6e 2003-08-02T04:27:03 * lib/Automake/Variables.pm (variables): Return a list of Automake::Variable instances, not a list of strings. (dump): Remove support for being invoked with a string. (variables_dump): Adapt to these changes. * automake.in (check_typos): Likewise. (am_primary_prefixes): Likewise.
Alexandre Duret-Lutz 2056a8f3 2003-07-27T21:25:17 * lib/Automake/Variable.pm (@EXPORT): Remove variable_dump. (variable_dump): Replace by ... (dump): ... this method. (rdef, _check_ambiguous_condition): Adjust to use ->dump. (define, variables_dump): Adjust to use Automake::Variable::dump
Raja R Harinath 2b957614 2003-07-10T23:39:09 Avoid using refs as hash keys. * lib/Automake/Variable.pm ($_traversal): New. (reset): Reset $_traversal. (_new): New attribute 'scanned'. (%_vars_scanned): Remove. (traverse_variable_recursively) (traverse_variable_recursively_worker): Use $_traversal instead of %_vars_scanned to detect recursively defined variables.
Alexandre Duret-Lutz 05ab9332 2003-07-10T20:51:27 * lib/Automake/Variable.pm (define): Make clear the diagnostic about variable names starting with `_' is about *Make* variables.
Alexandre Duret-Lutz 1a37abc5 2003-07-09T22:07:10 * lib/Automake/Variable.pm (_traverse_variable_recursively_worker): Return the empty list on recursively defined variable. This supersedes my change of 2003-07-02.
Akim Demaille d23e6821 2003-07-06T19:27:29 * automake.in (&define_files_variable): New. (&handle_texinfo_helper): Move the handling of user variables from here, to... (&handle_texinfo): here. This is to balance the size of these functions, and to match the convention of other _helper functions. (&handle_texinfo_helper): Use &define_files_variable. Move some code to use less variables. Rename $info_cursor as $texi. (&handle_texinfo): Do not call handle_texinfo_helper if there are no TEXINFOS. * lib/am/texinfos.am: Sort the occurrences of dvi, info, pdf, ps and html. Remove *-recursive targets from .PHONY, they are part of $(RECURSIVE_TARGETS) anyway. (install-info, mostlyclean-aminfo): Are .PHONY.
Alexandre Duret-Lutz 21af290f 2003-07-02T21:57:51 * lib/Automake/Variable.pm (_traverse_variable_recursively_worker): Do not return undef when a variable is recursively defined, this causes warnings all over the place. Return the empty string instead.
Alexandre Duret-Lutz 41740be4 2003-06-30T06:35:55 * automake.in ($SUBST_REF_PATTERN): Do not define. (%gen_varname): Move to Variable.pm, as %_gen_varname. (initialize_per_input): Do not clean %gen_varname. (handle_options, check_libobjs_sources, handle_source_transform, handle_LIBOBJS, handle_ltlibraries, handle_texinfo_helper, handle_man_pages, handle_dist, handle_subdirs, handle_gettext, am_install_var): Adjust to use value_as_list_recursive, loc_and_value_as_list_recursive, and has_conditional_contents. (require_file_with_macro): Accept an Automake::Variable as argument. (traverse_variable_recursively, traverse_variable_recursively_worker, gen_varname, transform_variable_recursively): Move ... * lib/Automake/Variable.pm (traverse_variable_recursively, _traverse_variable_recursively_worker, _gen_varname, transform_variable_recursively): ... here. * automake.in (variable_conditionally_defined, variable_value_as_list_recursive_worker, variable_value_as_list_recursive variable_loc_and_value_as_list_recursive): Move ... * lib/Automake/Variable.pm (has_conditional_contents, _value_as_list_recursive_worker, value_as_list_recursive, loc_and_value_as_list_recursive): ... here. (reset): Reset %_gen_varname.
Alexandre Duret-Lutz 5b94845c 2003-06-23T21:39:54 * lib/Automake/Variable.pm (vardef, rvardef, set_seen): New functions. (variable_defined, examine_variable): Remove. (%_ac_macro_for_var): Add an entry for ALLOCA. (require_variables): Use vardef instead of variable_defined. Do not use _cvar. * automake.in (generate_makefile): Do not push $(SOURCE) into @sources. Use define_pretty_variable to define SOURCES. (handle_LIBOBJS, handle_ALLOCA): Use require_variables_for_variable to require LIBOBJS, LTLIBOBJS and ALLOCA. (handle_programs, handle_ltlibraries): Do not define an empty _DEPENDENCIES or _LDFLAGS variable when none is defined. (define_configure_variable): Do not check whether the variable already exists (it's Automake::Variable::define's job). (require_build_directory): Likewise, do not check the existence of am__dirstamp. (generate_makefile, handle_options, handle_languages) (check_libobjs_sources, handle_single_transform_list) (traverse_variable_recursively_worker, handle_source_transform) (handle_lib_objects, handle_LIBOBJS, handle_compile) (handle_libtool, handle_programs, handle_libraries) (handle_ltlibraries, check_typos, handle_texinfo_helper) (handle_man_pages, handle_tags, handle_dist, handle_subdirs) (scan_aclocal_m4, handle_gettext, handle_footer, handle_install) (handle_all, do_check_merge_target, handle_clean, lang_c_finish) (handle_tests, lang_yacc_target_hook, define_pretty_variable) (define_compiler_variable, define_linker_variable) (make_paragraphs, am_primary_prefixes, am_install_var): Adjust to call var, vardef, or set_seen, instead of variable_defined. Use set_seen only for variables which are actually checked by check_typos. * tests/target.test: Delete. * tests/alloca.test, tests/alloca2.test: New files. * tests/libobj3.test: Check error message. * tests/distcom4.test: Make sure configure is in DIST_COMMON. This replace confdist.test. * tests/Makefile.am (TESTS, XFAIL_TESTS): Remove target.test. (TESTS): Add alloca.test and alloca2.test. Remove confdist.test.
Alexandre Duret-Lutz 9f02b686 2003-06-02T23:35:00 * alocal.in: Use Automake::Configure_ac. ($configure_ac): Delete. (scan_configure): Adjust use of find_configure_ac; * automake.in: Use Automake::Configure_ac. ($configure_ac): Delete. (scan_autoconf_files): Adjust use of find_configure_ac; * lib/Automake/Configure_ac.pm: New file. * lib/Automake/General.pm (find_configure_ac): Delete. Now replaced by Automake::Configure_ac::search_configure_ac. * lib/Automake/Makefile.am (dist_perllib_DATA): Add Configure_ac.pm. * lib/Automake/Variable.pm: Use Automake::Configure_ac. (require_variables): Adjust use of $configure_ac.
Alexandre Duret-Lutz 4f299408 2003-05-29T19:05:55 * lib/Automake/Variable.pm (check_defined_unconditionally): Add the $parent_cond argument. (output): Use $self->name in diagnostic not $self. (variable_value_as_list): Rename as ... (value_as_list): ... this. Declare as a method. Take a $parent_cond argument and pass it to check_defined_unconditionally. Do not call variable_assert, now that this is a method. (variable_assert): Delete (unused). * automake.in (traverse_variable_recursively_worker): Adjust to use check_defined_unconditionally and value_as_list as a methods.
Alexandre Duret-Lutz 66fdf15e 2003-05-29T17:34:52 * lib/Automake/Variable.pm (output): Declare as a method, since it is only used this way. (define): Fix documentation of $cond. Suggested by Raja R. Harinath.
Alexandre Duret-Lutz fde42f14 2003-05-25T20:05:50 * lib/Automake/Variable.pm, lib/Automake/VarDef.pm: New files. * lib/Automake/Makefile.am (dist_perllib_DATA): Add Variable.pm and VarDef.pm. * automake.in: Use Automake::Variable and Automake::VarDef. (MACRO_PATTERN): Delete. Now Automake::Variable::_MACRO_PATTERN. (am_macro_for_var): Delete. Now Automake::Variable::_am_macro_for_var. (ac_macro_for_var): Delete. Now Automake::Variable::_ac_macro_for_var. (silent_variable_override): Delete. Now Automake::Variable::_silent_variable_override. (var_value, var_location, var_comment, var_type, var_owner, var_pretty, content_seen): Delete. This functionality is now offered by Automake::Variable and Automake::VarDef. (VAR_AUTOMAKE, VAR_CONFIGURE, VAR_MAKEFILE, VAR_ASIS, VAR_PRETTY): Delete. Now defined in Automake::VarDef. (var_order): Delete. Now Automake::Variable::_var_order. (appendvar): Delete. Now Automake::Variable::_appendvar. (var_SUFFIX_trigger): Register using Automake::Variable::hook. (initialize_per_input): Call Automake::Variable::reset. (err_var, msg_cond_var, msg_var, reject_var): Delete. Now defined in Automake::Variable. (generate_makefile, process_option_list, handle_languages) (traverse_variable_recursively_worker) (transform_variable_recursively, handle_compile) (handle_libraries, handle_ltlibraries) (check_typos, handle_dist, handle_subdirs, scan_autoconf_files): Adjust to use Automake::Variable functions. (check_ambiguous_condition): Delete. Now Automake::Variable::_check_ambiguous_condition. (condition_ambiguous_p): Delete. Now Automake::Variable::condition_ambiguous_p. (variable_not_always_defined_in_cond): Delete. Now Automake::Variable::not_always_defined_in_cond. (macro_define): Delete. Now Automake::Variable::define. (macro_delete): Delete. Now Automake::Variable::variable_delete. (macro_dump): Delete. Now Automake::Variable::variable_dump. (macros_dump): Delete. Now Automake::Variable::variables_dump. (variable_defined): Delete. Now Automake::Variable::variable_defined, with the target check temporarily disabled. (variable_assert): Delete. Now Automake::Variable::variable_assert. (examine_variable): Delete. Now Automake::Variable::examine_variable. (variable_conditions): Delete. Now Automake::Variable::conditions. (scan_variable_expansions): Delete. Now Automake::Variable::scan_variable_expansions. (check_variable_expansions): Delete. Now Automake::Variable::check_variable_expansions. (check_variable_defined_unconditionally): Delete. Now Automake::Variable::check_defined_unconditionally. (variable_value): Delete. Now Automake::Variable::variable_value. (variable_value_as_list): Delete. Now Automake::Variable::variable_value_as_list. (variable_value_as_list_recursive_worker): Adjust to use Automake::Variable functions. (variable_output): Delete. Now Automake::Variable::output. (define_pretty_variable, define_configure_variable, read_am_file) (define_standard_variables, read_main_am_file): Adjust to use Automake::Variable functions. (handle_variables): Delete. Now Automake::Variable::output_variables. (file_contents_internal, am_primary_prefixes, am_install_var) (require_file_with_macro, require_conf_file_with_macro) (push_dist_common): : Adjust to use Automake::Variable functions. (require_variables): Delete. Now Automake::Variable::require_variables. (require_variables_for_macro): Delete. Now Automake::Variable::require_variables_for_variable. * tests/Makefile.am (XFAIL_TESTS): Add target.test.