| ################################################################################ |
| # |
| # dpdk |
| # |
| ################################################################################ |
| |
| DPDK_VERSION = 25.11 |
| DPDK_SOURCE = dpdk-$(DPDK_VERSION).tar.xz |
| DPDK_SITE = https://fast.dpdk.org/rel |
| DPDK_LICENSE = \ |
| BSD-3-Clause, \ |
| MIT |
| |
| # Only the Windows target has the 2 following licenses: |
| # - license/bsd-2-clause.txt |
| # - license/isc.txt |
| # which is related to a Windows getopt.[ch] compatibility layer. |
| # Since Buildroot is not used for Windows target, it is not listed |
| # here. |
| # |
| # All the userland files of DPDK have dual licences BSD or GPL/LGPL |
| # Since the Linux kernel modules had been removed from the DPDK, there |
| # is no GPL only code into the DPDK anymore. |
| # The usage of DPDK with Buildroot is for userland only, it means |
| # that for the dual licenced files, BSD clause is used but not the |
| # following ones: |
| # - license/gpl-2.0.txt |
| # - license/lgpl-2.1.txt |
| # See the DPDK's license/README for more details. |
| # |
| # The legacy and historical license of the DPDK is BSD-3-clause. |
| DPDK_LICENSE_FILES = \ |
| license/README \ |
| license/bsd-3-clause.txt \ |
| license/exceptions.txt \ |
| license/mit.txt |
| |
| DPDK_INSTALL_STAGING = YES |
| |
| DPDK_DEPENDENCIES = \ |
| host-pkgconf \ |
| host-python-pyelftools |
| |
| ifeq ($(BR2_PACKAGE_DPDK_EXAMPLES),y) |
| DPDK_CONF_OPTS += -Dexamples=all |
| else |
| DPDK_CONF_OPTS += -Dexamples= |
| endif |
| |
| DPDK_DRIVERS := $(call qstrip,$(BR2_PACKAGE_DPDK_DRIVERS_LIST)) |
| ifneq ($(DPDK_DRIVERS),) |
| ifeq ($(DPDK_DRIVERS),none) |
| DPDK_CONF_OPTS += -Ddisable_drivers='*/*' |
| else |
| DPDK_CONF_OPTS += -Denable_drivers='$(DPDK_DRIVERS)' |
| endif |
| endif |
| |
| DPDK_LIBS := $(call qstrip,$(BR2_PACKAGE_DPDK_LIBS_LIST)) |
| ifneq ($(DPDK_LIBS),) |
| ifeq ($(DPDK_LIBS),none) |
| DPDK_CONF_OPTS += -Ddisable_libs='*' |
| else |
| DPDK_CONF_OPTS += -Denable_libs='$(DPDK_LIBS)' |
| endif |
| endif |
| |
| DPDK_APPS := $(call qstrip,$(BR2_PACKAGE_DPDK_APPS_LIST)) |
| ifneq ($(DPDK_APPS),) |
| ifeq ($(DPDK_APPS),none) |
| DPDK_CONF_OPTS += -Ddisable_apps='*' |
| else |
| DPDK_CONF_OPTS += -Denable_apps='$(DPDK_APPS)' |
| endif |
| endif |
| |
| ifeq ($(BR2_PACKAGE_DPDK_TESTS),y) |
| DPDK_CONF_OPTS += -Dtests=true |
| else |
| DPDK_CONF_OPTS += -Dtests=false |
| endif |
| |
| ifeq ($(BR2_PACKAGE_LIBBSD),y) |
| DPDK_DEPENDENCIES += libbsd |
| endif |
| |
| ifeq ($(BR2_PACKAGE_JANSSON),y) |
| DPDK_DEPENDENCIES += jansson |
| endif |
| |
| ifeq ($(BR2_PACKAGE_LIBPCAP),y) |
| DPDK_DEPENDENCIES += libpcap |
| endif |
| |
| ifeq ($(BR2_PACKAGE_ZLIB),y) |
| DPDK_DEPENDENCIES += zlib |
| endif |
| |
| ifeq ($(BR2_PACKAGE_LIBEXECINFO),y) |
| DPDK_DEPENDENCIES += libexecinfo |
| endif |
| |
| ifeq ($(BR2_PACKAGE_NUMACTL),y) |
| DPDK_DEPENDENCIES += numactl |
| endif |
| |
| ifeq ($(BR2_PACKAGE_LIBARCHIVE),y) |
| DPDK_DEPENDENCIES += libarchive |
| endif |
| |
| ifeq ($(BR2_PACKAGE_LIBBPF),y) |
| DPDK_DEPENDENCIES += libbpf |
| endif |
| |
| ifeq ($(BR2_PACKAGE_RDMA_CORE),y) |
| DPDK_DEPENDENCIES += rdma-core |
| endif |
| |
| # DPDK's meson shall need to be clean'd, hack here along the enclosed patch |
| DPDK_CONF_OPTS += -Dcpu_instruction_set=$(BR2_GCC_TARGET_ARCH) |
| # Keep the following, even if not mandatory, until the removal of the patch |
| DPDK_MESON_EXTRA_PROPERTIES += platform='generic' |
| |
| $(eval $(meson-package)) |