[spice-common v2 1/7] build: Ensure we link with -lm if needed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
Acked-by: Frediano Ziglio <fziglio@xxxxxxxxxx>
---
 m4/spice-deps.m4 |  3 +++
 meson.build      | 10 ++++++++++
 2 files changed, 13 insertions(+)

diff --git a/m4/spice-deps.m4 b/m4/spice-deps.m4
index 7c0cca4..3f6c056 100644
--- a/m4/spice-deps.m4
+++ b/m4/spice-deps.m4
@@ -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])
+    ])
 ])
 
 
diff --git a/meson.build b/meson.build
index de777db..4dd4610 100644
--- a/meson.build
+++ b/meson.build
@@ -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
-- 
2.17.1

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]