Check for execinfo.h and add libexecinfo if needed

Some systems (e.g. musl) do not have execinfo.h header.
Check if libexecinfo (library that provides execinfo.h header
and its functions) is installed in the system, and add
its linker flag if needed.
This commit is contained in:
Danilo Spinella 2019-05-31 10:57:38 +02:00 committed by Christoph Oelckers
parent f4f39becbd
commit 1802b7c6fe

View file

@ -323,6 +323,19 @@ else()
set( ZLIB_LIBRARY z ) set( ZLIB_LIBRARY z )
endif() endif()
if( HAVE_VM_JIT AND UNIX )
check_symbol_exists( "backtrace" "execinfo.h" HAVE_BACKTRACE )
if( NOT HAVE_BACKTRACE )
set( CMAKE_REQUIRED_FLAGS "-lexecinfo" )
check_symbol_exists( "backtrace" "execinfo.h" HAVE_LIBEXECINFO )
if( HAVE_LIBEXECINFO )
set( ALL_C_FLAGS "${ALL_C_FLAGS} -lexecinfo" )
else( HAVE_LIBEXECINFO )
set( HAVE_VM_JIT NO )
endif( HAVE_LIBEXECINFO )
endif( NOT HAVE_BACKTRACE )
endif( HAVE_VM_JIT AND UNIX )
if( ${HAVE_VM_JIT} ) if( ${HAVE_VM_JIT} )
if( ASMJIT_FOUND AND NOT FORCE_INTERNAL_ASMJIT ) if( ASMJIT_FOUND AND NOT FORCE_INTERNAL_ASMJIT )
message( STATUS "Using system asmjit, includes found at ${ASMJIT_INCLUDE_DIR}" ) message( STATUS "Using system asmjit, includes found at ${ASMJIT_INCLUDE_DIR}" )