diff options
Diffstat (limited to 'build/external/packages')
-rw-r--r-- | build/external/packages/dpdk.mk | 51 | ||||
-rw-r--r-- | build/external/packages/ipsec-mb.mk | 31 | ||||
-rw-r--r-- | build/external/packages/libbpf.mk | 58 | ||||
-rw-r--r-- | build/external/packages/nasm.mk | 21 | ||||
-rw-r--r-- | build/external/packages/octeon-roc.mk | 26 | ||||
-rw-r--r-- | build/external/packages/quicly.mk | 18 | ||||
-rw-r--r-- | build/external/packages/rdma-core.mk | 35 | ||||
-rw-r--r-- | build/external/packages/xdp-tools.mk | 38 |
8 files changed, 156 insertions, 122 deletions
diff --git a/build/external/packages/dpdk.mk b/build/external/packages/dpdk.mk index 70ff5c90eb9..c03d1a14703 100644 --- a/build/external/packages/dpdk.mk +++ b/build/external/packages/dpdk.mk @@ -14,22 +14,34 @@ DPDK_PKTMBUF_HEADROOM ?= 128 DPDK_USE_LIBBSD ?= n DPDK_DEBUG ?= n -DPDK_MLX4_PMD ?= n -DPDK_MLX5_PMD ?= n -DPDK_MLX5_COMMON_PMD ?= n DPDK_TAP_PMD ?= n DPDK_FAILSAFE_PMD ?= n DPDK_MACHINE ?= default DPDK_MLX_IBV_LINK ?= static -dpdk_version ?= 21.05 +dpdk_version ?= 24.03 dpdk_base_url ?= http://fast.dpdk.org/rel dpdk_tarball := dpdk-$(dpdk_version).tar.xz -dpdk_tarball_md5sum_21.05 := a78bba290b11d9717d1272cc6bfaf7c3 +dpdk_tarball_md5sum_24.03 := a98da848d6ba09808ef00f9a26aaa49a +dpdk_tarball_md5sum_23.11 := 896c09f5b45b452bd77287994650b916 +dpdk_tarball_md5sum_23.07 := 2b6d57f077585cb15b885482362fd47f +dpdk_tarball_md5sum_23.03 := 3cf8ebbcd412d5726db230f2eeb90cc9 +dpdk_tarball_md5sum_22.11.1 := 0594708fe42ce186a55b0235c6e20cfe +dpdk_tarball_md5sum_22.07 := fb73b58b80b1349cd05fe9cf6984afd4 +dpdk_tarball_md5sum_22.03 := a07ca8839f98062f46e1cc359735cce8 +dpdk_tarball_md5sum_21.11 := 58660bbbe9e95abce86e47692b196555 dpdk_tarball_md5sum := $(dpdk_tarball_md5sum_$(dpdk_version)) dpdk_url := $(dpdk_base_url)/$(dpdk_tarball) dpdk_tarball_strip_dirs := 1 +ifeq ($(shell uname), FreeBSD) +dpdk_depends := $(if $(ARCH_X86_64), ipsec-mb) +else dpdk_depends := rdma-core $(if $(ARCH_X86_64), ipsec-mb) +endif +DPDK_MLX_DEFAULT := $(shell if grep -q "rdma=$(rdma-core_version) dpdk=$(dpdk_version)" mlx_rdma_dpdk_matrix.txt; then echo 'y'; else echo 'n'; fi) +DPDK_MLX4_PMD ?= $(DPDK_MLX_DEFAULT) +DPDK_MLX5_PMD ?= $(DPDK_MLX_DEFAULT) +DPDK_MLX5_COMMON_PMD ?= $(DPDK_MLX_DEFAULT) # Debug or release DPDK_BUILD_TYPE:=release @@ -40,10 +52,12 @@ endif DPDK_DRIVERS_DISABLED := baseband/\*, \ bus/dpaa, \ bus/ifpga, \ + common/cnxk, \ compress/isal, \ compress/octeontx, \ compress/zlib, \ crypto/ccp, \ + crypto/cnxk, \ crypto/dpaa_sec, \ crypto/openssl, \ crypto/aesni_mb, \ @@ -53,9 +67,11 @@ DPDK_DRIVERS_DISABLED := baseband/\*, \ crypto/zuc, \ event/\*, \ mempool/dpaa, \ + mempool/cnxk, \ net/af_packet, \ net/bnx2x, \ net/bonding, \ + net/cnxk, \ net/ipn3ke, \ net/liquidio, \ net/pcap, \ @@ -71,6 +87,7 @@ DPDK_LIBS_DISABLED := acl, \ bitratestats, \ bpf, \ cfgfile, \ + cnxk, \ distributor, \ efd, \ fib, \ @@ -120,14 +137,19 @@ endif DPDK_DRIVERS_DISABLED := $(shell echo $(DPDK_DRIVERS_DISABLED) | tr -d '\\\t ') DPDK_LIBS_DISABLED := $(shell echo $(DPDK_LIBS_DISABLED) | tr -d '\\\t ') +SED=sed +ifeq ($shell(uname), FreeBSD) +SED=gsed +endif + HASH := \# # post-meson-setup snippet to alter rte_build_config.h define dpdk_config if grep -q RTE_$(1) $(dpdk_src_dir)/config/rte_config.h ; then \ -sed -i -e 's/$(HASH)define RTE_$(1).*/$(HASH)define RTE_$(1) $(DPDK_$(1))/' \ +$(SED) -i -e 's/$(HASH)define RTE_$(1).*/$(HASH)define RTE_$(1) $(DPDK_$(1))/' \ $(dpdk_src_dir)/config/rte_config.h; \ elif grep -q RTE_$(1) $(dpdk_build_dir)/rte_build_config.h ; then \ -sed -i -e 's/$(HASH)define RTE_$(1).*/$(HASH)define RTE_$(1) $(DPDK_$(1))/' \ +$(SED) -i -e 's/$(HASH)define RTE_$(1).*/$(HASH)define RTE_$(1) $(DPDK_$(1))/' \ $(dpdk_build_dir)/rte_build_config.h; \ else \ echo '$(HASH)define RTE_$(1) $(DPDK_$(1))' \ @@ -143,7 +165,7 @@ if [[ "$(DPDK_$(1))" == "y" ]]; then \ >> $(dpdk_build_dir)/rte_build_config.h ; \ fi; \ elif [[ "$(DPDK_$(1))" == "n" ]]; then \ - sed -i '/$(HASH)define RTE_$(1) .*/d' $(dpdk_build_dir)/rte_build_config.h \ + $(SED) -i '/$(HASH)define RTE_$(1) .*/d' $(dpdk_build_dir)/rte_build_config.h \ $(dpdk_src_dir)/config/rte_config.h ; \ fi endef @@ -153,23 +175,26 @@ DPDK_MESON_ARGS = \ --libdir lib \ --prefix $(dpdk_install_dir) \ -Dtests=false \ + -Denable_driver_sdk=true \ "-Ddisable_drivers=$(DPDK_DRIVERS_DISABLED)" \ "-Ddisable_libs=$(DPDK_LIBS_DISABLED)" \ -Db_pie=true \ -Dmachine=$(DPDK_MACHINE) \ --buildtype=$(DPDK_BUILD_TYPE) \ + -Denable_kmods=false \ ${DPDK_MLX_CONFIG_FLAG} PIP_DOWNLOAD_DIR = $(CURDIR)/downloads/ define dpdk_config_cmds cd $(dpdk_build_dir) && \ + echo "DPDK_MLX_DEFAULT=$(DPDK_MLX_DEFAULT)" > ../../../dpdk_mlx_default.sh && \ rm -rf ../dpdk-meson-venv && \ mkdir -p ../dpdk-meson-venv && \ python3 -m venv ../dpdk-meson-venv && \ source ../dpdk-meson-venv/bin/activate && \ - (if ! ls $(PIP_DOWNLOAD_DIR)meson* ; then pip3 download -d $(PIP_DOWNLOAD_DIR) -f $(DL_CACHE_DIR) meson==0.54 setuptools wheel pyelftools; fi) && \ - pip3 install --no-index --find-links=$(PIP_DOWNLOAD_DIR) meson==0.54 pyelftools && \ + (if ! ls $(PIP_DOWNLOAD_DIR)meson* ; then pip3 download -d $(PIP_DOWNLOAD_DIR) -f $(DL_CACHE_DIR) meson==0.55.3 setuptools wheel pyelftools; fi) && \ + pip3 install --no-index --find-links=$(PIP_DOWNLOAD_DIR) meson==0.55.3 pyelftools && \ PKG_CONFIG_PATH=$(dpdk_install_dir)/lib/pkgconfig meson setup $(dpdk_src_dir) \ $(dpdk_build_dir) \ $(DPDK_MESON_ARGS) \ @@ -181,10 +206,14 @@ define dpdk_config_cmds $(call dpdk_config_def,USE_LIBBSD) endef +ifeq ("$(DPDK_VERBOSE)","1") +DPDK_VERBOSE_BUILD = --verbose +endif + define dpdk_build_cmds cd $(dpdk_build_dir) && \ source ../dpdk-meson-venv/bin/activate && \ - meson compile -C . | tee $(dpdk_build_log) && \ + meson compile $(DPDK_VERBOSE_BUILD) -C . | tee $(dpdk_build_log) && \ deactivate endef diff --git a/build/external/packages/ipsec-mb.mk b/build/external/packages/ipsec-mb.mk index d0bd2af19cf..d38f2e306ea 100644 --- a/build/external/packages/ipsec-mb.mk +++ b/build/external/packages/ipsec-mb.mk @@ -11,16 +11,21 @@ # See the License for the specific language governing permissions and # limitations under the License. -ipsec-mb_version := 1.0 +ipsec-mb_version := 1.5 +ipsec-mb_patch_version := 0 +ipsec-mb_version_str := $(ipsec-mb_version).$(ipsec-mb_patch_version) ipsec-mb_tarball := v$(ipsec-mb_version).tar.gz -ipsec-mb_tarball_md5sum_0.54 := 258941f7ba90c275fcf9d19c622d2d21 -ipsec-mb_tarball_md5sum_0.55 := deca674bca7ae2282890e1fa7f953609 ipsec-mb_tarball_md5sum_1.0 := 906e701937751e761671dc83a41cff65 +ipsec-mb_tarball_md5sum_1.1 := 3916471d3713d27e42473cb6af9c65e5 +ipsec-mb_tarball_md5sum_1.2 := f551d9c208893a436c1f5c146a615bd6 +ipsec-mb_tarball_md5sum_1.3 := d8692db9efe32a263b61f12ac0dca950 +ipsec-mb_tarball_md5sum_1.4 := fddba2611f822296ddd82d1c31d22b24 +ipsec-mb_tarball_md5sum_1.5 := f18680f8dd43208a15a19a494423bdb9 ipsec-mb_tarball_md5sum := $(ipsec-mb_tarball_md5sum_$(ipsec-mb_version)) ipsec-mb_tarball_strip_dirs := 1 -ipsec-mb_url := http://github.com/01org/intel-ipsec-mb/archive/$(ipsec-mb_tarball) -ipsec-mb_depends := nasm +ipsec-mb_url := http://github.com/intel/intel-ipsec-mb/archive/$(ipsec-mb_tarball) +ipsec-mb_system_header := $(wildcard /usr/include/intel-ipsec-mb.h) define ipsec-mb_config_cmds @true @@ -33,11 +38,25 @@ define ipsec-mb_build_cmds SAFE_LOOKUP=n \ SAFE_DATA=n \ PREFIX=$(ipsec-mb_install_dir) \ - NASM=$(ipsec-mb_install_dir)/bin/nasm \ EXTRA_CFLAGS="-g -msse4.2" > $(ipsec-mb_build_log) endef +ifneq ($(ipsec-mb_system_header), ) + ipsec-mb_system_ver_str := $(shell awk '/^#define\s+IMB_VERSION_STR/ { print $$3 }' \ + $(ipsec-mb_system_header)) +endif + define ipsec-mb_install_cmds + if [[ -n "$(ipsec-mb_system_header)" ]]; then \ + if [[ "$(ipsec-mb_system_ver_str)" != "$(ipsec-mb_version_str)" ]]; then \ + echo "Intel-ipsec-mb build Error: System installed Intel IPsec-mb lib \ + version mismatch with target version, \ + expecting $(ipsec-mb_version_str), \ + but system has $(ipsec-mb_system_ver_str) \ + please align/remove system installed $(ipsec-mb_system_header) before building."; \ + exit 1; \ + fi \ + fi @mkdir -p $(ipsec-mb_install_dir)/include @mkdir -p $(ipsec-mb_install_dir)/lib @cp $(ipsec-mb_src_dir)/lib/intel-ipsec-mb.h $(ipsec-mb_install_dir)/include diff --git a/build/external/packages/libbpf.mk b/build/external/packages/libbpf.mk deleted file mode 100644 index 39da05d9871..00000000000 --- a/build/external/packages/libbpf.mk +++ /dev/null @@ -1,58 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -LIBBPF_DEBUG?=n - -libbpf_version := 0.2 -libbpf_tarball := v$(libbpf_version).tar.gz -libbpf_tarball_md5sum_0.2 := cd0f82d76a9830c1e66b1a249393d5a8 -libbpf_tarball_md5sum_0.1.0 := 00b991a6e2d28d797a56ab1575ed40e1 -libbpf_tarball_md5sum := $(libbpf_tarball_md5sum_$(libbpf_version)) -libbpf_tarball_strip_dirs := 1 -libbpf_url := https://github.com/libbpf/libbpf/archive/$(libbpf_tarball) - -LIBBPF_CFLAGS:=-g -Werror -Wall -fPIC -fvisibility=hidden -ifeq ($(LIBBPF_DEBUG),y) - LIBBPF_CFLAGS+= -O0 -else - LIBBPF_CFLAGS+= -O2 -endif - -# check for libelf, zlib and kernel if_xdp.h presence -LIBBPF_DEPS_CHECK:="\#include <linux/if_xdp.h>\\n\#include <gelf.h>\\n\#include <zlib.h>\\nint main(void){return 0;}" -LIBBPF_DEPS_CHECK:=$(shell echo -e $(LIBBPF_DEPS_CHECK) | $(CC) -xc -lelf -lz -o /dev/null - > /dev/null 2>&1) -LIBBPF_DEPS_CHECK:=$(.SHELLSTATUS) - -define libbpf_config_cmds - @true -endef - -define libbpf_build_cmds__ - BUILD_STATIC_ONLY=y OBJDIR='$(libbpf_build_dir)' PREFIX='' DESTDIR='$(libbpf_install_dir)' CFLAGS='$(LIBBPF_CFLAGS)' make -C '$(libbpf_src_dir)/src' $(1) > $(2) -endef - -define libbpf_build_cmds - $(call libbpf_build_cmds__,,$(libbpf_build_log)) -endef - -define libbpf_install_cmds - $(call libbpf_build_cmds__,install,$(libbpf_install_log)) -endef - -ifneq ($(LIBBPF_DEPS_CHECK),0) - $(warning "Missing libbpf dependencies. libbpf will be skipped.") -libbpf-install: - @true -else - $(eval $(call package,libbpf)) -endif diff --git a/build/external/packages/nasm.mk b/build/external/packages/nasm.mk deleted file mode 100644 index 2a5ce018b1f..00000000000 --- a/build/external/packages/nasm.mk +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (c) 2018 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -nasm_version := 2.14.02 -nasm_tarball := nasm-$(nasm_version).tar.xz -nasm_tarball_md5sum := 6390bd67b07ff1df9fe628b6929c0353 -nasm_tarball_strip_dirs := 1 -nasm_url := https://ftp.osuosl.org/pub/blfs/conglomeration/nasm/$(nasm_tarball) -nasm_cflags := -Wno-implicit-fallthrough -std=c11 - -$(eval $(call package,nasm)) diff --git a/build/external/packages/octeon-roc.mk b/build/external/packages/octeon-roc.mk new file mode 100644 index 00000000000..f96cd4c6e3d --- /dev/null +++ b/build/external/packages/octeon-roc.mk @@ -0,0 +1,26 @@ +# Copyright (c) 2023 Marvell. +# SPDX-License-Identifier: Apache-2.0 +# https://spdx.org/licenses/Apache-2.0.html + +octeon-roc_version := 0.4 +octeon-roc_tarball := octeon-roc-v$(octeon-roc_version).tar.gz +octeon-roc_tarball_md5sum := f3772f6e05d71cf2709c00ff1a1929ca + +octeon-roc_tarball_strip_dirs := 1 +octeon-roc_url := https://github.com/MarvellEmbeddedProcessors/marvell-vpp/archive/refs/tags/$(octeon-roc_tarball) + +define octeon-roc_config_cmds + @true +endef + +define octeon-roc_build_cmds + @cd ${octeon-roc_src_dir} && rm -f $(octeon-roc_build_log) && $(CMAKE) ${octeon-roc_src_dir} -DCMAKE_INSTALL_PREFIX='$(octeon-roc_install_dir)' >> $(octeon-roc_build_log) + @$(MAKE) -C ${octeon-roc_src_dir} >> $(octeon-roc_build_log) +endef + +define octeon-roc_install_cmds + @$(MAKE) -C ${octeon-roc_src_dir} install >> $(octeon-roc_install_log) +endef + +$(eval $(call package,octeon-roc)) + diff --git a/build/external/packages/quicly.mk b/build/external/packages/quicly.mk index 635cf969a0c..e8c1b42f1b7 100644 --- a/build/external/packages/quicly.mk +++ b/build/external/packages/quicly.mk @@ -11,9 +11,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -quicly_version := 0.1.3-vpp +quicly_version := 0.1.4-vpp quicly_tarball := quicly_$(quicly_version).tar.gz -quicly_tarball_md5sum := 195f156f311458f1bd4540765e62dd27 +quicly_tarball_md5sum := 5419a0f340c5572bcf682c08acc84c77 quicly_tarball_strip_dirs := 1 quicly_url := https://github.com/vpp-quic/quicly/releases/download/v$(quicly_version)/quicly_$(quicly_version).tar.gz @@ -21,16 +21,17 @@ picotls_build_dir := $(B)/build-picotls define quicly_build_cmds @cd $(quicly_build_dir) && \ + rm -f $(quicly_build_log) && \ $(CMAKE) -DWITH_DTRACE=OFF \ -DCMAKE_INSTALL_PREFIX:PATH=$(quicly_install_dir) \ - $(quicly_src_dir) > $(quicly_build_log) - @$(MAKE) quicly $(MAKE_ARGS) -C $(quicly_build_dir) > $(quicly_build_log) + $(quicly_src_dir) >> $(quicly_build_log) + @$(MAKE) quicly $(MAKE_ARGS) -C $(quicly_build_dir) >> $(quicly_build_log) @mkdir -p $(picotls_build_dir) @cd $(picotls_build_dir) && \ $(CMAKE) -DWITH_DTRACE=OFF -DCMAKE_INSTALL_PREFIX:PATH=$(quicly_install_dir) \ - $(quicly_src_dir)/deps/picotls > $(quicly_build_log) - @$(MAKE) picotls-core picotls-openssl $(MAKE_ARGS) -C $(picotls_build_dir) > $(quicly_build_log) + $(quicly_src_dir)/deps/picotls >> $(quicly_build_log) + @$(MAKE) picotls-core picotls-openssl $(MAKE_ARGS) -C $(picotls_build_dir) >> $(quicly_build_log) endef define quicly_config_cmds @@ -38,8 +39,9 @@ define quicly_config_cmds endef define quicly_install_cmds - @$(MAKE) $(MAKE_ARGS) -C $(quicly_build_dir) install > $(quicly_install_log) - @$(MAKE) $(MAKE_ARGS) -C $(picotls_build_dir) install > $(quicly_install_log) + @rm -f $(quicly_install_log) + @$(MAKE) $(MAKE_ARGS) -C $(quicly_build_dir) install >> $(quicly_install_log) + @$(MAKE) $(MAKE_ARGS) -C $(picotls_build_dir) install >> $(quicly_install_log) endef diff --git a/build/external/packages/rdma-core.mk b/build/external/packages/rdma-core.mk index b8092e4cb4d..f015322775f 100644 --- a/build/external/packages/rdma-core.mk +++ b/build/external/packages/rdma-core.mk @@ -13,10 +13,20 @@ RDMA_CORE_DEBUG?=n -rdma-core_version := 35.0 +# NOTE: When updating the rdma-core version in conjunction with an update of the +# dpdk version, please update ../mlx_rdma_dpdk_matrix.txt to include the +# updated version matrix with the dpdk and rdma-core version. +# +# Also, please verify that the DPDK RDMA driver is built into the dpdk plugin +# as follows: +# 1. from workspace root directory, 'make -C build/external build-deb' +# 2. Verify that the file build/external/dpdk_mlx_default.sh was generated +# and contains 'DPDK_MLX_DEFAULT=y' +# +rdma-core_version := 51.0 rdma-core_tarball := rdma-core-$(rdma-core_version).tar.gz -rdma-core_tarball_md5sum_31.1 := f14b3eba775c2eba0d9433bfb3bae637 -rdma-core_tarball_md5sum_35.0 := 85afb89ec536ef229c0fef6cb87e8665 +rdma-core_tarball_md5sum_49.0 := 9fe3909f19c7e0276c9e546411bbb49c +rdma-core_tarball_md5sum_51.0 := ed95d79f782ea00bd7233d453abd60b3 rdma-core_tarball_md5sum := $(rdma-core_tarball_md5sum_$(rdma-core_version)) rdma-core_tarball_strip_dirs := 1 rdma-core_url := http://github.com/linux-rdma/rdma-core/releases/download/v$(rdma-core_version)/$(rdma-core_tarball) @@ -32,27 +42,16 @@ define rdma-core_config_cmds -DENABLE_STATIC=1 -DENABLE_RESOLVE_NEIGH=0 -DNO_PYVERBS=1 -DENABLE_VALGRIND=0\ -DCMAKE_BUILD_TYPE=$(RDMA_BUILD_TYPE) -DCMAKE_INSTALL_PREFIX=$(rdma-core_install_dir) \ -DCMAKE_INSTALL_LIBDIR=lib \ - -DCMAKE_C_FLAGS='-fPIC -fvisibility=hidden' > $(rdma-core_config_log) + -DCMAKE_INSTALL_RUNDIR:PATH=/run \ + -DCMAKE_C_FLAGS='-fPIC' -DNO_MAN_PAGES=ON | tee $(rdma-core_config_log) endef define rdma-core_build_cmds - $(CMAKE) --build $(rdma-core_build_dir) -- libccan.a libibverbs.a librdma_util.a libmlx5.a libmlx4.a > $(rdma-core_build_log) - sed 's/^Libs.private:.*/Libs.private: -lmlx4 -lmlx5 -libverbs -lrdma_util -lccan -lpthread/' -i $(rdma-core_build_dir)/lib/pkgconfig/libibverbs.pc >> $(rdma-core_build_log) + $(CMAKE) --build $(rdma-core_build_dir) | tee $(rdma-core_build_log) endef define rdma-core_install_cmds - mkdir -p $(rdma-core_install_dir)/lib/pkgconfig - cp -av $(rdma-core_build_dir)/include $(rdma-core_install_dir) > $(rdma-core_install_log) - cp -v $(rdma-core_build_dir)/lib/pkgconfig/libibverbs.pc \ - $(rdma-core_build_dir)/lib/pkgconfig/libmlx5.pc \ - $(rdma-core_build_dir)/lib/pkgconfig/libmlx4.pc \ - $(rdma-core_install_dir)/lib/pkgconfig >> $(rdma-core_install_log) - cp -v $(rdma-core_build_dir)/lib/statics/libibverbs.a \ - $(rdma-core_build_dir)/lib/statics/libmlx5.a \ - $(rdma-core_build_dir)/lib/statics/libmlx4.a \ - $(rdma-core_build_dir)/util/librdma_util.a \ - $(rdma-core_build_dir)/ccan/libccan.a \ - $(rdma-core_install_dir)/lib >> $(rdma-core_install_log) + $(CMAKE) --install $(rdma-core_build_dir) | tee $(rdma-core_install_log) endef $(eval $(call package,rdma-core)) diff --git a/build/external/packages/xdp-tools.mk b/build/external/packages/xdp-tools.mk new file mode 100644 index 00000000000..b65ae1361f5 --- /dev/null +++ b/build/external/packages/xdp-tools.mk @@ -0,0 +1,38 @@ +# Copyright (c) 2023 Intel and/or its affiliates. +# Copyright (c) 2018 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +xdp-tools_version := 1.2.9 +xdp-tools_tarball := xdp-tools-$(xdp-tools_version).tar.gz +xdp-tools_tarball_md5sum_1.2.9:= 6e4a49ceea8354bb7bb3b55990e9aed7 +xdp-tools_tarball_md5sum := $(xdp-tools_tarball_md5sum_$(xdp-tools_version)) +xdp-tools_tarball_strip_dirs := 1 +xdp-tools_url := https://github.com/xdp-project/xdp-tools/releases/download/v$(xdp-tools_version)/$(xdp-tools_tarball) + +define xdp-tools_config_cmds + @true +endef + +define xdp-tools_build_cmds + @cd ${xdp-tools_src_dir} && make V=1 BUILD_STATIC_ONLY=y > $(xdp-tools_build_log) +endef + +define xdp-tools_install_cmds + @rm -f $(xdp-tools_install_log) + @cd ${xdp-tools_src_dir} && \ + make -C lib/libbpf/src install V=1 BUILD_STATIC_ONLY=y PREFIX='' DESTDIR='$(xdp-tools_install_dir)' >> $(xdp-tools_install_log) + @cd ${xdp-tools_src_dir} && \ + make libxdp_install V=1 BUILD_STATIC_ONLY=y PREFIX='' DESTDIR='$(xdp-tools_install_dir)' >> $(xdp-tools_install_log) +endef + +$(eval $(call package,xdp-tools)) |