libcxx: Facilitate building without llvm libunwind
libcxx: Facilitate building without llvm libunwind

when llvm unwind library is disabled, build was not picking up libgcc
automatically since we still use, compiler-rt for C runtime, therefore
introduce it via special CMAKE_SHARED_LINKER_FLAGS in packageconfig

Bundle static unwind library into libcxx-abi library and bundle
libcxx-abi.a into libc++.a this helps in just specifying lc++ and no
other flags are needed.

Also bundle static libunwind and cxx-abi but not into shared libc++, this would
avoid adding them explicitly on linker cmdline in packages when doing
static linking

Use PREFERRED_PROVIDER_libunwind to determine if unwind packageconfig
should be enabled or not

Pass -fno-exceptions on arm, otherwise it links in unwinding routines
which it expects to link from libgcc_s, we really don't need this when
doing cmake checks so disable exceptions during cmake checks

Signed-off-by: Khem Raj <729d64b6f67515e258459a5f6d20ec88b2caf8df@gmail.com>

kraj/meta-clang,kraj/meta-clang,kraj/meta-clang