diff --git a/lapack-netlib/INSTALL/meson.build b/lapack-netlib/INSTALL/meson.build index a2595a018..f922257e6 100644 --- a/lapack-netlib/INSTALL/meson.build +++ b/lapack-netlib/INSTALL/meson.build @@ -1,27 +1,67 @@ +# Relevant groups and variables: +# +# _install_aux -- Auxiliary function library +# _int_cpu_time -- Timing library, Fortran only +# + prec = get_option('realkind') -if prec == 'd' - if not get_option('use_c_lapack') - LINSTALL = files( +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') + +# 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', - 'lsame.f', - ) - else - LINSTALL = files( - 'dlamch.c', - 'lsame.c', - ) + ] endif -elif prec == 's' - if not get_option('use_c_lapack') - LINSTALL = files( + + if prec == 's' or build_single or build_all_prec + _int_cpu_srcs += [ + 'second_INT_CPU_TIME.f', + ] + _install_aux_srcs += [ 'slamch.f', 'sroundup_lwork.f', - 'lsame.f', - ) - else - LINSTALL = files( - 'slamch.c', - 'lsame.c', - ) + ] 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 + +_install_aux = library('_install_aux', + sources: install_aux_srcs, + version: lapack_version, + soversion: lapack_major_version, + install: true) diff --git a/lapack-netlib/SRC/meson.build b/lapack-netlib/SRC/meson.build index ca0cd4ae8..09423b6be 100644 --- a/lapack-netlib/SRC/meson.build +++ b/lapack-netlib/SRC/meson.build @@ -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( 'ilaenv.f', 'ilaenv2stage.f', diff --git a/lapack-netlib/meson.build b/lapack-netlib/meson.build index f5a3e7f88..f1a467664 100644 --- a/lapack-netlib/meson.build +++ b/lapack-netlib/meson.build @@ -10,5 +10,5 @@ lapack_patch_version = 0 lapack_version = f'@lapack_major_version@.@lapack_minor_version@.@lapack_patch_version@' 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