llvm-project/cmake/Modules
Martin Storsjö 7af584ed87 [libunwind] Try to add --unwindlib=none while configuring and building libunwind
If Clang is set up to link directly against libunwind (via the
--unwindlib option, or the corresponding builtin default option),
configuring libunwind will fail while bootstrapping (before the
initial libunwind is built), because every cmake test will
fail due to -lunwind not being found, and linking the shared library
will fail similarly.

Check if --unwindlib=none is supported, and add it in that case.
Using check_c_compiler_flag on its own doesn't work, because that only
adds the tested flag to the compilation command, and if -lunwind is
missing, the linking step would still fail - instead try adding it
to CMAKE_REQUIRED_FLAGS and restore the variable if it doesn't work.

This avoids having to pass --unwindlib=none while building libunwind.

Differential Revision: https://reviews.llvm.org/D112126
2021-11-05 10:10:19 +02:00
..
CheckLinkerFlag.cmake [libunwind] Try to add --unwindlib=none while configuring and building libunwind 2021-11-05 10:10:19 +02:00
EnableLanguageNolink.cmake [libunwind] Try to add --unwindlib=none while configuring and building libunwind 2021-11-05 10:10:19 +02:00
HandleCompilerRT.cmake [CMake] Cache the compiler-rt library search results 2021-10-27 17:53:03 -07:00