endif()
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/)
+ # Mac OSX has a libunwind that is not the one we need
+ CHECK_LIBRARY_EXISTS(unwind unw_init_local "Whether libunwind is usable" RIGHT_LIBUNWIND)
+
+ if (RIGHT_LIBUNWIND)
+ 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/)
+ endif()
endif()
find_path(PATH_LIBUNWIND_H "libunwind.h"
include_directories(${PATH_LIBUNWIND_H})
link_directories(${PATH_LIBUNWIND_LIB})
-
+ SET(HAVE_LIBUNWIND 1)
else()
- message(FATAL_ERROR "Please either install the libunwind7-dev package (or equivalent) or turn off the model-checking option of SimGrid.")
+ SET(HAVE_LIBUNWIND 0)
endif()
mark_as_advanced(PATH_LIBDW_H)
mark_as_advanced(PATH_LIBDW_LIB)
+mark_as_advanced(PATH_LIBUNWIND_LIB)
+mark_as_advanced(PATH_LIBUNWIND_H)