Why is fixincludes not doing anything?
rbmj
rbmj@verizon.net
Tue May 29 19:13:00 GMT 2012
On 05/25/2012 07:18 PM, Ian Lance Taylor wrote:
> rbmj<rbmj@verizon.net> 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
More information about the Gcc-help
mailing list