crypto: align host and VPP IPsec-mb lib
[vpp.git] / build / external / packages / ipsec-mb.mk
1 # Copyright (c) 2018 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 ipsec-mb_version             := 1.5
15 ipsec-mb_patch_version       := 0
16 ipsec-mb_version_str         := $(ipsec-mb_version).$(ipsec-mb_patch_version)
17 ipsec-mb_tarball             := v$(ipsec-mb_version).tar.gz
18 ipsec-mb_tarball_md5sum_1.0  := 906e701937751e761671dc83a41cff65
19 ipsec-mb_tarball_md5sum_1.1  := 3916471d3713d27e42473cb6af9c65e5
20 ipsec-mb_tarball_md5sum_1.2  := f551d9c208893a436c1f5c146a615bd6
21 ipsec-mb_tarball_md5sum_1.3  := d8692db9efe32a263b61f12ac0dca950
22 ipsec-mb_tarball_md5sum_1.4  := fddba2611f822296ddd82d1c31d22b24
23 ipsec-mb_tarball_md5sum_1.5  := f18680f8dd43208a15a19a494423bdb9
24
25 ipsec-mb_tarball_md5sum      := $(ipsec-mb_tarball_md5sum_$(ipsec-mb_version))
26 ipsec-mb_tarball_strip_dirs  := 1
27 ipsec-mb_url                 := http://github.com/intel/intel-ipsec-mb/archive/$(ipsec-mb_tarball)
28 ipsec-mb_system_header       := $(wildcard /usr/include/intel-ipsec-mb.h)
29
30 define  ipsec-mb_config_cmds
31         @true
32 endef
33
34 define  ipsec-mb_build_cmds
35         @make -C $(ipsec-mb_src_dir)/lib -j \
36           SHARED=n \
37           SAFE_PARAM=n \
38           SAFE_LOOKUP=n \
39           SAFE_DATA=n \
40           PREFIX=$(ipsec-mb_install_dir) \
41           EXTRA_CFLAGS="-g -msse4.2" > $(ipsec-mb_build_log)
42 endef
43
44 ifneq   ($(ipsec-mb_system_header), )
45         ipsec-mb_system_ver_str := $(shell awk '/^#define\s+IMB_VERSION_STR/ { print $$3 }' \
46         $(ipsec-mb_system_header))
47 endif
48
49 define  ipsec-mb_install_cmds
50         if [[ -n "$(ipsec-mb_system_header)" ]]; then \
51                 if [[ "$(ipsec-mb_system_ver_str)" != "$(ipsec-mb_version_str)" ]]; then \
52                 echo "Intel-ipsec-mb build Error: System installed Intel IPsec-mb lib \
53                 version mismatch with target version, \
54                 expecting $(ipsec-mb_version_str), \
55                 but system has $(ipsec-mb_system_ver_str) \
56                 please align/remove system installed $(ipsec-mb_system_header) before building."; \
57                 exit 1; \
58                 fi \
59         fi
60         @mkdir -p $(ipsec-mb_install_dir)/include
61         @mkdir -p $(ipsec-mb_install_dir)/lib
62         @cp $(ipsec-mb_src_dir)/lib/intel-ipsec-mb.h $(ipsec-mb_install_dir)/include
63         @cp $(ipsec-mb_src_dir)/lib/libIPSec_MB.a $(ipsec-mb_install_dir)/lib
64 endef
65
66 $(eval $(call package,ipsec-mb))
67
68