Browse Source

BLD: Use `both_libraries` to build libs

pull/4885/head
Mateusz Sokół 1 year ago
parent
commit
04d9a533bb
5 changed files with 27 additions and 29 deletions
  1. +1
    -1
      ctest/meson.build
  2. +7
    -6
      lapack-netlib/SRC/meson.build
  3. +16
    -19
      meson.build
  4. +1
    -1
      test/meson.build
  5. +2
    -2
      utest/meson.build

+ 1
- 1
ctest/meson.build View File

@@ -58,7 +58,7 @@ foreach lvl : lvls
executable( executable(
op_name, op_name,
sources: mapped_sources, sources: mapped_sources,
link_with: [_openblas],
link_with: [openblas_static],
dependencies: [dependency('threads')], dependencies: [dependency('threads')],
include_directories: ctest_inc, include_directories: ctest_inc,
c_args: ['-DADD_', '-DCBLAS'], c_args: ['-DADD_', '-DCBLAS'],


+ 7
- 6
lapack-netlib/SRC/meson.build View File

@@ -496,16 +496,17 @@ endif


# Create the blas library # Create the blas library
netlib_lapack = library(_netlib_lapack_name, netlib_lapack = library(_netlib_lapack_name,
sources: _lapack_netlib_srcs,
link_with: _libs,
version: lapack_version,
soversion: lapack_major_version,
install: true)
sources: _lapack_netlib_srcs,
link_with: _libs,
version: lapack_version,
soversion: lapack_major_version,
install: true,
)


pkg.generate(netlib_lapack, pkg.generate(netlib_lapack,
name: 'lapack', name: 'lapack',
filebase: 'meson-lapack', filebase: 'meson-lapack',
description: 'lapack via meson build', description: 'lapack via meson build',
version: f'@pkg_ver@_lapack', version: f'@pkg_ver@_lapack',
install_dir: '../../pkgconfig',
install_dir: pkg_install_dir,
) )

+ 16
- 19
meson.build View File

@@ -29,6 +29,7 @@ prj_src_dir = meson.project_source_root()


pkg = import('pkgconfig') pkg = import('pkgconfig')
pkg_ver = meson.project_version() pkg_ver = meson.project_version()
pkg_install_dir = '../../pkgconfig'


# Common args # Common args
_args = [] _args = []
@@ -539,23 +540,19 @@ subdir('driver/level3')
subdir('driver/others') subdir('driver/others')
subdir('kernel') subdir('kernel')


_openblas = static_library('openblas',
link_whole: [
_interface,
_l2_driver,
_l3_driver,
_others,
_kern,
],
install: true,
)

_openblas_so = shared_library('openblas',
link_whole: [_openblas],
dependencies: [dependency('threads')],
override_options: ['b_lundef=false', 'b_asneeded=false'],
install: true,
)
openblas = both_libraries('openblas',
link_whole: [
_interface,
_l2_driver,
_l3_driver,
_others,
_kern,
],
dependencies: [dependency('threads')],
override_options: ['b_lundef=false', 'b_asneeded=false'],
install: true,
)
openblas_static = openblas.get_static_lib()


# Handle headers # Handle headers
fs = import('fs') fs = import('fs')
@@ -609,12 +606,12 @@ custom_target('gen_install_headers',
depends : pcl, depends : pcl,
) )


pkg.generate(_openblas,
pkg.generate(openblas,
name: 'openblas', name: 'openblas',
filebase: 'meson-openblas', filebase: 'meson-openblas',
description: 'OpenBLAS via meson build', description: 'OpenBLAS via meson build',
version: f'@pkg_ver@_meson', version: f'@pkg_ver@_meson',
install_dir: '../../pkgconfig',
install_dir: pkg_install_dir,
) )


if build_testing if build_testing


+ 1
- 1
test/meson.build View File

@@ -26,7 +26,7 @@ foreach _test : _test_input_array
executable( executable(
test_id, test_id,
sources: f'@test_id@.f', sources: f'@test_id@.f',
link_with: [_openblas],
link_with: [openblas_static],
dependencies: [dependency('threads')], dependencies: [dependency('threads')],
) )




+ 2
- 2
utest/meson.build View File

@@ -87,7 +87,7 @@ utest_inc = _inc + [include_directories('.')]
openblas_utest_exec = executable( openblas_utest_exec = executable(
'openblas_utest', 'openblas_utest',
sources: sources_utest, sources: sources_utest,
link_with: _openblas,
link_with: openblas_static,
dependencies: [dependency('threads')], dependencies: [dependency('threads')],
include_directories: utest_inc, include_directories: utest_inc,
c_args: _cargs, c_args: _cargs,
@@ -96,7 +96,7 @@ openblas_utest_exec = executable(
openblas_utest_ext_exec = executable( openblas_utest_ext_exec = executable(
'openblas_utest_ext', 'openblas_utest_ext',
sources: sources_utest_ext, sources: sources_utest_ext,
link_with: _openblas,
link_with: openblas_static,
dependencies: [dependency('threads')], dependencies: [dependency('threads')],
# This hack is required as `utest/test_extensions/common.c` needs # This hack is required as `utest/test_extensions/common.c` needs
# `common.h` from the source root, not `utest/test_extensions` directory # `common.h` from the source root, not `utest/test_extensions` directory


Loading…
Cancel
Save