BLD: Cleanup and refactor netlib

This commit is contained in:
Rohit Goswami 2024-03-02 22:03:59 +00:00 committed by Mateusz Sokół
parent 722f17337c
commit 56e8aa74ac
5 changed files with 26 additions and 16 deletions

View File

@ -30,13 +30,6 @@
# _sblas3 -- Single precision real BLAS3 routines # _sblas3 -- Single precision real BLAS3 routines
# _cblas3 -- Single precision complex BLAS3 routines # _cblas3 -- Single precision complex BLAS3 routines
prec = get_option('realkind')
build_single = get_option('build_single')
build_double = get_option('build_double')
build_complex = get_option('build_complex')
build_complex16 = get_option('build_complex16')
build_all_prec = get_option('build_all_prec')
# _allblas -- Auxiliary routines for Level 2 and 3 BLAS # _allblas -- Auxiliary routines for Level 2 and 3 BLAS
_allblas = library('_allblas', _allblas = library('_allblas',
sources: [ 'lsame.f', 'xerbla.f', 'xerbla_array.f' ]) sources: [ 'lsame.f', 'xerbla.f', 'xerbla_array.f' ])
@ -282,7 +275,7 @@ if prec == 's' or build_single or build_all_prec
endif endif
# Create the blas library # Create the blas library
blas = library('blas', blas = library(_netlib_blas_name,
sources: _blas_netlib_srcs, sources: _blas_netlib_srcs,
link_with: _allblas, link_with: _allblas,
version: lapack_version, version: lapack_version,

View File

@ -0,0 +1,7 @@
_netlib_blas_name = get_option('netlib_blas_name')
_netlib_cblas_name = get_option('netlib_cblas_name')
_netlib_lapack_name = get_option('netlib_lapack_name')
_netlib_tmglib_name = get_option('netlib_tmglib_name')
_netlib_lapacke_name = get_option('netlib_lapacke_name')
subdir('SRC')

View File

@ -3,13 +3,6 @@
# _install_aux -- Auxiliary function library # _install_aux -- Auxiliary function library
# _int_cpu_time -- Timing library, Fortran only # _int_cpu_time -- Timing library, Fortran only
# #
prec = get_option('realkind')
build_single = get_option('build_single')
build_double = get_option('build_double')
build_all_prec = get_option('build_all_prec')
use_c_lapack = get_option('use_c_lapack')
# C / Fortran # C / Fortran
_install_aux_srcs = [] _install_aux_srcs = []
_ia_linkwith = [] _ia_linkwith = []

View File

@ -9,6 +9,16 @@ lapack_minor_version = 12
lapack_patch_version = 0 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 # Common variables
prec = get_option('realkind')
build_single = get_option('build_single')
build_double = get_option('build_double')
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')
# Sub-directories
subdir('BLAS') # Defines blas and _allblas
subdir('INSTALL') # Defines _install_aux and _int_cpu_time subdir('INSTALL') # Defines _install_aux and _int_cpu_time
subdir('SRC') # Defines lapack subdir('SRC') # Defines lapack

View File

@ -33,3 +33,10 @@ option('realkind', type : 'string', value : 'd',
# Meson only # Meson only
# This is the equivalent of producing all precisions via make all inside lapack-netlib/blas/src # This is the equivalent of producing all precisions via make all inside lapack-netlib/blas/src
option('build_all_prec', type: 'boolean', value: true, description: 'Build all precisions') option('build_all_prec', type: 'boolean', value: true, description: 'Build all precisions')
# For naming netlib libraries
option('netlib_blas_name', type: 'string', value: 'refblas', description: 'Name for the Netlib BLAS library')
option('netlib_cblas_name', type: 'string', value: 'clbas', description: 'Name for the Netlib CBLAS library')
option('netlib_lapack_name', type: 'string', value: 'lapack', description: 'Name for the Netlib LAPACK library')
option('netlib_tmglib_name', type: 'string', value: 'tmglib', description: 'Name for the Netlib TMGLIB library')
option('netlib_lapacke_name', type: 'string', value: 'lapacke', description: 'Name for the Netlib LAPACKE library')