Paul Cadaret wrote:
I have been trying various things for almost a week trying to get
gcc-3.3.2 & gcc-3.4-20031224 to build properly for a target of
'm68k-elf'.
I've always been building the m68k-elf target successfully with
both 3.3.2 and 3.4.
I have found several GCC-FAQs that provided several useful hints
but I have yet to make it all the way through the build.
I am running configure as follows:
---configure-complete---
${SHELL} ${SRCDIR}/configure \
--prefix=$LOCAL \
--target=m68k-elf \
--program-prefix=m68k-elf- \
--with-gnu-as \
--with-gnu-ld \
--enable-languages="c,c++,objc" \
--disable-nls \
--verbose \
#
You can't enable c++ on m68k-elf because it's an embedded target
and libstdc++ requires an underlying C library to work.
Either do --enable-languages='c' or add --with-newlib and build
newlib along with (or before) GCC.
I looked
into the associated configure script for libstdc++-v3 but it is
60,000 lines long and virtually unreadable.
Try reading the configure.in file, from which the configure script is
being generated.
Q:
1. Is the 'm68k-elf' target still supported? If so, I'll file a
bug report. If not, is there another m68k-elf target variant that is
supported?
Yes it is. Please note that m68k-elf is an embedded target and is meant
to be used on bare metal boards only. No shared libraries or fancy stuff
is supported. There are several other m68k-*-* targets for specific
OSes.
I just want a gcc/g++ cross-compiler & libraries that I can adapt for
a real-time kernel target. It's OK if some of the
library routines make some incroorect assumptions about the OS
environment for now.
Ah, ok then. If you just want the C++ compiler without the C++ support
library, you might delete the libstdc++-v3 directory before building.
When you're happy with the compiler, you could re-enable libstdc++ and
try to port it to your system. You just need to write (or modify) a
few headers containg glue code for ctype and locale stuff. Look in
libstdc++-v3/config/os/generic/ to get an idea.