Did you know that Linux Mandrake 7.0's autoconf claims to be version 2.14.1?

(martin@wobble) /xemacs/build $ autoconf --version
Autoconf version 2.14.1

Did you know that this autoconf uses $SHELL instead of ${CONFIG_SHELL-/bin/sh}?

This would fail in the most obvious way if the user's shell was, say
csh (untested).  My own SHELL is /bin/zsh, and this is sufficiently
different from /bin/sh to cause it to be unsuitable for a configure
shell.  You simply can't use SHELL - that variable is reserved for the
user's use.

This is using XEmacs' configure.in script.

(martin@wobble) /xemacs/ws/dev $ autoconf
(martin@wobble) /xemacs/ws/dev $ g -w SHELL configure
configure:3270:ac_config_guess="$SHELL $ac_aux_dir/config.guess"
configure:3271:ac_config_sub="$SHELL $ac_aux_dir/config.sub"
configure:3272:ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus 
configure.
configure:14346:s%@SHELL@%$SHELL%g
configure:14747:test "$no_create" = yes || $SHELL $CONFIG_STATUS || exit 1

That last line looks especially dubious.

So I got the latest CVS version, and this happens when I run it
against the XEmacs configure.in:

(martin@wobble) /xemacs/ws/dev $ $cdi/autoconf/inst/bin/autoconf 
configure.in:805: warning: backquotes should not be backslashed in: configure: 
warning: Obsolete option \`--$optname' ignored.
configure.in:2357: warning: AC_C_CONST was called before AC_PROG_CC_STDC
autoconf: Undefined macros:
configure.in:1010:test "${error_check_extents=$beta}"   = yes && 
AC_DEFINE(ERROR_CHECK_EXTENTS)
configure.in:1011:test "${error_check_typecheck=$beta}" = yes && 
AC_DEFINE(ERROR_CHECK_TYPECHECK)
configure.in:1012:test "${error_check_bufpos=$beta}"    = yes && 
AC_DEFINE(ERROR_CHECK_BUFPOS)
configure.in:1013:test "${error_check_gc=$beta}"        = yes && 
AC_DEFINE(ERROR_CHECK_GC)
configure.in:1014:test "${error_check_malloc=$beta}"    = yes && 
AC_DEFINE(ERROR_CHECK_MALLOC)
configure.in:1015:test "${error_check_byte_code=$beta}" = yes && 
AC_DEFINE(ERROR_CHECK_BYTE_CODE)
configure.in:1023:  AC_DEFINE(DEBUG_XEMACS)
configure.in:1025:test "$use_assertions"     = "yes" && AC_DEFINE(USE_ASSERTIONS)
configure.in:1026:test "$memory_usage_stats" = "yes" && AC_DEFINE(MEMORY_USAGE_STATS)
configure.in:102:dnl Redefine AC_DEFINE* to provide more output if extra_verbose
configure.in:104:dnl AC_DEFINE(VARIABLE [, VALUE])
configure.in:105:define([AC_DEFINE],
configure.in:113:])dnl AC_DEFINE
configure.in:115:define([AC_DEFINE_UNQUOTED],
configure.in:123:])dnl AC_DEFINE_UNQUOTED
configure.in:1437:      AC_DEFINE_UNQUOTED(OS_RELEASE, $os_release) ;;
configure.in:1579:AC_DEFINE_UNQUOTED(STACK_TRACE_EYE_CATCHER, $stack_trace_eye_catcher)
...
...
(many more errors)

(XEmacs redefines AC_DEFINE)

(XEmacs doesn't bother calling AC_PROG_CC_STDC - it requires an ANSI C
compiler anyways.  Hmmm.  Maybe it shouldn't bother with AC_C_CONST either)

2.13 was a no-effort upgrade over 2.12.  It doesn't look like this
will be true of 2.14.

Martin

Reply via email to