This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Canadian cross build and libstdc++ configure
- From: "Steve Ellcey " <sellcey at mips dot com>
- To: <libstdc++ at gcc dot gnu dot org>, <gcc at gcc dot gnu dot org>
- Date: Tue, 29 Oct 2013 16:12:49 -0700
- Subject: Canadian cross build and libstdc++ configure
- Authentication-results: sourceware.org; auth=none
I have run into a obscure corner case while building and was wondering if
anyone can help me with it. I am doing a canadian cross build, building
on x86 linux to create a GCC that runs on x86 windows and generates code
for bare-metal MIPS. Most everything is working but I have run into one
problem while building libstdc++.
While running the libstdc++ configure script the GLIBCXX_CHECK_C99_TR1
macro checks for fenv.h. That header file is not part of newlib, the
system header/library set that my cross-compiler is using but the
mips-mti-elf C++ compiler that I use to build libstdc++ (different then
the GCC I just built because that one runs on windows) does have an
fenv.h header file in it so HAVE_FENV_H is getting set and then the
new C++ fenv.h header that I am creating for my new canadian cross
compiler tries to do a "#include_next fenv.h" and it fails because
there is no fenv.h in the newlib headers to include.
The problem seems to be that GLIBCXX_CHECK_C99_TR1 is using the C++
compiler to check for fenv.h and not the C compiler. But that choice
seems to be intentional so I am not sure what to do about it.
Steve Ellcey
sellcey@mips.com