dpdk: add support for system libdpdk
Type: improvement
This patch enables dynamically linking the dpdk plugin against a
system-wide packaged version of dpdk.
# See the License for the specific language governing permissions and
# limitations under the License.
+##############################################################################
+# Check if we want to use the system DPDK
+##############################################################################
+option(VPP_USE_SYSTEM_DPDK "Use the system installation of DPDK." OFF)
+if(VPP_USE_SYSTEM_DPDK)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(DPDK REQUIRED libdpdk)
+ message(WARNING "-- linking dpdk plugin against system libdpdk, version ${DPDK_VERSION}")
+ set(DPDK_LINK_FLAGS ${DPDK_LDFLAGS})
+else()
##############################################################################
# Find lib and include files
##############################################################################
@@ -100,6 +110,7 @@ if(DPDK_RTE_LIBRTE_MLX4_PMD OR DPDK_RTE_LIBRTE_MLX5_PMD)
string_append(DPDK_LINK_FLAGS "-Wl,--whole-archive,${IBVERBS_LIB},${MLX5_LIB},${MLX4_LIB},${CCAN_LIB},${RDMA_UTIL_LIB},--no-whole-archive")
endif()
endif()
+endif()
##############################################################################
# DPDK plugin
