Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix MC builds after my fix for Mac OSX around libunwind :-(
[simgrid.git] / tools / cmake / Modules / FindLibunwind.cmake
index 67bcde67ae5b7a627d66f63b190e7ce7b81fb392..bce74ff8e6059ad4865c01c7bf44226c87bb964a 100644 (file)
@@ -18,17 +18,25 @@ if(NOT PATH_LIBUNWIND_LIB)
   find_library(PATH_LIBUNWIND_LIB
     NAMES unwind
     HINTS
-    $ENV{SIMGRID_LIBUNWIND_LIBRARY_PATH}
-    $ENV{LD_LIBRARY_PATH}
-    $ENV{LIBUNWIND_LIBRARY_PATH}
-    PATH_SUFFIXES lib/ GnuWin32/lib lib/system
-    PATHS
-    /opt
-    /opt/local
-    /opt/csw
-    /sw
-    /usr
-    /usr/lib/)
+      $ENV{SIMGRID_LIBUNWIND_LIBRARY_PATH}
+      $ENV{LD_LIBRARY_PATH}
+      $ENV{LIBUNWIND_LIBRARY_PATH}
+      PATH_SUFFIXES lib/ GnuWin32/lib lib/system
+      PATHS
+      /opt
+      /opt/local
+      /opt/csw
+      /sw
+      /usr
+      /usr/lib/)
+      
+  # Mac OSX has a libunwind that is not the one we need, so double check
+  if (PATH_LIBUNWIND_LIB)
+    CHECK_LIBRARY_EXISTS(unwind unw_init_local PATH_LIBUNWIND_LIB RIGHT_LIBUNWIND)
+    if (NOT RIGHT_LIBUNWIND)
+      unset(PATH_LIBUNWIND_LIB)
+    endif()
+  endif()
 endif()
 
 find_path(PATH_LIBUNWIND_H "libunwind.h"