_superlu_lib_c_args = ['-DUSE_VENDOR_BLAS=1'] if is_windows _superlu_lib_c_args += ['-DNO_TIMER=1'] endif _superlu_lib_c_args += cc.get_supported_arguments( Wno_unused_variable, Wno_parentheses, Wno_unused_label, Wno_implicit_function_declaration, Wno_switch, ) superlu_lib = static_library('superlu_lib', [ 'SuperLU/SRC/ccolumn_bmod.c', 'SuperLU/SRC/ccolumn_dfs.c', 'SuperLU/SRC/ccopy_to_ucol.c', 'SuperLU/SRC/cdiagonal.c', 'SuperLU/SRC/cgscon.c', 'SuperLU/SRC/cgsequ.c', 'SuperLU/SRC/cgsisx.c', 'SuperLU/SRC/cgsitrf.c', 'SuperLU/SRC/cgsrfs.c', 'SuperLU/SRC/cgssv.c', 'SuperLU/SRC/cgssvx.c', 'SuperLU/SRC/cgstrf.c', 'SuperLU/SRC/cgstrs.c', 'SuperLU/SRC/clacon2.c', 'SuperLU/SRC/clangs.c', 'SuperLU/SRC/claqgs.c', 'SuperLU/SRC/cldperm.c', 'SuperLU/SRC/cmemory.c', 'SuperLU/SRC/cmyblas2.c', 'SuperLU/SRC/colamd.c', 'SuperLU/SRC/cpanel_bmod.c', 'SuperLU/SRC/cpanel_dfs.c', 'SuperLU/SRC/cpivotL.c', 'SuperLU/SRC/cpivotgrowth.c', 'SuperLU/SRC/cpruneL.c', 'SuperLU/SRC/creadhb.c', 'SuperLU/SRC/creadrb.c', 'SuperLU/SRC/creadtriple.c', 'SuperLU/SRC/csnode_bmod.c', 'SuperLU/SRC/csnode_dfs.c', 'SuperLU/SRC/csp_blas2.c', 'SuperLU/SRC/csp_blas3.c', 'SuperLU/SRC/cutil.c', 'SuperLU/SRC/dGetDiagU.c', 'SuperLU/SRC/dcolumn_bmod.c', 'SuperLU/SRC/dcolumn_dfs.c', 'SuperLU/SRC/dcomplex.c', 'SuperLU/SRC/dcopy_to_ucol.c', 'SuperLU/SRC/ddiagonal.c', 'SuperLU/SRC/dgscon.c', 'SuperLU/SRC/dgsequ.c', 'SuperLU/SRC/dgsisx.c', 'SuperLU/SRC/dgsitrf.c', 'SuperLU/SRC/dgsrfs.c', 'SuperLU/SRC/dgssv.c', 'SuperLU/SRC/dgssvx.c', 'SuperLU/SRC/dgstrf.c', 'SuperLU/SRC/dgstrs.c', 'SuperLU/SRC/dlacon2.c', 'SuperLU/SRC/dlangs.c', 'SuperLU/SRC/dlaqgs.c', 'SuperLU/SRC/dldperm.c', 'SuperLU/SRC/dmach.c', 'SuperLU/SRC/dmemory.c', 'SuperLU/SRC/dmyblas2.c', 'SuperLU/SRC/dpanel_bmod.c', 'SuperLU/SRC/dpanel_dfs.c', 'SuperLU/SRC/dpivotL.c', 'SuperLU/SRC/dpivotgrowth.c', 'SuperLU/SRC/dpruneL.c', 'SuperLU/SRC/dreadhb.c', 'SuperLU/SRC/dreadrb.c', 'SuperLU/SRC/dreadtriple.c', 'SuperLU/SRC/dsnode_bmod.c', 'SuperLU/SRC/dsnode_dfs.c', 'SuperLU/SRC/dsp_blas2.c', 'SuperLU/SRC/dsp_blas3.c', 'SuperLU/SRC/dutil.c', 'SuperLU/SRC/dzsum1.c', 'SuperLU/SRC/get_perm_c.c', 'SuperLU/SRC/heap_relax_snode.c', 'SuperLU/SRC/icmax1.c', 'SuperLU/SRC/ilu_ccolumn_dfs.c', 'SuperLU/SRC/ilu_ccopy_to_ucol.c', 'SuperLU/SRC/ilu_cdrop_row.c', 'SuperLU/SRC/ilu_cpanel_dfs.c', 'SuperLU/SRC/ilu_cpivotL.c', 'SuperLU/SRC/ilu_csnode_dfs.c', 'SuperLU/SRC/ilu_dcolumn_dfs.c', 'SuperLU/SRC/ilu_dcopy_to_ucol.c', 'SuperLU/SRC/ilu_ddrop_row.c', 'SuperLU/SRC/ilu_dpanel_dfs.c', 'SuperLU/SRC/ilu_dpivotL.c', 'SuperLU/SRC/ilu_dsnode_dfs.c', 'SuperLU/SRC/ilu_heap_relax_snode.c', 'SuperLU/SRC/ilu_relax_snode.c', 'SuperLU/SRC/ilu_scolumn_dfs.c', 'SuperLU/SRC/ilu_scopy_to_ucol.c', 'SuperLU/SRC/ilu_sdrop_row.c', 'SuperLU/SRC/ilu_spanel_dfs.c', 'SuperLU/SRC/ilu_spivotL.c', 'SuperLU/SRC/ilu_ssnode_dfs.c', 'SuperLU/SRC/ilu_zcolumn_dfs.c', 'SuperLU/SRC/ilu_zcopy_to_ucol.c', 'SuperLU/SRC/ilu_zdrop_row.c', 'SuperLU/SRC/ilu_zpanel_dfs.c', 'SuperLU/SRC/ilu_zpivotL.c', 'SuperLU/SRC/ilu_zsnode_dfs.c', 'SuperLU/SRC/input_error.c', 'SuperLU/SRC/izmax1.c', 'SuperLU/SRC/mark_relax.c', 'SuperLU/SRC/memory.c', 'SuperLU/SRC/mmd.c', 'SuperLU/SRC/qselect.c', 'SuperLU/SRC/relax_snode.c', 'SuperLU/SRC/scolumn_bmod.c', 'SuperLU/SRC/scolumn_dfs.c', 'SuperLU/SRC/scomplex.c', 'SuperLU/SRC/scopy_to_ucol.c', 'SuperLU/SRC/scsum1.c', 'SuperLU/SRC/sdiagonal.c', 'SuperLU/SRC/sgscon.c', 'SuperLU/SRC/sgsequ.c', 'SuperLU/SRC/sgsisx.c', 'SuperLU/SRC/sgsitrf.c', 'SuperLU/SRC/sgsrfs.c', 'SuperLU/SRC/sgssv.c', 'SuperLU/SRC/sgssvx.c', 'SuperLU/SRC/sgstrf.c', 'SuperLU/SRC/sgstrs.c', 'SuperLU/SRC/slacon2.c', 'SuperLU/SRC/slangs.c', 'SuperLU/SRC/slaqgs.c', 'SuperLU/SRC/sldperm.c', 'SuperLU/SRC/smach.c', 'SuperLU/SRC/smemory.c', 'SuperLU/SRC/smyblas2.c', 'SuperLU/SRC/sp_coletree.c', 'SuperLU/SRC/sp_ienv.c', 'SuperLU/SRC/sp_preorder.c', 'SuperLU/SRC/spanel_bmod.c', 'SuperLU/SRC/spanel_dfs.c', 'SuperLU/SRC/spivotL.c', 'SuperLU/SRC/spivotgrowth.c', 'SuperLU/SRC/spruneL.c', 'SuperLU/SRC/sreadhb.c', 'SuperLU/SRC/sreadrb.c', 'SuperLU/SRC/sreadtriple.c', 'SuperLU/SRC/ssnode_bmod.c', 'SuperLU/SRC/ssnode_dfs.c', 'SuperLU/SRC/ssp_blas2.c', 'SuperLU/SRC/ssp_blas3.c', 'SuperLU/SRC/superlu_timer.c', 'SuperLU/SRC/sutil.c', 'SuperLU/SRC/util.c', 'SuperLU/SRC/zcolumn_bmod.c', 'SuperLU/SRC/zcolumn_dfs.c', 'SuperLU/SRC/zcopy_to_ucol.c', 'SuperLU/SRC/zdiagonal.c', 'SuperLU/SRC/zgscon.c', 'SuperLU/SRC/zgsequ.c', 'SuperLU/SRC/zgsisx.c', 'SuperLU/SRC/zgsitrf.c', 'SuperLU/SRC/zgsrfs.c', 'SuperLU/SRC/zgssv.c', 'SuperLU/SRC/zgssvx.c', 'SuperLU/SRC/zgstrf.c', 'SuperLU/SRC/zgstrs.c', 'SuperLU/SRC/zlacon2.c', 'SuperLU/SRC/zlangs.c', 'SuperLU/SRC/zlaqgs.c', 'SuperLU/SRC/zldperm.c', 'SuperLU/SRC/zmemory.c', 'SuperLU/SRC/zmyblas2.c', 'SuperLU/SRC/zpanel_bmod.c', 'SuperLU/SRC/zpanel_dfs.c', 'SuperLU/SRC/zpivotL.c', 'SuperLU/SRC/zpivotgrowth.c', 'SuperLU/SRC/zpruneL.c', 'SuperLU/SRC/zreadhb.c', 'SuperLU/SRC/zreadrb.c', 'SuperLU/SRC/zreadtriple.c', 'SuperLU/SRC/zsnode_bmod.c', 'SuperLU/SRC/zsnode_dfs.c', 'SuperLU/SRC/zsp_blas2.c', 'SuperLU/SRC/zsp_blas3.c', 'SuperLU/SRC/zutil.c' ], c_args: _superlu_lib_c_args, include_directories: ['SuperLU/SRC'] ) _superlu = py3.extension_module('_superlu', ['_superlumodule.c', '_superlu_utils.c', '_superluobject.c'], c_args: numpy_nodepr_api, link_with: [superlu_lib], include_directories: [incdir_numpy, 'SuperLU/SRC'], dependencies: [py3_dep, blas, lapack], install: true, subdir: 'scipy/sparse/linalg/_dsolve' ) py3.install_sources([ '__init__.py', '_add_newdocs.py', 'linsolve.py' ], pure: false, subdir: 'scipy/sparse/linalg/_dsolve' ) subdir('tests')