Skip to content

Commit c16be1f

Browse files
committed
doc: update readme on libnvme dependency
libnvme was integrated into the nvme-cli repo. The README needs to be updated accordingly. Signed-off-by: Daniel Wagner <[email protected]>
1 parent 1edfd3c commit c16be1f

File tree

1 file changed

+16
-29
lines changed

1 file changed

+16
-29
lines changed

README.md

Lines changed: 16 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ NVM-Express user space tooling for Linux.
77

88
## Build from source
99

10-
nvme-cli uses meson as build system. There is more than one way to configure and
11-
build the project in order to mitigate meson dependency on the build
12-
environment.
10+
nvme-cli uses meson as its build system. There is more than one way to configure and
11+
build the project in order to mitigate meson dependency on the build environment.
1312

1413
If you build on a relative modern system, either use meson directly or the
1514
Makefile wrapper.
@@ -20,30 +19,29 @@ and [muon](https://github.com/annacrombie/muon). Both build tools have only a
2019
minimal dependency on the build environment. Too easy this step there is a build
2120
script which helps to setup a build environment.
2221

23-
### nvme-cli dependencies:
22+
### nvme-cli dependencies (3.x and later):
2423

25-
| Library | Dependency | Notes |
26-
|---------|------------|-------|
27-
| libnvme, libnvme-mi| yes | be either installed or included into the build via meson fallback feature |
28-
| json-c | optional | recommended, without all plugins are disabled and json-c output format is disabled |
24+
Starting with nvme-cli 3.x, the libnvme library is fully integrated into the nvme-cli source tree. There is no longer any dependency on an external libnvme repository or package. All required libnvme and libnvme-mi code is included and built as part of nvme-cli.
25+
26+
| Library | Dependency | Notes |
27+
|---------|------------|-------|
28+
| libnvme, libnvme-mi | integrated | No external dependency, included in nvme-cli |
29+
| json-c | optional | Recommended; without it, all plugins are disabled and json-c output format is disabled |
2930

3031

3132
### Build with meson
3233

3334
#### Configuring
3435

35-
In case libnvme is not installed on the system, it possible to use meson's
36-
fallback feature to resolve the dependency.
37-
38-
$ meson setup --force-fallback-for=libnvme .build
36+
#### Configuring
3937

40-
If the libnvme is already installed on the system meson is using pkg-config to
41-
find the dependency. In this case a plain setup call is enough:
38+
No special configuration is required for libnvme, as it is now part of the
39+
nvme-cli source tree. Simply run:
4240

4341
$ meson setup .build
4442

45-
With meson's --wrap-mode argument it's possible to control if the additional
46-
dependencies should also resolved or not. The options are
43+
With meson's --wrap-mode argument it's possible to control if additional
44+
dependencies should be resolved. The options are:
4745

4846
--wrap-mode {default,nofallback,nodownload,forcefallback,nopromote}
4947

@@ -91,7 +89,8 @@ There is a Makefile wrapper for meson for backwards compatibility
9189
$ make
9290
# make install
9391

94-
Note in this case libnvme needs to be installed by hand first.
92+
Note: In previous versions, libnvme needed to be installed by hand.
93+
This is no longer required in nvme-cli 3.x and later.
9594

9695
RPM build support via Makefile that uses meson
9796

@@ -211,18 +210,6 @@ File: foo-plugin.c
211210
After that, you just need to implement the functions you defined in each
212211
ENTRY, then append the object file name to the meson.build "sources".
213212

214-
## meson tips
215-
216-
In case meson doesn't find libnvme header files (via pkg-config) it
217-
will fallback using subprojects. meson checks out libnvme in
218-
subprojects directory as git tree once to the commit level specified
219-
in the libnvme.wrap file revision parm. After this initial checkout,
220-
the libnvme code level will not change unless explicitly told. That
221-
means if the current branch is updated via git, the subprojects/libnvme
222-
branch will not updated accordingly. To update it, either use the
223-
normal git operations or the command:
224-
225-
$ meson subprojects update
226213

227214
## Dependency
228215

0 commit comments

Comments
 (0)