On Thu, Jul 04, 2013 at 10:41:45AM -0700, Bruce Korb wrote: > On 07/04/13 09:40, Jack Howarth wrote: >> Currently I am forced to manually patch fixincludes/fixinc.in to have the >> DIR passed to >> --with-sysroot honored during the bootstrap. Thanks in advance for any help >> in getting >> this oversight in fixincludes fixed for gcc 4.9. >> Jack > > I saw the bug report. I find autotools sufficiently flexible that they > are neigh on opaque. I *think* you'll need: > > AC_ARG_WITH([sysroot], > [the system include directory -- default: /usr/include], > [ AC_DEFINE_UNQUOTED([SYSTEM_INC_DIR], "$withval", > [system include directory]) > > [if test -d "$withval" ; then SYSTEM_INC_DIR=$withval > else AC_MSG_ERROR([provided value is not a directory: $withval]) ; > fi]], > > [SYSTEM_INC_DIR=/usr/include])
Unfortunately there seems to be a syntax error related to the use of AC_MSG_ERROR. Both your original change and the variation attached produce an error when I run autoreconf in fixincludes... % autoreconf -iv autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal autoreconf: configure.ac: tracing autoreconf: configure.ac: not using Libtool autoreconf: running: /sw/bin/autoconf-2.64 configure.ac:34: error: possibly undefined macro: AC_MSG_ERROR If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /sw/bin/autoconf-2.64 failed with exit status: 1 > > and then replace the INPUTLIST definition with: > > test $# -eq 0 && INPUTLIST="@SYSTEM_INC_DIR@" || INPUTLIST="$*" > > using "$@" is confusing and won't actually work: > >> $ set a b c\ d;echo $#;f="$@";set -- $f; echo $# >> 3 >> 4 > > > Anyway, I *think* that works, but like I said, it's pretty opaque to me.
Index: fixincludes/configure.ac =================================================================== --- fixincludes/configure.ac (revision 200679) +++ fixincludes/configure.ac (working copy) @@ -24,6 +24,18 @@ # Determine the noncanonical target name, for directory use. ACX_NONCANONICAL_TARGET +# Honor --with-sysroot +AC_ARG_WITH([sysroot], + [the system include directory -- default: /usr/include], + [AC_DEFINE_UNQUOTED([SYSTEM_INC_DIR], "$withval", + [system include directory]) + [if test -d "$withval" ; then + SYSTEM_INC_DIR=$withval + else + AC_MSG_ERROR([provided value is not a directory: $withval]); + fi]], + [SYSTEM_INC_DIR=/usr/include]) + # Specify the local prefix local_prefix= AC_ARG_WITH(local-prefix, Index: fixincludes/fixinc.in =================================================================== --- fixincludes/fixinc.in (revision 200679) +++ fixincludes/fixinc.in (working copy) @@ -173,9 +173,9 @@ # if test $# -eq 0 then - INPUTLIST="/usr/include" + INPUTLIST="@SYSTEM_INC_DIR@" else - INPUTLIST="$@" + INPUTLIST="$*" fi for INPUT in ${INPUTLIST} ; do