From 7d648f86b0536696868d4b6a594b900957d6dbd8 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sun, 16 Dec 2018 14:04:10 +0000 Subject: Document the usage of BOOTSTRAP_XXX with stage2 builds llvm-svn: 349299 --- llvm/docs/AdvancedBuilds.rst | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'llvm/docs') diff --git a/llvm/docs/AdvancedBuilds.rst b/llvm/docs/AdvancedBuilds.rst index d2a2ef58b23..8fb1eb5106f 100644 --- a/llvm/docs/AdvancedBuilds.rst +++ b/llvm/docs/AdvancedBuilds.rst @@ -51,6 +51,15 @@ CMake option, each variable separated by a ";". As example: $ cmake -G Ninja -DCLANG_ENABLE_BOOTSTRAP=On -DCLANG_BOOTSTRAP_PASSTHROUGH="CMAKE_INSTALL_PREFIX;CMAKE_VERBOSE_MAKEFILE" $ ninja stage2 +CMake options starting by BOOTSTRAP_ will be passed only to the stage2 build. +This gives the opportunity to use Clang specific build flags. +For example, the following CMake call will enabled '-fno-addrsig' only during +the stage2 build for C and C++. + +.. code-block:: console + + $ cmake [..] -DBOOTSTRAP_CMAKE_CXX_FLAGS='-fno-addrsig' -DBOOTSTRAP_CMAKE_C_FLAGS='-fno-addrsig' [..] + The clang build system refers to builds as stages. A stage1 build is a standard build using the compiler installed on the host, and a stage2 build is built using the stage1 compiler. This nomenclature holds up to more stages too. In -- cgit v1.2.3