While digging through the top level configure researching my inhibit_libc changes I realized that there are some non-obvious ways to shoot yourself in the foot.

For example, the build-sysroot parameter parsing in gcc-4.3-20071012 has the
following code fragment. It looks like specifying --without-build-sysroot will
actually set the value of SYSROOT_CFLAGS_FOR_TARGET="--sysroot=no" which is
probably not what was wanted. Likewise, --with-build-sysroot sets it to "yes"
when no "=" is present, hardly a good default either.

AC_ARG_WITH([build-sysroot],
 [  --with-build-sysroot=SYSROOT
                         use sysroot as the system root during the build],
 [if test x"$withval" != x ; then
    SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval"
  fi],
 [SYSROOT_CFLAGS_FOR_TARGET=])
AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)


Is it worth changing to something like below?
If so, who should these sort of patches be coordinated with?
I did not find a maintainer listed for the top level configure.


SYSROOT_CFLAGS_FOR_TARGET=
AC_ARG_WITH([build-sysroot],
AC_HELP_STRING([--with-build-sysroot=SYSROOT], [use sysroot as the system root during the build]),
 [case $withval in
    no|"")    ;;
    yes)    AC_MSG_ERROR([--with-build-sysroot= requires a value]);;
    *)        SYSROOT_CFLAGS_FOR_TARGET="--sysroot=$withval";;
  esac])
AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)


Steve Kenton


Reply via email to