From ba39d86eeccba78c92ef275fd48ab4c6d653a997 Mon Sep 17 00:00:00 2001 From: Ranjan Raj Date: Mon, 20 Nov 2023 07:04:24 +0000 Subject: [PATCH] crypto: align host and VPP IPsec-mb lib Ensure alignment between the Intel IPsec-mb library on the host and VPP targets.If the version of Intel ipsec-mb on the host is misaligned with the targets,terminate the compilation process to prevent potential library linkage issues. Type: fix Change-Id: I38864115d59ae09fb5556ad4a29e884ebace8155 Signed-off-by: Ranjan Raj --- build/external/packages/ipsec-mb.mk | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/build/external/packages/ipsec-mb.mk b/build/external/packages/ipsec-mb.mk index 3e8ef211082..d38f2e306ea 100644 --- a/build/external/packages/ipsec-mb.mk +++ b/build/external/packages/ipsec-mb.mk @@ -12,6 +12,8 @@ # limitations under the License. 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_1.0 := 906e701937751e761671dc83a41cff65 ipsec-mb_tarball_md5sum_1.1 := 3916471d3713d27e42473cb6af9c65e5 @@ -23,6 +25,7 @@ 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/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 @@ -38,7 +41,22 @@ define ipsec-mb_build_cmds 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 -- 2.16.6