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(
op_name,
sources: mapped_sources,
link_with: [_openblas],
link_with: [openblas_static],
dependencies: [dependency('threads')],
include_directories: ctest_inc,
c_args: ['-DADD_', '-DCBLAS'],


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

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

# Create the blas library
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,
name: 'lapack',
filebase: 'meson-lapack',
description: 'lapack via meson build',
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_ver = meson.project_version()
pkg_install_dir = '../../pkgconfig'

# Common args
_args = []
@@ -539,23 +540,19 @@ subdir('driver/level3')
subdir('driver/others')
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
fs = import('fs')
@@ -609,12 +606,12 @@ custom_target('gen_install_headers',
depends : pcl,
)

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

if build_testing


+ 1
- 1
test/meson.build View File

@@ -26,7 +26,7 @@ foreach _test : _test_input_array
executable(
test_id,
sources: f'@test_id@.f',
link_with: [_openblas],
link_with: [openblas_static],
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',
sources: sources_utest,
link_with: _openblas,
link_with: openblas_static,
dependencies: [dependency('threads')],
include_directories: utest_inc,
c_args: _cargs,
@@ -96,7 +96,7 @@ openblas_utest_exec = executable(
openblas_utest_ext_exec = executable(
'openblas_utest_ext',
sources: sources_utest_ext,
link_with: _openblas,
link_with: openblas_static,
dependencies: [dependency('threads')],
# This hack is required as `utest/test_extensions/common.c` needs
# `common.h` from the source root, not `utest/test_extensions` directory


Loading…
Cancel
Save