79f9a7f572
Users can now generate the necessary linker args for their own applications using something like: PKG_CONFIG_PATH=build/lib/pkgconfig pkg-config --libs spdk_nvme Dependencies between libraries are included in the generated .pc files, so the user only needs to pass the top-level subsystems or individual SPDK libraries they are using in their application. Modules will automatically be added to the output if the associated library is specified. For example, specifying "spdk_bdev" will include the libraries not only for spdk_bdev, but also all of the bdev modules. Users still need to supply the -Wl,--no-as-needed or -Wl,--whole-archive flags. They cannot be added to the .pc files without increasing the length of the argument string by a factor of 15x to 20x. Modify the test/external_code/hello_world Makefile to use pkg-config to ensure this gets tested at some level in our autotest environment. Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ie48a75f11969d5d775d514cf10bcb82d197eabfd Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4371 Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> |
||
---|---|---|
.. | ||
nvme.libtest.mk | ||
spdk_blank.map | ||
spdk.app_cxx.mk | ||
spdk.app_vars.mk | ||
spdk.app.mk | ||
spdk.common.mk | ||
spdk.deps.mk | ||
spdk.fio.mk | ||
spdk.lib_deps.mk | ||
spdk.lib.mk | ||
spdk.mock.unittest.mk | ||
spdk.modules.mk | ||
spdk.nvmecli.mk | ||
spdk.subdirs.mk | ||
spdk.unittest.mk |