automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

AM_OUTPUT_DEPENDENCY_COMMANDS problem


From: Duft Markus
Subject: AM_OUTPUT_DEPENDENCY_COMMANDS problem
Date: Fri, 19 Dec 2008 11:48:37 +0100

Hi!

I found a problem with AM_OUTPUT_DEPENDENCY_COMMANDS. I disabled
dependency tracking through the configure command line option, and with
recent automake (1.10.2) I kept getting errors like this:

config.status: creating base/Makefile
config.status: creating tools/Makefile
config.status: creating tools/appserv/Makefile
config.status: creating wdg/Makefile
config.status: creating owum/Makefile
config.status: creating tools/dbc/Makefile
config.status: creating config.h
config.status: executing depfiles commands
./config.status: [3]: shift: nothing to shift

I now traced the problem to depout.m4 in automake. It does this:

[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS]

Which results in this code in config.status:

1145   case $ac_file$ac_mode in
1146     "depfiles":C) test x"$AMDEP_TRUE" != x"" || # Autoconf 2.62
quotes --file arguments for eval, but not when files
1147 # are listed without --file.  Let's play safe and only enable the
eval
1148 # if we detect the quoting.
1149 case $CONFIG_FILES in
1150 *\'*) eval set x "$CONFIG_FILES" ;;
1151 *)   set x $CONFIG_FILES ;;
1152 esac
1153 shift

Which is obviously wrong, since the '||' only makes the 'case'
conditional. This results in no 'set' being called (this $@ $* $# are
empty/0). This in turn results in the shift failing, making the while
config.status fail.

I created a small patch fixing the problem, by making the whole
_AM_OUTPUT_DEPENDENCY_COMMANDS being affected by the '||'. I've attached
it.

I guess it's a trivial change, but just in case: I have signed the GNU
copyright stuff, so there should be no problem ;)

Hope that helps others out...

Cheers, Markus

Attachment: automake-depout.patch
Description: automake-depout.patch


reply via email to

[Prev in Thread] Current Thread [Next in Thread]