docs.rs failed to build c3_clang_extensions-0.3.7
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
C3
Internal for the C3 project.
Building
- Run
cargo clean
if upgrading from a previous version of LLVM. - Build LLVM 4 or 5 and Clang from source (
libclang.a
is needed, and pre-built packages won't have it). - Add directory containing
llvm-config
to yourPATH
, or setLLVM_CONFIG_PATH
env variable poiting to thellvm-config
executable file. - Set
LIBCLANG_INCLUDE_PATH
pointing to Clang's include directory (<clang install dir>/clang/include/
)
Building clang (Linux and macOS)
This will require 20GB of disk space and 16GB of RAM. This method creates static binaries, which can be redistributed without hassle.
- Install cmake, subversion, build-essential, libffi-dev, libncursesw5-dev
curl -LO http://releases.llvm.org/5.0.0/llvm-5.0.0.src.tar.xz
tar xf llvm-5.0.0.src.tar.xz
curl -LO http://releases.llvm.org/5.0.0/cfe-5.0.0.src.tar.xz
tar xf cfe-5.0.0.src.tar.xz
mv cfe-5.0.0.src llvm-5.0.0.src/tools/clang
cd llvm-5.0.0.src
mkdir build; cd build
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=$HOME/llvm-5-c3 -DLIBCLANG_BUILD_STATIC=ON -DLLVM_BUILD_LLVM_DYLIB=OFF -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_BUILD_TYPE=MinSizeRel -DLLVM_POLLY_BUILD=OFF -DLLVM_BUILD_RUNTIME=OFF -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_ENABLE_LIBEDIT=OFF -DLLVM_ENABLE_ZLIB=OFF -DLLVM_ENABLE_FFI=OFF ..
make -j8; make install
- Take a nap.
cp lib/libclang.a "$HOME/llvm-5-c3/lib/"
- Set the following variables. Note that you will need to set them every time you compile, so add them to your bashrc or make a script and source it.
export LIBCLANG_INCLUDE_PATH="$HOME/llvm-5-c3/tools/clang/include/:$HOME/llvm-5-c3/include/"
export LIBCLANG_STATIC_PATH="$HOME/llvm-5-c3/lib/"
export LLVM_CONFIG_PATH="$HOME/llvm-5-c3/bin/llvm-config"