<div dir="ltr">







<p class="">Hi,</p><p class=""><br></p><p class="">I would like to compile and install llvm/clang/libcxx into a local directory on Linux (Gentoo).  I haven't found the right combination of cmake -D flags to make the -stdlib=c++ option work.</p>
<p class="">The first part seems straightforward enough:</p><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><p class="">cmake -G Ninja \</p><p class="">    -DCMAKE_BUILD_TYPE=Release \</p><p class="">    -DCMAKE_INSTALL_PREFIX=/local/llvm/3.4/usr \</p>
<p class="">    -DFFI_INCLUDE_DIR=/usr/lib64/libffi-3.0.11/include \</p><p class="">    -DFFI_LIBRARY_DIR=/usr/lib64 \</p><p class="">    -DLLVM_BUILD_TESTS=ON \</p><p class="">    -DLLVM_ENABLE_FFI=ON    \</p><p class="">
    -DLLVM_EXTERNAL_MSBUILD_BUILD=OFF   \</p><p class="">    -DLLVM_TARGETS_TO_BUILD=host    \</p><p class="">    -DPYTHON_EXECUTABLE=/usr/bin/python2    \</p></blockquote>







<blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><p class="">    -DLIBCXX_CXX_ABI=libstdc++ \</p><p class="">    -DLIBCXX_LIBSUPCXX_INCLUDE_PATHS="/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4;/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/x86_64-pc-linux-gnu" \</p>
<p class="">    -DLIBCXX_ENABLE_SHARED=YES \</p><p class="">    ${SRC}</p><p class=""><br></p></blockquote><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><p class="">But the system header search path used by clang++ when the libc++ stdlib is used then is completely wrong.  Looking through the source code, I stumbled on the parameters DEFAULT_SYSROOT and gave that a try.  </p>
</blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><blockquote style="margin:0px 0px 0px 40px;border:none;padding:0px"><p class="">-DDEFAULT_SYSROOT=/local/llvm/3.4</p></blockquote></blockquote><blockquote style="margin:0 0 0 40px;border:none;padding:0px">
and that made the system header search path look good as far as finding the libc++ headers, but now the plain old /usr/include directory is no longer in the search path so /usr/include/features.h is not found.<br><br>Is building clang and libcxx on Linux and installing to a local directory supported and if so, please, what did I overlook or not know?<br>
<br>(I built with gcc, version 4.7.3 as you may have surmised by the paths above.)<br><br>Thanks,<br>-Frank</blockquote>


<p class="">
















</p></div>