Problem: Makefile.in's created with --include-deps do not allow configure to turn off dependency tracking. If --disable-dependency-tracking is specified to configure, the rules for object files are invalid, causing make to exit without building anything. Also, if a compiler that does not support dependencies is used, the same problem occurrs when --enable-dependency-tracking is specified to configure. Solution: The reasons for this are that @AMDEP_TRUE@ in the handle_dependencies function (subroutine?) is AC_SUBST'd to "" when automake is created from automake.in. The object file rules in depend2.am must also be adjusted to remove the 'depcomp' lines completely if dependency tracking is not desired or available. If not, these rules will attempt to execute these lines as separate commands because @AMDEPBACKSLASH@ is substituted with "" when dependency tracking is off. ChangeLog entry: 2001-04-25 Robert Boehne <[EMAIL PROTECTED]> * configure.in: Add _am_dep_true='@AMDEP_TRUE@' and AC_SUBST it. * automake.in: (handle_dependencies) Replace @AMDEP_TRUE@ in $output_rules with @_am_dep_true@ so that @AMDEP_TRUE@ isn't substituted away when automake is created by configure. * depend2.am: Add @AMDEP_TRUE@ to the beginning of lines for dependency tracking in the rules for object files so that disabling dependency tracking with 'configure' will work. * configure: Regenerate. -- Robert Boehne Software Engineer Ricardo Software Chicago Technical Center TEL: (630)789-0003 x. 238 FAX: (630)789-0127 email: [EMAIL PROTECTED]
Index: automake.in =================================================================== RCS file: /cvs/automake/automake/automake.in,v retrieving revision 1.1046 diff -u -r1.1046 automake.in --- automake.in 2001/04/24 18:00:14 1.1046 +++ automake.in 2001/04/25 20:18:50 @@ -3229,7 +3229,7 @@ $output_rules .= "\n"; foreach my $iter (@deplist) { - $output_rules .= ('@AMDEP_TRUE@@_am_include@ @_am_quote@' + $output_rules .= ('@_am_dep_true@ @_am_include@ @_am_quote@' . $iter . '@_am_quote@' . "\n"); } Index: configure =================================================================== RCS file: /cvs/automake/automake/configure,v retrieving revision 1.81 diff -u -r1.81 configure --- configure 2001/04/24 09:44:16 1.81 +++ configure 2001/04/25 20:18:50 @@ -676,7 +676,7 @@ echo "configure: warning: ${am_backtick}missing' script is too old or missing" 1>&2 fi -for ac_prog in mawk gawk nawk awk +for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -904,6 +904,7 @@ $PERL -e 'require 5.005;' || { { echo "configure: error: perl 5.005 or better is required" 1>&2; exit 1; } } +_am_dep_true='@AMDEP_TRUE@' trap '' 1 2 15 cat > confcache <<\EOF @@ -1072,6 +1073,7 @@ s%@AMDEPBACKSLASH@%$AMDEPBACKSLASH%g s%@DEPDIR@%$DEPDIR%g s%@PERL@%$PERL%g +s%@_am_dep_true@%$_am_dep_true%g CEOF EOF Index: configure.in =================================================================== RCS file: /cvs/automake/automake/configure.in,v retrieving revision 1.77 diff -u -r1.77 configure.in --- configure.in 2001/02/16 05:56:09 1.77 +++ configure.in 2001/04/25 20:18:50 @@ -13,6 +13,7 @@ $PERL -e 'require 5.005;' || { AC_MSG_ERROR([perl 5.005 or better is required]) } - +_am_dep_true='@AMDEP_TRUE@' +AC_SUBST(_am_dep_true) AC_OUTPUT([Makefile automake aclocal m4/Makefile tests/Makefile], [chmod +x automake aclocal]) Index: depend2.am =================================================================== RCS file: /cvs/automake/automake/depend2.am,v retrieving revision 1.35 diff -u -r1.35 depend2.am --- depend2.am 2001/04/11 17:29:06 1.35 +++ depend2.am 2001/04/25 20:18:50 @@ -31,9 +31,9 @@ ?GENERIC?%EXT%.o: ?!GENERIC?%OBJ%: %SOURCE% if %AMDEP% - source='%SOURCE%' object='%OBJ%' libtool=no @AMDEPBACKSLASH@ - depfile='$(DEPDIR)/%BASE%.Po' tmpdepfile='$(DEPDIR)/%BASE%.TPo' @AMDEPBACKSLASH@ - $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@ source='%SOURCE%' object='%OBJ%' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/%BASE%.Po' tmpdepfile='$(DEPDIR)/%BASE%.TPo' +@AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@ endif %AMDEP% %COMPILE% -c -o %OBJ% `test -f %SOURCE% || echo '$(srcdir)/'`%SOURCE% @@ -41,9 +41,9 @@ ?GENERIC?%EXT%.lo: ?!GENERIC?%LTOBJ%: %SOURCE% if %AMDEP% - source='%SOURCE%' object='%LTOBJ%' libtool=yes @AMDEPBACKSLASH@ - depfile='$(DEPDIR)/%BASE%.Plo' tmpdepfile='$(DEPDIR)/%BASE%.TPlo' @AMDEPBACKSLASH@ - $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@ source='%SOURCE%' object='%LTOBJ%' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/%BASE%.Plo' tmpdepfile='$(DEPDIR)/%BASE%.TPlo' +@AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@ endif %AMDEP% %LTCOMPILE% -c -o %LTOBJ% `test -f %SOURCE% || echo '$(srcdir)/'`%SOURCE% endif %?LIBTOOL% @@ -51,8 +51,8 @@ ?GENERIC?%EXT%.obj: ?!GENERIC?%OBJOBJ%: %SOURCE% if %AMDEP% - source='%SOURCE%' object='%OBJOBJ%' libtool=no @AMDEPBACKSLASH@ - depfile='$(DEPDIR)/%BASE%.Po' tmpdepfile='$(DEPDIR)/%BASE%.TPo' @AMDEPBACKSLASH@ - $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@AMDEP_TRUE@ source='%SOURCE%' object='%OBJOBJ%' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@ depfile='$(DEPDIR)/%BASE%.Po' tmpdepfile='$(DEPDIR)/%BASE%.TPo' +@AMDEPBACKSLASH@ +@AMDEP_TRUE@ $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@ endif %AMDEP% %COMPILE% -c -o %OBJOBJ% `cygpath -w %SOURCE%`