2005-08-22 Stepan Kasal * lib/autoconf/general.m4 (_AC_CANONICAL_SPLIT): Simplify; rejecting some evil values and relying on the fact that $* concatenates the parameters by the first character from IFS. Index: lib/autoconf/general.m4 =================================================================== RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/general.m4,v retrieving revision 1.880 diff -u -r1.880 general.m4 --- lib/autoconf/general.m4 16 Aug 2005 09:11:06 -0000 1.880 +++ lib/autoconf/general.m4 22 Aug 2005 15:57:02 -0000 @@ -1655,23 +1655,20 @@ # -------------------------- # Generate the variables THING, THING_{alias cpu vendor os}. m4_define([_AC_CANONICAL_SPLIT], -[AC_SUBST([$1], [$ac_cv_$1])dnl +[# Ensure that the following "set" and "shift" commands will not fail: +case $ac_cv_$1 in + -*) false ;; + *-*-*) : ;; + *) false ;; +esac || AC_MSG_ERROR([invalid value of canonical $1]) +AC_SUBST([$1], [$ac_cv_$1])dnl ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_$1 -shift -IFS=$ac_save_IFS - +set $ac_cv_$1 AC_SUBST([$1_cpu], [$[1]])dnl AC_SUBST([$1_vendor], [$[2]])dnl -AC_SUBST([$1_os], [$[3]])dnl -case $[#] in -0|1|2) ;; -*) - shift; shift; shift - for ac_arg - do $1_os=[$]$1_os-$ac_arg - done;; -esac +shift; shift +AC_SUBST([$1_os], [$[*]])dnl +IFS=$ac_save_IFS ])# _AC_CANONICAL_SPLIT