build: remove blobfs, blob and blob_bdev from app SPDK_LIB_LISTs

blob and blob_bdev are already included via the lvol bdev module
dependencies in mk/spdk.modules.mk.  This patch adds blobfs there
too.

These changes are needed for some upcoming patches which will
apply --whole-archive to all libraries linked into the application.
That patch will require that we never include the same library
twice.

Shared library builds *require* that blobfs be listed before
blob on the link line, hence adding blobfs here even though it's
not technically associated with a bdev module.

We can also simplify spdk.modules.mk while we're here - just
filter out bdev_lvol to disable lvol for applications like
blob_cli that need to disable it.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I01e5e6b91d947463749f942f54c12f48229bbe5a

Reviewed-on: https://review.gerrithub.io/432916
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Seth Howell <seth.howell5141@gmail.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
This commit is contained in:
Jim Harris 2018-11-12 06:45:06 -07:00 committed by Darek Stojaczyk
parent 66e2476559
commit bf7f87cecd
6 changed files with 11 additions and 21 deletions

View File

@ -39,16 +39,19 @@ APP = blobcli
C_SRCS := blobcli.c
SPDK_LIB_LIST = event_bdev event_copy
SPDK_LIB_LIST += blobfs blob bdev blob_bdev copy event thread util conf trace \
SPDK_LIB_LIST += bdev copy event thread util conf trace \
log jsonrpc json rpc
LIBS += $(COPY_MODULES_LINKER_ARGS) $(BLOCKDEV_NO_LVOL_MODULES_LINKER_ARGS) $(SOCK_MODULES_LINKER_ARGS)
# Don't link bdev_lvol in blobcli - otherwise this utility cannot operate on an lvolstore
BLOCKDEV_MODULES_LIST := $(filter-out bdev_lvol,$(BLOCKDEV_MODULES_LIST))
LIBS += $(COPY_MODULES_LINKER_ARGS) $(BLOCKDEV_MODULES_LINKER_ARGS) $(SOCK_MODULES_LINKER_ARGS)
LIBS += $(SPDK_LIB_LINKER_ARGS) $(ENV_LINKER_ARGS)
all : $(APP)
@:
$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(COPY_MODULES_FILES) $(BLOCKDEV_NO_LVOL_MODULES_FILES) $(SOCK_MODULES_FILES) $(LINKER_MODULES) $(ENV_LIBS)
$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(COPY_MODULES_FILES) $(BLOCKDEV_MODULES_FILES) $(SOCK_MODULES_FILES) $(LINKER_MODULES) $(ENV_LIBS)
$(LINK_C)
clean :

View File

@ -39,7 +39,7 @@ APP = hello_blob
C_SRCS := hello_blob.c
SPDK_LIB_LIST = event_bdev event_copy
SPDK_LIB_LIST += blobfs blob bdev blob_bdev copy event thread util conf trace \
SPDK_LIB_LIST += bdev copy event thread util conf trace \
log jsonrpc json rpc
LIBS += $(COPY_MODULES_LINKER_ARGS) $(BLOCKDEV_MODULES_LINKER_ARGS) $(SOCK_MODULES_LINKER_ARGS)

View File

@ -54,8 +54,7 @@ CXXFLAGS += -fno-sanitize=address
endif
SPDK_LIB_LIST = event_bdev event_copy
SPDK_LIB_LIST += blobfs bdev copy event util conf trace \
log jsonrpc json rpc thread
SPDK_LIB_LIST += bdev copy event util conf trace log jsonrpc json rpc thread
AM_LINK += $(COPY_MODULES_LINKER_ARGS) $(BLOCKDEV_MODULES_LINKER_ARGS)
AM_LINK += $(SPDK_LIB_LINKER_ARGS) $(ENV_LINKER_ARGS)

View File

@ -31,11 +31,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
LVOL_MODULES_LIST = bdev_lvol
# Modules below are added as dependency for bdev_lvol
LVOL_MODULES_LIST += blob blob_bdev lvol
BLOCKDEV_MODULES_LIST = $(LVOL_MODULES_LIST)
BLOCKDEV_MODULES_LIST = bdev_lvol blobfs blob blob_bdev lvol
BLOCKDEV_MODULES_LIST += bdev_malloc bdev_null bdev_nvme nvme bdev_passthru bdev_error bdev_gpt bdev_split
BLOCKDEV_MODULES_LIST += bdev_raid
@ -92,14 +88,6 @@ BLOCKDEV_MODULES_LINKER_ARGS = -Wl,--whole-archive \
BLOCKDEV_MODULES_FILES = $(call spdk_lib_list_to_static_libs,$(BLOCKDEV_MODULES_LIST))
BLOCKDEV_NO_LVOL_MODULES_LIST = $(filter-out $(LVOL_MODULES_LIST),$(BLOCKDEV_MODULES_LIST))
BLOCKDEV_NO_LVOL_MODULES_LINKER_ARGS = -Wl,--whole-archive \
$(BLOCKDEV_NO_LVOL_MODULES_LIST:%=-lspdk_%) \
-Wl,--no-whole-archive \
$(BLOCKDEV_MODULES_DEPS)
BLOCKDEV_NO_LVOL_MODULES_FILES = $(call spdk_lib_list_to_static_libs,$(BLOCKDEV_NO_LVOL_MODULES_LIST))
COPY_MODULES_LINKER_ARGS = -Wl,--whole-archive \
$(COPY_MODULES_LIST:%=-lspdk_%) \
-Wl,--no-whole-archive \

View File

@ -41,7 +41,7 @@ APP = fuse
C_SRCS := fuse.c
SPDK_LIB_LIST = event_bdev event_copy
SPDK_LIB_LIST += blobfs blob bdev blob_bdev copy event thread util conf trace \
SPDK_LIB_LIST += bdev copy event thread util conf trace \
log jsonrpc json rpc
LIBS += $(COPY_MODULES_LINKER_ARGS) $(BLOCKDEV_MODULES_LINKER_ARGS)

View File

@ -41,7 +41,7 @@ APP = mkfs
C_SRCS := mkfs.c
SPDK_LIB_LIST = event_bdev event_copy
SPDK_LIB_LIST += blobfs blob bdev blob_bdev copy event thread util conf trace \
SPDK_LIB_LIST += bdev copy event thread util conf trace \
log jsonrpc json rpc
LIBS += $(COPY_MODULES_LINKER_ARGS) $(BLOCKDEV_MODULES_LINKER_ARGS) $(SOCK_MODULES_LINKER_ARGS)