[Top][All Lists]
[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
automake-depout.patch
Description: automake-depout.patch
- AM_OUTPUT_DEPENDENCY_COMMANDS problem,
Duft Markus <=