[cfe-dev] system search path for option -stdlib=libc++
robin at icir.org
Fri Jan 31 10:27:47 PST 2014
In case it helps, I'm maintaining a helper script that builds/installs
a standalone llvm/clang/libc++ combo into a prefix of your choice.
--stdlib=libc++ will "just work" with that.
The script got updated to 3.4 recently:
The script patches the code a bit to get around search path problems,
though I'm actually not sure if all the patches are still needed. It
works on Linux and Darwin.
On Fri, Jan 31, 2014 at 10:08 -0500, Frank Rehwinkel wrote:
> 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_ENABLE_SHARED=YES \
> 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.
> 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
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
Robin Sommer * Phone +1 (510) 722-6541 * robin at icir.org
ICSI/LBNL * Fax +1 (510) 666-2956 * www.icir.org/robin
More information about the cfe-dev