On 05/25/2012 07:18 PM, Ian Lance Taylor wrote:
rbmj<rbmj@xxxxxxxxxxx> writes:
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.
I happen to prefer the 'traditional' layout with everything in
$PREFIX/powerpc-wrs-vxworks/{include,lib,bin}. With the sysroot as
$PREFIX/powerpc-wrs-vxworks, then target includes are
/usr/powerpc-wrs-vxworks/usr/include, which is ugly IMHO.
So I guess I'll go with the sysroot /opt/powerpc-wrs-vxworks - in my
opinion it's slightly less ugly, though I have a (perhaps irrational)
dislike of putting things in /opt.
Otherwise, I'm not entirely sure. The Makefile rules for running
fixincludes are pretty tangled.
OK, so I reconfigured:
$ ../gcc/configure --prefix=/usr --target=powerpc-wrs-vxworks
--with-gnu-as --with-gnu-ld --with-sysroot=/opt/powerpc-wrs-vxworks
--disable-shared --disable-libssp --disable-multilib --with-float=hard
--enable-languages=c,c++,fortran --enable-threads=vxworks
--without-gconv --disable-libgomp --disable-nls --disable-libmudflap
--with-cpu-PPC603 --disable-symvers --enable-libstdc++-v3
And I copied /usr/powerpc-wrs-vxworks/sys-include to
/opt/powerpc-wrs-vxworks/usr/include (so
/opt/powerpc-wrs-vxworks/usr/include/vxWorks.h, for example, is valid).
Still, fixincludes doesn't appear to do anything. Where should be fixed
headers go in the build tree? I can't find them:
[in build directory] $ find | grep unistd
$
Repeat for the other includes I'm trying to fix. I can't find anything.
Looking in the fixincludes subdir, there doesn't appear to be any
headers in there. And I can't find anywhere else where it seems they
should be stashed.
Thanks for your help,
Robert Mason