This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: For Help about libstdc++
Thanks for replying.
>
>> I want to build a c++ cross-toolchain from gcc source code.
>> which I'm not sure is that libstdc++ depends on libc?
>
> Yes, it depends on the "custom C library" for the target,
> although that is usually called as "standard C library" :(
this is because libstdc++'s code is implemented on the base of c library.
>
>> In my experiment, I found that it is only possible to built c++
>> compiler after libc(uclibc, newlib,...) is compiled and installed.
>
> That is not true. Producing the C++ compiler parts ('cc1plus', 'g++')
> shouldn't require any information about the target C library!
>
> Even producing "everything" for a cross GCC for an newlib-using
> embedded target shouldn't require anything else than the generic
> newlib headers being copied from 'newlib/libc/include' in the
> newlib sources. ?So 'libstdc++' should succeed without a prebuilt
> newlib for the target !
I got it, It is c library's header files which needed for building libstdc++,
But the libc(both header files and the library) is needed when we
building applications using libstdc++.(assuming static library for
simplicity)
>
> Furthermore it is nonsense that the target C library should be
> compiled from its sources during the GCC build! ?The expectation
> is that it already exists on the target system and one only copies
> it from there onto the cross host.
I think It maybe common and necessary to build libc along with
cross-toolchain at one time.
For example, in embedded context, we often have to porting linux OS,
which means we
often have no already built c library when building cross-toolchain,
So we have to rebuild libc(uclibc,...) when building the toolchain.
This is toolchain auto-build scripts such as buildroot/crosstool normally do.
Am I right?
>
Thanks again
--
Best Regards.