.. _BuildingCompilerRT: =============== Building Compiler-RT =============== .. contents:: :local: .. _build instructions: The instructions on this page are aimed at vendors who ship Compiler-RT as part of an operating system distribution, a toolchain or similar shipping vehicules. If you are a user merely trying to use Compiler-RT in your program, you most likely want to refer to your vendor's documentation, or to the general documentation for using LLVM, Clang, the various santizers, etc. CMake Options ============= Here are some of the CMake variables that are used often, along with a brief explanation and LLVM-specific notes. For full documentation, check the CMake docs or execute ``cmake --help-variable VARIABLE_NAME``. **CMAKE_BUILD_TYPE**:STRING Sets the build type for ``make`` based generators. Possible values are Release, Debug, RelWithDebInfo and MinSizeRel. On systems like Visual Studio the user sets the build type with the IDE settings. **CMAKE_INSTALL_PREFIX**:PATH Path where LLVM will be installed if "make install" is invoked or the "INSTALL" target is built. **CMAKE_CXX_COMPILER**:STRING The C++ compiler to use when building and testing Compiler-RT. .. _compiler-rt-specific options: Compiler-RT specific options ----------------------- .. option:: COMPILER_RT_INSTALL_PATH:PATH **Default**: ```` (empty relative path) Prefix for directories where built Compiler-RT artifacts should be installed. Can be an absolute path, like the default empty string, in which case it is relative ``CMAKE_INSTALL_PREFIX``. If setting a relative path, make sure to include the ``:PATH`` with your ``-D``, i.e. use ``-DCOMPILER_RT_INSTALL_PATH:PATH=...`` not ``-DCOMPILER_RT_INSTALL_PATH=...``, otherwise CMake will convert the path to an absolute path. .. option:: COMPILER_RT_INSTALL_LIBRARY_DIR:PATH **Default**: ``lib`` Path where built Compiler-RT libraries should be installed. If a relative path, relative to ``COMPILER_RT_INSTALL_PATH``. .. option:: COMPILER_RT_INSTALL_BINARY_DIR:PATH **Default**: ``bin`` Path where built Compiler-RT executables should be installed. If a relative path, relative to ``COMPILER_RT_INSTALL_PATH``. .. option:: COMPILER_RT_INSTALL_INCLUDE_DIR:PATH **Default**: ``include`` Path where Compiler-RT headers should be installed. If a relative path, relative to ``COMPILER_RT_INSTALL_PATH``. .. option:: COMPILER_RT_INSTALL_DATA_DIR:PATH **Default**: ``share`` Path where Compiler-RT data should be installed. If a relative path, relative to ``COMPILER_RT_INSTALL_PATH``. .. _LLVM-specific variables: LLVM-specific options --------------------- .. option:: LLVM_LIBDIR_SUFFIX:STRING Extra suffix to append to the directory where libraries are to be installed. On a 64-bit architecture, one could use ``-DLLVM_LIBDIR_SUFFIX=64`` to install libraries to ``/usr/lib64``.