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.
Prior to 5f9be2c3e37c0428ba56876dd84af04b8d9d8915, the build used
-nodefaultlibs, which skipped both potential C++ standard libraries
and the unwind library, but since that version, -nostdlib++ is
preferred, which omits the C++ standard library, but not any potential
unwind libraries.
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.
You could also use cmake_push_check_state and cmake_pop_check_state to save and restore the state instead of separate variable, but either way is fine.