Browse Source

BLD: Add meson handling for netlib install

pull/4832/head
Rohit Goswami Mateusz Sokół 2 years ago
parent
commit
a0df66b86b
3 changed files with 83 additions and 21 deletions
  1. +60
    -20
      lapack-netlib/INSTALL/meson.build
  2. +22
    -0
      lapack-netlib/SRC/meson.build
  3. +1
    -1
      lapack-netlib/meson.build

+ 60
- 20
lapack-netlib/INSTALL/meson.build 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')
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)

+ 22
- 0
lapack-netlib/SRC/meson.build 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(
'ilaenv.f',
'ilaenv2stage.f',


+ 1
- 1
lapack-netlib/meson.build View File

@@ -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

Loading…
Cancel
Save