DEB_DEPENDS += libffi-dev python3-ply
DEB_DEPENDS += cmake ninja-build uuid-dev python3-jsonschema python3-yaml
DEB_DEPENDS += python3-venv # ensurepip
-DEB_DEPENDS += python3-dev # needed for python3 -m pip install psutil
+DEB_DEPENDS += python3-dev python3-pip
DEB_DEPENDS += libnl-3-dev libnl-route-3-dev libmnl-dev
# DEB_DEPENDS += enchant # for docs
DEB_DEPENDS += python3-virtualenv
DEB_DEPENDS += libssl-dev
-DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
+DEB_DEPENDS += libelf-dev libpcap-dev # for libxdp (af_xdp)
DEB_DEPENDS += iperf3 # for 'make test TEST=vcl'
+DEB_DEPENDS += nasm
+DEB_DEPENDS += iperf ethtool # for 'make test TEST=vm_vpp_interfaces'
LIBFFI=libffi6 # works on all but 20.04 and debian-testing
-ifeq ($(OS_VERSION_ID),20.04)
+ifeq ($(OS_VERSION_ID),22.04)
DEB_DEPENDS += python3-virtualenv
DEB_DEPENDS += libssl-dev
- DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
- DEB_DEPENDS += clang-11 clang-format-11
+ DEB_DEPENDS += clang clang-format-11
+ LIBFFI=libffi7
+ DEB_DEPENDS += enchant-2 # for docs
+else ifeq ($(OS_VERSION_ID),20.04)
+ DEB_DEPENDS += python3-virtualenv
+ DEB_DEPENDS += libssl-dev
+ DEB_DEPENDS += clang clang-format-11
LIBFFI=libffi7
DEB_DEPENDS += enchant-2 # for docs
else ifeq ($(OS_VERSION_ID),20.10)
- DEB_DEPENDS += clang-11 clang-format-11
+ DEB_DEPENDS += clang clang-format-11
LIBFFI=libffi8ubuntu1
else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-10)
DEB_DEPENDS += virtualenv
else ifeq ($(OS_ID)-$(OS_VERSION_ID),debian-11)
DEB_DEPENDS += virtualenv
- DEB_DEPENDS += clang-11 clang-format-11
+ DEB_DEPENDS += clang clang-format-11
LIBFFI=libffi7
else
DEB_DEPENDS += clang-11 clang-format-11
RPM_DEPENDS += selinux-policy selinux-policy-devel
RPM_DEPENDS += ninja-build
RPM_DEPENDS += libuuid-devel
-RPM_DEPENDS += mbedtls-devel
RPM_DEPENDS += ccache
RPM_DEPENDS += xmlto
RPM_DEPENDS += elfutils-libelf-devel
RPM_DEPENDS += libnl3-devel libmnl-devel
+RPM_DEPENDS += nasm
ifeq ($(OS_ID),fedora)
RPM_DEPENDS += dnf-utils
RPM_DEPENDS += python2-devel python36-devel python3-ply
RPM_DEPENDS += python3-virtualenv python3-jsonschema
RPM_DEPENDS += libarchive cmake
+ RPM_DEPENDS += infiniband-diags libibumad
+ RPM_DEPENDS += libpcap-devel llvm-toolset
RPM_DEPENDS_GROUPS = 'Development Tools'
else
RPM_DEPENDS += yum-utils
RPM_SUSE_BUILDTOOLS_DEPS += clang cmake indent libtool make ninja python3-ply
RPM_SUSE_DEVEL_DEPS = glibc-devel-static libnuma-devel libelf-devel
-RPM_SUSE_DEVEL_DEPS += libopenssl-devel openssl-devel mbedtls-devel libuuid-devel
+RPM_SUSE_DEVEL_DEPS += libopenssl-devel libuuid-devel lsb-release
+RPM_SUSE_DEVEL_DEPS += curl libstdc++-devel bison gcc-c++ zlib-devel
-RPM_SUSE_PYTHON_DEPS = python-devel python3-devel python-pip python3-pip
-RPM_SUSE_PYTHON_DEPS += python-rpm-macros python3-rpm-macros
+RPM_SUSE_PYTHON_DEPS = python3-devel python3-pip python3-rpm-macros
-RPM_SUSE_PLATFORM_DEPS = distribution-release shadow rpm-build
+RPM_SUSE_PLATFORM_DEPS = shadow rpm-build
ifeq ($(OS_ID),opensuse-leap)
-ifeq ($(OS_VERSION_ID),15.3)
- RPM_SUSE_DEVEL_DEPS += curl libstdc++-devel bison gcc-c++ zlib-devel xmlto
- RPM_SUSE_DEVEL_DEPS += lsb-release
- RPM_SUSE_DEVEL_DEPS += asciidoc git
- RPM_SUSE_PYTHON_DEPS += python3 python2-ply
-endif
-ifeq ($(OS_VERSION_ID),15.0)
- RPM_SUSE_DEVEL_DEPS += gcc git curl
- RPM_SUSE_PYTHON_DEPS += python3-ply python2-virtualenv
-endif
+ RPM_SUSE_DEVEL_DEPS += xmlto openssl-devel asciidoc git nasm
+ RPM_SUSE_PYTHON_DEPS += python3 python3-ply python3-virtualenv
+ RPM_SUSE_PLATFORM_DEPS += distribution-release
endif
RPM_SUSE_DEPENDS += $(RPM_SUSE_BUILDTOOLS_DEPS) $(RPM_SUSE_DEVEL_DEPS) $(RPM_SUSE_PYTHON_DEPS) $(RPM_SUSE_PLATFORM_DEPS)
ifeq ($(findstring y,$(UNATTENDED)),y)
CONFIRM=-y
-FORCE=--force-yes
+FORCE=--allow-downgrades --allow-remove-essential --allow-change-held-packages
endif
TARGETS = vpp
@echo " compdb - (re)generate compile_commands.json"
@echo " checkstyle - check coding style"
@echo " checkstyle-commit - check commit message format"
- @echo " checkstyle-test - check test framework coding style"
- @echo " checkstyle-test-diff - check test framework coding style (only changed files)"
+ @echo " checkstyle-python - check python coding style using 'black' formatter"
@echo " checkstyle-api - check api for incompatible changes"
@echo " fixstyle - fix coding style"
+ @echo " fixstyle-python - fix python coding style using 'black' formatter"
@echo " doxygen - DEPRECATED - use 'make docs'"
@echo " bootstrap-doxygen - DEPRECATED"
@echo " wipe-doxygen - DEPRECATED"
@echo " docs - Build the Sphinx documentation"
@echo " docs-venv - Build the virtual environment for the Sphinx docs"
@echo " docs-clean - Remove the generated files from the Sphinx docs"
+ @echo " docs-rebuild - Rebuild all of the Sphinx documentation"
@echo ""
@echo "Make Arguments:"
@echo " V=[0|1] - set build verbosity level"
@sudo -E yum-config-manager --enable rhel-server-rhscl-7-rpms
@sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
@sudo -E yum install $(CONFIRM) $(RPM_DEPENDS)
- @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib
+ @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs zlib
else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
@sudo -E dnf install $(CONFIRM) dnf-plugins-core epel-release
@sudo -E dnf config-manager --set-enabled \
else ifeq ($(OS_ID),fedora)
@sudo -E dnf groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
@sudo -E dnf install $(CONFIRM) $(RPM_DEPENDS)
- @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs mbedtls-devel zlib
+ @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs zlib
endif
-else ifeq ($(filter opensuse-leap,$(OS_ID)),$(OS_ID))
+else ifeq ($(filter opensuse-leap-15.3 opensuse-leap-15.4 ,$(OS_ID)-$(OS_VERSION_ID)),$(OS_ID)-$(OS_VERSION_ID))
@sudo -E zypper refresh
@sudo -E zypper install -y $(RPM_SUSE_DEPENDS)
else
test-wipe-all:
@make -C test wipe-all
+# Note: All python venv consolidated in test/Makefile, test/requirements*.txt
.PHONY: test-checkstyle
test-checkstyle:
- @make -C test checkstyle
+ $(warning test-checkstyle is deprecated. Running checkstyle-python.")
+ @make -C test checkstyle-python-all
+# Note: All python venv consolidated in test/Makefile, test/requirements*.txt
.PHONY: test-checkstyle-diff
test-checkstyle-diff:
- @make -C test checkstyle-diff
+ $(warning test-checkstyle-diff is deprecated. Running checkstyle-python.")
+ @make -C test checkstyle-python-all
.PHONY: test-refresh-deps
test-refresh-deps:
@extras/scripts/check_commit_msg.sh
.PHONY: checkstyle-test
-checkstyle-test: test-checkstyle
+checkstyle-test:
+ $(warning test-checkstyle is deprecated. Running checkstyle-python.")
+ @make -C test checkstyle-python-all
+
+# Note: All python venv consolidated in test/Makefile, test/requirements*.txt
+.PHONY: checkstyle-python
+checkstyle-python:
+ @make -C test checkstyle-python-all
.PHONY: checkstyle-all
-checkstyle-all: checkstyle-commit checkstyle checkstyle-test
+checkstyle-all: checkstyle-commit checkstyle checkstyle-python docs-spell
.PHONY: fixstyle
fixstyle:
@extras/scripts/checkstyle.sh --fix
+# Note: All python venv consolidated in test/Makefile, test/requirements*.txt
+.PHONY: fixstyle-python
+fixstyle-python:
+ @make -C test fixstyle-python-all
+
.PHONY: checkstyle-api
checkstyle-api:
@extras/scripts/crcchecker.py --check-patchset
.PHONY: pkg-verify
pkg-verify: install-dep $(BR)/.deps.ok install-ext-deps
- $(call banner,"Building for PLATFORM=vpp using gcc")
+ $(call banner,"Building for PLATFORM=vpp")
@make -C build-root PLATFORM=vpp TAG=vpp wipe-all install-packages
$(call banner,"Building sample-plugin")
@make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install
$(call banner,"Building $(PKG) packages")
@make pkg-$(PKG)
-MAKE_VERIFY_GATE_OS ?= ubuntu-20.04
+# Note: 'make verify' target is not used by ci-management scripts
+MAKE_VERIFY_GATE_OS ?= ubuntu-22.04
.PHONY: verify
verify: pkg-verify
ifeq ($(OS_ID)-$(OS_VERSION_ID),$(MAKE_VERIFY_GATE_OS))
else
$(call banner,"Skipping tests. Tests under 'make verify' supported on $(MAKE_VERIFY_GATE_OS)")
endif
+
+.PHONY: check-dpdk-mlx
+check-dpdk-mlx:
+ @[ $$(make -sC build/external dpdk-show-DPDK_MLX_DEFAULT) = y ]