diff --git a/lib/nvmf/Makefile b/lib/nvmf/Makefile index 9a115e584..a7693cbf7 100644 --- a/lib/nvmf/Makefile +++ b/lib/nvmf/Makefile @@ -38,7 +38,7 @@ ifeq ($(CONFIG_VFIO_USER), y) C_SRCS += vfio_user.c CFLAGS += -I$(VFIO_USER_INCLUDE_DIR) LDFLAGS += -L$(VFIO_USER_LIBRARY_DIR) -LOCAL_SYS_LIBS += -Wl,-Bstatic -lvfio-user -Wl,-Bdynamic -ljson-c +LOCAL_SYS_LIBS += -lvfio-user -ljson-c endif ifeq ($(CONFIG_FC),y) diff --git a/mk/spdk.app.mk b/mk/spdk.app.mk index e9242007d..424fac1ab 100644 --- a/mk/spdk.app.mk +++ b/mk/spdk.app.mk @@ -24,10 +24,6 @@ LIBS += $(SPDK_LIB_LINKER_ARGS) CLEAN_FILES = $(APP) -ifeq ($(findstring vfio_user,$(SPDK_LIB_FILES)),vfio_user) -VFIO_USER_LIB_FILE=$(VFIO_USER_LIBRARY_DIR)/libvfio-user.a -endif - all : $(APP) @: @@ -39,7 +35,7 @@ uninstall: empty_rule empty_rule: @: -$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(VFIO_USER_LIB_FILE) +$(APP) : $(OBJS) $(SPDK_LIB_FILES) $(ENV_LIBS) $(LINK_C) clean : diff --git a/mk/spdk.common.mk b/mk/spdk.common.mk index e3f56ff7b..c378f3229 100644 --- a/mk/spdk.common.mk +++ b/mk/spdk.common.mk @@ -169,15 +169,20 @@ VFIO_USER_BUILD_TYPE=debug else VFIO_USER_BUILD_TYPE=release endif +ifeq ($(CONFIG_SHARED), y) +VFIO_USER_BUILD_SHARED=shared +else +VFIO_USER_BUILD_SHARED=static +endif VFIO_USER_LIB_PREFIX=/usr/local/lib VFIO_USER_BUILD_DIR=$(SPDK_ROOT_DIR)/build/libvfio-user/build-$(VFIO_USER_BUILD_TYPE) -VFIO_USER_INSTALL_DIR=$(SPDK_ROOT_DIR)/build/libvfio-user/ +VFIO_USER_INSTALL_DIR=$(SPDK_ROOT_DIR)/build/libvfio-user VFIO_USER_INCLUDE_DIR=$(VFIO_USER_INSTALL_DIR)/usr/local/include -VFIO_USER_LIBRARY_DIR=$(VFIO_USER_INSTALL_DIR)/$(VFIO_USER_LIB_PREFIX) +VFIO_USER_LIBRARY_DIR=$(VFIO_USER_INSTALL_DIR)$(VFIO_USER_LIB_PREFIX) CFLAGS += -I$(VFIO_USER_INCLUDE_DIR) LDFLAGS += -L$(VFIO_USER_LIBRARY_DIR) -SYS_LIBS += -Wl,-Bstatic -lvfio-user -Wl,-Bdynamic -ljson-c +SYS_LIBS += -lvfio-user -ljson-c endif #Attach only if FreeBSD and RDMA is specified with configure diff --git a/test/common/autotest_common.sh b/test/common/autotest_common.sh index f6647484f..8c4c010c7 100755 --- a/test/common/autotest_common.sh +++ b/test/common/autotest_common.sh @@ -165,7 +165,7 @@ export SPDK_TEST_NVMF_NICS # always test with SPDK shared objects. export SPDK_LIB_DIR="$rootdir/build/lib" export DPDK_LIB_DIR="${SPDK_RUN_EXTERNAL_DPDK:-$rootdir/dpdk/build}/lib" -export VFIO_LIB_DIR="$rootdir/libvfio-user/build/release/lib" +export VFIO_LIB_DIR="$rootdir/build/libvfio-user/usr/local/lib" export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$SPDK_LIB_DIR:$DPDK_LIB_DIR:$VFIO_LIB_DIR # Tell setup.sh to wait for block devices upon each reset diff --git a/vfiouserbuild/Makefile b/vfiouserbuild/Makefile index 8a7b49948..41258d495 100644 --- a/vfiouserbuild/Makefile +++ b/vfiouserbuild/Makefile @@ -12,7 +12,7 @@ include $(SPDK_ROOT_DIR)/mk/spdk.common.mk # target instead of allowing CC=scan-build like everyone else. SUB_CC = $(patsubst %ccc-analyzer,$(DEFAULT_CC),$(CC)) -VFIO_USER_CFG_OPTS = --buildtype $(VFIO_USER_BUILD_TYPE) -Ddefault_library=static -Dlibdir=$(VFIO_USER_LIB_PREFIX) +VFIO_USER_CFG_OPTS = --buildtype $(VFIO_USER_BUILD_TYPE) -Ddefault_library=$(VFIO_USER_BUILD_SHARED) -Dlibdir=$(VFIO_USER_LIB_PREFIX) all: scan-build