Merge pull request #24 from HaoZeke/sharedLib
BLD: Create OpenBLAS shared object
This commit is contained in:
commit
0701835710
|
@ -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'],
|
||||||
|
|
|
@ -496,8 +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,
|
sources: _lapack_netlib_srcs,
|
||||||
link_with: _libs,
|
link_with: _libs,
|
||||||
version: lapack_version,
|
version: lapack_version,
|
||||||
soversion: lapack_major_version,
|
soversion: lapack_major_version,
|
||||||
install: true)
|
install: true,
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg.generate(netlib_lapack,
|
||||||
|
name: 'lapack',
|
||||||
|
filebase: 'meson-lapack',
|
||||||
|
description: 'lapack via meson build',
|
||||||
|
version: f'@pkg_ver@_lapack',
|
||||||
|
install_dir: pkg_install_dir,
|
||||||
|
)
|
||||||
|
|
33
meson.build
33
meson.build
|
@ -27,6 +27,10 @@ fc_id = fc.get_id()
|
||||||
prj_bld_dir = meson.project_build_root()
|
prj_bld_dir = meson.project_build_root()
|
||||||
prj_src_dir = meson.project_source_root()
|
prj_src_dir = meson.project_source_root()
|
||||||
|
|
||||||
|
pkg = import('pkgconfig')
|
||||||
|
pkg_ver = meson.project_version()
|
||||||
|
pkg_install_dir = '../../pkgconfig'
|
||||||
|
|
||||||
# Common args
|
# Common args
|
||||||
_args = []
|
_args = []
|
||||||
# TODO(rg): Max parallel number should be conditional
|
# TODO(rg): Max parallel number should be conditional
|
||||||
|
@ -536,15 +540,19 @@ subdir('driver/level3')
|
||||||
subdir('driver/others')
|
subdir('driver/others')
|
||||||
subdir('kernel')
|
subdir('kernel')
|
||||||
|
|
||||||
_openblas = static_library('openblas',
|
openblas = both_libraries('openblas',
|
||||||
link_whole: [
|
link_whole: [
|
||||||
_interface,
|
_interface,
|
||||||
_l2_driver,
|
_l2_driver,
|
||||||
_l3_driver,
|
_l3_driver,
|
||||||
_others,
|
_others,
|
||||||
_kern,
|
_kern,
|
||||||
],
|
],
|
||||||
install: true)
|
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')
|
||||||
|
@ -598,13 +606,12 @@ custom_target('gen_install_headers',
|
||||||
depends : pcl,
|
depends : pcl,
|
||||||
)
|
)
|
||||||
|
|
||||||
pkg = import ('pkgconfig')
|
pkg.generate(openblas,
|
||||||
pkg_ver = meson.project_version()
|
|
||||||
pkg.generate(_openblas,
|
|
||||||
name: 'openblas',
|
name: 'openblas',
|
||||||
filebase: '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: pkg_install_dir,
|
||||||
)
|
)
|
||||||
|
|
||||||
if build_testing
|
if build_testing
|
||||||
|
|
|
@ -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')],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -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…
Reference in New Issue