This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: --with-gxx-include-dir option
Bart Veer wrote:
Now for the not so short answer. This configuration option controls
where the C++ header files like <new> get installed. The default
location is in $(PREFIX)/include. That is fine for building a native
toolchain. For building a cross-compiler it is not quite right
$(PREFIX)/include is for host-side header files, and <new> is a
target-side header file.
We've been through this before elsewhere - I'm afraid I think you somewhat
misunderstand the intention and purpose of what the GCC C++ guys have
arranged.
$(PREFIX)/include is *not* what would be used in the include path for
<new> etc. In fact it is $(PREFIX)/include/c++/3.2.1, so there is *no*
conflict between the C++ header files and the host side files. Target
dependencies are resolved by subdirectories within that directory, but you
don't need to worry about that - that'll be true wherever the C++ header
file prefix is.
Whatever we do has the risk it will break things in future if we don't do
what the C++ maintainers have said will remain their practice. It will
also confuse any bug reports reported to them. There is no reason to stray
from what they say, there are no advantages, there are both real and
potential disadvantages. And now a report that it can cause SEGVs
(although that's hardly good behaviour, it just shows what can happen if
we "stray from the path").
> Hence for the toolchains we build we specify
--with-gxx-include-dir and put the C++ headers somewhere more
appropriate. A useful side effect is that this allows us t)
Hmm... bit late for tea though ;-).
Jifl
--
eCosCentric http://www.eCosCentric.com/ The eCos and RedBoot experts
--[ "You can complain because roses have thorns, or you ]--
--[ can rejoice because thorns have roses." -Lincoln ]-- Opinions==mine
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss