CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
108 lines
3.3 KiB
ReStructuredText
108 lines
3.3 KiB
ReStructuredText
.. _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 vehicles. 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``.
|
|
|
|
.. option:: COMPILER_RT_INCLUDE_TESTS:BOOL
|
|
|
|
**Default**: ``LLVM_INCLUDE_TESTS`` in LLVM builds, ``OFF`` in standalone builds.
|
|
|
|
Generate and build compiler-rt tests. If ``OFF``,
|
|
``COMPILER_RT_ENABLE_TEST_SUITES`` has no effect.
|
|
|
|
.. option:: COMPILER_RT_ENABLE_TEST_SUITES:STRING
|
|
|
|
**Default**: ``all``
|
|
|
|
Semicolon-separated list of test suites to enable, or ``all`` to enable all
|
|
test suites.
|
|
Example: ``-DCOMPILER_RT_ENABLE_TEST_SUITES="asan;ubsan;lsan"``
|
|
|
|
.. _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``.
|