endif()
# Checks for header libraries functions.
+CHECK_LIBRARY_EXISTS(dl dlopen "" HAVE_DLOPEN_IN_LIBDL)
+CHECK_LIBRARY_EXISTS(execinfo backtrace "" HAVE_BACKTRACE_IN_LIBEXECINFO)
CHECK_LIBRARY_EXISTS(pthread pthread_create "" pthread)
CHECK_LIBRARY_EXISTS(pthread sem_init "" HAVE_SEM_INIT_LIB)
CHECK_LIBRARY_EXISTS(pthread sem_open "" HAVE_SEM_OPEN_LIB)
### Check for GNU dynamic linker
CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H)
if (HAVE_DLFCN_H)
- execute_process(COMMAND ${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_gnu_dynlinker.c -ldl -o test_gnu_ld
+ if(HAVE_DLOPEN_IN_LIBDL)
+ set(DL_LIBRARY "-ldl")
+ endif(HAVE_DLOPEN_IN_LIBDL)
+ execute_process(COMMAND ${CMAKE_C_COMPILER} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/test_prog/prog_gnu_dynlinker.c ${DL_LIBRARY} -o test_gnu_ld
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
OUTPUT_VARIABLE HAVE_GNU_LD_compil
)
endif()
if(MMALLOC_WANT_OVERRIDE_LEGACY AND HAVE_GNU_LD)
- SET(SIMGRID_DEP "${SIMGRID_DEP} -ldl")
+ SET(SIMGRID_DEP "${SIMGRID_DEP} ${DL_LIBRARY}")
endif()
if(HAVE_NS3)
SET(SIMGRID_DEP "${SIMGRID_DEP} -lrt")
endif()
+if(HAVE_BACKTRACE_IN_LIBEXECINFO)
+ SET(SIMGRID_DEP "${SIMGRID_DEP} -lexecinfo")
+endif(HAVE_BACKTRACE_IN_LIBEXECINFO)
+
# Compute the dependencies of SMPI
##################################
if(enable_smpi AND APPLE)