Hi all,
I have been working on building a cross compiler to vxWorks on a debian
linux amd64 host. My problem is that I am having difficulty getting the
include directories to work correctly. To work correctly, I need to
have two include directories on the target: target/h, and
target/h/wrn/coreip. My configure command looks like this:
"$SRC/gcc-$GCC_VERSION/configure" \
--prefix="$PREFIX" \
--target=powerpc-wrs-vxworks \
--with-gnu-as \
--with-gnu-ld \
--with-headers="$SRC/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
Right now I have to add target/h/wrn/coreip to the include path in
target directories (like libstdc++). I tried using CFLAGS and
C_INCLUDE_PATH, but these would not work as they would also override the
include path in host directories, so #include <stdio.h> had all SORTS of
issues... namely that it was the wrong stdio!
And yes, I *am* building libstdc++. I changed the configure script to
build a static libstdc++ that I link into my kernel module so that I can
take advantage of new features and then use objcopy to localize those
symbols so they don't conflict with the kernel. If this is a bad
(stupid) idea then please tell me.
So back to my original problem. I was looking for a way to specify the
include directories for the target directories. Right now I have to add
symlinks to get everything to include correctly.
I also have a couple of changes (like maybe 3 lines of code) that I
needed to add to libgcov and libstdc++ that I needed to do to get
everything to compile correctly. I assume I should send those to
gcc-patches and libstdc++?
Finally, is there a way to enable a build of libstdc++ without manually
changing the configure script?
Thanks!
--
rbmj