build: Ensure we link with -lm if needed

lines.c uses hypot(), which is found in libm on some systems. This means
we are currently relying on getting -lm indirectly through some other
means, as otherwise linking any binary with spice-common would fail.

Signed-off-by: Christophe Fergeau <cfergeau@redhat.com>
Acked-by: Frediano Ziglio <fziglio@redhat.com>
This commit is contained in:
Christophe Fergeau 2018-06-05 11:26:56 +02:00 committed by Frediano Ziglio
parent 349a74d7c2
commit e98f8a430f
2 changed files with 13 additions and 0 deletions

View File

@ -64,6 +64,9 @@ AC_DEFUN([SPICE_CHECK_SYSDEPS], [
AC_FUNC_ERROR_AT_LINE
AC_FUNC_FORK
AC_CHECK_FUNCS([dup2 floor inet_ntoa memmove memset pow sqrt])
AC_SEARCH_LIBS([hypot], [m], [], [
AC_MSG_ERROR([unable to find the hypot() function])
])
])

View File

@ -87,6 +87,16 @@ foreach func : functions
endif
endforeach
# check for hypot function
#
# Include math.h header to avoid problems with builtins.
# In some systems the function is in libm.
if not compiler.has_function('hypot', prefix : '#include <math.h>')
libm = compiler.find_library('m', required : false)
if compiler.has_function('hypot', prefix : '#include <math.h>', dependencies : libm)
spice_common_deps += libm
endif
endif
#
# check for mandatory dependencies