[glib/wip/pwithnall/freebsd-math] build: Link libglib to libm on FreeBSD to provide isfinite()




commit 87a80107496ee42f6e9e5095e4f6a60fad02e25a
Author: Philip Withnall <pwithnall endlessos org>
Date:   Fri Dec 11 12:27:42 2020 +0000

    build: Link libglib to libm on FreeBSD to provide isfinite()
    
    Not needed on Linux as it’s provided by the standard library.
    
    Signed-off-by: Philip Withnall <pwithnall endlessos org>

 glib/meson.build | 2 +-
 meson.build      | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)
---
diff --git a/glib/meson.build b/glib/meson.build
index 583a31b86..990c25f37 100644
--- a/glib/meson.build
+++ b/glib/meson.build
@@ -377,7 +377,7 @@ libglib = library('glib-2.0',
   # intl.lib is not compatible with SAFESEH
   link_args : [noseh_link_args, glib_link_flags, win32_ldflags],
   include_directories : configinc,
-  dependencies : pcre_deps + [thread_dep, librt] + libintl_deps + libiconv + platform_deps + 
gnulib_libm_dependency + [libsysprof_capture_dep],
+  dependencies : pcre_deps + [thread_dep, librt] + libintl_deps + libiconv + platform_deps + 
gnulib_libm_dependency + [libsysprof_capture_dep] + isfinite_deps,
   c_args : glib_c_args,
   objc_args : glib_c_args,
 )
diff --git a/meson.build b/meson.build
index 7e9f89be3..5c1108d7e 100644
--- a/meson.build
+++ b/meson.build
@@ -1980,7 +1980,14 @@ if host_system == 'windows'
   endif
 endif
 
+# libm is needed on BSD for isfinite(); on Linux that function is provided by glibc
 libm = cc.find_library('m', required : false)
+if cc.has_function('isfinite')
+  isfinite_deps = []
+else
+  isfinite_deps = cc.find_library('m', required : true)
+endif
+
 libffi_dep = dependency('libffi', version : '>= 3.0.0', fallback : ['libffi', 'ffi_dep'])
 
 # Don't use the bundled ZLib sources until we are sure that we can't find it on


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