@@ -12,10 +12,10 @@ highs_opts = {
12
12
' do_install' : false ,
13
13
}
14
14
15
- # Hacky workaround to not check cpu_family for 32 bit identifiers
16
- is_32bit = target_machine .cpu_family() in [ ' arc ' , ' arm ' , ' csky ' , ' ft32 ' , ' mips ' , ' ppc ' , ' riscv32 ' , ' rx ' , ' sparc ' , ' wasm32 ' , ' x86 ' ]
17
- _float_store = cc.get_supported_arguments( ' -ffloat-store ' )
18
- _cpp_float_store = cpp.get_supported_arguments( ' -ffloat-store ' )
15
+ is_32bit = false
16
+ if cc.sizeof( ' void* ' ) <= 4
17
+ is_32bit = true
18
+ endif
19
19
20
20
highs_proj = subproject (' highs' , default_options : highs_opts)
21
21
@@ -27,6 +27,8 @@ highs_cpp_suppressions = highs_proj.get_variable('_highs_cpp_suppressions')
27
27
highs_c_suppressions = highs_proj.get_variable (' _highs_c_suppressions' )
28
28
29
29
if is_32bit
30
+ _float_store = cc.get_supported_arguments(' -ffloat-store' )
31
+ _cpp_float_store = cpp.get_supported_arguments(' -ffloat-store' )
30
32
highs_args += _float_store + _cpp_float_store
31
33
endif
32
34
@@ -54,7 +56,7 @@ _highs_dep = declare_dependency(
54
56
include_directories : highs_incdirs,
55
57
)
56
58
57
- scipy_highspy_dep = [py3_dep, pybind11_dep, _highs_dep, thread_dep, atomic_dep]
59
+ scipy_highspy_dep = [pybind11_dep, _highs_dep, thread_dep, atomic_dep]
58
60
59
61
py3.install_sources(
60
62
[' __init__.py' , ' _highs_wrapper.py' ],
@@ -66,7 +68,6 @@ py3.extension_module(
66
68
sources : [highspy_cpp, highs_conf_file],
67
69
dependencies : scipy_highspy_dep,
68
70
link_args : version_link_args,
69
- gnu_symbol_visibility : ' hidden' , # default
70
71
install : true ,
71
72
subdir : ' scipy/optimize/_highspy' ,
72
73
)
@@ -76,7 +77,6 @@ py3.extension_module(
76
77
sources : [highs_conf_file, ' highs_options.cpp' ],
77
78
dependencies : scipy_highspy_dep,
78
79
link_args : version_link_args,
79
- gnu_symbol_visibility : ' hidden' , # default
80
80
install : true ,
81
81
subdir : ' scipy/optimize/_highspy' ,
82
82
)
0 commit comments