BLD: Add meson handling for netlib install

This commit is contained in:
Rohit Goswami 2024-03-02 21:29:57 +00:00 committed by Mateusz Sokół
parent 2447345cb3
commit a0df66b86b
3 changed files with 83 additions and 21 deletions

View File

@ -1,27 +1,67 @@
# Relevant groups and variables:
#
# _install_aux -- Auxiliary function library
# _int_cpu_time -- Timing library, Fortran only
#
prec = get_option('realkind') prec = get_option('realkind')
if prec == 'd' build_single = get_option('build_single')
if not get_option('use_c_lapack') build_double = get_option('build_double')
LINSTALL = files( build_complex = get_option('build_complex')
build_complex16 = get_option('build_complex16')
build_all_prec = get_option('build_all_prec')
use_c_lapack = get_option('use_c_lapack')
# C / Fortran
_install_aux_srcs = []
if not use_c_lapack
_int_cpu_srcs = [] # Fortran only
_install_aux_srcs += ['ilaver.f']
if prec == 'd' or build_double or build_all_prec
_int_cpu_srcs += [
'dsecnd_INT_CPU_TIME.f',
]
_install_aux_srcs += [
'dlamch.f',
'droundup_lwork.f', 'droundup_lwork.f',
'lsame.f', ]
)
else
LINSTALL = files(
'dlamch.c',
'lsame.c',
)
endif endif
elif prec == 's'
if not get_option('use_c_lapack') if prec == 's' or build_single or build_all_prec
LINSTALL = files( _int_cpu_srcs += [
'second_INT_CPU_TIME.f',
]
_install_aux_srcs += [
'slamch.f', 'slamch.f',
'sroundup_lwork.f', 'sroundup_lwork.f',
'lsame.f', ]
)
else
LINSTALL = files(
'slamch.c',
'lsame.c',
)
endif endif
_int_cpu = library('_int_cpu',
sources: _int_cpu_srcs,
version: lapack_version,
soversion: lapack_major_version,
install: true)
else
_install_aux_srcs += ['ilaver.c']
if prec == 'd' or build_double or build_all_prec
_install_aux_srcs += [
'dlamch.c'
]
endif
if prec == 's' or build_single or build_all_prec
_install_aux_srcs += [
'slamch.c'
]
endif
endif endif
_install_aux = library('_install_aux',
sources: install_aux_srcs,
version: lapack_version,
soversion: lapack_major_version,
install: true)

View File

@ -1,3 +1,25 @@
# Relevant groups and variables:
#
# _allaux -- Auxiliary routines called from all precisions
#
# _slaux -- Auxiliary routines called from single precision
# _dzlaux -- Auxiliary routines called from double precision
#
# _dslasrc -- Double-single mixed precision real routines called from single, single-extra, and double precision real LAPACK routines (SLASRC, SXLASRC, DLASRC)
# _zclasrc -- Double-single mixed precision complex routines called from single, single-extra, and double precision complex LAPACK routines (CLASRC, CXLASRC, ZLASRC)
#
# _slasrc -- Single precision real LAPACK routines
# _sxlasrc -- Single precision real LAPACK routines using extra precision
# _clasrc -- Single precision complex LAPACK routines
# _cxlasrc -- Single precision complex LAPACK routines using extra precision
#
# _dlasrc -- Double precision real LAPACK routines
# _dxlasrc -- Double precision real LAPACK routines using extra precision
# _zlasrc -- Double precision complex LAPACK routines
# _zxlasrc -- Double precision complex LAPACK routines using extra precision
#
# _deprecated -- Deprecated routines in all precisions
ALLAUX = files( ALLAUX = files(
'ilaenv.f', 'ilaenv.f',
'ilaenv2stage.f', 'ilaenv2stage.f',

View File

@ -10,5 +10,5 @@ lapack_patch_version = 0
lapack_version = f'@lapack_major_version@.@lapack_minor_version@.@lapack_patch_version@' lapack_version = f'@lapack_major_version@.@lapack_minor_version@.@lapack_patch_version@'
subdir('BLAS/SRC') # Defines blas and _allblas subdir('BLAS/SRC') # Defines blas and _allblas
subdir('INSTALL') # Defines _install_aux subdir('INSTALL') # Defines _install_aux and _int_cpu_time
subdir('SRC') # Defines lapack subdir('SRC') # Defines lapack