Hi all.
I have run into a problem with a configure.in that worked
just fine with autoconf 2.13 but not 2.14.
% cat configure.in
AC_INIT(foo.cpp)
AC_LANG_CPLUSPLUS
AC_PROG_CXX
AC_PROG_CC
PROCESS_FILES="Makefile src/Makefile"
AC_OUTPUT([$PROCESS_FILES])
% /usr/bin/autoconf --version
Autoconf version 2.13
% /usr/bin/autoconf
% ./configure
creating cache ./config.cache
checking for c++... c++
checking whether the C++ compiler (c++ ) works... yes
checking whether the C++ compiler (c++ ) is a cross-compiler... no
checking whether we are using GNU C++... yes
checking whether c++ accepts -g... yes
checking for gcc... gcc
checking whether the C compiler (gcc ) works... yes
checking whether the C compiler (gcc ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
updating cache ./config.cache
creating ./config.status
creating Makefile
creating src/Makefile
And now the CVS version.
% autoconf --version
autoconf (GNU autoconf) 2.14a
% autoconf
% ./configure
checking for g++... g++
checking whether the C++ compiler works... yes
checking whether we are using GNU C++... yes
checking whether g++ accepts -g... yes
checking for Cygwin environment... no
checking for mingw32 environment... no
checking for EMX OS/2 environment... no
checking for executable suffix...
checking for object suffix... o
checking for gcc... gcc
checking whether the C compiler works... yes
checking whether we are using GNU C... yes
checking whether gcc accepts -g... yes
creating ./config.status
autoconf 2.14 creates the ./config.status file
but when run, config.status does create
the Makefiles.
The problem seems to be related to the
AC_OUTPUT macro. Here is what is written
into the config.status file.
# Files that config.status was made for.
config_files="\
$PROCESS_FILES"
That PROCESS_FILES variable should have been
substitued in the ./configure script.
Here is what gets put into the ./configure script
when autoconf 2.13 is run.
PROCESS_FILES="Makefile src/Makefile"
...
trap 'rm -fr `echo "$PROCESS_FILES" | sed "s/:[^ ]*//g"` conftest*; exit
1' 1 2 15
...
CONFIG_FILES=\${CONFIG_FILES-"$PROCESS_FILES"}
...
Here is what gets put into the ./configure script
when autoconf 2.14 is run.
PROCESS_FILES="Makefile src/Makefile"
...
# Files that config.status was made for.
config_files="\
$PROCESS_FILES"
...
# Handling of arguments.
'$PROCESS_FILES' ) CONFIG_FILES="$CONFIG_FILES $PROCESS_FILES" ;;
How can this be fixed?
Mo DeJong
Red Hat Inc