build: add support for intel alderlake and sapphirerapids, part 2
[vpp.git] / Makefile
index 6b5ec77..88d42df 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -56,7 +56,7 @@ endif
 
 ifeq ($(filter ubuntu debian,$(OS_ID)),$(OS_ID))
 PKG=deb
-else ifeq ($(filter rhel centos fedora opensuse-leap,$(OS_ID)),$(OS_ID))
+else ifeq ($(filter rhel centos fedora opensuse-leap rocky,$(OS_ID)),$(OS_ID))
 PKG=rpm
 endif
 
@@ -75,23 +75,22 @@ 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),22.04)
        DEB_DEPENDS += python3-virtualenv
        DEB_DEPENDS += libssl-dev
-       DEB_DEPENDS += libelf-dev # for libbpf (af_xdp)
        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 += libelf-dev # for libbpf (af_xdp)
        DEB_DEPENDS += clang clang-format-11
        LIBFFI=libffi7
        DEB_DEPENDS += enchant-2  # for docs
@@ -112,7 +111,7 @@ endif
 
 DEB_DEPENDS += $(LIBFFI)
 
-RPM_DEPENDS  = redhat-lsb glibc-static
+RPM_DEPENDS  = glibc-static
 RPM_DEPENDS += apr-devel
 RPM_DEPENDS += numactl-devel
 RPM_DEPENDS += check check-devel
@@ -121,7 +120,7 @@ RPM_DEPENDS += ninja-build
 RPM_DEPENDS += libuuid-devel
 RPM_DEPENDS += ccache
 RPM_DEPENDS += xmlto
-RPM_DEPENDS += elfutils-libelf-devel
+RPM_DEPENDS += elfutils-libelf-devel libpcap-devel
 RPM_DEPENDS += libnl3-devel libmnl-devel
 RPM_DEPENDS += nasm
 
@@ -134,12 +133,23 @@ ifeq ($(OS_ID),fedora)
        RPM_DEPENDS += python3-virtualenv python3-jsonschema
        RPM_DEPENDS += cmake
        RPM_DEPENDS_GROUPS = 'C Development Tools and Libraries'
+else ifeq ($(OS_ID),rocky)
+       RPM_DEPENDS += yum-utils
+       RPM_DEPENDS += subunit subunit-devel
+       RPM_DEPENDS += openssl-devel
+       RPM_DEPENDS += python3-devel  # needed for python3 -m pip install psutil
+       RPM_DEPENDS += python3-ply  # for vppapigen
+       RPM_DEPENDS += python3-virtualenv python3-jsonschema
+       RPM_DEPENDS += infiniband-diags llvm clang cmake
+       RPM_DEPENDS_GROUPS = 'Development Tools'
 else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
        RPM_DEPENDS += yum-utils
        RPM_DEPENDS += compat-openssl10 openssl-devel
        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
@@ -317,6 +327,12 @@ ifeq ($(OS_ID),rhel)
        @sudo -E yum groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
        @sudo -E yum install $(CONFIRM) $(RPM_DEPENDS)
        @sudo -E debuginfo-install $(CONFIRM) glibc openssl-libs zlib
+else ifeq ($(OS_ID),rocky)
+       @sudo -E dnf install $(CONFIRM) dnf-plugins-core epel-release
+       @sudo -E dnf config-manager --set-enabled \
+          $(shell dnf repolist all 2>/dev/null|grep -i crb|cut -d' ' -f1|grep -v source)
+       @sudo -E dnf groupinstall $(CONFIRM) $(RPM_DEPENDS_GROUPS)
+       @sudo -E dnf install $(CONFIRM) $(RPM_DEPENDS)
 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 \
@@ -764,4 +780,4 @@ endif
 
 .PHONY: check-dpdk-mlx
 check-dpdk-mlx:
-       @[ $$(make -sC build/external dpdk-show-DPDK_MLX_DEFAULT) = y ]
\ No newline at end of file
+       @[ $$(make -sC build/external dpdk-show-DPDK_MLX_DEFAULT) = y ]