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

Frediano Ziglio fziglio at redhat.com
Tue Jun 5 08:32:51 UTC 2018


> 
> 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 at redhat.com>
> ---
>  m4/spice-deps.m4 |  4 ++++
>  meson.build      | 10 ++++++++++
>  2 files changed, 14 insertions(+)
> 
> diff --git a/m4/spice-deps.m4 b/m4/spice-deps.m4
> index 7c0cca4..cf0e048 100644
> --- a/m4/spice-deps.m4
> +++ b/m4/spice-deps.m4
> @@ -64,6 +64,10 @@ 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])
> +    ])
> +

extra empty line

>  ])
>  
>  
> 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

Otherwise,
Acked-by: Frediano Ziglio <fziglio at redhat.com>

Frediano


More information about the Spice-devel mailing list