This is the mail archive of the
libstdc++@sources.redhat.com
mailing list for the libstdc++ project.
Re: libstdc++-v3/std_cstddef.h's #include_next x libg++
- To: Benjamin Kosnik <bkoz at redhat dot com>
- Subject: Re: libstdc++-v3/std_cstddef.h's #include_next x libg++
- From: Alexandre Oliva <aoliva at redhat dot com>
- Date: 09 Aug 2000 05:04:10 -0300
- Cc: gcc at gcc dot gnu dot org, libstdc++ at sources dot redhat dot com, ncm at zembu dot com
- Organization: GCC Team, Red Hat
- References: <Pine.SOL.3.91.1000809004044.25839A-100000@cse.cygnus.com>
On Aug 9, 2000, Benjamin Kosnik <bkoz@redhat.com> wrote:
> Then again, this could be something completely different, relating to
> changes in the shadow-headers script...
More likely to be related with the recent changes I made to the
top-level configure.in. We're using mkcheck to find out what are the
-I flags to be passed to the C++ compiler, but configure.in arranges
for -I to be replaced with -isystem, since presumably the libstdc++
headers are all system headers.
> Hmm. Does your problem manifest itself without trying to build
> libg++
So far, I've only got the problem with libg++, but it'd probably
happen whenever you configure some C++ target library after
libstdc++-v3, so that the mkcheck script already exists.
> I'm a bit confused as to what your exact problem is: can you provide a
> bit more detail please?
/home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/gcc/g++ -nostdinc++ -isystem /home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/i686-pc-linux/libstdc++-v3 -isystem /home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/i686-pc-linux/libstdc++-v3/libio -isystem /home/guarana/aoliva/src/gcc-main/libstdc++-v3/config/gnu-linux -isystem /home/guarana/aoliva/src/gcc-main/libstdc++-v3/config/cpu/i486 -isystem /home/guarana/aoliva/src/gcc-main/libstdc++-v3/std -isystem /home/guarana/aoliva/src/gcc-main/libstdc++-v3 -isystem /home/guarana/aoliva/src/gcc-main/libstdc++-v3/libio -isystem /home/guarana/aoliva/src/gcc-main/libstdc++-v3/backward -isystem /home/guarana/aoliva/src/gcc-main/libstdc++-v3/ext -L/home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/i686-pc-linux/libstd++-v3/src -L/home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/i686-pc-linux/libstd++-v3/src/.libs -B/home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/gcc/ -B/usr/local/i686-pc-linux/bin/ -B/usr!
/local/i686-pc-linux/lib/ -isystem /usr/local/i686-pc-linux/include -L/home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/ld -c -g -O2 -fvtable-thunks -D_GNU_SOURCE -fno-implicit-templates -nostdinc++ -I. -I../../libio -I/home/guarana/aoliva/src/gcc-main/libg++/src -I/home/guarana/aoliva/src/gcc-main/libg++/src/../../libio -I/home/guarana/aoliva/src/gcc-main/libg++/src/../../libstdc++ -I/home/guarana/aoliva/src/gcc-main/libg++/src/../src /home/guarana/aoliva/src/gcc-main/libg++/src/AllocRing.cc
In file included from /home/guarana/aoliva/src/gcc-main/libstdc++-v3/libio/_G_config.h:19,
from /home/guarana/aoliva/src/gcc-main/libg++/src/std.h:22,
from /home/guarana/aoliva/src/gcc-main/libg++/src/AllocRing.cc:22:
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/bits/std_cstddef.h:39:26: stddef.h: No such file or directory
make[2]: *** [AllocRing.o] Error 1
make[2]: Leaving directory `/l/x/tmp/gcc-lstdc++/i686-pc-linux/libg++/src'
make[1]: *** [src/libgxx.list] Error 2
make[1]: Leaving directory `/l/x/tmp/gcc-lstdc++/i686-pc-linux/libg++'
make: *** [all-target-libg++] Error 2
Running this huge command line with `-v -E -', I get:
#include "..." search starts here:
#include <...> search starts here:
.
/home/guarana/aoliva/src/gcc-main/libg++/src
/home/guarana/aoliva/src/gcc-main/libio
/home/guarana/aoliva/src/gcc-main/libstdc++
/home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/gcc/include
/home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/i686-pc-linux/libstdc++-v3
/home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/i686-pc-linux/libstdc++-v3/libio
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/config/gnu-linux
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/config/cpu/i486
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/std
/home/guarana/aoliva/src/gcc-main/libstdc++-v3
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/libio
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/backward
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/ext
/usr/include
End of search list.
See, libstdc++-v3/bits is searched after gcc/include, so #include_next
doesn't work. But replacing all occurrences of -isystem with -I, I
get the order expected by mkcheck:
/home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/i686-pc-linux/libstdc++-v3
/home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/i686-pc-linux/libstdc++-v3/libio
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/config/gnu-linux
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/config/cpu/i486
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/std
/home/guarana/aoliva/src/gcc-main/libstdc++-v3
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/libio
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/backward
/home/guarana/aoliva/src/gcc-main/libstdc++-v3/ext
.
/home/guarana/aoliva/src/gcc-main/libg++/src
/home/guarana/aoliva/src/gcc-main/libio
/home/guarana/aoliva/src/gcc-main/libstdc++
/home/guarana/aoliva/test/log/guarana/.tmp/gcc-lstdc++/gcc/include
/usr/include
So, should I stop replacing -I with -isystem in the output of mkcheck,
in the top-level configure.in?
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me