On Jun 6, 2001, Stephen L Moshier <[EMAIL PROTECTED]> wrote:
> The libobjc/configure script in the cvs archive is not the same as
> the one that gets generated during the build. For some reason make
> insists on running autoconf, which generates a libobjc/configure
> file about 50 Kbytes larger than the one in cvs. The autoconf on
> this machine is version 2.50, and the generated configure script
> stops here:
> # We need AC_EXEEXT to keep automake happy in cygnus mode. However,
> # at least currently, we never actually build a program, so we never
> # need to use $(EXEEXT). Moreover, the test for EXEEXT normally
> # fails, because we are probably configuring with a cross compiler
> # which cant create executables. So we include AC_EXEEXT to keep
> # automake happy, but we dont execute it, since we dont care about
> # the result.
> if false; then
> fi
The blank line contains AC_EXEEXT in configure.in. Since AC_EXEEXT is
run by default by default by autoconf 2.50, the duplicate expands to
nothing, which breaks.
For backward compatibility, autoconf's AC_EXEEXT (and any other
duplicate-discarded macro, for that matter) should probably be
expanded to `:', not nothing, so that constructs as above keep on
working.
As for GCC, we should probably add a line containing `:' inside the
conditional, so that it works with autoconf 2.50 even if the problem
is fixed in 2.51.
Stephen, would you please post a patch?
Next time, use contrib/gcc_update, so that you get to test the exact
configure script in the CVS tree, instead of having it rebuilt with
potentially different versions of autoconf.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me