diff options
author | Damjan Marion <damarion@cisco.com> | 2016-04-01 12:35:17 +0200 |
---|---|---|
committer | Gerrit Code Review <gerrit@fd.io> | 2016-04-01 15:22:15 +0000 |
commit | 28e3db9dd617324a3196f369788d62cc72b5903b (patch) | |
tree | 269e5356bf01e5565d7ac2006778dbad1be5edad | |
parent | aa04a0ff8ee9aa7779b30e936f7fe1304c613d57 (diff) |
Add options to link with external DPDK tree
By uncommenting following lines in the build-data/platforms/vpp.mk
VPP links nicely with packaged DPDK 2.2 distributed with
Ubuntu 16.04 LTS.
vpp_uses_external_dpdk = yes
vpp_dpdk_inc_dir = /usr/include/dpdk
vpp_dpdk_lib_dir = /usr/lib
vpp_dpdk_shared_lib = yes
Change-Id: Id5b7d95bac6aa60341933b92e86d949a9abf1a5d
Signed-off-by: Damjan Marion <damarion@cisco.com>
-rw-r--r-- | build-data/packages/sample-plugin.mk | 5 | ||||
-rw-r--r-- | build-data/packages/vlib.mk | 7 | ||||
-rw-r--r-- | build-data/packages/vnet.mk | 5 | ||||
-rw-r--r-- | build-data/packages/vpp-api-test.mk | 5 | ||||
-rw-r--r-- | build-data/packages/vpp.mk | 11 | ||||
-rw-r--r-- | build-data/platforms/vpp.mk | 7 |
6 files changed, 37 insertions, 3 deletions
diff --git a/build-data/packages/sample-plugin.mk b/build-data/packages/sample-plugin.mk index 58d46325..047a26f5 100644 --- a/build-data/packages/sample-plugin.mk +++ b/build-data/packages/sample-plugin.mk @@ -36,7 +36,12 @@ sample-plugin_image_include = echo $(arch_lib_dir)/vlib_plugins ifneq ($($(PLATFORM)_uses_dpdk),no) sample-plugin_configure_args = --with-dpdk +ifeq ($($(PLATFORM)_uses_external_dpdk),yes) +sample-plugin_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir) +sample-plugin_LDFLAGS += -L$($(PLATFORM)_dpdk_lib_dir) +else sample-plugin_configure_depend += dpdk-install sample-plugin_CPPFLAGS += $(call installed_includes_fn, dpdk) sample-plugin_LDFLAGS += $(call installed_libs_fn, dpdk) endif +endif diff --git a/build-data/packages/vlib.mk b/build-data/packages/vlib.mk index 9c361282..2172708d 100644 --- a/build-data/packages/vlib.mk +++ b/build-data/packages/vlib.mk @@ -4,8 +4,13 @@ vlib_CPPFLAGS = $(call installed_includes_fn, vppinfra) vlib_LDFLAGS = $(call installed_libs_fn, vppinfra) ifneq ($($(PLATFORM)_uses_dpdk),no) -vlib_configure_depend += dpdk-install vlib_configure_args += --with-dpdk +ifeq ($($(PLATFORM)_uses_external_dpdk),yes) +vlib_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir) +vlib_LDFLAGS += -L$($(PLATFORM)_dpdk_lib_dir) +else +vlib_configure_depend += dpdk-install vlib_CPPFLAGS += $(call installed_includes_fn, dpdk) vlib_LDFLAGS += $(call installed_libs_fn, dpdk) endif +endif diff --git a/build-data/packages/vnet.mk b/build-data/packages/vnet.mk index 0486b4e8..2ff9034a 100644 --- a/build-data/packages/vnet.mk +++ b/build-data/packages/vnet.mk @@ -22,7 +22,12 @@ vnet_LDFLAGS = $(call installed_libs_fn, \ vnet_configure_args += $(vnet_configure_args_$(PLATFORM)) ifneq ($($(PLATFORM)_uses_dpdk),no) +ifeq ($($(PLATFORM)_uses_external_dpdk),yes) +vnet_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir) +vnet_LDFLAGS += -L$($(PLATFORM)_dpdk_lib_dir) +else vnet_configure_depend += dpdk-install vnet_CPPFLAGS += $(call installed_includes_fn, dpdk) vnet_LDFLAGS += $(call installed_libs_fn, dpdk) endif +endif diff --git a/build-data/packages/vpp-api-test.mk b/build-data/packages/vpp-api-test.mk index e26c2e76..38edb5bc 100644 --- a/build-data/packages/vpp-api-test.mk +++ b/build-data/packages/vpp-api-test.mk @@ -24,7 +24,12 @@ vpp-api-test_LDFLAGS = $(call installed_libs_fn, \ ifneq ($($(PLATFORM)_uses_dpdk),no) vpp-api-test_configure_args = --with-dpdk +ifeq ($($(PLATFORM)_uses_external_dpdk),yes) +vpp-api-test_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir) +vpp-api-test_LDFLAGS += -L$($(PLATFORM)_dpdk_lib_dir) +else vpp-api-test_configure_depend += dpdk-install vpp-api-test_CPPFLAGS += $(call installed_includes_fn, dpdk) vpp-api-test_LDFLAGS += $(call installed_libs_fn, dpdk) endif +endif diff --git a/build-data/packages/vpp.mk b/build-data/packages/vpp.mk index 9ccf6901..f96235f4 100644 --- a/build-data/packages/vpp.mk +++ b/build-data/packages/vpp.mk @@ -6,7 +6,11 @@ vpp_configure_depend = \ vnet-install \ # -vpp_configure_args = +ifeq ($($(PLATFORM)_dpdk_shared_lib),yes) +vpp_configure_args = --enable-dpdk-shared +else +vpp_configure_args = +endif # Platform dependent configure flags vpp_configure_args += $(vpp_configure_args_$(PLATFORM)) @@ -29,7 +33,12 @@ vpp_LDFLAGS = $(call installed_libs_fn, \ vnet) ifneq ($($(PLATFORM)_uses_dpdk),no) +ifeq ($($(PLATFORM)_uses_external_dpdk),yes) +vpp_CPPFLAGS += -I$($(PLATFORM)_dpdk_inc_dir) +vpp_LDFLAGS += -L$($(PLATFORM)_dpdk_lib_dir) +else vpp_configure_depend += dpdk-install vpp_CPPFLAGS += $(call installed_includes_fn, dpdk) vpp_LDFLAGS += $(call installed_libs_fn, dpdk) endif +endif diff --git a/build-data/platforms/vpp.mk b/build-data/platforms/vpp.mk index 50c85dcc..9b4a78c8 100644 --- a/build-data/platforms/vpp.mk +++ b/build-data/platforms/vpp.mk @@ -17,7 +17,7 @@ vpp_native_tools = vppapigen vpp_uses_dpdk = yes -vpp_root_packages = vpp vlib vlib-api vnet svm dpdk vpp-api-test \ +vpp_root_packages = vpp vlib vlib-api vnet svm vpp-api-test \ vpp-japi gmod vpp_configure_args_vpp = --with-dpdk @@ -26,6 +26,11 @@ vnet_configure_args_vpp = --with-dpdk # Set these parameters carefully. The vlib_buffer_t is 128 bytes, i.e. vlib_configure_args_vpp = --with-pre-data=128 +# DPDK configuration parameters +# vpp_uses_external_dpdk = yes +# vpp_dpdk_inc_dir = /usr/include/dpdk +# vpp_dpdk_lib_dir = /usr/lib +# vpp_dpdk_shared_lib = yes vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \ -fstack-protector-all -fPIC -Werror |