• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Clang looks for the presence of crtbegin.o to decide whether to add GCC standard
2C++ library directories to the system header lookup path.
3
4The presence of usr/lib/gcc/x86_64-linux-gnu/4.6/crtbegin.o and
5usr/include/c++/4.6 inside this sysroot will cause clang to add the following
6directories to the path:
7  - $SYSROOT/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6
8  - $SYSROOT/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/x86_64-linux-gnu/c++/4.6
9  - $SYSROOT/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/x86_64-unknown-linux-gnu/c++/4.6
10  - $SYSROOT/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/backward
11
12As well as the standard paths:
13  - $SYSROOT/usr/local/include
14  - $SYSROOT/include
15  - $SYSROOT/usr/include
16
17See clang's lib/Driver/ToolChains.cpp:
18  - FilterNonExistent: checks for crtbegin.o
19  - Linux::AddClangCXXStdlibIncludeArgs: looks for various c++ directories
20