vpp: dynamic compilation with VPP

Enable dynamic compilation of SPDK with VPP.

Change-Id: I9f5f7223625cbebec0d6209b5a2ce6bdcc1a04bf
Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com>
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-on: https://review.gerrithub.io/401825
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Tomasz Zawadzki 2018-03-13 10:42:45 -04:00 committed by Jim Harris
parent 11ed34831e
commit e793fad5e9
4 changed files with 36 additions and 0 deletions

3
CONFIG
View File

@ -92,3 +92,6 @@ CONFIG_VIRTIO?=y
# Build with NVML backends
CONFIG_NVML?=n
# Build with VPP
CONFIG_VPP?=n

19
configure vendored
View File

@ -39,6 +39,8 @@ function usage()
echo " No path required."
echo " nvml Required to build persistent memory bdev."
echo " example: /usr/share/nvml"
echo " vpp Required to build VPP net module."
echo " example: /vpp_repo/build-root/install-vpp-native/vpp"
echo " rbd [disabled]"
echo " No path required."
echo " rdma [disabled]"
@ -153,6 +155,17 @@ for i in "$@"; do
--without-nvml)
CONFIG_NVML=n
;;
--with-vpp)
CONFIG_VPP=y
;;
--with-vpp=*)
CONFIG_VPP=y
check_dir "$i"
CONFIG_VPP_DIR=$(readlink -f ${i#*=})
;;
--without-vpp)
CONFIG_VPP=n
;;
--with-fio=*)
check_dir "$i"
FIO_SOURCE_DIR="${i#*=}"
@ -267,6 +280,12 @@ fi
if [ -n "$CONFIG_NVML_DIR" ]; then
echo "CONFIG_NVML_DIR?=$CONFIG_NVML_DIR" >> CONFIG.local
fi
if [ -n "$CONFIG_VPP" ]; then
echo "CONFIG_VPP?=$CONFIG_VPP" >> CONFIG.local
fi
if [ -n "$CONFIG_VPP_DIR" ]; then
echo "CONFIG_VPP_DIR?=$CONFIG_VPP_DIR" >> CONFIG.local
fi
if [ -n "$CONFIG_FIO_PLUGIN" ]; then
echo "CONFIG_FIO_PLUGIN?=$CONFIG_FIO_PLUGIN" >> CONFIG.local
fi

View File

@ -120,6 +120,11 @@ LIBS += -L$(CONFIG_NVML_DIR)/src/nondebug
COMMON_CFLAGS += -I$(CONFIG_NVML_DIR)/src/include
endif
ifneq ($(CONFIG_VPP_DIR),)
LIBS += -L$(CONFIG_VPP_DIR)/lib64
COMMON_CFLAGS += -I$(CONFIG_VPP_DIR)/include
endif
ifeq ($(CONFIG_DEBUG), y)
COMMON_CFLAGS += -DDEBUG -O0 -fno-omit-frame-pointer
else

View File

@ -58,6 +58,15 @@ endif
NET_MODULES_LIST = net
NET_MODULES_LIST += net_posix
ifeq ($(CONFIG_VPP),y)
ifneq ($(CONFIG_VPP_DIR),)
NET_MODULES_DEPS = -l:libvppinfra.a -l:libsvm.a -l:libvapiclient.a
NET_MODULES_DEPS += -l:libvppcom.a -l:libvlibmemoryclient.a
else
NET_MODULES_DEPS = -lvppcom
endif
endif
COPY_MODULES_LIST = copy_ioat ioat
BLOCKDEV_MODULES_LINKER_ARGS = -Wl,--whole-archive \