@@ -25,8 +25,9 @@ if sleef_dep.found() and sleef_dep.type_name() != 'internal'
2525 # SLEEF found system-wide - verify quad-precision support
2626 cpp = meson .get_compiler(' cpp' )
2727 sleefquad_lib = cpp.find_library (' sleefquad' , required : false )
28+ tlfloat_lib = cpp.find_library (' tlfloat' , required : false )
2829
29- if sleefquad_lib.found()
30+ if sleefquad_lib.found() and tlfloat_lib.found()
3031 sleefquad_test_code = '''
3132 #include <sleefquad.h>
3233
@@ -40,14 +41,17 @@ if sleef_dep.found() and sleef_dep.type_name() != 'internal'
4041 # this should compile and link
4142 quad_works = cpp.links(
4243 sleefquad_test_code,
43- dependencies : [sleef_dep, sleefquad_lib],
44+ dependencies : [sleef_dep, sleefquad_lib, tlfloat_lib ],
4445 name : ' SLEEF quad-precision support'
4546 )
4647
4748 if quad_works
4849 sleefquad_dep = declare_dependency (
4950 dependencies : [sleef_dep, sleefquad_lib]
5051 )
52+ tlfloat_dep = declare_dependency (
53+ dependencies : [tlfloat_lib]
54+ )
5155 use_system_sleef = true
5256 else
5357 fallback_reason = ' System-wide SLEEF installation found but a test for quad precision support failed.'
6569 sleef_subproj = subproject (' sleef' )
6670 sleef_dep = sleef_subproj.get_variable (' sleef_dep' )
6771 sleefquad_dep = sleef_subproj.get_variable (' sleefquad_dep' )
72+ tlfloat_dep = sleef_subproj.get_variable (' tlfloat_dep' )
6873 warning (fallback_reason)
6974 message (' Proceeding with vendored SLEEF subproject instead' )
7075endif
@@ -84,7 +89,7 @@ message('Using NumPy version: @0@'.format(numpy_version))
8489npymath_path = incdir_numpy / ' ..' / ' lib'
8590npymath_lib = c.find_library (' npymath' , dirs : npymath_path)
8691
87- dependencies = [py_dep, qblas_dep, sleef_dep, sleefquad_dep, npymath_lib]
92+ dependencies = [py_dep, qblas_dep, sleef_dep, sleefquad_dep, tlfloat_dep, npymath_lib]
8893
8994# Add OpenMP dependency (optional, for threading)
9095openmp_dep = dependency (' openmp' , required : false , static : false )
@@ -99,6 +104,11 @@ if not is_windows
99104 if cpp.has_argument(' -fext-numeric-literals' )
100105 add_project_arguments (' -fext-numeric-literals' , language : ' cpp' )
101106 endif
107+
108+ # Suppress warnings from system headers (sleefquad.h has many unused inline functions)
109+ if cpp.has_argument(' -Wno-unused-function' )
110+ add_project_arguments (' -Wno-unused-function' , language : [' c' , ' cpp' ])
111+ endif
102112endif
103113
104114# Thread-local storage detection (borrowed from NumPy)
0 commit comments