Skip to content

Commit

Permalink
Adding integrate to meson.build (#21)
Browse files Browse the repository at this point in the history
  • Loading branch information
czgdp1807 authored and rgommers committed Jul 27, 2021
1 parent 22c49a4 commit 6d29ca5
Show file tree
Hide file tree
Showing 6 changed files with 211 additions and 0 deletions.
1 change: 1 addition & 0 deletions mesondev.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ python -c "from scipy.sparse import csgraph as s; s.test()"
# python -c "from scipy import fftpack as s; s.test()" # relies on fft
# python -c "from scipy import fft as s; s.test()" # relies on special
# python -c "from scipy import _lib as s; s.test()" # relies on spatial
# python -c "from scipy import integrate as s; s.test()" # relies on special
# python -c "from scipy import optimize as s; s.test()" # relies on sparse.linalg
popd

Expand Down
14 changes: 14 additions & 0 deletions scipy/integrate/_ivp/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
py3.install_sources(['__init__.py',
'dop853_coefficients.py',
'bdf.py',
'radau.py',
'rk.py',
'common.py',
'ivp.py',
'base.py',
'lsoda.py'],
pure : false,
subdir : 'scipy/integrate/_ivp'
)

subdir('tests')
5 changes: 5 additions & 0 deletions scipy/integrate/_ivp/tests/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
py3.install_sources(['test_rk.py',
'test_ivp.py'],
pure : false,
subdir : 'scipy/integrate/_ivp/tests'
)
179 changes: 179 additions & 0 deletions scipy/integrate/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,179 @@
fortran_ignore_warnings = [
'-Wno-tabs', '-Wno-conversion',
'-Wno-argument-mismatch', '-Wno-unused-dummy-argument',
'-Wno-maybe-uninitialized', '-Wno-unused-label',
'-Wno-unused-variable']

mach_src = ['mach/d1mach.f', 'mach/xerror.f']
quadpack_src = ['quadpack/dqagie.f',
'quadpack/dqk15i.f',
'quadpack/dqawo.f',
'quadpack/dqelg.f',
'quadpack/dqage.f',
'quadpack/dqng.f',
'quadpack/dqwgts.f',
'quadpack/dqwgtc.f',
'quadpack/dqag.f',
'quadpack/dqcheb.f',
'quadpack/dqc25s.f',
'quadpack/dqagpe.f',
'quadpack/dqk51.f',
'quadpack/dqk41.f',
'quadpack/dqagi.f',
'quadpack/dqags.f',
'quadpack/dqpsrt.f',
'quadpack/dqk15.f',
'quadpack/dqaws.f',
'quadpack/dqc25f.f',
'quadpack/dqwgtf.f',
'quadpack/dqawfe.f',
'quadpack/dqagse.f',
'quadpack/dqawf.f',
'quadpack/dqawse.f',
'quadpack/dqawc.f',
'quadpack/dqk61.f',
'quadpack/dqawoe.f',
'quadpack/dqagp.f',
'quadpack/dqc25c.f',
'quadpack/dqk15w.f',
'quadpack/dqk31.f',
'quadpack/dqmomo.f',
'quadpack/dqawce.f',
'quadpack/dqk21.f'
]
lsoda_src = ['odepack/blkdta000.f',
'odepack/bnorm.f',
'odepack/cfode.f',
'odepack/ewset.f',
'odepack/fnorm.f',
'odepack/intdy.f',
'odepack/lsoda.f',
'odepack/prja.f',
'odepack/solsy.f',
'odepack/srcma.f',
'odepack/stoda.f',
'odepack/vmnorm.f',
'odepack/xerrwv.f',
'odepack/xsetf.f',
'odepack/xsetun.f'
]
vode_src = ['odepack/vode.f', 'odepack/zvode.f']
dop_src = ['dop/dop853.f', 'dop/dopri5.f']
quadpack_test_src = ['tests/_test_multivariate.c']
odeint_banded_test_src = ['tests/banded5x5.f']

mach_lib = static_library('mach_lib',
mach_src,
fortran_args: fortran_ignore_warnings)
quadpack_lib = static_library('quadpack_lib',
quadpack_src,
fortran_args: fortran_ignore_warnings)
lsoda_lib = static_library('lsoda_lib',
lsoda_src,
fortran_args: fortran_ignore_warnings)
vode_lib = static_library('vode_lib',
vode_src,
fortran_args: fortran_ignore_warnings)
dop_lib = static_library('dop_lib',
dop_src,
fortran_args: fortran_ignore_warnings)

# TODO: Add c_args: numpy_nodepr_api
py3.extension_module('_quadpack',
['__quadpack.h', '_quadpackmodule.c'] + quadpack_src + mach_src,
fortran_args: fortran_ignore_warnings,
include_directories: [inc_np, '../_lib/src'],
link_with: [quadpack_lib, mach_lib],
dependencies: [py3_dep],
install: true,
subdir: 'scipy/integrate'
)

py3.extension_module('_odepack',
lsoda_src + mach_src + ['_odepackmodule.c'],
c_args: numpy_nodepr_api,
fortran_args: fortran_ignore_warnings,
link_with: [lsoda_lib, mach_lib],
dependencies: [py3_dep],
include_directories: [inc_np],
install: true,
subdir: 'scipy/integrate'
)

vode_module = custom_target('vode_module',
output : ['vode-f2pywrappers.f', 'vodemodule.c'],
input : 'vode.pyf',
command : [py3, generate_f2pymod, '@INPUT@', '-o', '@OUTDIR@'],
)

py3.extension_module('vode',
[vode_module, fortranobject_c],
link_with: [vode_lib, lsoda_lib],
c_args: numpy_nodepr_api,
dependencies: [py3_dep],
include_directories: [inc_np, inc_f2py],
install: true,
subdir: 'scipy/integrate'
)

lsoda_module = custom_target('lsoda_module',
output : ['lsoda-f2pywrappers.f', 'lsodamodule.c'],
input : 'lsoda.pyf',
command : [py3, generate_f2pymod, '@INPUT@', '-o', '@OUTDIR@'],
)

py3.extension_module('lsoda',
[lsoda_module, fortranobject_c],
link_with: [lsoda_lib, mach_lib],
c_args: numpy_nodepr_api,
dependencies: [py3_dep],
include_directories: [inc_np, inc_f2py],
install: true,
subdir: 'scipy/integrate'
)

_dop_module = custom_target('_dop_module',
output : ['_dop-f2pywrappers.f', '_dopmodule.c'],
input : 'dop.pyf',
command : [py3, generate_f2pymod, '@INPUT@', '-o', '@OUTDIR@'],
)

py3.extension_module('_dop',
[_dop_module, fortranobject_c],
link_with: [dop_lib],
c_args: numpy_nodepr_api,
dependencies: [py3_dep],
include_directories: [inc_np, inc_f2py],
install: true,
subdir: 'scipy/integrate'
)

py3.extension_module('_test_multivariate',
[quadpack_test_src],
dependencies: [py3_dep],
install: true,
subdir: 'scipy/integrate'
)

py3.extension_module('_test_odeint_banded',
odeint_banded_test_src,
link_with: [lsoda_lib, mach_lib],
fortran_args: fortran_ignore_warnings,
install: true,
subdir: 'scipy/integrate'
)

subdir('_ivp')
subdir('tests')

py3.install_sources(['_quad_vec.py',
'__init__.py',
'_quadrature.py',
'_ode.py',
'quadpack.py',
'_bvp.py',
'setup.py',
'odepack.py'],
pure : false,
subdir : 'scipy/integrate'
)
11 changes: 11 additions & 0 deletions scipy/integrate/tests/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
py3.install_sources(['test_bvp.py',
'__init__.py',
'test__quad_vec.py',
'test_odeint_jac.py',
'test_integrate.py',
'test_quadpack.py',
'test_banded_ode_solvers.py',
'test_quadrature.py'],
pure : false,
subdir : 'scipy/integrate/tests'
)
1 change: 1 addition & 0 deletions scipy/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ subdir('_lib')
subdir('cluster')
subdir('constants')
subdir('fftpack')
subdir('integrate')
subdir('linalg')
subdir('ndimage')
subdir('odr')
Expand Down

0 comments on commit 6d29ca5

Please sign in to comment.