[cfe-dev] system search path for option -stdlib=libc++
Frank Rehwinkel
frankrehwinkel at gmail.com
Fri Jan 31 07:08:17 PST 2014
Hi,
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.
The first part seems straightforward enough:
cmake -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/local/llvm/3.4/usr \
-DFFI_INCLUDE_DIR=/usr/lib64/libffi-3.0.11/include \
-DFFI_LIBRARY_DIR=/usr/lib64 \
-DLLVM_BUILD_TESTS=ON \
-DLLVM_ENABLE_FFI=ON \
-DLLVM_EXTERNAL_MSBUILD_BUILD=OFF \
-DLLVM_TARGETS_TO_BUILD=host \
-DPYTHON_EXECUTABLE=/usr/bin/python2 \
-DLIBCXX_CXX_ABI=libstdc++ \
-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"
\
-DLIBCXX_ENABLE_SHARED=YES \
${SRC}
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.
-DDEFAULT_SYSROOT=/local/llvm/3.4
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.
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?
(I built with gcc, version 4.7.3 as you may have surmised by the paths
above.)
Thanks,
-Frank
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140131/b80312ba/attachment.html>
More information about the cfe-dev
mailing list