2001-09-29 Paul Eggert * lib/mkinstalldirs: Use "mkdir -p" if it works, as that fixes bugs when making file names with unusual characters. Quote chmod arg "$dirmode", in case it contains white space. Incorporate the following change from autoconf mkinstalldirs: 1999-04-10 Ben Elliston Add `-m' flag to specify the mode of a newly created directory. Add command line usage and `-h', `--help' options. Contributed by Jeff Garzik. 2001-09-27 Akim Demaille * m4/cond.m4, m4/init.m4, m4/header.m4: Remove Autoconf 2.13 code. 2001-09-27 Akim Demaille * lib/am/distdir.am (dist): Rename as... (dist-gzip): this. (dist): Additional name for dist-all. * automake.texi (Options, Dist): Adjust. 2001-09-25 Alexandre Duret-Lutz * aclocal.in (obsolete_macros): Update AM_EXEEXT message. * automake.in (obsolete_macros): Likewise. (seen_objext): Remove (unused). (scan_one_autoconf_file): Don't handle AC_OBJEXT. * lib/am/header-vars.am (EXEEXT, OBJEXT, PATH_SEPARATOR): New variables. * tests/obsolete2.test: Use AM_FUNC_FNMATCH instead of AM_EXEEXT. 2001-09-23 Tim Van Holder * m4/auxdir.m4, m4/init.m4: Require autoconf 2.50 and rely on it to neutralize CDPATH for us. * m4/init.m4: Don't substitute EXEEXT or OBJEXT anymore. * lib/am/texibuild.am: Use $(PATH_SEPARATOR), not ':' to build TEXINPUTS. 2001-09-22 Akim Demaille * configure.in, NEWS: Bump to 1.5a. Require 2.52. 2001-09-22 Paul Eggert * ChangeLog, ChangeLog.1996, ChangeLog.1998, ChangeLog.2000, Makefile.am, NEWS, README, TODO, configure.in, lib/Makefile.am, lib/acinstall, lib/am/Makefile.am, m4/Makefile.am, m4/as.m4, m4/auxdir.m4, m4/ccstdc.m4, m4/cond.m4, m4/depend.m4, m4/depout.m4, m4/dmalloc.m4, m4/error.m4, m4/gcj.m4, m4/header.m4, m4/init.m4, m4/install-sh.m4, m4/lex.m4, m4/lispdir.m4, m4/maintainer.m4, m4/make.m4, m4/minuso.m4, m4/missing.m4, m4/multi.m4, m4/obstack.m4, m4/protos.m4, m4/ptrdiff.m4, m4/python.m4, m4/regex.m4, m4/sanity.m4, m4/strip.m4, m4/termios.m4, m4/winsz.m4: Add copyright notice. * INSTALL, lib/INSTALL: Upgrade to latest autoconf version, which has a copyright notice. * m4/strtod.m4: Correct the dates on the copyright notice. 2001-09-17 Akim Demaille * lib/missing (autom4te): New. (aclocal, autoconf, automake, autoheader, help2man): Propagate actual failures. 2001-08-27 Tom Tromey * automake.texi (A Shared Library): Clarify installation requirement. (Install): Typo. From Adrian Bunk. 2001-08-27 Tom Tromey * automake.texi (Macros): Typo fix. From Christian Cornelssen 2001-08-27 Tom Tromey * tests/ansi3.test, tests/ansi5.test, tests/ccnoco.test, tests/cond4.test, tests/cond16.test, tests/cond18.test, tests/cond19.test, tests/depcomp2.test, tests/depend2.test, tests/lex3.test, tests/pr87.test, tests/subobj3.test, tests/substref.test: Clear CFLAGS. * automake.texi (Yacc and Lex): Mention lex, not yacc. From Alexey Mahotkin. 2001-08-27 Tom Tromey * tests/yacc7.test: Use test -f, not test -e. 2001-08-27 Adrian Bunk * automake.texi (etags): Typo fix. 2001-08-27 Guido Draheim * automake.in : restrict ansi2knr option to be a filepath 2001-08-23 Richard Boulton * tests/yacc7.test: Actually add this file: was accidentally omitted. 2001-08-22 Tom Tromey * automake.texi (Conditionals): Mention that conditionals must always be invoked. For PR automake/220. 2001-08-22 Richard Boulton Tom Tromey * automake.in (lang_yacc_target_hook): Make header file depend on .c file, not .y file. * lib/am/yacc.am: Non-generic rule changed to depend on %OBJ% (the .c file) rather than %SOURCE% (the .y file) Removed `.y.h' rule. * tests/yacc7.test: New file. * tests/Makefile.am (TESTS): Added yacc7.test. 2001-08-22 Tim Van Holder * m4/missing.m4: Require AM_AUX_DIR_EXPAND and use $am_aux_dir. 2001-08-18 Tom Tromey * automake.texi (Dist): Mention dist-all. 2001-08-18 Tom Tromey * tests/cond3.test: Use portable sed expression. From Richard Boulton. 2001-08-13 Richard Boulton * automake.in (handle_source_transform): Call define_objects_from_sources() instead of calling variable_value_as_list(), handle_single_transform_list() and define_pretty_variable() directly. (handle_single_transform_list): Add $topparent parameter, used for error messages. Improved error message. (define_objects_from_sources): New function. (subobjname): New function. (variable_conditions_recursive): New name for variable conditions. (variable_value_as_list_recursive): New name for variable_value_as_list. (variable_value_as_list_worker): Renamed to ... (variable_value_as_list_recursive_worker): ... this. (variable_conditions_sub): Renamed to ... (variable_conditions_recursive_sub): ... this. (variable_conditions): Rewritten: now doesn't recurse subvariables. (variable_value_as_list): Rewritten: now doesn't recurse subvariables. (substfroms): New global. (substtos): New global. (substnums): New global. * tests/cond3.test: Update to work with new method of defining _OBJECTS. * tests/cond4.test: Update to work with new method of defining _OBJECTS. * tests/sourcesub2.test: New test. * tests/Makefile.am (TEST): Added sourcesub2.test. 2001-08-11 Tom Tromey * configure.in: Upped to 1.4s. 2001-08-09 Richard Boulton * automake.in (handle_single_transform_list): Use new global, `%linkers_used', to store the linkers used, rather than an internal variable. Enables correct linker to be calculated across a group of calls to &handle_single_transform_list. Return only list of objects, since linker to be used is now externally determined. (handle_source_transform): adapted for new calling conventions of handle_single_transform_list. Calls resolve_linker() on a set of all the linkers used for any prefix, rather than for each prefix in turn. (linkers_used): New global. * tests/link_dist.test: New test. * tests/Makefile.am (TESTS): Added link_dist.test. 2001-08-08 Raja R Harinath Dissociate testsuite 'make' invocations from outer 'make'. * tests/defs: Unset the MFLAGS, MAKEFLAGS and MAKELEVEL environment variables. * tests/cond16.test: Use '$MAKE -s', and avoid GNU make dependency. * tests/substref.test: Likewise. 2001-08-08 Richard Boulton * tests/cond18.test: New file. * tests/cond19.test: New file. * tests/cond20.test: New file. * tests/cond4.test: Updated to check the generated _OBJECTS more thoroughly. * tests/Makefile.am (TESTS): Added cond18.test, cond19.test and cond20.test 2001-08-08 Richard Boulton * automake.in (file_contents_internal): if a rule is conditionally defined, define the standard automake definition for it for those conditions which are not conditionally defined. (invert_conditions): New function: invert a list of conditionals. * tests/cond14.test: New file. * tests/cond15.test: New file. * tests/Makefile.am (TESTS): Added cond14.test and cond15.test. 2001-08-05 Tom Tromey * tests/Makefile.am (TESTS): Added dejagnu2.test. * tests/dejagnu2.test: New file. * lib/am/dejagnu.am (site.exp): Don't conditionalize. * automake.in (handle_scripts): Removed dead code. (handle_tests_dejagnu): Don't handle site.exp generation specially. 2001-08-04 Richard Boulton * tests/cond17.test: New file: test for being able to define an object to be generated in different ways according to a conditional. * tests/Makefile.am (XFAIL_TESTS): Add cond17.test. (TESTS): Added cond17.test. 2001-08-02 Richard Boulton * automake.in (variable_conditions_sub): Handle variable substitution refs when computing conditions based on subvariable conditions. Fixes substitution refs of system variables when sub variable is conditional. (SUBST_REF_PATTERN): New global. * tests/cond16.test: New file: regression test for variable substitution refs. * test/Makefile.am (TESTS): Added cond16.test. 2001-08-03 Tom Tromey * tests/substref.test: Require GNU make; backed out previous change. * tests/substref.test: Handle entering/leaving directory messages. 2001-08-03 Richard Boulton * automake.in (value_to_list): Check for whether $from is defined, rather than whether it is true, so that empty $froms are allowed in substitution reference patterns. * tests/substref.test: New file: test behavior of substitution references when the $from side of the substitution is empty. * tests/Makefile.am (TESTS): Added substref.test. 2001-08-03 Alexandre Duret-Lutz * m4/install-sh.m4: New file. * m4/Makefile.am (m4data_DATA): Add install-sh.m4. * m4/missing.m4 (AM_MISSING_INSTALL_SH): Move ... * m4/install-sh.m4 (AM_PROG_INSTALL_SH): ... here. Don't check for install.sh any longer, always use install-sh, don't even fall back to missing. Use $am_aux_dir, making $install_sh absolute. * m4/strip.m4 (AM_PROG_INSTALL_STRIP): Simplify, since $install_sh is absolute. * m4/init.m4: Adjust call to AM_PROG_INSTALL_SH. 2001-08-02 Tim Van Holder * automake.texi (EXEEXT): Clarify. 2001-08-01 Alexandre Duret-Lutz * m4/missing.m4 (AM_MISSING_HAS_RUN): Typo. * m4/auxdir.m4: More comments. 2001-07-31 Richard Boulton Raja R Harinath * automake.in (variable_conditions_sub): Remove @parent_conds argument. This was old logic - duplicate or impossible conditionals are removed later by &variable_conditions_reduce(). Fixes tests/cond13.test. (conditionals_true_when): Removed. * tests/Makefile.am (XFAIL_TESTS): Removed cond13.test. 2001-07-31 Tom Tromey * tests/Makefile.am (TESTS): Added cond13.test. (XFAIL_TESTS): Likewise. * tests/cond13.test: New file. * configure.in: Upped to version 1.4k. * configure.in: Released 1.4j. * lib/config.guess: Updated from master sources. * lib/config.sub: Likewise. 2001-07-30 Tom Tromey * automake.texi (A Program): Typo. Added subsections and more text about conditional compilation. (A Shared Library): Moved earlier. (Program variables): Updated LINK text. Added AM_CFLAGS. (C++ Support): Added AM_CXXFLAGS. (Fortran 77 Support): Added AM_FFLAGS and AM_RFLAGS. (EXEEXT): New node. * tests/Makefile.am (TESTS): Added aclibobj.test. * tests/aclibobj.test: New file. * automake.in (handle_lib_objects_cond): Avoid undefined variable error. (scan_one_autoconf_file): Handle AC_LIBSOURCE and AC_LIBSOURCES. * automake.texi (Dist): Mention other distribution types. (Install): Updates. 2001-07-29 Tom Tromey * automake.texi (Program and Library Variables): Texinfo fix. From Alexey Mahotkin. 2001-07-28 Tom Tromey * automake.texi (Strictness): Mention Cygnus mode. (Cygnus): Updated. (Uniform): Likewise. (Canonicalization): Likewise. (Install): Add `nobase_' to example; typo fix. (Clean): Typo. (Dist): Expand on putting a directory into EXTRA_DIST. Insert section markers. (Options): Texinfo fixes; some text updates. (Tags): Update. 2001-07-27 Tom Tromey * automake.texi (Invoking Automake): Document --Werror and --Wno-error. 2001-07-26 Tom Tromey * tests/nolink.test: Added no-exeext. * automake.in (check_variable_defined_unconditionally): Don't call macro_dump. * automake.texi (Optional): Don't mention ALL_LINGUAS. (gettext): Likewise. * automake.in (seen_linguas, all_linguas, all_linguas_line): Removed. (handle_gettext): Don't do any checking of the languages. (scan_one_autoconf_file): Don't look for ALL_LINGUAS. * automake.in (am_print_error): New function. (am_error): Use it. (am_file_error): Likewise. (am_line_error): Likewise. (am_conf_error): Likewise. (am_conf_line_error): Likewise. * automake.texi (Options): Document no-exeext. * automake.in (handle_options): Recognize no-exeext. (rule_define): Handle no-exeext. * tests/Makefile.am (TESTS): Added new file. * tests/exeext2.test: New file. * automake.in (make_input_list): Removed. (scan_autoconf_config_files): Don't add to make_input_list. (scan_one_autoconf_file): Don't use make_input_list. (scan_autoconf_files): Use make_list, not make_input_list. (scan_autoconf_files): Likewise. * automake.in (seen_exeext): Removed. (generate_makefile): Don't define EXEEXT or OBJEXT. (scan_one_autoconf_file): Don't check for AC_EXEEXT. (am_install_var): Don't check $seen_exeext. (handle_programs): Likewise. (rule_define): Allow x to override x$(EXEEXT), for now. (file_contents_internal): Only define rule if rule_define allows us to. * m4/init.m4 (AM_INIT_AUTOMAKE): Define EXEEXT and OBJEXT. 2001-07-25 Tom Tromey From Nicolas Joly: * tests/pr9.test: Require GNU make. * tests/dirname.test: Don't use `-u'. 2001-07-22 Tom Tromey * tests/Makefile.am (TESTS): Added auxdir2.test. (XFAIL_TESTS): Likewise. * tests/auxdir2.test: New file. * tests/Makefile.am (XFAIL_TESTS): Removed substtarg.test. * automake.in (TARGET_PATTERN): Add `@' as allowable character. * tests/Makefile.am (XFAIL_TESTS): Removed exeext.test. * automake.in (am_install_var): Add $(EXEEXT) even if program name holds `.'. Don't add $(EXEEXT) if program name already has it. (handle_programs): Don't add $(EXEEXT) if user already did. (make_paragraphs): Don't compute EXEEXT. * tests/Makefile.am (TESTS): Added exeext.test. (XFAIL_TESTS): Likewise. * tests/exeext.test: New file. 2001-07-22 Tom Tromey * lib/am/progs.am (install-%DIR%PROGRAMS): Test for `prog', not `prog.exe' on Cygwin with libtool. From Robert Collins. 2001-07-21 Tim Van Holder * tests/dirname.test: Explicitly use $SHELL to run the script; this avoids failures on DJGPP. * tests/install2.test: Skip if 'chmod 000' doesn't make a file unreadable. 2001-07-21 Tom Tromey * tests/libtool2.test: Check for libtoolize. * tests/Makefile.am (TESTS): Added substtarg.test. (XFAIL_TESTS): Likewise. * tests/substtarg.test: New file. * automake.in (handle_dist): Handle case where aux dir doesn't have a Makefile. Fixes depdist.test. * tests/Makefile.am (XFAIL_TESTS): Removed depdist.test. * tests/depdist.test: Look for config/depcomp. * tests/Makefile.am (TESTS): Added depdist.test. (XFAIL_TESTS): Likewise. * tests/depdist.test: New file. From Eric Magnien. * tests/ccnoco.test: Removed `configure.2' test; in autoconf 2.50 AC_PROG_CC_C_O does require AC_PROG_CC. From Erik Lindahl: * lib/depcomp (tru64): Some Tru64 compilers use `foo.d' and not `foo.o.d'. * m4/depend.m4 (_AM_DEPENDENCIES): Check to make sure compilation output is suitable for make. * automake.texi (Macros): Document AM_PROG_AS. (Assembly Support): New node. * m4/Makefile.am (m4data_DATA): Added as.m4. * m4/as.m4: New file. * automake.texi (Tags): Added uref to global tags. 2001-07-21 Tim Van Holder * automake.in (handle_single_transform_list): Use $(DEPDIR) instead of hardcoding '.deps'. * m4/depend.m4 (AM_SET_DEPDIR): Sync with libtool's libdir check. 2001-07-20 Derek Price * m4/header.m4 (AM_CONFIG_HEADER): Create stamp-h files in the correct locations. * tests/dirname.test: New test. * tests/stamph2.test: New test. * tests/Makefile.am: Add new tests. * tests/Makefile.in: Regenerated. 2001-07-19 Tom Tromey * automake.texi (Tags): Document GTAGS_ARGS. * lib/am/tags.am (GTAGS): Added GTAGS_ARGS. From Shigio Yamaguchi. 2001-07-19 Tom Tromey Alexandre Duret-Lutz Fix for ccnoco.test, subobj8.test: * m4/Makefile.am (m4data_DATA): Added auxdir.m4. * tests/Makefile.am (XFAIL_TESTS): Removed ccnoco.test, subobj8.test. * m4/minuso.m4 (AM_PROG_CC_C_O): Use absolute path to compile. Use AM_AUX_DIR_EXPAND. * lib/compile: Handle case where `-o' argument is the name of an executable, not an object file. * m4/auxdir.m4: New file, from... * m4/missing.m4: ... here. Moved AM_AUX_DIR_EXPAND. * automake.in (handle_single_transform_list, lang_c_rewrite): Require compile using `require_config_file'. 2001-07-19 Tom Tromey * automake.texi (Program and Library Variables): Added X example for _LDADD. 2001-07-19 Tom Tromey * automake.texi (Distributing): Updated to reflect new license. 2001-07-18 Alexandre Duret-Lutz * automake.in (require_build_directory): New function, extracted from ... (handle_single_transform_list): ... here. (require_build_directory_maybe): New function. (handle_prograns, handle_libraries, handle_ltlibraries): Call require_build_directory_maybe() to ensure the subdirectory in which a target may lie will exist when the target is created. (handle_libraries, handle_ltlibraries): Use basename before checking library name. * lib/am/library.am (%LIBRARY%): Depend on %DIRSTAMP%. * lib/am/ltlibrary.am (%LTLIBRARY%): Likewise. * lib/am/program.am (%PROGRAM%): Likewise. 2001-07-18 Tim Van Holder * m4/missing.m4: Reword comment. 2001-07-18 Pavel Roskin * automake.texi: Rename AM_DEPENDENCIES to _AM_DEPENDENCIES. * tests/gcj.test: Likewise. * tests/gcj2.test: Likewise. * tests/gcj3.test: Likewise. 2001-07-18 Tom Tromey * lib/compile: Change how lockdir is computed. If linking or compiling without `-o', just run the compiler. * tests/Makefile.am (TESTS): Added ccnoco.test. (XFAIL_TESTS): Likewise. * tests/ccnoco.test: New file. 2001-07-17 Tom Tromey * lib/ylwrap: Added special exception. * lib/py-compile: Added license. * lib/mdate-sh: Added special exception. * lib/elisp-comp: Added special exception. * lib/compile: Added special exception. * lib/depcomp: Added special exception. Report from Motoyuki Kasahara: * tests/make.test: Use am__include. * tests/exsource.test: Use am__include. * m4/make.m4 (AM_MAKE_INCLUDE): Use am__include and am__quote. * automake.in (handle_languages): Use am__include and am__quote. * m4/depend.m4 (AM_DEPENDENCIES): Renamed to _AM_DEPENDENCIES. * m4/init.m4: Updated callers. 2001-06-10 Tim Mooney * aclocal.in (parse_arguments, write_aclocal): Update Copyrights. * aclocal.in (scan_configure, add_file): Handle the full macro name even if it contains numbers, such as I18N. 2001-07-16 Tom Tromey * automake.texi (Dependencies): Link to dependency tracking page. (Data): Mention dist_. (Clean): Mention clean heuristics. (Install): Mention nobase_. * automake.texi (Program and Library Variables): Document _LINK. 2001-07-16 Alexandre Duret-Lutz * automake.in (handle_libraries): Allow libraries to lie in a subdirectory by constraining only the basename to start with 'lib', not the whole path. 2001-07-16 Alexandre Duret-Lutz * tests/subobj8.test: New file. * tests/Makefile.am (XFAIL_TESTS, TESTS): Add subobj8.test. 2001-07-16 Tom Tromey Fix for PR automake/212: * lib/am/lisp.am (install-%DIR%LISP): Added missing `\'. (uninstall-%DIR%LISP): Likewise. 2001-07-15 Tom Tromey * automake.in (usage): Rewrote code to handle columnization. From Alexey Mahotkin and Maxim Sinev. Report from Ralf Corsepius: * automake.in (TARGET_PATTERN): Add `+' as valid character. (SUFFIX_RULE_PATTERN): Likewise. * tests/Makefile.am (TESTS): Added cxx.test. * tests/cxx.test: New file. * lib/am/tags.am (distclean-tags): Remove files for gtags. From Shigio Yamaguchi. 2001-07-14 Steve M. Robbins * lib/am/distdir.am (distcheck): Emit diagnostic when files remain after "make uninstall". 2001-07-14 Tom Tromey * lib/am/tags.am (.PHONY): Depend on GTAGS. From Shigio Yamaguchi. * lib/missing (makeinfo): Redirect stdout and stderr outside subshell. From Alexandre Oliva. 2001-07-14 Akim Demaille * automake.in ($obsolete_rx): No need for `\b(foo\b|\bbar)\b', `\b(foo|bar)\b' is what we want. * aclocal.in: Likewise. 2001-07-14 Akim Demaille * m4/depend.m4 (AM_DEPENDENCIES): Don't define `depcpp' which is not used. Do not require the corresponding AC_PROG_CC as AC_PROG_CC is actually modified to require AM_DEPENDENCIES. Rename `confdir' as `conftest.dir' so that the configure trap remove it. 2001-07-04 Tom Tromey Fix for nolink.test: * tests/Makefile.am (XFAIL_TESTS): Removed nolink.test. * lib/am/program.am (%PROGRAM%%EXEEXT%): Use %EXEEXT%. * automake.in (am_install_var): Only rewrite PROGRAMS if $seen_exeext. (make_paragraphs): Always define %EXEEXT%. 2001-07-04 Alexandre Duret-Lutz * tests/nolink.test: New file. * tests/Makefile.am (TEST, XFAIL_TESTS): Add nolink.test. 2001-07-04 OKUJI Yoshinori * automake.in (scan_texinfo_file): Add the second argument to `@syncodeindex' into @CLEAN_SUFFIXES, because the combined index itself may not be used directly. 2001-07-04 Tom Tromey * missing: Updated. * lib/missing (makeinfo): Use subshell, not explicit sh invocation. * automake.texi (Headers): Mention that we prefer uninstalled headers in _SOURCES. (ANSI): Mention cross-compilation limitation. 2001-07-03 Tom Tromey * configure.in: Upped to 1.4i. * configure.in: Released 1.4h. * lib/config.guess, lib/config.sub: Updated. 2001-07-02 Tom Tromey Fix for libtool2.test: * tests/libtool2.test: Use `rm -f' to placate maintainer-check. * lib/am/libtool.am (distclean-libtool): Conditional on TOPDIR. * automake.in (generate_makefile): Call handle_libtool unconditionally. * tests/Makefile.am (XFAIL_TESTS): Removed libtool2.test. * tests/libtool2.test: Look for `.lo' files to be removed. * tests/Makefile.am (XFAIL_TESTS): Added libtool2.test. * tests/Makefile.am (TESTS): Removed dup.test. * tests/dup.test: Removed. * aclocal.in (scan_file): Don't give error for duplicate macro. 2001-07-01 Tom Tromey * automake.texi (Program and Library Variables): Document subdir-objects. Document fact that per-object flags override AM_ flags. (Options): Likewise. (Yacc and Lex): Document YFLAGS, AM_YFLAGS, LFLAGS, AM_LFLAGS. (Multilibs): New node. (Macros): Documented missing macros. (Auxiliary Programs): New node. * lib/missing (makeinfo): If makeinfo exists, and we're in --run mode, then simply fail. 2001-07-01 Tim Van Holder * lib/ylwrap: Improve support for DOS paths (and paths containing backslashes in general). 2001-07-01 Tom Tromey * lib/missing: Added special exception to license. * missing: Updated. * lib/missing: Updated. Added comment explaining configure.ac oddity. * lib/depcomp: Reorder arguments to gcc3. From Per Oyvind Hvidsten. * tests/Makefile.am (TESTS): Added libtool2.test. * tests/libtool2.test: New file. * automake.texi (Program and Library Variables): Added example for _AR. 2001-06-29 Tom Tromey * tests/cond11.test: Use `=', not `=='. * tests/cond12.test: Look for automake in build directory, not source directory. 2001-06-29 Richard Boulton * automake.in (conditionals_true_when): Pass first parameters by reference, avoiding bug which put all parameters in @CONDS instead of @WHENS. Report by Kalle Olavi Niemitalo. Take a single WHEN instead of an array of WHENS. Remove FIXME; can't now have an empty @WHENS. (conditional_is_redundant): New sub. (variable_conditions_reduce): Check whether each condition is implied by any of the other conditions (other those already discarded), rather than checking only against those already considered (and kept). Also, fix sense of check: was keeping tautologous terms instead of discarding them. Use conditional_is_redundant instead of conditionals_true_when. * tests/Makefile.am (TESTS): Added cond11.test and cond12.test. * tests/cond11.test: New file. * tests/cond12.test: New file. 2001-06-29 Raja R Harinath * automake.in (saw_sources_p): Work even if there are more than one header files, and more than of one type of header. * tests/Makefile.am (TESTS): Added new file. * tests/depend4.test: New file. 2001-06-28 Tom Tromey * lib/am/libs.am (RANLIB): Don't define. 2001-06-28 Alexandre Duret-Lutz * automake.in (am_install_var): Assign 1 to $first on first interation. 2001-06-23 Tom Tromey Fix for yacc5.test: * lib/ylwrap: Changed usage. * lib/am/yacc.am: Rewrote to use new substitutions. * lib/am/lex.am: Likewise. * automake.in (handle_languages): Skip files whose language doesn't have a compiler. Handle `define_flag' attribute. Changed '$' to "\$" to aid Emacs fontification. (struct): Added `rule_file'. Removed `derived_autodep'. Added `_target_hook' and `define_flag'. (yacc, yaccxx, lex, lexxx): Set `rule_file', `flags', `compile', and `compiler' attributes. Removed `linker', `derived_autodep', and `ansi' attributes. Added `define_flag'. (yacc, yaccxx): Added `_target_hook'. (saw_extension): Count number of times extension seen. (count_files_for_language): New sub. (saw_sources_p): Use it. (handle_single_transform_list): Allow language rewrite function to return a new source extension. Call target_hook. (yacc_sources, lex_sources): Removed. (initialize_per_input): Don't initialize yacc_sources or lex_sources. (lang_yacc_rewrite): Rewrote. (lang_yaccxx_rewrite): Likewise. (lang_lex_rewrite): Likewise. (lang_lexxx_rewrite): Likewise. (output_yacc_build_rule): Removed. (output_lex_build_rule): Removed. (lang_yacc_finish): Removed build rule generation. (lang_lex_finish): Likewise. (DASH_D_PATTERN): New global. (lang_yacc_target_hook): New function. (_target_hook): New function. (register_language): Default `define_flag'. * tests/yacc5.test: Updated test. * tests/yacc4.test: Exit with status 77 if bison doesn't work. * tests/yacc3.test: Remove bogus `make' invocation. Added test for all YFLAGS variables. 2001-06-20 Tom Tromey * tests/yacc5.test: Check for per-executable YFLAGS. 2001-06-19 Tom Tromey * tests/Makefile.am (TESTS): Added yacc5.test. * tests/yacc5.test: New file. 2001-06-17 Tom Tromey * automake.in (require_file_internal): Check for already-required file after searching for it, and only if it is not found. Don't use `readlink' when checking for dangling symlink. Work if --force-missing specified. * tests/acoutput2.test: Also test --force-missing. Fix for libtool.test: * automake.in (generate_makefile): Call handle_libtool. (handle_libtool): New sub. (handle_compile): Don't read `libtool' file. * tests/acoutput2.test: New file. * tests/Makefile.am (TESTS): Added acoutput2.test. 2001-06-15 Tom Tromey * tests/Makefile.am (TESTS): Added libtool.test. * tests/libtool.test: New file. 2001-06-14 Tom Tromey Fix some lisp bugs reported by Bruno Haible: * lib/am/lisp.am (uninstall-%DIR%LISP): Added DESTDIR to the echo. (install-%DIR%LISP): Handle case where lispdir is not defined. (uninstall-%DIR%LISP): Likewise. (.el.elc): Added `else' clause. Fix for bug reported by Steve M. Robbins: * automake.in (handle_single_transform_list): When building a file from a subdirectory, continue to use `AM_' prefix. * tests/Makefile.am (TESTS): Added subobj7.test. * tests/subobj7.test: New file. * lib/am/configure.am ($(top_builddir)/config.status): Added $(top_builddir) prefix to work around problems with some vendor makes. From Nicholas Joly. * automake.in (yacc_lex_finish_helper): Find ylwrap in top_srcdir. From Tim Van Holder. * tests/Makefile.am (TESTS): Added yacc6.test. * tests/yacc6.test: New file. 2001-06-14 Tim Van Holder * tests/defs, tests/installsh.test: Properly support DOS-style paths. 2001-06-14 Tom Tromey * tests/Makefile.am (TESTS): Added mdate4.test. * tests/mdate4.test: New file. * aclocal.in (scan_m4_files): Removed unused variable. 2001-06-14 Alexandre Duret-Lutz * aclocal.in (scan_m4_files): Tweak the building of &search so that multiple macro names can be found on the same line. Ensure we match whole macro name, not only substrings. 2001-06-12 Tom Tromey * automake.texi (ANSI): Minor clarification. (Other GNU Tools): Don't mention Guile. (Guile): Removed. (Java Support): Mention file extensions. (Man pages): Mention dist_. Don't mention info pages. 2001-06-11 Tom Tromey * automake.texi (Program variables): Document AM_CPPFLAGS. Deprecate INCLUDES. (Java Support): Document AM_GCJFLAGS. (Support for Other Languages): Removed `fixme'; added link to suffix rule handling. * automake.texi (Program and Library Variables): Document _LIBADD, _LDADD, _LDFLAGS, _AR, and _DEPENDENCIES. 2001-06-11 Kevin Dalley * missing: Support configure.ac. 2001-06-08 Tom Tromey * tests/version4.test: New file. * automake.in (version_check): New sub. (handle_options): Use it. * tests/Makefile.am (AUTOMAKE_OPTIONS): Removed. (TESTS): Added version4.test. * m4/Makefile.am (AUTOMAKE_OPTIONS): Removed. * Makefile.am (AUTOMAKE_OPTIONS): Remove `gnits'. 2001-06-04 Kevin Dalley * lib/am/dejagnu.am (site.exp): Fix typo. 2001-06-02 Tom Tromey * automake.in (variable_conditions_sub): Move parent-only code from here... (variable_conditions): ... to here. (variable_conditions_sub): Include this variable's conditions in the resulting condition list. * tests/Makefile.am (XFAIL_TESTS): Removed ltdeps.test. 2001-06-01 Tom Tromey * tests/Makefile.am (XFAIL_TESTS): Added ltdeps.test. (TESTS): Likewise. * tests/ltdeps.test: New file. Report from Lars J. Aas. 2001-05-31 Tom Tromey * automake.texi (Alternative): New node. (Macros): Use new name for gcc. (Java Support): Likewise. (Dependencies): Rewrote. (Invoking Automake): (Re-)document -i, --ignore-deps, and --include-deps. * automake.texi (Top level): Removed erroneous spaces. Documented MAKE and MAKEFLAGS. 2001-05-29 Tom Tromey * m4/init.m4 (AM_INIT_AUTOMAKE): Allow any AM_*FLAGS variable. * automake.texi (Include): Rewrote. (Suffixes): Remove Java example. (Java): Added more explanation. Document variables. (Uniform): Mention JAVA as a primary. (Python): Updated for new Python support. (Sources): Added a weak example. * lib/am/java.am (class%DIR%.stamp): Use AM_JAVACFLAGS. * automake.texi (A Program): Mention `check' prefix. (Program and Library Variables): New node. (Texinfo): Document UPDATED-MONTH, MAKEINFOFLAGS, and AM_MAKEINFOFLAGS. (etags): Mention per-program flags. (Tests): Document AM_RUNTESTFLAGS; added sectioning; more updates. * lib/am/texinfos.am (.PHONY): Always list uninstall-info-am and install-info-am. 2001-05-28 Tom Tromey * m4/Makefile.am (MAINT_CHARSET): Removed. * Makefile.am (MAINT_CHARSET): Removed. * automake.in (maint_charset, dist_charset): Removed. (local_maint_charset): Removed. (initialize_per_input): Don't use maint_charset. (handle_dist): Don't compute maint_charset or check DIST_CHARSET. * lib/am/texibuild.am (.%SUFFIX%.info): Use MAKEINFOFLAGS and AM_MAKEINFOFLAGS. (.%SUFFIX%.dvi): Likewise. (.%SUFFIX%): Likewise. 2001-05-27 Tom Tromey * automake.in (handle_multilib): Only add multilib support code at top level. * lib/am/multilib.am: Handle invocation of *-multi targets differently for SUBDIRS and non-SUBDIRS Makefiles. * m4/multi.m4 (AM_ENABLE_MULTILIB): Removed erroneous comment. Only add multilib code when the Makefile in question is actually rebuilt. * lib/am/dejagnu.am (check-DEJAGNU): Added AM_RUNTESTFLAGS. 2001-05-25 Alexandre Duret-Lutz * automake.in (handle_single_transform_list): Skip unknown extensions. 2001-05-25 Tom Tromey * m4/init.m4 (AM_INIT_AUTOMAKE): Ignore AM_RUNTESTFLAGS. 2001-05-24 Tom Tromey * automake.in (handle_texinfo_helper): Find mdate-sh in current directory in some situations. * automake.in (generate_makefile): Better explanation for ansi2knr fix. 2001-05-23 Alexandre Duret-Lutz * automake.in (handle_languages): Skip unknown extensions. (derive_suffix): Check whether $extension_map{$source_ext} is undefined, not empty. 2001-05-23 Alexandre Duret-Lutz * automake.in (read_am_file): Ignore trailing backslash on comment lines. 2001-05-22 Alexandre Duret-Lutz * automake.in (ASSIGNMENT_PATTERN): Forbid : and + in variable names. 2001-05-21 Akim Demaille * automake.texi (Macros): Explain the ``AC_PROG_LEX invoked multiple times'' warning. 2001-05-20 Tom Tromey * configure.in: Updated to 1.4g. * configure.in: Updated to 1.4f. * Makefile.am (EXTRA_DIST): Added ChangeLog.2000. * lib/ansi2knr.c: New version. * Makefile.am (FETCHFILES): Added ansi2knr.c. (fetch): Likewise. 2001-05-19 Tom Tromey * config.guess, config.sub: New versions from FSF. * Makefile.am (fetch): Compare against files in srcdir. For for ansi2knr report from Harlan Stenn: * automake.in (generate_makefile): Run handle_compile before handle_languages. 2001-05-18 Tom Tromey * automake.in: Reverted erroneous checkin. 2001-05-18 Akim Demaille * lib/am/texinfos.am (install-info-am, uninstall-info-am): Be robust to missing `install-info'. 2001-05-17 Tom Tromey * automake.in (lang_c_finish): Use `rm -f'. * automake.in (lang_c_finish): Remove _.c file if ansi2knr fails. * tests/Makefile.am (TESTS): Added new file. * tests/ansi5.test: New file. 2001-05-17 Alexandre Duret-Lutz * lib/am/install.am (install-strip): Set INSTALL_PROGRAM_ENV if STRIP is not empty. * m4/strip.m4 (AM_PROG_INSTALL_STRIP): Set INSTALL_STRIP_PROGRAM to install-sh unconditionally. Don't set INSTALL_STRIP_PROGRAM_ENV. * automake.texi (Requirements): Document the use of the STRIP variable in cross-compilation environments. 2001-05-17 Tom Tromey * m4/depend.m4 (AM_DEPENDENCIES): If depcomp doesn't exist, revert to no dependency tracking. * tests/Makefile.am (TESTS): Added depcomp2.test. * tests/depcomp2.test: New file. From Pavel Roskin. * lib/depcomp (aix): Bug fix and simplification from Larry Jones. * lib/depcomp (tru64): New dependency tracking mode. Fix for PR automake/159: * lib/depcomp (aix): Rewrote. (sgi): Likewise. Fix for PR automake/174: * tests/Makefile.am (XFAIL_TESTS): Removed comment3.test. * automake.in (read_am_file): Warn if `#' is at start of rule. 2001-05-16 Tom Tromey For PR automake/174: * tests/Makefile.am (TESTS): Added comment3.test. (XFAIL_TESTS): Likewise. * tests/comment3.test: New file. Fix for PR automake/175: * tests/Makefile.am (XFAIL_TESTS): Removed make.test. * m4/make.m4 (AM_MAKE_INCLUDE): Omit `Entering directory' and `Leaving directory' messages. For PR automake/175: * tests/Makefile.am (XFAIL_TESTS): Added make.test. * tests/make.test: Run test with `make -w'. * tests/Makefile.am (TESTS): Removed maintclean.test. * lib/am/clean.am (maintainer-clean-generic): Don't remove Makefile.in. * lib/am/configure.am (maintainer-clean-am): Removed. (maintainer-clean-conf): Removed. * tests/maintclean.test: Removed. 2001-05-15 Tom Tromey Fix for PR automake/177: * Makefile.am (maintainer-clean): Set perllibdir before invoking automake or aclocal. Fix for maintclean.test: * tests/Makefile.am (XFAIL_TESTS): Removed maintclean.test. * lib/am/clean.am (distclean-generic): Don't remove config.cache or config.log. (distclean, maintainer-clean): Moved to... * lib/am/configure.am: ... here. (distclean): Remove config.cache and config.log. (maintainer-clean): Removed. (maintainer-clean-conf): New target. (maintainer-clean-am): New target. * tests/Makefile.am (TESTS): Added maintclean.test. (XFAIL_TESTS): Likewise. * tests/maintclean.test: New file. Fixes PR automake/175: * tests/target-cflags.test: Use $needs_gnu_make. * tests/exsource.test: Use $needs_gnu_make. * tests/make.test: Require GNU make. * tests/defs (needs_gnu_make): Compute. 2001-05-14 Tom Tromey * lib/ylwrap: Fixed quoting on regular expression. Fixes yacc4.test. Fix for texinfo10.test. * tests/Makefile.am (XFAIL_TESTS): Remove texinfo10.test. * lib/am/texinfos.am: Use LOCAL-TEXIS liberally. * automake.in (handle_texinfo_helper): New sub. (handle_texinfo): Rewrote. Now defines LOCAL-TEXIS. * tests/texinfo10.test: Added more cases. Fix for yaccvpath.test: * tests/Makefile.am (XFAIL_TESTS): Removed yaccvpath.test. * lib/am/distdir.am (distdir): Always look for file in build directory first. * lib/ylwrap: Quote the `#line' regular expression. * lib/am/yacc.am (%YACC_SUFFIX%%C_SUFFIX%): Reverted earlier change; don't run sed on the generated file. * tests/yaccvpath.test: Create new parser in srcdir. Added test to make sure parser will be rebuilt at dist time. 2001-05-13 Pavel Roskin * automake.in ($IGNORE_PATTERN): Allow spaces before comments beginning with `##'. * automake.texi (General Operation): Document it. 2001-05-13 Tom Tromey Reported by Rainer Orth: * lib/am/distdir.am (?DISTDIR?distdir): Define conditional on TOPDIR_P. * tests/Makefile.am (TESTS): Added distname.test. * tests/distname.test: New file. * Makefile.am (dist_pkgdata_DATA): Removed. * tests/defs: Find files to copy in lib/. * automake.in (perllibdir): Set to Automake directory. * ansi2knr.c, ansi2knr.1: Removed. * Makefile.am (dist_am_DATA): Removed. (amdir): Removed. (maintainer-check): Look for lib/am/*.am. Expect 28 lines of diffs. (scriptdir): Removed. (dist_script_DATA): Likewise. (install-data-hook): Likewise. (installcheck-local): Likewise. (TAGS_FILES): Removed amfiles. (dist_pkgdata_DATA): Removed ansi2knr.c and ansi2knr.1. * tests/installsh.test (AUTOMAKE): Use --libdir, not --amdir, and point it to the right directory. * ansi2knr.am, check.am, clean-hdr.am, clean.am, comp-vars.am, compile.am, configure.am, data.am, dejagnu.am, depend.am, depend2.am, distdir.am, footer.am, header-vars.am, header.am, install.am, java.am, lang-compile.am, lex.am, library.am, libs.am, libtool.am, lisp.am, ltlib.am, ltlibrary.am, mans-vars.am, mans.am, multilib.am, program.am, progs.am, python.am, remake-hdr.am, scripts.am, subdirs.am, tags.am, texi-vers.am, texibuild.am, texinfos.am, yacc.am: Moved to lib/am/. * configure.in (AC_OUTPUT): Added lib/am/Makefile. (AUTOMAKE): Use --libdir, not --amdir. Ues AC_CONFIG_AUX_DIR. * lib/Makefile.am (SUBDIRS): Added `am'. (scriptdir): New macro. (dist_script_DATA): Likewise. (dist_pkgdata_DATA): Likewise. (install-data-hook): New target. (installcheck-local): Likewise. * lib/am/Makefile.in: New file. * lib/am/Makefile.am: Removed everything except amdir and dist_am_DATA. 2001-05-13 Akim Demaille * automake.in ($pkgdata_dir): Rename as... ($libdir): this. ($am_dir): Remove, replace its uses with $libdir. (&parse_arguments): Replace --amdir with --libdir. * automake.texi (Invoking Automake): Document --libdir, not --amdir. * tests/defs (AUTOMAKE): Use --libdir, not --amdir. 2001-05-13 Tom Tromey * m4/depout.m4 (AM_OUTPUT_DEPENDENCY_COMMANDS): Use AMDEP_TRUE, not AMDEP. * m4/depend.m4 (AM_DEPENDENCIES): Require AM_DEP_TRACK. Correctly look at AMDEP_TRUE, not AMDEP. Report from Robert Boehne: * tests/Makefile.am (TESTS): Added depend2.test. * tests/depend2.test: New file. 2001-05-13 James Henstridge * m4/python.m4 (AM_PATH_PYTHON): Added more names for python. Point pythondir at site-packages directory. Rename PYTHON_SITE_PACKAGE to pkgpythondir. Rename PYTHON_SITE_EXEC to pyexecdir. Removed package/module argument. Removed PYTHON_SITE_INSTALL. Added version checking. 2001-05-14 Jim Meyering * automake.in (macro_define): Change one remaining use of `variable_dump' to `macro_dump'. 2001-05-13 Tom Tromey * m4/depend.m4 (AM_DEPENDENCIES): Prefer gcc3 over gcc for objc and gcj. 2001-05-13 Akim Demaille * automake.in (&scan_texinfo_file, &handle_dist, &handle_gettext) (&handle_footer, &handle_factored_dependencies, &handle_emacs_lisp) (&am_primary_prefixes): Use `map' rather than `grep'. 2001-05-13 Akim Demaille * automake.in (Language): Set config_vars for yacc, yaccxx, lex, lexxx, asm. (&lang_c_finish, &lang_yacc_finish, &lang_lex_finish): Simplify. (&lang_asm_finish): Remove, set asm's finisher to C's one. 2001-05-13 Akim Demaille * lang-compile.am: New file, loaded once per language. * depend2.am: Move definitions loaded once per language in the aforementioned file. * automake.in (&handle_languages): Load it. (&lang_ppf77_finish, &lang_ratfor_finish): Remove as it's now handled by lang-compile.am. 2001-05-13 Tom Tromey * tests/Makefile.am (TESTS): Added python.test. * tests/python.test: New file. * automake.in (handle_languages): Use config_aux_dir_set_in_configure_in. (handle_python): Correctly mention AM_PATH_PYTHON. Use py-compile, not py_comp. Define py_compile macro. 2001-05-13 Derek Price * automake.in (require_file_with_conf_line, require_file_with_line, require_file): Pass a @require_file_path of $relative_dir instead of '.' to require_file_internal so that all the special casing of '.' can be removed elsewhere. (require_config_file, require_conf_file_with_line, require_conf_file_with_conf_line): Remove special casing for '.' and make sure $config_aux_dir is maintained properly. (require_file_internal): Remove special casing of '.' and set @require_file_path when missing files are added. (maybe_push_required_file): Remove special casing of '.' (handle_dependencies): Remove a workaround for a bug now fixed and remove $config_aux_dir special casing. (handle_configure): Remove special casing for $config_aux_dir (handle_python): Ditto. (yacc_lex_finish_helper): Change $config_aux_dir switch to switch on the value of $config_aux_dir_set_in_configure_in. (handle_texinfo): Ditto. (scan_one_configure_file): Set $config_aux_dir and $config_aux_dir_set_in_configure_in properly so special casing on the value of $config_aux_dir can be removed elsewhere. * tests/depcomp.test: New file. * tests/confsub.test: Look for depcomp in $(top_srcdir) instead of the first subdir containing a C file. * tests/libobj2.test: Ditto. * tests/Makefile.am (TESTS): Added 'depcomp.test'. 2001-05-12 Tom Tromey * tests/gcj.test: Updated for gcj dependency tracking. * tests/gcj2.test: Likewise. Fixes PR automake/169. * m4/depend.m4 (AM_DEPENDENCIES): Handle GCJ. Don't assume gcc style for OBJC. * automake.in (java): Added autodep entry. * tests/Makefile.am (TESTS): Added gcj3.test. * tests/gcj3.test: New file. 2001-05-12 Raja R Harinath * automake.in (ASSIGNMENT_PATTERN): Make variable-name pattern stop at the first '='. * tests/Makefile.am (TESTS): Added vars.test. * tests/vars.test: New file. 2001-05-12 Akim Demaille * automake.in (&handle_single_transform_list): Simplify computation of $object and $this_obj_ext. * tests/lex3.test: Merge into... * tests/lex.test: here. * tests/pr19.test: Improve and rename as... * tests/lex3.test: this. 2001-05-09 Tom Tromey * automake.in (read_am_file): Correctly compute $saw_bk. (scan_autoconf_files): Ensure configure_dist_common is always set. * tests/defs (AUTOMAKE): Added --Werror. 2001-05-09 Pavel Roskin * automake.in (define_compiler_variable): Escape $(LIBTOOL) in double quotes. 2001-05-09 Tom Tromey * tests/werror.test: Use `rm -f'. 2001-05-09 Akim Demaille * automake.in (&am_line_warning): Invoke `am_line_error', not itself. 2001-05-09 Akim Demaille * automake.in: Remove some code left from bad patches. (&handle_dependency): Remove, for the same reason. 2001-05-09 Akim Demaille * automake.in (&make_paragraphs): Transform BUILD, HOST and TARGET. (&handle_tests_dejagnu, &define_standard_variables): Don't. (&define_standard_variables): Don't transform %top_builddir% since... * header-vars.am: Use %TOPDIR% instead. 2001-05-09 Akim Demaille * automake.in (@objects): Remove, unused. Remove all the code related to it, and to former `$(OBJECTS)'. 2001-05-08 Tom Tromey For PR automake/29: * ylwrap: Handle arguments to program. Remove old code that tried to avoid absolute paths and add new code to do it in all cases. Removed ancient logic that tried to deal with relative path. * tests/Makefile.am (TESTS): Added yacc4.test. * tests/yacc4.test: New file. Fix for PR automake/149 and werror.test: * automake.in (require_file_internal): Use am_line_warning or am_conf_line_warning when suppressing error. (am_line_warning): New sub. (am_conf_line_warning): Save and restore warning signal. * tests/Makefile.am (XFAIL_TESTS): Removed werror.test. Fix for PR automake/36: * tests/Makefile.am (TESTS): Added asm.test. * tests/asm.test: New file. * automake.in (asm): Use ASFLAGS and AS. (lang_asm_finish): New sub. * automake.in (read_am_file): Removed debugging code. For PR automake/149: * tests/Makefile.am (TESTS): Added werror.test. (XFAIL_TESTS): Likewise. * tests/werror.test: New file. * automake.in (conditional_true_when): Don't return if we see `TRUE'. * tests/objc.test: Removed. * tests/Makefile.am (XFAIL_TESTS): Removed objc.test. (TESTS): Likewise. * automake.in (subst): New sub. (handle_languages): Use it. (output_lex_build_rule): Likewise; also use _am_quote. (check_libobjs_sources): Likewise. (make_paragraphs): Use subst. * automake.in (check_libobjs_sources): Re-fixed AMDEP_TRUE problem. * automake.in (file_contents_internal): Prototype now `$$%'. (register_language): Prototype now `%'. Fixes test subobj6.test and PR automake/160: * tests/Makefile.am (XFAIL_TESTS): Removed subobj6.test. * compile.am (mostlyclean-compile): Added MOSTLYRMS. (distclean-compile): Added DISTRMS. * tests/subobj6.test (wish_SOURCES): Updated to reflect `mostlyclean' use; added test for non-subdir case. * automake.in (compile_clean_files): New global. (MOSTLY_CLEAN, DIST_CLEAN): New constants. (initialize_per_input): Initialize compile_clean_files. (handle_single_transform_list): Set compile_clean_files entries. (handle_compile): Handle compilation cleanups. 2001-05-08 Lars J. Aas * automake.texi (Canonicalizing Automake macros): Document not canonicalizing strudels (@) anymore. 2001-05-08 Akim Demaille * distdir.am (dist-all): Build all the flavors using a single distdir. 2001-05-08 Akim Demaille * automake.in (&file_contents_internal): Apply the @cond_stack to the rules and assignments. Don't rely on `$.' as it's biased by &make_paragraphs. Don't remove backslashes in variable values. 2001-05-08 Akim Demaille * automake.in ($IGNORE_PATTERN): Improve for multi-line matches. ($RULE_PATTERN): Use that from `&make_paragraphs'. ($MACRO_PATTERN): Just catch the name of a macro. ($BOGUS_MACRO_PATTERN): Remove. ($ASSIGNMENT_PATTERN): New. (&file_contents_internal, &make_paragraphs): Adjust. (¯o_define): Catch bad macro names. (&cond_stack_endif): Better error message. (&file_contents_internal): Don't remove backslashes in variable values. (¯o_define): Do it for `+=' user variables. (&define_standard_variables): Use `undef' instead of a dummy variable. (&make_paragraph): Be sure not to chop the trail of hash only lines: adjust the `##' regexp. (&rule_define): Fix a bug: don't read $1 but $target. * tests/condincl.test: Strengthen. 2001-05-08 Akim Demaille * automake.in (Language): Add attributes `Name' and `config_vars'. (&finish): Work properly if there is no _finish. (Automake): Register language Names and AC_SUBST dependencies. Register Fortran 77 variables upon which ratfor and ppf77 depend. (&handle_languages): Once per language, invoke `define_linker_variables', and check its config_vars. (&lang_cxx_finish, &lang_f77_finish, &lang_objc_finish) (&lang_java_finish): Remove. (&lang_ppf77_finish, &lang_ratfor_finish): Adjust. 2001-05-08 Akim Demaille * automake.in (&file_contents_internal): Accept $IS_AM. (&handle_compile, &define_standard_variables, &file_contents): Adjust. 2001-05-08 Akim Demaille * automake.in (am_install_var): Use `next' instead of `if' on the body of $X loop. 2001-05-08 Akim Demaille * automake.in (Language): Add attributes `lder' and `ld'. (®ister_language): Specify for cxx, objc, f77, gcj. (&define_linker_variable): New. (&lang_cxx_finish, &lang_f77_finish, &lang_objc_finish) (&lang_java_finish): Adjust. (&libtool_compiler): Remove. 2001-05-08 Akim Demaille * automake.in (&handle_lib_objects_cond): Don't take $LEX_SEEN as argument, as you don't use it. Hence... (&handle_lib_objects): Don't take $LEX_SEEN as argument, as you don't use it. Hence... (&handle_programs): Don't mess with %lex_sources, as you don't use it. 2001-05-08 Akim Demaille * automake.in (Language): Add attribute `link'. (®ister_language): Specify for cxx, objc, f77, gcj. (&lang_cxx_finish, &lang_f77_finish, &lang_objc_finish) (&lang_java_finish): Adjust. 2001-05-08 Akim Demaille * automake.in (&define_compiler_variables): Use only $LANG as argument. (&handle_languages): Adjust. 2001-05-08 Akim Demaille * automake.in (&define_program_variable): Remove. (&scan_one_autoconf_file): Skip MAKEINFO when found in an AM_MISSING_PROG. (&handle_texinfo): Don't define MAKEINFO and TEXI2DVI. * texinfos.am: Do it. 2001-05-08 Akim Demaille * automake.in (&handle_tests_dejagnu): Don't define EXPECT and RUNTEST. * dejagnu.am: Do it. (site.exp): Use `if'. 2001-05-08 Akim Demaille * automake.in: Formatting changes. (variable_dump, variables_dump): Rename as... (macro_dump, macros_dump): these. 2001-05-08 Akim Demaille Support `if !COND', `else COND', `end COND'. * automake.texi (Conditionals): Document it. * automake.in ($WHITE_PATTERN, $MACRO_PATTERN, $BOGUS_MACRO_PATTERN) ($GNITS_VERSION_PATTERN, $INCLUDE_PATTERN): Use `\d' and `\s'. ($IF_PATTERN, $ELSE_PATTERN, $ENDIF_PATTERN): Likewise, and accept a leading `!' before the condition. (&handle_options): Use `\d'. (&cond_stack_if, &cond_stack_else, &&cond_stack_endif): New. (&read_am_file, &file_contents_internal): Use them. (&transform): No longer substitute `%!COND%', forcing the use of `! %?COND%'. * ansi2knr.am, lex.am, tags.am, texinfos.am, yacc.am: Adjust. 2001-05-08 Akim Demaille Uniform handling of per-object compilation rules. Note: Automake is repaired. * automake.in (&handle_languages): Output per object rules for all the objects, not only for those which language supports dependency tracking. Fix Automake: when outputting per-object rules, use `-o' if the language has no `output_flag', as it's really needed. (&handle_single_transform_list): Instead of special casing files which need per object rules but which language don't support dependency tracking, keep them in the queue for processing by `&handle_languages'. 2001-05-08 Akim Demaille * automake.in (&handle_languages): `ext-compile.am' and `depend2.am' are now equivalent for generic rules: output only the latter. * ext-compile.am: Remove. 2001-05-08 Akim Demaille Note: This patch breaks Automake. Repaired within two patches. * automake.in (Language): Replace the attribute `output_arg' with `compile_flag' and `output_flag'. (Automake): Adjust language registrations. (&handle_languages): Transform `-c' and `-o' for both suffix and per object rules, instead of `OUTARG' and `LTOUTARG' only for generic rules. (&handle_single_transform_list): Adjust to `compile_flag' and `output_flag'. * depend2.am, ext-compile.am: Use `%-c%' and `%-o%'. 2001-05-08 Akim Demaille * automake.in (&handle_languages): Don't transform %COMPILER%. Use `$lang->compiler' instead of `$pfx' to transform generic %COMPILE% and %LTCOMPILE%. * ext-compile.am: Use %COMPILE%, %LTCOMPILE% and %SOURCE% instead of %COMPILER% and $<. 2001-05-07 Akim Demaille * automake.in (&handle_languages): Use the same `%transform' for both `depend2.am' and `ext-compile.am'. Delay the definition of `$flag' so it is right before the first use, and rename as `$flags'. 2001-05-07 Akim Demaille * automake.in (&handle_languages): Compute `$ltoutarg' and `$outarg' independently of dependency code. There is no use looping on a language's possible extensions since we loop over used extensions. Therefore, there is no use for a local `%transform'. 2001-05-07 Akim Demaille * automake.in (&handle_languages): Don't use $comp. 2001-05-07 Akim Demaille * automake.in (&handle_languages): Merge the two loops over %extension_seen/%languages into one and group code to be run once per language together. 2001-05-07 Akim Demaille * automake.in (&handle_languages): Move the `if ($use_dependencies)' block so that loops over extensions and languages are next to each other. 2001-05-07 Akim Demaille * automake.in (&depend2): Remove, merged into... (&handle_languages): here. 2001-05-07 Akim Demaille * automake.in (&finish_languages): Rename as... (&handle_languages): this. Include the body of... (&handle_dependency): this. Remove. 2001-05-06 Tom Tromey For PR automake/46: * tests/Makefile.am (TESTS): Add subdir5.test. (XFAIL_TESTS): Likewise. * tests/subdir5.test: New file. * tests/subobj6.test (wish_SOURCES): Use $MAKE. * tests/subobj5.test (wish_SOURCES): Use $MAKE. * automake.in (GNITS_VERSION_PATTERN): Document. Add `fork identifier'. (handle_options): Handle fork identifier in version number. * automake.texi (Dist): Document distcheck-hook. * tests/confh4.test: Update to reflect DEFS change. For PR automake/132. Fix for PR automake/132: * automake.in (c, c++, objc, asm, ppf77): Add DEFAULT_INCLUDES to compilation. (java): Remove INCLUDES and DEFS from compilation. (lang_c_finish): Add DEFAULT_INCLUDES to compilation. * compile.am (DEFS): Don't include %DEFAULT_INCLUDES%. (DEFAULT_INCLUDES): New macro. * automake.in (usage): Re-align explanatory text. Fixes PR automake/148. * automake.texi (Uniform): Don't use @PROGRAMS@. Fixes PR automake/154. For PR automake/160: * tests/Makefile.am (TESTS): Add subobj5.test and subobj6.test. (XFAIL_TESTS): Add subobj6.test. * tests/subobj6.test: New file. * automake.texi (Uniform): Mention dist_, nodist_, and nobase_. (Top level): Don't mention `flat'. (Extending): Likewise. (User Variables): New node. * distdir.am (distdir): Make subdirectory for each file. Fixes test subobj5.test. * tests/Makefile.am (TESTS): Add new file. (XFAIL_TESTS): Likewise. * tests/texinfo10.test: New file. 2001-05-05 Pavel Roskin * automake.in (scan_texinfo_file): Treat @defindex and @synindex in the same way as @defcodeindex and @syncodeindex respectively. 2001-05-05 Tom Tromey * mans.am (install-man%SECTION%): Minor cleanup. (uninstall-man%SECTION%): Likewise. * tests/Makefile.am (XFAIL_TESTS): Removed man.test. * mans.am (install-man%SECTION%): Handle dist_ and nodist_ prefixes. (uninstall-man%SECTION%): Likewise. * automake.in (handle_man_pages): Handle dist_ and nodist_ prefixes. * automake.texi (Future): Removed. (Depth): Removed. (Hello): Don't mention `deep'. (Top level): Likewise. * automake.in (conditional_true_when): Use a hash, not index(). Also, a TRUE component always results in a true return. Fixes test cond10.test. For PR automake/164. * tests/Makefile.am (XFAIL_TESTS): Removed cond10.test. 2001-05-05 Raja R Harinath For PR automake/164: * tests/Makefile.am (TESTS): Added new file. (XFAIL_TESTS): Likewise. * tests/cond10.test: New file. 2001-05-05 Tom Tromey * texinfos.am (uninstall-info-am): Debian install-info v1.8.3 prints to stderr. (install-info-am): Likewise. 2001-05-05 Pavel Roskin * automake.in (scan_texinfo_file): Don't push undefined values to @clean_suffixes. 2001-05-05 Richard Boulton * automake.in (handle_dist): Check for existence of DIST_SUBDIRS first. 2001-05-05 Robert Collins * automake.in (required_targets): Added uninstall-am. 2001-05-05 Tom Tromey Fix bug reported by Robert Boehne: * automake.in (output_lex_build_rule): Don't let AMDEP_TRUE be substituted. (handle_dependencies): Likewise. * Makefile.am (maintainer-check): Look for AMDEP_TRUE substitution. Correct diff now has 30 lines. Look for space after losing `undef'. 2001-05-04 Peter Eisentraut * m4/sanity.m4: Remove the temp file before possible error exits. 2001-05-04 Akim Demaille * configure.in: Set perllibdir. From Dave Morrison. 2001-05-04 Ralf Corsepius * automake.in ($pkgdata_dir): New. (&require_file_internal): Use it. 2001-05-03 Akim Demaille Case insensitive FS choke on Automake/ vs automake. Reported by Tim Van Holder. * Automake/: Move into... * lib/: this new directory. 2001-05-03 Raja R Harinath * data.am (install-%DIR%%PRIMARY%): Execute the same command as echoed. 2001-04-30 Jim Meyering * automake.in: Remove `/lib' from include directory. 2001-04-27 Akim Demaille AM_INIT_AUTOMAKE is no longer optional. * automake.in ($seen_make_set, $seen_prog_install) ($seen_arg_prog): Remove. (&handle_programs, &handle_scripts, &scan_one_autoconf_file): Remove related code. 2001-04-27 Akim Demaille * tests/specflags4.test, tests/specflags5.test: Remove, merged into... * tests/specflags3.test: here. 2001-04-27 Akim Demaille * automake.in ($seen_path_xtra): Remove. (&handle_compile): Don't handle `AC_PATH_XTRA' AC_SUBST variables. (&scan_one_autoconf_file): Do it, instead of setting $seen_path_xtra. 2001-04-27 Akim Demaille * automake.in (&file_contents_internal): Declare it. 2001-04-27 Akim Demaille * automake.in (&read_am_file, &file_contents_internal): Don't define macros when `FALSE', to avoid errors on doubly defined variables but under condition `FALSE'. In order to allow... (&am_install_var): When reading the associated file for the first time, enable `%?FIRST%'. (&handle_libraries): Let libs.am define $(AR) and $(RANLIB). * libs.am: Do it when `%?FIRST%'. 2001-04-27 Akim Demaille * automake.in (handle_compile): Let ansi2knr.am define $(ANSI2KNR). * ansi2knr.am: Do it. Prefer `if %?FOO%' to `if %!FOO%'. 2001-04-27 Akim Demaille * automake.in (®ister_language, &finish_languages): Use `pure' as a Boolean. (®ister_language): Use %done properly with objects, not names. (&finish_languages): Replace `$non_c' with `$needs_c'. 2001-04-27 Akim Demaille Unify LISP, PYTHON and JAVA primaries. * automake.in (&handle_emacs_lisp): Be like &handle_python, i.e., return if there are no files, hook elisp-comp on the Autoconf macro, rely on lisp.am to define variables. (&handle_python, &handle_java): Likewise. (&scan_one_autoconf_file): Pseudo AC_SUBST of `pythondir' and `PYTHON' must be handled here, not in `&handle_python'. * java.am: Define needed variables and rules. 2001-04-27 Akim Demaille * automake.in (&am_install_var): Transform `ONE_PRIMARY'. * data.am: Use it. * header.am: Include data.am. 2001-04-27 Akim Demaille * automake.in (&am_install_var): Transform `PRIMARY'. * data.am: Equip with %PRIMARY%. 2001-04-27 Akim Demaille * automake.in (@conditional_stack): Rename as... (@cond_stack): this. (&file_contents_internal): Support inclusion of files. 2001-04-27 Akim Demaille * automake.in (&lang_extensions): Remove. (&add_depend2, &saw_sources_p): Adjust. * depend2.am: `%EXT%' no longer includes the dot. 2001-04-27 Akim Demaille * automake.in (&finish_languages, &handle_single_transform_list) (&add_depend2, &handle_dependencies): No longer use the language name in `$lang'. Rename `$lang_obj' as `$lang'. 2001-04-27 Akim Demaille * automake.in (®ister_language): Use `new Language' with a hash. 2001-04-27 Akim Demaille * automake.in (®ister_language): Rename `output-arg' and `derived-autodep' as `output_arg' and `derived_autodep' to match the Language attribute. Set the defaults in %option instead of $lang. 2001-04-27 Akim Demaille * Automake/: New directory. * Automake/Struct.pm: New file, based on Perl 5.6's Class::Struct. * automake.in (Language): Use Automake::Struct. * tests/defs: Adjust to find Struct. 2001-04-23 Pavel Roskin * automake.in: Add forward declaration for register_language(). * tests/Makefile.am (XFAIL_TESTS): Remove installsh.test - it passes now. 2001-04-20 Akim Demaille * automake.in (%required_targets): Add `uninstall'. From Robert Collins. 2001-04-12 Akim Demaille * automake.in (Language): Add attribute `name'. (®ister_language): The name of the language is now given in the hash. No longer use `$lang' as the name of the language. Rename `$lang_obj' as `$lang'. 2001-04-12 Akim Demaille * automake.in (Language): Add attribute `_finish'. (&finish): New. (Automake): Adjust. (&lang_header_finish, &lang_yaccxx_finish, &lang_lexxx_finish) (&lang_asm_finish): Remove. 2001-04-12 Akim Demaille * automake.in (Language): Add attribute `extensions'. (Automake): Pass a hash to `®ister_language' instead of a list of pseudo assignments. (®ister_language): Adjust. (&finish_languages): Initialize `$ltoutarg'. 2001-04-12 Akim Demaille * automake.in (Language): Add attribute `output_arg'. (%language_map): Remove. (®ister_language): Build only the object, and store in %languages only. (&finish_languages, &handle_single_transform_list): Adjust. 2001-04-12 Akim Demaille * automake.in (Language): Add attributes `flags', `compile' and `compiler'. (&finish_languages, &handle_single_transform_list, &handle_dist) (&add_depend2, ®ister_language): Use them and the `linker' and `pure' attributes. 2001-04-12 Akim Demaille * automake.in (&handle_single_transform_list, &finish_languages) (&handle_dist, &handle_dependencies): Use the language object for autodep and derived-autodep too. 2001-04-12 Akim Demaille * automake.in (¯o_define): Ignore Automake definition for ($var, $cond) if there is already a user definition for ($var, $cond). 2001-04-12 Akim Demaille * automake.in (&scan_texinfo_file): Catch @cindex and the like, but also @deffn and so on which push data in indexes. Reported by Derek R. Price. 2001-04-12 Akim Demaille * automake.in (Language): New package, temporarily in this file. Use Class::Struct. (Automake): New package. (%languages): New. (&handle_single_transform_list): Use the language object's `ansi' attribute instead of `$language_map{"$lang-ansi-p"}'. (®ister_language): Build and register the language too. 2001-04-11 Tom Tromey Fixes report from Larry Jones: * automake.in (handle_dependencies): Add `@_am_quote@' where appropriate. * m4/make.m4 (AM_MAKE_INCLUDE): Handle BSD-style make. 2001-04-11 Akim Demaille * depend2.am: Fix the `if' condition for Libtool. Reported by Robert Boehne. 2001-04-10 Robert Collins * tests/subobj5.test: New file. 2001-04-10 Ralf Corsepius * m4/make.m4 (AM_MAKE_INCLUDE): Pass `-s' to make. * tests/Makefile.am (TESTS): Added make.test. * tests/make.test: New file. 2001-04-10 Tom Tromey * tests/defs: Changed how ACLOCAL and AUTOMAKE are set. 2001-04-10 Derek R. Price * tests/defs: Allow user to override AUTOMAKE and ACLOCAL. 2001-04-10 Akim Demaille * distdir.am: Add a missing backslash. 2001-04-10 Akim Demaille * automake.in (&scan_aclocal_m4): Handle $relative_dir and special variables. Specify to the caller whether $regen_aclocal_m4. (&handle_configure): Adjust. Transform `REGEN-ACLOCAL-M4'. Reported by Tom. * configure.am: Use it. * tests/defs (me): New. * tests/confdeps.test: New. 2001-04-09 Tom Tromey * m4/missing.m4 (AM_MISSING_HAS_RUN): Use `true', not `:'. Fixes report from Jim Meyering. 2001-04-09 Akim Demaille * automake.in (&handle_configure): Don't bother with optimizing macro uses. 2001-04-09 Akim Demaille * tests/cond3.test (expected): Adjust. 2001-04-09 Akim Demaille * automake.in (&handle_single_transform_list): Remove $xbase, unused. (&handle_source_transform): All the variables have conditions now, simplify. (&variable_delete): Admit an argument @conds. 2001-04-09 Akim Demaille * automake.in ($source_suffix_pattern): Remove, unused. %extension_map seems to have replaced it. 2001-04-09 Akim Demaille * ext-compile.am: New file. * automake.in (&finish_languages): Output it. Require a C linker if there are several registered source suffixes. (&handle_compile): No longer push the `.c', `.o', `.obj', `.lo' extensions, which are discovered in ext-compile.am. With the help from Robert Boehne. 2001-04-09 Akim Demaille * automake.in (&handle_compile): Extract from... (&get_object_extension): here. (&read_am_file): Call it. ($included_generic_compile, $included_knr_compile) ($included_libtool_compile): Remove. ($get_object_extension_was_run): New. 2001-04-09 Akim Demaille Use AM_CONDITIONAL and if/endif for AMDEP. * m4/depend.m4 (AM_DEP_TRACK): Use AM_CONDITIONAL to define AMDEP. * automake.in (&add_depend2): Transform %AMDEP% into `AMDEP' (leading to a configure time if/endif), or to `FALSE' (static removal of the code). (&handle_dependencies): Adjust to use `AMDEP_TRUE'. * depend2.am: Use if/endif. Adjust the 101 tests that use dependencies so that they properly invoke aclocal before automake. They need to `see' `AM_CONDITIONAL([AMDEP], ...)'. 2001-04-09 Akim Demaille * tags.am: Fix missing leading tabs. 2001-04-09 Akim Demaille * automake.in: Use simple quotes to define the _PATTERN variables to unobfuscate the regexps. ($AM_CONDITIONAL_PATTERN): Let the user quote the variable. 2001-04-09 Akim Demaille * automake.in (&rule_define): When you discover a suffix rules, register the extensions for .SUFFIXES. (&handle_texinfo): Don't register the suffixes. (&get_object_extension): Don't register suffixes, let them be discovered in depend2.am. (&handle_emacs_lisp): Depend on your lisp.am. * lisp.am: Include the rule &handle_emacs_lisp used to output. 2001-04-09 Akim Demaille * subdirs.am: Don't define info related recursive targets. * texinfos.am: Do. 2001-04-09 Akim Demaille * subdirs.am (RECURSIVE_TARGETS): New variable. Use it. * automake.in (&handle_subdirs): Output it. (&file_contents_internal): Support value spread on several lines. 2001-04-09 Akim Demaille * automake.in (&handle_man_pages): Rely on mans.am to define man%SECTION%dir and MANS. * mans.am: Do it. 2001-04-09 Akim Demaille * automake.in (&variable_dump): Use %var_type properly. (¯o_define): Enforce better overriding rules. Handle the special case that used to handle... (&define_pretty_variable): this. Hence, don't. The variables you define are owned by Automake. (&generate_makefile): PRE_INSTALL and co must not be defined *by the user*. (&variable_defined): Now independent of the owner. (&variable_output, &variable_pretty_output): Adjust to %var_type. 2001-04-09 Akim Demaille * automake.in (%var_was_plus_eq): Rename as... (%var_type): this. (%def_type): Remove. (¯o_define): %var_type may now hold `', `+', or `:'. (%conditional, %am_vars, %content_lines): Rename as... (%var_value, %var_comment, %var_line): these. 2001-04-09 Akim Demaille * automake.in (&variable_output): Admit a list of @CONDS. (&variable_pretty_output): New. (&define_pretty_variable): Use it. (&read_am_file, &file_contents_internal): Prepend a separator to $am_vars only if there is none yet. (&file_contents_internal): Rename $separator as $spacing to harmonize with &read_am_file. 2001-04-09 Akim Demaille * automake.in (&am_install_var): Transform DIST, and let the *.am files handle DIST_COMMON. * data.am, header.am, java.am, list.am, python.am, script.am: Set DIST_COMMON. 2001-04-09 Akim Demaille * automake.in (%dist_common): Remove. (%configure_dist_common): Replace with... ($configure_dist_common): this. (&generate_makefile): Read the user file before using push_dist_common, as it sets DIST_COMMON, and read_am_file checks that no variable is defined before it is run. (&handle_texinfo): Don't handle DIST_COMMON, let your file do it. (&dist_cmp): Rename as... (&for_dist_common): this. (&handle_dist): Don't handle DIST_COMMON, let `configure.am' do it. Adjust to $configure_dist_common. * configure.am, texi-vers.am: Set DIST_COMMON. 2001-04-09 Akim Demaille * automake.in (&handle_aclocal_m4): Rename as... (&scan_aclocal_m4): this. Return the list of aclocal.m4 dependencies. (&handle_configure): Invoke it, and use it when loading... * configure.am: Template the rules to recreate aclocal.m4. 2001-04-09 Akim Demaille * automake.in (&get_object_extension): Use ansi2knr.am. * clean-kr.am, kr-extra.am: Remove, merged into... * ansi2knr.am: this new file. 2001-04-09 Akim Demaille * automake.in (&transform): Fix an incredible bug which was breaking the if/endif system. ($ELSE_PATTERN): Admit an optional argument. 2001-04-09 Akim Demaille * comp-vars.am: Remove, merged into... * compile.am: here. * automake.in (&get_object_extension): Adjust. 2001-04-09 Akim Demaille * remake.am: Merge into... * configure.am: ... here. * automake.in (&handle_configure): Adjust. 2001-04-09 Akim Demaille * automake.in (&output_lex_build_rule): Output this... * lex.am: New file. 2001-04-09 Akim Demaille * automake.in (&condition_negate): New. (&variable_conditions_permutations): Use it. (&read_am_file, &file_contents): Use it on `else' clauses to support `if FALSE'. (&output_yacc_build_rule): Output this... * yacc.am: New file. 2001-04-09 Akim Demaille * automake.in (&make_paragraphs): Transform TOPDIR_P and TOPDIR. (&handle_dist): Don't. (&handle_clean): Don't handle config.status here, let... * clean.am: ... do it. * distdir.am: Adjust. 2001-04-09 Akim Demaille * automake.in: Use strict vars and subs. Declare `%require_file_found'. (&handle_source_transform, &make_paragraphs): Declare my variables. 2001-04-09 Akim Demaille * data.am, header.am, java.am, libs.am, lisp.am, ltlib.am, * progs.am, python.am: Use if/endif instead of ?INSTALL?. * java.am (_am_installdirs): Be sure to set it. 2001-04-09 Akim Demaille * automake.in (&make_condition): Return '#' when FALSE. (&conditional_string): Return FALSE, not '#' in the corresponding cases. (&file_contents_internal): Adjust. (&check_variable_defined_unconditional): Dump the guilty variable. 2001-04-09 Akim Demaille * distdir.am: Use and abuse of if/endif. * scripts.am: Using if/endif with variables is fine. 2001-04-09 Akim Demaille * automake.in (&make_paragraphs): Extract from &file_contents. Make it more robust than the previous RE based scheme. (&file_contents): Use it. 2001-04-09 Akim Demaille * automake.in (&make_paragraphs): Extract from &file_contents. Make it more robust than the previous RE based scheme. (&file_contents): Use it. 2001-04-09 Akim Demaille * tests/yacc2.test: Don't define several times a variable, as automake complains. 2001-04-09 Akim Demaille * automake.in (&handle_source_transform): Fix pr72: don't define $linker if there are no @files. 2001-04-09 Akim Demaille Avoid reading twice header-vars.am as now macro_define complains. * automake.in (&define_standard_variables): Don't output the variables. (&read_main_am_file): Output first user variables, then Automake variables. Don't call twice &define_standard_variables. Save variable comments in $am_vars. (&variable_output): New. (&file_contents_internal): New. Save variable comments in $am_vars. (&file_contents): Use it. 2001-04-09 Akim Demaille * automake.in (¯o_define): The user is allowed to override a value if it was set by Automake, or if it was found in AC_SUBST. 2001-04-09 Akim Demaille * automake.in (&handle_source_transform): Better locality of the variables. Use `next' to skip nonexistent variables. 2001-04-09 Akim Demaille * automake.in (&variable_dump): If a variable is undefined, say it. (&check_ambiguous_conditional): Give finer error messages. (¯o_define): Check that a `+=' variable is not set with `='. Check for ambiguous definitions each time you _set_ (even with `+=') a variable. (&read_main_am_file): Perform a deep copy of %conditional. 2001-04-09 Akim Demaille * automake.in (&variable_defined): Some callers, e.g., &am_primary_prefixes, really want to know if the variable is defined for any condition, not `TRUE' by default. (&am_primary_prefixes): Give a more precise error message. 2001-04-09 Akim Demaille (&variable_conditions): Don't include `FALSE' in the result. 2001-04-09 Akim Demaille * automake.in (&variable_conditions_reduce): FALSE is absorbent. (&variable_conditions): Don't include `FALSE' in the result. 2001-04-09 Akim Demaille * tests/defs, tests/depend3.test: Remove useless code. 2001-04-09 Akim Demaille * automake.in (&handle_source_transform): Use &variable_conditions, don't read $conditional{$var}. (&variable_conditions_sub): When the call is the top level call, generate all the permutations of the conditions. 2001-04-09 Akim Demaille * depend2.am (@AMDEP@%FPFX%DEPMODE): Define it when GENERIC so that it does not get noticed twice by automake, which now complains for multiple definitions. * tests/vartar.test: s/INSTALL/install/g, automake now complains because we defined INSTALL. 2001-04-09 Akim Demaille * automake.in (&generate_makefile) Use macro_define to define SOURCES and OBJECTS. (&variable_defined): Don't check for $conditional{VAR}{COND} as this would make perl create $condition{VAR}, which we don't want. 2001-04-09 Akim Demaille * automake.in (&variable_defined, &define_pretty_variable): Simplify code which used to handle the cases where not all variables were in %conditional. (&define_variable): Use &define_pretty_variable. (&variable_conditions_sub, &variable_value_as_list_worker) (&variable_value_as_list, &rule_define): Simplify syntax. (&read_main_am_file): Dump the guilty predefined variables. 2001-04-09 Akim Demaille * automake.in (&variable_conditions_sub) (&variable_value_as_list_worker): Remove dead code which used to handle the cases where not all variables were in %conditional. 2001-04-09 Akim Demaille * automake.in (&handle_source_transform, &read_main_am_file): Simplify loops which were split in two parts, conditional vs unconditional variables. 2001-04-09 Akim Demaille Handle unconditional values of variables as conditioned by `TRUE'. * automake.in (%contents): Remove. (&generate_makefile, &handle_ltlibraries, ¯o_define) (&read_am_file, &variable_defined, &variable_conditions_sub) (&variable_value, &variable_value_as_list_worker) (&variable_value_as_list, &define_pretty_variable) (&read_main_am_file): Use $conditional, not %contents. (&variable_conditions_permutations): Don't return TRUE and FALSE. (&variable_conditionally_defined): New. (&handle_dist): Use it. (&check_ambiguous_conditional): When multiply defined, specify under which condition. (¯o_define): Use it. (&variable_delete): New. (&read_am_file): Use it. (&am_install_var): Simplify, as all the variables are in %conditional now. 2001-04-07 Tom Tromey * tests/Makefile.am (XFAIL_TESTS): Added man.test. (TESTS): Likewise. * tests/man.test: New file. 2001-04-07 Raja R Harinath * depcomp (gcc3): Invert test condition. 2001-04-07 Tom Tromey * depcomp (gcc3, gcc): Don't assume $? will be set in `if' statement. Report from Larry Jones. 2001-04-07 Raja R Harinath * depcomp (sgi): Fix sed expression. Report from Robert Boehne. 2001-04-01 Tom Tromey * java.am (.PHONY clean-am): Removed trailing ":". From Per Bothner. Fixes PR automake/139. 2001-03-28 Akim Demaille * program.am: Fix a stupid typo: now *all* (not none) the programs use `$(EXEEXT)'. Reported by Robert Boehne. 2001-03-23 Akim Demaille * automake.in (&read_am_file, &file_contents): Avoid name clashes on $cond. 2001-03-23 Akim Demaille * automake.in (&variable_conditionally_defined): Rename as... (&check_variable_unconditionally_defined): this. (&variable_dump): Fix the output. (&variable_defined, ¯o_define): Since conditions are canonicalized, don't use a loop to look for a condition: read the hash. (¯o_define, &rule_define, &read_am_file, &file_contents): Rename $cond_string as $cond. * distdir.am (PACKAGE, VERSION): Remove; since they are already discovered via AC_SUBST, they now trigger a `defined twice' error. 2001-03-23 Akim Demaille * automake.in (&handle_footer, &handle_installdirs) (&read_main_am_file): Don't read %contents directly, use &variable_value. 2001-03-23 Akim Demaille * automake.in (&read_am_file): Define the variables in a single shot. Factor the $saw_bk code. 2001-03-23 Akim Demaille * automake.in (&read_am_file): Keep $cond_string up to date. 2001-03-23 Akim Demaille * automake.in (&define_variable): Use ¯o_define. 2001-03-23 Akim Demaille * automake.in (¯o_define): Don't lose the location if we redefine a variable. Don't push all the variables in @var_list, let... (&read_am_file, &file_contents): ... do it. (&define_pretty_variable): Use macro_define. (&am_install_var): Delete the value of variables being redefined to pacify ¯o_define which checks that variables are not doubly defined. 2001-03-23 Akim Demaille * automake.in (&conditional_dump): Rename as... (&variables_dump): this. Use... (&variable_dump): this new sub. 2001-03-23 Akim Demaille * automake.in (&file_contents): Maintain $cond_string sync with @cond_stack. Output rules only if not under `FALSE'. Define variables under $cond_string. * scripts.am: For the time being if/endif does not work properly with macros. 2001-03-23 Akim Demaille * automake.in (IF_PATTERN): Unobfuscate the parens. (ENDIF_PATTERN): Allow a condition to be specified. (&file_contents): Use a @cond_stack. (&transform): At least for an easy transition, also transform %?FOO% and %!FOO%, as suggested by Lars. * scripts.am: First test bed for static if/endif use. 2001-03-23 Akim Demaille * automake.in (&file_contents): Use rule_define. 2001-03-23 Akim Demaille * automake.in (¯o_define): Don't rely on $1. Initialize the variable. Set its Automakism only if not defined or if given to the user. When concatenating values, insert a separator only if the value was not empty. (&read_am_file): When dumping the @var_list, skip Automake variables. (&file_contents): Use macro_define. 2001-03-23 Akim Demaille * automake.in (&rule_define): Extract from... (&read_am_file): here. 2001-03-23 Akim Demaille * automake.in (¯o_define, &read_am_file): More work for the former from the latter. Reorganize the latter. 2001-03-23 Akim Demaille * automake.in (¯o_define): Extract from... (&read_am_file): here. 2001-03-23 Akim Demaille * automake.in (%am_var_defs): Replace with... (%var_is_am): this. (&handle_installdirs, &variable_value_as_list_worker, &read_am_file) (&file_contents, am_primary_&prefixes): Adjust. (&variable_defined, &define_variable): The actual semantics is `user defined'. (&read_main_am_file): Assert the var is user defined when outputting @var_list. 2001-03-23 Akim Demaille * automake.in (read_am_file): TRUE and FALSE are predefined conditionals. (&by_condition): Adjust. (&conditional_string): Recognize `TRUE' and `FALSE'. (&make_condition): Use it. * m4/cond.m4: Reject TRUE and FALSE as conditionals. * automake.texi (Conditionals): Adjust. * tests/cond9.test: s/FALSE/WRONG/. 2001-03-12 Pavel Roskin * tests/Makefile.am (XFAIL_TESTS): Remove cond3.test, it passes now. 2001-03-12 Akim Demaille * automake.in (&variable_conditions_permutations): Separate the conditions. * tests/cond3.test: Improve the sed expression. 2001-03-09 Pavel Roskin * Makefile.am (maintainer-check): Scan all *.am files and tests for invocations of `rm' without `-f'. * tests/mclean.test: Adjusted to prevent triggering the above test. 2001-03-09 Tom Tromey * automake.in (scan_one_autoconf_file): Fixed comment to avoid maintainer-check failure. 2001-03-09 Akim Demaille * tests/cond3.test: Strengthen. 2001-03-09 Akim Demaille * automake.in (&conditional_string): Produce a unique string characterizing a condition stack. (&conditional_same): Remove, comparing two strings is now enough. (&variable_defined): Adjust. (&read_am_file): Use conditional_string. 2001-03-08 Akim Demaille * automake.in: Use -w. Normalize all use of `$lang . '-foo'' into `"$lang-foo"'. (&parse_arguments): Support --Werror and --Wno-error as a temporary hack until --warning/-W is properly implemented. (&handle_single_transform_list): Prototype. Be sure to define $directory. Use `exists' instead of testing the value of a maybe undefined hash value. (&add_depend2, &handle_configure, &handle_footer, &file_contents) (&handle_factored_dependencies): Use defined values. (&scan_one_autoconf_file): Save $_. * tests/lex2.test, tests/sinclude.test, tests/suffix3.test: Run automake with --Wno-error. 2001-03-07 Akim Demaille * automake.in (&handle_all): Use an array instead of a scalar for local_headers. Get rid of all-redirect: let `all' be that target. 2001-03-07 Akim Demaille * automake.in (&handle_merge_targets): Ventilate its non `all' related content into... (&generate_makefile): here. (&handle_merge_targets): Rename as... (&handle_all): this. Remove a useless `if': `@all' is obviously not empty, since it contains at least the `basename ($makefile)' which has just been unshifted. 2001-03-07 Akim Demaille * automake.in, aclocal.in: Backquote is inert in double quotes. 2001-03-06 Akim Demaille * Makefile.am (maintainer-check): Simplify `grep -v ... | grep .' into `grep -v ...'. 2001-03-06 Pavel Roskin * java.am: Use `rm -f' instead of `rm'. 2001-03-06 Akim Demaille * automake.in (&push_dist_common): Simplify. 2001-03-06 Jens Krüger * ltlib.am: Replaced spaces with tab. 2001-03-06 Pavel Roskin * tests/Makefile.am (XFAIL_TESTS): noinstdir.test removed, it's fixed now. 2001-03-05 Pavel Roskin * header.am, scripts.am: Use ?INSTALL? in the install and uninstall rules. 2001-03-05 Pavel Roskin * tests/copy.test: Never use `rm' without `-f' - it may ask questions, notably for read-only files during `make distcheck'. * tests/insh.test: Likewise. * tests/installsh.test: Likewise. * tests/symlink.test: Likewise. * tests/symlink2.test: Likewise. * tests/symlink3.test: Likewise. 2001-03-05 Pavel Roskin * noinstdir.test: New test. * tests/Makefile.am (TESTS): Add noinstdir.test. (XFAIL_TESTS): Likewise. 2001-03-05 Akim Demaille * automake.in (&handle_options): Change the RE so that the third part of the versions always exist. (&file_contents): Don't pass uninitialized values to &transform. 2001-03-05 Akim Demaille * automake.in (&file_contents): Require a hash as second argument. Adjust callers. 2001-03-05 Akim Demaille Always use hashes with &file_contents. * automake.in (&handle_texinfo): texibuild.am does not need TEXINFODIR. texinfos.am wants only TEXICLEANS. (&handle_dist, &add_depend2, &handle_clean): Replace $xform with %transform. * texinfos.am: Adjust. 2001-03-05 Akim Demaille * automake.in (&handle_programs, &handle_libraries, &handle_tags) (&handle_ltlibraries, &handle_emacs_lisp, &handle_python): Adjust. (&am_install_var): Forget about `-clean'. Transform ?INSTALL?. Always output the *.am file. * data-clean.am, java-clean.am, libs-clean.am, lisp-clean.am, * ltlib-clean.am, progs-clean.am, python-clean.am, tags-clean.am: Remove, merged into the corresponding *.am file. * data.am, libs.am, ltlib.am, progs.am, python.am: Equip with ?INSTALL?. 2001-03-05 Pavel Roskin * Makefile.am (amfiles): Add configure.am. Sort alphabetically. 2001-03-05 Akim Demaille If OBJEXT and EXEEXT are not set, provide a default value, and use them unconditionally. * automake.in (&generate_makefile): Provide default values for EXEEXT and OBJEXT. (&get_object_extension, &finish_languages) (&handle_single_transform_list, &handle_programs, &add_depend2) (&check_cygnus, &lang_c_finish, am_install_var): Don't bother with them, they are defined. * compile.am, depend2.am, program.am, progs.am: Likewise. * remake-hdr.am: Fix a typo. * tests/cxxo.test, tests/fo.test, tests/implicit.test, * tests/interp.test, tests/subobj.test, tests/subobj2.test, * tests/suffix2.test: Adjust. 2001-03-05 Akim Demaille * automake.in (&file_contents): Map MAINTAINER-MODE to @MAINTAINER_MODE_TRUE@ or nothing. * configure.am, remake-hdr.am, remake.am, texi-vers.am: Adjust. Suggested by Tom. 2001-03-05 Akim Demaille * automake.in (&do_one_merge_target): Remove, was only called from... (&handle_merge_targets): here for `all'. Adjust. 2001-03-05 Akim Demaille Make the installation/uninstallation of Info pages follow the regular am/recursive scheme. * automake.in (%required_targets, %dependencies): Add install-info. (%dependencies): Add install-info, install-info-am, and unstall-info. (&handle_subdirs): Don't transform INSTALLINFO, which mapping was reversed BTW. Does anybody use the option `no-installinfo'? (&handle_merge_targets): Let the handling of info related targets to... (&handle_factored_dependencies): this. * subdirs.am: Use ?INSTALL-INFO?. * texinfos.am: Define the install-info, uninstall-info and uninstall-info-am targets. 2001-03-05 Akim Demaille * automake.in (%required_targets, %dependencies): Add dvi, info, dvi-am, info-am. (@info, @dvi): Remove. (&handle_texinfo, &handle_merge_targets): Adjust. (&handle_factored_dependencies): Required targets are phony. * texinfos.am: Build info, dvi, and the corresponding -am or -recursive targets. 2001-03-05 Akim Demaille * automake.in (&am_install_var): Remove $cygxform, unused. 2001-03-05 Akim Demaille * automake.in (&file_contents): Transform LIBTOOL. (&am_install_var): Remove $ltxform. * ltlib.am, progs.am: Adjust. 2001-03-05 Akim Demaille * automake.in: Require AC_PROG_INSTALL in... (&scan_autoconf_files): here. 2001-03-05 Akim Demaille * configure.am: New file. * automake.in (&file_contents): Transform CONFIGURE-AC. (&handle_texinfo, &handle_configure): Don't transform CONFIGURE_AM. (&handle_configure): Use `configure.am'. * remake-hdr.am, remake.am, texi-vers.am: Adjust to MAINTAINER-MODE and CONFIGURE-AC. 2001-03-05 Akim Demaille * automake.in (&pretty_print_internal): Don't output useless spaces. (define_pretty_variable): Don't issue the space after the `=' sign to avoid trailing spaces in Makefile.ins. 2001-03-05 Akim Demaille * automake.in (&generate_makefile): Invoke &initialize_per_input *before* setting $am_file_name and $in_file_name. 2001-03-05 Akim Demaille * automake.in ($in_file_name, $am_file_name, $relative_dirs): Globals, initialized... (&initialize_per_input): here. 2001-03-05 Akim Demaille * automake.in ($am_relative_dir): Global. (&initialize_per_input): Init it. (%make_list, @make_input_list): My them from (&scan_autoconf_files): here. (&require_file_internal): Mying changes. 2001-03-05 Akim Demaille * automake.in (%am_vars, @var_list, %def_type): Globals. (&initialize_per_input): Initialize them. (&read_main_am_file): Don't local them. (&get_object_extension): $objext is private. (&handle_single_transform_list): $lang is. (&handle_ltlibraries): $libname_rx is. (&scan_autoconf_config_files): How about actually paying attention to your arguments, instead of working on $_? (this is no Perl variable, it's a Perl variable followed by a question mark). (&file_contents): $contents and $separator are private. (&am_install_var): Declare @condvals, not $condvals. (%make_dirs): My. 2001-03-05 Akim Demaille * automake.in (&initialize_per_input): Move to the top. Precede with the `my' list of its variables. 2001-03-05 Akim Demaille * automake.in ($am_file): Use vars. ($am_file_name, $in_file_name): Private to &generate_makefile. 2001-03-05 Akim Demaille * automake.in: Preparation for `use strict': Move the initialization of the constants to the top, from... (&initialize_global_constants): here. 2001-03-05 Akim Demaille * automake.in (&handle_single_transform_list, &add_depend2): Let $lang_specific_files{$lang} be a list instead of a string. 2001-03-05 Akim Demaille Let's make it run ten times faster... * automake.in (&transform): Be sure to remove the `\n' with ?FOO? transformations. (&file_contents): Let `$command' remove the Automake commands, and normalize the series of `\n'. Slurp the file and apply $command in a single step. No longer apply the `@MAINTAINER_MODE_TRUE@' transformation which is already normalized to be handled by &transform. 2001-03-05 Tom Tromey * automake.in (register_language): Add entry for `-pure'. Added `pure=yes' entries for cxx, objc, f77, ppf77, ratfor, java. (finish_languages): Use `-pure' field of language map. 2001-03-03 Tom Tromey * tests/yaccvpath.test: No need to remove dummy files. * tests/subobj3.test: No need to remove dummy files. * tests/pr9.test: No need to remove dummy files. * tests/pr87.test: No need to remove dummy files. * tests/pr19.test: No need to remove dummy files. * tests/install2.test: No need to remove dummy files. * tests/defs: Actually copy in install-sh, mkinstalldirs, missing, and depcomp. 2001-02-27 Pavel Roskin * tests/yaccvpath.test: Add a delay to make parse.c really out of date. Detect the problem earlier, after `make distdir'. Drop dependency on flex. Always use the `-y' flag for bison. Comment changes. * tests/Makefile.am: Add yaccvpath.test to XFAIL_TESTS. 2001-03-02 Jens Krüger * depend2.am (?!GENERIC??LIBTOOL?%LTOBJ%): Add `%' to fix typo. 2001-02-28 Akim Demaille * automake.in (&add_depend2): Transform `GENERIC'. Get rid of the ad hoc transformation of `@EXT@.o:' which in addition was broken by the `@ -> %' patch. * depend2.am: Adjust to use ?GENERIC?. 2001-02-28 Akim Demaille * Makefile.am (maintainer-check): `undef $/' is OK. 2001-02-28 Akim Demaille * automake.in (&handle_configure): Fortunately, $top_reldir, the definition of which was highly suspicious, was unused. 2001-02-27 Akim Demaille * automake.in (%exec_dir_p): Move to the top so that it is visible to all routines. 2001-02-27 Pavel Roskin * tests/yaccvpath.test: Prevent automake from looking into .. and ../.. by using AC_CONFIG_AUX_DIR in configure.in. 2001-02-27 Akim Demaille * automake.in (%exec_dir_p): Pulled out from... (&am_primary_prefixes): here. 2001-02-27 Akim Demaille * automake.in (&usage): Display $0, not $me. 2001-02-27 Akim Demaille * mans.am: s/INSTALL_MAN/INSTALL-MAN/. * automake.in (&handle_clean): Don't escape what's given to &transform. 2001-02-27 Akim Demaille Distinguish automake substitutions from config.status substitutions. * automake.in (&add_depend2): Transform AMDEP. (&handle_clean): Transform MCFILES and MFILES. (&file_contents): Transform MAINTAINER_MODE. (&transform, &am_install_var): Use `%', not `@'. Adjust all the *.am files. * clean.am: Use ?MFILES? instead of ad hoc MAINTAINERCLEAN. * depend2.am: Display the double dependency on both ?AMDEP? and @AMDEP@. 2001-02-27 Tom Tromey * distdir.am (distcheck): Fixed new code. * tests/yaccvpath.test: Fail gracefully if bison/flex not found. Only configure once. * distdir.am (distcheck): Print error message if distclean failed to fully clean. 2001-02-27 Pavel Roskin * tests/Makefile.am (TESTS): s/yaccpvath/yaccvpath/. 2001-02-25 Alexandre Duret-Lutz * tests/Makefile.am (TESTS): Added yaccvpath.test. * tests/yaccvpath.test: New file. 2001-02-26 Akim Demaille * automake.in (&am_install_var): Recognize whether predefined directories are `data' or `exec'. * libs.am, ltlib.am, progs.am, python.am, scripts.am: Install ?EXEC?. * tests/instdata2.test: Update. 2001-02-26 Akim Demaille * texinfos.am: No ?EXEC? hook as currently installing TEXINFOS is necessarily in infodir. 2001-02-26 Akim Demaille * automake.in ($am_file): Be `local', as my'd variables used in `foreach' loops are always private to the loop. 2001-02-26 Pavel Roskin * Makefile.am: Add install.am. 2001-02-26 Akim Demaille * automake.in (&target_cmp, &dist_cmp): Do not prototype comparing routines, otherwise the elements to compare are passed in @_ instead of $a and $b. 2001-02-26 Akim Demaille * automake.in (%required_targets): `installcheck-am' is needed. 2001-02-26 Akim Demaille * automake.in (&transform_cond): Merge into... (&transform): this. Adjust all uses. 2001-02-26 Akim Demaille * automake.in (&handle_dist): Use &transform instead of dedicated magic for DISTDIRS. But be sure to always do it. * distdir.am: Adjust. 2001-02-26 Akim Demaille * automake.in: Use File::Basename. (&dirname, &basename): Remove. 2001-02-26 Akim Demaille * automake.in ($me): New. Use it. (&usage): Display your full name. 2001-02-26 Akim Demaille * automake.texi (Invoking Automake): Remove dead options. 2001-02-26 Akim Demaille * automake.in (&scan_texinfo_file): Also compute the list of files to clean. Handle local errors. (&handle_texinfo): Use it. 2001-02-26 Akim Demaille * automake.in: Don't pass arguments to... (&parse_arguments): Work on @ARGV. Use Getopt. Add support for `-f'. (&version): New. (&usage): Update. 2001-02-26 Akim Demaille * automake.in (&handle_merge_targets, &do_one_merge_target): Don't handle installcheck and installcheck-am. * install.am: Do it. 2001-02-26 Akim Demaille * automake.in (&handle_merge_targets, &do_one_merge_target): Don't handle install and install-am. * install.am: Do it. 2001-02-26 Akim Demaille * automake.in (&handle_merge_targets, &do_one_merge_target): Don't work on targets handled by %dependencies. (&handle_factored_dependencies): Do it. * install.am: Install install-exec, install-data and uninstall's suites. 2001-02-26 Akim Demaille * automake.in (&handle_merge_targets): Move `install-strip' from here... * install.am: to here. 2001-02-26 Akim Demaille * automake.in (@installdirs): Remove. (&file_contents): Be able to grow Automake macros with `+='. (&handle_texinfo, &handle_man_pages, &am_install_var): Let your files define _am_installdirs. (&handle_installdirs): Remove the code, just output `install.am'. * install.am: New. * data.am, header.am, libs.am, lisp.am, ltlib.am, mans.am, progs.am, * python.am, scripts.am, texinfos.am: Extend $(_am_installdirs). 2001-02-26 Akim Demaille * tests/instdata2.test (libexec_DATA): Exercise more possibilities. 2001-02-25 Alexandre Duret-Lutz * header-vars.am (INSTALL_STRIP_FLAG): Remove (obsolete). 2001-02-25 Tom Tromey * tests/instdata2.test: Added `sbin_DATA' check. * tests/Makefile.am (TESTS): Added subdircond.test. * tests/subdircond.test: New file. * automake.in (handle_gettext): Don't fail if SUBDIRS conditionally defined. * automake.in: Use IO::File. (generate_makefile): Use IO::File. (scan_texinfo_file): Likewise. (handle_aclocal_m4): Likewise. (scan_autoconf_traces): Likewise. (scan_one_autoconf_file): Likewise. (read_am_file): Likewise. (file_contents): Likewise. (create): Likewise. 2001-02-25 Akim Demaille * automake.in (handle_texinfo): Remove code handled by texinfos.am. 2001-02-25 Akim Demaille * automake.in (&transform): Also call &transform_cond on your arguments. (&handle_dist): Adjust. (&handle_factored_dependencies): Uniq dependencies. 2001-02-25 Akim Demaille * automake.in (&handle_gettext): Simplify redundant `if'. Used &variable_value, don't read %contents directly. 2001-02-25 Akim Demaille * automake.in ($install_recursive): Remove, replaced with calls to `&variable_defined ('SUBDIRS')'. (&handle_dist, &handle_clean): Don't transform_cond SUBDIRS since... (&file_contents): now does. 2001-02-25 Akim Demaille * automake.in (&handle_man_pages): $found is dead. 2001-02-25 Akim Demaille Internally just store the conditionals as space separated lists of CONDITIONS (instead of @CONDITIONS@). * automake.in (&conditional_true_when, &variable_conditions_sub): Split conditions at spaces. (&handle_dependencies, &variable_conditions_permutations): Don't put @ around conditions. (&variable_conditions_cmp): There are no @ to strip. (&make_condition): New. (&define_pretty_variable, &read_main_am_file, &read_am_file): Use it. (&read_main_am_file, &read_am_file): Stop playing with @ by hand. Join @conditional_stack with spaces. (&read_main_am_file): Adjust the output of variables. Output `TRUE = true' under the condition `TEST' as `@TEST@TRUE = true' and no longer `@TEST@TRUE = @TEST@true'. (&variable_conditions_cmp): Rename as... (&by_condition): this. Sort in a human pleasant order. Use it everywhere a human can see conditions. (&variable_conditions_reduce): Don't sort conditions, that's pointless. * tests/cond.test, ctarget1.test, pluseq3.test: Strengthen. 2001-02-25 Akim Demaille * automake.in: `my' the globals. 2001-02-25 Akim Demaille * automake.in (&initialize_per_input): %targets_conditionals is new. (&read_am_file): When slurping a rule, set the target related variable, and no variable related variable. (&file_contents): Likewise. * tests/vartar.test, tests/ctarget1.test: New. 2001-02-25 Akim Demaille * automake.in (&variable_defined, &variable_value_as_list_worker): If $VAR is effectively a variable, don't die if it's also a target. Plus some formatting changes. 2001-02-25 Akim Demaille * automake.in: Mying changes. * Makefile.am (maintainer-check): Check the stability of the number of uses of `local'. 2001-02-25 Akim Demaille * automake.in: Mying changes. 2001-02-25 Akim Demaille * automake.in: Mying changes. 2001-02-25 Akim Demaille * automake.in: Mying changes. (&handle_tags): Fix a bug uncovered by the previous mying changes: transform CONFIG into $config, not $xform. 2001-02-25 Akim Demaille * automake.in (&handle_texinfo, &handle_man_pages, &am_install_var): Don't deal with install-data-am, install-exec-am and unstall-am. (&initialize_per_input): Add them to %dependencies. Remove %exec_dir_p since the *.am files are now in charge of it. Remove @uninstall, @install_data, @install_exec. (&handle_merge_targets): Adjust to these removals. (&file_contents): Also &transform_cond for --no-installman and --no-installinfo. (&do_one_merge_target): Add some magic to install hooks on %dependencies' targets. (%required_targets): New. (&handle_factored_dependencies): Output required targets. * data.am, header.am, java.am, libs.am, lisp.am, ltlib.am, * mans-vars.am, mans.am, progs.am, python.am, scripts.am, * texinfos.am: Declare your dependencies on install-data-am, install-exec-am and uninstall-am. * tests/instdata2.test (incldata_HEADERS): New test. 2001-02-24 Tom Tromey * Makefile.am (amfiles): Added texibuild.am. * texibuild.am: New file. * tests/Makefile.am (TESTS): Added texinfo9.test. * tests/texinfo9.test: New file. * automake.in (handle_texinfo): Keep track of suffixes used. Give error if suffix unrecognized. Removed extraneous newline. 2001-02-23 Akim Demaille * automake.in (&am_install_var): Don't hook on the clean targets and .PHONY. * data-clean.am, java-clean.am, libs-clean.am, lisp-clean.am, * ltlib-clean.am, progs-clean.am, python-clean.am, tags-clean.am: Do it. 2001-02-23 Akim Demaille * automake.in: Promote local `my' over `local'. 2001-02-23 Akim Demaille * automake.in: Formatting and mying changes. 2001-02-23 Akim Demaille * automake.in: Formatting and mying changes. 2001-02-23 Akim Demaille * automake.in (&handle_man_pages): Let install-man and uninstall-man be handled by the dependency tracker. (&initialize_per_input): Let %dependencies track them. * mans.am: Add the needed hooks with the proper dependencies. 2001-02-22 Pavel Roskin * tests/target-cflags.test: Don't use subshell to configure in subdirectory. Typo fix - run `./foo', not `/foo'. 2001-02-22 Akim Demaille * automake.in: Formatting and mying changes. 2001-02-21 Tom Tromey * automake.in (handle_dist): Introduce new variable to avoid extra keys in %dist_dirs. Fixes distdir.test. * automake.in (handle_texinfo): Only remove suffixes we can handle. * tests/distdir.test: Check to make sure directory isn't made in build directory. * automake.in (handle_dist): Do nothing in Cygnus mode. 2001-02-21 Pavel Roskin * header-vars.am: Remove tabs before variable definitions. 2001-02-21 Akim Demaille * tests/distdir.test (EXTRA_DIST): Use a finer pattern to avoid false diagnostics. 2001-02-21 Akim Demaille * automake.in (&dist_cmp, &target_cmp): Be sure to return a numeric value as required by Perl 5.6. 2001-02-21 Akim Demaille * dist-vars.am: Remove, merge into... * distdir.am: this. * automake.in (dirname, basename, backname): Move to the top of the file so that prototypes are checked, Use them without `&'. (&handle_dist): Adjust. 2001-02-21 Akim Demaille * automake.in (&check_ambiguous_conditional, &read_main_am_file): Use a uniform naming scheme. ("e_cond_val, &unquote_cond_val): Delete, dead code. (&read_am_file): Fix conditional definition of backslash continued items. 2001-02-21 Akim Demaille Change the handling of conditionals: instead of using an ad-hoc encoding to store a hash in a string, use hashes. * automake.in (&conditional_dump): New. (&check_ambiguous_conditional, &variable_defined) (&variable_conditions_sub, &variable_value_as_list_worker) (&define_variable, read_am_file, &read_main_am_file): Be sure to handle `$conditional{$vars}' as a hash instead of a plain string. 2001-02-21 Akim Demaille * automake.in (&conditional_true_when): Modernize, simplify. Warning: `$comp' is now private (my), while it used to be `inherited' from a `local' elsewhere in the code. AFAICT it was wrong, but some dirty side effect might show up. (&conditionals_true_when): New. (&variable_conditions_sub, &variable_conditions_reduce): Use it. 2001-02-21 Akim Demaille * automake.in ($top_builddir): Remove, used in one place. (&define_standard_variables): Adjust. Move the definition of triplet variables into... * header-vars.am: here. 2001-02-21 Akim Demaille * automake.in (&initialize_global_constants): Don't define $USAGE. (&usage): Handle the former content of $USAGE. Don't pretend autoconf cares about Makefile.in. Classify the options. (&handle_tests): Formatting and mying changes. 2001-02-21 Akim Demaille * automake.in (&handle_tests_dejagnu): Move the definition of a default `site.exp' into... * dejagnu.am (site.exp): here. Use DOS compliant file names. 2001-02-21 Akim Demaille * automake.in (&dist_cmp): New. (&handle_dist): Use it. Promote `my' over `local'. 2001-02-21 Akim Demaille * dist.am: Remove, merge into... * distdir.am: here. Use the neat sed snippet for banners. BTW, distcheck is phony. * automake.in (&handle_dist_worker): Remove, merge into... (&handle_dist): this. (&file_contents): Strip leading new lines. Be sure to end comments with new lines. 2001-02-21 Akim Demaille * distdir.am (GZIP_ENV): Define. * automake.in (&handle_dist): Don't. (&uniq): New. (&handle_dist_worker, &am_install_var): Use it. 2001-02-21 Akim Demaille * distdir.am (distdir): Handle the DIST-TARGETS. * automake.in (&handle_dist_worker): Don't. 2001-02-21 Akim Demaille * automake.in (&file_contents): Transform the global options (such as CYGNUS). (&handle_texinfo, &handle_dist_worker, &handle_tests_dejagnu): Don't. 2001-02-21 Akim Demaille * distdir.am (distdir): Be sure to have permissive rights on its contents. (dist-all, dist-bzip2, dist-zip, dist-tarZ): New conditional targets. And BTW, all these guys are phony. * automake.in (&handle_dist_worker): As its name doesn't indicate, output distributions. (&handle_dist): As its name doesn't indicate, don't. (&initialize_global_constants): Don't define variables which content is now handled by distdir.am. But register `dist-all' as a factored target. (&handle_factored_dependencies): Don't output empty targets. 2001-02-20 Tom Tromey * m4/init.m4 (AM_INIT_AUTOMAKE): Simplify m4_pattern_allow invocation. 2001-02-18 Tom Tromey * m4/strip.m4 (AM_PROG_INSTALL_STRIP): Don't call AM_PROG_STRIP. Set INSTALL_STRIP_PROGRAM_ENV to `$(STRIP)', not `$STRIP'. (AM_PROG_STRIP): Commented out. 2001-02-17 Raja R Harinath * depcomp (gcc3): Protect against the compiler deleting the dependency output file. 2001-02-17 Tom Tromey * automake.in (handle_merge_targets): Use double quotes around setting of INSTALL_STRIP_PROGRAM. * m4/strip.m4 (AM_PROG_INSTALL_STRIP): Set INSTALL_STRIP_PROGRAM to absolute path at runtime. (AM_PROG_STRIP): Don't explicitly test $STRIP. 2001-01-28 Alexandre Duret-Lutz * m4/strip.m4: New file. * m4/Makefile.am (m4data_DATA): Add strip.m4. * m4/init.m4: Call AM_PROG_INSTALL_STRIP. * m4/missing.m4 (AM_AUX_DIR_EXPAND): New function. * automake.in (handle_merge_targets): In the install-strip rule, set INSTALL_PROGRAM to INSTALL_STRIP_PROGRAM, and INSTALL_PROGRAM_ENV to INSTALL_STRIP_PROGRAM_ENV; don't use INSTALL_STRIP_FLAG. * progs.am (install-@DIR@PROGRAMS): Adapt to use INSTALL_PROGRAM_ENV, don't use INSTALL_STRIP_FLAG any longer. 2001-02-16 Alexandre Duret-Lutz * automake.in (scan_one_configure_file): Unquote AC_CONFIG_AUX_DIR's argument. 2001-02-16 Alexandre Duret-Lutz * automake.in (unquote_m4_arg): New function. (scan_one_configure_file): Call unquote_m4_arg on AM_CONFIG_HEADER argument, so that AM_CONFIG_HEADER([foobar.h]) works. 2001-02-15 Tom Tromey * config.guess, config.sub: New versions from FSF. * Makefile.am (WGET): New macro. (FETCHFILES): New macro. (fetch): New target. * tests/subobj3.test: Exit with status 77 if gcc not found. * tests/pr9.test: Exit with status 77 if gzip not found. * tests/pr87.test: Exit with status 77 if gcc not found. * tests/pr19.test: Exit with status 77 if gzip or gcc not found. * tests/install2.test: Exit with status 77 if gzip not found. * tests/exsource.test: Exit with status 77 if GNU make not found. * tests/ansi3.test: Exit with status 77 if gcc not found. * tests/target-cflags.test: Require GNU make. Exit with status 77 if gcc or make not found. Fixes PR automake/121. * configure.in: Require Perl 5.005. * automake.in: Require 5.005. * automake.texi (Top): Conditionalize on `nottex', not `info'. Fixes PR automake/122. 2001-02-14 Tom Tromey * automake.in (add_depend2): Only emit a given object rule once. Fixes specflags6.test. 2001-02-14 Richard Boulton * tests/specflags6.test: New file. 2001-02-14 Tom Tromey * automake.texi (A Shared Library): Mention -module. 2001-02-13 Tom Tromey * automake.in (do_one_merge_target): Always register $name and $name-am as phony. * automake.in (do_one_merge_target): Register `all' as phony target. * configure.in: Updated to 1.4e for cvs. 2001-02-12 Tom Tromey * configure.in: Updated to 1.4d and released. * m4/init.m4 (AM_INIT_AUTOMAKE): Explicitly allow various AM_* names through autoconf. Fix for subdirbuiltsources.test: * automake.in (initialize_per_input): [all_target] Initialize to empty string. (handle_merge_targets): Use all-redirect target to handle built sources. (do_one_merge_target): Don't generate all-redirect rule. 2001-02-11 Peter Muir * tests/subdirbuiltsources.test: New file. * tests/Makefile.am (TESTS): Added new file. 2001-02-10 Tom Tromey * tests/condlib.test: New file. * tests/Makefile.am (TESTS): Added new file. 2001-02-10 Lars J. Aas * automake.in ($MACRO_PATTERN): Include '@' in name regex. (&canonicalize): New. Includes '@' in canonical range. (&check_canonical_spelling, &handle_programs, &handle_libraries, &handle_ltlibraries, &handle_texinfo): Use &canonicalize. 2001-02-10 Raja R Harinath * automake.in (handle_configure): Revert part of '2001-02-04 Kevin Ryde '. Don't set CONFIG_COMMANDS explicitly. 2001-02-09 Raja R Harinath * depcomp (gcc3): Propagate exit code. 2001-02-09 Lars J. Aas * header.am (install-@DIR@HEADERS): s,?!NOBASE?,?!BASE?, (typo) 2001-02-09 Tom Tromey Clean up maintainer-check warnings: * Makefile.am (maintainer-check): Ignore comment lines in CDPATH check. * automake.in (handle_dist_worker): Removed redundant `my $xform'. 2001-02-09 Akim Demaille * automake.in (&file_contents): Remove a dead branch. 2001-02-09 Akim Demaille * automake.in (&transform): Use `my', not `local'. (&transform_cond): New. (&get_object_extension, &handle_texinfo, &handle_tags) (&handle_dist_worker, &handle_dist, &add_depend2, &handle_clean) (&handle_tests_dejagnu): Use it. * texinfos.am, lisp.am, header.am, dist.am, distdir.am, depend2.am * dejagnu.am, data.am, clean.am: Adjust to the new syntax. 2001-02-09 Akim Demaille * automake.in: Various formatting changes, and modernization of Perl constructs. (&backname): New. (&handle_configure, define_standard_variables): Use it. 2001-02-08 Tom Tromey * automake.in (file_contents): Only add $actions if any are found. Fixes new failure in pr87.test. 2001-02-08 Pavel Roskin * tests/pr87.test: Check foo/Makfile.in after it is created. 2001-02-08 Tom Tromey * tests/pr87.test: Added check for blank line after `.c.o' rule. Report from Lars J. Aas. 2001-02-07 Lars J. Aas * lisp.am (install-@DIR@LISP): Removed extra space. * header.am (install-@DIR@HEADERS): Removed extra space. * data.am (install-@DIR@DATA): Removed extra space. 2001-02-07 Tom Tromey * m4/init.m4 (AM_INIT_AUTOMAKE): Use \", not ". * automake.in (handle_dependencies): Use _am_include, not AMINCLUDE. * tests/exsource.test: Use _am_include, not AMINCLUDE. * m4/make.m4 (AM_MAKE_INCLUDE): Use _am_include, not AMINCLUDE. * tests/Makefile.am (XFAIL_TESTS): Removed distcommon.test. * tests/Makefile.am (EXTRA_DIST): Added ChangeLog-old. * automake.in (handle_configure): Handle case where output file is in subdir with no Makefile of its own. Fixes remake3.test, distcommon.test. 2001-02-06 Pavel Roskin * automake.in (handle_dependencies): Rename AM_INCLUDE to AMINCLUDE. * m4/make.m4 (AM_MAKE_INCLUDE): Likewise. * tests/exsource.test: Likewise. 2001-02-06 Derek Price * automake.in (handle_configure): Fix syntax error. 2001-02-06 Akim Demaille * subdirs.am: This file is the exception: clean recursive targets are called by the clean targets, not the clean-am targets. Otherwise we have a circular dependency: clean -> clean-am -> clean-recursive -> clean. * automake.in (handle_clean): Bind `-local' targets to `-am' targets, not top targets. Don't declare -recursive dependencies of the clean targets: `subdirs.am' did it. Less hard coded knowledge, transfered into... * clean.am: here. 2001-02-06 Akim Demaille Monstro unsplitable patch. The aim is to remove hard coded knowledge about clean targets from automake.in, leaving them in the *.am files. In addition to the mechanic needed to factor some dependencies, it appears some rules (most notably distclean and maintainer-clean) need factored actions. So first, be ready to catch factored rules. * automake.in (&file_contents): For the time being, use an extended $RULE_PATTERN which is able to match any kind of rules, with or without dependency, with or without actions. Handle all the rules uniformly, storing in %actions the factored actions. (&flatten, &target_cmp): New. (&handle_factored_dependencies): Output the %actions. No longer special case `clean'. Output the rules in alphabetical order, but keeping `.PHONY' last. Now we must not use &push_phony_cleaners, which is doing all sort of magic to push a bit of everything in all the clean targets. The biggest problem being that, making a Cartesian product, it requires many useless targets. The `*.am' file know better. But first, register the new factored rules. * automake.in (&initialize_per_input): Include clean, mostlyclean, maintainer-clean, distclean and their `*-am' counterpart in %dependencies. Initialize %actions. (get_object_extension, handle_texinfo, handle_tags, handle_multilib) handle_dependencies, handle_subdirs, handle_configure, handle_clean) (handle_emacs_lisp, handle_python): Don't play with &push_phony_cleaners nor &depend and `clean'. * texinfos.am, texi-vers.am, tags-clean.am: * subdirs.am,python-clean.am, multilib.am, lisp-clean.am: * libtool.am, kr-extra.am, depend.am, compile.am, clean.am: * clean-kr.am, clean-hdr.am: Do it. Whenever a target is empty, just remove it, it will no longer be called. There is still some magic about clean to hard code. But really, that's the end of &do_one_clean_target. * automake.in (&do_one_clean_target): Kaboom out. (&handle_clean): Rewrite the magic code. (&am_install_var): No longer use &push_phony_cleaners, nor depend on `clean'. (&push_phony_cleaners): Kaboom too. 2001-02-06 Akim Demaille * automake.in (do_one_clean_target): Don't hard code knowledge about libtool, and maintainer-clean. * clean.am, libtool.am: Handle these. 2001-02-05 Akim Demaille * automake.in (handle_texinfo): No longer hard code the clean targets. (texinfos.am): Include them. 2001-02-05 Akim Demaille * Makefile.am (perl4-check): Remove, we now require Perl 5. (maintainer-check): Don't be silent when you find a problem, and actually, even specify the locations. Also check that @_ is assigned to arrays. 2001-02-05 Akim Demaille * m4/regex.m4: Use AC_LIBSOURCES. * automake.in (scan_autoconf_traces): Trace AC_LIBSOURCE, not _AC_LIBOBJ_DECL. 2001-02-04 Tom Tromey * m4/Makefile.am (m4data_DATA): Added make.m4. * automake.in (handle_dependencies): Use @AM_INCLUDE@ to include dependency files. * m4/depend.m4 (AM_DEPNDENCIES): Require AM_MAKE_INCLUDE. Copy depcomp to subdir. * m4/make.m4: New file. 2001-02-04 Pavel Roskin * automake.in (handle_dist_worker): Remove a line that is now in distdir.am. 2001-02-04 Kevin Ryde * automake.in (handle_configure): Call config.status with empty CONFIG_LINKS and CONFIG_COMMANDS when regenerating a file. 2001-02-04 Tom Tromey * depcomp (ddashmd): Removed case. (sgi): Handle failure exit correctly (aix): Likewise. Also, add dummy `.h' targets. 2001-02-04 Akim Demaille * distdir.am (distdir): New file, extracted from... * automake.in (handle_dist_worker): here. Adjust. 2001-02-04 Akim Demaille * automake.in (@clean): Remove, replaced by... ($dependencies{'clean'}): this. Use `&depend' instead of push'ing into @clean. (handle_factored_dependencies): For the time being, skip 'clean'. (do_one_clean_target): Don't ask for argument 1 and 4 as they are always `clean', and `@clean'. 2001-02-04 Akim Demaille * automake.in (%dependencies): Don't be initialize globally for all the files, but in... (&initialize_per_input): here. (&depend): New. (@phony): Replace all occurrences with the corresponding &depend invocation. 2001-02-03 Tom Tromey * header.am (install-@DIR@HEADERS): Use INSTALL_HEADER. * header-vars.am (INSTALL_HEADER): New macro. * automake.texi (Rebuilding): New node. ----- Copyright 2001 Free Software Foundation, Inc. This file is part of GNU Automake. GNU Automake is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Automake is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with autoconf; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.