Re: Why is fixincludes not doing anything?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On 05/25/2012 07:18 PM, Ian Lance Taylor wrote:
rbmj<rbmj@xxxxxxxxxxx>  writes:

Maybe that's the error:

./gcc/xgcc -print-sysroot-headers-suffix
xgcc: fatal error: not configured with sysroot headers suffix

xgcc is the compiler in question right?  . is the build directory.  I
believe xgcc is the compiler that compiles all of the cross targets
(lib*).
Yes.

My configure call was:

../gcc-4.7.0/configure --prefix=/usr --target=powerpc-wrs-vxworks
--with-gnu-as --with-gnu-ld
--with-headers=../gccdist/WindRiver/vxworks-6.3/target/h
--disable-shared --disable-libssp --disable-multilib --with-float=hard
--enable-languages=c,c++ --enable-threads=vxworks --without-gconv
--disable-libgomp --disable-nls --disable-libmudflap --with-cpu-PPC603

I don't use --with-sysroot; I use --with-headers.  So do I need to use
a different configuration?  And how can I achieve the same effect
using --with-sysroot as I did with --with-headers if that *is* the
issue.
As the installation doc says, the --with-sysroot option is the new
replacement for the --with-headers option.  So if you can, try using
--with-sysroot.

Otherwise, I'm not entirely sure.  The Makefile rules for running
fixincludes are pretty tangled.
OK, so even with --sysroot, I get the following:
$ ./gcc/xgcc -print-sysroot
/opt/powerpc-wrs-vxworks
$ ./gcc/xgcc -print-sysroot-headers-suffix
xgcc: fatal error: not configured with sysroot headers suffix
compilation terminated.

Also, looking at build-x86_64-unknown-linux-gnu/fixincludes/fixinc.sh:
#!/bin/sh
exit 0

And re your earlier comment about the t-* files:
[in gcc/config] $ find | xargs grep STMP_FIXINC
./i386/t-cygming:STMP_FIXINC=stmp-fixinc
./mips/t-sdemtk:STMP_FIXINC = stmp-sdefixinc

AHA!

Looking at mkfixinc.sh:

case $machine in
    i?86-*-cygwin* | \
    i?86-*-mingw32* | \
    x86_64-*-mingw32* | \
    i?86-*-interix* | \
    *-*-vxworks* | \
    powerpc-*-eabisim* | \
    powerpc-*-eabi*    | \
    powerpc-*-rtems*   | \
    powerpcle-*-eabisim* | \
    powerpcle-*-eabi* )
    #  IF there is no include fixing,
    #  THEN create a no-op fixer and exit
    (echo "#! /bin/sh" ; echo "exit 0" ) > ${target}
        ;;

    *)
    cat < ${srcdir}/fixinc.in > ${target} || exit 1
    ;;
esac

That looks like the problem.

So, new question- why is vxWorks disabled from include fixing?

Robert Mason



[Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

Add to Google