From acf73199fa227b97217238334236af367c8ab2d7 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 26 Jul 2022 07:25:24 +0200 Subject: Adding upstream version 1.1~rc0. Signed-off-by: Daniel Baumann --- src/meson.build | 69 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 68 insertions(+), 1 deletion(-) (limited to 'src/meson.build') diff --git a/src/meson.build b/src/meson.build index b573b19..3076be6 100644 --- a/src/meson.build +++ b/src/meson.build @@ -16,6 +16,13 @@ sources = [ 'nvme/util.c', ] +mi_sources = [ + 'nvme/cleanup.c', + 'nvme/log.c', + 'nvme/mi.c', + 'nvme/mi-mctp.c', +] + if conf.get('CONFIG_JSONC') sources += 'nvme/json.c' endif @@ -26,9 +33,16 @@ deps = [ openssl_dep, ] +mi_deps = [ + libuuid_dep, + libsystemd_dep, +] + source_dir = meson.current_source_dir() mapfile = 'libnvme.map' version_script_arg = join_paths(source_dir, mapfile) +mi_mapfile = 'libnvme-mi.map' +mi_version_script_arg = join_paths(source_dir, mi_mapfile) libnvme = library( 'nvme', # produces libnvme.so @@ -53,13 +67,65 @@ pkg.generate(libnvme, libnvme_dep = declare_dependency( include_directories: ['.'], - dependencies: deps, + dependencies: [ + libuuid_dep.partial_dependency(compile_args: true, includes: true), + json_c_dep.partial_dependency(compile_args: true, includes: true), + ], link_with: libnvme, ) +libnvme_mi = library( + 'nvme-mi', # produces libnvme-mi.so + mi_sources, + version: library_version, + link_args: ['-Wl,--version-script=' + mi_version_script_arg], + dependencies: mi_deps, + link_depends: mi_mapfile, + include_directories: [incdir, internal_incdir], + install: true, + link_with: libccan, +) + +libnvme_mi_dep = declare_dependency( + include_directories: ['.'], + dependencies: [ + libuuid_dep.partial_dependency(compile_args: true, includes: true), + ], + link_with: libnvme_mi, +) + +# test library with all symbols visible, to use for MI unit tests. Should +# match libnvme_mi above, but with no version script, and install: false. +libnvme_mi_test = library( + 'nvme-mi-test', # produces libnvme-mi-test.so + mi_sources, + dependencies: mi_deps, + include_directories: [incdir, internal_incdir], + install: false, + link_with: libccan, +) + +libnvme_mi_test_dep = declare_dependency( + include_directories: ['.'], + dependencies: [ + libuuid_dep.partial_dependency(compile_args: true, includes: true), + ], + link_with: libnvme_mi_test, +) + +pkg.generate(libnvme_mi, + filebase: 'libnvme-mi', + name: 'libnvme-mi', + version: meson.project_version(), + description: 'Manage "libnvme" subsystem devices (Non-volatile Memory Express) over Management Interface', + url: 'http://github.com/linux-nvme/libnvme/', +) + mode = ['rw-r--r--', 0, 0] install_headers('libnvme.h', install_mode: mode) +install_headers('libnvme-mi.h', install_mode: mode) install_headers([ + 'nvme/api-types.h', 'nvme/fabrics.h', 'nvme/filters.h', 'nvme/ioctl.h', @@ -68,6 +134,7 @@ install_headers([ 'nvme/tree.h', 'nvme/types.h', 'nvme/util.h', + 'nvme/mi.h', ], subdir: 'nvme', install_mode: mode, -- cgit v1.2.3