Add option to build without multi-buffer crypto.
JIRA VPP-498 This patch also allows RPMs to be built without multi- buffer crypto for some RPM based downstream distros that don't have sufficiently new nasm or don't have an USA export license for multi-buffer crypto. The default is to build WITH multi-buffer crypto for x86-64. This patch allows optional building without multi-buffer crypto. To build without multi-buffer crypto, set the AESNI environment variable to n. To build rpm packages without multi-buffer crypto, build the rpms with the option turned off. make build AESNI=n or.. make pkg-rpm --without aesni ---How to test this patch on a Centos build.--- Build as above and verify that nasm isn't executed during the build process. vpp may be installed and the dpdk plugin may be inspected to verify that the multi-buffer code isn't present. Change-Id: I8c5cfd4cdd9eb2b96772a687eaa54560806e001b Signed-off-by: Thomas F Herbert <therbert@redhat.com>
This commit is contained in:

committed by
Sergio Gonzalez Monroy

parent
d9226b25f1
commit
4b0ac82a73
3
Makefile
3
Makefile
@ -17,6 +17,7 @@ CCACHE_DIR?=$(BR)/.ccache
|
||||
GDB?=gdb
|
||||
PLATFORM?=vpp
|
||||
SAMPLE_PLUGIN?=no
|
||||
export AESNI?=y
|
||||
|
||||
,:=,
|
||||
define disable_plugins
|
||||
@ -94,7 +95,7 @@ endif
|
||||
RPM_DEPENDS += chrpath libffi-devel rpm-build
|
||||
ifeq ($(OS_ID),fedora)
|
||||
RPM_DEPENDS += nasm
|
||||
else
|
||||
else ifeq ($(findstring y,$(AESNI)),y)
|
||||
RPM_DEPENDS += https://kojipkgs.fedoraproject.org//packages/nasm/2.12.02/2.fc26/x86_64/nasm-2.12.02-2.fc26.x86_64.rpm
|
||||
endif
|
||||
|
||||
|
@ -34,14 +34,13 @@ DPDK_17.08_TARBALL_MD5_CKSUM := 0641f59ea8ea98afefa7cfa2699f6241
|
||||
DPDK_SOURCE := $(B)/dpdk-$(DPDK_VERSION)
|
||||
MACHINE=$(shell uname -m)
|
||||
|
||||
AESNI ?= n
|
||||
ISA_L_CRYPTO_LIB := n
|
||||
|
||||
IPSEC_MB_VER ?= 0.46
|
||||
ISA_L_CRYPTO_VER := 2.18.0
|
||||
|
||||
ifeq ($(MACHINE),$(filter $(MACHINE),x86_64))
|
||||
AESNI = y
|
||||
AESNI ?= y
|
||||
# DPDK pre 17.08 depends on ISA-L Crypto library for GCM PMD
|
||||
ifneq ($(firstword $(sort $(DPDK_VERSION), 17.08)), 17.08)
|
||||
ISA_L_CRYPTO_LIB = y
|
||||
@ -49,6 +48,8 @@ AESNI = y
|
||||
$(info Building ISA-L Crypto $(ISA_L_CRYPTO_VER) library)
|
||||
endif
|
||||
$(info Building IPSec-MB $(IPSEC_MB_VER) library)
|
||||
else
|
||||
AESNI ?= N
|
||||
endif
|
||||
|
||||
AESNIMB_LIB_TARBALL := v$(IPSEC_MB_VER).tar.gz
|
||||
|
@ -1,3 +1,4 @@
|
||||
%bcond_without aesni
|
||||
%define _vpp_build_dir build-tool-native
|
||||
%define _unitdir /lib/systemd/system
|
||||
%define _topdir %(pwd)
|
||||
@ -41,7 +42,9 @@ BuildRequires: python-devel, python-virtualenv
|
||||
%endif
|
||||
BuildRequires: glibc-static, java-1.8.0-openjdk, java-1.8.0-openjdk-devel yum-utils, redhat-lsb
|
||||
BuildRequires: apr-devel
|
||||
%if %{with aesni}
|
||||
BuildRequires: nasm
|
||||
%endif
|
||||
BuildRequires: numactl-devel
|
||||
BuildRequires: autoconf automake libtool byacc bison flex
|
||||
|
||||
@ -120,8 +123,13 @@ This package contains the python bindings for the vpp api
|
||||
groupadd -f -r vpp
|
||||
|
||||
%build
|
||||
make bootstrap
|
||||
make -C build-root PLATFORM=vpp TAG=%{_vpp_tag} install-packages
|
||||
%if %{with aesni}
|
||||
make bootstrap
|
||||
make -C build-root PLATFORM=vpp TAG=%{_vpp_tag} install-packages
|
||||
%else
|
||||
make bootstrap AESNI=n
|
||||
make -C build-root PLATFORM=vpp AESNI=n TAG=%{_vpp_tag} install-packages
|
||||
%endif
|
||||
cd %{_mu_build_dir}/../src/vpp-api/python && %py2_build
|
||||
|
||||
%install
|
||||
|
Reference in New Issue
Block a user