On Sat, Feb 14, 2015 at 12:12:08AM +0200, Sergey Dmitrouk wrote:
> On Fri, Feb 13, 2015 at 01:40:58PM -0800, Saleem Abdulrasool wrote:
> >    How about doing that along with a check that if you are building a DSO
> >    aborting the build with an error that it is unsupported?

Please see attached patch.

--
Sergey
 src/Unwind/CMakeLists.txt | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/Unwind/CMakeLists.txt b/src/Unwind/CMakeLists.txt
index 56c217d..ed65083 100644
--- a/src/Unwind/CMakeLists.txt
+++ b/src/Unwind/CMakeLists.txt
@@ -69,9 +69,16 @@ append_if(LIBCXXABI_COMPILE_FLAGS LIBCXXABI_HAS_FPIC_FLAG 
-fPIC)
 append_if(LIBCXXABI_LINK_FLAGS LIBCXXABI_HAS_NODEFAULTLIBS_FLAG -nodefaultlibs)
 
 set(LIBUNWIND_COMPILE_FLAGS)
-append_if(LIBUNWIND_COMPILE_FLAGS LIBCXXABI_HAS_NO_EXCEPTIONS_FLAG 
-fno-exceptions)
 append_if(LIBUNWIND_COMPILE_FLAGS LIBCXXABI_HAS_NO_RTTI_FLAG -fno-rtti)
-append_if(LIBUNWIND_COMPILE_FLAGS LIBCXXABI_HAS_FUNWIND_TABLES -funwind-tables)
+if ( LIBCXXABI_HAS_NO_EXCEPTIONS_FLAG AND LIBCXXABI_HAS_FUNWIND_TABLES )
+  list(APPEND LIBUNWIND_COMPILE_FLAGS -fno-exceptions)
+  list(APPEND LIBUNWIND_COMPILE_FLAGS -funwind-tables)
+elseif( LIBUNWIND_ENABLE_SHARED )
+  message(FATAL_ERROR "Compiler doesn't support generation of unwind tables "
+                      "if exception support is disabled.  Building libunwind "
+                      "DSO with runtime dependency on libcxxabi is not "
+                      "supported.")
+endif()
 
 set(LIBCXXABI_UNWINDER_NAME "unwind")
 
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to